Gravity PDF - Version 6.1.0

Version Description

  • Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
  • Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
Download this release

Release Info

Developer Blue Liquid Designs
Plugin Icon 128x128 Gravity PDF
Version 6.1.0
Comparing to
See all releases

Code changes from version 6.1.1 to 6.1.0

Files changed (219) hide show
  1. README.txt +1 -7
  2. dist/assets/js/admin.min.js +1 -1
  3. dist/assets/js/app.bundle.min.js +1 -1
  4. dist/assets/js/gfpdf-entries.min.js +1 -1
  5. pdf.php +2 -2
  6. src/Helper/Fields/Field_Number.php +1 -1
  7. src/Helper/Fields/Field_Repeater.php +1 -4
  8. src/Helper/Helper_Misc.php +1 -12
  9. src/Helper/Helper_Pdf_Queue.php +33 -49
  10. src/Statics/Queue_Callbacks.php +0 -2
  11. src/assets/languages/gravity-forms-pdf-extended.pot +1 -1
  12. vendor/autoload.php +0 -0
  13. vendor/composer/ClassLoader.php +11 -102
  14. vendor/composer/InstalledVersions.php +6 -19
  15. vendor/composer/LICENSE +0 -0
  16. vendor/composer/autoload_classmap.php +0 -4
  17. vendor/composer/autoload_namespaces.php +0 -0
  18. vendor/composer/autoload_psr4.php +0 -0
  19. vendor/composer/autoload_real.php +0 -0
  20. vendor/composer/autoload_static.php +0 -4
  21. vendor/composer/installed.json +97 -109
  22. vendor/composer/installed.php +37 -34
  23. vendor/composer/platform_check.php +0 -0
  24. vendor/paragonie/random_compat/LICENSE +0 -0
  25. vendor/paragonie/random_compat/composer.json +0 -0
  26. vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +0 -0
  27. vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +0 -0
  28. vendor/paragonie/random_compat/lib/random.php +0 -0
  29. vendor/paragonie/random_compat/other/build_phar.php +0 -0
  30. vendor/paragonie/random_compat/psalm-autoload.php +0 -0
  31. vendor/paragonie/random_compat/psalm.xml +0 -0
  32. vendor/psr/http-message/CHANGELOG.md +0 -0
  33. vendor/psr/http-message/LICENSE +0 -0
  34. vendor/psr/http-message/README.md +0 -0
  35. vendor/psr/http-message/composer.json +0 -0
  36. vendor/psr/http-message/src/MessageInterface.php +0 -0
  37. vendor/psr/http-message/src/RequestInterface.php +0 -0
  38. vendor/psr/http-message/src/ResponseInterface.php +0 -0
  39. vendor/psr/http-message/src/ServerRequestInterface.php +0 -0
  40. vendor/psr/http-message/src/StreamInterface.php +0 -0
  41. vendor/psr/http-message/src/UploadedFileInterface.php +0 -0
  42. vendor/psr/http-message/src/UriInterface.php +0 -0
  43. vendor/psr/log/LICENSE +0 -0
  44. vendor/psr/log/Psr/Log/AbstractLogger.php +16 -16
  45. vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -0
  46. vendor/psr/log/Psr/Log/LogLevel.php +0 -0
  47. vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -0
  48. vendor/psr/log/Psr/Log/LoggerAwareTrait.php +1 -1
  49. vendor/psr/log/Psr/Log/LoggerInterface.php +0 -0
  50. vendor/psr/log/Psr/Log/LoggerTrait.php +0 -0
  51. vendor/psr/log/Psr/Log/NullLogger.php +0 -0
  52. vendor/psr/log/Psr/Log/Test/DummyTest.php +0 -0
  53. vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -0
  54. vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -0
  55. vendor/psr/log/README.md +0 -0
  56. vendor/psr/log/composer.json +1 -1
  57. vendor_prefixed/league/uri-components/src/Components/Authority.php +3 -1
  58. vendor_prefixed/league/uri-components/src/Components/Component.php +8 -10
  59. vendor_prefixed/league/uri-components/src/Components/DataPath.php +3 -8
  60. vendor_prefixed/league/uri-components/src/Components/Domain.php +3 -8
  61. vendor_prefixed/league/uri-components/src/Components/Fragment.php +3 -1
  62. vendor_prefixed/league/uri-components/src/Components/HierarchicalPath.php +3 -8
  63. vendor_prefixed/league/uri-components/src/Components/Host.php +81 -16
  64. vendor_prefixed/league/uri-components/src/Components/Path.php +3 -8
  65. vendor_prefixed/league/uri-components/src/Components/Port.php +3 -1
  66. vendor_prefixed/league/uri-components/src/Components/Query.php +3 -1
  67. vendor_prefixed/league/uri-components/src/Components/Scheme.php +3 -1
  68. vendor_prefixed/league/uri-components/src/Components/UserInfo.php +3 -1
  69. vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php +3 -1
  70. vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php +3 -1
  71. vendor_prefixed/league/uri-components/src/IPv4Calculators/BCMathCalculator.php +3 -1
  72. vendor_prefixed/league/uri-components/src/IPv4Calculators/GMPCalculator.php +3 -1
  73. vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php +3 -1
  74. vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php +3 -1
  75. vendor_prefixed/league/uri-components/src/IPv4Normalizer.php +3 -1
  76. vendor_prefixed/league/uri-components/src/QueryString.php +4 -9
  77. vendor_prefixed/league/uri-components/src/UriModifier.php +3 -1
  78. vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php +0 -36
  79. vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php +0 -172
  80. vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php +0 -78
  81. vendor_prefixed/league/uri/src/Uri.php +86 -18
  82. vendor_prefixed/league/uri/src/UriString.php +79 -5
  83. vendor_prefixed/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php +1 -2
  84. vendor_prefixed/monolog/src/Monolog/ErrorHandler.php +23 -58
  85. vendor_prefixed/monolog/src/Monolog/Formatter/ChromePHPFormatter.php +2 -4
  86. vendor_prefixed/monolog/src/Monolog/Formatter/ElasticaFormatter.php +3 -7
  87. vendor_prefixed/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php +5 -5
  88. vendor_prefixed/monolog/src/Monolog/Formatter/FlowdockFormatter.php +2 -6
  89. vendor_prefixed/monolog/src/Monolog/Formatter/FormatterInterface.php +0 -6
  90. vendor_prefixed/monolog/src/Monolog/Formatter/GelfMessageFormatter.php +16 -25
  91. vendor_prefixed/monolog/src/Monolog/Formatter/HtmlFormatter.php +2 -5
  92. vendor_prefixed/monolog/src/Monolog/Formatter/JsonFormatter.php +4 -23
  93. vendor_prefixed/monolog/src/Monolog/Formatter/LineFormatter.php +4 -18
  94. vendor_prefixed/monolog/src/Monolog/Formatter/LogstashFormatter.php +2 -2
  95. vendor_prefixed/monolog/src/Monolog/Formatter/MongoDBFormatter.php +20 -38
  96. vendor_prefixed/monolog/src/Monolog/Formatter/NormalizerFormatter.php +7 -15
  97. vendor_prefixed/monolog/src/Monolog/Formatter/ScalarFormatter.php +5 -8
  98. vendor_prefixed/monolog/src/Monolog/Formatter/WildfireFormatter.php +4 -14
  99. vendor_prefixed/monolog/src/Monolog/Handler/AbstractHandler.php +2 -18
  100. vendor_prefixed/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +1 -12
  101. vendor_prefixed/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +3 -7
  102. vendor_prefixed/monolog/src/Monolog/Handler/AmqpHandler.php +2 -6
  103. vendor_prefixed/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +1 -26
  104. vendor_prefixed/monolog/src/Monolog/Handler/BufferHandler.php +6 -12
  105. vendor_prefixed/monolog/src/Monolog/Handler/ChromePHPHandler.php +6 -9
  106. vendor_prefixed/monolog/src/Monolog/Handler/CouchDBHandler.php +0 -4
  107. vendor_prefixed/monolog/src/Monolog/Handler/CubeHandler.php +9 -20
  108. vendor_prefixed/monolog/src/Monolog/Handler/Curl/Util.php +0 -1
  109. vendor_prefixed/monolog/src/Monolog/Handler/DeduplicationHandler.php +1 -14
  110. vendor_prefixed/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php +0 -1
  111. vendor_prefixed/monolog/src/Monolog/Handler/DynamoDbHandler.php +5 -6
  112. vendor_prefixed/monolog/src/Monolog/Handler/ElasticaHandler.php +7 -12
  113. vendor_prefixed/monolog/src/Monolog/Handler/ElasticsearchHandler.php +11 -9
  114. vendor_prefixed/monolog/src/Monolog/Handler/ErrorLogHandler.php +6 -11
  115. vendor_prefixed/monolog/src/Monolog/Handler/FallbackGroupHandler.php +2 -13
  116. vendor_prefixed/monolog/src/Monolog/Handler/FilterHandler.php +7 -29
  117. vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +0 -4
  118. vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php +4 -15
  119. vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php +1 -7
  120. vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossedHandler.php +9 -33
  121. vendor_prefixed/monolog/src/Monolog/Handler/FirePHPHandler.php +4 -18
  122. vendor_prefixed/monolog/src/Monolog/Handler/FleepHookHandler.php +3 -5
  123. vendor_prefixed/monolog/src/Monolog/Handler/FlowdockHandler.php +8 -7
  124. vendor_prefixed/monolog/src/Monolog/Handler/FormattableHandlerTrait.php +2 -2
  125. vendor_prefixed/monolog/src/Monolog/Handler/GelfHandler.php +5 -3
  126. vendor_prefixed/monolog/src/Monolog/Handler/GroupHandler.php +4 -9
  127. vendor_prefixed/monolog/src/Monolog/Handler/Handler.php +2 -2
  128. vendor_prefixed/monolog/src/Monolog/Handler/HandlerInterface.php +0 -9
  129. vendor_prefixed/monolog/src/Monolog/Handler/HandlerWrapper.php +8 -8
  130. vendor_prefixed/monolog/src/Monolog/Handler/IFTTTHandler.php +5 -8
  131. vendor_prefixed/monolog/src/Monolog/Handler/InsightOpsHandler.php +3 -1
  132. vendor_prefixed/monolog/src/Monolog/Handler/LogEntriesHandler.php +3 -1
  133. vendor_prefixed/monolog/src/Monolog/Handler/LogglyHandler.php +3 -3
  134. vendor_prefixed/monolog/src/Monolog/Handler/LogmaticHandler.php +4 -2
  135. vendor_prefixed/monolog/src/Monolog/Handler/MailHandler.php +4 -14
  136. vendor_prefixed/monolog/src/Monolog/Handler/MandrillHandler.php +3 -1
  137. vendor_prefixed/monolog/src/Monolog/Handler/MongoDBHandler.php +2 -3
  138. vendor_prefixed/monolog/src/Monolog/Handler/NativeMailerHandler.php +12 -10
  139. vendor_prefixed/monolog/src/Monolog/Handler/NewRelicHandler.php +4 -6
  140. vendor_prefixed/monolog/src/Monolog/Handler/NoopHandler.php +2 -2
  141. vendor_prefixed/monolog/src/Monolog/Handler/NullHandler.php +2 -8
  142. vendor_prefixed/monolog/src/Monolog/Handler/OverflowHandler.php +8 -3
  143. vendor_prefixed/monolog/src/Monolog/Handler/PHPConsoleHandler.php +4 -26
  144. vendor_prefixed/monolog/src/Monolog/Handler/ProcessHandler.php +6 -4
  145. vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php +4 -6
  146. vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php +2 -9
  147. vendor_prefixed/monolog/src/Monolog/Handler/PsrHandler.php +2 -0
  148. vendor_prefixed/monolog/src/Monolog/Handler/PushoverHandler.php +6 -35
  149. vendor_prefixed/monolog/src/Monolog/Handler/RedisHandler.php +2 -7
  150. vendor_prefixed/monolog/src/Monolog/Handler/RedisPubSubHandler.php +4 -4
  151. vendor_prefixed/monolog/src/Monolog/Handler/RollbarHandler.php +5 -6
  152. vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php +8 -16
  153. vendor_prefixed/monolog/src/Monolog/Handler/SamplingHandler.php +4 -11
  154. vendor_prefixed/monolog/src/Monolog/Handler/SendGridHandler.php +9 -10
  155. vendor_prefixed/monolog/src/Monolog/Handler/Slack/SlackRecord.php +3 -31
  156. vendor_prefixed/monolog/src/Monolog/Handler/SlackHandler.php +5 -14
  157. vendor_prefixed/monolog/src/Monolog/Handler/SlackWebhookHandler.php +6 -5
  158. vendor_prefixed/monolog/src/Monolog/Handler/SocketHandler.php +16 -52
  159. vendor_prefixed/monolog/src/Monolog/Handler/SqsHandler.php +3 -1
  160. vendor_prefixed/monolog/src/Monolog/Handler/StreamHandler.php +20 -59
  161. vendor_prefixed/monolog/src/Monolog/Handler/SwiftMailerHandler.php +4 -8
  162. vendor_prefixed/monolog/src/Monolog/Handler/SyslogHandler.php +4 -4
  163. vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php +0 -5
  164. vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdpHandler.php +8 -27
  165. vendor_prefixed/monolog/src/Monolog/Handler/TelegramBotHandler.php +6 -15
  166. vendor_prefixed/monolog/src/Monolog/Handler/TestHandler.php +6 -44
  167. vendor_prefixed/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +2 -6
  168. vendor_prefixed/monolog/src/Monolog/Handler/ZendMonitorHandler.php +5 -10
  169. vendor_prefixed/monolog/src/Monolog/Logger.php +21 -49
  170. vendor_prefixed/monolog/src/Monolog/Processor/GitProcessor.php +1 -15
  171. vendor_prefixed/monolog/src/Monolog/Processor/HostnameProcessor.php +0 -4
  172. vendor_prefixed/monolog/src/Monolog/Processor/IntrospectionProcessor.php +2 -19
  173. vendor_prefixed/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php +0 -3
  174. vendor_prefixed/monolog/src/Monolog/Processor/MemoryUsageProcessor.php +0 -3
  175. vendor_prefixed/monolog/src/Monolog/Processor/MercurialProcessor.php +2 -16
  176. vendor_prefixed/monolog/src/Monolog/Processor/ProcessIdProcessor.php +0 -3
  177. vendor_prefixed/monolog/src/Monolog/Processor/ProcessorInterface.php +0 -5
  178. vendor_prefixed/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +2 -1
  179. vendor_prefixed/monolog/src/Monolog/Processor/TagProcessor.php +0 -13
  180. vendor_prefixed/monolog/src/Monolog/Processor/UidProcessor.php +0 -4
  181. vendor_prefixed/monolog/src/Monolog/Processor/WebProcessor.php +4 -11
  182. vendor_prefixed/monolog/src/Monolog/Registry.php +1 -2
  183. vendor_prefixed/monolog/src/Monolog/SignalHandler.php +3 -23
  184. vendor_prefixed/monolog/src/Monolog/Test/TestCase.php +2 -13
  185. vendor_prefixed/monolog/src/Monolog/Utils.php +1 -57
  186. vendor_prefixed/mpdf/mpdf/src/Barcode.php +25 -25
  187. vendor_prefixed/mpdf/mpdf/src/Barcode/Codabar.php +3 -3
  188. vendor_prefixed/mpdf/mpdf/src/Barcode/Code11.php +3 -3
  189. vendor_prefixed/mpdf/mpdf/src/Barcode/Code128.php +3 -3
  190. vendor_prefixed/mpdf/mpdf/src/Barcode/Code39.php +3 -3
  191. vendor_prefixed/mpdf/mpdf/src/Barcode/Code93.php +3 -3
  192. vendor_prefixed/mpdf/mpdf/src/Barcode/I25.php +3 -3
  193. vendor_prefixed/mpdf/mpdf/src/Barcode/Msi.php +3 -3
  194. vendor_prefixed/mpdf/mpdf/src/Barcode/S25.php +3 -3
  195. vendor_prefixed/mpdf/mpdf/src/Cache.php +0 -1
  196. vendor_prefixed/mpdf/mpdf/src/Color/ColorConverter.php +5 -15
  197. vendor_prefixed/mpdf/mpdf/src/Config/ConfigVariables.php +0 -1
  198. vendor_prefixed/mpdf/mpdf/src/CssManager.php +7 -12
  199. vendor_prefixed/mpdf/mpdf/src/Gradient.php +10 -10
  200. vendor_prefixed/mpdf/mpdf/src/Image/ImageProcessor.php +5 -28
  201. vendor_prefixed/mpdf/mpdf/src/Image/ImageTypeGuesser.php +0 -3
  202. vendor_prefixed/mpdf/mpdf/src/Image/Svg.php +20 -23
  203. vendor_prefixed/mpdf/mpdf/src/Mpdf.php +30 -68
  204. vendor_prefixed/mpdf/mpdf/src/Otl.php +3 -3
  205. vendor_prefixed/mpdf/mpdf/src/OtlDump.php +1 -1
  206. vendor_prefixed/mpdf/mpdf/src/Pdf/Protection.php +1 -1
  207. vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php +1 -4
  208. vendor_prefixed/mpdf/mpdf/src/ServiceFactory.php +2 -2
  209. vendor_prefixed/mpdf/mpdf/src/TTFontFile.php +2 -13
  210. vendor_prefixed/mpdf/mpdf/src/TTFontFileAnalysis.php +1 -1
  211. vendor_prefixed/mpdf/mpdf/src/Tag/BarCode.php +4 -16
  212. vendor_prefixed/mpdf/mpdf/src/Tag/BlockTag.php +1 -1
  213. vendor_prefixed/mpdf/mpdf/src/Tag/Table.php +0 -10
  214. vendor_prefixed/mpdf/mpdf/src/Tag/Td.php +1 -1
  215. vendor_prefixed/mpdf/mpdf/src/Tag/Tr.php +0 -2
  216. vendor_prefixed/mpdf/mpdf/src/Utils/Arrays.php +0 -7
  217. vendor_prefixed/mpdf/qrcode/src/Output/Png.php +1 -1
  218. vendor_prefixed/mpdf/qrcode/src/Output/Svg.php +0 -97
  219. vendor_prefixed/spatie/url-signer/src/BaseUrlSigner.php +0 -9
README.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://gravitypdf.com/donate-to-plugin/
5
  Tags: gravityforms, gravity, forms, pdf, automation, attachment, email
6
  Requires at least: 5.3
7
  Tested up to: 5.9
8
- Stable tag: 6.1.1
9
  Requires PHP: 7.3
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl.txt
@@ -105,12 +105,6 @@ _If you aren't able to meet the v6 minimum requirements [you can download v5 whi
105
 
106
  == Changelog ==
107
 
108
- = 6.1.1 =
109
- * Bug: Allow number field to show a thousand separator by using the 'gform_include_thousands_sep_pre_format_number' filter.
110
- * Bug: Fix PHP Notice when displaying Repeater field caused by processing field's not present in `$form_data['field']` array key
111
- * Housekeeping: Add logging to file/directory cleanup method
112
- * Housekeeping: Add additional checks and logging when processing background tasks
113
-
114
  = 6.1.0 =
115
  * Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
116
  * Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
5
  Tags: gravityforms, gravity, forms, pdf, automation, attachment, email
6
  Requires at least: 5.3
7
  Tested up to: 5.9
8
+ Stable tag: 6.1.0
9
  Requires PHP: 7.3
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl.txt
105
 
106
  == Changelog ==
107
 
 
 
 
 
 
 
108
  = 6.1.0 =
109
  * Feature: Add Copy to Clipboard feature for PDF Shortcode on the PDF List page
110
  * Bug: Fix empty check on the Radio field so a zero (0) value is not considered empty
dist/assets/js/admin.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),k=l(p(c(w.index),d.length),0),P=[],C=1;C<w.length;C++)P.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(P,k,d);void 0!==T&&R.push(T);var F=String(r.apply(void 0,R))}else F=_(j,d,k,P,T,r);k>=O&&(E+=d.slice(O,k)+F,O=k+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&k)return k;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],k=!v&&j||S(d),P="Array"==n&&A.entries||j;if(P&&(x=o(P.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,k=function(){return j.call(this)}),l&&!_||A[h]===k||f(A,h,k),p[n]=k,d)if(b={values:S("values"),keys:y?k:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone().css("background","#baffb8");o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn().animate({backgroundColor:"#F6F9FC"})}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_pdf"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
1
+ !function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",e(e.s=211)}([,,function(t,n){t.exports=jQuery},,function(t,n,e){(function(n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")()}).call(this,e(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r=e(4),i=e(61),o=e(9),a=e(63),c=e(64),f=e(101),s=i("wks"),u=r.Symbol,l=f?u:u&&u.withoutSetter||a;t.exports=function(t){return o(s,t)||(c&&o(u,t)?s[t]=u[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,n,e){var r=e(4),i=e(45).f,o=e(14),a=e(26),c=e(50),f=e(102),s=e(85);t.exports=function(t,n){var e,u,l,p,d,g=t.target,v=t.global,h=t.stat;if(e=v?r:h?r[g]||c(g,{}):(r[g]||{}).prototype)for(u in n){if(p=n[u],l=t.noTargetGet?(d=i(e,u))&&d.value:e[u],!s(v?u:g+(h?".":"#")+u,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;f(p,l)}(t.sham||l&&l.sham)&&o(p,"sham",!0),a(e,u,p,t)}}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,e){var r=e(10),i=e(76),o=e(8),a=e(51),c=Object.defineProperty;n.f=r?c:function(t,n,e){if(o(t),n=a(n,!0),o(e),i)try{return c(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},,function(t,n,e){var r=e(10),i=e(12),o=e(34);t.exports=r?function(t,n,e){return i.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},,,,,function(t,n,e){"use strict";var r=e(7),i=e(48).find,o=e(86),a=e(33),c=!0,f=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!f},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("find")},function(t,n,e){var r=e(59),i=e(22);t.exports=function(t){return r(i(t))}},function(t,n,e){var r=e(35),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(22);t.exports=function(t){return Object(r(t))}},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n,e){"use strict";var r=e(117).charAt,i=e(47),o=e(132),a=i.set,c=i.getterFor("String Iterator");o(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=c(this),e=n.string,i=n.index;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(4),i=e(14),o=e(9),a=e(50),c=e(65),f=e(47),s=f.get,u=f.enforce,l=String(String).split("String");(t.exports=function(t,n,e,c){var f=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||o(e,"name")||i(e,"name",n),u(e).source=l.join("string"==typeof n?n:"")),t!==r?(f?!p&&t[n]&&(s=!0):delete t[n],s?t[n]=e:i(t,n,e)):s?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,n,e){var r=e(104),i=e(4),o=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?o(r[t])||o(i[t]):r[t]&&r[t][n]||i[t]&&i[t][n]}},,function(t,n,e){"use strict";var r=e(26),i=e(8),o=e(5),a=e(97),c=RegExp.prototype,f=c.toString,s=o((function(){return"/a/b"!=f.call({source:"a",flags:"b"})})),u="toString"!=f.name;(s||u)&&r(RegExp.prototype,"toString",(function(){var t=i(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in c)?a.call(t):e)}),{unsafe:!0})},,,,function(t,n,e){var r=e(10),i=e(5),o=e(9),a=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(o(c,t))return c[t];n||(n={});var e=[][t],s=!!o(n,"ACCESSORS")&&n.ACCESSORS,u=o(n,0)?n[0]:f,l=o(n,1)?n[1]:void 0;return c[t]=!!e&&!i((function(){if(s&&!r)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:f}):t[1]=1,e.call(t,u,l)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},,,,,,function(t,n,e){"use strict";var r=e(7),i=e(73);r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},function(t,n,e){"use strict";var r=e(7),i=e(48).map,o=e(90),a=e(33),c=o("map"),f=a("map");r({target:"Array",proto:!0,forced:!c||!f},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,e){var r=e(10),i=e(77),o=e(34),a=e(20),c=e(51),f=e(9),s=e(76),u=Object.getOwnPropertyDescriptor;n.f=r?u:function(t,n){if(t=a(t),n=c(n,!0),s)try{return u(t,n)}catch(t){}if(f(t,n))return o(!i.f.call(t,n),t[n])}},,function(t,n,e){var r,i,o,a=e(114),c=e(4),f=e(11),s=e(14),u=e(9),l=e(52),p=e(44),d=c.WeakMap;if(a){var g=new d,v=g.get,h=g.has,m=g.set;r=function(t,n){return m.call(g,t,n),n},i=function(t){return v.call(g,t)||{}},o=function(t){return h.call(g,t)}}else{var y=l("state");p[y]=!0,r=function(t,n){return s(t,y,n),n},i=function(t){return u(t,y)?t[y]:{}},o=function(t){return u(t,y)}}t.exports={set:r,get:i,has:o,enforce:function(t){return o(t)?i(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!f(n)||(e=i(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(66),i=e(59),o=e(23),a=e(21),c=e(107),f=[].push,s=function(t){var n=1==t,e=2==t,s=3==t,u=4==t,l=6==t,p=5==t||l;return function(d,g,v,h){for(var m,y,_=o(d),x=i(_),b=r(g,v,3),w=a(x.length),S=0,E=h||c,O=n?E(d,w):e?E(d,0):void 0;w>S;S++)if((p||S in x)&&(y=b(m=x[S],S,_),t))if(n)O[S]=y;else if(y)switch(t){case 3:return!0;case 5:return m;case 6:return S;case 2:f.call(O,m)}else if(u)return!1;return l?-1:s||u?u:O}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,n){t.exports=!1},function(t,n,e){var r=e(4),i=e(14);t.exports=function(t,n){try{i(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(11);t.exports=function(t,n){if(!r(t))return t;var e,i;if(n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;if("function"==typeof(e=t.valueOf)&&!r(i=e.call(t)))return i;if(!n&&"function"==typeof(e=t.toString)&&!r(i=e.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,n,e){var r=e(61),i=e(63),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,function(t,n,e){var r=e(7),i=e(144);r({target:"Array",stat:!0,forced:!e(130)((function(t){Array.from(t)}))},{from:i})},function(t,n){t.exports={}},,function(t,n,e){"use strict";var r=e(7),i=e(48).filter,o=e(90),a=e(33),c=o("filter"),f=a("filter");r({target:"Array",proto:!0,forced:!c||!f},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(5),i=e(24),o="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?o.call(t,""):Object(t)}:Object},,function(t,n,e){var r=e(49),i=e(75);(t.exports=function(t,n){return i[t]||(i[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,e){var r=e(4),i=e(11),o=r.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n,e){var r=e(5);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(75),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return i.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(43);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,i){return t.call(n,e,r,i)}}return function(){return t.apply(n,arguments)}}},function(t,n,e){var r=e(78),i=e(53);t.exports=Object.keys||function(t){return r(t,i)}},function(t,n,e){var r,i=e(8),o=e(118),a=e(53),c=e(44),f=e(106),s=e(62),u=e(52),l=u("IE_PROTO"),p=function(){},d=function(t){return"<script>"+t+"<\/script>"},g=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;g=r?function(t){t.write(d("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=s("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete g.prototype[a[e]];return g()};c[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=i(t),e=new p,p.prototype=null,e[l]=t):e=g(),void 0===n?e:o(e,n)}},,,function(t,n,e){var r=e(10),i=e(12).f,o=Function.prototype,a=o.toString,c=/^\s*function ([^ (]*)/;r&&!("name"in o)&&i(o,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,n,e){var r=e(78),i=e(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,n,e){"use strict";var r,i,o=e(97),a=e(124),c=RegExp.prototype.exec,f=String.prototype.replace,s=c,u=(r=/a/,i=/b*/g,c.call(r,"a"),c.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(u||p||l)&&(s=function(t){var n,e,r,i,a=this,s=l&&a.sticky,d=o.call(a),g=a.source,v=0,h=t;return s&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),h=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(g="(?: "+g+")",h=" "+h,v++),e=new RegExp("^(?:"+g+")",d)),p&&(e=new RegExp("^"+g+"$(?!\\s)",d)),u&&(n=a.lastIndex),r=c.call(s?e:a,h),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:u&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&f.call(r[0],e,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)})),r}),t.exports=s},function(t,n,e){var r=e(24);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(4),i=e(50),o=r["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},function(t,n,e){var r=e(10),i=e(5),o=e(62);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!r.call({1:2},1);n.f=o?function(t){var n=i(this,t);return!!n&&n.enumerable}:r},function(t,n,e){var r=e(9),i=e(20),o=e(96).indexOf,a=e(44);t.exports=function(t,n){var e,c=i(t),f=0,s=[];for(e in c)!r(a,e)&&r(c,e)&&s.push(e);for(;n.length>f;)r(c,e=n[f++])&&(~o(s,e)||s.push(e));return s}},,,,,,function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,n,e){var r=e(5),i=/#|\.prototype\./,o=function(t,n){var e=c[a(t)];return e==s||e!=f&&("function"==typeof n?r(n):!!n)},a=o.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=o.data={},f=o.NATIVE="N",s=o.POLYFILL="P";t.exports=o},function(t,n,e){var r=e(6),i=e(68),o=e(12),a=r("unscopables"),c=Array.prototype;null==c[a]&&o.f(c,a,{configurable:!0,value:i(null)}),t.exports=function(t){c[a][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(12).f,i=e(9),o=e(6)("toStringTag");t.exports=function(t,n,e){t&&!i(t=e?t:t.prototype,o)&&r(t,o,{configurable:!0,value:n})}},function(t,n,e){var r=e(5),i=e(6),o=e(115),a=i("species");t.exports=function(t){return o>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},,,function(t,n,e){"use strict";var r=e(98),i=e(8),o=e(23),a=e(21),c=e(35),f=e(22),s=e(112),u=e(99),l=Math.max,p=Math.min,d=Math.floor,g=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var h=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=h?"$":"$0";return[function(e,r){var i=f(this),o=null==e?void 0:e[t];return void 0!==o?o.call(e,i,r):n.call(String(i),e,r)},function(t,r){if(!h&&m||"string"==typeof r&&-1===r.indexOf(y)){var o=e(n,t,this,r);if(o.done)return o.value}var f=i(t),d=String(this),g="function"==typeof r;g||(r=String(r));var v=f.global;if(v){var x=f.unicode;f.lastIndex=0}for(var b=[];;){var w=u(f,d);if(null===w)break;if(b.push(w),!v)break;""===String(w[0])&&(f.lastIndex=s(d,a(f.lastIndex),x))}for(var S,E="",O=0,A=0;A<b.length;A++){w=b[A];for(var j=String(w[0]),k=l(p(c(w.index),d.length),0),P=[],C=1;C<w.length;C++)P.push(void 0===(S=w[C])?S:String(S));var T=w.groups;if(g){var R=[j].concat(P,k,d);void 0!==T&&R.push(T);var F=String(r.apply(void 0,R))}else F=_(j,d,k,P,T,r);k>=O&&(E+=d.slice(O,k)+F,O=k+j.length)}return E+d.slice(O)}];function _(t,e,r,i,a,c){var f=r+t.length,s=i.length,u=v;return void 0!==a&&(a=o(a),u=g),n.call(c,u,(function(n,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(f);case"<":c=a[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>s){var l=d(u/10);return 0===l?n:l<=s?void 0===i[l-1]?o.charAt(1):i[l-1]+o.charAt(1):n}c=i[u-1]}return void 0===c?"":c}))}}))},,,function(t,n,e){var r=e(20),i=e(21),o=e(105),a=function(t){return function(n,e,a){var c,f=r(n),s=i(f.length),u=o(a,s);if(t&&e!=e){for(;s>u;)if((c=f[u++])!=c)return!0}else for(;s>u;u++)if((t||u in f)&&f[u]===e)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){"use strict";var r=e(8);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){"use strict";e(41);var r=e(26),i=e(5),o=e(6),a=e(73),c=e(14),f=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),u="$0"==="a".replace(/./,"$0"),l=o("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),d=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var g=o(t),v=!i((function(){var n={};return n[g]=function(){return 7},7!=""[t](n)})),h=v&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[f]=function(){return e},e.flags="",e[g]=/./[g]),e.exec=function(){return n=!0,null},e[g](""),!n}));if(!v||!h||"replace"===t&&(!s||!u||p)||"split"===t&&!d){var m=/./[g],y=e(g,""[t],(function(t,n,e,r,i){return n.exec===a?v&&!i?{done:!0,value:m.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),_=y[0],x=y[1];r(String.prototype,t,_),r(RegExp.prototype,g,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}l&&c(RegExp.prototype[g],"sham",!0)}},function(t,n,e){var r=e(24),i=e(73);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var o=e.call(t,n);if("object"!=typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},,function(t,n,e){var r=e(64);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(9),i=e(103),o=e(45),a=e(12);t.exports=function(t,n){for(var e=i(n),c=a.f,f=o.f,s=0;s<e.length;s++){var u=e[s];r(t,u)||c(t,u,f(n,u))}}},function(t,n,e){var r=e(27),i=e(72),o=e(88),a=e(8);t.exports=r("Reflect","ownKeys")||function(t){var n=i.f(a(t)),e=o.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(4);t.exports=r},function(t,n,e){var r=e(35),i=Math.max,o=Math.min;t.exports=function(t,n){var e=r(t);return e<0?i(e+n,0):o(e,n)}},function(t,n,e){var r=e(27);t.exports=r("document","documentElement")},function(t,n,e){var r=e(11),i=e(74),o=e(6)("species");t.exports=function(t,n){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)?r(e)&&null===(e=e[o])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){"use strict";var r=e(51),i=e(12),o=e(34);t.exports=function(t,n,e){var a=r(n);a in t?i.f(t,a,o(0,e)):t[a]=e}},function(t,n,e){var r=e(9),i=e(23),o=e(52),a=e(133),c=o("IE_PROTO"),f=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?f:null}},,,function(t,n,e){"use strict";var r=e(117).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r={};r[e(6)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(4),i=e(65),o=r.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},function(t,n,e){var r,i,o=e(4),a=e(131),c=o.process,f=c&&c.versions,s=f&&f.v8;s?i=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),t.exports=i&&+i},,function(t,n,e){var r=e(35),i=e(22),o=function(t){return function(n,e){var o,a,c=String(i(n)),f=r(e),s=c.length;return f<0||f>=s?t?"":void 0:(o=c.charCodeAt(f))<55296||o>56319||f+1===s||(a=c.charCodeAt(f+1))<56320||a>57343?t?c.charAt(f):o:t?c.slice(f,f+2):a-56320+(o-55296<<10)+65536}};t.exports={codeAt:o(!1),charAt:o(!0)}},function(t,n,e){var r=e(10),i=e(12),o=e(8),a=e(67);t.exports=r?Object.defineProperties:function(t,n){o(t);for(var e,r=a(n),c=r.length,f=0;c>f;)i.f(t,e=r[f++],n[e]);return t}},function(t,n,e){"use strict";var r,i,o,a=e(109),c=e(14),f=e(9),s=e(6),u=e(49),l=s("iterator"),p=!1;[].keys&&("next"in(o=[].keys())?(i=a(a(o)))!==Object.prototype&&(r=i):p=!0),null==r&&(r={}),u||f(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},,function(t,n,e){"use strict";e.d(n,"a",(function(){return r})),e.d(n,"b",(function(){return i}));e(55),e(42),e(25);function r(t,n){var e=Array.from(t);e.pop(),e.map((function(t,e){"none"!==t.style.display&&(t.querySelector(".gform-settings-panel__collapsible-toggle-checkbox").addEventListener("click",(function(){i(t,n,e)})),i(t,n,e,"firstLoad"))}))}function i(t,n,e,r){var i="submit-container-"+e;if(!t.classList.contains("gform-settings-panel--collapsed")){var o=n.querySelector("#submit").cloneNode(!0);o.setAttribute("id","submit_"+e);var a=document.createElement("div");return a.setAttribute("class",i),a.innerHTML=o.outerHTML,t.parentNode.insertBefore(a,t.nextSibling)}r||document.querySelector(".".concat(i)).remove()}},,function(t,n,e){var r=e(11),i=e(24),o=e(6)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},function(t,n,e){"use strict";var r=e(5);function i(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(8),i=e(146);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,o){return r(e),i(o),n?t.call(e,o):e.__proto__=o,e}}():void 0)},function(t,n,e){var r=e(113),i=e(24),o=e(6)("toStringTag"),a="Arguments"==i(function(){return arguments}());t.exports=r?i:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),o))?e:a?i(n):"Object"==(r=i(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r=e(6),i=e(56),o=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[o]===t)}},function(t,n,e){var r=e(126),i=e(56),o=e(6)("iterator");t.exports=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,n,e){var r=e(8);t.exports=function(t,n,e,i){try{return i?n(r(e)[0],e[1]):n(e)}catch(n){var o=t.return;throw void 0!==o&&r(o.call(t)),n}}},function(t,n,e){var r=e(6)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var e=!1;try{var o={};o[r]=function(){return{next:function(){return{done:e=!0}}}},t(o)}catch(t){}return e}},function(t,n,e){var r=e(27);t.exports=r("navigator","userAgent")||""},function(t,n,e){"use strict";var r=e(7),i=e(145),o=e(109),a=e(125),c=e(89),f=e(14),s=e(26),u=e(6),l=e(49),p=e(56),d=e(119),g=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,h=u("iterator"),m=function(){return this};t.exports=function(t,n,e,u,d,y,_){i(e,n,u);var x,b,w,S=function(t){if(t===d&&k)return k;if(!v&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},E=n+" Iterator",O=!1,A=t.prototype,j=A[h]||A["@@iterator"]||d&&A[d],k=!v&&j||S(d),P="Array"==n&&A.entries||j;if(P&&(x=o(P.call(new t)),g!==Object.prototype&&x.next&&(l||o(x)===g||(a?a(x,g):"function"!=typeof x[h]&&f(x,h,m)),c(x,E,!0,!0),l&&(p[E]=m))),"values"==d&&j&&"values"!==j.name&&(O=!0,k=function(){return j.call(this)}),l&&!_||A[h]===k||f(A,h,k),p[n]=k,d)if(b={values:S("values"),keys:y?k:S("keys"),entries:S("entries")},_)for(w in b)(v||O||!(w in A))&&s(A,w,b[w]);else r({target:n,proto:!0,forced:v||O},b);return b}},function(t,n,e){var r=e(5);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},,,,,,,,function(t,n,e){"use strict";var r=e(27),i=e(12),o=e(6),a=e(10),c=o("species");t.exports=function(t){var n=r(t),e=i.f;a&&n&&!n[c]&&e(n,c,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(8),i=e(43),o=e(6)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[o])?n:i(e)}},,function(t,n,e){"use strict";var r=e(66),i=e(23),o=e(129),a=e(127),c=e(21),f=e(108),s=e(128);t.exports=function(t){var n,e,u,l,p,d,g=i(t),v="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,_=s(g),x=0;if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==_||v==Array&&a(_))for(e=new v(n=c(g.length));n>x;x++)d=y?m(g[x],x):g[x],f(e,x,d);else for(p=(l=_.call(g)).next,e=new v;!(u=p.call(l)).done;x++)d=y?o(l,m,[u.value,x],!0):u.value,f(e,x,d);return e.length=x,e}},function(t,n,e){"use strict";var r=e(119).IteratorPrototype,i=e(68),o=e(34),a=e(89),c=e(56),f=function(){return this};t.exports=function(t,n,e){var s=n+" Iterator";return t.prototype=i(r,{next:o(1,e)}),a(t,s,!1,!0),c[s]=f,t}},function(t,n,e){var r=e(11);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e(7)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},,,,,,function(t,n,e){var r=e(10),i=e(4),o=e(85),a=e(172),c=e(12).f,f=e(72).f,s=e(123),u=e(97),l=e(124),p=e(26),d=e(5),g=e(47).set,v=e(141),h=e(6)("match"),m=i.RegExp,y=m.prototype,_=/a/g,x=/a/g,b=new m(_)!==_,w=l.UNSUPPORTED_Y;if(r&&o("RegExp",!b||w||d((function(){return x[h]=!1,m(_)!=_||m(x)==x||"/a/i"!=m(_,"i")})))){for(var S=function(t,n){var e,r=this instanceof S,i=s(t),o=void 0===n;if(!r&&i&&t.constructor===S&&o)return t;b?i&&!o&&(t=t.source):t instanceof S&&(o&&(n=u.call(t)),t=t.source),w&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var c=a(b?new m(t,n):m(t,n),r?this:y,S);return w&&e&&g(c,{sticky:e}),c},E=function(t){t in S||c(S,t,{configurable:!0,get:function(){return m[t]},set:function(n){m[t]=n}})},O=f(m),A=0;O.length>A;)E(O[A++]);y.constructor=S,S.prototype=y,p(i,"RegExp",S)}v("RegExp")},function(t,n,e){var r=e(11),i=e(125);t.exports=function(t,n,e){var o,a;return i&&"function"==typeof(o=n.constructor)&&o!==e&&r(a=o.prototype)&&a!==e.prototype&&i(t,a),t}},function(t,n,e){"use strict";var r=e(98),i=e(123),o=e(8),a=e(22),c=e(142),f=e(112),s=e(21),u=e(99),l=e(73),p=e(5),d=[].push,g=Math.min,v=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),o=void 0===e?4294967295:e>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return n.call(r,t,o);for(var c,f,s,u=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),g=0,v=new RegExp(t.source,p+"g");(c=l.call(v,r))&&!((f=v.lastIndex)>g&&(u.push(r.slice(g,c.index)),c.length>1&&c.index<r.length&&d.apply(u,c.slice(1)),s=c[0].length,g=f,u.length>=o));)v.lastIndex===c.index&&v.lastIndex++;return g===r.length?!s&&v.test("")||u.push(""):u.push(r.slice(g)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var i=a(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,i,e):r.call(String(i),n,e)},function(t,i){var a=e(r,t,this,i,r!==n);if(a.done)return a.value;var l=o(t),p=String(this),d=c(l,RegExp),h=l.unicode,m=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(v?"y":"g"),y=new d(v?l:"^(?:"+l.source+")",m),_=void 0===i?4294967295:i>>>0;if(0===_)return[];if(0===p.length)return null===u(y,p)?[p]:[];for(var x=0,b=0,w=[];b<p.length;){y.lastIndex=v?b:0;var S,E=u(y,v?p:p.slice(b));if(null===E||(S=g(s(y.lastIndex+(v?0:b)),p.length))===x)b=f(p,b,h);else{if(w.push(p.slice(x,b)),w.length===_)return w;for(var O=1;O<=E.length-1;O++)if(w.push(E[O]),w.length===_)return w;b=x=S}}return w.push(p.slice(x)),w}]}),!v)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){"use strict";e.r(n);var r=e(2),i=e.n(r);e(165);e(19);function o(t,n){return i.a.ajax({type:"post",dataType:"json",url:GFPDF.ajaxUrl,data:t,success:n,error:n})}function a(t){return i()("<img alt="+GFPDF.spinnerAlt+" src="+GFPDF.spinnerUrl+" class="+t+" />")}function c(t){var n=i()("#gfpdf-settings-field-wrapper-font, #gfpdf-settings-field-wrapper-font_size, #gfpdf-settings-field-wrapper-font_colour");"legacy"===t?n.hide():n.show()}var f=e(121);function s(){i()("#gfpdf_settings\\[template\\]").off("change").on("change",(function(){var t=a("gfpdf-spinner-template");i()(this).next().after(t),o({action:"gfpdf_get_template_fields",nonce:GFPDF.ajaxNonce,template:i()(this).val(),type:i()(this).attr("id"),id:i()("#gform_id").val(),gform_pdf_id:i()("#gform_pdf_id").val()},(function(n){var e,r,o=i()(".submit-container-2")[0];t.remove(),i()('input[name="gfpdf_settings[advanced_template]"][value="No"]').prop("checked",!0).trigger("change"),n.fields?(i.a.each(n.editors,(function(t,n){var e=tinyMCE.get(n);if(null!==e)try{tinyMCE.remove(e)}catch(t){}})),o||Object(f.b)(i()("#gfpdf-fieldset-gfpdf_form_settings_template")[0],i()("#gfpdf_pdf_form")[0],"2"),i()("#gfpdf-fieldset-gfpdf_form_settings_template").show().find(".gform-settings-panel__content").html(n.fields),e=n.editors,null!=(r=n.editor_init)&&(r.body_class="id post-type-post post-status-publish post-format-standard",r.formats={alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table,dl.wp-caption",classes:"alignleft"}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img,table,dl.wp-caption",classes:"aligncenter"}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table,dl.wp-caption",classes:"alignright"}],strikethrough:{inline:"del"}},r.content_style='body#tinymce { max-width: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;}'),i.a.each(e,(function(t,n){r.selector="#"+n,tinyMCE.init(r),tinyMCE.execCommand("mceAddEditor",!1,n),"function"==typeof QTags&&(QTags({id:n}),QTags._buttonsInit(),"function"==typeof switchEditors.switchto&&switchEditors.switchto(jQuery("#wp-"+n+"-wrap").find(".wp-switch-editor.switch-"+("html"===getUserSetting("editor")?"html":"tmce"))[0]))})),l.runElements(),window.gfMergeTags&&"undefined"!=typeof form&&i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").length>=0&&(i()("#gfpdf-fieldset-gfpdf_form_settings_template .merge-tag-support").each((function(){new gfMergeTagsObj(form,i()(this))})),i()("#gfpdf-fieldset-gfpdf_form_settings_template .gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}))),gform_initialize_tooltips()):(o&&o.remove(),i()("#gfpdf-fieldset-gfpdf_form_settings_template").hide().find(".gform-settings-panel__content").html("")),n.template_type&&c(n.template_type),i()(document).trigger("gfpdf_template_loaded",[n])}))}))}function u(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"runElements",value:function(){var t;"undefined"!=typeof gf_vars&&(gf_vars.thisFormButton=GFPDF.conditionalText,gf_vars.show=GFPDF.enable,gf_vars.hide=GFPDF.disable),window.formfield="",i()("body").off("click",".gfpdf_settings_upload_button").on("click",".gfpdf_settings_upload_button",(function(n){n.preventDefault();var e=i()(this);window.formfield=i()(this).prev(),t||(t=wp.media.frames.file_frame=wp.media({title:e.data("uploader-title"),button:{text:e.data("uploader-button-text")},multiple:!1})).on("select",(function(){t.state().get("selection").each((function(t){t=t.toJSON(),window.formfield.val(t.url).trigger("change")}))})),t.open()})),i()(".gfpdf-color-picker").each((function(){i()(this).wpColorPicker({width:300}),i()(this).parents(".wp-picker-container").find(".wp-color-result").addClass("ed_button")})),i()(".gfpdf_paper_size").each((function(){var t=i()(this).nextAll(".gfpdf_paper_size_other").first();i()(this).find("select").off("change").on("change",(function(){"CUSTOM"===i()(this).val()?t.fadeIn():t.fadeOut()})).trigger("change")})),i()("form").off("change",".gfpdf-input-toggle").on("change",".gfpdf-input-toggle",(function(){var t=i()(this).parent().next();i()(this).prop("checked")?t.slideDown("slow"):(t.slideUp("slow"),t.find(".wp-editor-area").each((function(){var t=tinyMCE.get(i()(this).attr("id"));null!==t&&t.setContent("")})),t.find("textarea").each((function(){i()(this).val("")})))})),s(),i()(".gfpdf-deactivate-license").on("click",(function(){var t=i()(this).parent(),n=a("gfpdf-spinner");i()(this).append(n);var e=i()(this).data("addon-name");return o({action:"gfpdf_deactivate_license",addon_name:e,license:i()(this).data("license"),nonce:i()(this).data("nonce")},(function(r){n.remove(),r.success?(i()("#gfpdf_settings\\[license_"+e+"\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_message\\]").val(""),i()("#gfpdf_settings\\[license_"+e+"_status\\]").val(""),t.find("button").remove(),t.find("#message").removeClass("error").addClass("success").html(r.success)):t.find("#message").removeClass("success").addClass("error").html(r.error)})),!1}))}}])&&u(n.prototype,e),r&&u(n,r),t}());e(171),e(41),e(29),e(93);function p(t){t.attr("novalidate","novalidate"),t.find('input[type="submit"]').on("click",(function(){t.addClass("formSubmitted")})),t.find(':input[required=""], :input[required]').each((function(){var t=i()(this).parent();t.find(".gform-settings-panel__title a").length?t.find(".gform-settings-panel__title a").before('<span class="gfield_required">(required)</span>'):t.find(".gform-settings-panel__title").append('<span class="gfield_required">(required)</span>')}))}function d(t,n,e){n=void 0!==n?n:4500,e=void 0!==e&&e;var r=i()('<div id="message">').html("<p>"+t+"</p>");!0===e?r.addClass("error"):r.addClass("updated"),i()(".wrap > h2").after(r),setTimeout((function(){r.slideUp()}),n)}function g(){function t(t){t.append(a("gfpdf-spinner gfpdf-spinner-small")).closest(".row-actions").attr("style","position:static; visibility: visible;"),o({action:"gfpdf_list_delete",nonce:t.data("nonce"),fid:t.data("fid"),pid:t.data("id")},(function(n){n.msg&&(t.closest(".row-actions").attr("style","").find(".gfpdf-spinner").remove(),d(n.msg),t.parents("tr").css("background","#ffb8b8").fadeOut(400,(function(){this.remove(),function(){var t=i()("#gfpdf_list_form tbody");if(0===t.find("tr").length){var n=i()("<tr>").addClass("no-items"),e=i()("<td>").attr("colspan","5").addClass("colspanchange"),r=i()("<a>").attr("href",i()("#gfpdf_list_form a.button:first").attr("href")).append(GFPDF.letsGoCreateOne+".");e.append(GFPDF.thisFormHasNoPdfs).append(" ").append(r),n.append(e),t.append(n)}}()})))}))}i()("#gfpdf_list_form").on("click","a.submitdelete",(function(){String(i()(this).data("id")).length>0&&window.confirm(GFPDF.pdfDeleteWarning)&&t(i()(this));return!1}))}e(71),e(173);function v(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var h=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"setupAJAXListListener",value:function(){g(),i()("#gfpdf_list_form").on("click","a.submitduplicate",(function(t){t.preventDefault();var n=String(i()(this).data("id")),e=this;i()(this).after(a("gfpdf-spinner gfpdf-spinner-small")).parent().parent().attr("style","position:static; visibility: visible;"),n.length>0&&o({action:"gfpdf_list_duplicate",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){if(t.msg){i()(e).parent().parent().attr("style","").find(".gfpdf-spinner").remove(),d(t.msg);var r=i()(e).parents("tr"),o=r.clone().css("background","#baffb8");o.find(".column-name > a, .edit a").each((function(){var n=i()(this).attr("href");n=function(t,n,e){var r="",i=t.split("?"),o=i[0],a=i[1],c="";if(a){i=a.split("&");for(var f=0;f<i.length;f++)i[f].split("=")[0]!==n&&(r+=c+i[f],c="&")}return o+"?"+r+c+n+"="+e}(n,"pid",t.pid),i()(this).attr("href",n)})),o.find(".column-name > a").html(t.name);var a=o.find(".duplicate a"),c=o.find(".delete a"),f=o.find(".check-column button"),s=o.find(".column-shortcode");a.data("id",t.pid),a.data("nonce",t.dup_nonce),c.data("id",t.pid),c.data("nonce",t.del_nonce),f.data("id",t.pid),f.data("nonce",t.state_nonce),f[0].setAttribute("data-status","inactive");var u=s.find("button").attr("data-clipboard-text");u=u.replace(n,t.pid),s.find("button").attr("data-clipboard-text",u),s.find("input").attr("id",t.pid).attr("value",u),f.removeClass("gform-status--active").addClass("gform-status--inactive").find(".gform-status-indicator-status").html(t.status),o.hide().insertAfter(r).fadeIn().animate({backgroundColor:"#F6F9FC"})}}))})),i()("#gfpdf_list_form").on("click",".check-column button",(function(){var t=String(i()(this).data("id")),n=i()(this),e=n.find("span.gform-status-indicator-status");t.length>0&&(n.addClass("gform_status--pending").removeClass("gform-status--active gform-status--inactive"),o({action:"gfpdf_change_state",nonce:i()(this).data("nonce"),fid:i()(this).data("fid"),pid:i()(this).data("id")},(function(t){e.html(t.state),"active"===n.data("status")?(n[0].setAttribute("data-status","inactive"),n.data("status","inactive").removeClass("gform_status--pending").addClass("gform-status--inactive")):(n[0].setAttribute("data-status","active"),n.data("status","active").removeClass("gform_status--pending").addClass("gform-status--active"))})))}))}}])&&v(n.prototype,e),r&&v(n,r),t}());e(58);function m(){var t,n,e,r,o,a,f,s;p(i()("#gfpdf_pdf_form")),t=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced"),n=t.find('input[name="gfpdf_settings[security]"]'),e=t.find('input[name="gfpdf_settings[format]"]'),r=t.find("#gfpdf-settings-field-wrapper-security"),o=t.find("#gfpdf-settings-field-wrapper-password,#gfpdf-settings-field-wrapper-privileges,#gfpdf-settings-field-wrapper-master_password:not(.gfpdf-hidden)"),n.on("change",(function(){var t=e.filter(":checked").val();"No"===i()(this).val()||"Standard"!==t?o.hide():i()(this).is(":checked")?o.show():o.hide(),"Standard"!==t?r.hide():r.show()})).trigger("change"),e.on("change",(function(){i()(this).is(":checked")&&n.trigger("change")})).trigger("change"),gform.addFilter("gform_conditional_object",(function(t,n){return"gfpdf"===n?window.gfpdf_current_pdf:t})),i()("#gfpdf_conditional_logic").on("change",(function(){void 0===window.gfpdf_current_pdf.conditionalLogic&&i()(this).prop("checked")?window.gfpdf_current_pdf.conditionalLogic=new ConditionalLogic:i()(this).prop("checked")||(window.gfpdf_current_pdf.conditionalLogic=null),ToggleConditionalLogic(!1,"gfpdf")})).trigger("change"),a=i()("#gfpdf-fieldset-gfpdf_form_settings_advanced").find('input[name="gfpdf_settings[public_access]"]'),f=i()("#gfpdf-settings-field-wrapper-restrict_owner"),a.on("change",(function(){i()(this).is(":checked")?f.hide():f.show()})).trigger("change"),c(i()("#gfpdf_settings\\[template\\]").data("template_group")),s=i()("#gfpdf-fieldset-gfpdf_form_settings_appearance"),i()('input[name="gfpdf_settings[advanced_template]"]').on("change",(function(){"Yes"===i()(this).val()?s.hide():s.show()})),i()('input[name="gfpdf_settings[advanced_template]"]:checked').trigger("change"),i()(".gform-settings-field").each((function(){i()(this).find(".merge-tag-support, .merge-tag-support + span").wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag"></div>'),i()(this).find(".all-merge-tags.textarea").parent().wrapAll('<div class="gform-settings-input__container gform-settings-input__container--with-merge-tag gfpdf-merge-tag-container"></div>')}));var u=i()("#gfpdf-fieldset-gfpdf_form_settings_template");0===u.find(".gform-settings-panel__content").children().length&&u.hide(),i()(".gform-settings__wrapper > .alert").detach().prependTo("#tab_pdf"),i()("#gfpdf_pdf_form").on("submit",(function(){try{tinyMCE.triggerSave()}catch(t){}})),i()("#gfpdf_pdf_form").on("submit",(function(){i()("#gfpdf_settings\\[conditionalLogic\\]").val(i.a.toJSON(window.gfpdf_current_pdf.conditionalLogic))}))}function y(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var _=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"isSettings",value:function(){return i()("#pdfextended-settings").length}},{key:"isFormSettings",value:function(){return i()(".gforms_edit_form").length}},{key:"isFormSettingsList",value:function(){return i()("#gfpdf_list_form").length}},{key:"isFormSettingsEdit",value:function(){return i()("#gfpdf_pdf_form").length}}])&&y(n.prototype,e),r&&y(n,r),t}());function x(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var b=new(function(){function t(){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t)}var n,e,r;return n=t,(e=[{key:"init",value:function(){l.runElements(),_.isSettings()&&this.processSettings(),_.isFormSettings()&&this.processFormSettings()}},{key:"getCurrentSettingsPage",value:function(){return _.isSettings()?i()(".gform-settings-tabs__navigation a.active:first").data("id"):""}},{key:"processSettings",value:function(){switch(i()("#gform_tabs a").each((function(){var t=i()(this).attr("href"),n=new RegExp("&tab=[^&;]*","g");i()(this).attr("href",t.replace(n,""))})),this.getCurrentSettingsPage()){case"general":!function(){p(i()("#pdfextended-settings > form"));var t=i()("#pdf-general-security");t.find('input[name="gfpdf_settings[default_restrict_owner]"]').on("change",(function(){i()(this).is(":checked")&&("Yes"===i()(this).val()?t.find("tr:nth-child(3)").hide():t.find("tr:nth-child(3)").show())})).trigger("change")}()}}},{key:"processFormSettings",value:function(){_.isFormSettingsList()&&h.setupAJAXListListener(),_.isFormSettingsEdit()&&m()}}])&&x(n.prototype,e),r&&x(n,r),t}());i()((function(){b.init()}))}]);
dist/assets/js/app.bundle.min.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"8edcd532c90076289c8a",4:"3958577e9ba487662fcf",5:"f06953d68b59268254e5",6:"6c41d7a031f41a494964",7:"9a1736bd0281c624aba5",8:"4d85e80b996f0e8e6163",9:"490ff386d143b3b668c9",10:"35956ed01838b210014b"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},P=function(e){return{type:d,payload:e}},_=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},P=function(e){return{type:f,payload:e}},_=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,P=n.withRef,_=void 0!==P&&P,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!_,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var P=g?n.store:y.store,_=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(P)}),[P]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(P,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[P,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:_(P.getState(),p)}),[P,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=P.getState();try{n=_(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[P,C,_]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var P=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return P.displayName=i,P.WrappedComponent=t,y()(P,t)}return y()(g,t)}}var P=Object.prototype.hasOwnProperty;function _(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(_(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!P.call(t,n[o])||!_(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return _}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var P=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function _(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),P=n(14),_=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(_((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),_(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||_(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||P(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function P(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function _(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,P();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",_),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",_),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,P({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),P({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function P(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var _=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!_&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(_)_=!1,P();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(_=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,P({action:"PUSH",location:n})}else P()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),P({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function P(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=P(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=P(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
2
  /**
3
  * @package Gravity PDF
4
  * @copyright Copyright (c) 2021, Blue Liquid Designs
1
+ !function(e){function t(t){for(var n,o,i=t[0],a=t[1],u=0,c=[];u<i.length;u++)o=i[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&c.push(r[o][0]),r[o]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={2:0};function o(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var i=new Promise((function(t,o){n=r[e]=[t,o]}));t.push(n[2]=i);var a,u=document.createElement("script");u.charset="utf-8",u.timeout=120,o.nc&&u.setAttribute("nonce",o.nc),u.src=function(e){return o.p+"assets/js/chunk-"+({}[e]||e)+"."+{0:"8edcd532c90076289c8a",4:"3958577e9ba487662fcf",5:"f06953d68b59268254e5",6:"6c41d7a031f41a494964",7:"9a1736bd0281c624aba5",8:"4d85e80b996f0e8e6163",9:"490ff386d143b3b668c9",10:"35956ed01838b210014b"}[e]+".js"}(e);var l=new Error;a=function(t){u.onerror=u.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var o=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",l.name="ChunkLoadError",l.type=o,l.request=i,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){a({type:"timeout",target:u})}),12e4);u.onerror=u.onload=a,document.head.appendChild(u)}return Promise.all(t)},o.m=e,o.c=n,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",o.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],a=i.push.bind(i);i.push=t,i=i.slice();for(var u=0;u<i.length;u++)t(i[u]);var l=a;o(o.s=210)}([function(e,t,n){"use strict";e.exports=n(186)},function(e,t,n){e.exports=n(201)()},function(e,t){e.exports=jQuery},function(e,t,n){"use strict";n.d(t,"m",(function(){return r})),n.d(t,"o",(function(){return o})),n.d(t,"n",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return l})),n.d(t,"j",(function(){return c})),n.d(t,"l",(function(){return s})),n.d(t,"k",(function(){return f})),n.d(t,"t",(function(){return p})),n.d(t,"i",(function(){return d})),n.d(t,"f",(function(){return h})),n.d(t,"h",(function(){return m})),n.d(t,"g",(function(){return v})),n.d(t,"d",(function(){return y})),n.d(t,"e",(function(){return g})),n.d(t,"q",(function(){return b})),n.d(t,"r",(function(){return w})),n.d(t,"s",(function(){return E})),n.d(t,"p",(function(){return x})),n.d(t,"A",(function(){return S})),n.d(t,"u",(function(){return T})),n.d(t,"z",(function(){return O})),n.d(t,"F",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"v",(function(){return F})),n.d(t,"w",(function(){return C})),n.d(t,"D",(function(){return j})),n.d(t,"C",(function(){return R})),n.d(t,"E",(function(){return D})),n.d(t,"B",(function(){return A}));var r="GET_CUSTOM_FONT_LIST",o="GET_CUSTOM_FONT_LIST_SUCCESS",i="GET_CUSTOM_FONT_LIST_ERROR",a="ADD_FONT",u="ADD_FONT_SUCCESS",l="ADD_FONT_ERROR",c="EDIT_FONT",s="EDIT_FONT_SUCCESS",f="EDIT_FONT_ERROR",p="VALIDATION_ERROR",d="DELETE_VARIANT_ERROR",h="DELETE_FONT",m="DELETE_FONT_SUCCESS",v="DELETE_FONT_ERROR",y="CLEAR_ADD_FONT_MSG",g="CLEAR_DROPZONE_ERROR",b="RESET_SEARCH_RESULT",w="SEARCH_FONT_LIST",E="SELECT_FONT",x="MOVE_SELECTED_FONT_TO_TOP",S=function(){return{type:r}},T=function(e){return{type:a,payload:e}},O=function(e){return{type:c,payload:e}},k=function(){return{type:p}},P=function(e){return{type:d,payload:e}},_=function(e){return{type:h,payload:e}},F=function(){return{type:y}},C=function(e){return{type:g,payload:e}},j=function(e){return{type:w,payload:e}},R=function(){return{type:b}},D=function(e){return{type:E,payload:e}},A=function(e){return{type:x,payload:e}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(84))},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(4),o=n(61),i=n(9),a=n(63),u=n(64),l=n(101),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(4),o=n(45).f,i=n(14),a=n(26),u=n(50),l=n(102),c=n(85);e.exports=function(e,t){var n,s,f,p,d,h=e.target,m=e.global,v=e.stat;if(n=m?r:v?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(p=t[s],f=e.noTargetGet?(d=o(n,s))&&d.value:n[s],!c(m?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;l(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(n,s,p,e)}}},function(e,t,n){var r=n(11);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(5);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(10),o=n(76),i=n(8),a=n(51),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"g",(function(){return o})),n.d(t,"a",(function(){return i})),n.d(t,"o",(function(){return a})),n.d(t,"d",(function(){return u})),n.d(t,"m",(function(){return l})),n.d(t,"n",(function(){return c})),n.d(t,"h",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"i",(function(){return p})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"k",(function(){return v})),n.d(t,"c",(function(){return y})),n.d(t,"u",(function(){return g})),n.d(t,"v",(function(){return b})),n.d(t,"p",(function(){return w})),n.d(t,"E",(function(){return E})),n.d(t,"s",(function(){return x})),n.d(t,"B",(function(){return S})),n.d(t,"D",(function(){return T})),n.d(t,"C",(function(){return O})),n.d(t,"w",(function(){return k})),n.d(t,"y",(function(){return P})),n.d(t,"x",(function(){return _})),n.d(t,"q",(function(){return F})),n.d(t,"t",(function(){return C})),n.d(t,"A",(function(){return j})),n.d(t,"z",(function(){return R})),n.d(t,"r",(function(){return D}));var r="SEARCH_TEMPLATES",o="SELECT_TEMPLATE",i="ADD_TEMPLATE",a="UPDATE_TEMPLATE_PARAM",u="DELETE_TEMPLATE",l="UPDATE_SELECT_BOX",c="UPDATE_SELECT_BOX_SUCCESS",s="TEMPLATE_PROCESSING",f="TEMPLATE_PROCESSING_SUCCESS",p="TEMPLATE_PROCESSING_FAILED",d="CLEAR_TEMPLATE_PROCESSING",h="POST_TEMPLATE_UPLOAD_PROCESSING",m="TEMPLATE_UPLOAD_PROCESSING_SUCCESS",v="TEMPLATE_UPLOAD_PROCESSING_FAILED",y="CLEAR_TEMPLATE_UPLOAD_PROCESSING",g=function(e){return{type:r,text:e}},b=function(e){return{type:o,id:e}},w=function(e){return{type:i,template:e}},E=function(e,t,n){return{type:a,id:e,name:t,value:n}},x=function(e){return{type:u,id:e}},S=function(){return{type:l}},T=function(e){return{type:c,payload:e}},O=function(){return{type:"UPDATE_SELECT_BOX_FAILED"}},k=function(e){return{type:s,payload:e}},P=function(e){return{type:f,payload:e}},_=function(e){return{type:p,payload:e}},F=function(){return{type:d}},C=function(e,t){return{type:h,payload:{file:e,filename:t}}},j=function(e){return{type:m,payload:e}},R=function(e){return{type:v,payload:e}},D=function(){return{type:y}}},function(e,t,n){var r=n(10),o=n(12),i=n(34);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i),u=o.a.createContext(null);var l=function(e){e()},c={notify:function(){}};function s(){var e=l,t=[],n=[];return{clear:function(){n=null,t=null},notify:function(){var r=t=n;e((function(){for(var e=0;e<r.length;e++)r[e]()}))},get:function(){return n},subscribe:function(e){var r=!0;return n===t&&(n=t.slice()),n.push(e),function(){r&&null!==t&&(r=!1,n===t&&(n=t.slice()),n.splice(n.indexOf(e),1))}}}}var f=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=c,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=s())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=c)},e}();function p(e){var t=e.store,n=e.context,i=e.children,a=Object(r.useMemo)((function(){var e=new f(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),l=Object(r.useMemo)((function(){return t.getState()}),[t]);Object(r.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),l!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,l]);var c=n||u;return o.a.createElement(c.Provider,{value:a},i)}p.propTypes={store:a.a.shape({subscribe:a.a.func.isRequired,dispatch:a.a.func.isRequired,getState:a.a.func.isRequired}),context:a.a.object,children:a.a.any};var d=p,h=n(28),m=n(69),v=n(122),y=n.n(v),g=n(70),b=n.n(g),w=n(137),E="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?r.useLayoutEffect:r.useEffect,x=[],S=[null,null];function T(e,t){var n=e[1];return[t.payload,n+1]}var O=function(){return[null,0]};function k(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,l=n.methodName,c=void 0===l?"connectAdvanced":l,s=n.renderCountProp,p=void 0===s?void 0:s,d=n.shouldHandleStateChanges,v=void 0===d||d,g=n.storeKey,k=void 0===g?"store":g,P=n.withRef,_=void 0!==P&&P,F=n.forwardRef,C=void 0!==F&&F,j=n.context,R=void 0===j?u:j,D=Object(m.a)(n,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);b()(void 0===p,"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"),b()(!_,"withRef is removed. To access the wrapped instance, use a ref on the connected component");b()("store"===k,"storeKey has been removed and does not do anything. To use a custom Redux store for specific components, create a custom React context with React.createContext(), and pass the context object to React Redux's Provider and specific components like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. You may also pass a {context : MyContext} option to connect");var A=R;return function(t){var n=t.displayName||t.name||"Component",i=a(n),u=Object(h.a)({},D,{getDisplayName:a,methodName:c,renderCountProp:p,shouldHandleStateChanges:v,storeKey:k,displayName:i,wrappedComponentName:n,WrappedComponent:t}),l=D.pure;var s=l?r.useMemo:function(e){return e()};function d(n){var a=Object(r.useMemo)((function(){var e=n.forwardedRef,t=Object(m.a)(n,["forwardedRef"]);return[n.context,e,t]}),[n]),l=a[0],c=a[1],p=a[2],d=Object(r.useMemo)((function(){return l&&l.Consumer&&Object(w.isContextConsumer)(o.a.createElement(l.Consumer,null))?l:A}),[l,A]),y=Object(r.useContext)(d),g=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch),k=Boolean(y)&&Boolean(y.store);b()(g||k,'Could not find "store" in the context of "'+i+'". Either wrap the root component in a <Provider>, or pass a custom React context provider to <Provider> and the corresponding React context consumer to '+i+" in connect options.");var P=g?n.store:y.store,_=Object(r.useMemo)((function(){return function(t){return e(t.dispatch,u)}(P)}),[P]),F=Object(r.useMemo)((function(){if(!v)return S;var e=new f(P,g?null:y.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[P,g,y]),C=F[0],j=F[1],R=Object(r.useMemo)((function(){return g?y:Object(h.a)({},y,{subscription:C})}),[g,y,C]),D=Object(r.useReducer)(T,x,O),L=D[0][0],N=D[1];if(L&&L.error)throw L.error;var I=Object(r.useRef)(),M=Object(r.useRef)(p),U=Object(r.useRef)(),q=Object(r.useRef)(!1),z=s((function(){return U.current&&p===M.current?U.current:_(P.getState(),p)}),[P,L,p]);E((function(){M.current=p,I.current=z,q.current=!1,U.current&&(U.current=null,j())})),E((function(){if(v){var e=!1,t=null,n=function(){if(!e){var n,r,o=P.getState();try{n=_(o,M.current)}catch(e){r=e,t=e}r||(t=null),n===I.current?q.current||j():(I.current=n,U.current=n,q.current=!0,N({type:"STORE_UPDATED",payload:{error:r}}))}};C.onStateChange=n,C.trySubscribe(),n();return function(){if(e=!0,C.tryUnsubscribe(),C.onStateChange=null,t)throw t}}}),[P,C,_]);var H=Object(r.useMemo)((function(){return o.a.createElement(t,Object(h.a)({},z,{ref:c}))}),[c,t,z]);return Object(r.useMemo)((function(){return v?o.a.createElement(d.Provider,{value:R},H):H}),[d,H,R])}var g=l?o.a.memo(d):d;if(g.WrappedComponent=t,g.displayName=i,C){var P=o.a.forwardRef((function(e,t){return o.a.createElement(g,Object(h.a)({},e,{forwardedRef:t}))}));return P.displayName=i,P.WrappedComponent=t,y()(P,t)}return y()(g,t)}}var P=Object.prototype.hasOwnProperty;function _(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function F(e,t){if(_(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!P.call(t,n[o])||!_(e[n[o]],t[n[o]]))return!1;return!0}var C=n(79);function j(e){return function(t,n){var r=e(t,n);function o(){return r}return o.dependsOnOwnProps=!1,o}}function R(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function D(e,t){return function(t,n){n.displayName;var r=function(e,t){return r.dependsOnOwnProps?r.mapToProps(e,t):r.mapToProps(e)};return r.dependsOnOwnProps=!0,r.mapToProps=function(t,n){r.mapToProps=e,r.dependsOnOwnProps=R(e);var o=r(t,n);return"function"==typeof o&&(r.mapToProps=o,r.dependsOnOwnProps=R(o),o=r(t,n)),o},r}}var A=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?j((function(t){return Object(C.bindActionCreators)(e,t)})):void 0}];var L=[function(e){return"function"==typeof e?D(e):void 0},function(e){return e?void 0:j((function(){return{}}))}];function N(e,t,n){return Object(h.a)({},n,{},e,{},t)}var I=[function(e){return"function"==typeof e?function(e){return function(t,n){n.displayName;var r,o=n.pure,i=n.areMergedPropsEqual,a=!1;return function(t,n,u){var l=e(t,n,u);return a?o&&i(l,r)||(r=l):(a=!0,r=l),r}}}(e):void 0},function(e){return e?void 0:function(){return N}}];function M(e,t,n,r){return function(o,i){return n(e(o,i),t(r,i),i)}}function U(e,t,n,r,o){var i,a,u,l,c,s=o.areStatesEqual,f=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function h(o,d){var h,m,v=!f(d,a),y=!s(o,i);return i=o,a=d,v&&y?(u=e(i,a),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):v?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(l=t(r,a)),c=n(u,l,a)):y?(h=e(i,a),m=!p(h,u),u=h,m&&(c=n(u,l,a)),c):c}return function(o,s){return d?h(o,s):(u=e(i=o,a=s),l=t(r,a),c=n(u,l,a),d=!0,c)}}function q(e,t){var n=t.initMapStateToProps,r=t.initMapDispatchToProps,o=t.initMergeProps,i=Object(m.a)(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=n(e,i),u=r(e,i),l=o(e,i);return(i.pure?U:M)(a,u,l,e,i)}function z(e,t,n){for(var r=t.length-1;r>=0;r--){var o=t[r](e);if(o)return o}return function(t,r){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+r.wrappedComponentName+".")}}function H(e,t){return e===t}var G,B,$,V,W,K,Q,X,Y,J,Z,ee,te=($=(B=void 0===G?{}:G).connectHOC,V=void 0===$?k:$,W=B.mapStateToPropsFactories,K=void 0===W?L:W,Q=B.mapDispatchToPropsFactories,X=void 0===Q?A:Q,Y=B.mergePropsFactories,J=void 0===Y?I:Y,Z=B.selectorFactory,ee=void 0===Z?q:Z,function(e,t,n,r){void 0===r&&(r={});var o=r,i=o.pure,a=void 0===i||i,u=o.areStatesEqual,l=void 0===u?H:u,c=o.areOwnPropsEqual,s=void 0===c?F:c,f=o.areStatePropsEqual,p=void 0===f?F:f,d=o.areMergedPropsEqual,v=void 0===d?F:d,y=Object(m.a)(o,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),g=z(e,K,"mapStateToProps"),b=z(t,X,"mapDispatchToProps"),w=z(n,J,"mergeProps");return V(ee,Object(h.a)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:g,initMapDispatchToProps:b,initMergeProps:w,pure:a,areStatesEqual:l,areOwnPropsEqual:s,areStatePropsEqual:p,areMergedPropsEqual:v},y))});function ne(){var e=Object(r.useContext)(u);return b()(e,"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"),e}function re(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)};return function(){return t().store}}var oe=re();!function(e){void 0===e&&(e=u);var t=e===u?oe:re(e)}();var ie=function(e,t){return e===t};!function(e){void 0===e&&(e=u);var t=e===u?ne:function(){return Object(r.useContext)(e)}}();var ae,ue=n(30);n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return te})),ae=ue.unstable_batchedUpdates,l=ae},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var o=n(0),i=n.n(o),a=(n(1),n(46)),u=n(149),l=n(37);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=n(151),f=n.n(s);n(137);function p(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var d=n(122),h=n.n(d);n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return y})),n.d(t,"c",(function(){return P})),n.d(t,"d",(function(){return v})),n.d(t,"e",(function(){return w})),n.d(t,"f",(function(){return _}));var m=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router-History"),v=function(e){var t=Object(u.a)();return t.displayName=e,t}("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}r(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return i.a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},i.a.createElement(m.Provider,{children:this.props.children||null,value:this.props.history}))},t}(i.a.Component);i.a.Component;i.a.Component;var g={},b=0;function w(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,u=void 0!==a&&a,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=g[n]||(g[n]={});if(r[e])return r[e];var o=[],i={regexp:f()(e,o,t),keys:o};return b<1e4&&(r[e]=i,b++),i}(n,{end:i,strict:u,sensitive:c}),o=r.regexp,a=r.keys,l=o.exec(e);if(!l)return null;var s=l[0],p=l.slice(1),d=e===s;return i&&!d?null:{path:n,url:"/"===n&&""===s?"/":s,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n=e.props.location||t.location,r=c({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?w(n.pathname,e.props):t.match}),o=e.props,a=o.children,u=o.component,s=o.render;return Array.isArray(a)&&0===a.length&&(a=null),i.a.createElement(v.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:u?i.a.createElement(u,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(i.a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function S(e,t){if(!e)return t;var n=x(e);return 0!==t.pathname.indexOf(n)?t:c({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:Object(a.e)(e)}function O(e){return function(){Object(l.a)(!1)}}function k(){}i.a.Component;var P=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this;return i.a.createElement(v.Consumer,null,(function(t){t||Object(l.a)(!1);var n,r,o=e.props.location||t.location;return i.a.Children.forEach(e.props.children,(function(e){if(null==r&&i.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?w(o.pathname,c({},e.props,{path:a})):t.match}})),r?i.a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(i.a.Component);function _(e){var t="withRouter("+(e.displayName||e.name)+")",n=function(t){var n=t.wrappedComponentRef,r=p(t,["wrappedComponentRef"]);return i.a.createElement(v.Consumer,null,(function(t){return t||Object(l.a)(!1),i.a.createElement(e,c({},r,t,{ref:n}))}))};return n.displayName=t,n.WrappedComponent=e,h()(n,e)}i.a.useContext},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"d",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"g",(function(){return u})),n.d(t,"i",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"f",(function(){return s})),n.d(t,"j",(function(){return f})),n.d(t,"e",(function(){return p})),n.d(t,"k",(function(){return d})),n.d(t,"n",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"m",(function(){return v})),n.d(t,"r",(function(){return y})),n.d(t,"t",(function(){return g})),n.d(t,"s",(function(){return b})),n.d(t,"q",(function(){return w})),n.d(t,"p",(function(){return E})),n.d(t,"o",(function(){return x}));var r="ADD_TO_CONSOLE",o="ADD_TO_RETRY_LIST",i="CLEAR_CONSOLE",a="CLEAR_BUTTON_CLICKED_AND_RETRY_LIST",u="GET_FILES_FROM_GITHUB",l="GET_FILES_FROM_GITHUB_SUCCESS",c="GET_FILES_FROM_GITHUB_FAILED",s="DOWNLOAD_FONTS_API_CALL",f="REQUEST_SENT_COUNTER",p="CLEAR_REQUEST_REMAINING_DATA",d=function(e,t,n){return{type:r,key:e,status:t,message:n}},h=function(){return{type:i}},m=function(e){return{type:o,name:e}},v=function(){return{type:a}},y=function(){return{type:u}},g=function(e){return{type:l,payload:e}},b=function(e){return{type:c,payload:e}},w=function(e){return{type:s,payload:e}},E=function(){return{type:f}},x=function(){return{type:p}}},function(e,t,n){var r=n(113),o=n(26),i=n(176);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(7),o=n(48).find,i=n(86),a=n(33),u=!0,l=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!l},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(e,t,n){var r=n(59),o=n(22);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(22);e.exports=function(e){return Object(r(e))}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(117).charAt,o=n(47),i=n(132),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(4),o=n(14),i=n(9),a=n(50),u=n(65),l=n(47),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!p&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},function(e,t,n){var r=n(104),o=n(4),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=n(26),o=n(8),i=n(5),a=n(97),u=RegExp.prototype,l=u.toString,c=i((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),s="toString"!=l.name;(c||s)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(187)},function(e,t,n){"use strict";var r=n(7),o=n(4),i=n(27),a=n(49),u=n(10),l=n(64),c=n(101),s=n(5),f=n(9),p=n(74),d=n(11),h=n(8),m=n(23),v=n(20),y=n(51),g=n(34),b=n(68),w=n(67),E=n(72),x=n(197),S=n(88),T=n(45),O=n(12),k=n(77),P=n(14),_=n(26),F=n(61),C=n(52),j=n(44),R=n(63),D=n(6),A=n(159),L=n(160),N=n(89),I=n(47),M=n(48).forEach,U=C("hidden"),q=D("toPrimitive"),z=I.set,H=I.getterFor("Symbol"),G=Object.prototype,B=o.Symbol,$=i("JSON","stringify"),V=T.f,W=O.f,K=x.f,Q=k.f,X=F("symbols"),Y=F("op-symbols"),J=F("string-to-symbol-registry"),Z=F("symbol-to-string-registry"),ee=F("wks"),te=o.QObject,ne=!te||!te.prototype||!te.prototype.findChild,re=u&&s((function(){return 7!=b(W({},"a",{get:function(){return W(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=V(G,t);r&&delete G[t],W(e,t,n),r&&e!==G&&W(G,t,r)}:W,oe=function(e,t){var n=X[e]=b(B.prototype);return z(n,{type:"Symbol",tag:e,description:t}),u||(n.description=t),n},ie=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof B},ae=function(e,t,n){e===G&&ae(Y,t,n),h(e);var r=y(t,!0);return h(n),f(X,r)?(n.enumerable?(f(e,U)&&e[U][r]&&(e[U][r]=!1),n=b(n,{enumerable:g(0,!1)})):(f(e,U)||W(e,U,g(1,{})),e[U][r]=!0),re(e,r,n)):W(e,r,n)},ue=function(e,t){h(e);var n=v(t),r=w(n).concat(fe(n));return M(r,(function(t){u&&!le.call(n,t)||ae(e,t,n[t])})),e},le=function(e){var t=y(e,!0),n=Q.call(this,t);return!(this===G&&f(X,t)&&!f(Y,t))&&(!(n||!f(this,t)||!f(X,t)||f(this,U)&&this[U][t])||n)},ce=function(e,t){var n=v(e),r=y(t,!0);if(n!==G||!f(X,r)||f(Y,r)){var o=V(n,r);return!o||!f(X,r)||f(n,U)&&n[U][r]||(o.enumerable=!0),o}},se=function(e){var t=K(v(e)),n=[];return M(t,(function(e){f(X,e)||f(j,e)||n.push(e)})),n},fe=function(e){var t=e===G,n=K(t?Y:v(e)),r=[];return M(n,(function(e){!f(X,e)||t&&!f(G,e)||r.push(X[e])})),r};(l||(_((B=function(){if(this instanceof B)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===G&&n.call(Y,e),f(this,U)&&f(this[U],t)&&(this[U][t]=!1),re(this,t,g(1,e))};return u&&ne&&re(G,t,{configurable:!0,set:n}),oe(t,e)}).prototype,"toString",(function(){return H(this).tag})),_(B,"withoutSetter",(function(e){return oe(R(e),e)})),k.f=le,O.f=ae,T.f=ce,E.f=x.f=se,S.f=fe,A.f=function(e){return oe(D(e),e)},u&&(W(B.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),a||_(G,"propertyIsEnumerable",le,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:B}),M(w(ee),(function(e){L(e)})),r({target:"Symbol",stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(J,t))return J[t];var n=B(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ie(e))throw TypeError(e+" is not a symbol");if(f(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ue(b(e),t)},defineProperty:ae,defineProperties:ue,getOwnPropertyDescriptor:ce}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:fe}),r({target:"Object",stat:!0,forced:s((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),$)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=B();return"[null]"!=$([e])||"{}"!=$({a:e})||"{}"!=$(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(d(t)||void 0!==e)&&!ie(e))return p(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,$.apply(null,o)}});B.prototype[q]||P(B.prototype,q,B.prototype.valueOf),N(B,"Symbol"),j[U]=!0},function(e,t,n){"use strict";var r=n(20),o=n(86),i=n(56),a=n(47),u=n(132),l=a.set,c=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=c(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){var r=n(10),o=n(5),i=n(9),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r;!function(){"use strict";var o={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function i(e){return u(c(e),arguments)}function a(e,t){return i.apply(null,[e].concat(t||[]))}function u(e,t){var n,r,a,u,l,c,s,f,p,d=1,h=e.length,m="";for(r=0;r<h;r++)if("string"==typeof e[r])m+=e[r];else if("object"==typeof e[r]){if((u=e[r]).keys)for(n=t[d],a=0;a<u.keys.length;a++){if(null==n)throw new Error(i('[sprintf] Cannot access property "%s" of undefined value "%s"',u.keys[a],u.keys[a-1]));n=n[u.keys[a]]}else n=u.param_no?t[u.param_no]:t[d++];if(o.not_type.test(u.type)&&o.not_primitive.test(u.type)&&n instanceof Function&&(n=n()),o.numeric_arg.test(u.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(i("[sprintf] expecting number but found %T",n));switch(o.number.test(u.type)&&(f=n>=0),u.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,u.width?parseInt(u.width):0);break;case"e":n=u.precision?parseFloat(n).toExponential(u.precision):parseFloat(n).toExponential();break;case"f":n=u.precision?parseFloat(n).toFixed(u.precision):parseFloat(n);break;case"g":n=u.precision?String(Number(n.toPrecision(u.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=u.precision?n.substring(0,u.precision):n;break;case"t":n=String(!!n),n=u.precision?n.substring(0,u.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=u.precision?n.substring(0,u.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=u.precision?n.substring(0,u.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}o.json.test(u.type)?m+=n:(!o.number.test(u.type)||f&&!u.sign?p="":(p=f?"+":"-",n=n.toString().replace(o.sign,"")),c=u.pad_char?"0"===u.pad_char?"0":u.pad_char.charAt(1):" ",s=u.width-(p+n).length,l=u.width&&s>0?c.repeat(s):"",m+=u.align?p+n+l:"0"===c?p+l+n:l+p+n)}return m}var l=Object.create(null);function c(e){if(l[e])return l[e];for(var t,n=e,r=[],i=0;n;){if(null!==(t=o.text.exec(n)))r.push(t[0]);else if(null!==(t=o.modulo.exec(n)))r.push("%");else{if(null===(t=o.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var a=[],u=t[2],c=[];if(null===(c=o.key.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(a.push(c[1]);""!==(u=u.substring(c[0].length));)if(null!==(c=o.key_access.exec(u)))a.push(c[1]);else{if(null===(c=o.index_access.exec(u)))throw new SyntaxError("[sprintf] failed to parse named argument key");a.push(c[1])}t[2]=a}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}n=n.substring(t[0].length)}return l[e]=r}t.sprintf=i,t.vsprintf=a,"undefined"!=typeof window&&(window.sprintf=i,window.vsprintf=a,void 0===(r=function(){return{sprintf:i,vsprintf:a}}.call(t,n,t,e))||(e.exports=r))}()},function(e,t,n){"use strict";t.a=function(e,t){if(!e)throw new Error("Invariant failed")}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(4),a=n(9),u=n(11),l=n(12).f,c=n(102),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(p,s);var d=p.prototype=s.prototype;d.constructor=p;var h=d.toString,m="Symbol(test)"==String(s("test")),v=/^Symbol\((.*)\)[^)]+$/;l(d,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=m?t.slice(7,-1):t.replace(v,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){n(160)("iterator")},function(e,t,n){var r=n(4),o=n(162),i=n(32),a=n(14),u=n(6),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var p=r[f],d=p&&p.prototype;if(d){if(d[l]!==s)try{a(d,l,s)}catch(e){d[l]=s}if(d[c]||a(d,c,f),o[f])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(e){d[h]=i[h]}}}},function(e,t,n){"use strict";var r=n(7),o=n(73);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(7),o=n(48).map,i=n(90),a=n(33),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(10),o=n(77),i=n(34),a=n(20),u=n(51),l=n(9),c=n(76),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e){return"/"===e.charAt(0)}function i(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}var a=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],a=t&&t.split("/")||[],u=e&&o(e),l=t&&o(t),c=u||l;if(e&&o(e)?a=r:r.length&&(a.pop(),a=a.concat(r)),!a.length)return"/";if(a.length){var s=a[a.length-1];n="."===s||".."===s||""===s}else n=!1;for(var f=0,p=a.length;p>=0;p--){var d=a[p];"."===d?i(a,p):".."===d?(i(a,p),f++):f&&(i(a,p),f--)}if(!c)for(;f--;f)a.unshift("..");!c||""===a[0]||a[0]&&o(a[0])||a.unshift("");var h=a.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=u(t),o=u(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(37);function s(e){return"/"===e.charAt(0)?e:"/"+e}function f(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function m(e,t,n,o){var i;"string"==typeof e?(i=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(i=r({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),o?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=a(i.pathname,o.pathname)):i.pathname=o.pathname:i.pathname||(i.pathname="/"),i}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}n.d(t,"a",(function(){return E})),n.d(t,"b",(function(){return k})),n.d(t,"d",(function(){return _})),n.d(t,"c",(function(){return m})),n.d(t,"f",(function(){return v})),n.d(t,"e",(function(){return h}));var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}function w(){try{return window.history.state||{}}catch(e){return{}}}function E(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),a=e,u=a.forceRefresh,l=void 0!==u&&u,f=a.getUserConfirmation,v=void 0===f?b:f,E=a.keyLength,x=void 0===E?6:E,S=e.basename?d(s(e.basename)):"";function T(e){var t=e||{},n=t.key,r=t.state,o=window.location,i=o.pathname+o.search+o.hash;return S&&(i=p(i,S)),m(i,r,n)}function O(){return Math.random().toString(36).substr(2,x)}var k=y();function P(e){r(U,e),U.length=n.length,k.notifyListeners(U.location,U.action)}function _(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||j(T(e.state))}function F(){j(T(w()))}var C=!1;function j(e){if(C)C=!1,P();else{k.confirmTransitionTo(e,"POP",v,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(C=!0,L(o))}(e)}))}}var R=T(w()),D=[R.key];function A(e){return S+h(e)}function L(e){n.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?(window.addEventListener("popstate",_),i&&window.addEventListener("hashchange",F)):0===N&&(window.removeEventListener("popstate",_),i&&window.removeEventListener("hashchange",F))}var M=!1;var U={length:n.length,action:"POP",location:R,createHref:A,push:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"PUSH",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.pushState({key:i,state:a},null,t),l)window.location.href=t;else{var u=D.indexOf(U.location.key),c=D.slice(0,u+1);c.push(r.key),D=c,P({action:"PUSH",location:r})}else window.location.href=t}}))},replace:function(e,t){var r=m(e,t,O(),U.location);k.confirmTransitionTo(r,"REPLACE",v,(function(e){if(e){var t=A(r),i=r.key,a=r.state;if(o)if(n.replaceState({key:i,state:a},null,t),l)window.location.replace(t);else{var u=D.indexOf(U.location.key);-1!==u&&(D[u]=r.key),P({action:"REPLACE",location:r})}else window.location.replace(t)}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}var x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+f(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:f,decodePath:s},slash:{encodePath:s,decodePath:s}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function T(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function O(e){window.location.replace(S(window.location.href)+"#"+e)}function k(e){void 0===e&&(e={}),g||Object(c.a)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,i=void 0===o?b:o,a=n.hashType,u=void 0===a?"slash":a,l=e.basename?d(s(e.basename)):"",f=x[u],v=f.encodePath,w=f.decodePath;function E(){var e=w(T());return l&&(e=p(e,l)),m(e)}var k=y();function P(e){r(U,e),U.length=t.length,k.notifyListeners(U.location,U.action)}var _=!1,F=null;function C(){var e,t,n=T(),r=v(n);if(n!==r)O(r);else{var o=E(),a=U.location;if(!_&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(F===h(o))return;F=null,function(e){if(_)_=!1,P();else{k.confirmTransitionTo(e,"POP",i,(function(t){t?P({action:"POP",location:e}):function(e){var t=U.location,n=A.lastIndexOf(h(t));-1===n&&(n=0);var r=A.lastIndexOf(h(e));-1===r&&(r=0);var o=n-r;o&&(_=!0,L(o))}(e)}))}}(o)}}var j=T(),R=v(j);j!==R&&O(R);var D=E(),A=[h(D)];function L(e){t.go(e)}var N=0;function I(e){1===(N+=e)&&1===e?window.addEventListener("hashchange",C):0===N&&window.removeEventListener("hashchange",C)}var M=!1;var U={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(l+h(e))},push:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"PUSH",i,(function(e){if(e){var t=h(n),r=v(l+t);if(T()!==r){F=t,function(e){window.location.hash=e}(r);var o=A.lastIndexOf(h(U.location)),i=A.slice(0,o+1);i.push(t),A=i,P({action:"PUSH",location:n})}else P()}}))},replace:function(e,t){var n=m(e,void 0,void 0,U.location);k.confirmTransitionTo(n,"REPLACE",i,(function(e){if(e){var t=h(n),r=v(l+t);T()!==r&&(F=t,O(r));var o=A.indexOf(h(U.location));-1!==o&&(A[o]=t),P({action:"REPLACE",location:n})}}))},go:L,goBack:function(){L(-1)},goForward:function(){L(1)},block:function(e){void 0===e&&(e=!1);var t=k.setPrompt(e);return M||(I(1),M=!0),function(){return M&&(M=!1,I(-1)),t()}},listen:function(e){var t=k.appendListener(e);return I(1),function(){I(-1),t()}}};return U}function P(e,t,n){return Math.min(Math.max(e,t),n)}function _(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,i=void 0===o?["/"]:o,a=t.initialIndex,u=void 0===a?0:a,l=t.keyLength,c=void 0===l?6:l,s=y();function f(e){r(w,e),w.length=w.entries.length,s.notifyListeners(w.location,w.action)}function p(){return Math.random().toString(36).substr(2,c)}var d=P(u,0,i.length-1),v=i.map((function(e){return m(e,void 0,"string"==typeof e?p():e.key||p())})),g=h;function b(e){var t=P(w.index+e,0,w.entries.length-1),r=w.entries[t];s.confirmTransitionTo(r,"POP",n,(function(e){e?f({action:"POP",location:r,index:t}):f()}))}var w={length:v.length,action:"POP",location:v[d],index:d,entries:v,createHref:g,push:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"PUSH",n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=m(e,t,p(),w.location);s.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:b,goBack:function(){b(-1)},goForward:function(){b(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),s.setPrompt(e)},listen:function(e){return s.appendListener(e)}};return w}},function(e,t,n){var r,o,i,a=n(114),u=n(4),l=n(11),c=n(14),s=n(9),f=n(52),p=n(44),d=u.WeakMap;if(a){var h=new d,m=h.get,v=h.has,y=h.set;r=function(e,t){return y.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},i=function(e){return v.call(h,e)}}else{var g=f("state");p[g]=!0,r=function(e,t){return c(e,g,t),t},o=function(e){return s(e,g)?e[g]:{}},i=function(e){return s(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){var r=n(66),o=n(59),i=n(23),a=n(21),u=n(107),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,p=5==e||f;return function(d,h,m,v){for(var y,g,b=i(d),w=o(b),E=r(h,m,3),x=a(w.length),S=0,T=v||u,O=t?T(d,x):n?T(d,0):void 0;x>S;S++)if((p||S in w)&&(g=E(y=w[S],S,b),e))if(t)O[S]=g;else if(g)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:l.call(O,y)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t){e.exports=!1},function(e,t,n){var r=n(4),o=n(14);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(11);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(61),o=n(63),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));n(120);
2
  /**
3
  * @package Gravity PDF
4
  * @copyright Copyright (c) 2021, Blue Liquid Designs
dist/assets/js/gfpdf-entries.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.1/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
1
+ !function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/home/runner/work/gravity-pdf/gravity-pdf/tmp/package/6.1.0/dist/",r(r.s=209)}([,,,,function(t,n,r){(function(n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")()}).call(this,r(84))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,r){var e=r(4),o=r(61),i=r(9),u=r(63),c=r(64),f=r(101),a=o("wks"),s=e.Symbol,p=f?s:s&&s.withoutSetter||u;t.exports=function(t){return i(a,t)||(c&&i(s,t)?a[t]=s[t]:a[t]=p("Symbol."+t)),a[t]}},function(t,n,r){var e=r(4),o=r(45).f,i=r(14),u=r(26),c=r(50),f=r(102),a=r(85);t.exports=function(t,n){var r,s,p,l,v,y=t.target,d=t.global,h=t.stat;if(r=d?e:h?e[y]||c(y,{}):(e[y]||{}).prototype)for(s in n){if(l=n[s],p=t.noTargetGet?(v=o(r,s))&&v.value:r[s],!a(d?s:y+(h?".":"#")+s,t.forced)&&void 0!==p){if(typeof l==typeof p)continue;f(l,p)}(t.sham||p&&p.sham)&&i(l,"sham",!0),u(r,s,l,t)}}},function(t,n,r){var e=r(11);t.exports=function(t){if(!e(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},function(t,n,r){var e=r(5);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n,r){var e=r(10),o=r(76),i=r(8),u=r(51),c=Object.defineProperty;n.f=e?c:function(t,n,r){if(i(t),n=u(n,!0),i(r),o)try{return c(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},,function(t,n,r){var e=r(10),o=r(12),i=r(34);t.exports=e?function(t,n,r){return o.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},,,,,function(t,n,r){"use strict";var e=r(7),o=r(48).find,i=r(86),u=r(33),c=!0,f=u("find");"find"in[]&&Array(1).find((function(){c=!1})),e({target:"Array",proto:!0,forced:c||!f},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,r){var e=r(59),o=r(22);t.exports=function(t){return e(o(t))}},function(t,n,r){var e=r(35),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,r){var e=r(22);t.exports=function(t){return Object(e(t))}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},,function(t,n,r){var e=r(4),o=r(14),i=r(9),u=r(50),c=r(65),f=r(47),a=f.get,s=f.enforce,p=String(String).split("String");(t.exports=function(t,n,r,c){var f=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof n||i(r,"name")||o(r,"name",n),s(r).source=p.join("string"==typeof n?n:"")),t!==e?(f?!l&&t[n]&&(a=!0):delete t[n],a?t[n]=r:o(t,n,r)):a?t[n]=r:u(n,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&a(this).source||c(this)}))},function(t,n,r){var e=r(104),o=r(4),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][n]||o[t]&&o[t][n]}},,,,,,function(t,n,r){var e=r(10),o=r(5),i=r(9),u=Object.defineProperty,c={},f=function(t){throw t};t.exports=function(t,n){if(i(c,t))return c[t];n||(n={});var r=[][t],a=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:f,p=i(n,1)?n[1]:void 0;return c[t]=!!r&&!o((function(){if(a&&!e)return!0;var t={length:-1};a?u(t,1,{enumerable:!0,get:f}):t[1]=1,r.call(t,s,p)}))}},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},,,,,,,,function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n){t.exports={}},function(t,n,r){var e=r(10),o=r(77),i=r(34),u=r(20),c=r(51),f=r(9),a=r(76),s=Object.getOwnPropertyDescriptor;n.f=e?s:function(t,n){if(t=u(t),n=c(n,!0),a)try{return s(t,n)}catch(t){}if(f(t,n))return i(!o.f.call(t,n),t[n])}},,function(t,n,r){var e,o,i,u=r(114),c=r(4),f=r(11),a=r(14),s=r(9),p=r(52),l=r(44),v=c.WeakMap;if(u){var y=new v,d=y.get,h=y.has,x=y.set;e=function(t,n){return x.call(y,t,n),n},o=function(t){return d.call(y,t)||{}},i=function(t){return h.call(y,t)}}else{var b=p("state");l[b]=!0,e=function(t,n){return a(t,b,n),n},o=function(t){return s(t,b)?t[b]:{}},i=function(t){return s(t,b)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(n){var r;if(!f(n)||(r=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,n,r){var e=r(66),o=r(59),i=r(23),u=r(21),c=r(107),f=[].push,a=function(t){var n=1==t,r=2==t,a=3==t,s=4==t,p=6==t,l=5==t||p;return function(v,y,d,h){for(var x,b,g=i(v),m=o(g),O=e(y,d,3),S=u(m.length),w=0,j=h||c,P=n?j(v,S):r?j(v,0):void 0;S>w;w++)if((l||w in m)&&(b=O(x=m[w],w,g),t))if(n)P[w]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return w;case 2:f.call(P,x)}else if(s)return!1;return p?-1:a||s?s:P}};t.exports={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6)}},function(t,n){t.exports=!1},function(t,n,r){var e=r(4),o=r(14);t.exports=function(t,n){try{o(e,t,n)}catch(r){e[t]=n}return n}},function(t,n,r){var e=r(11);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(61),o=r(63),i=e("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},,,,,,function(t,n,r){var e=r(5),o=r(24),i="".split;t.exports=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},,function(t,n,r){var e=r(49),o=r(75);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:e?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n,r){var e=r(4),o=r(11),i=e.document,u=o(i)&&o(i.createElement);t.exports=function(t){return u?i.createElement(t):{}}},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(5);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,n,r){var e=r(75),o=Function.toString;"function"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,n,r){var e=r(43);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}},function(t,n,r){var e=r(78),o=r(53);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e,o=r(8),i=r(118),u=r(53),c=r(44),f=r(106),a=r(62),s=r(52),p=s("IE_PROTO"),l=function(){},v=function(t){return"<script>"+t+"<\/script>"},y=function(){try{e=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;y=e?function(t){t.write(v("")),t.close();var n=t.parentWindow.Object;return t=null,n}(e):((n=a("iframe")).style.display="none",f.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=u.length;r--;)delete y.prototype[u[r]];return y()};c[p]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(l.prototype=o(t),r=new l,l.prototype=null,r[p]=t):r=y(),void 0===n?r:i(r,n)}},,,,function(t,n,r){var e=r(78),o=r(53).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},,function(t,n,r){var e=r(24);t.exports=Array.isArray||function(t){return"Array"==e(t)}},function(t,n,r){var e=r(4),o=r(50),i=e["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,r){var e=r(10),o=r(5),i=r(62);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var e=r(9),o=r(20),i=r(96).indexOf,u=r(44);t.exports=function(t,n){var r,c=o(t),f=0,a=[];for(r in c)!e(u,r)&&e(c,r)&&a.push(r);for(;n.length>f;)e(c,r=n[f++])&&(~i(a,r)||a.push(r));return a}},,,,,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var e=r(5),o=/#|\.prototype\./,i=function(t,n){var r=c[u(t)];return r==a||r!=f&&("function"==typeof n?e(n):!!n)},u=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},f=i.NATIVE="N",a=i.POLYFILL="P";t.exports=i},function(t,n,r){var e=r(6),o=r(68),i=r(12),u=e("unscopables"),c=Array.prototype;null==c[u]&&i.f(c,u,{configurable:!0,value:o(null)}),t.exports=function(t){c[u][t]=!0}},,function(t,n){n.f=Object.getOwnPropertySymbols},,,,,,,,function(t,n,r){var e=r(20),o=r(21),i=r(105),u=function(t){return function(n,r,u){var c,f=e(n),a=o(f.length),s=i(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}};t.exports={includes:u(!0),indexOf:u(!1)}},,,,,function(t,n,r){var e=r(64);t.exports=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,r){var e=r(9),o=r(103),i=r(45),u=r(12);t.exports=function(t,n){for(var r=o(n),c=u.f,f=i.f,a=0;a<r.length;a++){var s=r[a];e(t,s)||c(t,s,f(n,s))}}},function(t,n,r){var e=r(27),o=r(72),i=r(88),u=r(8);t.exports=e("Reflect","ownKeys")||function(t){var n=o.f(u(t)),r=i.f;return r?n.concat(r(t)):n}},function(t,n,r){var e=r(4);t.exports=e},function(t,n,r){var e=r(35),o=Math.max,i=Math.min;t.exports=function(t,n){var r=e(t);return r<0?o(r+n,0):i(r,n)}},function(t,n,r){var e=r(27);t.exports=e("document","documentElement")},function(t,n,r){var e=r(11),o=r(74),i=r(6)("species");t.exports=function(t,n){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?e(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)}},,,,,,,function(t,n,r){var e=r(4),o=r(65),i=e.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},,,,function(t,n,r){var e=r(10),o=r(12),i=r(8),u=r(67);t.exports=e?Object.defineProperties:function(t,n){i(t);for(var r,e=u(n),c=e.length,f=0;c>f;)o.f(t,r=e[f++],n[r]);return t}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,r){"use strict";r.r(n);var e;r(19);(e=jQuery)((function(){var t=null;e(".gfpdf_form_action_has_submenu > a").on("click",(function(){return"false"===e(this).attr("aria-expanded")?(e(this).parent().addClass("open"),e(this).attr("aria-expanded","true")):(e(this).parent().removeClass("open"),e(this).attr("aria-expanded","false")),!1})).parent().on("mouseover",(function(){clearTimeout(t),e(this).addClass("open").find("> a").attr("aria-expanded","true")})).on("mouseout",(function(){var n=e(this);t=setTimeout((function(){n.removeClass("open").find("> a").attr("aria-expanded","false")}),1e3)}))}))}]);
pdf.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /*
3
  Plugin Name: Gravity PDF
4
- Version: 6.1.1
5
  Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
6
  Author: Gravity PDF
7
  Author URI: https://gravitypdf.com
@@ -26,7 +26,7 @@ if ( ! defined( 'ABSPATH' ) ) {
26
  /*
27
  * Set base constants we'll use throughout the plugin
28
  */
29
- define( 'PDF_EXTENDED_VERSION', '6.1.1' ); /* the current plugin version */
30
  define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
31
  define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
32
  define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
1
  <?php
2
  /*
3
  Plugin Name: Gravity PDF
4
+ Version: 6.1.0
5
  Description: Automatically generate highly-customisable PDF documents using Gravity Forms.
6
  Author: Gravity PDF
7
  Author URI: https://gravitypdf.com
26
  /*
27
  * Set base constants we'll use throughout the plugin
28
  */
29
+ define( 'PDF_EXTENDED_VERSION', '6.1.0' ); /* the current plugin version */
30
  define( 'PDF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /* plugin directory path */
31
  define( 'PDF_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); /* plugin directory url */
32
  define( 'PDF_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); /* the plugin basename */
src/Helper/Fields/Field_Number.php CHANGED
@@ -78,7 +78,7 @@ class Field_Number extends Helper_Abstract_Fields {
78
  return $this->cache();
79
  }
80
 
81
- $value = esc_html( GFCommon::format_number( $this->get_value(), $this->field->numberFormat, $this->entry['currency'], apply_filters( 'gform_include_thousands_sep_pre_format_number', false, $this->field ) ) );
82
 
83
  $this->cache( $value );
84
 
78
  return $this->cache();
79
  }
80
 
81
+ $value = esc_html( GFCommon::format_number( $this->get_value(), $this->field->numberFormat, $this->entry['currency'] ) );
82
 
83
  $this->cache( $value );
84
 
src/Helper/Fields/Field_Repeater.php CHANGED
@@ -102,10 +102,7 @@ class Field_Repeater extends Helper_Abstract_Fields {
102
 
103
  $class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
104
  $form_data = $class->form_data();
105
-
106
- if ( isset( $form_data['field'] ) ) {
107
- $data = array_replace_recursive( $data, [ $id => $form_data['field'] ] );
108
- }
109
  }
110
  }
111
 
102
 
103
  $class = $pdf_model->get_field_class( $sub_field, $this->form, $item, $products );
104
  $form_data = $class->form_data();
105
+ $data = array_replace_recursive( $data, [ $id => $form_data['field'] ] );
 
 
 
106
  }
107
  }
108
 
src/Helper/Helper_Misc.php CHANGED
@@ -357,8 +357,6 @@ class Helper_Misc {
357
  */
358
  public function rmdir( $dir ) {
359
 
360
- $this->log->notice( sprintf( 'Begin deleting directory recursively: %s', $dir ) );
361
-
362
  try {
363
  $files = new RecursiveIteratorIterator(
364
  new RecursiveDirectoryIterator( $dir, RecursiveDirectoryIterator::SKIP_DOTS ),
@@ -370,8 +368,6 @@ class Helper_Misc {
370
  if ( ! $function( $fileinfo->getRealPath() ) ) {
371
  throw new Exception( 'Could not run ' . $function . ' on ' . $fileinfo->getRealPath() );
372
  }
373
-
374
- $this->log->notice( sprintf( 'Successfully ran `%s` on %s', $function, $fileinfo->getRealPath() ) );
375
  }
376
  } catch ( Exception $e ) {
377
  $this->log->error(
@@ -385,14 +381,7 @@ class Helper_Misc {
385
  return new WP_Error( 'recursion_delete_problem', $e );
386
  }
387
 
388
- $results = rmdir( $dir );
389
- if ( ! $results ) {
390
- $this->log->error( sprintf( 'Could not delete the top-level directory: %s', $dir ) );
391
- }
392
-
393
- $this->log->notice( sprintf( 'End deleting directory recursively: %s', $dir ) );
394
-
395
- return $results;
396
  }
397
 
398
  /**
357
  */
358
  public function rmdir( $dir ) {
359
 
 
 
360
  try {
361
  $files = new RecursiveIteratorIterator(
362
  new RecursiveDirectoryIterator( $dir, RecursiveDirectoryIterator::SKIP_DOTS ),
368
  if ( ! $function( $fileinfo->getRealPath() ) ) {
369
  throw new Exception( 'Could not run ' . $function . ' on ' . $fileinfo->getRealPath() );
370
  }
 
 
371
  }
372
  } catch ( Exception $e ) {
373
  $this->log->error(
381
  return new WP_Error( 'recursion_delete_problem', $e );
382
  }
383
 
384
+ return rmdir( $dir );
 
 
 
 
 
 
 
385
  }
386
 
387
  /**
src/Helper/Helper_Pdf_Queue.php CHANGED
@@ -85,12 +85,6 @@ class Helper_Pdf_Queue extends GF_Background_Process {
85
  public function task( $callbacks ) {
86
  $callback = array_shift( $callbacks );
87
 
88
- /* Something went wrong so cancel queue */
89
- if ( ! isset( $callback['id'], $callback['func'] ) ) {
90
- $this->log->critical( 'PDF queue ran with invalid queue item', [ 'callbacks' => $callbacks ] );
91
- return false;
92
- }
93
-
94
  $this->log->notice(
95
  sprintf(
96
  'Begin async PDF task for %s',
@@ -98,57 +92,47 @@ class Helper_Pdf_Queue extends GF_Background_Process {
98
  )
99
  );
100
 
101
- /* Something went wrong so cancel queue */
102
- if ( ! is_callable( $callback['func'] ) ) {
103
- $this->log->critical(
104
- 'PDF queue ran with invalid callback',
105
- [
106
- 'callback' => $callback,
107
- 'callbacks' => $callbacks,
108
- ]
109
- );
110
- return false;
111
- }
112
 
113
- try {
114
- /* Call our use function and pass in any arguments */
115
- $args = ( isset( $callback['args'] ) && is_array( $callback['args'] ) ) ? $callback['args'] : [];
116
- call_user_func_array( $callback['func'], $args );
117
- } catch ( Exception $e ) {
118
-
119
- /* Log Error */
120
- $this->log->error(
121
- sprintf(
122
- 'Async PDF task error for %s',
123
- $callback['id']
124
- ),
125
- [
126
- 'args' => ( isset( $callback['args'] ) ) ? $callback['args'] : [],
127
- 'exception' => $e->getMessage(),
128
- ]
129
- );
130
-
131
- /* Add back to our queue to retry (up to a grand total of three times) */
132
- if ( empty( $callback['retry'] ) || $callback['retry'] < 2 ) {
133
- $callback['retry'] = isset( $callback['retry'] ) ? $callback['retry'] + 1 : 1;
134
- array_unshift( $callbacks, $callback );
135
- } else {
136
  $this->log->error(
137
  sprintf(
138
- 'Async PDF task retry limit reached for %s.',
139
  $callback['id']
140
- )
 
 
 
 
141
  );
142
 
143
- if ( $callback['unrecoverable'] ?? false ) {
144
- $this->log->critical(
145
- 'Cancel async queue due to retry limit reached on unrecoverable callback.',
146
- [
147
- 'callbacks' => $callbacks,
148
- ]
 
 
 
 
149
  );
150
 
151
- $callbacks = [];
 
 
 
 
 
 
 
 
 
152
  }
153
  }
154
  }
85
  public function task( $callbacks ) {
86
  $callback = array_shift( $callbacks );
87
 
 
 
 
 
 
 
88
  $this->log->notice(
89
  sprintf(
90
  'Begin async PDF task for %s',
92
  )
93
  );
94
 
95
+ if ( is_callable( $callback['func'] ) ) {
96
+ try {
97
+ /* Call our use function and pass in any arguments */
98
+ $args = ( isset( $callback['args'] ) && is_array( $callback['args'] ) ) ? $callback['args'] : [];
99
+ call_user_func_array( $callback['func'], $args );
100
+ } catch ( Exception $e ) {
 
 
 
 
 
101
 
102
+ /* Log Error */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  $this->log->error(
104
  sprintf(
105
+ 'Async PDF task error for %s',
106
  $callback['id']
107
+ ),
108
+ [
109
+ 'args' => ( isset( $callback['args'] ) ) ? $callback['args'] : [],
110
+ 'exception' => $e->getMessage(),
111
+ ]
112
  );
113
 
114
+ /* Add back to our queue to retry (up to a grand total of three times) */
115
+ if ( empty( $callback['retry'] ) || $callback['retry'] < 2 ) {
116
+ $callback['retry'] = isset( $callback['retry'] ) ? $callback['retry'] + 1 : 1;
117
+ array_unshift( $callbacks, $callback );
118
+ } else {
119
+ $this->log->error(
120
+ sprintf(
121
+ 'Async PDF task retry limit reached for %s.',
122
+ $callback['id']
123
+ )
124
  );
125
 
126
+ if ( $callback['unrecoverable'] ?? false ) {
127
+ $this->log->critical(
128
+ 'Cancel async queue due to retry limit reached on unrecoverable callback.',
129
+ [
130
+ 'callbacks' => $callbacks,
131
+ ]
132
+ );
133
+
134
+ $callbacks = [];
135
+ }
136
  }
137
  }
138
  }
src/Statics/Queue_Callbacks.php CHANGED
@@ -53,8 +53,6 @@ class Queue_Callbacks {
53
 
54
  throw new Exception();
55
  }
56
-
57
- $log->notice( sprintf( 'PDF successfully generated and saved to %s', $results ) );
58
  }
59
 
60
  /**
53
 
54
  throw new Exception();
55
  }
 
 
56
  }
57
 
58
  /**
src/assets/languages/gravity-forms-pdf-extended.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2022 Gravity PDF
2
  # This file is distributed under the same license as the Gravity PDF package.
3
  msgid ""
4
  msgstr ""
1
+ # Copyright (C) 2021 Gravity PDF
2
  # This file is distributed under the same license as the Gravity PDF package.
3
  msgid ""
4
  msgstr ""
vendor/autoload.php CHANGED
File without changes
vendor/composer/ClassLoader.php CHANGED
@@ -42,75 +42,30 @@ namespace Composer\Autoload;
42
  */
43
  class ClassLoader
44
  {
45
- /** @var ?string */
46
  private $vendorDir;
47
 
48
  // PSR-4
49
- /**
50
- * @var array[]
51
- * @psalm-var array<string, array<string, int>>
52
- */
53
  private $prefixLengthsPsr4 = array();
54
- /**
55
- * @var array[]
56
- * @psalm-var array<string, array<int, string>>
57
- */
58
  private $prefixDirsPsr4 = array();
59
- /**
60
- * @var array[]
61
- * @psalm-var array<string, string>
62
- */
63
  private $fallbackDirsPsr4 = array();
64
 
65
  // PSR-0
66
- /**
67
- * @var array[]
68
- * @psalm-var array<string, array<string, string[]>>
69
- */
70
  private $prefixesPsr0 = array();
71
- /**
72
- * @var array[]
73
- * @psalm-var array<string, string>
74
- */
75
  private $fallbackDirsPsr0 = array();
76
 
77
- /** @var bool */
78
  private $useIncludePath = false;
79
-
80
- /**
81
- * @var string[]
82
- * @psalm-var array<string, string>
83
- */
84
  private $classMap = array();
85
-
86
- /** @var bool */
87
  private $classMapAuthoritative = false;
88
-
89
- /**
90
- * @var bool[]
91
- * @psalm-var array<string, bool>
92
- */
93
  private $missingClasses = array();
94
-
95
- /** @var ?string */
96
  private $apcuPrefix;
97
 
98
- /**
99
- * @var self[]
100
- */
101
  private static $registeredLoaders = array();
102
 
103
- /**
104
- * @param ?string $vendorDir
105
- */
106
  public function __construct($vendorDir = null)
107
  {
108
  $this->vendorDir = $vendorDir;
109
  }
110
 
111
- /**
112
- * @return string[]
113
- */
114
  public function getPrefixes()
115
  {
116
  if (!empty($this->prefixesPsr0)) {
@@ -120,47 +75,28 @@ class ClassLoader
120
  return array();
121
  }
122
 
123
- /**
124
- * @return array[]
125
- * @psalm-return array<string, array<int, string>>
126
- */
127
  public function getPrefixesPsr4()
128
  {
129
  return $this->prefixDirsPsr4;
130
  }
131
 
132
- /**
133
- * @return array[]
134
- * @psalm-return array<string, string>
135
- */
136
  public function getFallbackDirs()
137
  {
138
  return $this->fallbackDirsPsr0;
139
  }
140
 
141
- /**
142
- * @return array[]
143
- * @psalm-return array<string, string>
144
- */
145
  public function getFallbackDirsPsr4()
146
  {
147
  return $this->fallbackDirsPsr4;
148
  }
149
 
150
- /**
151
- * @return string[] Array of classname => path
152
- * @psalm-return array<string, string>
153
- */
154
  public function getClassMap()
155
  {
156
  return $this->classMap;
157
  }
158
 
159
  /**
160
- * @param string[] $classMap Class to filename map
161
- * @psalm-param array<string, string> $classMap
162
- *
163
- * @return void
164
  */
165
  public function addClassMap(array $classMap)
166
  {
@@ -175,11 +111,9 @@ class ClassLoader
175
  * Registers a set of PSR-0 directories for a given prefix, either
176
  * appending or prepending to the ones previously set for this prefix.
177
  *
178
- * @param string $prefix The prefix
179
- * @param string[]|string $paths The PSR-0 root directories
180
- * @param bool $prepend Whether to prepend the directories
181
- *
182
- * @return void
183
  */
184
  public function add($prefix, $paths, $prepend = false)
185
  {
@@ -222,13 +156,11 @@ class ClassLoader
222
  * Registers a set of PSR-4 directories for a given namespace, either
223
  * appending or prepending to the ones previously set for this namespace.
224
  *
225
- * @param string $prefix The prefix/namespace, with trailing '\\'
226
- * @param string[]|string $paths The PSR-4 base directories
227
- * @param bool $prepend Whether to prepend the directories
228
  *
229
  * @throws \InvalidArgumentException
230
- *
231
- * @return void
232
  */
233
  public function addPsr4($prefix, $paths, $prepend = false)
234
  {
@@ -272,10 +204,8 @@ class ClassLoader
272
  * Registers a set of PSR-0 directories for a given prefix,
273
  * replacing any others previously set for this prefix.
274
  *
275
- * @param string $prefix The prefix
276
- * @param string[]|string $paths The PSR-0 base directories
277
- *
278
- * @return void
279
  */
280
  public function set($prefix, $paths)
281
  {
@@ -290,12 +220,10 @@ class ClassLoader
290
  * Registers a set of PSR-4 directories for a given namespace,
291
  * replacing any others previously set for this namespace.
292
  *
293
- * @param string $prefix The prefix/namespace, with trailing '\\'
294
- * @param string[]|string $paths The PSR-4 base directories
295
  *
296
  * @throws \InvalidArgumentException
297
- *
298
- * @return void
299
  */
300
  public function setPsr4($prefix, $paths)
301
  {
@@ -315,8 +243,6 @@ class ClassLoader
315
  * Turns on searching the include path for class files.
316
  *
317
  * @param bool $useIncludePath
318
- *
319
- * @return void
320
  */
321
  public function setUseIncludePath($useIncludePath)
322
  {
@@ -339,8 +265,6 @@ class ClassLoader
339
  * that have not been registered with the class map.
340
  *
341
  * @param bool $classMapAuthoritative
342
- *
343
- * @return void
344
  */
345
  public function setClassMapAuthoritative($classMapAuthoritative)
346
  {
@@ -361,8 +285,6 @@ class ClassLoader
361
  * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
362
  *
363
  * @param string|null $apcuPrefix
364
- *
365
- * @return void
366
  */
367
  public function setApcuPrefix($apcuPrefix)
368
  {
@@ -383,8 +305,6 @@ class ClassLoader
383
  * Registers this instance as an autoloader.
384
  *
385
  * @param bool $prepend Whether to prepend the autoloader or not
386
- *
387
- * @return void
388
  */
389
  public function register($prepend = false)
390
  {
@@ -404,8 +324,6 @@ class ClassLoader
404
 
405
  /**
406
  * Unregisters this instance as an autoloader.
407
- *
408
- * @return void
409
  */
410
  public function unregister()
411
  {
@@ -485,11 +403,6 @@ class ClassLoader
485
  return self::$registeredLoaders;
486
  }
487
 
488
- /**
489
- * @param string $class
490
- * @param string $ext
491
- * @return string|false
492
- */
493
  private function findFileWithExtension($class, $ext)
494
  {
495
  // PSR-4 lookup
@@ -561,10 +474,6 @@ class ClassLoader
561
  * Scope isolated include.
562
  *
563
  * Prevents access to $this/self from included files.
564
- *
565
- * @param string $file
566
- * @return void
567
- * @private
568
  */
569
  function includeFile($file)
570
  {
42
  */
43
  class ClassLoader
44
  {
 
45
  private $vendorDir;
46
 
47
  // PSR-4
 
 
 
 
48
  private $prefixLengthsPsr4 = array();
 
 
 
 
49
  private $prefixDirsPsr4 = array();
 
 
 
 
50
  private $fallbackDirsPsr4 = array();
51
 
52
  // PSR-0
 
 
 
 
53
  private $prefixesPsr0 = array();
 
 
 
 
54
  private $fallbackDirsPsr0 = array();
55
 
 
56
  private $useIncludePath = false;
 
 
 
 
 
57
  private $classMap = array();
 
 
58
  private $classMapAuthoritative = false;
 
 
 
 
 
59
  private $missingClasses = array();
 
 
60
  private $apcuPrefix;
61
 
 
 
 
62
  private static $registeredLoaders = array();
63
 
 
 
 
64
  public function __construct($vendorDir = null)
65
  {
66
  $this->vendorDir = $vendorDir;
67
  }
68
 
 
 
 
69
  public function getPrefixes()
70
  {
71
  if (!empty($this->prefixesPsr0)) {
75
  return array();
76
  }
77
 
 
 
 
 
78
  public function getPrefixesPsr4()
79
  {
80
  return $this->prefixDirsPsr4;
81
  }
82
 
 
 
 
 
83
  public function getFallbackDirs()
84
  {
85
  return $this->fallbackDirsPsr0;
86
  }
87
 
 
 
 
 
88
  public function getFallbackDirsPsr4()
89
  {
90
  return $this->fallbackDirsPsr4;
91
  }
92
 
 
 
 
 
93
  public function getClassMap()
94
  {
95
  return $this->classMap;
96
  }
97
 
98
  /**
99
+ * @param array $classMap Class to filename map
 
 
 
100
  */
101
  public function addClassMap(array $classMap)
102
  {
111
  * Registers a set of PSR-0 directories for a given prefix, either
112
  * appending or prepending to the ones previously set for this prefix.
113
  *
114
+ * @param string $prefix The prefix
115
+ * @param array|string $paths The PSR-0 root directories
116
+ * @param bool $prepend Whether to prepend the directories
 
 
117
  */
118
  public function add($prefix, $paths, $prepend = false)
119
  {
156
  * Registers a set of PSR-4 directories for a given namespace, either
157
  * appending or prepending to the ones previously set for this namespace.
158
  *
159
+ * @param string $prefix The prefix/namespace, with trailing '\\'
160
+ * @param array|string $paths The PSR-4 base directories
161
+ * @param bool $prepend Whether to prepend the directories
162
  *
163
  * @throws \InvalidArgumentException
 
 
164
  */
165
  public function addPsr4($prefix, $paths, $prepend = false)
166
  {
204
  * Registers a set of PSR-0 directories for a given prefix,
205
  * replacing any others previously set for this prefix.
206
  *
207
+ * @param string $prefix The prefix
208
+ * @param array|string $paths The PSR-0 base directories
 
 
209
  */
210
  public function set($prefix, $paths)
211
  {
220
  * Registers a set of PSR-4 directories for a given namespace,
221
  * replacing any others previously set for this namespace.
222
  *
223
+ * @param string $prefix The prefix/namespace, with trailing '\\'
224
+ * @param array|string $paths The PSR-4 base directories
225
  *
226
  * @throws \InvalidArgumentException
 
 
227
  */
228
  public function setPsr4($prefix, $paths)
229
  {
243
  * Turns on searching the include path for class files.
244
  *
245
  * @param bool $useIncludePath
 
 
246
  */
247
  public function setUseIncludePath($useIncludePath)
248
  {
265
  * that have not been registered with the class map.
266
  *
267
  * @param bool $classMapAuthoritative
 
 
268
  */
269
  public function setClassMapAuthoritative($classMapAuthoritative)
270
  {
285
  * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
286
  *
287
  * @param string|null $apcuPrefix
 
 
288
  */
289
  public function setApcuPrefix($apcuPrefix)
290
  {
305
  * Registers this instance as an autoloader.
306
  *
307
  * @param bool $prepend Whether to prepend the autoloader or not
 
 
308
  */
309
  public function register($prepend = false)
310
  {
324
 
325
  /**
326
  * Unregisters this instance as an autoloader.
 
 
327
  */
328
  public function unregister()
329
  {
403
  return self::$registeredLoaders;
404
  }
405
 
 
 
 
 
 
406
  private function findFileWithExtension($class, $ext)
407
  {
408
  // PSR-4 lookup
474
  * Scope isolated include.
475
  *
476
  * Prevents access to $this/self from included files.
 
 
 
 
477
  */
478
  function includeFile($file)
479
  {
vendor/composer/InstalledVersions.php CHANGED
@@ -20,25 +20,12 @@ use Composer\Semver\VersionParser;
20
  *
21
  * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
  *
23
- * To require its presence, you can require `composer-runtime-api ^2.0`
24
  */
25
  class InstalledVersions
26
  {
27
- /**
28
- * @var mixed[]|null
29
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
30
- */
31
  private static $installed;
32
-
33
- /**
34
- * @var bool|null
35
- */
36
  private static $canGetVendors;
37
-
38
- /**
39
- * @var array[]
40
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
41
- */
42
  private static $installedByVendor = array();
43
 
44
  /**
@@ -241,7 +228,7 @@ class InstalledVersions
241
 
242
  /**
243
  * @return array
244
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
245
  */
246
  public static function getRootPackage()
247
  {
@@ -255,7 +242,7 @@ class InstalledVersions
255
  *
256
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
257
  * @return array[]
258
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
259
  */
260
  public static function getRawData()
261
  {
@@ -278,7 +265,7 @@ class InstalledVersions
278
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
279
  *
280
  * @return array[]
281
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
282
  */
283
  public static function getAllRawData()
284
  {
@@ -301,7 +288,7 @@ class InstalledVersions
301
  * @param array[] $data A vendor/composer/installed.php data set
302
  * @return void
303
  *
304
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
305
  */
306
  public static function reload($data)
307
  {
@@ -311,7 +298,7 @@ class InstalledVersions
311
 
312
  /**
313
  * @return array[]
314
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
315
  */
316
  private static function getInstalled()
317
  {
20
  *
21
  * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
  *
23
+ * To require it's presence, you can require `composer-runtime-api ^2.0`
24
  */
25
  class InstalledVersions
26
  {
 
 
 
 
27
  private static $installed;
 
 
 
 
28
  private static $canGetVendors;
 
 
 
 
 
29
  private static $installedByVendor = array();
30
 
31
  /**
228
 
229
  /**
230
  * @return array
231
+ * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
232
  */
233
  public static function getRootPackage()
234
  {
242
  *
243
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
244
  * @return array[]
245
+ * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
246
  */
247
  public static function getRawData()
248
  {
265
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
266
  *
267
  * @return array[]
268
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
269
  */
270
  public static function getAllRawData()
271
  {
288
  * @param array[] $data A vendor/composer/installed.php data set
289
  * @return void
290
  *
291
+ * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
292
  */
293
  public static function reload($data)
294
  {
298
 
299
  /**
300
  * @return array[]
301
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
302
  */
303
  private static function getInstalled()
304
  {
vendor/composer/LICENSE CHANGED
File without changes
vendor/composer/autoload_classmap.php CHANGED
@@ -205,7 +205,6 @@ return array(
205
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
206
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
207
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
208
- 'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnaConversionFailed' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php',
209
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
210
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
211
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => $baseDir . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
@@ -216,8 +215,6 @@ return array(
216
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
217
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
218
  'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
219
- 'GFPDF_Vendor\\League\\Uri\\Idna\\Idna' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php',
220
- 'GFPDF_Vendor\\League\\Uri\\Idna\\IdnaInfo' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php',
221
  'GFPDF_Vendor\\League\\Uri\\QueryString' => $baseDir . '/vendor_prefixed/league/uri-components/src/QueryString.php',
222
  'GFPDF_Vendor\\League\\Uri\\Uri' => $baseDir . '/vendor_prefixed/league/uri/src/Uri.php',
223
  'GFPDF_Vendor\\League\\Uri\\UriInfo' => $baseDir . '/vendor_prefixed/league/uri/src/UriInfo.php',
@@ -434,7 +431,6 @@ return array(
434
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
435
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
436
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
437
- 'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Svg' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Svg.php',
438
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
439
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
440
  'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => $baseDir . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
205
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
206
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
207
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
 
208
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => $baseDir . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
209
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => $baseDir . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
210
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => $baseDir . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
215
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
216
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
217
  'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => $baseDir . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
 
 
218
  'GFPDF_Vendor\\League\\Uri\\QueryString' => $baseDir . '/vendor_prefixed/league/uri-components/src/QueryString.php',
219
  'GFPDF_Vendor\\League\\Uri\\Uri' => $baseDir . '/vendor_prefixed/league/uri/src/Uri.php',
220
  'GFPDF_Vendor\\League\\Uri\\UriInfo' => $baseDir . '/vendor_prefixed/league/uri/src/UriInfo.php',
431
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
432
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
433
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
 
434
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
435
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => $baseDir . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
436
  'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => $baseDir . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
vendor/composer/autoload_namespaces.php CHANGED
File without changes
vendor/composer/autoload_psr4.php CHANGED
File without changes
vendor/composer/autoload_real.php CHANGED
File without changes
vendor/composer/autoload_static.php CHANGED
@@ -233,7 +233,6 @@ class ComposerStaticInitGravityPDFPlugin
233
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
234
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
235
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
236
- 'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnaConversionFailed' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php',
237
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
238
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
239
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
@@ -244,8 +243,6 @@ class ComposerStaticInitGravityPDFPlugin
244
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
245
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
246
  'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
247
- 'GFPDF_Vendor\\League\\Uri\\Idna\\Idna' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php',
248
- 'GFPDF_Vendor\\League\\Uri\\Idna\\IdnaInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php',
249
  'GFPDF_Vendor\\League\\Uri\\QueryString' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/QueryString.php',
250
  'GFPDF_Vendor\\League\\Uri\\Uri' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Uri.php',
251
  'GFPDF_Vendor\\League\\Uri\\UriInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/UriInfo.php',
@@ -462,7 +459,6 @@ class ComposerStaticInitGravityPDFPlugin
462
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
463
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
464
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
465
- 'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Svg' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Svg.php',
466
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
467
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
468
  'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
233
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\FileinfoSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/FileinfoSupportMissing.php',
234
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IPv4CalculatorMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php',
235
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\IdnSupportMissing' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnSupportMissing.php',
 
236
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\OffsetOutOfBounds' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php',
237
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\SyntaxError' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-interfaces/src/Exceptions/SyntaxError.php',
238
  'GFPDF_Vendor\\League\\Uri\\Exceptions\\TemplateCanNotBeExpanded' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Exceptions/TemplateCanNotBeExpanded.php',
243
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\IPv4Calculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php',
244
  'GFPDF_Vendor\\League\\Uri\\IPv4Calculators\\NativeCalculator' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php',
245
  'GFPDF_Vendor\\League\\Uri\\IPv4Normalizer' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/IPv4Normalizer.php',
 
 
246
  'GFPDF_Vendor\\League\\Uri\\QueryString' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri-components/src/QueryString.php',
247
  'GFPDF_Vendor\\League\\Uri\\Uri' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/Uri.php',
248
  'GFPDF_Vendor\\League\\Uri\\UriInfo' => __DIR__ . '/../..' . '/vendor_prefixed/league/uri/src/UriInfo.php',
459
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Html' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Html.php',
460
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Mpdf' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Mpdf.php',
461
  'GFPDF_Vendor\\Mpdf\\QrCode\\Output\\Png' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/Output/Png.php',
 
462
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCode' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCode.php',
463
  'GFPDF_Vendor\\Mpdf\\QrCode\\QrCodeException' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/qrcode/src/QrCodeException.php',
464
  'GFPDF_Vendor\\Mpdf\\RemoteContentFetcher' => __DIR__ . '/../..' . '/vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php',
vendor/composer/installed.json CHANGED
@@ -56,33 +56,33 @@
56
  },
57
  {
58
  "name": "league/uri",
59
- "version": "6.5.0",
60
- "version_normalized": "6.5.0.0",
61
  "source": {
62
  "type": "git",
63
  "url": "https://github.com/thephpleague/uri.git",
64
- "reference": "c68ca445abb04817d740ddd6d0b3551826ef0c5a"
65
  },
66
  "dist": {
67
  "type": "zip",
68
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/c68ca445abb04817d740ddd6d0b3551826ef0c5a",
69
- "reference": "c68ca445abb04817d740ddd6d0b3551826ef0c5a",
70
  "shasum": ""
71
  },
72
  "require": {
73
  "ext-json": "*",
74
- "league/uri-interfaces": "^2.3",
75
- "php": "^7.3 || ^8.0",
76
  "psr/http-message": "^1.0"
77
  },
78
  "conflict": {
79
  "league/uri-schemes": "^1.0"
80
  },
81
  "require-dev": {
82
- "friendsofphp/php-cs-fixer": "^2.19 || ^3.0",
83
- "phpstan/phpstan": "^0.12.90",
84
- "phpstan/phpstan-phpunit": "^0.12.22",
85
- "phpstan/phpstan-strict-rules": "^0.12.11",
86
  "phpunit/phpunit": "^8.0 || ^9.0",
87
  "psr/http-factory": "^1.0"
88
  },
@@ -92,7 +92,7 @@
92
  "league/uri-components": "Needed to easily manipulate URI objects",
93
  "psr/http-factory": "Needed to use the URI factory"
94
  },
95
- "time": "2021-08-27T09:54:07+00:00",
96
  "type": "library",
97
  "extra": {
98
  "branch-alias": {
@@ -143,7 +143,7 @@
143
  "docs": "https://uri.thephpleague.com",
144
  "forum": "https://thephpleague.slack.com",
145
  "issues": "https://github.com/thephpleague/uri/issues",
146
- "source": "https://github.com/thephpleague/uri/tree/6.5.0"
147
  },
148
  "funding": [
149
  {
@@ -155,34 +155,34 @@
155
  },
156
  {
157
  "name": "league/uri-components",
158
- "version": "2.4.0",
159
- "version_normalized": "2.4.0.0",
160
  "source": {
161
  "type": "git",
162
  "url": "https://github.com/thephpleague/uri-components.git",
163
- "reference": "c97c83e7d915cdb0163f0322a87a07df1d0d9fe1"
164
  },
165
  "dist": {
166
  "type": "zip",
167
- "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/c97c83e7d915cdb0163f0322a87a07df1d0d9fe1",
168
- "reference": "c97c83e7d915cdb0163f0322a87a07df1d0d9fe1",
169
  "shasum": ""
170
  },
171
  "require": {
172
  "ext-json": "*",
173
- "league/uri-interfaces": "^2.3",
174
  "php": "^7.3 || ^8.0",
175
  "psr/http-message": "^1.0"
176
  },
177
  "require-dev": {
178
- "friendsofphp/php-cs-fixer": "^2.19",
179
  "guzzlehttp/psr7": "^1.4.2",
180
- "laminas/laminas-diactoros": "^2.6.0",
181
  "league/uri": "^6.0",
182
- "phpstan/phpstan": "^0.12.94",
183
- "phpstan/phpstan-phpunit": "^0.12.21",
184
- "phpstan/phpstan-strict-rules": "^0.12.10",
185
- "phpunit/phpunit": "^9.5.8"
186
  },
187
  "suggest": {
188
  "ext-fileinfo": "Needed to create Data URI from a filepath",
@@ -193,7 +193,7 @@
193
  "php-64bit": "to improve handle IPV4 parsing",
194
  "psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects"
195
  },
196
- "time": "2021-08-02T20:31:29+00:00",
197
  "type": "library",
198
  "extra": {
199
  "branch-alias": {
@@ -235,7 +235,7 @@
235
  ],
236
  "support": {
237
  "issues": "https://github.com/thephpleague/uri-components/issues",
238
- "source": "https://github.com/thephpleague/uri-components/tree/2.4.0"
239
  },
240
  "funding": [
241
  {
@@ -247,35 +247,30 @@
247
  },
248
  {
249
  "name": "league/uri-interfaces",
250
- "version": "2.3.0",
251
- "version_normalized": "2.3.0.0",
252
  "source": {
253
  "type": "git",
254
  "url": "https://github.com/thephpleague/uri-interfaces.git",
255
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"
256
  },
257
  "dist": {
258
  "type": "zip",
259
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
260
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
261
  "shasum": ""
262
  },
263
  "require": {
264
  "ext-json": "*",
265
- "php": "^7.2 || ^8.0"
266
  },
267
  "require-dev": {
268
- "friendsofphp/php-cs-fixer": "^2.19",
269
- "phpstan/phpstan": "^0.12.90",
270
- "phpstan/phpstan-phpunit": "^0.12.19",
271
- "phpstan/phpstan-strict-rules": "^0.12.9",
272
- "phpunit/phpunit": "^8.5.15 || ^9.5"
273
- },
274
- "suggest": {
275
- "ext-intl": "to use the IDNA feature",
276
- "symfony/intl": "to use the IDNA feature via Symfony Polyfill"
277
  },
278
- "time": "2021-06-28T04:27:21+00:00",
279
  "type": "library",
280
  "extra": {
281
  "branch-alias": {
@@ -309,7 +304,7 @@
309
  ],
310
  "support": {
311
  "issues": "https://github.com/thephpleague/uri-interfaces/issues",
312
- "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0"
313
  },
314
  "funding": [
315
  {
@@ -321,17 +316,17 @@
321
  },
322
  {
323
  "name": "masterminds/html5",
324
- "version": "2.7.5",
325
- "version_normalized": "2.7.5.0",
326
  "source": {
327
  "type": "git",
328
  "url": "https://github.com/Masterminds/html5-php.git",
329
- "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab"
330
  },
331
  "dist": {
332
  "type": "zip",
333
- "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f640ac1bdddff06ea333a920c95bbad8872429ab",
334
- "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab",
335
  "shasum": ""
336
  },
337
  "require": {
@@ -341,9 +336,9 @@
341
  "php": ">=5.3.0"
342
  },
343
  "require-dev": {
344
- "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
345
  },
346
- "time": "2021-07-01T14:25:37+00:00",
347
  "type": "library",
348
  "extra": {
349
  "branch-alias": {
@@ -387,31 +382,31 @@
387
  ],
388
  "support": {
389
  "issues": "https://github.com/Masterminds/html5-php/issues",
390
- "source": "https://github.com/Masterminds/html5-php/tree/2.7.5"
391
  },
392
  "install-path": "../masterminds/html5"
393
  },
394
  {
395
  "name": "monolog/monolog",
396
- "version": "2.3.5",
397
- "version_normalized": "2.3.5.0",
398
  "source": {
399
  "type": "git",
400
  "url": "https://github.com/Seldaek/monolog.git",
401
- "reference": "fd4380d6fc37626e2f799f29d91195040137eba9"
402
  },
403
  "dist": {
404
  "type": "zip",
405
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9",
406
- "reference": "fd4380d6fc37626e2f799f29d91195040137eba9",
407
  "shasum": ""
408
  },
409
  "require": {
410
  "php": ">=7.2",
411
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
412
  },
413
  "provide": {
414
- "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
415
  },
416
  "require-dev": {
417
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
@@ -419,14 +414,14 @@
419
  "elasticsearch/elasticsearch": "^7",
420
  "graylog2/gelf-php": "^1.4.2",
421
  "mongodb/mongodb": "^1.8",
422
- "php-amqplib/php-amqplib": "~2.4 || ^3",
423
  "php-console/php-console": "^3.1.3",
424
  "phpspec/prophecy": "^1.6.1",
425
- "phpstan/phpstan": "^0.12.91",
426
  "phpunit/phpunit": "^8.5",
427
  "predis/predis": "^1.1",
428
  "rollbar/rollbar": "^1.3",
429
- "ruflin/elastica": ">=0.90@dev",
430
  "swiftmailer/swiftmailer": "^5.3|^6.0"
431
  },
432
  "suggest": {
@@ -434,11 +429,8 @@
434
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
435
  "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
436
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
437
- "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
438
  "ext-mbstring": "Allow to work properly with unicode symbols",
439
  "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
440
- "ext-openssl": "Required to send log messages using SSL",
441
- "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
442
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
443
  "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
444
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
@@ -446,7 +438,7 @@
446
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
447
  "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
448
  },
449
- "time": "2021-10-01T21:08:31+00:00",
450
  "type": "library",
451
  "extra": {
452
  "branch-alias": {
@@ -479,7 +471,7 @@
479
  ],
480
  "support": {
481
  "issues": "https://github.com/Seldaek/monolog/issues",
482
- "source": "https://github.com/Seldaek/monolog/tree/2.3.5"
483
  },
484
  "funding": [
485
  {
@@ -495,17 +487,17 @@
495
  },
496
  {
497
  "name": "mpdf/mpdf",
498
- "version": "v8.0.17",
499
- "version_normalized": "8.0.17.0",
500
  "source": {
501
  "type": "git",
502
  "url": "https://github.com/mpdf/mpdf.git",
503
- "reference": "5f64118317c8145c0abc606b310aa0a66808398a"
504
  },
505
  "dist": {
506
  "type": "zip",
507
- "url": "https://api.github.com/repos/mpdf/mpdf/zipball/5f64118317c8145c0abc606b310aa0a66808398a",
508
- "reference": "5f64118317c8145c0abc606b310aa0a66808398a",
509
  "shasum": ""
510
  },
511
  "require": {
@@ -513,23 +505,23 @@
513
  "ext-mbstring": "*",
514
  "myclabs/deep-copy": "^1.7",
515
  "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
516
- "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0",
517
- "psr/log": "^1.0 || ^2.0",
518
  "setasign/fpdi": "^2.1"
519
  },
520
  "require-dev": {
521
  "mockery/mockery": "^1.3.0",
522
  "mpdf/qrcode": "^1.1.0",
 
523
  "squizlabs/php_codesniffer": "^3.5.0",
524
- "tracy/tracy": "^2.4",
525
- "yoast/phpunit-polyfills": "^1.0"
526
  },
527
  "suggest": {
528
  "ext-bcmath": "Needed for generation of some types of barcodes",
529
  "ext-xml": "Needed mainly for SVG manipulation",
530
  "ext-zlib": "Needed for compression of embedded resources, such as fonts"
531
  },
532
- "time": "2022-01-20T10:51:40+00:00",
533
  "type": "library",
534
  "installation-source": "dist",
535
  "autoload": {
@@ -573,17 +565,17 @@
573
  },
574
  {
575
  "name": "mpdf/qrcode",
576
- "version": "v1.2.0",
577
- "version_normalized": "1.2.0.0",
578
  "source": {
579
  "type": "git",
580
  "url": "https://github.com/mpdf/qrcode.git",
581
- "reference": "0c09fce8b28707611c3febdd1ca424d40f172184"
582
  },
583
  "dist": {
584
  "type": "zip",
585
- "url": "https://api.github.com/repos/mpdf/qrcode/zipball/0c09fce8b28707611c3febdd1ca424d40f172184",
586
- "reference": "0c09fce8b28707611c3febdd1ca424d40f172184",
587
  "shasum": ""
588
  },
589
  "require": {
@@ -592,15 +584,14 @@
592
  },
593
  "require-dev": {
594
  "mockery/mockery": "^0.9.5",
 
595
  "squizlabs/php_codesniffer": "^3.4",
596
- "tracy/tracy": "^2.5",
597
- "yoast/phpunit-polyfills": "^1.0"
598
  },
599
  "suggest": {
600
- "ext-gd": "To output QR codes to PNG files",
601
- "ext-simplexml": "To output QR codes to SVG files"
602
  },
603
- "time": "2022-01-11T09:42:41+00:00",
604
  "type": "library",
605
  "installation-source": "dist",
606
  "autoload": {
@@ -632,14 +623,8 @@
632
  ],
633
  "support": {
634
  "issues": "https://github.com/mpdf/qrcode/issues",
635
- "source": "https://github.com/mpdf/qrcode/tree/v1.2.0"
636
  },
637
- "funding": [
638
- {
639
- "url": "https://www.paypal.me/mpdf",
640
- "type": "custom"
641
- }
642
- ],
643
  "install-path": "../mpdf/qrcode"
644
  },
645
  {
@@ -660,6 +645,9 @@
660
  "require": {
661
  "php": "^7.1 || ^8.0"
662
  },
 
 
 
663
  "require-dev": {
664
  "doctrine/collections": "^1.0",
665
  "doctrine/common": "^2.6",
@@ -811,23 +799,23 @@
811
  },
812
  {
813
  "name": "psr/log",
814
- "version": "1.1.4",
815
- "version_normalized": "1.1.4.0",
816
  "source": {
817
  "type": "git",
818
  "url": "https://github.com/php-fig/log.git",
819
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
820
  },
821
  "dist": {
822
  "type": "zip",
823
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
824
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
825
  "shasum": ""
826
  },
827
  "require": {
828
  "php": ">=5.3.0"
829
  },
830
- "time": "2021-05-03T11:20:27+00:00",
831
  "type": "library",
832
  "extra": {
833
  "branch-alias": {
@@ -847,7 +835,7 @@
847
  "authors": [
848
  {
849
  "name": "PHP-FIG",
850
- "homepage": "https://www.php-fig.org/"
851
  }
852
  ],
853
  "description": "Common interface for logging libraries",
@@ -858,7 +846,7 @@
858
  "psr-3"
859
  ],
860
  "support": {
861
- "source": "https://github.com/php-fig/log/tree/1.1.4"
862
  },
863
  "install-path": "../psr/log"
864
  },
@@ -988,17 +976,17 @@
988
  },
989
  {
990
  "name": "spatie/url-signer",
991
- "version": "1.2.2",
992
- "version_normalized": "1.2.2.0",
993
  "source": {
994
  "type": "git",
995
  "url": "https://github.com/spatie/url-signer.git",
996
- "reference": "297dd4f11d4a106df09ee27094fd09a7844981d3"
997
  },
998
  "dist": {
999
  "type": "zip",
1000
- "url": "https://api.github.com/repos/spatie/url-signer/zipball/297dd4f11d4a106df09ee27094fd09a7844981d3",
1001
- "reference": "297dd4f11d4a106df09ee27094fd09a7844981d3",
1002
  "shasum": ""
1003
  },
1004
  "require": {
@@ -1009,7 +997,7 @@
1009
  "require-dev": {
1010
  "phpunit/phpunit": "^8.0|^9.0"
1011
  },
1012
- "time": "2021-04-20T16:57:41+00:00",
1013
  "type": "library",
1014
  "extra": {
1015
  "branch-alias": {
@@ -1045,7 +1033,7 @@
1045
  ],
1046
  "support": {
1047
  "issues": "https://github.com/spatie/url-signer/issues",
1048
- "source": "https://github.com/spatie/url-signer/tree/1.2.2"
1049
  },
1050
  "install-path": "../spatie/url-signer"
1051
  }
56
  },
57
  {
58
  "name": "league/uri",
59
+ "version": "6.4.0",
60
+ "version_normalized": "6.4.0.0",
61
  "source": {
62
  "type": "git",
63
  "url": "https://github.com/thephpleague/uri.git",
64
+ "reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a"
65
  },
66
  "dist": {
67
  "type": "zip",
68
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/09da64118eaf4c5d52f9923a1e6a5be1da52fd9a",
69
+ "reference": "09da64118eaf4c5d52f9923a1e6a5be1da52fd9a",
70
  "shasum": ""
71
  },
72
  "require": {
73
  "ext-json": "*",
74
+ "league/uri-interfaces": "^2.1",
75
+ "php": ">=7.2",
76
  "psr/http-message": "^1.0"
77
  },
78
  "conflict": {
79
  "league/uri-schemes": "^1.0"
80
  },
81
  "require-dev": {
82
+ "friendsofphp/php-cs-fixer": "^2.16",
83
+ "phpstan/phpstan": "^0.12",
84
+ "phpstan/phpstan-phpunit": "^0.12",
85
+ "phpstan/phpstan-strict-rules": "^0.12",
86
  "phpunit/phpunit": "^8.0 || ^9.0",
87
  "psr/http-factory": "^1.0"
88
  },
92
  "league/uri-components": "Needed to easily manipulate URI objects",
93
  "psr/http-factory": "Needed to use the URI factory"
94
  },
95
+ "time": "2020-11-22T14:29:11+00:00",
96
  "type": "library",
97
  "extra": {
98
  "branch-alias": {
143
  "docs": "https://uri.thephpleague.com",
144
  "forum": "https://thephpleague.slack.com",
145
  "issues": "https://github.com/thephpleague/uri/issues",
146
+ "source": "https://github.com/thephpleague/uri/tree/6.4.0"
147
  },
148
  "funding": [
149
  {
155
  },
156
  {
157
  "name": "league/uri-components",
158
+ "version": "2.3.0",
159
+ "version_normalized": "2.3.0.0",
160
  "source": {
161
  "type": "git",
162
  "url": "https://github.com/thephpleague/uri-components.git",
163
+ "reference": "14540a610ba5b70a7daf83582a109291baa004d0"
164
  },
165
  "dist": {
166
  "type": "zip",
167
+ "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/14540a610ba5b70a7daf83582a109291baa004d0",
168
+ "reference": "14540a610ba5b70a7daf83582a109291baa004d0",
169
  "shasum": ""
170
  },
171
  "require": {
172
  "ext-json": "*",
173
+ "league/uri-interfaces": "^2.1",
174
  "php": "^7.3 || ^8.0",
175
  "psr/http-message": "^1.0"
176
  },
177
  "require-dev": {
178
+ "friendsofphp/php-cs-fixer": "^2.18",
179
  "guzzlehttp/psr7": "^1.4.2",
180
+ "laminas/laminas-diactoros": "^2.0",
181
  "league/uri": "^6.0",
182
+ "phpstan/phpstan": "^0.12",
183
+ "phpstan/phpstan-phpunit": "^0.12",
184
+ "phpstan/phpstan-strict-rules": "^0.12",
185
+ "phpunit/phpunit": "^9.0"
186
  },
187
  "suggest": {
188
  "ext-fileinfo": "Needed to create Data URI from a filepath",
193
  "php-64bit": "to improve handle IPV4 parsing",
194
  "psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects"
195
  },
196
+ "time": "2021-01-26T19:38:41+00:00",
197
  "type": "library",
198
  "extra": {
199
  "branch-alias": {
235
  ],
236
  "support": {
237
  "issues": "https://github.com/thephpleague/uri-components/issues",
238
+ "source": "https://github.com/thephpleague/uri-components/tree/2.3.0"
239
  },
240
  "funding": [
241
  {
247
  },
248
  {
249
  "name": "league/uri-interfaces",
250
+ "version": "2.2.0",
251
+ "version_normalized": "2.2.0.0",
252
  "source": {
253
  "type": "git",
254
  "url": "https://github.com/thephpleague/uri-interfaces.git",
255
+ "reference": "667f150e589d65d79c89ffe662e426704f84224f"
256
  },
257
  "dist": {
258
  "type": "zip",
259
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/667f150e589d65d79c89ffe662e426704f84224f",
260
+ "reference": "667f150e589d65d79c89ffe662e426704f84224f",
261
  "shasum": ""
262
  },
263
  "require": {
264
  "ext-json": "*",
265
+ "php": "^7.1 || ^8.0"
266
  },
267
  "require-dev": {
268
+ "friendsofphp/php-cs-fixer": "^2.0",
269
+ "phpstan/phpstan": "^0.12",
270
+ "phpstan/phpstan-phpunit": "^0.12",
271
+ "phpstan/phpstan-strict-rules": "^0.12"
 
 
 
 
 
272
  },
273
+ "time": "2020-10-31T13:45:51+00:00",
274
  "type": "library",
275
  "extra": {
276
  "branch-alias": {
304
  ],
305
  "support": {
306
  "issues": "https://github.com/thephpleague/uri-interfaces/issues",
307
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/2.2.0"
308
  },
309
  "funding": [
310
  {
316
  },
317
  {
318
  "name": "masterminds/html5",
319
+ "version": "2.7.4",
320
+ "version_normalized": "2.7.4.0",
321
  "source": {
322
  "type": "git",
323
  "url": "https://github.com/Masterminds/html5-php.git",
324
+ "reference": "9227822783c75406cfe400984b2f095cdf03d417"
325
  },
326
  "dist": {
327
  "type": "zip",
328
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/9227822783c75406cfe400984b2f095cdf03d417",
329
+ "reference": "9227822783c75406cfe400984b2f095cdf03d417",
330
  "shasum": ""
331
  },
332
  "require": {
336
  "php": ">=5.3.0"
337
  },
338
  "require-dev": {
339
+ "phpunit/phpunit": "^4.8.35"
340
  },
341
+ "time": "2020-10-01T13:52:52+00:00",
342
  "type": "library",
343
  "extra": {
344
  "branch-alias": {
382
  ],
383
  "support": {
384
  "issues": "https://github.com/Masterminds/html5-php/issues",
385
+ "source": "https://github.com/Masterminds/html5-php/tree/2.7.4"
386
  },
387
  "install-path": "../masterminds/html5"
388
  },
389
  {
390
  "name": "monolog/monolog",
391
+ "version": "2.2.0",
392
+ "version_normalized": "2.2.0.0",
393
  "source": {
394
  "type": "git",
395
  "url": "https://github.com/Seldaek/monolog.git",
396
+ "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
397
  },
398
  "dist": {
399
  "type": "zip",
400
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
401
+ "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
402
  "shasum": ""
403
  },
404
  "require": {
405
  "php": ">=7.2",
406
+ "psr/log": "^1.0.1"
407
  },
408
  "provide": {
409
+ "psr/log-implementation": "1.0.0"
410
  },
411
  "require-dev": {
412
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
414
  "elasticsearch/elasticsearch": "^7",
415
  "graylog2/gelf-php": "^1.4.2",
416
  "mongodb/mongodb": "^1.8",
417
+ "php-amqplib/php-amqplib": "~2.4",
418
  "php-console/php-console": "^3.1.3",
419
  "phpspec/prophecy": "^1.6.1",
420
+ "phpstan/phpstan": "^0.12.59",
421
  "phpunit/phpunit": "^8.5",
422
  "predis/predis": "^1.1",
423
  "rollbar/rollbar": "^1.3",
424
+ "ruflin/elastica": ">=0.90 <7.0.1",
425
  "swiftmailer/swiftmailer": "^5.3|^6.0"
426
  },
427
  "suggest": {
429
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
430
  "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
431
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
 
432
  "ext-mbstring": "Allow to work properly with unicode symbols",
433
  "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
 
 
434
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
435
  "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
436
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
438
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
439
  "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
440
  },
441
+ "time": "2020-12-14T13:15:25+00:00",
442
  "type": "library",
443
  "extra": {
444
  "branch-alias": {
471
  ],
472
  "support": {
473
  "issues": "https://github.com/Seldaek/monolog/issues",
474
+ "source": "https://github.com/Seldaek/monolog/tree/2.2.0"
475
  },
476
  "funding": [
477
  {
487
  },
488
  {
489
  "name": "mpdf/mpdf",
490
+ "version": "v8.0.10",
491
+ "version_normalized": "8.0.10.0",
492
  "source": {
493
  "type": "git",
494
  "url": "https://github.com/mpdf/mpdf.git",
495
+ "reference": "1333a962cd2f7ae1a127b7534b7734b58179186f"
496
  },
497
  "dist": {
498
  "type": "zip",
499
+ "url": "https://api.github.com/repos/mpdf/mpdf/zipball/1333a962cd2f7ae1a127b7534b7734b58179186f",
500
+ "reference": "1333a962cd2f7ae1a127b7534b7734b58179186f",
501
  "shasum": ""
502
  },
503
  "require": {
505
  "ext-mbstring": "*",
506
  "myclabs/deep-copy": "^1.7",
507
  "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
508
+ "php": "^5.6 || ^7.0 || ~8.0.0",
509
+ "psr/log": "^1.0",
510
  "setasign/fpdi": "^2.1"
511
  },
512
  "require-dev": {
513
  "mockery/mockery": "^1.3.0",
514
  "mpdf/qrcode": "^1.1.0",
515
+ "phpunit/phpunit": "^5.7",
516
  "squizlabs/php_codesniffer": "^3.5.0",
517
+ "tracy/tracy": "^2.4"
 
518
  },
519
  "suggest": {
520
  "ext-bcmath": "Needed for generation of some types of barcodes",
521
  "ext-xml": "Needed mainly for SVG manipulation",
522
  "ext-zlib": "Needed for compression of embedded resources, such as fonts"
523
  },
524
+ "time": "2021-01-08T14:59:28+00:00",
525
  "type": "library",
526
  "installation-source": "dist",
527
  "autoload": {
565
  },
566
  {
567
  "name": "mpdf/qrcode",
568
+ "version": "v1.1.1",
569
+ "version_normalized": "1.1.1.0",
570
  "source": {
571
  "type": "git",
572
  "url": "https://github.com/mpdf/qrcode.git",
573
+ "reference": "f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c"
574
  },
575
  "dist": {
576
  "type": "zip",
577
+ "url": "https://api.github.com/repos/mpdf/qrcode/zipball/f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c",
578
+ "reference": "f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c",
579
  "shasum": ""
580
  },
581
  "require": {
584
  },
585
  "require-dev": {
586
  "mockery/mockery": "^0.9.5",
587
+ "phpunit/phpunit": "^5.0",
588
  "squizlabs/php_codesniffer": "^3.4",
589
+ "tracy/tracy": "^2.5"
 
590
  },
591
  "suggest": {
592
+ "ext-gd": "To output QR codes to PNG files"
 
593
  },
594
+ "time": "2021-01-12T18:16:41+00:00",
595
  "type": "library",
596
  "installation-source": "dist",
597
  "autoload": {
623
  ],
624
  "support": {
625
  "issues": "https://github.com/mpdf/qrcode/issues",
626
+ "source": "https://github.com/mpdf/qrcode/tree/v1.1.1"
627
  },
 
 
 
 
 
 
628
  "install-path": "../mpdf/qrcode"
629
  },
630
  {
645
  "require": {
646
  "php": "^7.1 || ^8.0"
647
  },
648
+ "replace": {
649
+ "myclabs/deep-copy": "self.version"
650
+ },
651
  "require-dev": {
652
  "doctrine/collections": "^1.0",
653
  "doctrine/common": "^2.6",
799
  },
800
  {
801
  "name": "psr/log",
802
+ "version": "1.1.3",
803
+ "version_normalized": "1.1.3.0",
804
  "source": {
805
  "type": "git",
806
  "url": "https://github.com/php-fig/log.git",
807
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
808
  },
809
  "dist": {
810
  "type": "zip",
811
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
812
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
813
  "shasum": ""
814
  },
815
  "require": {
816
  "php": ">=5.3.0"
817
  },
818
+ "time": "2020-03-23T09:12:05+00:00",
819
  "type": "library",
820
  "extra": {
821
  "branch-alias": {
835
  "authors": [
836
  {
837
  "name": "PHP-FIG",
838
+ "homepage": "http://www.php-fig.org/"
839
  }
840
  ],
841
  "description": "Common interface for logging libraries",
846
  "psr-3"
847
  ],
848
  "support": {
849
+ "source": "https://github.com/php-fig/log/tree/1.1.3"
850
  },
851
  "install-path": "../psr/log"
852
  },
976
  },
977
  {
978
  "name": "spatie/url-signer",
979
+ "version": "1.2.1",
980
+ "version_normalized": "1.2.1.0",
981
  "source": {
982
  "type": "git",
983
  "url": "https://github.com/spatie/url-signer.git",
984
+ "reference": "110b9ea84f149de1a5f4b1adf2adba4bbd6bea23"
985
  },
986
  "dist": {
987
  "type": "zip",
988
+ "url": "https://api.github.com/repos/spatie/url-signer/zipball/110b9ea84f149de1a5f4b1adf2adba4bbd6bea23",
989
+ "reference": "110b9ea84f149de1a5f4b1adf2adba4bbd6bea23",
990
  "shasum": ""
991
  },
992
  "require": {
997
  "require-dev": {
998
  "phpunit/phpunit": "^8.0|^9.0"
999
  },
1000
+ "time": "2021-02-05T07:25:15+00:00",
1001
  "type": "library",
1002
  "extra": {
1003
  "branch-alias": {
1033
  ],
1034
  "support": {
1035
  "issues": "https://github.com/spatie/url-signer/issues",
1036
+ "source": "https://github.com/spatie/url-signer/tree/1.2.1"
1037
  },
1038
  "install-path": "../spatie/url-signer"
1039
  }
vendor/composer/installed.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => '6.1.1',
4
- 'version' => '6.1.1.0',
5
  'type' => 'library',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '1e0227a6e0d16eba04add224ee19ffa6b4cc5c20',
9
  'name' => 'gravitypdf/gravitypdf',
10
  'dev' => false,
11
  ),
@@ -20,75 +20,75 @@
20
  'dev_requirement' => false,
21
  ),
22
  'gravitypdf/gravitypdf' => array(
23
- 'pretty_version' => '6.1.1',
24
- 'version' => '6.1.1.0',
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
- 'reference' => '1e0227a6e0d16eba04add224ee19ffa6b4cc5c20',
29
  'dev_requirement' => false,
30
  ),
31
  'league/uri' => array(
32
- 'pretty_version' => '6.5.0',
33
- 'version' => '6.5.0.0',
34
  'type' => 'library',
35
  'install_path' => __DIR__ . '/../league/uri',
36
  'aliases' => array(),
37
- 'reference' => 'c68ca445abb04817d740ddd6d0b3551826ef0c5a',
38
  'dev_requirement' => false,
39
  ),
40
  'league/uri-components' => array(
41
- 'pretty_version' => '2.4.0',
42
- 'version' => '2.4.0.0',
43
  'type' => 'library',
44
  'install_path' => __DIR__ . '/../league/uri-components',
45
  'aliases' => array(),
46
- 'reference' => 'c97c83e7d915cdb0163f0322a87a07df1d0d9fe1',
47
  'dev_requirement' => false,
48
  ),
49
  'league/uri-interfaces' => array(
50
- 'pretty_version' => '2.3.0',
51
- 'version' => '2.3.0.0',
52
  'type' => 'library',
53
  'install_path' => __DIR__ . '/../league/uri-interfaces',
54
  'aliases' => array(),
55
- 'reference' => '00e7e2943f76d8cb50c7dfdc2f6dee356e15e383',
56
  'dev_requirement' => false,
57
  ),
58
  'masterminds/html5' => array(
59
- 'pretty_version' => '2.7.5',
60
- 'version' => '2.7.5.0',
61
  'type' => 'library',
62
  'install_path' => __DIR__ . '/../masterminds/html5',
63
  'aliases' => array(),
64
- 'reference' => 'f640ac1bdddff06ea333a920c95bbad8872429ab',
65
  'dev_requirement' => false,
66
  ),
67
  'monolog/monolog' => array(
68
- 'pretty_version' => '2.3.5',
69
- 'version' => '2.3.5.0',
70
  'type' => 'library',
71
  'install_path' => __DIR__ . '/../monolog/monolog',
72
  'aliases' => array(),
73
- 'reference' => 'fd4380d6fc37626e2f799f29d91195040137eba9',
74
  'dev_requirement' => false,
75
  ),
76
  'mpdf/mpdf' => array(
77
- 'pretty_version' => 'v8.0.17',
78
- 'version' => '8.0.17.0',
79
  'type' => 'library',
80
  'install_path' => __DIR__ . '/../mpdf/mpdf',
81
  'aliases' => array(),
82
- 'reference' => '5f64118317c8145c0abc606b310aa0a66808398a',
83
  'dev_requirement' => false,
84
  ),
85
  'mpdf/qrcode' => array(
86
- 'pretty_version' => 'v1.2.0',
87
- 'version' => '1.2.0.0',
88
  'type' => 'library',
89
  'install_path' => __DIR__ . '/../mpdf/qrcode',
90
  'aliases' => array(),
91
- 'reference' => '0c09fce8b28707611c3febdd1ca424d40f172184',
92
  'dev_requirement' => false,
93
  ),
94
  'myclabs/deep-copy' => array(
@@ -99,6 +99,9 @@
99
  'aliases' => array(),
100
  'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
101
  'dev_requirement' => false,
 
 
 
102
  ),
103
  'paragonie/random_compat' => array(
104
  'pretty_version' => 'v9.99.100',
@@ -119,18 +122,18 @@
119
  'dev_requirement' => false,
120
  ),
121
  'psr/log' => array(
122
- 'pretty_version' => '1.1.4',
123
- 'version' => '1.1.4.0',
124
  'type' => 'library',
125
  'install_path' => __DIR__ . '/../psr/log',
126
  'aliases' => array(),
127
- 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
128
  'dev_requirement' => false,
129
  ),
130
  'psr/log-implementation' => array(
131
  'dev_requirement' => false,
132
  'provided' => array(
133
- 0 => '1.0.0 || 2.0.0 || 3.0.0',
134
  ),
135
  ),
136
  'querypath/querypath' => array(
@@ -152,12 +155,12 @@
152
  'dev_requirement' => false,
153
  ),
154
  'spatie/url-signer' => array(
155
- 'pretty_version' => '1.2.2',
156
- 'version' => '1.2.2.0',
157
  'type' => 'library',
158
  'install_path' => __DIR__ . '/../spatie/url-signer',
159
  'aliases' => array(),
160
- 'reference' => '297dd4f11d4a106df09ee27094fd09a7844981d3',
161
  'dev_requirement' => false,
162
  ),
163
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'pretty_version' => '6.1.0',
4
+ 'version' => '6.1.0.0',
5
  'type' => 'library',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => 'f105ad46fef8572502c51304464c75d771256008',
9
  'name' => 'gravitypdf/gravitypdf',
10
  'dev' => false,
11
  ),
20
  'dev_requirement' => false,
21
  ),
22
  'gravitypdf/gravitypdf' => array(
23
+ 'pretty_version' => '6.1.0',
24
+ 'version' => '6.1.0.0',
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
+ 'reference' => 'f105ad46fef8572502c51304464c75d771256008',
29
  'dev_requirement' => false,
30
  ),
31
  'league/uri' => array(
32
+ 'pretty_version' => '6.4.0',
33
+ 'version' => '6.4.0.0',
34
  'type' => 'library',
35
  'install_path' => __DIR__ . '/../league/uri',
36
  'aliases' => array(),
37
+ 'reference' => '09da64118eaf4c5d52f9923a1e6a5be1da52fd9a',
38
  'dev_requirement' => false,
39
  ),
40
  'league/uri-components' => array(
41
+ 'pretty_version' => '2.3.0',
42
+ 'version' => '2.3.0.0',
43
  'type' => 'library',
44
  'install_path' => __DIR__ . '/../league/uri-components',
45
  'aliases' => array(),
46
+ 'reference' => '14540a610ba5b70a7daf83582a109291baa004d0',
47
  'dev_requirement' => false,
48
  ),
49
  'league/uri-interfaces' => array(
50
+ 'pretty_version' => '2.2.0',
51
+ 'version' => '2.2.0.0',
52
  'type' => 'library',
53
  'install_path' => __DIR__ . '/../league/uri-interfaces',
54
  'aliases' => array(),
55
+ 'reference' => '667f150e589d65d79c89ffe662e426704f84224f',
56
  'dev_requirement' => false,
57
  ),
58
  'masterminds/html5' => array(
59
+ 'pretty_version' => '2.7.4',
60
+ 'version' => '2.7.4.0',
61
  'type' => 'library',
62
  'install_path' => __DIR__ . '/../masterminds/html5',
63
  'aliases' => array(),
64
+ 'reference' => '9227822783c75406cfe400984b2f095cdf03d417',
65
  'dev_requirement' => false,
66
  ),
67
  'monolog/monolog' => array(
68
+ 'pretty_version' => '2.2.0',
69
+ 'version' => '2.2.0.0',
70
  'type' => 'library',
71
  'install_path' => __DIR__ . '/../monolog/monolog',
72
  'aliases' => array(),
73
+ 'reference' => '1cb1cde8e8dd0f70cc0fe51354a59acad9302084',
74
  'dev_requirement' => false,
75
  ),
76
  'mpdf/mpdf' => array(
77
+ 'pretty_version' => 'v8.0.10',
78
+ 'version' => '8.0.10.0',
79
  'type' => 'library',
80
  'install_path' => __DIR__ . '/../mpdf/mpdf',
81
  'aliases' => array(),
82
+ 'reference' => '1333a962cd2f7ae1a127b7534b7734b58179186f',
83
  'dev_requirement' => false,
84
  ),
85
  'mpdf/qrcode' => array(
86
+ 'pretty_version' => 'v1.1.1',
87
+ 'version' => '1.1.1.0',
88
  'type' => 'library',
89
  'install_path' => __DIR__ . '/../mpdf/qrcode',
90
  'aliases' => array(),
91
+ 'reference' => 'f3c0a99e37e8489f0b91b7d2c394dcba0b38d71c',
92
  'dev_requirement' => false,
93
  ),
94
  'myclabs/deep-copy' => array(
99
  'aliases' => array(),
100
  'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
101
  'dev_requirement' => false,
102
+ 'replaced' => array(
103
+ 0 => '1.10.2',
104
+ ),
105
  ),
106
  'paragonie/random_compat' => array(
107
  'pretty_version' => 'v9.99.100',
122
  'dev_requirement' => false,
123
  ),
124
  'psr/log' => array(
125
+ 'pretty_version' => '1.1.3',
126
+ 'version' => '1.1.3.0',
127
  'type' => 'library',
128
  'install_path' => __DIR__ . '/../psr/log',
129
  'aliases' => array(),
130
+ 'reference' => '0f73288fd15629204f9d42b7055f72dacbe811fc',
131
  'dev_requirement' => false,
132
  ),
133
  'psr/log-implementation' => array(
134
  'dev_requirement' => false,
135
  'provided' => array(
136
+ 0 => '1.0.0',
137
  ),
138
  ),
139
  'querypath/querypath' => array(
155
  'dev_requirement' => false,
156
  ),
157
  'spatie/url-signer' => array(
158
+ 'pretty_version' => '1.2.1',
159
+ 'version' => '1.2.1.0',
160
  'type' => 'library',
161
  'install_path' => __DIR__ . '/../spatie/url-signer',
162
  'aliases' => array(),
163
+ 'reference' => '110b9ea84f149de1a5f4b1adf2adba4bbd6bea23',
164
  'dev_requirement' => false,
165
  ),
166
  ),
vendor/composer/platform_check.php CHANGED
File without changes
vendor/paragonie/random_compat/LICENSE CHANGED
File without changes
vendor/paragonie/random_compat/composer.json CHANGED
File without changes
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey CHANGED
File without changes
vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc CHANGED
File without changes
vendor/paragonie/random_compat/lib/random.php CHANGED
File without changes
vendor/paragonie/random_compat/other/build_phar.php CHANGED
File without changes
vendor/paragonie/random_compat/psalm-autoload.php CHANGED
File without changes
vendor/paragonie/random_compat/psalm.xml CHANGED
File without changes
vendor/psr/http-message/CHANGELOG.md CHANGED
File without changes
vendor/psr/http-message/LICENSE CHANGED
File without changes
vendor/psr/http-message/README.md CHANGED
File without changes
vendor/psr/http-message/composer.json CHANGED
File without changes
vendor/psr/http-message/src/MessageInterface.php CHANGED
File without changes
vendor/psr/http-message/src/RequestInterface.php CHANGED
File without changes
vendor/psr/http-message/src/ResponseInterface.php CHANGED
File without changes
vendor/psr/http-message/src/ServerRequestInterface.php CHANGED
File without changes
vendor/psr/http-message/src/StreamInterface.php CHANGED
File without changes
vendor/psr/http-message/src/UploadedFileInterface.php CHANGED
File without changes
vendor/psr/http-message/src/UriInterface.php CHANGED
File without changes
vendor/psr/log/LICENSE CHANGED
File without changes
vendor/psr/log/Psr/Log/AbstractLogger.php CHANGED
@@ -14,8 +14,8 @@ abstract class AbstractLogger implements LoggerInterface
14
  /**
15
  * System is unusable.
16
  *
17
- * @param string $message
18
- * @param mixed[] $context
19
  *
20
  * @return void
21
  */
@@ -30,8 +30,8 @@ abstract class AbstractLogger implements LoggerInterface
30
  * Example: Entire website down, database unavailable, etc. This should
31
  * trigger the SMS alerts and wake you up.
32
  *
33
- * @param string $message
34
- * @param mixed[] $context
35
  *
36
  * @return void
37
  */
@@ -45,8 +45,8 @@ abstract class AbstractLogger implements LoggerInterface
45
  *
46
  * Example: Application component unavailable, unexpected exception.
47
  *
48
- * @param string $message
49
- * @param mixed[] $context
50
  *
51
  * @return void
52
  */
@@ -59,8 +59,8 @@ abstract class AbstractLogger implements LoggerInterface
59
  * Runtime errors that do not require immediate action but should typically
60
  * be logged and monitored.
61
  *
62
- * @param string $message
63
- * @param mixed[] $context
64
  *
65
  * @return void
66
  */
@@ -75,8 +75,8 @@ abstract class AbstractLogger implements LoggerInterface
75
  * Example: Use of deprecated APIs, poor use of an API, undesirable things
76
  * that are not necessarily wrong.
77
  *
78
- * @param string $message
79
- * @param mixed[] $context
80
  *
81
  * @return void
82
  */
@@ -88,8 +88,8 @@ abstract class AbstractLogger implements LoggerInterface
88
  /**
89
  * Normal but significant events.
90
  *
91
- * @param string $message
92
- * @param mixed[] $context
93
  *
94
  * @return void
95
  */
@@ -103,8 +103,8 @@ abstract class AbstractLogger implements LoggerInterface
103
  *
104
  * Example: User logs in, SQL logs.
105
  *
106
- * @param string $message
107
- * @param mixed[] $context
108
  *
109
  * @return void
110
  */
@@ -116,8 +116,8 @@ abstract class AbstractLogger implements LoggerInterface
116
  /**
117
  * Detailed debug information.
118
  *
119
- * @param string $message
120
- * @param mixed[] $context
121
  *
122
  * @return void
123
  */
14
  /**
15
  * System is unusable.
16
  *
17
+ * @param string $message
18
+ * @param array $context
19
  *
20
  * @return void
21
  */
30
  * Example: Entire website down, database unavailable, etc. This should
31
  * trigger the SMS alerts and wake you up.
32
  *
33
+ * @param string $message
34
+ * @param array $context
35
  *
36
  * @return void
37
  */
45
  *
46
  * Example: Application component unavailable, unexpected exception.
47
  *
48
+ * @param string $message
49
+ * @param array $context
50
  *
51
  * @return void
52
  */
59
  * Runtime errors that do not require immediate action but should typically
60
  * be logged and monitored.
61
  *
62
+ * @param string $message
63
+ * @param array $context
64
  *
65
  * @return void
66
  */
75
  * Example: Use of deprecated APIs, poor use of an API, undesirable things
76
  * that are not necessarily wrong.
77
  *
78
+ * @param string $message
79
+ * @param array $context
80
  *
81
  * @return void
82
  */
88
  /**
89
  * Normal but significant events.
90
  *
91
+ * @param string $message
92
+ * @param array $context
93
  *
94
  * @return void
95
  */
103
  *
104
  * Example: User logs in, SQL logs.
105
  *
106
+ * @param string $message
107
+ * @param array $context
108
  *
109
  * @return void
110
  */
116
  /**
117
  * Detailed debug information.
118
  *
119
+ * @param string $message
120
+ * @param array $context
121
  *
122
  * @return void
123
  */
vendor/psr/log/Psr/Log/InvalidArgumentException.php CHANGED
File without changes
vendor/psr/log/Psr/Log/LogLevel.php CHANGED
File without changes
vendor/psr/log/Psr/Log/LoggerAwareInterface.php CHANGED
File without changes
vendor/psr/log/Psr/Log/LoggerAwareTrait.php CHANGED
@@ -10,7 +10,7 @@ trait LoggerAwareTrait
10
  /**
11
  * The logger instance.
12
  *
13
- * @var LoggerInterface|null
14
  */
15
  protected $logger;
16
 
10
  /**
11
  * The logger instance.
12
  *
13
+ * @var LoggerInterface
14
  */
15
  protected $logger;
16
 
vendor/psr/log/Psr/Log/LoggerInterface.php CHANGED
File without changes
vendor/psr/log/Psr/Log/LoggerTrait.php CHANGED
File without changes
vendor/psr/log/Psr/Log/NullLogger.php CHANGED
File without changes
vendor/psr/log/Psr/Log/Test/DummyTest.php CHANGED
File without changes
vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php CHANGED
File without changes
vendor/psr/log/Psr/Log/Test/TestLogger.php CHANGED
File without changes
vendor/psr/log/README.md CHANGED
File without changes
vendor/psr/log/composer.json CHANGED
@@ -7,7 +7,7 @@
7
  "authors": [
8
  {
9
  "name": "PHP-FIG",
10
- "homepage": "https://www.php-fig.org/"
11
  }
12
  ],
13
  "require": {
7
  "authors": [
8
  {
9
  "name": "PHP-FIG",
10
+ "homepage": "http://www.php-fig.org/"
11
  }
12
  ],
13
  "require": {
vendor_prefixed/league/uri-components/src/Components/Authority.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Components/Component.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -128,24 +130,20 @@ abstract class Component implements \GFPDF_Vendor\League\Uri\Contracts\UriCompon
128
  /**
129
  * {@inheritDoc}
130
  */
131
- public abstract function getUriComponent() : string;
 
 
 
132
  /**
133
  * {@inheritDoc}
134
  */
135
  public abstract function getContent() : ?string;
136
- /**
137
- * {@inheritDoc}
138
- */
139
- public function toString() : string
140
- {
141
- return (string) $this->getContent();
142
- }
143
  /**
144
  * {@inheritDoc}
145
  */
146
  public function __toString() : string
147
  {
148
- return $this->toString();
149
  }
150
  /**
151
  * {@inheritDoc}
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
130
  /**
131
  * {@inheritDoc}
132
  */
133
+ public function getUriComponent() : string
134
+ {
135
+ return (string) $this->getContent();
136
+ }
137
  /**
138
  * {@inheritDoc}
139
  */
140
  public abstract function getContent() : ?string;
 
 
 
 
 
 
 
141
  /**
142
  * {@inheritDoc}
143
  */
144
  public function __toString() : string
145
  {
146
+ return (string) $this->getContent();
147
  }
148
  /**
149
  * {@inheritDoc}
vendor_prefixed/league/uri-components/src/Components/DataPath.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -264,13 +266,6 @@ final class DataPath extends \GFPDF_Vendor\League\Uri\Components\Component imple
264
  {
265
  return $this->path->getContent();
266
  }
267
- /**
268
- * {@inheritDoc}
269
- */
270
- public function getUriComponent() : string
271
- {
272
- return (string) $this->getContent();
273
- }
274
  /**
275
  * {@inheritDoc}
276
  */
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
266
  {
267
  return $this->path->getContent();
268
  }
 
 
 
 
 
 
 
269
  /**
270
  * {@inheritDoc}
271
  */
vendor_prefixed/league/uri-components/src/Components/Domain.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -137,13 +139,6 @@ final class Domain extends \GFPDF_Vendor\League\Uri\Components\Component impleme
137
  {
138
  return $this->host->getContent();
139
  }
140
- /**
141
- * {@inheritDoc}
142
- */
143
- public function getUriComponent() : string
144
- {
145
- return (string) $this->getContent();
146
- }
147
  /**
148
  * {@inheritDoc}
149
  */
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
139
  {
140
  return $this->host->getContent();
141
  }
 
 
 
 
 
 
 
142
  /**
143
  * {@inheritDoc}
144
  */
vendor_prefixed/league/uri-components/src/Components/Fragment.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Components/HierarchicalPath.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -181,13 +183,6 @@ final class HierarchicalPath extends \GFPDF_Vendor\League\Uri\Components\Compone
181
  {
182
  return $this->path->getContent();
183
  }
184
- /**
185
- * {@inheritDoc}
186
- */
187
- public function getUriComponent() : string
188
- {
189
- return (string) $this->getContent();
190
- }
191
  /**
192
  * {@inheritDoc}
193
  */
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
183
  {
184
  return $this->path->getContent();
185
  }
 
 
 
 
 
 
 
186
  /**
187
  * {@inheritDoc}
188
  */
vendor_prefixed/league/uri-components/src/Components/Host.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -18,16 +20,20 @@ use GFPDF_Vendor\League\Uri\Contracts\AuthorityInterface;
18
  use GFPDF_Vendor\League\Uri\Contracts\IpHostInterface;
19
  use GFPDF_Vendor\League\Uri\Contracts\UriComponentInterface;
20
  use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
21
- use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
22
  use GFPDF_Vendor\League\Uri\Exceptions\IPv4CalculatorMissing;
23
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
24
- use GFPDF_Vendor\League\Uri\Idna\Idna;
25
  use GFPDF_Vendor\League\Uri\IPv4Normalizer;
26
  use Psr\Http\Message\UriInterface as Psr7UriInterface;
27
  use TypeError;
 
28
  use function explode;
29
  use function filter_var;
 
30
  use function gettype;
 
 
 
31
  use function in_array;
32
  use function inet_pton;
33
  use function is_object;
@@ -43,6 +49,24 @@ use function substr;
43
  use const FILTER_FLAG_IPV4;
44
  use const FILTER_FLAG_IPV6;
45
  use const FILTER_VALIDATE_IP;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implements \GFPDF_Vendor\League\Uri\Contracts\IpHostInterface
47
  {
48
  /**
@@ -117,6 +141,17 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
117
  * @var bool
118
  */
119
  private $is_domain = \false;
 
 
 
 
 
 
 
 
 
 
 
120
  /**
121
  * New instance.
122
  *
@@ -162,12 +197,18 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
162
  if ($is_ascii || 1 === \preg_match(self::REGEXP_INVALID_HOST_CHARS, $domain_name)) {
163
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : the host contains invalid characters.', $host));
164
  }
165
- $info = \GFPDF_Vendor\League\Uri\Idna\Idna::toAscii($domain_name, \GFPDF_Vendor\League\Uri\Idna\Idna::IDNA2008_ASCII);
166
- if (0 !== $info->errors()) {
167
- throw \GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed::dueToIDNAError($domain_name, $info);
 
 
 
 
 
168
  }
169
- $this->host = $info->result();
170
- $this->is_domain = $this->isValidDomain($this->host);
 
171
  }
172
  /**
173
  * Tells whether the registered name is a valid domain name according to RFC1123.
@@ -183,6 +224,25 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
183
  }
184
  return !isset($hostname[$domainMaxLength]) && 1 === \preg_match(self::REGEXP_DOMAIN_NAME, $hostname);
185
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  /**
187
  * Validates an Ipv6 as Host.
188
  *
@@ -285,13 +345,6 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
285
  {
286
  return $this->host;
287
  }
288
- /**
289
- * {@inheritDoc}
290
- */
291
- public function getUriComponent() : string
292
- {
293
- return (string) $this->getContent();
294
- }
295
  /**
296
  * {@inheritDoc}
297
  */
@@ -307,7 +360,19 @@ final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implement
307
  if (null !== $this->ip_version || null === $this->host || \false === \strpos($this->host, 'xn--')) {
308
  return $this->host;
309
  }
310
- return \GFPDF_Vendor\League\Uri\Idna\Idna::toUnicode($this->host, \GFPDF_Vendor\League\Uri\Idna\Idna::IDNA2008_UNICODE)->result();
 
 
 
 
 
 
 
 
 
 
 
 
311
  }
312
  /**
313
  * {@inheritDoc}
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
20
  use GFPDF_Vendor\League\Uri\Contracts\IpHostInterface;
21
  use GFPDF_Vendor\League\Uri\Contracts\UriComponentInterface;
22
  use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
23
+ use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
24
  use GFPDF_Vendor\League\Uri\Exceptions\IPv4CalculatorMissing;
25
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
 
26
  use GFPDF_Vendor\League\Uri\IPv4Normalizer;
27
  use Psr\Http\Message\UriInterface as Psr7UriInterface;
28
  use TypeError;
29
+ use function defined;
30
  use function explode;
31
  use function filter_var;
32
+ use function function_exists;
33
  use function gettype;
34
+ use function idn_to_ascii;
35
+ use function idn_to_utf8;
36
+ use function implode;
37
  use function in_array;
38
  use function inet_pton;
39
  use function is_object;
49
  use const FILTER_FLAG_IPV4;
50
  use const FILTER_FLAG_IPV6;
51
  use const FILTER_VALIDATE_IP;
52
+ use const IDNA_CHECK_BIDI;
53
+ use const IDNA_CHECK_CONTEXTJ;
54
+ use const IDNA_ERROR_BIDI;
55
+ use const IDNA_ERROR_CONTEXTJ;
56
+ use const IDNA_ERROR_DISALLOWED;
57
+ use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
58
+ use const IDNA_ERROR_EMPTY_LABEL;
59
+ use const IDNA_ERROR_HYPHEN_3_4;
60
+ use const IDNA_ERROR_INVALID_ACE_LABEL;
61
+ use const IDNA_ERROR_LABEL_HAS_DOT;
62
+ use const IDNA_ERROR_LABEL_TOO_LONG;
63
+ use const IDNA_ERROR_LEADING_COMBINING_MARK;
64
+ use const IDNA_ERROR_LEADING_HYPHEN;
65
+ use const IDNA_ERROR_PUNYCODE;
66
+ use const IDNA_ERROR_TRAILING_HYPHEN;
67
+ use const IDNA_NONTRANSITIONAL_TO_UNICODE;
68
+ use const IDNA_USE_STD3_RULES;
69
+ use const INTL_IDNA_VARIANT_UTS46;
70
  final class Host extends \GFPDF_Vendor\League\Uri\Components\Component implements \GFPDF_Vendor\League\Uri\Contracts\IpHostInterface
71
  {
72
  /**
141
  * @var bool
142
  */
143
  private $is_domain = \false;
144
+ /**
145
+ * @codeCoverageIgnore
146
+ */
147
+ private static function supportIdnHost() : void
148
+ {
149
+ static $idn_support = null;
150
+ $idn_support = $idn_support ?? \function_exists('\\idn_to_ascii') && \defined('\\INTL_IDNA_VARIANT_UTS46');
151
+ if (!$idn_support) {
152
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing('IDN host can not be processed. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.');
153
+ }
154
+ }
155
  /**
156
  * New instance.
157
  *
197
  if ($is_ascii || 1 === \preg_match(self::REGEXP_INVALID_HOST_CHARS, $domain_name)) {
198
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : the host contains invalid characters.', $host));
199
  }
200
+ self::supportIdnHost();
201
+ $domain_name = \idn_to_ascii($domain_name, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_USE_STD3_RULES | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $info);
202
+ if (0 !== $info['errors']) {
203
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('`%s` is an invalid domain name : %s.', $host, $this->getIDNAErrors($info['errors'])));
204
+ }
205
+ // @codeCoverageIgnoreStart
206
+ if (\false === $domain_name) {
207
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
208
  }
209
+ // @codeCoverageIgnoreEnd
210
+ $this->host = $domain_name;
211
+ $this->is_domain = $this->isValidDomain($domain_name);
212
  }
213
  /**
214
  * Tells whether the registered name is a valid domain name according to RFC1123.
224
  }
225
  return !isset($hostname[$domainMaxLength]) && 1 === \preg_match(self::REGEXP_DOMAIN_NAME, $hostname);
226
  }
227
+ /**
228
+ * Retrieves and format IDNA conversion error message.
229
+ *
230
+ * @see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
231
+ */
232
+ private function getIDNAErrors(int $error_byte) : string
233
+ {
234
+ /**
235
+ * IDNA errors.
236
+ */
237
+ static $idn_errors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
238
+ $res = [];
239
+ foreach ($idn_errors as $error => $reason) {
240
+ if ($error === ($error_byte & $error)) {
241
+ $res[] = $reason;
242
+ }
243
+ }
244
+ return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
245
+ }
246
  /**
247
  * Validates an Ipv6 as Host.
248
  *
345
  {
346
  return $this->host;
347
  }
 
 
 
 
 
 
 
348
  /**
349
  * {@inheritDoc}
350
  */
360
  if (null !== $this->ip_version || null === $this->host || \false === \strpos($this->host, 'xn--')) {
361
  return $this->host;
362
  }
363
+ $host = \idn_to_utf8($this->host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_USE_STD3_RULES | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $info);
364
+ if ([] === $info) {
365
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid.', $this->host));
366
+ }
367
+ if (0 !== $info['errors']) {
368
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s.', $this->host, $this->getIDNAErrors($info['errors'])));
369
+ }
370
+ // @codeCoverageIgnoreStart
371
+ if (\false === $host) {
372
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
373
+ }
374
+ // @codeCoverageIgnoreEnd
375
+ return $host;
376
  }
377
  /**
378
  * {@inheritDoc}
vendor_prefixed/league/uri-components/src/Components/Path.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -118,13 +120,6 @@ final class Path extends \GFPDF_Vendor\League\Uri\Components\Component implement
118
  {
119
  return $this->encodeComponent($this->path, self::REGEXP_PATH_ENCODING);
120
  }
121
- /**
122
- * {@inheritDoc}
123
- */
124
- public function getUriComponent() : string
125
- {
126
- return (string) $this->getContent();
127
- }
128
  /**
129
  * Returns the decoded path.
130
  */
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
120
  {
121
  return $this->encodeComponent($this->path, self::REGEXP_PATH_ENCODING);
122
  }
 
 
 
 
 
 
 
123
  /**
124
  * Returns the decoded path.
125
  */
vendor_prefixed/league/uri-components/src/Components/Port.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Components/Query.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Components/Scheme.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Components/UserInfo.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Exceptions/IPv4CalculatorMissing.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/Exceptions/OffsetOutOfBounds.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/IPv4Calculators/BCMathCalculator.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/IPv4Calculators/GMPCalculator.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/IPv4Calculators/IPv4Calculator.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/IPv4Calculators/NativeCalculator.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/IPv4Normalizer.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-components/src/QueryString.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
@@ -129,10 +131,6 @@ final class QueryString
129
  }
130
  return $query;
131
  }
132
- /**
133
- * @param non-empty-string $separator
134
- * @return array<string|null>
135
- */
136
  private static function getPairs(string $query, string $separator) : array
137
  {
138
  if (\false === \strpos($query, $separator)) {
@@ -157,7 +155,7 @@ final class QueryString
157
  if (null === $value) {
158
  return [$key, $value];
159
  }
160
- if (self::DECODE_PAIR_VALUE === $parseValue && 1 === \preg_match(self::REGEXP_ENCODED_PATTERN, $value)) {
161
  $value = \preg_replace_callback(self::REGEXP_ENCODED_PATTERN, [self::class, 'decodeMatch'], $value);
162
  }
163
  return [$key, $value];
@@ -266,9 +264,6 @@ final class QueryString
266
  */
267
  public static function extract($query, string $separator = '&', int $enc_type = \PHP_QUERY_RFC3986) : array
268
  {
269
- if ('' === $separator) {
270
- throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError('The separator character can not be the empty string.');
271
- }
272
  $query = self::prepareQuery($query, $enc_type);
273
  if (null === $query || '' === $query) {
274
  return [];
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
131
  }
132
  return $query;
133
  }
 
 
 
 
134
  private static function getPairs(string $query, string $separator) : array
135
  {
136
  if (\false === \strpos($query, $separator)) {
155
  if (null === $value) {
156
  return [$key, $value];
157
  }
158
+ if ($parseValue === self::DECODE_PAIR_VALUE && 1 === \preg_match(self::REGEXP_ENCODED_PATTERN, $value)) {
159
  $value = \preg_replace_callback(self::REGEXP_ENCODED_PATTERN, [self::class, 'decodeMatch'], $value);
160
  }
161
  return [$key, $value];
264
  */
265
  public static function extract($query, string $separator = '&', int $enc_type = \PHP_QUERY_RFC3986) : array
266
  {
 
 
 
267
  $query = self::prepareQuery($query, $enc_type);
268
  if (null === $query || '' === $query) {
269
  return [];
vendor_prefixed/league/uri-components/src/UriModifier.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  /**
4
- * League.Uri (https://uri.thephpleague.com/components/2.0/)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
 
 
9
  * @link https://github.com/thephpleague/uri-components
10
  *
11
  * For the full copyright and license information, please view the LICENSE
1
  <?php
2
 
3
  /**
4
+ * League.Uri (http://uri.thephpleague.com/components)
5
  *
6
  * @package League\Uri
7
  * @subpackage League\Uri\Components
8
  * @author Ignace Nyamagana Butera <nyamsprod@gmail.com>
9
+ * @license https://github.com/thephpleague/uri-components/blob/master/LICENSE (MIT License)
10
+ * @version 2.0.2
11
  * @link https://github.com/thephpleague/uri-components
12
  *
13
  * For the full copyright and license information, please view the LICENSE
vendor_prefixed/league/uri-interfaces/src/Exceptions/IdnaConversionFailed.php DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * League.Uri (https://uri.thephpleague.com)
5
- *
6
- * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
- declare (strict_types=1);
12
- namespace GFPDF_Vendor\League\Uri\Exceptions;
13
-
14
- use GFPDF_Vendor\League\Uri\Idna\IdnaInfo;
15
- final class IdnaConversionFailed extends \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError
16
- {
17
- /** @var IdnaInfo|null */
18
- private $idnaInfo;
19
- private function __construct(string $message, \GFPDF_Vendor\League\Uri\Idna\IdnaInfo $idnaInfo = null)
20
- {
21
- parent::__construct($message);
22
- $this->idnaInfo = $idnaInfo;
23
- }
24
- public static function dueToIDNAError(string $domain, \GFPDF_Vendor\League\Uri\Idna\IdnaInfo $idnaInfo) : self
25
- {
26
- return new self('The host `' . $domain . '` is invalid : ' . \implode(', ', $idnaInfo->errorList()) . ' .', $idnaInfo);
27
- }
28
- public static function dueToInvalidHost(string $domain) : self
29
- {
30
- return new self('The host `' . $domain . '` is not a valid IDN host');
31
- }
32
- public function idnaInfo() : ?\GFPDF_Vendor\League\Uri\Idna\IdnaInfo
33
- {
34
- return $this->idnaInfo;
35
- }
36
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor_prefixed/league/uri-interfaces/src/Idna/Idna.php DELETED
@@ -1,172 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * League.Uri (https://uri.thephpleague.com)
5
- *
6
- * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
- declare (strict_types=1);
12
- namespace GFPDF_Vendor\League\Uri\Idna;
13
-
14
- use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
15
- use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
16
- use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
17
- use function defined;
18
- use function function_exists;
19
- use function idn_to_ascii;
20
- use function idn_to_utf8;
21
- use function rawurldecode;
22
- use const INTL_IDNA_VARIANT_UTS46;
23
- /**
24
- * @see https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/uidna_8h.html
25
- */
26
- final class Idna
27
- {
28
- private const REGEXP_IDNA_PATTERN = '/[^\\x20-\\x7f]/';
29
- private const MAX_DOMAIN_LENGTH = 253;
30
- private const MAX_LABEL_LENGTH = 63;
31
- /**
32
- * General registered name regular expression.
33
- *
34
- * @see https://tools.ietf.org/html/rfc3986#section-3.2.2
35
- * @see https://regex101.com/r/fptU8V/1
36
- */
37
- private const REGEXP_REGISTERED_NAME = '/
38
- (?(DEFINE)
39
- (?<unreserved>[a-z0-9_~\\-]) # . is missing as it is used to separate labels
40
- (?<sub_delims>[!$&\'()*+,;=])
41
- (?<encoded>%[A-F0-9]{2})
42
- (?<reg_name>(?:(?&unreserved)|(?&sub_delims)|(?&encoded))*)
43
- )
44
- ^(?:(?&reg_name)\\.)*(?&reg_name)\\.?$
45
- /ix';
46
- /**
47
- * IDNA options.
48
- */
49
- public const IDNA_DEFAULT = 0;
50
- public const IDNA_ALLOW_UNASSIGNED = 1;
51
- public const IDNA_USE_STD3_RULES = 2;
52
- public const IDNA_CHECK_BIDI = 4;
53
- public const IDNA_CHECK_CONTEXTJ = 8;
54
- public const IDNA_NONTRANSITIONAL_TO_ASCII = 0x10;
55
- public const IDNA_NONTRANSITIONAL_TO_UNICODE = 0x20;
56
- public const IDNA_CHECK_CONTEXTO = 0x40;
57
- /**
58
- * IDNA errors.
59
- */
60
- public const ERROR_NONE = 0;
61
- public const ERROR_EMPTY_LABEL = 1;
62
- public const ERROR_LABEL_TOO_LONG = 2;
63
- public const ERROR_DOMAIN_NAME_TOO_LONG = 4;
64
- public const ERROR_LEADING_HYPHEN = 8;
65
- public const ERROR_TRAILING_HYPHEN = 0x10;
66
- public const ERROR_HYPHEN_3_4 = 0x20;
67
- public const ERROR_LEADING_COMBINING_MARK = 0x40;
68
- public const ERROR_DISALLOWED = 0x80;
69
- public const ERROR_PUNYCODE = 0x100;
70
- public const ERROR_LABEL_HAS_DOT = 0x200;
71
- public const ERROR_INVALID_ACE_LABEL = 0x400;
72
- public const ERROR_BIDI = 0x800;
73
- public const ERROR_CONTEXTJ = 0x1000;
74
- public const ERROR_CONTEXTO_PUNCTUATION = 0x2000;
75
- public const ERROR_CONTEXTO_DIGITS = 0x4000;
76
- /**
77
- * IDNA default options.
78
- */
79
- public const IDNA2008_ASCII = self::IDNA_NONTRANSITIONAL_TO_ASCII | self::IDNA_CHECK_BIDI | self::IDNA_USE_STD3_RULES | self::IDNA_CHECK_CONTEXTJ;
80
- public const IDNA2008_UNICODE = self::IDNA_NONTRANSITIONAL_TO_UNICODE | self::IDNA_CHECK_BIDI | self::IDNA_USE_STD3_RULES | self::IDNA_CHECK_CONTEXTJ;
81
- /**
82
- * @codeCoverageIgnore
83
- */
84
- private static function supportsIdna() : void
85
- {
86
- static $idnSupport;
87
- if (null === $idnSupport) {
88
- $idnSupport = \function_exists('\\idn_to_ascii') && \defined('\\INTL_IDNA_VARIANT_UTS46');
89
- }
90
- if (!$idnSupport) {
91
- throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing('IDN host can not be processed. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.');
92
- }
93
- }
94
- /**
95
- * Converts the input to its IDNA ASCII form.
96
- *
97
- * This method returns the string converted to IDN ASCII form
98
- *
99
- * @throws SyntaxError if the string can not be converted to ASCII using IDN UTS46 algorithm
100
- */
101
- public static function toAscii(string $domain, int $options) : \GFPDF_Vendor\League\Uri\Idna\IdnaInfo
102
- {
103
- $domain = \rawurldecode($domain);
104
- if (1 === \preg_match(self::REGEXP_IDNA_PATTERN, $domain)) {
105
- self::supportsIdna();
106
- /* @param-out array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
107
- \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $idnaInfo);
108
- if ([] === $idnaInfo) {
109
- return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => \strtolower($domain), 'isTransitionalDifferent' => \false, 'errors' => self::validateDomainAndLabelLength($domain)]);
110
- }
111
- /* @var array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
112
- return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl($idnaInfo);
113
- }
114
- $error = self::ERROR_NONE;
115
- if (1 !== \preg_match(self::REGEXP_REGISTERED_NAME, $domain)) {
116
- $error |= self::ERROR_DISALLOWED;
117
- }
118
- return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => \strtolower($domain), 'isTransitionalDifferent' => \false, 'errors' => self::validateDomainAndLabelLength($domain) | $error]);
119
- }
120
- /**
121
- * Converts the input to its IDNA UNICODE form.
122
- *
123
- * This method returns the string converted to IDN UNICODE form
124
- *
125
- * @throws SyntaxError if the string can not be converted to UNICODE using IDN UTS46 algorithm
126
- */
127
- public static function toUnicode(string $domain, int $options) : \GFPDF_Vendor\League\Uri\Idna\IdnaInfo
128
- {
129
- $domain = \rawurldecode($domain);
130
- if (\false === \stripos($domain, 'xn--')) {
131
- return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl(['result' => $domain, 'isTransitionalDifferent' => \false, 'errors' => self::ERROR_NONE]);
132
- }
133
- self::supportsIdna();
134
- /* @param-out array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
135
- \idn_to_utf8($domain, $options, \INTL_IDNA_VARIANT_UTS46, $idnaInfo);
136
- if ([] === $idnaInfo) {
137
- throw \GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed::dueToInvalidHost($domain);
138
- }
139
- /* @var array{errors: int, isTransitionalDifferent: bool, result: string} $idnaInfo */
140
- return \GFPDF_Vendor\League\Uri\Idna\IdnaInfo::fromIntl($idnaInfo);
141
- }
142
- /**
143
- * Adapted from https://github.com/TRowbotham/idna.
144
- *
145
- * @see https://github.com/TRowbotham/idna/blob/master/src/Idna.php#L236
146
- */
147
- private static function validateDomainAndLabelLength(string $domain) : int
148
- {
149
- $error = self::ERROR_NONE;
150
- $labels = \explode('.', $domain);
151
- $maxDomainSize = self::MAX_DOMAIN_LENGTH;
152
- $length = \count($labels);
153
- // If the last label is empty and it is not the first label, then it is the root label.
154
- // Increase the max size by 1, making it 254, to account for the root label's "."
155
- // delimiter. This also means we don't need to check the last label's length for being too
156
- // long.
157
- if ($length > 1 && $labels[$length - 1] === '') {
158
- ++$maxDomainSize;
159
- \array_pop($labels);
160
- }
161
- if (\strlen($domain) > $maxDomainSize) {
162
- $error |= self::ERROR_DOMAIN_NAME_TOO_LONG;
163
- }
164
- foreach ($labels as $label) {
165
- if (\strlen($label) > self::MAX_LABEL_LENGTH) {
166
- $error |= self::ERROR_LABEL_TOO_LONG;
167
- break;
168
- }
169
- }
170
- return $error;
171
- }
172
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor_prefixed/league/uri-interfaces/src/Idna/IdnaInfo.php DELETED
@@ -1,78 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * League.Uri (https://uri.thephpleague.com)
5
- *
6
- * (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
- declare (strict_types=1);
12
- namespace GFPDF_Vendor\League\Uri\Idna;
13
-
14
- use function array_filter;
15
- use const ARRAY_FILTER_USE_KEY;
16
- /**
17
- * @see https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/uidna_8h.html
18
- */
19
- final class IdnaInfo
20
- {
21
- private const ERRORS = [\GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTO_DIGITS => 'a label does not meet the IDNA CONTEXTO requirements for digits', \GFPDF_Vendor\League\Uri\Idna\Idna::ERROR_CONTEXTO_PUNCTUATION => 'a label does not meet the IDNA CONTEXTO requirements for punctuation characters. Some punctuation characters "Would otherwise have been DISALLOWED" but are allowed in certain contexts'];
22
- /** @var string */
23
- private $result;
24
- /** @var bool */
25
- private $isTransitionalDifferent;
26
- /** @var int */
27
- private $errors;
28
- /**
29
- * @var array<int, string>
30
- */
31
- private $errorList;
32
- private function __construct(string $result, bool $isTransitionalDifferent, int $errors)
33
- {
34
- $this->result = $result;
35
- $this->errors = $errors;
36
- $this->isTransitionalDifferent = $isTransitionalDifferent;
37
- $this->errorList = \array_filter(self::ERRORS, function (int $error) : bool {
38
- return 0 !== ($error & $this->errors);
39
- }, \ARRAY_FILTER_USE_KEY);
40
- }
41
- /**
42
- * @param array{result:string, isTransitionalDifferent:bool, errors:int} $infos
43
- */
44
- public static function fromIntl(array $infos) : self
45
- {
46
- return new self($infos['result'], $infos['isTransitionalDifferent'], $infos['errors']);
47
- }
48
- /**
49
- * @param array{result:string, isTransitionalDifferent:bool, errors:int} $properties
50
- */
51
- public static function __set_state(array $properties) : self
52
- {
53
- return self::fromIntl($properties);
54
- }
55
- public function result() : string
56
- {
57
- return $this->result;
58
- }
59
- public function isTransitionalDifferent() : bool
60
- {
61
- return $this->isTransitionalDifferent;
62
- }
63
- public function errors() : int
64
- {
65
- return $this->errors;
66
- }
67
- public function error(int $error) : ?string
68
- {
69
- return $this->errorList[$error] ?? null;
70
- }
71
- /**
72
- * @return array<int, string>
73
- */
74
- public function errorList() : array
75
- {
76
- return $this->errorList;
77
- }
78
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor_prefixed/league/uri/src/Uri.php CHANGED
@@ -13,19 +13,20 @@ namespace GFPDF_Vendor\League\Uri;
13
 
14
  use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
15
  use GFPDF_Vendor\League\Uri\Exceptions\FileinfoSupportMissing;
16
- use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
17
  use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
18
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
19
- use GFPDF_Vendor\League\Uri\Idna\Idna;
20
  use Psr\Http\Message\UriInterface as Psr7UriInterface;
21
  use function array_filter;
22
  use function array_map;
23
  use function base64_decode;
24
  use function base64_encode;
25
  use function count;
 
26
  use function explode;
27
  use function file_get_contents;
28
  use function filter_var;
 
 
29
  use function implode;
30
  use function in_array;
31
  use function inet_pton;
@@ -49,6 +50,24 @@ use const FILTER_FLAG_IPV6;
49
  use const FILTER_NULL_ON_FAILURE;
50
  use const FILTER_VALIDATE_BOOLEAN;
51
  use const FILTER_VALIDATE_IP;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
53
  {
54
  /**
@@ -110,10 +129,6 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
110
  (?<sub_delims>[!$&\'()*+,;=:]) # also include the : character
111
  )+
112
  $/ix';
113
- /**
114
- * RFC3986 IPvFuture host and port component.
115
- */
116
- private const REGEXP_HOST_PORT = ',^(?<host>(\\[.*]|[^:])*)(:(?<port>[^/?#]*))?$,x';
117
  /**
118
  * Significant 10 bits of IP to detect Zone ID regular expression pattern.
119
  */
@@ -306,18 +321,74 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
306
  */
307
  private function formatRegisteredName(string $host) : string
308
  {
 
 
 
 
 
 
309
  $formatted_host = \rawurldecode($host);
310
  if (1 === \preg_match(self::REGEXP_HOST_REGNAME, $formatted_host)) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  return $formatted_host;
312
  }
313
  if (1 === \preg_match(self::REGEXP_HOST_GEN_DELIMS, $formatted_host)) {
314
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : a registered name can not contain URI delimiters or spaces', $host));
315
  }
316
- $info = \GFPDF_Vendor\League\Uri\Idna\Idna::toAscii($host, \GFPDF_Vendor\League\Uri\Idna\Idna::IDNA2008_ASCII);
317
- if (0 !== $info->errors()) {
318
- throw \GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed::dueToIDNAError($host, $info);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  }
320
- return $info->result();
321
  }
322
  /**
323
  * Validate and Format the IPv6/IPvfuture host.
@@ -609,7 +680,8 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
609
  if (null !== $server['SERVER_PORT']) {
610
  $server['SERVER_PORT'] = (int) $server['SERVER_PORT'];
611
  }
612
- if (isset($server['HTTP_HOST']) && 1 === \preg_match(self::REGEXP_HOST_PORT, $server['HTTP_HOST'], $matches)) {
 
613
  return [$matches['host'], isset($matches['port']) ? (int) $matches['port'] : $server['SERVER_PORT']];
614
  }
615
  if (!isset($server['SERVER_ADDR'])) {
@@ -859,24 +931,20 @@ final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
859
  }
860
  return $scheme . $authority . $path . $query . $fragment;
861
  }
862
- public function toString() : string
863
- {
864
- $this->uri = $this->uri ?? $this->getUriString($this->scheme, $this->authority, $this->path, $this->query, $this->fragment);
865
- return $this->uri;
866
- }
867
  /**
868
  * {@inheritDoc}
869
  */
870
  public function __toString() : string
871
  {
872
- return $this->toString();
 
873
  }
874
  /**
875
  * {@inheritDoc}
876
  */
877
  public function jsonSerialize() : string
878
  {
879
- return $this->toString();
880
  }
881
  /**
882
  * {@inheritDoc}
13
 
14
  use GFPDF_Vendor\League\Uri\Contracts\UriInterface;
15
  use GFPDF_Vendor\League\Uri\Exceptions\FileinfoSupportMissing;
 
16
  use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
17
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
 
18
  use Psr\Http\Message\UriInterface as Psr7UriInterface;
19
  use function array_filter;
20
  use function array_map;
21
  use function base64_decode;
22
  use function base64_encode;
23
  use function count;
24
+ use function defined;
25
  use function explode;
26
  use function file_get_contents;
27
  use function filter_var;
28
+ use function function_exists;
29
+ use function idn_to_ascii;
30
  use function implode;
31
  use function in_array;
32
  use function inet_pton;
50
  use const FILTER_NULL_ON_FAILURE;
51
  use const FILTER_VALIDATE_BOOLEAN;
52
  use const FILTER_VALIDATE_IP;
53
+ use const IDNA_CHECK_BIDI;
54
+ use const IDNA_CHECK_CONTEXTJ;
55
+ use const IDNA_ERROR_BIDI;
56
+ use const IDNA_ERROR_CONTEXTJ;
57
+ use const IDNA_ERROR_DISALLOWED;
58
+ use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
59
+ use const IDNA_ERROR_EMPTY_LABEL;
60
+ use const IDNA_ERROR_HYPHEN_3_4;
61
+ use const IDNA_ERROR_INVALID_ACE_LABEL;
62
+ use const IDNA_ERROR_LABEL_HAS_DOT;
63
+ use const IDNA_ERROR_LABEL_TOO_LONG;
64
+ use const IDNA_ERROR_LEADING_COMBINING_MARK;
65
+ use const IDNA_ERROR_LEADING_HYPHEN;
66
+ use const IDNA_ERROR_PUNYCODE;
67
+ use const IDNA_ERROR_TRAILING_HYPHEN;
68
+ use const IDNA_NONTRANSITIONAL_TO_ASCII;
69
+ use const IDNA_NONTRANSITIONAL_TO_UNICODE;
70
+ use const INTL_IDNA_VARIANT_UTS46;
71
  final class Uri implements \GFPDF_Vendor\League\Uri\Contracts\UriInterface
72
  {
73
  /**
129
  (?<sub_delims>[!$&\'()*+,;=:]) # also include the : character
130
  )+
131
  $/ix';
 
 
 
 
132
  /**
133
  * Significant 10 bits of IP to detect Zone ID regular expression pattern.
134
  */
321
  */
322
  private function formatRegisteredName(string $host) : string
323
  {
324
+ // @codeCoverageIgnoreStart
325
+ // added because it is not possible in travis to disabled the ext/intl extension
326
+ // see travis issue https://github.com/travis-ci/travis-ci/issues/4701
327
+ static $idn_support = null;
328
+ $idn_support = $idn_support ?? \function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46');
329
+ // @codeCoverageIgnoreEnd
330
  $formatted_host = \rawurldecode($host);
331
  if (1 === \preg_match(self::REGEXP_HOST_REGNAME, $formatted_host)) {
332
+ $formatted_host = \strtolower($formatted_host);
333
+ if (\false === \strpos($formatted_host, 'xn--')) {
334
+ return $formatted_host;
335
+ }
336
+ // @codeCoverageIgnoreStart
337
+ if (!$idn_support) {
338
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
339
+ }
340
+ // @codeCoverageIgnoreEnd
341
+ $unicode = \idn_to_utf8($host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_UNICODE, \INTL_IDNA_VARIANT_UTS46, $arr);
342
+ if (0 !== $arr['errors']) {
343
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, $this->getIDNAErrors($arr['errors'])));
344
+ }
345
+ // @codeCoverageIgnoreStart
346
+ if (\false === $unicode) {
347
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
348
+ }
349
+ // @codeCoverageIgnoreEnd
350
  return $formatted_host;
351
  }
352
  if (1 === \preg_match(self::REGEXP_HOST_GEN_DELIMS, $formatted_host)) {
353
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : a registered name can not contain URI delimiters or spaces', $host));
354
  }
355
+ // @codeCoverageIgnoreStart
356
+ if (!$idn_support) {
357
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
358
+ }
359
+ // @codeCoverageIgnoreEnd
360
+ $formatted_host = \idn_to_ascii($formatted_host, \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_ASCII, \INTL_IDNA_VARIANT_UTS46, $arr);
361
+ if ([] === $arr) {
362
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid', $host));
363
+ }
364
+ if (0 !== $arr['errors']) {
365
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, $this->getIDNAErrors($arr['errors'])));
366
+ }
367
+ // @codeCoverageIgnoreStart
368
+ if (\false === $formatted_host) {
369
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
370
+ }
371
+ // @codeCoverageIgnoreEnd
372
+ return $arr['result'];
373
+ }
374
+ /**
375
+ * Retrieves and format IDNA conversion error message.
376
+ *
377
+ * @link http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
378
+ */
379
+ private function getIDNAErrors(int $error_byte) : string
380
+ {
381
+ /**
382
+ * IDNA errors.
383
+ */
384
+ static $idnErrors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
385
+ $res = [];
386
+ foreach ($idnErrors as $error => $reason) {
387
+ if ($error === ($error_byte & $error)) {
388
+ $res[] = $reason;
389
+ }
390
  }
391
+ return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
392
  }
393
  /**
394
  * Validate and Format the IPv6/IPvfuture host.
680
  if (null !== $server['SERVER_PORT']) {
681
  $server['SERVER_PORT'] = (int) $server['SERVER_PORT'];
682
  }
683
+ if (isset($server['HTTP_HOST'])) {
684
+ \preg_match(',^(?<host>(\\[.*]|[^:])*)(:(?<port>[^/?#]*))?$,x', $server['HTTP_HOST'], $matches);
685
  return [$matches['host'], isset($matches['port']) ? (int) $matches['port'] : $server['SERVER_PORT']];
686
  }
687
  if (!isset($server['SERVER_ADDR'])) {
931
  }
932
  return $scheme . $authority . $path . $query . $fragment;
933
  }
 
 
 
 
 
934
  /**
935
  * {@inheritDoc}
936
  */
937
  public function __toString() : string
938
  {
939
+ $this->uri = $this->uri ?? $this->getUriString($this->scheme, $this->authority, $this->path, $this->query, $this->fragment);
940
+ return $this->uri;
941
  }
942
  /**
943
  * {@inheritDoc}
944
  */
945
  public function jsonSerialize() : string
946
  {
947
+ return $this->__toString();
948
  }
949
  /**
950
  * {@inheritDoc}
vendor_prefixed/league/uri/src/UriString.php CHANGED
@@ -11,14 +11,16 @@
11
  declare (strict_types=1);
12
  namespace GFPDF_Vendor\League\Uri;
13
 
14
- use GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed;
15
  use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
16
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
17
- use GFPDF_Vendor\League\Uri\Idna\Idna;
18
  use function array_merge;
 
19
  use function explode;
20
  use function filter_var;
 
21
  use function gettype;
 
 
22
  use function inet_pton;
23
  use function is_object;
24
  use function is_scalar;
@@ -30,6 +32,20 @@ use function strpos;
30
  use function substr;
31
  use const FILTER_FLAG_IPV6;
32
  use const FILTER_VALIDATE_IP;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  /**
34
  * A class to parse a URI string according to RFC3986.
35
  *
@@ -345,20 +361,78 @@ final class UriString
345
  */
346
  private static function filterRegisteredName(string $host) : string
347
  {
 
 
 
 
 
 
348
  $formatted_host = \rawurldecode($host);
349
  if (1 === \preg_match(self::REGEXP_REGISTERED_NAME, $formatted_host)) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
350
  return $host;
351
  }
352
  //to test IDN host non-ascii characters must be present in the host
353
  if (1 !== \preg_match(self::REGEXP_IDN_PATTERN, $formatted_host)) {
354
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
355
  }
356
- $info = \GFPDF_Vendor\League\Uri\Idna\Idna::toAscii($host, \GFPDF_Vendor\League\Uri\Idna\Idna::IDNA2008_ASCII);
357
- if (0 !== $info->errors()) {
358
- throw \GFPDF_Vendor\League\Uri\Exceptions\IdnaConversionFailed::dueToIDNAError($host, $info);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
359
  }
360
  return $host;
361
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
362
  /**
363
  * Validates a IPv6/IPvfuture host.
364
  *
11
  declare (strict_types=1);
12
  namespace GFPDF_Vendor\League\Uri;
13
 
 
14
  use GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing;
15
  use GFPDF_Vendor\League\Uri\Exceptions\SyntaxError;
 
16
  use function array_merge;
17
+ use function defined;
18
  use function explode;
19
  use function filter_var;
20
+ use function function_exists;
21
  use function gettype;
22
+ use function idn_to_ascii;
23
+ use function implode;
24
  use function inet_pton;
25
  use function is_object;
26
  use function is_scalar;
32
  use function substr;
33
  use const FILTER_FLAG_IPV6;
34
  use const FILTER_VALIDATE_IP;
35
+ use const IDNA_ERROR_BIDI;
36
+ use const IDNA_ERROR_CONTEXTJ;
37
+ use const IDNA_ERROR_DISALLOWED;
38
+ use const IDNA_ERROR_DOMAIN_NAME_TOO_LONG;
39
+ use const IDNA_ERROR_EMPTY_LABEL;
40
+ use const IDNA_ERROR_HYPHEN_3_4;
41
+ use const IDNA_ERROR_INVALID_ACE_LABEL;
42
+ use const IDNA_ERROR_LABEL_HAS_DOT;
43
+ use const IDNA_ERROR_LABEL_TOO_LONG;
44
+ use const IDNA_ERROR_LEADING_COMBINING_MARK;
45
+ use const IDNA_ERROR_LEADING_HYPHEN;
46
+ use const IDNA_ERROR_PUNYCODE;
47
+ use const IDNA_ERROR_TRAILING_HYPHEN;
48
+ use const INTL_IDNA_VARIANT_UTS46;
49
  /**
50
  * A class to parse a URI string according to RFC3986.
51
  *
361
  */
362
  private static function filterRegisteredName(string $host) : string
363
  {
364
+ // @codeCoverageIgnoreStart
365
+ // added because it is not possible in travis to disabled the ext/intl extension
366
+ // see travis issue https://github.com/travis-ci/travis-ci/issues/4701
367
+ static $idn_support = null;
368
+ $idn_support = $idn_support ?? \function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46');
369
+ // @codeCoverageIgnoreEnd
370
  $formatted_host = \rawurldecode($host);
371
  if (1 === \preg_match(self::REGEXP_REGISTERED_NAME, $formatted_host)) {
372
+ if (\false === \strpos($formatted_host, 'xn--')) {
373
+ return $host;
374
+ }
375
+ // @codeCoverageIgnoreStart
376
+ if (!$idn_support) {
377
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
378
+ }
379
+ // @codeCoverageIgnoreEnd
380
+ $unicode = \idn_to_utf8($host, 0, \INTL_IDNA_VARIANT_UTS46, $arr);
381
+ if (0 !== $arr['errors']) {
382
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('The host `%s` is invalid : %s', $host, self::getIDNAErrors($arr['errors'])));
383
+ }
384
+ // @codeCoverageIgnoreStart
385
+ if (\false === $unicode) {
386
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
387
+ }
388
+ // @codeCoverageIgnoreEnd
389
  return $host;
390
  }
391
  //to test IDN host non-ascii characters must be present in the host
392
  if (1 !== \preg_match(self::REGEXP_IDN_PATTERN, $formatted_host)) {
393
  throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
394
  }
395
+ // @codeCoverageIgnoreStart
396
+ if (!$idn_support) {
397
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('the host `%s` could not be processed for IDN. Verify that ext/intl is installed for IDN support and that ICU is at least version 4.6.', $host));
398
+ }
399
+ // @codeCoverageIgnoreEnd
400
+ $retval = \idn_to_ascii($formatted_host, 0, \INTL_IDNA_VARIANT_UTS46, $arr);
401
+ if ([] === $arr) {
402
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is not a valid IDN host', $host));
403
+ }
404
+ if (0 !== $arr['errors']) {
405
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is not a valid IDN host : %s', $host, self::getIDNAErrors($arr['errors'])));
406
+ }
407
+ // @codeCoverageIgnoreStart
408
+ if (\false === $retval) {
409
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\IdnSupportMissing(\sprintf('The Intl extension is misconfigured for %s, please correct this issue before proceeding.', \PHP_OS));
410
+ }
411
+ // @codeCoverageIgnoreEnd
412
+ if (\false !== \strpos($retval, '%')) {
413
+ throw new \GFPDF_Vendor\League\Uri\Exceptions\SyntaxError(\sprintf('Host `%s` is invalid : the host is not a valid registered name', $host));
414
  }
415
  return $host;
416
  }
417
+ /**
418
+ * Retrieves and format IDNA conversion error message.
419
+ *
420
+ * @link http://icu-project.org/apiref/icu4j/com/ibm/icu/text/IDNA.Error.html
421
+ */
422
+ private static function getIDNAErrors(int $error_byte) : string
423
+ {
424
+ /**
425
+ * IDNA errors.
426
+ */
427
+ static $idn_errors = [\IDNA_ERROR_EMPTY_LABEL => 'a non-final domain name label (or the whole domain name) is empty', \IDNA_ERROR_LABEL_TOO_LONG => 'a domain name label is longer than 63 bytes', \IDNA_ERROR_DOMAIN_NAME_TOO_LONG => 'a domain name is longer than 255 bytes in its storage form', \IDNA_ERROR_LEADING_HYPHEN => 'a label starts with a hyphen-minus ("-")', \IDNA_ERROR_TRAILING_HYPHEN => 'a label ends with a hyphen-minus ("-")', \IDNA_ERROR_HYPHEN_3_4 => 'a label contains hyphen-minus ("-") in the third and fourth positions', \IDNA_ERROR_LEADING_COMBINING_MARK => 'a label starts with a combining mark', \IDNA_ERROR_DISALLOWED => 'a label or domain name contains disallowed characters', \IDNA_ERROR_PUNYCODE => 'a label starts with "xn--" but does not contain valid Punycode', \IDNA_ERROR_LABEL_HAS_DOT => 'a label contains a dot=full stop', \IDNA_ERROR_INVALID_ACE_LABEL => 'An ACE label does not contain a valid label string', \IDNA_ERROR_BIDI => 'a label does not meet the IDNA BiDi requirements (for right-to-left characters)', \IDNA_ERROR_CONTEXTJ => 'a label does not meet the IDNA CONTEXTJ requirements'];
428
+ $res = [];
429
+ foreach ($idn_errors as $error => $reason) {
430
+ if ($error === ($error_byte & $error)) {
431
+ $res[] = $reason;
432
+ }
433
+ }
434
+ return [] === $res ? 'Unknown IDNA conversion error.' : \implode(', ', $res) . '.';
435
+ }
436
  /**
437
  * Validates a IPv6/IPvfuture host.
438
  *
vendor_prefixed/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php CHANGED
@@ -120,7 +120,7 @@ class DOMTreeBuilder implements \GFPDF_Vendor\Masterminds\HTML5\Parser\EventHand
120
  // documents, and attempting to up-convert any older DTDs to HTML5.
121
  $dt = $impl->createDocumentType('html');
122
  // $this->doc = \DOMImplementation::createDocument(NULL, 'html', $dt);
123
- $this->doc = $impl->createDocument(null, '', $dt);
124
  $this->doc->encoding = !empty($options['encoding']) ? $options['encoding'] : 'UTF-8';
125
  }
126
  $this->errors = array();
@@ -315,7 +315,6 @@ class DOMTreeBuilder implements \GFPDF_Vendor\Masterminds\HTML5\Parser\EventHand
315
  } elseif ($this->insertMode === static::IM_IN_MATHML) {
316
  $aName = \GFPDF_Vendor\Masterminds\HTML5\Elements::normalizeMathMlAttribute($aName);
317
  }
318
- $aVal = (string) $aVal;
319
  try {
320
  $prefix = ($pos = \strpos($aName, ':')) ? \substr($aName, 0, $pos) : \false;
321
  if ('xmlns' === $prefix) {
120
  // documents, and attempting to up-convert any older DTDs to HTML5.
121
  $dt = $impl->createDocumentType('html');
122
  // $this->doc = \DOMImplementation::createDocument(NULL, 'html', $dt);
123
+ $this->doc = $impl->createDocument(null, null, $dt);
124
  $this->doc->encoding = !empty($options['encoding']) ? $options['encoding'] : 'UTF-8';
125
  }
126
  $this->errors = array();
315
  } elseif ($this->insertMode === static::IM_IN_MATHML) {
316
  $aName = \GFPDF_Vendor\Masterminds\HTML5\Elements::normalizeMathMlAttribute($aName);
317
  }
 
318
  try {
319
  $prefix = ($pos = \strpos($aName, ':')) ? \substr($aName, 0, $pos) : \false;
320
  if ('xmlns' === $prefix) {
vendor_prefixed/monolog/src/Monolog/ErrorHandler.php CHANGED
@@ -24,27 +24,16 @@ use Psr\Log\LogLevel;
24
  */
25
  class ErrorHandler
26
  {
27
- /** @var LoggerInterface */
28
  private $logger;
29
- /** @var ?callable */
30
- private $previousExceptionHandler = null;
31
- /** @var array<class-string, LogLevel::*> an array of class name to LogLevel::* constant mapping */
32
- private $uncaughtExceptionLevelMap = [];
33
- /** @var callable|true|null */
34
- private $previousErrorHandler = null;
35
- /** @var array<int, LogLevel::*> an array of E_* constant to LogLevel::* constant mapping */
36
- private $errorLevelMap = [];
37
- /** @var bool */
38
- private $handleOnlyReportedErrors = \true;
39
- /** @var bool */
40
- private $hasFatalErrorHandler = \false;
41
- /** @var LogLevel::* */
42
- private $fatalLevel = \Psr\Log\LogLevel::ALERT;
43
- /** @var ?string */
44
- private $reservedMemory = null;
45
- /** @var ?mixed */
46
  private $lastFatalTrace;
47
- /** @var int[] */
48
  private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
49
  public function __construct(\Psr\Log\LoggerInterface $logger)
50
  {
@@ -55,10 +44,10 @@ class ErrorHandler
55
  *
56
  * By default it will handle errors, exceptions and fatal errors
57
  *
58
- * @param LoggerInterface $logger
59
- * @param array<int, LogLevel::*>|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling
60
- * @param array<class-string, LogLevel::*>|false $exceptionLevelMap an array of class name to LogLevel::* constant mapping, or false to disable exception handling
61
- * @param LogLevel::*|null|false $fatalLevel a LogLevel::* constant, null to use the default LogLevel::ALERT or false to disable fatal error handling
62
  * @return ErrorHandler
63
  */
64
  public static function register(\Psr\Log\LoggerInterface $logger, $errorLevelMap = [], $exceptionLevelMap = [], $fatalLevel = null) : self
@@ -76,11 +65,7 @@ class ErrorHandler
76
  }
77
  return $handler;
78
  }
79
- /**
80
- * @param array<class-string, LogLevel::*> $levelMap an array of class name to LogLevel::* constant mapping
81
- * @return $this
82
- */
83
- public function registerExceptionHandler(array $levelMap = [], bool $callPrevious = \true) : self
84
  {
85
  $prev = \set_exception_handler(function (\Throwable $e) : void {
86
  $this->handleException($e);
@@ -96,52 +81,37 @@ class ErrorHandler
96
  }
97
  return $this;
98
  }
99
- /**
100
- * @param array<int, LogLevel::*> $levelMap an array of E_* constant to LogLevel::* constant mapping
101
- * @return $this
102
- */
103
- public function registerErrorHandler(array $levelMap = [], bool $callPrevious = \true, int $errorTypes = -1, bool $handleOnlyReportedErrors = \true) : self
104
  {
105
  $prev = \set_error_handler([$this, 'handleError'], $errorTypes);
106
  $this->errorLevelMap = \array_replace($this->defaultErrorLevelMap(), $levelMap);
107
  if ($callPrevious) {
108
  $this->previousErrorHandler = $prev ?: \true;
109
- } else {
110
- $this->previousErrorHandler = null;
111
  }
112
  $this->handleOnlyReportedErrors = $handleOnlyReportedErrors;
113
  return $this;
114
  }
115
  /**
116
- * @param LogLevel::*|null $level a LogLevel::* constant, null to use the default LogLevel::ALERT
117
- * @param int $reservedMemorySize Amount of KBs to reserve in memory so that it can be freed when handling fatal errors giving Monolog some room in memory to get its job done
118
  */
119
  public function registerFatalHandler($level = null, int $reservedMemorySize = 20) : self
120
  {
121
  \register_shutdown_function([$this, 'handleFatalError']);
122
  $this->reservedMemory = \str_repeat(' ', 1024 * $reservedMemorySize);
123
- $this->fatalLevel = null === $level ? \Psr\Log\LogLevel::ALERT : $level;
124
  $this->hasFatalErrorHandler = \true;
125
  return $this;
126
  }
127
- /**
128
- * @return array<class-string, LogLevel::*>
129
- */
130
  protected function defaultExceptionLevelMap() : array
131
  {
132
  return ['ParseError' => \Psr\Log\LogLevel::CRITICAL, 'Throwable' => \Psr\Log\LogLevel::ERROR];
133
  }
134
- /**
135
- * @return array<int, LogLevel::*>
136
- */
137
  protected function defaultErrorLevelMap() : array
138
  {
139
  return [\E_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_WARNING => \Psr\Log\LogLevel::WARNING, \E_PARSE => \Psr\Log\LogLevel::ALERT, \E_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_CORE_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_CORE_WARNING => \Psr\Log\LogLevel::WARNING, \E_COMPILE_ERROR => \Psr\Log\LogLevel::ALERT, \E_COMPILE_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_ERROR => \Psr\Log\LogLevel::ERROR, \E_USER_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_STRICT => \Psr\Log\LogLevel::NOTICE, \E_RECOVERABLE_ERROR => \Psr\Log\LogLevel::ERROR, \E_DEPRECATED => \Psr\Log\LogLevel::NOTICE, \E_USER_DEPRECATED => \Psr\Log\LogLevel::NOTICE];
140
  }
141
- /**
142
- * @phpstan-return never
143
- */
144
- private function handleException(\Throwable $e) : void
145
  {
146
  $level = \Psr\Log\LogLevel::ERROR;
147
  foreach ($this->uncaughtExceptionLevelMap as $class => $candidate) {
@@ -161,13 +131,11 @@ class ErrorHandler
161
  }
162
  /**
163
  * @private
164
- *
165
- * @param mixed[] $context
166
  */
167
- public function handleError(int $code, string $message, string $file = '', int $line = 0, array $context = []) : bool
168
  {
169
  if ($this->handleOnlyReportedErrors && !(\error_reporting() & $code)) {
170
- return \false;
171
  }
172
  // fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries
173
  if (!$this->hasFatalErrorHandler || !\in_array($code, self::$fatalErrors, \true)) {
@@ -182,19 +150,19 @@ class ErrorHandler
182
  if ($this->previousErrorHandler === \true) {
183
  return \false;
184
  } elseif ($this->previousErrorHandler) {
185
- return (bool) ($this->previousErrorHandler)($code, $message, $file, $line, $context);
186
  }
187
  return \true;
188
  }
189
  /**
190
  * @private
191
  */
192
- public function handleFatalError() : void
193
  {
194
  $this->reservedMemory = '';
195
  $lastError = \error_get_last();
196
  if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
197
- $this->logger->log($this->fatalLevel, 'Fatal Error (' . self::codeToString($lastError['type']) . '): ' . $lastError['message'], ['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace]);
198
  if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
199
  foreach ($this->logger->getHandlers() as $handler) {
200
  $handler->close();
@@ -202,9 +170,6 @@ class ErrorHandler
202
  }
203
  }
204
  }
205
- /**
206
- * @param int $code
207
- */
208
  private static function codeToString($code) : string
209
  {
210
  switch ($code) {
24
  */
25
  class ErrorHandler
26
  {
 
27
  private $logger;
28
+ private $previousExceptionHandler;
29
+ private $uncaughtExceptionLevelMap;
30
+ private $previousErrorHandler;
31
+ private $errorLevelMap;
32
+ private $handleOnlyReportedErrors;
33
+ private $hasFatalErrorHandler;
34
+ private $fatalLevel;
35
+ private $reservedMemory;
 
 
 
 
 
 
 
 
 
36
  private $lastFatalTrace;
 
37
  private static $fatalErrors = [\E_ERROR, \E_PARSE, \E_CORE_ERROR, \E_COMPILE_ERROR, \E_USER_ERROR];
38
  public function __construct(\Psr\Log\LoggerInterface $logger)
39
  {
44
  *
45
  * By default it will handle errors, exceptions and fatal errors
46
  *
47
+ * @param LoggerInterface $logger
48
+ * @param array|false $errorLevelMap an array of E_* constant to LogLevel::* constant mapping, or false to disable error handling
49
+ * @param array|false $exceptionLevelMap an array of class name to LogLevel::* constant mapping, or false to disable exception handling
50
+ * @param string|null|false $fatalLevel a LogLevel::* constant, null to use the default LogLevel::ALERT or false to disable fatal error handling
51
  * @return ErrorHandler
52
  */
53
  public static function register(\Psr\Log\LoggerInterface $logger, $errorLevelMap = [], $exceptionLevelMap = [], $fatalLevel = null) : self
65
  }
66
  return $handler;
67
  }
68
+ public function registerExceptionHandler($levelMap = [], $callPrevious = \true) : self
 
 
 
 
69
  {
70
  $prev = \set_exception_handler(function (\Throwable $e) : void {
71
  $this->handleException($e);
81
  }
82
  return $this;
83
  }
84
+ public function registerErrorHandler(array $levelMap = [], $callPrevious = \true, $errorTypes = -1, $handleOnlyReportedErrors = \true) : self
 
 
 
 
85
  {
86
  $prev = \set_error_handler([$this, 'handleError'], $errorTypes);
87
  $this->errorLevelMap = \array_replace($this->defaultErrorLevelMap(), $levelMap);
88
  if ($callPrevious) {
89
  $this->previousErrorHandler = $prev ?: \true;
 
 
90
  }
91
  $this->handleOnlyReportedErrors = $handleOnlyReportedErrors;
92
  return $this;
93
  }
94
  /**
95
+ * @param string|null $level a LogLevel::* constant, null to use the default LogLevel::ALERT or false to disable fatal error handling
96
+ * @param int $reservedMemorySize Amount of KBs to reserve in memory so that it can be freed when handling fatal errors giving Monolog some room in memory to get its job done
97
  */
98
  public function registerFatalHandler($level = null, int $reservedMemorySize = 20) : self
99
  {
100
  \register_shutdown_function([$this, 'handleFatalError']);
101
  $this->reservedMemory = \str_repeat(' ', 1024 * $reservedMemorySize);
102
+ $this->fatalLevel = $level;
103
  $this->hasFatalErrorHandler = \true;
104
  return $this;
105
  }
 
 
 
106
  protected function defaultExceptionLevelMap() : array
107
  {
108
  return ['ParseError' => \Psr\Log\LogLevel::CRITICAL, 'Throwable' => \Psr\Log\LogLevel::ERROR];
109
  }
 
 
 
110
  protected function defaultErrorLevelMap() : array
111
  {
112
  return [\E_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_WARNING => \Psr\Log\LogLevel::WARNING, \E_PARSE => \Psr\Log\LogLevel::ALERT, \E_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_CORE_ERROR => \Psr\Log\LogLevel::CRITICAL, \E_CORE_WARNING => \Psr\Log\LogLevel::WARNING, \E_COMPILE_ERROR => \Psr\Log\LogLevel::ALERT, \E_COMPILE_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_ERROR => \Psr\Log\LogLevel::ERROR, \E_USER_WARNING => \Psr\Log\LogLevel::WARNING, \E_USER_NOTICE => \Psr\Log\LogLevel::NOTICE, \E_STRICT => \Psr\Log\LogLevel::NOTICE, \E_RECOVERABLE_ERROR => \Psr\Log\LogLevel::ERROR, \E_DEPRECATED => \Psr\Log\LogLevel::NOTICE, \E_USER_DEPRECATED => \Psr\Log\LogLevel::NOTICE];
113
  }
114
+ private function handleException(\Throwable $e)
 
 
 
115
  {
116
  $level = \Psr\Log\LogLevel::ERROR;
117
  foreach ($this->uncaughtExceptionLevelMap as $class => $candidate) {
131
  }
132
  /**
133
  * @private
 
 
134
  */
135
+ public function handleError($code, $message, $file = '', $line = 0, $context = [])
136
  {
137
  if ($this->handleOnlyReportedErrors && !(\error_reporting() & $code)) {
138
+ return;
139
  }
140
  // fatal error codes are ignored if a fatal error handler is present as well to avoid duplicate log entries
141
  if (!$this->hasFatalErrorHandler || !\in_array($code, self::$fatalErrors, \true)) {
150
  if ($this->previousErrorHandler === \true) {
151
  return \false;
152
  } elseif ($this->previousErrorHandler) {
153
+ return ($this->previousErrorHandler)($code, $message, $file, $line, $context);
154
  }
155
  return \true;
156
  }
157
  /**
158
  * @private
159
  */
160
+ public function handleFatalError()
161
  {
162
  $this->reservedMemory = '';
163
  $lastError = \error_get_last();
164
  if ($lastError && \in_array($lastError['type'], self::$fatalErrors, \true)) {
165
+ $this->logger->log($this->fatalLevel === null ? \Psr\Log\LogLevel::ALERT : $this->fatalLevel, 'Fatal Error (' . self::codeToString($lastError['type']) . '): ' . $lastError['message'], ['code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace]);
166
  if ($this->logger instanceof \GFPDF_Vendor\Monolog\Logger) {
167
  foreach ($this->logger->getHandlers() as $handler) {
168
  $handler->close();
170
  }
171
  }
172
  }
 
 
 
173
  private static function codeToString($code) : string
174
  {
175
  switch ($code) {
vendor_prefixed/monolog/src/Monolog/Formatter/ChromePHPFormatter.php CHANGED
@@ -21,12 +21,10 @@ class ChromePHPFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInt
21
  {
22
  /**
23
  * Translates Monolog log levels to Wildfire levels.
24
- *
25
- * @var array<int, 'log'|'info'|'warn'|'error'>
26
  */
27
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'log', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warn', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'error', \GFPDF_Vendor\Monolog\Logger::ALERT => 'error', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'error'];
28
  /**
29
- * {@inheritDoc}
30
  */
31
  public function format(array $record)
32
  {
@@ -49,7 +47,7 @@ class ChromePHPFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInt
49
  return [$record['channel'], $message, $backtrace, $this->logLevels[$record['level']]];
50
  }
51
  /**
52
- * {@inheritDoc}
53
  */
54
  public function formatBatch(array $records)
55
  {
21
  {
22
  /**
23
  * Translates Monolog log levels to Wildfire levels.
 
 
24
  */
25
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'log', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warn', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'error', \GFPDF_Vendor\Monolog\Logger::ALERT => 'error', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'error'];
26
  /**
27
+ * {@inheritdoc}
28
  */
29
  public function format(array $record)
30
  {
47
  return [$record['channel'], $message, $backtrace, $this->logLevels[$record['level']]];
48
  }
49
  /**
50
+ * {@inheritdoc}
51
  */
52
  public function formatBatch(array $records)
53
  {
vendor_prefixed/monolog/src/Monolog/Formatter/ElasticaFormatter.php CHANGED
@@ -16,8 +16,6 @@ use GFPDF_Vendor\Elastica\Document;
16
  * Format a log message into an Elastica Document
17
  *
18
  * @author Jelle Vink <jelle.vink@gmail.com>
19
- *
20
- * @phpstan-import-type Record from \Monolog\Logger
21
  */
22
  class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
23
  {
@@ -41,7 +39,7 @@ class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
41
  $this->type = $type;
42
  }
43
  /**
44
- * {@inheritDoc}
45
  */
46
  public function format(array $record)
47
  {
@@ -57,20 +55,18 @@ class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
57
  */
58
  public function getType() : string
59
  {
60
- /** @phpstan-ignore-next-line */
61
  return $this->type;
62
  }
63
  /**
64
  * Convert a log message into an Elastica Document
65
- *
66
- * @phpstan-param Record $record
67
  */
68
  protected function getDocument(array $record) : \GFPDF_Vendor\Elastica\Document
69
  {
70
  $document = new \GFPDF_Vendor\Elastica\Document();
71
  $document->setData($record);
72
  if (\method_exists($document, 'setType')) {
73
- /** @phpstan-ignore-next-line */
74
  $document->setType($this->type);
75
  }
76
  $document->setIndex($this->index);
16
  * Format a log message into an Elastica Document
17
  *
18
  * @author Jelle Vink <jelle.vink@gmail.com>
 
 
19
  */
20
  class ElasticaFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
21
  {
39
  $this->type = $type;
40
  }
41
  /**
42
+ * {@inheritdoc}
43
  */
44
  public function format(array $record)
45
  {
55
  */
56
  public function getType() : string
57
  {
 
58
  return $this->type;
59
  }
60
  /**
61
  * Convert a log message into an Elastica Document
62
+ * @param array $record
63
+ * @return Document
64
  */
65
  protected function getDocument(array $record) : \GFPDF_Vendor\Elastica\Document
66
  {
67
  $document = new \GFPDF_Vendor\Elastica\Document();
68
  $document->setData($record);
69
  if (\method_exists($document, 'setType')) {
 
70
  $document->setType($this->type);
71
  }
72
  $document->setIndex($this->index);
vendor_prefixed/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php CHANGED
@@ -11,7 +11,7 @@ declare (strict_types=1);
11
  */
12
  namespace GFPDF_Vendor\Monolog\Formatter;
13
 
14
- use DateTimeInterface;
15
  /**
16
  * Format a log message into an Elasticsearch record
17
  *
@@ -34,12 +34,12 @@ class ElasticsearchFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerF
34
  public function __construct(string $index, string $type)
35
  {
36
  // Elasticsearch requires an ISO 8601 format date with optional millisecond precision.
37
- parent::__construct(\DateTimeInterface::ISO8601);
38
  $this->index = $index;
39
  $this->type = $type;
40
  }
41
  /**
42
- * {@inheritDoc}
43
  */
44
  public function format(array $record)
45
  {
@@ -67,8 +67,8 @@ class ElasticsearchFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerF
67
  /**
68
  * Convert a log message into an Elasticsearch record
69
  *
70
- * @param mixed[] $record Log message
71
- * @return mixed[]
72
  */
73
  protected function getDocument(array $record) : array
74
  {
11
  */
12
  namespace GFPDF_Vendor\Monolog\Formatter;
13
 
14
+ use DateTime;
15
  /**
16
  * Format a log message into an Elasticsearch record
17
  *
34
  public function __construct(string $index, string $type)
35
  {
36
  // Elasticsearch requires an ISO 8601 format date with optional millisecond precision.
37
+ parent::__construct(\DateTime::ISO8601);
38
  $this->index = $index;
39
  $this->type = $type;
40
  }
41
  /**
42
+ * {@inheritdoc}
43
  */
44
  public function format(array $record)
45
  {
67
  /**
68
  * Convert a log message into an Elasticsearch record
69
  *
70
+ * @param array $record Log message
71
+ * @return array
72
  */
73
  protected function getDocument(array $record) : array
74
  {
vendor_prefixed/monolog/src/Monolog/Formatter/FlowdockFormatter.php CHANGED
@@ -32,9 +32,7 @@ class FlowdockFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInte
32
  $this->sourceEmail = $sourceEmail;
33
  }
34
  /**
35
- * {@inheritDoc}
36
- *
37
- * @return mixed[]
38
  */
39
  public function format(array $record) : array
40
  {
@@ -47,9 +45,7 @@ class FlowdockFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInte
47
  return $record;
48
  }
49
  /**
50
- * {@inheritDoc}
51
- *
52
- * @return mixed[][]
53
  */
54
  public function formatBatch(array $records) : array
55
  {
32
  $this->sourceEmail = $sourceEmail;
33
  }
34
  /**
35
+ * {@inheritdoc}
 
 
36
  */
37
  public function format(array $record) : array
38
  {
45
  return $record;
46
  }
47
  /**
48
+ * {@inheritdoc}
 
 
49
  */
50
  public function formatBatch(array $records) : array
51
  {
vendor_prefixed/monolog/src/Monolog/Formatter/FormatterInterface.php CHANGED
@@ -15,8 +15,6 @@ namespace GFPDF_Vendor\Monolog\Formatter;
15
  * Interface for formatters
16
  *
17
  * @author Jordi Boggiano <j.boggiano@seld.be>
18
- *
19
- * @phpstan-import-type Record from \Monolog\Logger
20
  */
21
  interface FormatterInterface
22
  {
@@ -25,8 +23,6 @@ interface FormatterInterface
25
  *
26
  * @param array $record A record to format
27
  * @return mixed The formatted record
28
- *
29
- * @phpstan-param Record $record
30
  */
31
  public function format(array $record);
32
  /**
@@ -34,8 +30,6 @@ interface FormatterInterface
34
  *
35
  * @param array $records A set of records to format
36
  * @return mixed The formatted set of records
37
- *
38
- * @phpstan-param Record[] $records
39
  */
40
  public function formatBatch(array $records);
41
  }
15
  * Interface for formatters
16
  *
17
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
18
  */
19
  interface FormatterInterface
20
  {
23
  *
24
  * @param array $record A record to format
25
  * @return mixed The formatted record
 
 
26
  */
27
  public function format(array $record);
28
  /**
30
  *
31
  * @param array $records A set of records to format
32
  * @return mixed The formatted set of records
 
 
33
  */
34
  public function formatBatch(array $records);
35
  }
vendor_prefixed/monolog/src/Monolog/Formatter/GelfMessageFormatter.php CHANGED
@@ -19,8 +19,6 @@ use GFPDF_Vendor\Monolog\Utils;
19
  * @see http://docs.graylog.org/en/latest/pages/gelf.html
20
  *
21
  * @author Matt Lehner <mlehner@gmail.com>
22
- *
23
- * @phpstan-import-type Level from \Monolog\Logger
24
  */
25
  class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
26
  {
@@ -43,33 +41,26 @@ class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFor
43
  protected $maxLength;
44
  /**
45
  * Translates Monolog log levels to Graylog2 log priorities.
46
- *
47
- * @var array<int, int>
48
- *
49
- * @phpstan-var array<Level, int>
50
  */
51
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 7, \GFPDF_Vendor\Monolog\Logger::INFO => 6, \GFPDF_Vendor\Monolog\Logger::NOTICE => 5, \GFPDF_Vendor\Monolog\Logger::WARNING => 4, \GFPDF_Vendor\Monolog\Logger::ERROR => 3, \GFPDF_Vendor\Monolog\Logger::CRITICAL => 2, \GFPDF_Vendor\Monolog\Logger::ALERT => 1, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 0];
52
  public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
53
  {
54
  parent::__construct('U.u');
55
- $this->systemName = \is_null($systemName) || $systemName === '' ? (string) \gethostname() : $systemName;
56
  $this->extraPrefix = \is_null($extraPrefix) ? '' : $extraPrefix;
57
  $this->contextPrefix = $contextPrefix;
58
  $this->maxLength = \is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength;
59
  }
60
  /**
61
- * {@inheritDoc}
62
  */
63
  public function format(array $record) : \GFPDF_Vendor\Gelf\Message
64
  {
65
- $context = $extra = [];
66
  if (isset($record['context'])) {
67
- /** @var mixed[] $context */
68
- $context = parent::normalize($record['context']);
69
  }
70
  if (isset($record['extra'])) {
71
- /** @var mixed[] $extra */
72
- $extra = parent::normalize($record['extra']);
73
  }
74
  if (!isset($record['datetime'], $record['message'], $record['level'])) {
75
  throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, ' . \var_export($record, \true) . ' given');
@@ -84,35 +75,35 @@ class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFor
84
  if (isset($record['channel'])) {
85
  $message->setFacility($record['channel']);
86
  }
87
- if (isset($extra['line'])) {
88
- $message->setLine($extra['line']);
89
- unset($extra['line']);
90
  }
91
- if (isset($extra['file'])) {
92
- $message->setFile($extra['file']);
93
- unset($extra['file']);
94
  }
95
- foreach ($extra as $key => $val) {
96
  $val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
97
  $len = \strlen($this->extraPrefix . $key . $val);
98
  if ($len > $this->maxLength) {
99
- $message->setAdditional($this->extraPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr((string) $val, 0, $this->maxLength));
100
  continue;
101
  }
102
  $message->setAdditional($this->extraPrefix . $key, $val);
103
  }
104
- foreach ($context as $key => $val) {
105
  $val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
106
  $len = \strlen($this->contextPrefix . $key . $val);
107
  if ($len > $this->maxLength) {
108
- $message->setAdditional($this->contextPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr((string) $val, 0, $this->maxLength));
109
  continue;
110
  }
111
  $message->setAdditional($this->contextPrefix . $key, $val);
112
  }
113
  /** @phpstan-ignore-next-line */
114
- if (null === $message->getFile() && isset($context['exception']['file'])) {
115
- if (\preg_match("/^(.+):([0-9]+)\$/", $context['exception']['file'], $matches)) {
116
  $message->setFile($matches[1]);
117
  $message->setLine($matches[2]);
118
  }
19
  * @see http://docs.graylog.org/en/latest/pages/gelf.html
20
  *
21
  * @author Matt Lehner <mlehner@gmail.com>
 
 
22
  */
23
  class GelfMessageFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
24
  {
41
  protected $maxLength;
42
  /**
43
  * Translates Monolog log levels to Graylog2 log priorities.
 
 
 
 
44
  */
45
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 7, \GFPDF_Vendor\Monolog\Logger::INFO => 6, \GFPDF_Vendor\Monolog\Logger::NOTICE => 5, \GFPDF_Vendor\Monolog\Logger::WARNING => 4, \GFPDF_Vendor\Monolog\Logger::ERROR => 3, \GFPDF_Vendor\Monolog\Logger::CRITICAL => 2, \GFPDF_Vendor\Monolog\Logger::ALERT => 1, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 0];
46
  public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
47
  {
48
  parent::__construct('U.u');
49
+ $this->systemName = \is_null($systemName) || $systemName === '' ? \gethostname() : $systemName;
50
  $this->extraPrefix = \is_null($extraPrefix) ? '' : $extraPrefix;
51
  $this->contextPrefix = $contextPrefix;
52
  $this->maxLength = \is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength;
53
  }
54
  /**
55
+ * {@inheritdoc}
56
  */
57
  public function format(array $record) : \GFPDF_Vendor\Gelf\Message
58
  {
 
59
  if (isset($record['context'])) {
60
+ $record['context'] = parent::format($record['context']);
 
61
  }
62
  if (isset($record['extra'])) {
63
+ $record['extra'] = parent::format($record['extra']);
 
64
  }
65
  if (!isset($record['datetime'], $record['message'], $record['level'])) {
66
  throw new \InvalidArgumentException('The record should at least contain datetime, message and level keys, ' . \var_export($record, \true) . ' given');
75
  if (isset($record['channel'])) {
76
  $message->setFacility($record['channel']);
77
  }
78
+ if (isset($record['extra']['line'])) {
79
+ $message->setLine($record['extra']['line']);
80
+ unset($record['extra']['line']);
81
  }
82
+ if (isset($record['extra']['file'])) {
83
+ $message->setFile($record['extra']['file']);
84
+ unset($record['extra']['file']);
85
  }
86
+ foreach ($record['extra'] as $key => $val) {
87
  $val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
88
  $len = \strlen($this->extraPrefix . $key . $val);
89
  if ($len > $this->maxLength) {
90
+ $message->setAdditional($this->extraPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr($val, 0, $this->maxLength));
91
  continue;
92
  }
93
  $message->setAdditional($this->extraPrefix . $key, $val);
94
  }
95
+ foreach ($record['context'] as $key => $val) {
96
  $val = \is_scalar($val) || null === $val ? $val : $this->toJson($val);
97
  $len = \strlen($this->contextPrefix . $key . $val);
98
  if ($len > $this->maxLength) {
99
+ $message->setAdditional($this->contextPrefix . $key, \GFPDF_Vendor\Monolog\Utils::substr($val, 0, $this->maxLength));
100
  continue;
101
  }
102
  $message->setAdditional($this->contextPrefix . $key, $val);
103
  }
104
  /** @phpstan-ignore-next-line */
105
+ if (null === $message->getFile() && isset($record['context']['exception']['file'])) {
106
+ if (\preg_match("/^(.+):([0-9]+)\$/", $record['context']['exception']['file'], $matches)) {
107
  $message->setFile($matches[1]);
108
  $message->setLine($matches[2]);
109
  }
vendor_prefixed/monolog/src/Monolog/Formatter/HtmlFormatter.php CHANGED
@@ -24,8 +24,6 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
24
  {
25
  /**
26
  * Translates Monolog log levels to html color priorities.
27
- *
28
- * @var array<int, string>
29
  */
30
  protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => '#CCCCCC', \GFPDF_Vendor\Monolog\Logger::INFO => '#28A745', \GFPDF_Vendor\Monolog\Logger::NOTICE => '#17A2B8', \GFPDF_Vendor\Monolog\Logger::WARNING => '#FFC107', \GFPDF_Vendor\Monolog\Logger::ERROR => '#FD7E14', \GFPDF_Vendor\Monolog\Logger::CRITICAL => '#DC3545', \GFPDF_Vendor\Monolog\Logger::ALERT => '#821722', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => '#000000'];
31
  /**
@@ -65,6 +63,7 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
65
  /**
66
  * Formats a log record.
67
  *
 
68
  * @return string The formatted record
69
  */
70
  public function format(array $record) : string
@@ -95,6 +94,7 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
95
  /**
96
  * Formats a set of log records.
97
  *
 
98
  * @return string The formatted set of records
99
  */
100
  public function formatBatch(array $records) : string
@@ -105,9 +105,6 @@ class HtmlFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
105
  }
106
  return $message;
107
  }
108
- /**
109
- * @param mixed $data
110
- */
111
  protected function convertToString($data) : string
112
  {
113
  if (null === $data || \is_scalar($data)) {
24
  {
25
  /**
26
  * Translates Monolog log levels to html color priorities.
 
 
27
  */
28
  protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => '#CCCCCC', \GFPDF_Vendor\Monolog\Logger::INFO => '#28A745', \GFPDF_Vendor\Monolog\Logger::NOTICE => '#17A2B8', \GFPDF_Vendor\Monolog\Logger::WARNING => '#FFC107', \GFPDF_Vendor\Monolog\Logger::ERROR => '#FD7E14', \GFPDF_Vendor\Monolog\Logger::CRITICAL => '#DC3545', \GFPDF_Vendor\Monolog\Logger::ALERT => '#821722', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => '#000000'];
29
  /**
63
  /**
64
  * Formats a log record.
65
  *
66
+ * @param array $record A record to format
67
  * @return string The formatted record
68
  */
69
  public function format(array $record) : string
94
  /**
95
  * Formats a set of log records.
96
  *
97
+ * @param array $records A set of records to format
98
  * @return string The formatted set of records
99
  */
100
  public function formatBatch(array $records) : string
105
  }
106
  return $message;
107
  }
 
 
 
108
  protected function convertToString($data) : string
109
  {
110
  if (null === $data || \is_scalar($data)) {
vendor_prefixed/monolog/src/Monolog/Formatter/JsonFormatter.php CHANGED
@@ -18,30 +18,23 @@ use Throwable;
18
  * This can be useful to log to databases or remote APIs
19
  *
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
21
- *
22
- * @phpstan-import-type Record from \Monolog\Logger
23
  */
24
  class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
25
  {
26
  public const BATCH_MODE_JSON = 1;
27
  public const BATCH_MODE_NEWLINES = 2;
28
- /** @var self::BATCH_MODE_* */
29
  protected $batchMode;
30
- /** @var bool */
31
  protected $appendNewline;
32
- /** @var bool */
33
  protected $ignoreEmptyContextAndExtra;
34
- /** @var bool */
35
- protected $includeStacktraces = \false;
36
  /**
37
- * @param self::BATCH_MODE_* $batchMode
38
  */
 
39
  public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = \true, bool $ignoreEmptyContextAndExtra = \false)
40
  {
41
  $this->batchMode = $batchMode;
42
  $this->appendNewline = $appendNewline;
43
  $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
44
- parent::__construct();
45
  }
46
  /**
47
  * The batch mode option configures the formatting style for
@@ -62,7 +55,7 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
62
  return $this->appendNewline;
63
  }
64
  /**
65
- * {@inheritDoc}
66
  */
67
  public function format(array $record) : string
68
  {
@@ -84,7 +77,7 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
84
  return $this->toJson($normalized, \true) . ($this->appendNewline ? "\n" : '');
85
  }
86
  /**
87
- * {@inheritDoc}
88
  */
89
  public function formatBatch(array $records) : string
90
  {
@@ -96,17 +89,12 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
96
  return $this->formatBatchJson($records);
97
  }
98
  }
99
- /**
100
- * @return void
101
- */
102
  public function includeStacktraces(bool $include = \true)
103
  {
104
  $this->includeStacktraces = $include;
105
  }
106
  /**
107
  * Return a JSON-encoded array of records.
108
- *
109
- * @phpstan-param Record[] $records
110
  */
111
  protected function formatBatchJson(array $records) : string
112
  {
@@ -115,8 +103,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
115
  /**
116
  * Use new lines to separate records instead of a
117
  * JSON-encoded array.
118
- *
119
- * @phpstan-param Record[] $records
120
  */
121
  protected function formatBatchNewlines(array $records) : string
122
  {
@@ -153,9 +139,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
153
  }
154
  return $normalized;
155
  }
156
- if ($data instanceof \DateTimeInterface) {
157
- return $this->formatDate($data);
158
- }
159
  if ($data instanceof \Throwable) {
160
  return $this->normalizeException($data, $depth);
161
  }
@@ -167,8 +150,6 @@ class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
167
  /**
168
  * Normalizes given exception with or without its own stack trace based on
169
  * `includeStacktraces` property.
170
- *
171
- * {@inheritDoc}
172
  */
173
  protected function normalizeException(\Throwable $e, int $depth = 0) : array
174
  {
18
  * This can be useful to log to databases or remote APIs
19
  *
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
21
  */
22
  class JsonFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
23
  {
24
  public const BATCH_MODE_JSON = 1;
25
  public const BATCH_MODE_NEWLINES = 2;
 
26
  protected $batchMode;
 
27
  protected $appendNewline;
 
28
  protected $ignoreEmptyContextAndExtra;
 
 
29
  /**
30
+ * @var bool
31
  */
32
+ protected $includeStacktraces = \false;
33
  public function __construct(int $batchMode = self::BATCH_MODE_JSON, bool $appendNewline = \true, bool $ignoreEmptyContextAndExtra = \false)
34
  {
35
  $this->batchMode = $batchMode;
36
  $this->appendNewline = $appendNewline;
37
  $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
 
38
  }
39
  /**
40
  * The batch mode option configures the formatting style for
55
  return $this->appendNewline;
56
  }
57
  /**
58
+ * {@inheritdoc}
59
  */
60
  public function format(array $record) : string
61
  {
77
  return $this->toJson($normalized, \true) . ($this->appendNewline ? "\n" : '');
78
  }
79
  /**
80
+ * {@inheritdoc}
81
  */
82
  public function formatBatch(array $records) : string
83
  {
89
  return $this->formatBatchJson($records);
90
  }
91
  }
 
 
 
92
  public function includeStacktraces(bool $include = \true)
93
  {
94
  $this->includeStacktraces = $include;
95
  }
96
  /**
97
  * Return a JSON-encoded array of records.
 
 
98
  */
99
  protected function formatBatchJson(array $records) : string
100
  {
103
  /**
104
  * Use new lines to separate records instead of a
105
  * JSON-encoded array.
 
 
106
  */
107
  protected function formatBatchNewlines(array $records) : string
108
  {
139
  }
140
  return $normalized;
141
  }
 
 
 
142
  if ($data instanceof \Throwable) {
143
  return $this->normalizeException($data, $depth);
144
  }
150
  /**
151
  * Normalizes given exception with or without its own stack trace based on
152
  * `includeStacktraces` property.
 
 
153
  */
154
  protected function normalizeException(\Throwable $e, int $depth = 0) : array
155
  {
vendor_prefixed/monolog/src/Monolog/Formatter/LineFormatter.php CHANGED
@@ -23,13 +23,9 @@ use GFPDF_Vendor\Monolog\Utils;
23
  class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
24
  {
25
  public const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";
26
- /** @var string */
27
  protected $format;
28
- /** @var bool */
29
  protected $allowInlineLineBreaks;
30
- /** @var bool */
31
  protected $ignoreEmptyContextAndExtra;
32
- /** @var bool */
33
  protected $includeStacktraces;
34
  /**
35
  * @param string|null $format The format of the message
@@ -44,23 +40,23 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
44
  $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
45
  parent::__construct($dateFormat);
46
  }
47
- public function includeStacktraces(bool $include = \true) : void
48
  {
49
  $this->includeStacktraces = $include;
50
  if ($this->includeStacktraces) {
51
  $this->allowInlineLineBreaks = \true;
52
  }
53
  }
54
- public function allowInlineLineBreaks(bool $allow = \true) : void
55
  {
56
  $this->allowInlineLineBreaks = $allow;
57
  }
58
- public function ignoreEmptyContextAndExtra(bool $ignore = \true) : void
59
  {
60
  $this->ignoreEmptyContextAndExtra = $ignore;
61
  }
62
  /**
63
- * {@inheritDoc}
64
  */
65
  public function format(array $record) : string
66
  {
@@ -96,10 +92,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
96
  // remove leftover %extra.xxx% and %context.xxx% if any
97
  if (\false !== \strpos($output, '%')) {
98
  $output = \preg_replace('/%(?:extra|context)\\..+?%/', '', $output);
99
- if (null === $output) {
100
- $pcreErrorCode = \preg_last_error();
101
- throw new \RuntimeException('Failed to run preg_replace: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
102
- }
103
  }
104
  return $output;
105
  }
@@ -111,9 +103,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
111
  }
112
  return $message;
113
  }
114
- /**
115
- * @param mixed $value
116
- */
117
  public function stringify($value) : string
118
  {
119
  return $this->replaceNewlines($this->convertToString($value));
@@ -128,9 +117,6 @@ class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
128
  }
129
  return $str;
130
  }
131
- /**
132
- * @param mixed $data
133
- */
134
  protected function convertToString($data) : string
135
  {
136
  if (null === $data || \is_bool($data)) {
23
  class LineFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
24
  {
25
  public const SIMPLE_FORMAT = "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n";
 
26
  protected $format;
 
27
  protected $allowInlineLineBreaks;
 
28
  protected $ignoreEmptyContextAndExtra;
 
29
  protected $includeStacktraces;
30
  /**
31
  * @param string|null $format The format of the message
40
  $this->ignoreEmptyContextAndExtra = $ignoreEmptyContextAndExtra;
41
  parent::__construct($dateFormat);
42
  }
43
+ public function includeStacktraces(bool $include = \true)
44
  {
45
  $this->includeStacktraces = $include;
46
  if ($this->includeStacktraces) {
47
  $this->allowInlineLineBreaks = \true;
48
  }
49
  }
50
+ public function allowInlineLineBreaks(bool $allow = \true)
51
  {
52
  $this->allowInlineLineBreaks = $allow;
53
  }
54
+ public function ignoreEmptyContextAndExtra(bool $ignore = \true)
55
  {
56
  $this->ignoreEmptyContextAndExtra = $ignore;
57
  }
58
  /**
59
+ * {@inheritdoc}
60
  */
61
  public function format(array $record) : string
62
  {
92
  // remove leftover %extra.xxx% and %context.xxx% if any
93
  if (\false !== \strpos($output, '%')) {
94
  $output = \preg_replace('/%(?:extra|context)\\..+?%/', '', $output);
 
 
 
 
95
  }
96
  return $output;
97
  }
103
  }
104
  return $message;
105
  }
 
 
 
106
  public function stringify($value) : string
107
  {
108
  return $this->replaceNewlines($this->convertToString($value));
117
  }
118
  return $str;
119
  }
 
 
 
120
  protected function convertToString($data) : string
121
  {
122
  if (null === $data || \is_bool($data)) {
vendor_prefixed/monolog/src/Monolog/Formatter/LogstashFormatter.php CHANGED
@@ -47,13 +47,13 @@ class LogstashFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
47
  {
48
  // logstash requires a ISO 8601 format date with optional millisecond precision.
49
  parent::__construct('Y-m-d\\TH:i:s.uP');
50
- $this->systemName = $systemName === null ? (string) \gethostname() : $systemName;
51
  $this->applicationName = $applicationName;
52
  $this->extraKey = $extraKey;
53
  $this->contextKey = $contextKey;
54
  }
55
  /**
56
- * {@inheritDoc}
57
  */
58
  public function format(array $record) : string
59
  {
47
  {
48
  // logstash requires a ISO 8601 format date with optional millisecond precision.
49
  parent::__construct('Y-m-d\\TH:i:s.uP');
50
+ $this->systemName = $systemName === null ? \gethostname() : $systemName;
51
  $this->applicationName = $applicationName;
52
  $this->extraKey = $extraKey;
53
  $this->contextKey = $contextKey;
54
  }
55
  /**
56
+ * {@inheritdoc}
57
  */
58
  public function format(array $record) : string
59
  {
vendor_prefixed/monolog/src/Monolog/Formatter/MongoDBFormatter.php CHANGED
@@ -20,11 +20,8 @@ use GFPDF_Vendor\Monolog\Utils;
20
  */
21
  class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
22
  {
23
- /** @var bool */
24
  private $exceptionTraceAsString;
25
- /** @var int */
26
  private $maxNestingLevel;
27
- /** @var bool */
28
  private $isLegacyMongoExt;
29
  /**
30
  * @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2
@@ -34,67 +31,53 @@ class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInter
34
  {
35
  $this->maxNestingLevel = \max($maxNestingLevel, 0);
36
  $this->exceptionTraceAsString = $exceptionTraceAsString;
37
- $this->isLegacyMongoExt = \extension_loaded('mongodb') && \version_compare((string) \phpversion('mongodb'), '1.1.9', '<=');
38
  }
39
  /**
40
  * {@inheritDoc}
41
- *
42
- * @return mixed[]
43
  */
44
  public function format(array $record) : array
45
  {
46
- /** @var mixed[] $res */
47
- $res = $this->formatArray($record);
48
- return $res;
49
  }
50
  /**
51
  * {@inheritDoc}
52
- *
53
- * @return array<mixed[]>
54
  */
55
  public function formatBatch(array $records) : array
56
  {
57
- $formatted = [];
58
  foreach ($records as $key => $record) {
59
- $formatted[$key] = $this->format($record);
60
  }
61
- return $formatted;
62
  }
63
  /**
64
- * @param mixed[] $array
65
- * @return mixed[]|string Array except when max nesting level is reached then a string "[...]"
66
  */
67
- protected function formatArray(array $array, int $nestingLevel = 0)
68
  {
69
- if ($this->maxNestingLevel > 0 && $nestingLevel > $this->maxNestingLevel) {
70
- return '[...]';
71
- }
72
- foreach ($array as $name => $value) {
73
- if ($value instanceof \DateTimeInterface) {
74
- $array[$name] = $this->formatDate($value, $nestingLevel + 1);
75
- } elseif ($value instanceof \Throwable) {
76
- $array[$name] = $this->formatException($value, $nestingLevel + 1);
77
- } elseif (\is_array($value)) {
78
- $array[$name] = $this->formatArray($value, $nestingLevel + 1);
79
- } elseif (\is_object($value)) {
80
- $array[$name] = $this->formatObject($value, $nestingLevel + 1);
81
  }
 
 
82
  }
83
- return $array;
84
  }
85
- /**
86
- * @param mixed $value
87
- * @return mixed[]|string
88
- */
89
  protected function formatObject($value, int $nestingLevel)
90
  {
91
  $objectVars = \get_object_vars($value);
92
  $objectVars['class'] = \GFPDF_Vendor\Monolog\Utils::getClass($value);
93
  return $this->formatArray($objectVars, $nestingLevel);
94
  }
95
- /**
96
- * @return mixed[]|string
97
- */
98
  protected function formatException(\Throwable $exception, int $nestingLevel)
99
  {
100
  $formattedException = ['class' => \GFPDF_Vendor\Monolog\Utils::getClass($exception), 'message' => $exception->getMessage(), 'code' => (int) $exception->getCode(), 'file' => $exception->getFile() . ':' . $exception->getLine()];
@@ -127,7 +110,6 @@ class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInter
127
  {
128
  $milliseconds = \floor((float) $value->format('U.u') * 1000);
129
  $milliseconds = \PHP_INT_SIZE == 8 ? (int) $milliseconds : (string) $milliseconds;
130
- // @phpstan-ignore-next-line
131
  return new \MongoDB\BSON\UTCDateTime($milliseconds);
132
  }
133
  }
20
  */
21
  class MongoDBFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
22
  {
 
23
  private $exceptionTraceAsString;
 
24
  private $maxNestingLevel;
 
25
  private $isLegacyMongoExt;
26
  /**
27
  * @param int $maxNestingLevel 0 means infinite nesting, the $record itself is level 1, $record['context'] is 2
31
  {
32
  $this->maxNestingLevel = \max($maxNestingLevel, 0);
33
  $this->exceptionTraceAsString = $exceptionTraceAsString;
34
+ $this->isLegacyMongoExt = \extension_loaded('mongodb') && \version_compare(\phpversion('mongodb'), '1.1.9', '<=');
35
  }
36
  /**
37
  * {@inheritDoc}
 
 
38
  */
39
  public function format(array $record) : array
40
  {
41
+ return $this->formatArray($record);
 
 
42
  }
43
  /**
44
  * {@inheritDoc}
 
 
45
  */
46
  public function formatBatch(array $records) : array
47
  {
 
48
  foreach ($records as $key => $record) {
49
+ $records[$key] = $this->format($record);
50
  }
51
+ return $records;
52
  }
53
  /**
54
+ * @return array|string Array except when max nesting level is reached then a string "[...]"
 
55
  */
56
+ protected function formatArray(array $record, int $nestingLevel = 0)
57
  {
58
+ if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) {
59
+ foreach ($record as $name => $value) {
60
+ if ($value instanceof \DateTimeInterface) {
61
+ $record[$name] = $this->formatDate($value, $nestingLevel + 1);
62
+ } elseif ($value instanceof \Throwable) {
63
+ $record[$name] = $this->formatException($value, $nestingLevel + 1);
64
+ } elseif (\is_array($value)) {
65
+ $record[$name] = $this->formatArray($value, $nestingLevel + 1);
66
+ } elseif (\is_object($value)) {
67
+ $record[$name] = $this->formatObject($value, $nestingLevel + 1);
68
+ }
 
69
  }
70
+ } else {
71
+ $record = '[...]';
72
  }
73
+ return $record;
74
  }
 
 
 
 
75
  protected function formatObject($value, int $nestingLevel)
76
  {
77
  $objectVars = \get_object_vars($value);
78
  $objectVars['class'] = \GFPDF_Vendor\Monolog\Utils::getClass($value);
79
  return $this->formatArray($objectVars, $nestingLevel);
80
  }
 
 
 
81
  protected function formatException(\Throwable $exception, int $nestingLevel)
82
  {
83
  $formattedException = ['class' => \GFPDF_Vendor\Monolog\Utils::getClass($exception), 'message' => $exception->getMessage(), 'code' => (int) $exception->getCode(), 'file' => $exception->getFile() . ':' . $exception->getLine()];
110
  {
111
  $milliseconds = \floor((float) $value->format('U.u') * 1000);
112
  $milliseconds = \PHP_INT_SIZE == 8 ? (int) $milliseconds : (string) $milliseconds;
 
113
  return new \MongoDB\BSON\UTCDateTime($milliseconds);
114
  }
115
  }
vendor_prefixed/monolog/src/Monolog/Formatter/NormalizerFormatter.php CHANGED
@@ -41,16 +41,14 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
41
  }
42
  }
43
  /**
44
- * {@inheritDoc}
45
- *
46
- * @param mixed[] $record
47
  */
48
  public function format(array $record)
49
  {
50
  return $this->normalize($record);
51
  }
52
  /**
53
- * {@inheritDoc}
54
  */
55
  public function formatBatch(array $records)
56
  {
@@ -105,8 +103,8 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
105
  return $this;
106
  }
107
  /**
108
- * @param mixed $data
109
- * @return null|scalar|array<array|scalar|null>
110
  */
111
  protected function normalize($data, int $depth = 0)
112
  {
@@ -144,14 +142,11 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
144
  return $this->normalizeException($data, $depth);
145
  }
146
  if ($data instanceof \JsonSerializable) {
147
- /** @var null|scalar|array<array|scalar|null> $value */
148
  $value = $data->jsonSerialize();
149
  } elseif (\method_exists($data, '__toString')) {
150
- /** @var string $value */
151
  $value = $data->__toString();
152
  } else {
153
  // the rest is normalized by json encoding and decoding it
154
- /** @var null|scalar|array<array|scalar|null> $value */
155
  $value = \json_decode($this->toJson($data, \true), \true);
156
  }
157
  return [\GFPDF_Vendor\Monolog\Utils::getClass($data) => $value];
@@ -162,7 +157,7 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
162
  return '[unknown(' . \gettype($data) . ')]';
163
  }
164
  /**
165
- * @return mixed[]
166
  */
167
  protected function normalizeException(\Throwable $e, int $depth = 0)
168
  {
@@ -207,9 +202,6 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
207
  {
208
  return \GFPDF_Vendor\Monolog\Utils::jsonEncode($data, $this->jsonEncodeOptions, $ignoreErrors);
209
  }
210
- /**
211
- * @return string
212
- */
213
  protected function formatDate(\DateTimeInterface $date)
214
  {
215
  // in case the date format isn't custom then we defer to the custom DateTimeImmutable
@@ -219,11 +211,11 @@ class NormalizerFormatter implements \GFPDF_Vendor\Monolog\Formatter\FormatterIn
219
  }
220
  return $date->format($this->dateFormat);
221
  }
222
- public function addJsonEncodeOption(int $option) : void
223
  {
224
  $this->jsonEncodeOptions |= $option;
225
  }
226
- public function removeJsonEncodeOption(int $option) : void
227
  {
228
  $this->jsonEncodeOptions &= ~$option;
229
  }
41
  }
42
  }
43
  /**
44
+ * {@inheritdoc}
 
 
45
  */
46
  public function format(array $record)
47
  {
48
  return $this->normalize($record);
49
  }
50
  /**
51
+ * {@inheritdoc}
52
  */
53
  public function formatBatch(array $records)
54
  {
103
  return $this;
104
  }
105
  /**
106
+ * @param mixed $data
107
+ * @return int|bool|string|null|array
108
  */
109
  protected function normalize($data, int $depth = 0)
110
  {
142
  return $this->normalizeException($data, $depth);
143
  }
144
  if ($data instanceof \JsonSerializable) {
 
145
  $value = $data->jsonSerialize();
146
  } elseif (\method_exists($data, '__toString')) {
 
147
  $value = $data->__toString();
148
  } else {
149
  // the rest is normalized by json encoding and decoding it
 
150
  $value = \json_decode($this->toJson($data, \true), \true);
151
  }
152
  return [\GFPDF_Vendor\Monolog\Utils::getClass($data) => $value];
157
  return '[unknown(' . \gettype($data) . ')]';
158
  }
159
  /**
160
+ * @return array
161
  */
162
  protected function normalizeException(\Throwable $e, int $depth = 0)
163
  {
202
  {
203
  return \GFPDF_Vendor\Monolog\Utils::jsonEncode($data, $this->jsonEncodeOptions, $ignoreErrors);
204
  }
 
 
 
205
  protected function formatDate(\DateTimeInterface $date)
206
  {
207
  // in case the date format isn't custom then we defer to the custom DateTimeImmutable
211
  }
212
  return $date->format($this->dateFormat);
213
  }
214
+ public function addJsonEncodeOption(int $option)
215
  {
216
  $this->jsonEncodeOptions |= $option;
217
  }
218
+ public function removeJsonEncodeOption(int $option)
219
  {
220
  $this->jsonEncodeOptions &= ~$option;
221
  }
vendor_prefixed/monolog/src/Monolog/Formatter/ScalarFormatter.php CHANGED
@@ -20,21 +20,18 @@ namespace GFPDF_Vendor\Monolog\Formatter;
20
  class ScalarFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
21
  {
22
  /**
23
- * {@inheritDoc}
24
- *
25
- * @phpstan-return array<string, scalar|null> $record
26
  */
27
  public function format(array $record) : array
28
  {
29
- $result = [];
30
  foreach ($record as $key => $value) {
31
- $result[$key] = $this->normalizeValue($value);
32
  }
33
- return $result;
34
  }
35
  /**
36
- * @param mixed $value
37
- * @return scalar|null
38
  */
39
  protected function normalizeValue($value)
40
  {
20
  class ScalarFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
21
  {
22
  /**
23
+ * {@inheritdoc}
 
 
24
  */
25
  public function format(array $record) : array
26
  {
 
27
  foreach ($record as $key => $value) {
28
+ $record[$key] = $this->normalizeValue($value);
29
  }
30
+ return $record;
31
  }
32
  /**
33
+ * @param mixed $value
34
+ * @return string|int|bool|null
35
  */
36
  protected function normalizeValue($value)
37
  {
vendor_prefixed/monolog/src/Monolog/Formatter/WildfireFormatter.php CHANGED
@@ -18,15 +18,11 @@ use GFPDF_Vendor\Monolog\Logger;
18
  * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
19
  * @author Christophe Coevoet <stof@notk.org>
20
  * @author Kirill chEbba Chebunin <iam@chebba.org>
21
- *
22
- * @phpstan-import-type Level from \Monolog\Logger
23
  */
24
  class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
25
  {
26
  /**
27
  * Translates Monolog log levels to Wildfire levels.
28
- *
29
- * @var array<Level, string>
30
  */
31
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'LOG', \GFPDF_Vendor\Monolog\Logger::INFO => 'INFO', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'INFO', \GFPDF_Vendor\Monolog\Logger::WARNING => 'WARN', \GFPDF_Vendor\Monolog\Logger::ERROR => 'ERROR', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'ERROR', \GFPDF_Vendor\Monolog\Logger::ALERT => 'ERROR', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'ERROR'];
32
  /**
@@ -39,9 +35,7 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
39
  $this->removeJsonEncodeOption(\JSON_UNESCAPED_UNICODE);
40
  }
41
  /**
42
- * {@inheritDoc}
43
- *
44
- * @return string
45
  */
46
  public function format(array $record) : string
47
  {
@@ -55,7 +49,6 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
55
  $line = $record['extra']['line'];
56
  unset($record['extra']['line']);
57
  }
58
- /** @var mixed[] $record */
59
  $record = $this->normalize($record);
60
  $message = ['message' => $record['message']];
61
  $handleError = \false;
@@ -84,18 +77,15 @@ class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormat
84
  return \sprintf('%d|%s|', \strlen($json), $json);
85
  }
86
  /**
87
- * {@inheritDoc}
88
- *
89
- * @phpstan-return never
90
  */
91
  public function formatBatch(array $records)
92
  {
93
  throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
94
  }
95
  /**
96
- * {@inheritDoc}
97
- *
98
- * @return null|scalar|array<array|scalar|null>|object
99
  */
100
  protected function normalize($data, int $depth = 0)
101
  {
18
  * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
19
  * @author Christophe Coevoet <stof@notk.org>
20
  * @author Kirill chEbba Chebunin <iam@chebba.org>
 
 
21
  */
22
  class WildfireFormatter extends \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter
23
  {
24
  /**
25
  * Translates Monolog log levels to Wildfire levels.
 
 
26
  */
27
  private $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'LOG', \GFPDF_Vendor\Monolog\Logger::INFO => 'INFO', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'INFO', \GFPDF_Vendor\Monolog\Logger::WARNING => 'WARN', \GFPDF_Vendor\Monolog\Logger::ERROR => 'ERROR', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'ERROR', \GFPDF_Vendor\Monolog\Logger::ALERT => 'ERROR', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'ERROR'];
28
  /**
35
  $this->removeJsonEncodeOption(\JSON_UNESCAPED_UNICODE);
36
  }
37
  /**
38
+ * {@inheritdoc}
 
 
39
  */
40
  public function format(array $record) : string
41
  {
49
  $line = $record['extra']['line'];
50
  unset($record['extra']['line']);
51
  }
 
52
  $record = $this->normalize($record);
53
  $message = ['message' => $record['message']];
54
  $handleError = \false;
77
  return \sprintf('%d|%s|', \strlen($json), $json);
78
  }
79
  /**
80
+ * {@inheritdoc}
 
 
81
  */
82
  public function formatBatch(array $records)
83
  {
84
  throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
85
  }
86
  /**
87
+ * {@inheritdoc}
88
+ * @return int|bool|string|null|array|object
 
89
  */
90
  protected function normalize($data, int $depth = 0)
91
  {
vendor_prefixed/monolog/src/Monolog/Handler/AbstractHandler.php CHANGED
@@ -13,29 +13,18 @@ namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\ResettableInterface;
16
- use Psr\Log\LogLevel;
17
  /**
18
  * Base Handler class providing basic level/bubble support
19
  *
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
21
- *
22
- * @phpstan-import-type Level from \Monolog\Logger
23
- * @phpstan-import-type LevelName from \Monolog\Logger
24
  */
25
  abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\ResettableInterface
26
  {
27
- /**
28
- * @var int
29
- * @phpstan-var Level
30
- */
31
  protected $level = \GFPDF_Vendor\Monolog\Logger::DEBUG;
32
- /** @var bool */
33
  protected $bubble = \true;
34
  /**
35
  * @param int|string $level The minimum logging level at which this handler will be triggered
36
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
37
- *
38
- * @phpstan-param Level|LevelName|LogLevel::* $level
39
  */
40
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
41
  {
@@ -43,7 +32,7 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
43
  $this->bubble = $bubble;
44
  }
45
  /**
46
- * {@inheritDoc}
47
  */
48
  public function isHandling(array $record) : bool
49
  {
@@ -52,7 +41,7 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
52
  /**
53
  * Sets minimum logging level at which this handler will be triggered.
54
  *
55
- * @param Level|LevelName|LogLevel::* $level Level or level name
56
  * @return self
57
  */
58
  public function setLevel($level) : self
@@ -64,8 +53,6 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
64
  * Gets minimum logging level at which this handler will be triggered.
65
  *
66
  * @return int
67
- *
68
- * @phpstan-return Level
69
  */
70
  public function getLevel() : int
71
  {
@@ -93,9 +80,6 @@ abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler imp
93
  {
94
  return $this->bubble;
95
  }
96
- /**
97
- * {@inheritDoc}
98
- */
99
  public function reset()
100
  {
101
  }
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\ResettableInterface;
 
16
  /**
17
  * Base Handler class providing basic level/bubble support
18
  *
19
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
20
  */
21
  abstract class AbstractHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\ResettableInterface
22
  {
 
 
 
 
23
  protected $level = \GFPDF_Vendor\Monolog\Logger::DEBUG;
 
24
  protected $bubble = \true;
25
  /**
26
  * @param int|string $level The minimum logging level at which this handler will be triggered
27
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
 
 
28
  */
29
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
30
  {
32
  $this->bubble = $bubble;
33
  }
34
  /**
35
+ * {@inheritdoc}
36
  */
37
  public function isHandling(array $record) : bool
38
  {
41
  /**
42
  * Sets minimum logging level at which this handler will be triggered.
43
  *
44
+ * @param int|string $level Level or level name
45
  * @return self
46
  */
47
  public function setLevel($level) : self
53
  * Gets minimum logging level at which this handler will be triggered.
54
  *
55
  * @return int
 
 
56
  */
57
  public function getLevel() : int
58
  {
80
  {
81
  return $this->bubble;
82
  }
 
 
 
83
  public function reset()
84
  {
85
  }
vendor_prefixed/monolog/src/Monolog/Handler/AbstractProcessingHandler.php CHANGED
@@ -18,18 +18,13 @@ namespace GFPDF_Vendor\Monolog\Handler;
18
  *
19
  * @author Jordi Boggiano <j.boggiano@seld.be>
20
  * @author Christophe Coevoet <stof@notk.org>
21
- *
22
- * @phpstan-import-type LevelName from \Monolog\Logger
23
- * @phpstan-import-type Level from \Monolog\Logger
24
- * @phpstan-import-type Record from \Monolog\Logger
25
- * @phpstan-type FormattedRecord array{message: string, context: mixed[], level: Level, level_name: LevelName, channel: string, datetime: \DateTimeImmutable, extra: mixed[], formatted: mixed}
26
  */
27
  abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
28
  {
29
  use ProcessableHandlerTrait;
30
  use FormattableHandlerTrait;
31
  /**
32
- * {@inheritDoc}
33
  */
34
  public function handle(array $record) : bool
35
  {
@@ -37,7 +32,6 @@ abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\A
37
  return \false;
38
  }
39
  if ($this->processors) {
40
- /** @var Record $record */
41
  $record = $this->processRecord($record);
42
  }
43
  $record['formatted'] = $this->getFormatter()->format($record);
@@ -46,13 +40,8 @@ abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\A
46
  }
47
  /**
48
  * Writes the record down to the log of the implementing handler
49
- *
50
- * @phpstan-param FormattedRecord $record
51
  */
52
  protected abstract function write(array $record) : void;
53
- /**
54
- * @return void
55
- */
56
  public function reset()
57
  {
58
  parent::reset();
18
  *
19
  * @author Jordi Boggiano <j.boggiano@seld.be>
20
  * @author Christophe Coevoet <stof@notk.org>
 
 
 
 
 
21
  */
22
  abstract class AbstractProcessingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
23
  {
24
  use ProcessableHandlerTrait;
25
  use FormattableHandlerTrait;
26
  /**
27
+ * {@inheritdoc}
28
  */
29
  public function handle(array $record) : bool
30
  {
32
  return \false;
33
  }
34
  if ($this->processors) {
 
35
  $record = $this->processRecord($record);
36
  }
37
  $record['formatted'] = $this->getFormatter()->format($record);
40
  }
41
  /**
42
  * Writes the record down to the log of the implementing handler
 
 
43
  */
44
  protected abstract function write(array $record) : void;
 
 
 
45
  public function reset()
46
  {
47
  parent::reset();
vendor_prefixed/monolog/src/Monolog/Handler/AbstractSyslogHandler.php CHANGED
@@ -16,26 +16,22 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
16
  use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
17
  /**
18
  * Common syslog functionality
19
- *
20
- * @phpstan-import-type Level from \Monolog\Logger
21
  */
22
  abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
24
- /** @var int */
25
  protected $facility;
26
  /**
27
  * Translates Monolog log levels to syslog log priorities.
28
- * @var array
29
- * @phpstan-var array<Level, int>
30
  */
31
  protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => \LOG_DEBUG, \GFPDF_Vendor\Monolog\Logger::INFO => \LOG_INFO, \GFPDF_Vendor\Monolog\Logger::NOTICE => \LOG_NOTICE, \GFPDF_Vendor\Monolog\Logger::WARNING => \LOG_WARNING, \GFPDF_Vendor\Monolog\Logger::ERROR => \LOG_ERR, \GFPDF_Vendor\Monolog\Logger::CRITICAL => \LOG_CRIT, \GFPDF_Vendor\Monolog\Logger::ALERT => \LOG_ALERT, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => \LOG_EMERG];
32
  /**
33
  * List of valid log facility names.
34
- * @var array<string, int>
35
  */
36
  protected $facilities = ['auth' => \LOG_AUTH, 'authpriv' => \LOG_AUTHPRIV, 'cron' => \LOG_CRON, 'daemon' => \LOG_DAEMON, 'kern' => \LOG_KERN, 'lpr' => \LOG_LPR, 'mail' => \LOG_MAIL, 'news' => \LOG_NEWS, 'syslog' => \LOG_SYSLOG, 'user' => \LOG_USER, 'uucp' => \LOG_UUCP];
37
  /**
38
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
 
 
39
  */
40
  public function __construct($facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
41
  {
@@ -76,7 +72,7 @@ abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\Abstr
76
  $this->facility = $facility;
77
  }
78
  /**
79
- * {@inheritDoc}
80
  */
81
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
82
  {
16
  use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
17
  /**
18
  * Common syslog functionality
 
 
19
  */
20
  abstract class AbstractSyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
21
  {
 
22
  protected $facility;
23
  /**
24
  * Translates Monolog log levels to syslog log priorities.
 
 
25
  */
26
  protected $logLevels = [\GFPDF_Vendor\Monolog\Logger::DEBUG => \LOG_DEBUG, \GFPDF_Vendor\Monolog\Logger::INFO => \LOG_INFO, \GFPDF_Vendor\Monolog\Logger::NOTICE => \LOG_NOTICE, \GFPDF_Vendor\Monolog\Logger::WARNING => \LOG_WARNING, \GFPDF_Vendor\Monolog\Logger::ERROR => \LOG_ERR, \GFPDF_Vendor\Monolog\Logger::CRITICAL => \LOG_CRIT, \GFPDF_Vendor\Monolog\Logger::ALERT => \LOG_ALERT, \GFPDF_Vendor\Monolog\Logger::EMERGENCY => \LOG_EMERG];
27
  /**
28
  * List of valid log facility names.
 
29
  */
30
  protected $facilities = ['auth' => \LOG_AUTH, 'authpriv' => \LOG_AUTHPRIV, 'cron' => \LOG_CRON, 'daemon' => \LOG_DAEMON, 'kern' => \LOG_KERN, 'lpr' => \LOG_LPR, 'mail' => \LOG_MAIL, 'news' => \LOG_NEWS, 'syslog' => \LOG_SYSLOG, 'user' => \LOG_USER, 'uucp' => \LOG_UUCP];
31
  /**
32
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
33
+ * @param string|int $level The minimum logging level at which this handler will be triggered
34
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
35
  */
36
  public function __construct($facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
37
  {
72
  $this->facility = $facility;
73
  }
74
  /**
75
+ * {@inheritdoc}
76
  */
77
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
78
  {
vendor_prefixed/monolog/src/Monolog/Handler/AmqpHandler.php CHANGED
@@ -17,9 +17,6 @@ use GFPDF_Vendor\Monolog\Formatter\JsonFormatter;
17
  use GFPDF_Vendor\PhpAmqpLib\Message\AMQPMessage;
18
  use GFPDF_Vendor\PhpAmqpLib\Channel\AMQPChannel;
19
  use AMQPExchange;
20
- /**
21
- * @phpstan-import-type Record from \Monolog\Logger
22
- */
23
  class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
25
  /**
@@ -33,6 +30,8 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
33
  /**
34
  * @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
35
  * @param string|null $exchangeName Optional exchange name, for AMQPChannel (PhpAmqpLib) only
 
 
36
  */
37
  public function __construct($exchange, ?string $exchangeName = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
38
  {
@@ -72,7 +71,6 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
72
  if (!$this->isHandling($record)) {
73
  continue;
74
  }
75
- /** @var Record $record */
76
  $record = $this->processRecord($record);
77
  $data = $this->getFormatter()->format($record);
78
  $this->exchange->batch_basic_publish($this->createAmqpMessage($data), $this->exchangeName, $this->getRoutingKey($record));
@@ -81,8 +79,6 @@ class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
81
  }
82
  /**
83
  * Gets the routing key for the AMQP exchange
84
- *
85
- * @phpstan-param Record $record
86
  */
87
  protected function getRoutingKey(array $record) : string
88
  {
17
  use GFPDF_Vendor\PhpAmqpLib\Message\AMQPMessage;
18
  use GFPDF_Vendor\PhpAmqpLib\Channel\AMQPChannel;
19
  use AMQPExchange;
 
 
 
20
  class AmqpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
21
  {
22
  /**
30
  /**
31
  * @param AMQPExchange|AMQPChannel $exchange AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
32
  * @param string|null $exchangeName Optional exchange name, for AMQPChannel (PhpAmqpLib) only
33
+ * @param string|int $level The minimum logging level at which this handler will be triggered
34
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
35
  */
36
  public function __construct($exchange, ?string $exchangeName = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
37
  {
71
  if (!$this->isHandling($record)) {
72
  continue;
73
  }
 
74
  $record = $this->processRecord($record);
75
  $data = $this->getFormatter()->format($record);
76
  $this->exchange->batch_basic_publish($this->createAmqpMessage($data), $this->exchangeName, $this->getRoutingKey($record));
79
  }
80
  /**
81
  * Gets the routing key for the AMQP exchange
 
 
82
  */
83
  protected function getRoutingKey(array $record) : string
84
  {
vendor_prefixed/monolog/src/Monolog/Handler/BrowserConsoleHandler.php CHANGED
@@ -18,14 +18,10 @@ use GFPDF_Vendor\Monolog\Utils;
18
  * Handler sending logs to browser's javascript console with no browser extension required
19
  *
20
  * @author Olivier Poitrey <rs@dailymotion.com>
21
- *
22
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
23
  */
24
  class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
25
  {
26
- /** @var bool */
27
  protected static $initialized = \false;
28
- /** @var FormattedRecord[] */
29
  protected static $records = [];
30
  /**
31
  * {@inheritDoc}
@@ -145,9 +141,6 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
145
  }
146
  return "(function (c) {if (c && c.groupCollapsed) {\n" . \implode("\n", $script) . "\n}})(console);";
147
  }
148
- /**
149
- * @return string[]
150
- */
151
  private static function handleStyles(string $formatted) : array
152
  {
153
  $args = [];
@@ -167,7 +160,7 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
167
  {
168
  static $colors = ['blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'];
169
  static $labels = [];
170
- $style = \preg_replace_callback('/macro\\s*:(.*?)(?:;|$)/', function (array $m) use($string, &$colors, &$labels) {
171
  if (\trim($m[1]) === 'autolabel') {
172
  // Format the string as a label with consistent auto assigned background color
173
  if (!isset($labels[$string])) {
@@ -178,16 +171,7 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
178
  }
179
  return $m[1];
180
  }, $style);
181
- if (null === $style) {
182
- $pcreErrorCode = \preg_last_error();
183
- throw new \RuntimeException('Failed to run preg_replace_callback: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
184
- }
185
- return $style;
186
  }
187
- /**
188
- * @param mixed[] $dict
189
- * @return mixed[]
190
- */
191
  private static function dump(string $title, array $dict) : array
192
  {
193
  $script = [];
@@ -209,20 +193,11 @@ class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProces
209
  {
210
  return '"' . \addcslashes($arg, "\"\n\\") . '"';
211
  }
212
- /**
213
- * @param mixed $args
214
- */
215
  private static function call(...$args) : string
216
  {
217
  $method = \array_shift($args);
218
- if (!\is_string($method)) {
219
- throw new \UnexpectedValueException('Expected the first arg to be a string, got: ' . \var_export($method, \true));
220
- }
221
  return static::call_array($method, $args);
222
  }
223
- /**
224
- * @param mixed[] $args
225
- */
226
  private static function call_array(string $method, array $args) : string
227
  {
228
  return 'c.' . $method . '(' . \implode(', ', $args) . ');';
18
  * Handler sending logs to browser's javascript console with no browser extension required
19
  *
20
  * @author Olivier Poitrey <rs@dailymotion.com>
 
 
21
  */
22
  class BrowserConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
 
24
  protected static $initialized = \false;
 
25
  protected static $records = [];
26
  /**
27
  * {@inheritDoc}
141
  }
142
  return "(function (c) {if (c && c.groupCollapsed) {\n" . \implode("\n", $script) . "\n}})(console);";
143
  }
 
 
 
144
  private static function handleStyles(string $formatted) : array
145
  {
146
  $args = [];
160
  {
161
  static $colors = ['blue', 'green', 'red', 'magenta', 'orange', 'black', 'grey'];
162
  static $labels = [];
163
+ return \preg_replace_callback('/macro\\s*:(.*?)(?:;|$)/', function (array $m) use($string, &$colors, &$labels) {
164
  if (\trim($m[1]) === 'autolabel') {
165
  // Format the string as a label with consistent auto assigned background color
166
  if (!isset($labels[$string])) {
171
  }
172
  return $m[1];
173
  }, $style);
 
 
 
 
 
174
  }
 
 
 
 
175
  private static function dump(string $title, array $dict) : array
176
  {
177
  $script = [];
193
  {
194
  return '"' . \addcslashes($arg, "\"\n\\") . '"';
195
  }
 
 
 
196
  private static function call(...$args) : string
197
  {
198
  $method = \array_shift($args);
 
 
 
199
  return static::call_array($method, $args);
200
  }
 
 
 
201
  private static function call_array(string $method, array $args) : string
202
  {
203
  return 'c.' . $method . '(' . \implode(', ', $args) . ');';
vendor_prefixed/monolog/src/Monolog/Handler/BufferHandler.php CHANGED
@@ -21,27 +21,22 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
21
  * sending one per log message.
22
  *
23
  * @author Christophe Coevoet <stof@notk.org>
24
- *
25
- * @phpstan-import-type Record from \Monolog\Logger
26
  */
27
  class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
28
  {
29
  use ProcessableHandlerTrait;
30
  /** @var HandlerInterface */
31
  protected $handler;
32
- /** @var int */
33
  protected $bufferSize = 0;
34
- /** @var int */
35
  protected $bufferLimit;
36
- /** @var bool */
37
  protected $flushOnOverflow;
38
- /** @var Record[] */
39
  protected $buffer = [];
40
- /** @var bool */
41
  protected $initialized = \false;
42
  /**
43
  * @param HandlerInterface $handler Handler.
44
  * @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
 
 
45
  * @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
46
  */
47
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, int $bufferLimit = 0, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $flushOnOverflow = \false)
@@ -52,7 +47,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
52
  $this->flushOnOverflow = $flushOnOverflow;
53
  }
54
  /**
55
- * {@inheritDoc}
56
  */
57
  public function handle(array $record) : bool
58
  {
@@ -73,7 +68,6 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
73
  }
74
  }
75
  if ($this->processors) {
76
- /** @var Record $record */
77
  $record = $this->processRecord($record);
78
  }
79
  $this->buffer[] = $record;
@@ -95,7 +89,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
95
  // GC'd until the end of the request
96
  }
97
  /**
98
- * {@inheritDoc}
99
  */
100
  public function close() : void
101
  {
@@ -120,7 +114,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
120
  }
121
  }
122
  /**
123
- * {@inheritDoc}
124
  */
125
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
126
  {
@@ -131,7 +125,7 @@ class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implem
131
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
132
  }
133
  /**
134
- * {@inheritDoc}
135
  */
136
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
137
  {
21
  * sending one per log message.
22
  *
23
  * @author Christophe Coevoet <stof@notk.org>
 
 
24
  */
25
  class BufferHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
26
  {
27
  use ProcessableHandlerTrait;
28
  /** @var HandlerInterface */
29
  protected $handler;
 
30
  protected $bufferSize = 0;
 
31
  protected $bufferLimit;
 
32
  protected $flushOnOverflow;
 
33
  protected $buffer = [];
 
34
  protected $initialized = \false;
35
  /**
36
  * @param HandlerInterface $handler Handler.
37
  * @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
38
+ * @param string|int $level The minimum logging level at which this handler will be triggered
39
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
40
  * @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
41
  */
42
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, int $bufferLimit = 0, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $flushOnOverflow = \false)
47
  $this->flushOnOverflow = $flushOnOverflow;
48
  }
49
  /**
50
+ * {@inheritdoc}
51
  */
52
  public function handle(array $record) : bool
53
  {
68
  }
69
  }
70
  if ($this->processors) {
 
71
  $record = $this->processRecord($record);
72
  }
73
  $this->buffer[] = $record;
89
  // GC'd until the end of the request
90
  }
91
  /**
92
+ * {@inheritdoc}
93
  */
94
  public function close() : void
95
  {
114
  }
115
  }
116
  /**
117
+ * {@inheritdoc}
118
  */
119
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
120
  {
125
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
126
  }
127
  /**
128
+ * {@inheritdoc}
129
  */
130
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
131
  {
vendor_prefixed/monolog/src/Monolog/Handler/ChromePHPHandler.php CHANGED
@@ -21,8 +21,6 @@ use GFPDF_Vendor\Monolog\Utils;
21
  * This also works out of the box with Firefox 43+
22
  *
23
  * @author Christophe Coevoet <stof@notk.org>
24
- *
25
- * @phpstan-import-type Record from \Monolog\Logger
26
  */
27
  class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
28
  {
@@ -39,7 +37,6 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
39
  * Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
40
  */
41
  protected const USER_AGENT_REGEX = '{\\b(?:Chrome/\\d+(?:\\.\\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\\d|\\d{3,})(?:\\.\\d)*)\\b}';
42
- /** @var bool */
43
  protected static $initialized = \false;
44
  /**
45
  * Tracks whether we sent too much data
@@ -49,10 +46,12 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
49
  * @var bool
50
  */
51
  protected static $overflowed = \false;
52
- /** @var mixed[] */
53
  protected static $json = ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []];
54
- /** @var bool */
55
  protected static $sendHeaders = \true;
 
 
 
 
56
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
57
  {
58
  parent::__construct($level, $bubble);
@@ -61,7 +60,7 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
61
  }
62
  }
63
  /**
64
- * {@inheritDoc}
65
  */
66
  public function handleBatch(array $records) : void
67
  {
@@ -73,9 +72,7 @@ class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingH
73
  if ($record['level'] < $this->level) {
74
  continue;
75
  }
76
- /** @var Record $message */
77
- $message = $this->processRecord($record);
78
- $messages[] = $message;
79
  }
80
  if (!empty($messages)) {
81
  $messages = $this->getFormatter()->formatBatch($messages);
21
  * This also works out of the box with Firefox 43+
22
  *
23
  * @author Christophe Coevoet <stof@notk.org>
 
 
24
  */
25
  class ChromePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
26
  {
37
  * Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
38
  */
39
  protected const USER_AGENT_REGEX = '{\\b(?:Chrome/\\d+(?:\\.\\d+)*|HeadlessChrome|Firefox/(?:4[3-9]|[5-9]\\d|\\d{3,})(?:\\.\\d)*)\\b}';
 
40
  protected static $initialized = \false;
41
  /**
42
  * Tracks whether we sent too much data
46
  * @var bool
47
  */
48
  protected static $overflowed = \false;
 
49
  protected static $json = ['version' => self::VERSION, 'columns' => ['label', 'log', 'backtrace', 'type'], 'rows' => []];
 
50
  protected static $sendHeaders = \true;
51
+ /**
52
+ * @param string|int $level The minimum logging level at which this handler will be triggered
53
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
54
+ */
55
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
56
  {
57
  parent::__construct($level, $bubble);
60
  }
61
  }
62
  /**
63
+ * {@inheritdoc}
64
  */
65
  public function handleBatch(array $records) : void
66
  {
72
  if ($record['level'] < $this->level) {
73
  continue;
74
  }
75
+ $messages[] = $this->processRecord($record);
 
 
76
  }
77
  if (!empty($messages)) {
78
  $messages = $this->getFormatter()->formatBatch($messages);
vendor_prefixed/monolog/src/Monolog/Handler/CouchDBHandler.php CHANGED
@@ -21,11 +21,7 @@ use GFPDF_Vendor\Monolog\Logger;
21
  */
22
  class CouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
24
- /** @var mixed[] */
25
  private $options;
26
- /**
27
- * @param mixed[] $options
28
- */
29
  public function __construct(array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
30
  {
31
  $this->options = \array_merge(['host' => 'localhost', 'port' => 5984, 'dbname' => 'logger', 'username' => null, 'password' => null], $options);
21
  */
22
  class CouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
 
24
  private $options;
 
 
 
25
  public function __construct(array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
26
  {
27
  $this->options = \array_merge(['host' => 'localhost', 'port' => 5984, 'dbname' => 'logger', 'username' => null, 'password' => null], $options);
vendor_prefixed/monolog/src/Monolog/Handler/CubeHandler.php CHANGED
@@ -21,17 +21,11 @@ use GFPDF_Vendor\Monolog\Utils;
21
  */
22
  class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
24
- /** @var resource|\Socket|null */
25
- private $udpConnection = null;
26
- /** @var resource|\CurlHandle|null */
27
- private $httpConnection = null;
28
- /** @var string */
29
  private $scheme;
30
- /** @var string */
31
  private $host;
32
- /** @var int */
33
  private $port;
34
- /** @var string[] */
35
  private $acceptedSchemes = ['http', 'udp'];
36
  /**
37
  * Create a Cube handler
@@ -43,7 +37,7 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
43
  public function __construct(string $url, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
44
  {
45
  $urlInfo = \parse_url($url);
46
- if ($urlInfo === \false || !isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) {
47
  throw new \UnexpectedValueException('URL "' . $url . '" is not valid');
48
  }
49
  if (!\in_array($urlInfo['scheme'], $this->acceptedSchemes)) {
@@ -51,7 +45,7 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
51
  }
52
  $this->scheme = $urlInfo['scheme'];
53
  $this->host = $urlInfo['host'];
54
- $this->port = (int) $urlInfo['port'];
55
  parent::__construct($level, $bubble);
56
  }
57
  /**
@@ -65,11 +59,10 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
65
  if (!\extension_loaded('sockets')) {
66
  throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler');
67
  }
68
- $udpConnection = \socket_create(\AF_INET, \SOCK_DGRAM, 0);
69
- if (\false === $udpConnection) {
70
  throw new \LogicException('Unable to create a socket');
71
  }
72
- $this->udpConnection = $udpConnection;
73
  if (!\socket_connect($this->udpConnection, $this->host, $this->port)) {
74
  throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port);
75
  }
@@ -85,16 +78,15 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
85
  if (!\extension_loaded('curl')) {
86
  throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is required to use http URLs with the CubeHandler');
87
  }
88
- $httpConnection = \curl_init('http://' . $this->host . ':' . $this->port . '/1.0/event/put');
89
- if (\false === $httpConnection) {
90
  throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port);
91
  }
92
- $this->httpConnection = $httpConnection;
93
  \curl_setopt($this->httpConnection, \CURLOPT_CUSTOMREQUEST, "POST");
94
  \curl_setopt($this->httpConnection, \CURLOPT_RETURNTRANSFER, \true);
95
  }
96
  /**
97
- * {@inheritDoc}
98
  */
99
  protected function write(array $record) : void
100
  {
@@ -127,9 +119,6 @@ class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
127
  if (!$this->httpConnection) {
128
  $this->connectHttp();
129
  }
130
- if (null === $this->httpConnection) {
131
- throw new \LogicException('No connection could be established');
132
- }
133
  \curl_setopt($this->httpConnection, \CURLOPT_POSTFIELDS, '[' . $data . ']');
134
  \curl_setopt($this->httpConnection, \CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Content-Length: ' . \strlen('[' . $data . ']')]);
135
  \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($this->httpConnection, 5, \false);
21
  */
22
  class CubeHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
23
  {
24
+ private $udpConnection;
25
+ private $httpConnection;
 
 
 
26
  private $scheme;
 
27
  private $host;
 
28
  private $port;
 
29
  private $acceptedSchemes = ['http', 'udp'];
30
  /**
31
  * Create a Cube handler
37
  public function __construct(string $url, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
38
  {
39
  $urlInfo = \parse_url($url);
40
+ if (!isset($urlInfo['scheme'], $urlInfo['host'], $urlInfo['port'])) {
41
  throw new \UnexpectedValueException('URL "' . $url . '" is not valid');
42
  }
43
  if (!\in_array($urlInfo['scheme'], $this->acceptedSchemes)) {
45
  }
46
  $this->scheme = $urlInfo['scheme'];
47
  $this->host = $urlInfo['host'];
48
+ $this->port = $urlInfo['port'];
49
  parent::__construct($level, $bubble);
50
  }
51
  /**
59
  if (!\extension_loaded('sockets')) {
60
  throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use udp URLs with the CubeHandler');
61
  }
62
+ $this->udpConnection = \socket_create(\AF_INET, \SOCK_DGRAM, 0);
63
+ if (!$this->udpConnection) {
64
  throw new \LogicException('Unable to create a socket');
65
  }
 
66
  if (!\socket_connect($this->udpConnection, $this->host, $this->port)) {
67
  throw new \LogicException('Unable to connect to the socket at ' . $this->host . ':' . $this->port);
68
  }
78
  if (!\extension_loaded('curl')) {
79
  throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is required to use http URLs with the CubeHandler');
80
  }
81
+ $this->httpConnection = \curl_init('http://' . $this->host . ':' . $this->port . '/1.0/event/put');
82
+ if (!$this->httpConnection) {
83
  throw new \LogicException('Unable to connect to ' . $this->host . ':' . $this->port);
84
  }
 
85
  \curl_setopt($this->httpConnection, \CURLOPT_CUSTOMREQUEST, "POST");
86
  \curl_setopt($this->httpConnection, \CURLOPT_RETURNTRANSFER, \true);
87
  }
88
  /**
89
+ * {@inheritdoc}
90
  */
91
  protected function write(array $record) : void
92
  {
119
  if (!$this->httpConnection) {
120
  $this->connectHttp();
121
  }
 
 
 
122
  \curl_setopt($this->httpConnection, \CURLOPT_POSTFIELDS, '[' . $data . ']');
123
  \curl_setopt($this->httpConnection, \CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Content-Length: ' . \strlen('[' . $data . ']')]);
124
  \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($this->httpConnection, 5, \false);
vendor_prefixed/monolog/src/Monolog/Handler/Curl/Util.php CHANGED
@@ -19,7 +19,6 @@ use CurlHandle;
19
  */
20
  final class Util
21
  {
22
- /** @var array<int> */
23
  private static $retriableErrorCodes = [\CURLE_COULDNT_RESOLVE_HOST, \CURLE_COULDNT_CONNECT, \CURLE_HTTP_NOT_FOUND, \CURLE_READ_ERROR, \CURLE_OPERATION_TIMEOUTED, \CURLE_HTTP_POST_ERROR, \CURLE_SSL_CONNECT_ERROR];
24
  /**
25
  * Executes a CURL request with optional retries and exception on failure
19
  */
20
  final class Util
21
  {
 
22
  private static $retriableErrorCodes = [\CURLE_COULDNT_RESOLVE_HOST, \CURLE_COULDNT_CONNECT, \CURLE_HTTP_NOT_FOUND, \CURLE_READ_ERROR, \CURLE_OPERATION_TIMEOUTED, \CURLE_HTTP_POST_ERROR, \CURLE_SSL_CONNECT_ERROR];
23
  /**
24
  * Executes a CURL request with optional retries and exception on failure
vendor_prefixed/monolog/src/Monolog/Handler/DeduplicationHandler.php CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Simple handler wrapper that deduplicates log records across multiple requests
18
  *
@@ -32,10 +31,6 @@ use Psr\Log\LogLevel;
32
  * same way.
33
  *
34
  * @author Jordi Boggiano <j.boggiano@seld.be>
35
- *
36
- * @phpstan-import-type Record from \Monolog\Logger
37
- * @phpstan-import-type LevelName from \Monolog\Logger
38
- * @phpstan-import-type Level from \Monolog\Logger
39
  */
40
  class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
41
  {
@@ -44,7 +39,7 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
44
  */
45
  protected $deduplicationStore;
46
  /**
47
- * @var Level
48
  */
49
  protected $deduplicationLevel;
50
  /**
@@ -61,8 +56,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
61
  * @param string|int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
62
  * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
63
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
64
- *
65
- * @phpstan-param Level|LevelName|LogLevel::* $deduplicationLevel
66
  */
67
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, ?string $deduplicationStore = null, $deduplicationLevel = \GFPDF_Vendor\Monolog\Logger::ERROR, int $time = 60, bool $bubble = \true)
68
  {
@@ -94,9 +87,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
94
  $this->collectLogs();
95
  }
96
  }
97
- /**
98
- * @phpstan-param Record $record
99
- */
100
  private function isDuplicate(array $record) : bool
101
  {
102
  if (!\file_exists($this->deduplicationStore)) {
@@ -147,9 +137,6 @@ class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
147
  \fclose($handle);
148
  $this->gc = \false;
149
  }
150
- /**
151
- * @phpstan-param Record $record
152
- */
153
  private function appendRecord(array $record) : void
154
  {
155
  \file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . \preg_replace('{[\\r\\n].*}', '', $record['message']) . "\n", \FILE_APPEND);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Simple handler wrapper that deduplicates log records across multiple requests
17
  *
31
  * same way.
32
  *
33
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
 
34
  */
35
  class DeduplicationHandler extends \GFPDF_Vendor\Monolog\Handler\BufferHandler
36
  {
39
  */
40
  protected $deduplicationStore;
41
  /**
42
+ * @var int
43
  */
44
  protected $deduplicationLevel;
45
  /**
56
  * @param string|int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
57
  * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
58
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
 
 
59
  */
60
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, ?string $deduplicationStore = null, $deduplicationLevel = \GFPDF_Vendor\Monolog\Logger::ERROR, int $time = 60, bool $bubble = \true)
61
  {
87
  $this->collectLogs();
88
  }
89
  }
 
 
 
90
  private function isDuplicate(array $record) : bool
91
  {
92
  if (!\file_exists($this->deduplicationStore)) {
137
  \fclose($handle);
138
  $this->gc = \false;
139
  }
 
 
 
140
  private function appendRecord(array $record) : void
141
  {
142
  \file_put_contents($this->deduplicationStore, $record['datetime']->getTimestamp() . ':' . $record['level_name'] . ':' . \preg_replace('{[\\r\\n].*}', '', $record['message']) . "\n", \FILE_APPEND);
vendor_prefixed/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php CHANGED
@@ -22,7 +22,6 @@ use GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient;
22
  */
23
  class DoctrineCouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
25
- /** @var CouchDBClient */
26
  private $client;
27
  public function __construct(\GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient $client, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
28
  {
22
  */
23
  class DoctrineCouchDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
 
25
  private $client;
26
  public function __construct(\GFPDF_Vendor\Doctrine\CouchDB\CouchDBClient $client, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
27
  {
vendor_prefixed/monolog/src/Monolog/Handler/DynamoDbHandler.php CHANGED
@@ -42,6 +42,9 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
42
  * @var Marshaler
43
  */
44
  protected $marshaler;
 
 
 
45
  public function __construct(\GFPDF_Vendor\Aws\DynamoDb\DynamoDbClient $client, string $table, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
46
  {
47
  /** @phpstan-ignore-next-line */
@@ -56,7 +59,7 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
56
  parent::__construct($level, $bubble);
57
  }
58
  /**
59
- * {@inheritDoc}
60
  */
61
  protected function write(array $record) : void
62
  {
@@ -69,10 +72,6 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
69
  }
70
  $this->client->putItem(['TableName' => $this->table, 'Item' => $formatted]);
71
  }
72
- /**
73
- * @param mixed[] $record
74
- * @return mixed[]
75
- */
76
  protected function filterEmptyFields(array $record) : array
77
  {
78
  return \array_filter($record, function ($value) {
@@ -80,7 +79,7 @@ class DynamoDbHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
80
  });
81
  }
82
  /**
83
- * {@inheritDoc}
84
  */
85
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
86
  {
42
  * @var Marshaler
43
  */
44
  protected $marshaler;
45
+ /**
46
+ * @param int|string $level
47
+ */
48
  public function __construct(\GFPDF_Vendor\Aws\DynamoDb\DynamoDbClient $client, string $table, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
49
  {
50
  /** @phpstan-ignore-next-line */
59
  parent::__construct($level, $bubble);
60
  }
61
  /**
62
+ * {@inheritdoc}
63
  */
64
  protected function write(array $record) : void
65
  {
72
  }
73
  $this->client->putItem(['TableName' => $this->table, 'Item' => $formatted]);
74
  }
 
 
 
 
75
  protected function filterEmptyFields(array $record) : array
76
  {
77
  return \array_filter($record, function ($value) {
79
  });
80
  }
81
  /**
82
+ * {@inheritdoc}
83
  */
84
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
85
  {
vendor_prefixed/monolog/src/Monolog/Handler/ElasticaHandler.php CHANGED
@@ -11,7 +11,6 @@ declare (strict_types=1);
11
  */
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
- use GFPDF_Vendor\Elastica\Document;
15
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
16
  use GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter;
17
  use GFPDF_Vendor\Monolog\Logger;
@@ -40,12 +39,14 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
40
  */
41
  protected $client;
42
  /**
43
- * @var mixed[] Handler config options
44
  */
45
  protected $options = [];
46
  /**
47
- * @param Client $client Elastica Client object
48
- * @param mixed[] $options Handler configuration
 
 
49
  */
50
  public function __construct(\GFPDF_Vendor\Elastica\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
51
  {
@@ -67,7 +68,7 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
67
  $this->bulkSend([$record['formatted']]);
68
  }
69
  /**
70
- * {@inheritDoc}
71
  */
72
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
73
  {
@@ -76,9 +77,6 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
76
  }
77
  throw new \InvalidArgumentException('ElasticaHandler is only compatible with ElasticaFormatter');
78
  }
79
- /**
80
- * @return mixed[]
81
- */
82
  public function getOptions() : array
83
  {
84
  return $this->options;
@@ -91,7 +89,7 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
91
  return new \GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter($this->options['index'], $this->options['type']);
92
  }
93
  /**
94
- * {@inheritDoc}
95
  */
96
  public function handleBatch(array $records) : void
97
  {
@@ -100,9 +98,6 @@ class ElasticaHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
100
  }
101
  /**
102
  * Use Elasticsearch bulk API to send list of documents
103
- *
104
- * @param Document[] $documents
105
- *
106
  * @throws \RuntimeException
107
  */
108
  protected function bulkSend(array $documents) : void
11
  */
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
 
14
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
15
  use GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter;
16
  use GFPDF_Vendor\Monolog\Logger;
39
  */
40
  protected $client;
41
  /**
42
+ * @var array Handler config options
43
  */
44
  protected $options = [];
45
  /**
46
+ * @param Client $client Elastica Client object
47
+ * @param array $options Handler configuration
48
+ * @param int|string $level The minimum logging level at which this handler will be triggered
49
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
50
  */
51
  public function __construct(\GFPDF_Vendor\Elastica\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
52
  {
68
  $this->bulkSend([$record['formatted']]);
69
  }
70
  /**
71
+ * {@inheritdoc}
72
  */
73
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
74
  {
77
  }
78
  throw new \InvalidArgumentException('ElasticaHandler is only compatible with ElasticaFormatter');
79
  }
 
 
 
80
  public function getOptions() : array
81
  {
82
  return $this->options;
89
  return new \GFPDF_Vendor\Monolog\Formatter\ElasticaFormatter($this->options['index'], $this->options['type']);
90
  }
91
  /**
92
+ * {@inheritdoc}
93
  */
94
  public function handleBatch(array $records) : void
95
  {
98
  }
99
  /**
100
  * Use Elasticsearch bulk API to send list of documents
 
 
 
101
  * @throws \RuntimeException
102
  */
103
  protected function bulkSend(array $documents) : void
vendor_prefixed/monolog/src/Monolog/Handler/ElasticsearchHandler.php CHANGED
@@ -47,12 +47,14 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
47
  */
48
  protected $client;
49
  /**
50
- * @var mixed[] Handler config options
51
  */
52
  protected $options = [];
53
  /**
54
- * @param Client $client Elasticsearch Client object
55
- * @param mixed[] $options Handler configuration
 
 
56
  */
57
  public function __construct(\GFPDF_Vendor\Elasticsearch\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
58
  {
@@ -74,7 +76,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
74
  $this->bulkSend([$record['formatted']]);
75
  }
76
  /**
77
- * {@inheritDoc}
78
  */
79
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
80
  {
@@ -86,7 +88,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
86
  /**
87
  * Getter options
88
  *
89
- * @return mixed[]
90
  */
91
  public function getOptions() : array
92
  {
@@ -100,7 +102,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
100
  return new \GFPDF_Vendor\Monolog\Formatter\ElasticsearchFormatter($this->options['index'], $this->options['type']);
101
  }
102
  /**
103
- * {@inheritDoc}
104
  */
105
  public function handleBatch(array $records) : void
106
  {
@@ -110,7 +112,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
110
  /**
111
  * Use Elasticsearch bulk API to send list of documents
112
  *
113
- * @param array[] $records Records + _index/_type keys
114
  * @throws \RuntimeException
115
  */
116
  protected function bulkSend(array $records) : void
@@ -137,7 +139,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
137
  *
138
  * Only the first error is converted into an exception.
139
  *
140
- * @param mixed[] $responses returned by $this->client->bulk()
141
  */
142
  protected function createExceptionFromResponses(array $responses) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
143
  {
@@ -151,7 +153,7 @@ class ElasticsearchHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
151
  /**
152
  * Creates elasticsearch exception from error array
153
  *
154
- * @param mixed[] $error
155
  */
156
  protected function createExceptionFromError(array $error) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
157
  {
47
  */
48
  protected $client;
49
  /**
50
+ * @var array Handler config options
51
  */
52
  protected $options = [];
53
  /**
54
+ * @param Client $client Elasticsearch Client object
55
+ * @param array $options Handler configuration
56
+ * @param string|int $level The minimum logging level at which this handler will be triggered
57
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
58
  */
59
  public function __construct(\GFPDF_Vendor\Elasticsearch\Client $client, array $options = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
60
  {
76
  $this->bulkSend([$record['formatted']]);
77
  }
78
  /**
79
+ * {@inheritdoc}
80
  */
81
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
82
  {
88
  /**
89
  * Getter options
90
  *
91
+ * @return array
92
  */
93
  public function getOptions() : array
94
  {
102
  return new \GFPDF_Vendor\Monolog\Formatter\ElasticsearchFormatter($this->options['index'], $this->options['type']);
103
  }
104
  /**
105
+ * {@inheritdoc}
106
  */
107
  public function handleBatch(array $records) : void
108
  {
112
  /**
113
  * Use Elasticsearch bulk API to send list of documents
114
  *
115
+ * @param array $records
116
  * @throws \RuntimeException
117
  */
118
  protected function bulkSend(array $records) : void
139
  *
140
  * Only the first error is converted into an exception.
141
  *
142
+ * @param array $responses returned by $this->client->bulk()
143
  */
144
  protected function createExceptionFromResponses(array $responses) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
145
  {
153
  /**
154
  * Creates elasticsearch exception from error array
155
  *
156
+ * @param array $error
157
  */
158
  protected function createExceptionFromError(array $error) : \GFPDF_Vendor\Elasticsearch\Common\Exceptions\RuntimeException
159
  {
vendor_prefixed/monolog/src/Monolog/Handler/ErrorLogHandler.php CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
14
  use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
15
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
16
  use GFPDF_Vendor\Monolog\Logger;
17
- use GFPDF_Vendor\Monolog\Utils;
18
  /**
19
  * Stores to PHP error_log() handler.
20
  *
@@ -24,13 +23,13 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
24
  {
25
  public const OPERATING_SYSTEM = 0;
26
  public const SAPI = 4;
27
- /** @var int */
28
  protected $messageType;
29
- /** @var bool */
30
  protected $expandNewlines;
31
  /**
32
- * @param int $messageType Says where the error should go.
33
- * @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries
 
 
34
  */
35
  public function __construct(int $messageType = self::OPERATING_SYSTEM, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $expandNewlines = \false)
36
  {
@@ -43,7 +42,7 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
43
  $this->expandNewlines = $expandNewlines;
44
  }
45
  /**
46
- * @return int[] With all available types
47
  */
48
  public static function getAvailableTypes() : array
49
  {
@@ -57,7 +56,7 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
57
  return new \GFPDF_Vendor\Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%');
58
  }
59
  /**
60
- * {@inheritDoc}
61
  */
62
  protected function write(array $record) : void
63
  {
@@ -66,10 +65,6 @@ class ErrorLogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
66
  return;
67
  }
68
  $lines = \preg_split('{[\\r\\n]+}', (string) $record['formatted']);
69
- if ($lines === \false) {
70
- $pcreErrorCode = \preg_last_error();
71
- throw new \RuntimeException('Failed to preg_split formatted string: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
72
- }
73
  foreach ($lines as $line) {
74
  \error_log($line, $this->messageType);
75
  }
14
  use GFPDF_Vendor\Monolog\Formatter\LineFormatter;
15
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
16
  use GFPDF_Vendor\Monolog\Logger;
 
17
  /**
18
  * Stores to PHP error_log() handler.
19
  *
23
  {
24
  public const OPERATING_SYSTEM = 0;
25
  public const SAPI = 4;
 
26
  protected $messageType;
 
27
  protected $expandNewlines;
28
  /**
29
+ * @param int $messageType Says where the error should go.
30
+ * @param int|string $level The minimum logging level at which this handler will be triggered
31
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
32
+ * @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries
33
  */
34
  public function __construct(int $messageType = self::OPERATING_SYSTEM, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, bool $expandNewlines = \false)
35
  {
42
  $this->expandNewlines = $expandNewlines;
43
  }
44
  /**
45
+ * @return array With all available types
46
  */
47
  public static function getAvailableTypes() : array
48
  {
56
  return new \GFPDF_Vendor\Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%');
57
  }
58
  /**
59
+ * {@inheritdoc}
60
  */
61
  protected function write(array $record) : void
62
  {
65
  return;
66
  }
67
  $lines = \preg_split('{[\\r\\n]+}', (string) $record['formatted']);
 
 
 
 
68
  foreach ($lines as $line) {
69
  \error_log($line, $this->messageType);
70
  }
vendor_prefixed/monolog/src/Monolog/Handler/FallbackGroupHandler.php CHANGED
@@ -12,24 +12,14 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use Throwable;
15
- /**
16
- * Forwards records to at most one handler
17
- *
18
- * If a handler fails, the exception is suppressed and the record is forwarded to the next handler.
19
- *
20
- * As soon as one handler handles a record successfully, the handling stops there.
21
- *
22
- * @phpstan-import-type Record from \Monolog\Logger
23
- */
24
  class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
25
  {
26
  /**
27
- * {@inheritDoc}
28
  */
29
  public function handle(array $record) : bool
30
  {
31
  if ($this->processors) {
32
- /** @var Record $record */
33
  $record = $this->processRecord($record);
34
  }
35
  foreach ($this->handlers as $handler) {
@@ -43,7 +33,7 @@ class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
43
  return \false === $this->bubble;
44
  }
45
  /**
46
- * {@inheritDoc}
47
  */
48
  public function handleBatch(array $records) : void
49
  {
@@ -52,7 +42,6 @@ class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
52
  foreach ($records as $record) {
53
  $processed[] = $this->processRecord($record);
54
  }
55
- /** @var Record[] $records */
56
  $records = $processed;
57
  }
58
  foreach ($this->handlers as $handler) {
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use Throwable;
 
 
 
 
 
 
 
 
 
15
  class FallbackGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
16
  {
17
  /**
18
+ * {@inheritdoc}
19
  */
20
  public function handle(array $record) : bool
21
  {
22
  if ($this->processors) {
 
23
  $record = $this->processRecord($record);
24
  }
25
  foreach ($this->handlers as $handler) {
33
  return \false === $this->bubble;
34
  }
35
  /**
36
+ * {@inheritdoc}
37
  */
38
  public function handleBatch(array $records) : void
39
  {
42
  foreach ($records as $record) {
43
  $processed[] = $this->processRecord($record);
44
  }
 
45
  $records = $processed;
46
  }
47
  foreach ($this->handlers as $handler) {
vendor_prefixed/monolog/src/Monolog/Handler/FilterHandler.php CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\ResettableInterface;
16
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
17
- use Psr\Log\LogLevel;
18
  /**
19
  * Simple handler wrapper that filters records based on a list of levels
20
  *
@@ -22,10 +21,6 @@ use Psr\Log\LogLevel;
22
  *
23
  * @author Hennadiy Verkh
24
  * @author Jordi Boggiano <j.boggiano@seld.be>
25
- *
26
- * @phpstan-import-type Record from \Monolog\Logger
27
- * @phpstan-import-type Level from \Monolog\Logger
28
- * @phpstan-import-type LevelName from \Monolog\Logger
29
  */
30
  class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
31
  {
@@ -33,15 +28,13 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
33
  /**
34
  * Handler or factory callable($record, $this)
35
  *
36
- * @var callable|HandlerInterface
37
- * @phpstan-var callable(?Record, HandlerInterface): HandlerInterface|HandlerInterface
38
  */
39
  protected $handler;
40
  /**
41
  * Minimum level for logs that are passed to handler
42
  *
43
  * @var int[]
44
- * @phpstan-var array<Level, int>
45
  */
46
  protected $acceptedLevels;
47
  /**
@@ -51,15 +44,12 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
51
  */
52
  protected $bubble;
53
  /**
54
- * @psalm-param HandlerInterface|callable(?Record, HandlerInterface): HandlerInterface $handler
55
  *
56
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $filterHandler).
57
  * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
58
  * @param int|string $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
59
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
60
- *
61
- * @phpstan-param Level|LevelName|LogLevel::*|array<Level|LevelName|LogLevel::*> $minLevelOrList
62
- * @phpstan-param Level|LevelName|LogLevel::* $maxLevel
63
  */
64
  public function __construct($handler, $minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, bool $bubble = \true)
65
  {
@@ -70,9 +60,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
70
  throw new \RuntimeException("The given handler (" . \json_encode($this->handler) . ") is not a callable nor a Monolog\\Handler\\HandlerInterface object");
71
  }
72
  }
73
- /**
74
- * @phpstan-return array<int, Level>
75
- */
76
  public function getAcceptedLevels() : array
77
  {
78
  return \array_flip($this->acceptedLevels);
@@ -80,9 +67,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
80
  /**
81
  * @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided
82
  * @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array
83
- *
84
- * @phpstan-param Level|LevelName|LogLevel::*|array<Level|LevelName|LogLevel::*> $minLevelOrList
85
- * @phpstan-param Level|LevelName|LogLevel::* $maxLevel
86
  */
87
  public function setAcceptedLevels($minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY) : self
88
  {
@@ -99,14 +83,14 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
99
  return $this;
100
  }
101
  /**
102
- * {@inheritDoc}
103
  */
104
  public function isHandling(array $record) : bool
105
  {
106
  return isset($this->acceptedLevels[$record['level']]);
107
  }
108
  /**
109
- * {@inheritDoc}
110
  */
111
  public function handle(array $record) : bool
112
  {
@@ -114,14 +98,13 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
114
  return \false;
115
  }
116
  if ($this->processors) {
117
- /** @var Record $record */
118
  $record = $this->processRecord($record);
119
  }
120
  $this->getHandler($record)->handle($record);
121
  return \false === $this->bubble;
122
  }
123
  /**
124
- * {@inheritDoc}
125
  */
126
  public function handleBatch(array $records) : void
127
  {
@@ -141,8 +124,6 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
141
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
142
  *
143
  * @return HandlerInterface
144
- *
145
- * @phpstan-param Record $record
146
  */
147
  public function getHandler(array $record = null)
148
  {
@@ -155,7 +136,7 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
155
  return $this->handler;
156
  }
157
  /**
158
- * {@inheritDoc}
159
  */
160
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
161
  {
@@ -167,7 +148,7 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
167
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
168
  }
169
  /**
170
- * {@inheritDoc}
171
  */
172
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
173
  {
@@ -180,8 +161,5 @@ class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GF
180
  public function reset()
181
  {
182
  $this->resetProcessors();
183
- if ($this->getHandler() instanceof \GFPDF_Vendor\Monolog\ResettableInterface) {
184
- $this->getHandler()->reset();
185
- }
186
  }
187
  }
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\ResettableInterface;
16
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
 
17
  /**
18
  * Simple handler wrapper that filters records based on a list of levels
19
  *
21
  *
22
  * @author Hennadiy Verkh
23
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
 
24
  */
25
  class FilterHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
26
  {
28
  /**
29
  * Handler or factory callable($record, $this)
30
  *
31
+ * @var callable|\Monolog\Handler\HandlerInterface
 
32
  */
33
  protected $handler;
34
  /**
35
  * Minimum level for logs that are passed to handler
36
  *
37
  * @var int[]
 
38
  */
39
  protected $acceptedLevels;
40
  /**
44
  */
45
  protected $bubble;
46
  /**
47
+ * @psalm-param HandlerInterface|callable(?array, HandlerInterface): HandlerInterface $handler
48
  *
49
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $filterHandler).
50
  * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
51
  * @param int|string $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
52
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
 
 
 
53
  */
54
  public function __construct($handler, $minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, bool $bubble = \true)
55
  {
60
  throw new \RuntimeException("The given handler (" . \json_encode($this->handler) . ") is not a callable nor a Monolog\\Handler\\HandlerInterface object");
61
  }
62
  }
 
 
 
63
  public function getAcceptedLevels() : array
64
  {
65
  return \array_flip($this->acceptedLevels);
67
  /**
68
  * @param int|string|array $minLevelOrList A list of levels to accept or a minimum level or level name if maxLevel is provided
69
  * @param int|string $maxLevel Maximum level or level name to accept, only used if $minLevelOrList is not an array
 
 
 
70
  */
71
  public function setAcceptedLevels($minLevelOrList = \GFPDF_Vendor\Monolog\Logger::DEBUG, $maxLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY) : self
72
  {
83
  return $this;
84
  }
85
  /**
86
+ * {@inheritdoc}
87
  */
88
  public function isHandling(array $record) : bool
89
  {
90
  return isset($this->acceptedLevels[$record['level']]);
91
  }
92
  /**
93
+ * {@inheritdoc}
94
  */
95
  public function handle(array $record) : bool
96
  {
98
  return \false;
99
  }
100
  if ($this->processors) {
 
101
  $record = $this->processRecord($record);
102
  }
103
  $this->getHandler($record)->handle($record);
104
  return \false === $this->bubble;
105
  }
106
  /**
107
+ * {@inheritdoc}
108
  */
109
  public function handleBatch(array $records) : void
110
  {
124
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
125
  *
126
  * @return HandlerInterface
 
 
127
  */
128
  public function getHandler(array $record = null)
129
  {
136
  return $this->handler;
137
  }
138
  /**
139
+ * {@inheritdoc}
140
  */
141
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
142
  {
148
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
149
  }
150
  /**
151
+ * {@inheritdoc}
152
  */
153
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
154
  {
161
  public function reset()
162
  {
163
  $this->resetProcessors();
 
 
 
164
  }
165
  }
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php CHANGED
@@ -15,15 +15,11 @@ namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
15
  * Interface for activation strategies for the FingersCrossedHandler.
16
  *
17
  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
18
- *
19
- * @phpstan-import-type Record from \Monolog\Logger
20
  */
21
  interface ActivationStrategyInterface
22
  {
23
  /**
24
  * Returns whether the given record activates the handler.
25
- *
26
- * @phpstan-param Record $record
27
  */
28
  public function isHandlerActivated(array $record) : bool;
29
  }
15
  * Interface for activation strategies for the FingersCrossedHandler.
16
  *
17
  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 
 
18
  */
19
  interface ActivationStrategyInterface
20
  {
21
  /**
22
  * Returns whether the given record activates the handler.
 
 
23
  */
24
  public function isHandlerActivated(array $record) : bool;
25
  }
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Channel and Error level based monolog activation strategy. Allows to trigger activation
18
  * based on level per channel. e.g. trigger activation on level 'ERROR' by default, except
@@ -32,36 +31,26 @@ use Psr\Log\LogLevel;
32
  * </code>
33
  *
34
  * @author Mike Meessen <netmikey@gmail.com>
35
- *
36
- * @phpstan-import-type Record from \Monolog\Logger
37
- * @phpstan-import-type Level from \Monolog\Logger
38
- * @phpstan-import-type LevelName from \Monolog\Logger
39
  */
40
  class ChannelLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
41
  {
42
  /**
43
- * @var Level
44
  */
45
  private $defaultActionLevel;
46
  /**
47
- * @var array<string, Level>
48
  */
49
  private $channelToActionLevel;
50
  /**
51
- * @param int|string $defaultActionLevel The default action level to be used if the record's category doesn't match any
52
- * @param array<string, int> $channelToActionLevel An array that maps channel names to action levels.
53
- *
54
- * @phpstan-param array<string, Level> $channelToActionLevel
55
- * @phpstan-param Level|LevelName|LogLevel::* $defaultActionLevel
56
  */
57
  public function __construct($defaultActionLevel, array $channelToActionLevel = [])
58
  {
59
  $this->defaultActionLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($defaultActionLevel);
60
  $this->channelToActionLevel = \array_map('Monolog\\Logger::toMonologLevel', $channelToActionLevel);
61
  }
62
- /**
63
- * @phpstan-param Record $record
64
- */
65
  public function isHandlerActivated(array $record) : bool
66
  {
67
  if (isset($this->channelToActionLevel[$record['channel']])) {
12
  namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Channel and Error level based monolog activation strategy. Allows to trigger activation
17
  * based on level per channel. e.g. trigger activation on level 'ERROR' by default, except
31
  * </code>
32
  *
33
  * @author Mike Meessen <netmikey@gmail.com>
 
 
 
 
34
  */
35
  class ChannelLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
36
  {
37
  /**
38
+ * @var int
39
  */
40
  private $defaultActionLevel;
41
  /**
42
+ * @var array
43
  */
44
  private $channelToActionLevel;
45
  /**
46
+ * @param int|string $defaultActionLevel The default action level to be used if the record's category doesn't match any
47
+ * @param array $channelToActionLevel An array that maps channel names to action levels.
 
 
 
48
  */
49
  public function __construct($defaultActionLevel, array $channelToActionLevel = [])
50
  {
51
  $this->defaultActionLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($defaultActionLevel);
52
  $this->channelToActionLevel = \array_map('Monolog\\Logger::toMonologLevel', $channelToActionLevel);
53
  }
 
 
 
54
  public function isHandlerActivated(array $record) : bool
55
  {
56
  if (isset($this->channelToActionLevel[$record['channel']])) {
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php CHANGED
@@ -12,25 +12,19 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Error level based activation strategy.
18
  *
19
  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
20
- *
21
- * @phpstan-import-type Level from \Monolog\Logger
22
- * @phpstan-import-type LevelName from \Monolog\Logger
23
  */
24
  class ErrorLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
25
  {
26
  /**
27
- * @var Level
28
  */
29
  private $actionLevel;
30
  /**
31
  * @param int|string $actionLevel Level or name or value
32
- *
33
- * @phpstan-param Level|LevelName|LogLevel::* $actionLevel
34
  */
35
  public function __construct($actionLevel)
36
  {
12
  namespace GFPDF_Vendor\Monolog\Handler\FingersCrossed;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Error level based activation strategy.
17
  *
18
  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
 
 
 
19
  */
20
  class ErrorLevelActivationStrategy implements \GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface
21
  {
22
  /**
23
+ * @var int
24
  */
25
  private $actionLevel;
26
  /**
27
  * @param int|string $actionLevel Level or name or value
 
 
28
  */
29
  public function __construct($actionLevel)
30
  {
vendor_prefixed/monolog/src/Monolog/Handler/FingersCrossedHandler.php CHANGED
@@ -16,7 +16,6 @@ use GFPDF_Vendor\Monolog\Handler\FingersCrossed\ActivationStrategyInterface;
16
  use GFPDF_Vendor\Monolog\Logger;
17
  use GFPDF_Vendor\Monolog\ResettableInterface;
18
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
19
- use Psr\Log\LogLevel;
20
  /**
21
  * Buffers all records until a certain level is reached
22
  *
@@ -32,38 +31,21 @@ use Psr\Log\LogLevel;
32
  * Monolog\Handler\FingersCrossed\ namespace.
33
  *
34
  * @author Jordi Boggiano <j.boggiano@seld.be>
35
- *
36
- * @phpstan-import-type Record from \Monolog\Logger
37
- * @phpstan-import-type Level from \Monolog\Logger
38
- * @phpstan-import-type LevelName from \Monolog\Logger
39
  */
40
  class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
41
  {
42
  use ProcessableHandlerTrait;
43
- /**
44
- * @var callable|HandlerInterface
45
- * @phpstan-var callable(?Record, HandlerInterface): HandlerInterface|HandlerInterface
46
- */
47
  protected $handler;
48
- /** @var ActivationStrategyInterface */
49
  protected $activationStrategy;
50
- /** @var bool */
51
  protected $buffering = \true;
52
- /** @var int */
53
  protected $bufferSize;
54
- /** @var Record[] */
55
  protected $buffer = [];
56
- /** @var bool */
57
  protected $stopBuffering;
58
- /**
59
- * @var ?int
60
- * @phpstan-var ?Level
61
- */
62
  protected $passthruLevel;
63
- /** @var bool */
64
  protected $bubble;
65
  /**
66
- * @psalm-param HandlerInterface|callable(?Record, HandlerInterface): HandlerInterface $handler
67
  *
68
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $fingersCrossedHandler).
69
  * @param int|string|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action, or a level name/value at which the handler is activated
@@ -71,9 +53,6 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
71
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
72
  * @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true)
73
  * @param int|string $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
74
- *
75
- * @phpstan-param Level|LevelName|LogLevel::* $passthruLevel
76
- * @phpstan-param Level|LevelName|LogLevel::*|ActivationStrategyInterface $activationStrategy
77
  */
78
  public function __construct($handler, $activationStrategy = null, int $bufferSize = 0, bool $bubble = \true, bool $stopBuffering = \true, $passthruLevel = null)
79
  {
@@ -97,7 +76,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
97
  }
98
  }
99
  /**
100
- * {@inheritDoc}
101
  */
102
  public function isHandling(array $record) : bool
103
  {
@@ -115,12 +94,11 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
115
  $this->buffer = [];
116
  }
117
  /**
118
- * {@inheritDoc}
119
  */
120
  public function handle(array $record) : bool
121
  {
122
  if ($this->processors) {
123
- /** @var Record $record */
124
  $record = $this->processRecord($record);
125
  }
126
  if ($this->buffering) {
@@ -137,12 +115,12 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
137
  return \false === $this->bubble;
138
  }
139
  /**
140
- * {@inheritDoc}
141
  */
142
  public function close() : void
143
  {
144
  $this->flushBuffer();
145
- $this->getHandler()->close();
146
  }
147
  public function reset()
148
  {
@@ -173,7 +151,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
173
  return $record['level'] >= $level;
174
  });
175
  if (\count($this->buffer) > 0) {
176
- $this->getHandler(\end($this->buffer))->handleBatch($this->buffer);
177
  }
178
  }
179
  $this->buffer = [];
@@ -185,8 +163,6 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
185
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
186
  *
187
  * @return HandlerInterface
188
- *
189
- * @phpstan-param Record $record
190
  */
191
  public function getHandler(array $record = null)
192
  {
@@ -199,7 +175,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
199
  return $this->handler;
200
  }
201
  /**
202
- * {@inheritDoc}
203
  */
204
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
205
  {
@@ -211,7 +187,7 @@ class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implem
211
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
212
  }
213
  /**
214
- * {@inheritDoc}
215
  */
216
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
217
  {
16
  use GFPDF_Vendor\Monolog\Logger;
17
  use GFPDF_Vendor\Monolog\ResettableInterface;
18
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
 
19
  /**
20
  * Buffers all records until a certain level is reached
21
  *
31
  * Monolog\Handler\FingersCrossed\ namespace.
32
  *
33
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
 
34
  */
35
  class FingersCrossedHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
36
  {
37
  use ProcessableHandlerTrait;
38
+ /** @var HandlerInterface */
 
 
 
39
  protected $handler;
 
40
  protected $activationStrategy;
 
41
  protected $buffering = \true;
 
42
  protected $bufferSize;
 
43
  protected $buffer = [];
 
44
  protected $stopBuffering;
 
 
 
 
45
  protected $passthruLevel;
 
46
  protected $bubble;
47
  /**
48
+ * @psalm-param HandlerInterface|callable(?array, FingersCrossedHandler): HandlerInterface $handler
49
  *
50
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $fingersCrossedHandler).
51
  * @param int|string|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action, or a level name/value at which the handler is activated
53
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
54
  * @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true)
55
  * @param int|string $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
 
 
 
56
  */
57
  public function __construct($handler, $activationStrategy = null, int $bufferSize = 0, bool $bubble = \true, bool $stopBuffering = \true, $passthruLevel = null)
58
  {
76
  }
77
  }
78
  /**
79
+ * {@inheritdoc}
80
  */
81
  public function isHandling(array $record) : bool
82
  {
94
  $this->buffer = [];
95
  }
96
  /**
97
+ * {@inheritdoc}
98
  */
99
  public function handle(array $record) : bool
100
  {
101
  if ($this->processors) {
 
102
  $record = $this->processRecord($record);
103
  }
104
  if ($this->buffering) {
115
  return \false === $this->bubble;
116
  }
117
  /**
118
+ * {@inheritdoc}
119
  */
120
  public function close() : void
121
  {
122
  $this->flushBuffer();
123
+ $this->handler->close();
124
  }
125
  public function reset()
126
  {
151
  return $record['level'] >= $level;
152
  });
153
  if (\count($this->buffer) > 0) {
154
+ $this->getHandler(\end($this->buffer) ?: null)->handleBatch($this->buffer);
155
  }
156
  }
157
  $this->buffer = [];
163
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
164
  *
165
  * @return HandlerInterface
 
 
166
  */
167
  public function getHandler(array $record = null)
168
  {
175
  return $this->handler;
176
  }
177
  /**
178
+ * {@inheritdoc}
179
  */
180
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
181
  {
187
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
188
  }
189
  /**
190
+ * {@inheritdoc}
191
  */
192
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
193
  {
vendor_prefixed/monolog/src/Monolog/Handler/FirePHPHandler.php CHANGED
@@ -17,8 +17,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
17
  * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol.
18
  *
19
  * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
20
- *
21
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
22
  */
23
  class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
@@ -41,7 +39,6 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
41
  protected const HEADER_PREFIX = 'X-Wf';
42
  /**
43
  * Whether or not Wildfire vendor-specific headers have been generated & sent yet
44
- * @var bool
45
  */
46
  protected static $initialized = \false;
47
  /**
@@ -49,17 +46,13 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
49
  * @var int
50
  */
51
  protected static $messageIndex = 1;
52
- /** @var bool */
53
  protected static $sendHeaders = \true;
54
  /**
55
  * Base header creation function used by init headers & record headers
56
  *
57
- * @param array<int|string> $meta Wildfire Plugin, Protocol & Structure Indexes
58
- * @param string $message Log message
59
- *
60
- * @return array<string, string> Complete header string ready for the client as key and message as value
61
- *
62
- * @phpstan-return non-empty-array<string, string>
63
  */
64
  protected function createHeader(array $meta, string $message) : array
65
  {
@@ -69,13 +62,7 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
69
  /**
70
  * Creates message header from record
71
  *
72
- * @return array<string, string>
73
- *
74
- * @phpstan-return non-empty-array<string, string>
75
- *
76
  * @see createHeader()
77
- *
78
- * @phpstan-param FormattedRecord $record
79
  */
80
  protected function createRecordHeader(array $record) : array
81
  {
@@ -95,8 +82,6 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
95
  *
96
  * @see createHeader()
97
  * @see sendHeader()
98
- *
99
- * @return array<string, string>
100
  */
101
  protected function getInitHeaders() : array
102
  {
@@ -117,6 +102,7 @@ class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
117
  *
118
  * @see sendHeader()
119
  * @see sendInitHeaders()
 
120
  */
121
  protected function write(array $record) : void
122
  {
17
  * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol.
18
  *
19
  * @author Eric Clemmons (@ericclemmons) <eric@uxdriven.com>
 
 
20
  */
21
  class FirePHPHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
22
  {
39
  protected const HEADER_PREFIX = 'X-Wf';
40
  /**
41
  * Whether or not Wildfire vendor-specific headers have been generated & sent yet
 
42
  */
43
  protected static $initialized = \false;
44
  /**
46
  * @var int
47
  */
48
  protected static $messageIndex = 1;
 
49
  protected static $sendHeaders = \true;
50
  /**
51
  * Base header creation function used by init headers & record headers
52
  *
53
+ * @param array $meta Wildfire Plugin, Protocol & Structure Indexes
54
+ * @param string $message Log message
55
+ * @return array Complete header string ready for the client as key and message as value
 
 
 
56
  */
57
  protected function createHeader(array $meta, string $message) : array
58
  {
62
  /**
63
  * Creates message header from record
64
  *
 
 
 
 
65
  * @see createHeader()
 
 
66
  */
67
  protected function createRecordHeader(array $record) : array
68
  {
82
  *
83
  * @see createHeader()
84
  * @see sendHeader()
 
 
85
  */
86
  protected function getInitHeaders() : array
87
  {
102
  *
103
  * @see sendHeader()
104
  * @see sendInitHeaders()
105
+ * @param array $record
106
  */
107
  protected function write(array $record) : void
108
  {
vendor_prefixed/monolog/src/Monolog/Handler/FleepHookHandler.php CHANGED
@@ -21,8 +21,6 @@ use GFPDF_Vendor\Monolog\Logger;
21
  *
22
  * @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation
23
  * @author Ando Roots <ando@sqroot.eu>
24
- *
25
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
26
  */
27
  class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
28
  {
@@ -39,6 +37,8 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
39
  * see https://fleep.io/integrations/webhooks/
40
  *
41
  * @param string $token Webhook token
 
 
42
  * @throws MissingExtensionException
43
  */
44
  public function __construct(string $token, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
@@ -70,7 +70,7 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
70
  $this->closeSocket();
71
  }
72
  /**
73
- * {@inheritDoc}
74
  */
75
  protected function generateDataStream(array $record) : string
76
  {
@@ -91,8 +91,6 @@ class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
91
  }
92
  /**
93
  * Builds the body of API call
94
- *
95
- * @phpstan-param FormattedRecord $record
96
  */
97
  private function buildContent(array $record) : string
98
  {
21
  *
22
  * @see https://fleep.io/integrations/webhooks/ Fleep Webhooks Documentation
23
  * @author Ando Roots <ando@sqroot.eu>
 
 
24
  */
25
  class FleepHookHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
26
  {
37
  * see https://fleep.io/integrations/webhooks/
38
  *
39
  * @param string $token Webhook token
40
+ * @param string|int $level The minimum logging level at which this handler will be triggered
41
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
42
  * @throws MissingExtensionException
43
  */
44
  public function __construct(string $token, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
70
  $this->closeSocket();
71
  }
72
  /**
73
+ * {@inheritdoc}
74
  */
75
  protected function generateDataStream(array $record) : string
76
  {
91
  }
92
  /**
93
  * Builds the body of API call
 
 
94
  */
95
  private function buildContent(array $record) : string
96
  {
vendor_prefixed/monolog/src/Monolog/Handler/FlowdockHandler.php CHANGED
@@ -25,8 +25,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
25
  *
26
  * @author Dominik Liebler <liebler.dominik@gmail.com>
27
  * @see https://www.flowdock.com/api/push
28
- *
29
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
30
  */
31
  class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
32
  {
@@ -35,6 +33,9 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
35
  */
36
  protected $apiToken;
37
  /**
 
 
 
38
  * @throws MissingExtensionException if OpenSSL is missing
39
  */
40
  public function __construct(string $apiToken, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
@@ -46,7 +47,7 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
46
  $this->apiToken = $apiToken;
47
  }
48
  /**
49
- * {@inheritDoc}
50
  */
51
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
52
  {
@@ -63,7 +64,9 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
63
  throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\\Formatter\\FlowdockFormatter to function correctly');
64
  }
65
  /**
66
- * {@inheritDoc}
 
 
67
  */
68
  protected function write(array $record) : void
69
  {
@@ -71,7 +74,7 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
71
  $this->closeSocket();
72
  }
73
  /**
74
- * {@inheritDoc}
75
  */
76
  protected function generateDataStream(array $record) : string
77
  {
@@ -80,8 +83,6 @@ class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
80
  }
81
  /**
82
  * Builds the body of API call
83
- *
84
- * @phpstan-param FormattedRecord $record
85
  */
86
  private function buildContent(array $record) : string
87
  {
25
  *
26
  * @author Dominik Liebler <liebler.dominik@gmail.com>
27
  * @see https://www.flowdock.com/api/push
 
 
28
  */
29
  class FlowdockHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
30
  {
33
  */
34
  protected $apiToken;
35
  /**
36
+ * @param string|int $level The minimum logging level at which this handler will be triggered
37
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
38
+ *
39
  * @throws MissingExtensionException if OpenSSL is missing
40
  */
41
  public function __construct(string $apiToken, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
47
  $this->apiToken = $apiToken;
48
  }
49
  /**
50
+ * {@inheritdoc}
51
  */
52
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
53
  {
64
  throw new \InvalidArgumentException('The FlowdockHandler must be configured (via setFormatter) with an instance of Monolog\\Formatter\\FlowdockFormatter to function correctly');
65
  }
66
  /**
67
+ * {@inheritdoc}
68
+ *
69
+ * @param array $record
70
  */
71
  protected function write(array $record) : void
72
  {
74
  $this->closeSocket();
75
  }
76
  /**
77
+ * {@inheritdoc}
78
  */
79
  protected function generateDataStream(array $record) : string
80
  {
83
  }
84
  /**
85
  * Builds the body of API call
 
 
86
  */
87
  private function buildContent(array $record) : string
88
  {
vendor_prefixed/monolog/src/Monolog/Handler/FormattableHandlerTrait.php CHANGED
@@ -25,7 +25,7 @@ trait FormattableHandlerTrait
25
  */
26
  protected $formatter;
27
  /**
28
- * {@inheritDoc}
29
  */
30
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
31
  {
@@ -33,7 +33,7 @@ trait FormattableHandlerTrait
33
  return $this;
34
  }
35
  /**
36
- * {@inheritDoc}
37
  */
38
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
39
  {
25
  */
26
  protected $formatter;
27
  /**
28
+ * {@inheritdoc}
29
  */
30
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
31
  {
33
  return $this;
34
  }
35
  /**
36
+ * {@inheritdoc}
37
  */
38
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
39
  {
vendor_prefixed/monolog/src/Monolog/Handler/GelfHandler.php CHANGED
@@ -24,11 +24,13 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
24
  class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
25
  {
26
  /**
27
- * @var PublisherInterface the publisher object that sends the message to the server
28
  */
29
  protected $publisher;
30
  /**
31
- * @param PublisherInterface $publisher a gelf publisher object
 
 
32
  */
33
  public function __construct(\GFPDF_Vendor\Gelf\PublisherInterface $publisher, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
34
  {
@@ -36,7 +38,7 @@ class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
36
  $this->publisher = $publisher;
37
  }
38
  /**
39
- * {@inheritDoc}
40
  */
41
  protected function write(array $record) : void
42
  {
24
  class GelfHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
25
  {
26
  /**
27
+ * @var PublisherInterface|null the publisher object that sends the message to the server
28
  */
29
  protected $publisher;
30
  /**
31
+ * @param PublisherInterface $publisher a publisher object
32
+ * @param string|int $level The minimum logging level at which this handler will be triggered
33
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
34
  */
35
  public function __construct(\GFPDF_Vendor\Gelf\PublisherInterface $publisher, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
36
  {
38
  $this->publisher = $publisher;
39
  }
40
  /**
41
+ * {@inheritdoc}
42
  */
43
  protected function write(array $record) : void
44
  {
vendor_prefixed/monolog/src/Monolog/Handler/GroupHandler.php CHANGED
@@ -17,15 +17,12 @@ use GFPDF_Vendor\Monolog\ResettableInterface;
17
  * Forwards records to multiple handlers
18
  *
19
  * @author Lenar Lõhmus <lenar@city.ee>
20
- *
21
- * @phpstan-import-type Record from \Monolog\Logger
22
  */
23
  class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
24
  {
25
  use ProcessableHandlerTrait;
26
  /** @var HandlerInterface[] */
27
  protected $handlers;
28
- /** @var bool */
29
  protected $bubble;
30
  /**
31
  * @param HandlerInterface[] $handlers Array of Handlers.
@@ -42,7 +39,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
42
  $this->bubble = $bubble;
43
  }
44
  /**
45
- * {@inheritDoc}
46
  */
47
  public function isHandling(array $record) : bool
48
  {
@@ -54,12 +51,11 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
54
  return \false;
55
  }
56
  /**
57
- * {@inheritDoc}
58
  */
59
  public function handle(array $record) : bool
60
  {
61
  if ($this->processors) {
62
- /** @var Record $record */
63
  $record = $this->processRecord($record);
64
  }
65
  foreach ($this->handlers as $handler) {
@@ -68,7 +64,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
68
  return \false === $this->bubble;
69
  }
70
  /**
71
- * {@inheritDoc}
72
  */
73
  public function handleBatch(array $records) : void
74
  {
@@ -77,7 +73,6 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
77
  foreach ($records as $record) {
78
  $processed[] = $this->processRecord($record);
79
  }
80
- /** @var Record[] $records */
81
  $records = $processed;
82
  }
83
  foreach ($this->handlers as $handler) {
@@ -101,7 +96,7 @@ class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFP
101
  }
102
  }
103
  /**
104
- * {@inheritDoc}
105
  */
106
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
107
  {
17
  * Forwards records to multiple handlers
18
  *
19
  * @author Lenar Lõhmus <lenar@city.ee>
 
 
20
  */
21
  class GroupHandler extends \GFPDF_Vendor\Monolog\Handler\Handler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
22
  {
23
  use ProcessableHandlerTrait;
24
  /** @var HandlerInterface[] */
25
  protected $handlers;
 
26
  protected $bubble;
27
  /**
28
  * @param HandlerInterface[] $handlers Array of Handlers.
39
  $this->bubble = $bubble;
40
  }
41
  /**
42
+ * {@inheritdoc}
43
  */
44
  public function isHandling(array $record) : bool
45
  {
51
  return \false;
52
  }
53
  /**
54
+ * {@inheritdoc}
55
  */
56
  public function handle(array $record) : bool
57
  {
58
  if ($this->processors) {
 
59
  $record = $this->processRecord($record);
60
  }
61
  foreach ($this->handlers as $handler) {
64
  return \false === $this->bubble;
65
  }
66
  /**
67
+ * {@inheritdoc}
68
  */
69
  public function handleBatch(array $records) : void
70
  {
73
  foreach ($records as $record) {
74
  $processed[] = $this->processRecord($record);
75
  }
 
76
  $records = $processed;
77
  }
78
  foreach ($this->handlers as $handler) {
96
  }
97
  }
98
  /**
99
+ * {@inheritdoc}
100
  */
101
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
102
  {
vendor_prefixed/monolog/src/Monolog/Handler/Handler.php CHANGED
@@ -19,7 +19,7 @@ namespace GFPDF_Vendor\Monolog\Handler;
19
  abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
20
  {
21
  /**
22
- * {@inheritDoc}
23
  */
24
  public function handleBatch(array $records) : void
25
  {
@@ -28,7 +28,7 @@ abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
28
  }
29
  }
30
  /**
31
- * {@inheritDoc}
32
  */
33
  public function close() : void
34
  {
19
  abstract class Handler implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface
20
  {
21
  /**
22
+ * {@inheritdoc}
23
  */
24
  public function handleBatch(array $records) : void
25
  {
28
  }
29
  }
30
  /**
31
+ * {@inheritdoc}
32
  */
33
  public function close() : void
34
  {
vendor_prefixed/monolog/src/Monolog/Handler/HandlerInterface.php CHANGED
@@ -15,9 +15,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
15
  * Interface that all Monolog Handlers must implement
16
  *
17
  * @author Jordi Boggiano <j.boggiano@seld.be>
18
- *
19
- * @phpstan-import-type Record from \Monolog\Logger
20
- * @phpstan-import-type Level from \Monolog\Logger
21
  */
22
  interface HandlerInterface
23
  {
@@ -33,8 +30,6 @@ interface HandlerInterface
33
  * @param array $record Partial log record containing only a level key
34
  *
35
  * @return bool
36
- *
37
- * @phpstan-param array{level: Level} $record
38
  */
39
  public function isHandling(array $record) : bool;
40
  /**
@@ -50,16 +45,12 @@ interface HandlerInterface
50
  * @param array $record The record to handle
51
  * @return bool true means that this handler handled the record, and that bubbling is not permitted.
52
  * false means the record was either not processed or that this handler allows bubbling.
53
- *
54
- * @phpstan-param Record $record
55
  */
56
  public function handle(array $record) : bool;
57
  /**
58
  * Handles a set of records at once.
59
  *
60
  * @param array $records The records to handle (an array of record arrays)
61
- *
62
- * @phpstan-param Record[] $records
63
  */
64
  public function handleBatch(array $records) : void;
65
  /**
15
  * Interface that all Monolog Handlers must implement
16
  *
17
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
18
  */
19
  interface HandlerInterface
20
  {
30
  * @param array $record Partial log record containing only a level key
31
  *
32
  * @return bool
 
 
33
  */
34
  public function isHandling(array $record) : bool;
35
  /**
45
  * @param array $record The record to handle
46
  * @return bool true means that this handler handled the record, and that bubbling is not permitted.
47
  * false means the record was either not processed or that this handler allows bubbling.
 
 
48
  */
49
  public function handle(array $record) : bool;
50
  /**
51
  * Handles a set of records at once.
52
  *
53
  * @param array $records The records to handle (an array of record arrays)
 
 
54
  */
55
  public function handleBatch(array $records) : void;
56
  /**
vendor_prefixed/monolog/src/Monolog/Handler/HandlerWrapper.php CHANGED
@@ -41,35 +41,35 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
41
  $this->handler = $handler;
42
  }
43
  /**
44
- * {@inheritDoc}
45
  */
46
  public function isHandling(array $record) : bool
47
  {
48
  return $this->handler->isHandling($record);
49
  }
50
  /**
51
- * {@inheritDoc}
52
  */
53
  public function handle(array $record) : bool
54
  {
55
  return $this->handler->handle($record);
56
  }
57
  /**
58
- * {@inheritDoc}
59
  */
60
  public function handleBatch(array $records) : void
61
  {
62
  $this->handler->handleBatch($records);
63
  }
64
  /**
65
- * {@inheritDoc}
66
  */
67
  public function close() : void
68
  {
69
  $this->handler->close();
70
  }
71
  /**
72
- * {@inheritDoc}
73
  */
74
  public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
75
  {
@@ -80,7 +80,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
80
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
81
  }
82
  /**
83
- * {@inheritDoc}
84
  */
85
  public function popProcessor() : callable
86
  {
@@ -90,7 +90,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
90
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
91
  }
92
  /**
93
- * {@inheritDoc}
94
  */
95
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
96
  {
@@ -101,7 +101,7 @@ class HandlerWrapper implements \GFPDF_Vendor\Monolog\Handler\HandlerInterface,
101
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface::class);
102
  }
103
  /**
104
- * {@inheritDoc}
105
  */
106
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
107
  {
41
  $this->handler = $handler;
42
  }
43
  /**
44
+ * {@inheritdoc}
45
  */
46
  public function isHandling(array $record) : bool
47
  {
48
  return $this->handler->isHandling($record);
49
  }
50
  /**
51
+ * {@inheritdoc}
52
  */
53
  public function handle(array $record) : bool
54
  {
55
  return $this->handler->handle($record);
56
  }
57
  /**
58
+ * {@inheritdoc}
59
  */
60
  public function handleBatch(array $records) : void
61
  {
62
  $this->handler->handleBatch($records);
63
  }
64
  /**
65
+ * {@inheritdoc}
66
  */
67
  public function close() : void
68
  {
69
  $this->handler->close();
70
  }
71
  /**
72
+ * {@inheritdoc}
73
  */
74
  public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
75
  {
80
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
81
  }
82
  /**
83
+ * {@inheritdoc}
84
  */
85
  public function popProcessor() : callable
86
  {
90
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface::class);
91
  }
92
  /**
93
+ * {@inheritdoc}
94
  */
95
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
96
  {
101
  throw new \LogicException('The wrapped handler does not implement ' . \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface::class);
102
  }
103
  /**
104
+ * {@inheritdoc}
105
  */
106
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
107
  {
vendor_prefixed/monolog/src/Monolog/Handler/IFTTTHandler.php CHANGED
@@ -26,25 +26,22 @@ use GFPDF_Vendor\Monolog\Utils;
26
  */
27
  class IFTTTHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
28
  {
29
- /** @var string */
30
  private $eventName;
31
- /** @var string */
32
  private $secretKey;
33
  /**
34
- * @param string $eventName The name of the IFTTT Maker event that should be triggered
35
- * @param string $secretKey A valid IFTTT secret key
 
 
36
  */
37
  public function __construct(string $eventName, string $secretKey, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
38
  {
39
- if (!\extension_loaded('curl')) {
40
- throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the IFTTTHandler');
41
- }
42
  $this->eventName = $eventName;
43
  $this->secretKey = $secretKey;
44
  parent::__construct($level, $bubble);
45
  }
46
  /**
47
- * {@inheritDoc}
48
  */
49
  public function write(array $record) : void
50
  {
26
  */
27
  class IFTTTHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
28
  {
 
29
  private $eventName;
 
30
  private $secretKey;
31
  /**
32
+ * @param string $eventName The name of the IFTTT Maker event that should be triggered
33
+ * @param string $secretKey A valid IFTTT secret key
34
+ * @param string|int $level The minimum logging level at which this handler will be triggered
35
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
36
  */
37
  public function __construct(string $eventName, string $secretKey, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
38
  {
 
 
 
39
  $this->eventName = $eventName;
40
  $this->secretKey = $secretKey;
41
  parent::__construct($level, $bubble);
42
  }
43
  /**
44
+ * {@inheritdoc}
45
  */
46
  public function write(array $record) : void
47
  {
vendor_prefixed/monolog/src/Monolog/Handler/InsightOpsHandler.php CHANGED
@@ -28,6 +28,8 @@ class InsightOpsHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
28
  * @param string $token Log token supplied by InsightOps
29
  * @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'.
30
  * @param bool $useSSL Whether or not SSL encryption should be used
 
 
31
  *
32
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
33
  */
@@ -41,7 +43,7 @@ class InsightOpsHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
41
  $this->logToken = $token;
42
  }
43
  /**
44
- * {@inheritDoc}
45
  */
46
  protected function generateDataStream(array $record) : string
47
  {
28
  * @param string $token Log token supplied by InsightOps
29
  * @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'.
30
  * @param bool $useSSL Whether or not SSL encryption should be used
31
+ * @param string|int $level The minimum logging level to trigger this handler
32
+ * @param bool $bubble Whether or not messages that are handled should bubble up the stack.
33
  *
34
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
35
  */
43
  $this->logToken = $token;
44
  }
45
  /**
46
+ * {@inheritdoc}
47
  */
48
  protected function generateDataStream(array $record) : string
49
  {
vendor_prefixed/monolog/src/Monolog/Handler/LogEntriesHandler.php CHANGED
@@ -24,6 +24,8 @@ class LogEntriesHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
24
  /**
25
  * @param string $token Log token supplied by LogEntries
26
  * @param bool $useSSL Whether or not SSL encryption should be used.
 
 
27
  * @param string $host Custom hostname to send the data to if needed
28
  *
29
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
@@ -38,7 +40,7 @@ class LogEntriesHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
38
  $this->logToken = $token;
39
  }
40
  /**
41
- * {@inheritDoc}
42
  */
43
  protected function generateDataStream(array $record) : string
44
  {
24
  /**
25
  * @param string $token Log token supplied by LogEntries
26
  * @param bool $useSSL Whether or not SSL encryption should be used.
27
+ * @param string|int $level The minimum logging level to trigger this handler
28
+ * @param bool $bubble Whether or not messages that are handled should bubble up the stack.
29
  * @param string $host Custom hostname to send the data to if needed
30
  *
31
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
40
  $this->logToken = $token;
41
  }
42
  /**
43
+ * {@inheritdoc}
44
  */
45
  protected function generateDataStream(array $record) : string
46
  {
vendor_prefixed/monolog/src/Monolog/Handler/LogglyHandler.php CHANGED
@@ -34,12 +34,12 @@ class LogglyHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
34
  * @var resource[]|CurlHandle[]
35
  */
36
  protected $curlHandlers = [];
37
- /** @var string */
38
  protected $token;
39
- /** @var string[] */
40
  protected $tag = [];
41
  /**
42
- * @param string $token API token supplied by Loggly
 
 
43
  *
44
  * @throws MissingExtensionException If the curl extension is missing
45
  */
34
  * @var resource[]|CurlHandle[]
35
  */
36
  protected $curlHandlers = [];
 
37
  protected $token;
 
38
  protected $tag = [];
39
  /**
40
+ * @param string $token API token supplied by Loggly
41
+ * @param string|int $level The minimum logging level to trigger this handler
42
+ * @param bool $bubble Whether or not messages that are handled should bubble up the stack.
43
  *
44
  * @throws MissingExtensionException If the curl extension is missing
45
  */
vendor_prefixed/monolog/src/Monolog/Handler/LogmaticHandler.php CHANGED
@@ -36,6 +36,8 @@ class LogmaticHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
36
  * @param string $hostname Host name supplied by Logmatic.
37
  * @param string $appname Application name supplied by Logmatic.
38
  * @param bool $useSSL Whether or not SSL encryption should be used.
 
 
39
  *
40
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
41
  */
@@ -52,14 +54,14 @@ class LogmaticHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
52
  $this->appname = $appname;
53
  }
54
  /**
55
- * {@inheritDoc}
56
  */
57
  protected function generateDataStream(array $record) : string
58
  {
59
  return $this->logToken . ' ' . $record['formatted'];
60
  }
61
  /**
62
- * {@inheritDoc}
63
  */
64
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
65
  {
36
  * @param string $hostname Host name supplied by Logmatic.
37
  * @param string $appname Application name supplied by Logmatic.
38
  * @param bool $useSSL Whether or not SSL encryption should be used.
39
+ * @param int|string $level The minimum logging level to trigger this handler.
40
+ * @param bool $bubble Whether or not messages that are handled should bubble up the stack.
41
  *
42
  * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
43
  */
54
  $this->appname = $appname;
55
  }
56
  /**
57
+ * {@inheritdoc}
58
  */
59
  protected function generateDataStream(array $record) : string
60
  {
61
  return $this->logToken . ' ' . $record['formatted'];
62
  }
63
  /**
64
+ * {@inheritdoc}
65
  */
66
  protected function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
67
  {
vendor_prefixed/monolog/src/Monolog/Handler/MailHandler.php CHANGED
@@ -17,13 +17,11 @@ use GFPDF_Vendor\Monolog\Formatter\HtmlFormatter;
17
  * Base class for all mail handlers
18
  *
19
  * @author Gyula Sallai
20
- *
21
- * @phpstan-import-type Record from \Monolog\Logger
22
  */
23
  abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
25
  /**
26
- * {@inheritDoc}
27
  */
28
  public function handleBatch(array $records) : void
29
  {
@@ -32,9 +30,7 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
32
  if ($record['level'] < $this->level) {
33
  continue;
34
  }
35
- /** @var Record $message */
36
- $message = $this->processRecord($record);
37
- $messages[] = $message;
38
  }
39
  if (!empty($messages)) {
40
  $this->send((string) $this->getFormatter()->formatBatch($messages), $messages);
@@ -45,21 +41,15 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
45
  *
46
  * @param string $content formatted email body to be sent
47
  * @param array $records the array of log records that formed this content
48
- *
49
- * @phpstan-param Record[] $records
50
  */
51
  protected abstract function send(string $content, array $records) : void;
52
  /**
53
- * {@inheritDoc}
54
  */
55
  protected function write(array $record) : void
56
  {
57
  $this->send((string) $record['formatted'], [$record]);
58
  }
59
- /**
60
- * @phpstan-param non-empty-array<Record> $records
61
- * @phpstan-return Record
62
- */
63
  protected function getHighestRecord(array $records) : array
64
  {
65
  $highestRecord = null;
@@ -72,7 +62,7 @@ abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcess
72
  }
73
  protected function isHtmlBody(string $body) : bool
74
  {
75
- return ($body[0] ?? null) === '<';
76
  }
77
  /**
78
  * Gets the default formatter.
17
  * Base class for all mail handlers
18
  *
19
  * @author Gyula Sallai
 
 
20
  */
21
  abstract class MailHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
22
  {
23
  /**
24
+ * {@inheritdoc}
25
  */
26
  public function handleBatch(array $records) : void
27
  {
30
  if ($record['level'] < $this->level) {
31
  continue;
32
  }
33
+ $messages[] = $this->processRecord($record);
 
 
34
  }
35
  if (!empty($messages)) {
36
  $this->send((string) $this->getFormatter()->formatBatch($messages), $messages);
41
  *
42
  * @param string $content formatted email body to be sent
43
  * @param array $records the array of log records that formed this content
 
 
44
  */
45
  protected abstract function send(string $content, array $records) : void;
46
  /**
47
+ * {@inheritdoc}
48
  */
49
  protected function write(array $record) : void
50
  {
51
  $this->send((string) $record['formatted'], [$record]);
52
  }
 
 
 
 
53
  protected function getHighestRecord(array $records) : array
54
  {
55
  $highestRecord = null;
62
  }
63
  protected function isHtmlBody(string $body) : bool
64
  {
65
+ return \substr($body, 0, 1) === '<';
66
  }
67
  /**
68
  * Gets the default formatter.
vendor_prefixed/monolog/src/Monolog/Handler/MandrillHandler.php CHANGED
@@ -30,6 +30,8 @@ class MandrillHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
30
  *
31
  * @param string $apiKey A valid Mandrill API key
32
  * @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
 
 
33
  */
34
  public function __construct(string $apiKey, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
35
  {
@@ -44,7 +46,7 @@ class MandrillHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
44
  $this->apiKey = $apiKey;
45
  }
46
  /**
47
- * {@inheritDoc}
48
  */
49
  protected function send(string $content, array $records) : void
50
  {
30
  *
31
  * @param string $apiKey A valid Mandrill API key
32
  * @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
33
+ * @param string|int $level The minimum logging level at which this handler will be triggered
34
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
35
  */
36
  public function __construct(string $apiKey, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
37
  {
46
  $this->apiKey = $apiKey;
47
  }
48
  /**
49
+ * {@inheritdoc}
50
  */
51
  protected function send(string $content, array $records) : void
52
  {
vendor_prefixed/monolog/src/Monolog/Handler/MongoDBHandler.php CHANGED
@@ -32,11 +32,8 @@ use GFPDF_Vendor\Monolog\Formatter\MongoDBFormatter;
32
  */
33
  class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
34
  {
35
- /** @var \MongoDB\Collection */
36
  private $collection;
37
- /** @var Client|Manager */
38
  private $manager;
39
- /** @var string */
40
  private $namespace;
41
  /**
42
  * Constructor.
@@ -44,6 +41,8 @@ class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
44
  * @param Client|Manager $mongodb MongoDB library or driver client
45
  * @param string $database Database name
46
  * @param string $collection Collection name
 
 
47
  */
48
  public function __construct($mongodb, string $database, string $collection, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
49
  {
32
  */
33
  class MongoDBHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
34
  {
 
35
  private $collection;
 
36
  private $manager;
 
37
  private $namespace;
38
  /**
39
  * Constructor.
41
  * @param Client|Manager $mongodb MongoDB library or driver client
42
  * @param string $database Database name
43
  * @param string $collection Collection name
44
+ * @param string|int $level The minimum logging level at which this handler will be triggered
45
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
46
  */
47
  public function __construct($mongodb, string $database, string $collection, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
48
  {
vendor_prefixed/monolog/src/Monolog/Handler/NativeMailerHandler.php CHANGED
@@ -23,7 +23,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
23
  {
24
  /**
25
  * The email addresses to which the message will be sent
26
- * @var string[]
27
  */
28
  protected $to;
29
  /**
@@ -33,12 +33,12 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
33
  protected $subject;
34
  /**
35
  * Optional headers for the message
36
- * @var string[]
37
  */
38
  protected $headers = [];
39
  /**
40
  * Optional parameters for the message
41
- * @var string[]
42
  */
43
  protected $parameters = [];
44
  /**
@@ -57,10 +57,12 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
57
  */
58
  protected $encoding = 'utf-8';
59
  /**
60
- * @param string|string[] $to The receiver of the mail
61
- * @param string $subject The subject of the mail
62
- * @param string $from The sender of the mail
63
- * @param int $maxColumnWidth The maximum column width that the message lines will have
 
 
64
  */
65
  public function __construct($to, string $subject, string $from, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true, int $maxColumnWidth = 70)
66
  {
@@ -73,7 +75,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
73
  /**
74
  * Add headers to the message
75
  *
76
- * @param string|string[] $headers Custom added headers
77
  */
78
  public function addHeader($headers) : self
79
  {
@@ -88,7 +90,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
88
  /**
89
  * Add parameters to the message
90
  *
91
- * @param string|string[] $parameters Custom added parameters
92
  */
93
  public function addParameter($parameters) : self
94
  {
@@ -96,7 +98,7 @@ class NativeMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
96
  return $this;
97
  }
98
  /**
99
- * {@inheritDoc}
100
  */
101
  protected function send(string $content, array $records) : void
102
  {
23
  {
24
  /**
25
  * The email addresses to which the message will be sent
26
+ * @var array
27
  */
28
  protected $to;
29
  /**
33
  protected $subject;
34
  /**
35
  * Optional headers for the message
36
+ * @var array
37
  */
38
  protected $headers = [];
39
  /**
40
  * Optional parameters for the message
41
+ * @var array
42
  */
43
  protected $parameters = [];
44
  /**
57
  */
58
  protected $encoding = 'utf-8';
59
  /**
60
+ * @param string|array $to The receiver of the mail
61
+ * @param string $subject The subject of the mail
62
+ * @param string $from The sender of the mail
63
+ * @param string|int $level The minimum logging level at which this handler will be triggered
64
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
65
+ * @param int $maxColumnWidth The maximum column width that the message lines will have
66
  */
67
  public function __construct($to, string $subject, string $from, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true, int $maxColumnWidth = 70)
68
  {
75
  /**
76
  * Add headers to the message
77
  *
78
+ * @param string|array $headers Custom added headers
79
  */
80
  public function addHeader($headers) : self
81
  {
90
  /**
91
  * Add parameters to the message
92
  *
93
+ * @param string|array $parameters Custom added parameters
94
  */
95
  public function addParameter($parameters) : self
96
  {
98
  return $this;
99
  }
100
  /**
101
+ * {@inheritdoc}
102
  */
103
  protected function send(string $content, array $records) : void
104
  {
vendor_prefixed/monolog/src/Monolog/Handler/NewRelicHandler.php CHANGED
@@ -29,13 +29,13 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
29
  /**
30
  * Name of the New Relic application that will receive logs from this handler.
31
  *
32
- * @var ?string
33
  */
34
  protected $appName;
35
  /**
36
  * Name of the current transaction
37
  *
38
- * @var ?string
39
  */
40
  protected $transactionName;
41
  /**
@@ -48,6 +48,8 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
48
  /**
49
  * {@inheritDoc}
50
  *
 
 
51
  * @param string|null $appName
52
  * @param bool $explodeArrays
53
  * @param string|null $transactionName
@@ -115,8 +117,6 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
115
  /**
116
  * Returns the appname where this log should be sent. Each log can override the default appname, set in this
117
  * handler's constructor, by providing the appname in it's context.
118
- *
119
- * @param mixed[] $context
120
  */
121
  protected function getAppName(array $context) : ?string
122
  {
@@ -128,8 +128,6 @@ class NewRelicHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHa
128
  /**
129
  * Returns the name of the current transaction. Each log can override the default transaction name, set in this
130
  * handler's constructor, by providing the transaction_name in it's context
131
- *
132
- * @param mixed[] $context
133
  */
134
  protected function getTransactionName(array $context) : ?string
135
  {
29
  /**
30
  * Name of the New Relic application that will receive logs from this handler.
31
  *
32
+ * @var string|null
33
  */
34
  protected $appName;
35
  /**
36
  * Name of the current transaction
37
  *
38
+ * @var string|null
39
  */
40
  protected $transactionName;
41
  /**
48
  /**
49
  * {@inheritDoc}
50
  *
51
+ * @param string|int $level The minimum logging level at which this handler will be triggered.
52
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
53
  * @param string|null $appName
54
  * @param bool $explodeArrays
55
  * @param string|null $transactionName
117
  /**
118
  * Returns the appname where this log should be sent. Each log can override the default appname, set in this
119
  * handler's constructor, by providing the appname in it's context.
 
 
120
  */
121
  protected function getAppName(array $context) : ?string
122
  {
128
  /**
129
  * Returns the name of the current transaction. Each log can override the default transaction name, set in this
130
  * handler's constructor, by providing the transaction_name in it's context
 
 
131
  */
132
  protected function getTransactionName(array $context) : ?string
133
  {
vendor_prefixed/monolog/src/Monolog/Handler/NoopHandler.php CHANGED
@@ -23,14 +23,14 @@ namespace GFPDF_Vendor\Monolog\Handler;
23
  class NoopHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
24
  {
25
  /**
26
- * {@inheritDoc}
27
  */
28
  public function isHandling(array $record) : bool
29
  {
30
  return \true;
31
  }
32
  /**
33
- * {@inheritDoc}
34
  */
35
  public function handle(array $record) : bool
36
  {
23
  class NoopHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
24
  {
25
  /**
26
+ * {@inheritdoc}
27
  */
28
  public function isHandling(array $record) : bool
29
  {
30
  return \true;
31
  }
32
  /**
33
+ * {@inheritdoc}
34
  */
35
  public function handle(array $record) : bool
36
  {
vendor_prefixed/monolog/src/Monolog/Handler/NullHandler.php CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Blackhole
18
  *
@@ -20,9 +19,6 @@ use Psr\Log\LogLevel;
20
  * to put on top of an existing stack to override it temporarily.
21
  *
22
  * @author Jordi Boggiano <j.boggiano@seld.be>
23
- *
24
- * @phpstan-import-type Level from \Monolog\Logger
25
- * @phpstan-import-type LevelName from \Monolog\Logger
26
  */
27
  class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
28
  {
@@ -32,22 +28,20 @@ class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
32
  private $level;
33
  /**
34
  * @param string|int $level The minimum logging level at which this handler will be triggered
35
- *
36
- * @phpstan-param Level|LevelName|LogLevel::* $level
37
  */
38
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
39
  {
40
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
41
  }
42
  /**
43
- * {@inheritDoc}
44
  */
45
  public function isHandling(array $record) : bool
46
  {
47
  return $record['level'] >= $this->level;
48
  }
49
  /**
50
- * {@inheritDoc}
51
  */
52
  public function handle(array $record) : bool
53
  {
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Blackhole
17
  *
19
  * to put on top of an existing stack to override it temporarily.
20
  *
21
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
22
  */
23
  class NullHandler extends \GFPDF_Vendor\Monolog\Handler\Handler
24
  {
28
  private $level;
29
  /**
30
  * @param string|int $level The minimum logging level at which this handler will be triggered
 
 
31
  */
32
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
33
  {
34
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
35
  }
36
  /**
37
+ * {@inheritdoc}
38
  */
39
  public function isHandling(array $record) : bool
40
  {
41
  return $record['level'] >= $this->level;
42
  }
43
  /**
44
+ * {@inheritdoc}
45
  */
46
  public function handle(array $record) : bool
47
  {
vendor_prefixed/monolog/src/Monolog/Handler/OverflowHandler.php CHANGED
@@ -48,6 +48,8 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
48
  /**
49
  * @param HandlerInterface $handler
50
  * @param int[] $thresholdMap Dictionary of logger level => threshold
 
 
51
  */
52
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, array $thresholdMap = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
53
  {
@@ -67,7 +69,10 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
67
  * Unless the bubbling is interrupted (by returning true), the Logger class will keep on
68
  * calling further handlers in the stack with a given log record.
69
  *
70
- * {@inheritDoc}
 
 
 
71
  */
72
  public function handle(array $record) : bool
73
  {
@@ -96,7 +101,7 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
96
  return \false === $this->bubble;
97
  }
98
  /**
99
- * {@inheritDoc}
100
  */
101
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
102
  {
@@ -107,7 +112,7 @@ class OverflowHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
107
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
108
  }
109
  /**
110
- * {@inheritDoc}
111
  */
112
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
113
  {
48
  /**
49
  * @param HandlerInterface $handler
50
  * @param int[] $thresholdMap Dictionary of logger level => threshold
51
+ * @param int|string $level The minimum logging level at which this handler will be triggered
52
+ * @param bool $bubble
53
  */
54
  public function __construct(\GFPDF_Vendor\Monolog\Handler\HandlerInterface $handler, array $thresholdMap = [], $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
55
  {
69
  * Unless the bubbling is interrupted (by returning true), the Logger class will keep on
70
  * calling further handlers in the stack with a given log record.
71
  *
72
+ * @param array $record The record to handle
73
+ *
74
+ * @return Boolean true means that this handler handled the record, and that bubbling is not permitted.
75
+ * false means the record was either not processed or that this handler allows bubbling.
76
  */
77
  public function handle(array $record) : bool
78
  {
101
  return \false === $this->bubble;
102
  }
103
  /**
104
+ * {@inheritdoc}
105
  */
106
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
107
  {
112
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($this->handler) . ' does not support formatters.');
113
  }
114
  /**
115
+ * {@inheritdoc}
116
  */
117
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
118
  {
vendor_prefixed/monolog/src/Monolog/Handler/PHPConsoleHandler.php CHANGED
@@ -36,12 +36,9 @@ use GFPDF_Vendor\PhpConsole\Helper;
36
  * PC::debug($_SERVER); // PHP Console debugger for any type of vars
37
  *
38
  * @author Sergey Barbushin https://www.linkedin.com/in/barbushin
39
- *
40
- * @phpstan-import-type Record from \Monolog\Logger
41
  */
42
  class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
43
  {
44
- /** @var array<string, mixed> */
45
  private $options = [
46
  'enabled' => \true,
47
  // bool Is PHP Console server enabled
@@ -86,8 +83,10 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
86
  /** @var Connector */
87
  private $connector;
88
  /**
89
- * @param array<string, mixed> $options See \Monolog\Handler\PHPConsoleHandler::$options for more details
90
- * @param Connector|null $connector Instance of \PhpConsole\Connector class (optional)
 
 
91
  * @throws \RuntimeException
92
  */
93
  public function __construct(array $options = [], ?\GFPDF_Vendor\PhpConsole\Connector $connector = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
@@ -99,11 +98,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
99
  $this->options = $this->initOptions($options);
100
  $this->connector = $this->initConnector($connector);
101
  }
102
- /**
103
- * @param array<string, mixed> $options
104
- *
105
- * @return array<string, mixed>
106
- */
107
  private function initOptions(array $options) : array
108
  {
109
  $wrongOptions = \array_diff(\array_keys($options), \array_keys($this->options));
@@ -167,9 +161,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
167
  {
168
  return $this->connector;
169
  }
170
- /**
171
- * @return array<string, mixed>
172
- */
173
  public function getOptions() : array
174
  {
175
  return $this->options;
@@ -194,9 +185,6 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
194
  $this->handleErrorRecord($record);
195
  }
196
  }
197
- /**
198
- * @phpstan-param Record $record
199
- */
200
  private function handleDebugRecord(array $record) : void
201
  {
202
  $tags = $this->getRecordTags($record);
@@ -206,25 +194,15 @@ class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessing
206
  }
207
  $this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']);
208
  }
209
- /**
210
- * @phpstan-param Record $record
211
- */
212
  private function handleExceptionRecord(array $record) : void
213
  {
214
  $this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']);
215
  }
216
- /**
217
- * @phpstan-param Record $record
218
- */
219
  private function handleErrorRecord(array $record) : void
220
  {
221
  $context = $record['context'];
222
  $this->connector->getErrorsDispatcher()->dispatchError($context['code'] ?? null, $context['message'] ?? $record['message'], $context['file'] ?? null, $context['line'] ?? null, $this->options['classesPartialsTraceIgnore']);
223
  }
224
- /**
225
- * @phpstan-param Record $record
226
- * @return string
227
- */
228
  private function getRecordTags(array &$record)
229
  {
230
  $tags = null;
36
  * PC::debug($_SERVER); // PHP Console debugger for any type of vars
37
  *
38
  * @author Sergey Barbushin https://www.linkedin.com/in/barbushin
 
 
39
  */
40
  class PHPConsoleHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
41
  {
 
42
  private $options = [
43
  'enabled' => \true,
44
  // bool Is PHP Console server enabled
83
  /** @var Connector */
84
  private $connector;
85
  /**
86
+ * @param array $options See \Monolog\Handler\PHPConsoleHandler::$options for more details
87
+ * @param Connector|null $connector Instance of \PhpConsole\Connector class (optional)
88
+ * @param string|int $level The minimum logging level at which this handler will be triggered.
89
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
90
  * @throws \RuntimeException
91
  */
92
  public function __construct(array $options = [], ?\GFPDF_Vendor\PhpConsole\Connector $connector = null, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
98
  $this->options = $this->initOptions($options);
99
  $this->connector = $this->initConnector($connector);
100
  }
 
 
 
 
 
101
  private function initOptions(array $options) : array
102
  {
103
  $wrongOptions = \array_diff(\array_keys($options), \array_keys($this->options));
161
  {
162
  return $this->connector;
163
  }
 
 
 
164
  public function getOptions() : array
165
  {
166
  return $this->options;
185
  $this->handleErrorRecord($record);
186
  }
187
  }
 
 
 
188
  private function handleDebugRecord(array $record) : void
189
  {
190
  $tags = $this->getRecordTags($record);
194
  }
195
  $this->connector->getDebugDispatcher()->dispatchDebug($message, $tags, $this->options['classesPartialsTraceIgnore']);
196
  }
 
 
 
197
  private function handleExceptionRecord(array $record) : void
198
  {
199
  $this->connector->getErrorsDispatcher()->dispatchException($record['context']['exception']);
200
  }
 
 
 
201
  private function handleErrorRecord(array $record) : void
202
  {
203
  $context = $record['context'];
204
  $this->connector->getErrorsDispatcher()->dispatchError($context['code'] ?? null, $context['message'] ?? $record['message'], $context['file'] ?? null, $context['line'] ?? null, $this->options['classesPartialsTraceIgnore']);
205
  }
 
 
 
 
206
  private function getRecordTags(array &$record)
207
  {
208
  $tags = null;
vendor_prefixed/monolog/src/Monolog/Handler/ProcessHandler.php CHANGED
@@ -40,11 +40,11 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
40
  */
41
  private $cwd;
42
  /**
43
- * @var resource[]
44
  */
45
  private $pipes = [];
46
  /**
47
- * @var array<int, string[]>
48
  */
49
  protected const DESCRIPTOR_SPEC = [
50
  0 => ['pipe', 'r'],
@@ -56,6 +56,8 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
56
  /**
57
  * @param string $command Command for the process to start. Absolute paths are recommended,
58
  * especially if you do not use the $cwd parameter.
 
 
59
  * @param string|null $cwd "Current working directory" (CWD) for the process to be executed in.
60
  * @throws \InvalidArgumentException
61
  */
@@ -141,7 +143,7 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
141
  */
142
  protected function readProcessErrors() : string
143
  {
144
- return (string) \stream_get_contents($this->pipes[2]);
145
  }
146
  /**
147
  * Writes to the input stream of the opened process.
@@ -153,7 +155,7 @@ class ProcessHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
153
  \fwrite($this->pipes[0], $string);
154
  }
155
  /**
156
- * {@inheritDoc}
157
  */
158
  public function close() : void
159
  {
40
  */
41
  private $cwd;
42
  /**
43
+ * @var array
44
  */
45
  private $pipes = [];
46
  /**
47
+ * @var array
48
  */
49
  protected const DESCRIPTOR_SPEC = [
50
  0 => ['pipe', 'r'],
56
  /**
57
  * @param string $command Command for the process to start. Absolute paths are recommended,
58
  * especially if you do not use the $cwd parameter.
59
+ * @param string|int $level The minimum logging level at which this handler will be triggered.
60
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
61
  * @param string|null $cwd "Current working directory" (CWD) for the process to be executed in.
62
  * @throws \InvalidArgumentException
63
  */
143
  */
144
  protected function readProcessErrors() : string
145
  {
146
+ return \stream_get_contents($this->pipes[2]);
147
  }
148
  /**
149
  * Writes to the input stream of the opened process.
155
  \fwrite($this->pipes[0], $string);
156
  }
157
  /**
158
+ * {@inheritdoc}
159
  */
160
  public function close() : void
161
  {
vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php CHANGED
@@ -16,15 +16,13 @@ use GFPDF_Vendor\Monolog\Processor\ProcessorInterface;
16
  * Interface to describe loggers that have processors
17
  *
18
  * @author Jordi Boggiano <j.boggiano@seld.be>
19
- *
20
- * @phpstan-import-type Record from \Monolog\Logger
21
  */
22
  interface ProcessableHandlerInterface
23
  {
24
  /**
25
  * Adds a processor in the stack.
26
  *
27
- * @psalm-param ProcessorInterface|callable(Record): Record $callback
28
  *
29
  * @param ProcessorInterface|callable $callback
30
  * @return HandlerInterface self
@@ -33,10 +31,10 @@ interface ProcessableHandlerInterface
33
  /**
34
  * Removes the processor on top of the stack and returns it.
35
  *
36
- * @psalm-return ProcessorInterface|callable(Record): Record $callback
37
  *
38
- * @throws \LogicException In case the processor stack is empty
39
- * @return callable|ProcessorInterface
40
  */
41
  public function popProcessor() : callable;
42
  }
16
  * Interface to describe loggers that have processors
17
  *
18
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
19
  */
20
  interface ProcessableHandlerInterface
21
  {
22
  /**
23
  * Adds a processor in the stack.
24
  *
25
+ * @psalm-param ProcessorInterface|callable(array): array $callback
26
  *
27
  * @param ProcessorInterface|callable $callback
28
  * @return HandlerInterface self
31
  /**
32
  * Removes the processor on top of the stack and returns it.
33
  *
34
+ * @psalm-return callable(array): array
35
  *
36
+ * @throws \LogicException In case the processor stack is empty
37
+ * @return callable
38
  */
39
  public function popProcessor() : callable;
40
  }
vendor_prefixed/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php CHANGED
@@ -12,23 +12,19 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\ResettableInterface;
15
- use GFPDF_Vendor\Monolog\Processor\ProcessorInterface;
16
  /**
17
  * Helper trait for implementing ProcessableInterface
18
  *
19
  * @author Jordi Boggiano <j.boggiano@seld.be>
20
- *
21
- * @phpstan-import-type Record from \Monolog\Logger
22
  */
23
  trait ProcessableHandlerTrait
24
  {
25
  /**
26
  * @var callable[]
27
- * @phpstan-var array<ProcessorInterface|callable(Record): Record>
28
  */
29
  protected $processors = [];
30
  /**
31
- * {@inheritDoc}
32
  */
33
  public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
34
  {
@@ -36,7 +32,7 @@ trait ProcessableHandlerTrait
36
  return $this;
37
  }
38
  /**
39
- * {@inheritDoc}
40
  */
41
  public function popProcessor() : callable
42
  {
@@ -47,9 +43,6 @@ trait ProcessableHandlerTrait
47
  }
48
  /**
49
  * Processes a record.
50
- *
51
- * @phpstan-param Record $record
52
- * @phpstan-return Record
53
  */
54
  protected function processRecord(array $record) : array
55
  {
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\ResettableInterface;
 
15
  /**
16
  * Helper trait for implementing ProcessableInterface
17
  *
18
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
19
  */
20
  trait ProcessableHandlerTrait
21
  {
22
  /**
23
  * @var callable[]
 
24
  */
25
  protected $processors = [];
26
  /**
27
+ * {@inheritdoc}
28
  */
29
  public function pushProcessor(callable $callback) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
30
  {
32
  return $this;
33
  }
34
  /**
35
+ * {@inheritdoc}
36
  */
37
  public function popProcessor() : callable
38
  {
43
  }
44
  /**
45
  * Processes a record.
 
 
 
46
  */
47
  protected function processRecord(array $record) : array
48
  {
vendor_prefixed/monolog/src/Monolog/Handler/PsrHandler.php CHANGED
@@ -37,6 +37,8 @@ class PsrHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implement
37
  protected $formatter;
38
  /**
39
  * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
 
 
40
  */
41
  public function __construct(\Psr\Log\LoggerInterface $logger, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
42
  {
37
  protected $formatter;
38
  /**
39
  * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
40
+ * @param string|int $level The minimum logging level at which this handler will be triggered
41
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
42
  */
43
  public function __construct(\Psr\Log\LoggerInterface $logger, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
44
  {
vendor_prefixed/monolog/src/Monolog/Handler/PushoverHandler.php CHANGED
@@ -13,53 +13,41 @@ namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\Utils;
16
- use Psr\Log\LogLevel;
17
  /**
18
  * Sends notifications through the pushover api to mobile phones
19
  *
20
  * @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
21
  * @see https://www.pushover.net/api
22
- *
23
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
24
- * @phpstan-import-type Level from \Monolog\Logger
25
- * @phpstan-import-type LevelName from \Monolog\Logger
26
  */
27
  class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
28
  {
29
- /** @var string */
30
  private $token;
31
- /** @var array<int|string> */
32
  private $users;
33
- /** @var string */
34
  private $title;
35
- /** @var string|int|null */
36
- private $user = null;
37
- /** @var int */
38
  private $retry;
39
- /** @var int */
40
  private $expire;
41
- /** @var int */
42
  private $highPriorityLevel;
43
- /** @var int */
44
  private $emergencyLevel;
45
- /** @var bool */
46
  private $useFormattedMessage = \false;
47
  /**
48
  * All parameters that can be sent to Pushover
49
  * @see https://pushover.net/api
50
- * @var array<string, bool>
51
  */
52
  private $parameterNames = ['token' => \true, 'user' => \true, 'message' => \true, 'device' => \true, 'title' => \true, 'url' => \true, 'url_title' => \true, 'priority' => \true, 'timestamp' => \true, 'sound' => \true, 'retry' => \true, 'expire' => \true, 'callback' => \true];
53
  /**
54
  * Sounds the api supports by default
55
  * @see https://pushover.net/api#sounds
56
- * @var string[]
57
  */
58
  private $sounds = ['pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', 'persistent', 'echo', 'updown', 'none'];
59
  /**
60
  * @param string $token Pushover api token
61
  * @param string|array $users Pushover user id or array of ids the message will be sent to
62
  * @param string|null $title Title sent to the Pushover API
 
 
63
  * @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
64
  * the pushover.net app owner. OpenSSL is required for this option.
65
  * @param string|int $highPriorityLevel The minimum logging level at which this handler will start
@@ -70,10 +58,6 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
70
  * send the same notification to the user.
71
  * @param int $expire The expire parameter specifies how many seconds your notification will continue
72
  * to be retried for (every retry seconds).
73
- *
74
- * @phpstan-param string|array<int|string> $users
75
- * @phpstan-param Level|LevelName|LogLevel::* $highPriorityLevel
76
- * @phpstan-param Level|LevelName|LogLevel::* $emergencyLevel
77
  */
78
  public function __construct(string $token, $users, ?string $title = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useSSL = \true, $highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::CRITICAL, $emergencyLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, int $retry = 30, int $expire = 25200)
79
  {
@@ -81,7 +65,7 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
81
  parent::__construct($connectionString, $level, $bubble);
82
  $this->token = $token;
83
  $this->users = (array) $users;
84
- $this->title = $title ?: (string) \gethostname();
85
  $this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($highPriorityLevel);
86
  $this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($emergencyLevel);
87
  $this->retry = $retry;
@@ -92,9 +76,6 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
92
  $content = $this->buildContent($record);
93
  return $this->buildHeader($content) . $content;
94
  }
95
- /**
96
- * @phpstan-param FormattedRecord $record
97
- */
98
  private function buildContent(array $record) : string
99
  {
100
  // Pushover has a limit of 512 characters on title and message combined.
@@ -139,21 +120,11 @@ class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
139
  }
140
  $this->user = null;
141
  }
142
- /**
143
- * @param int|string $value
144
- *
145
- * @phpstan-param Level|LevelName|LogLevel::* $value
146
- */
147
  public function setHighPriorityLevel($value) : self
148
  {
149
  $this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
150
  return $this;
151
  }
152
- /**
153
- * @param int|string $value
154
- *
155
- * @phpstan-param Level|LevelName|LogLevel::* $value
156
- */
157
  public function setEmergencyLevel($value) : self
158
  {
159
  $this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
  use GFPDF_Vendor\Monolog\Utils;
 
16
  /**
17
  * Sends notifications through the pushover api to mobile phones
18
  *
19
  * @author Sebastian Göttschkes <sebastian.goettschkes@googlemail.com>
20
  * @see https://www.pushover.net/api
 
 
 
 
21
  */
22
  class PushoverHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
23
  {
 
24
  private $token;
 
25
  private $users;
 
26
  private $title;
27
+ private $user;
 
 
28
  private $retry;
 
29
  private $expire;
 
30
  private $highPriorityLevel;
 
31
  private $emergencyLevel;
 
32
  private $useFormattedMessage = \false;
33
  /**
34
  * All parameters that can be sent to Pushover
35
  * @see https://pushover.net/api
36
+ * @var array
37
  */
38
  private $parameterNames = ['token' => \true, 'user' => \true, 'message' => \true, 'device' => \true, 'title' => \true, 'url' => \true, 'url_title' => \true, 'priority' => \true, 'timestamp' => \true, 'sound' => \true, 'retry' => \true, 'expire' => \true, 'callback' => \true];
39
  /**
40
  * Sounds the api supports by default
41
  * @see https://pushover.net/api#sounds
42
+ * @var array
43
  */
44
  private $sounds = ['pushover', 'bike', 'bugle', 'cashregister', 'classical', 'cosmic', 'falling', 'gamelan', 'incoming', 'intermission', 'magic', 'mechanical', 'pianobar', 'siren', 'spacealarm', 'tugboat', 'alien', 'climb', 'persistent', 'echo', 'updown', 'none'];
45
  /**
46
  * @param string $token Pushover api token
47
  * @param string|array $users Pushover user id or array of ids the message will be sent to
48
  * @param string|null $title Title sent to the Pushover API
49
+ * @param string|int $level The minimum logging level at which this handler will be triggered
50
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
51
  * @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
52
  * the pushover.net app owner. OpenSSL is required for this option.
53
  * @param string|int $highPriorityLevel The minimum logging level at which this handler will start
58
  * send the same notification to the user.
59
  * @param int $expire The expire parameter specifies how many seconds your notification will continue
60
  * to be retried for (every retry seconds).
 
 
 
 
61
  */
62
  public function __construct(string $token, $users, ?string $title = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useSSL = \true, $highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::CRITICAL, $emergencyLevel = \GFPDF_Vendor\Monolog\Logger::EMERGENCY, int $retry = 30, int $expire = 25200)
63
  {
65
  parent::__construct($connectionString, $level, $bubble);
66
  $this->token = $token;
67
  $this->users = (array) $users;
68
+ $this->title = $title ?: \gethostname();
69
  $this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($highPriorityLevel);
70
  $this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($emergencyLevel);
71
  $this->retry = $retry;
76
  $content = $this->buildContent($record);
77
  return $this->buildHeader($content) . $content;
78
  }
 
 
 
79
  private function buildContent(array $record) : string
80
  {
81
  // Pushover has a limit of 512 characters on title and message combined.
120
  }
121
  $this->user = null;
122
  }
 
 
 
 
 
123
  public function setHighPriorityLevel($value) : self
124
  {
125
  $this->highPriorityLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
126
  return $this;
127
  }
 
 
 
 
 
128
  public function setEmergencyLevel($value) : self
129
  {
130
  $this->emergencyLevel = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($value);
vendor_prefixed/monolog/src/Monolog/Handler/RedisHandler.php CHANGED
@@ -24,20 +24,17 @@ use GFPDF_Vendor\Monolog\Logger;
24
  * $log->pushHandler($redis);
25
  *
26
  * @author Thomas Tourlourat <thomas@tourlourat.com>
27
- *
28
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
29
  */
30
  class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
31
  {
32
- /** @var \Predis\Client|\Redis */
33
  private $redisClient;
34
- /** @var string */
35
  private $redisKey;
36
- /** @var int */
37
  protected $capSize;
38
  /**
39
  * @param \Predis\Client|\Redis $redis The redis instance
40
  * @param string $key The key name to push records to
 
 
41
  * @param int $capSize Number of entries to limit list size to, 0 = unlimited
42
  */
43
  public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $capSize = 0)
@@ -64,8 +61,6 @@ class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandl
64
  /**
65
  * Write and cap the collection
66
  * Writes the record to the redis list and caps its
67
- *
68
- * @phpstan-param FormattedRecord $record
69
  */
70
  protected function writeCapped(array $record) : void
71
  {
24
  * $log->pushHandler($redis);
25
  *
26
  * @author Thomas Tourlourat <thomas@tourlourat.com>
 
 
27
  */
28
  class RedisHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
29
  {
 
30
  private $redisClient;
 
31
  private $redisKey;
 
32
  protected $capSize;
33
  /**
34
  * @param \Predis\Client|\Redis $redis The redis instance
35
  * @param string $key The key name to push records to
36
+ * @param string|int $level The minimum logging level at which this handler will be triggered
37
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
38
  * @param int $capSize Number of entries to limit list size to, 0 = unlimited
39
  */
40
  public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $capSize = 0)
61
  /**
62
  * Write and cap the collection
63
  * Writes the record to the redis list and caps its
 
 
64
  */
65
  protected function writeCapped(array $record) : void
66
  {
vendor_prefixed/monolog/src/Monolog/Handler/RedisPubSubHandler.php CHANGED
@@ -27,13 +27,13 @@ use GFPDF_Vendor\Monolog\Logger;
27
  */
28
  class RedisPubSubHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
29
  {
30
- /** @var \Predis\Client|\Redis */
31
  private $redisClient;
32
- /** @var string */
33
  private $channelKey;
34
  /**
35
- * @param \Predis\Client|\Redis $redis The redis instance
36
- * @param string $key The channel key to publish records to
 
 
37
  */
38
  public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
39
  {
27
  */
28
  class RedisPubSubHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
29
  {
 
30
  private $redisClient;
 
31
  private $channelKey;
32
  /**
33
+ * @param \Predis\Client|\Redis $redis The redis instance
34
+ * @param string $key The channel key to publish records to
35
+ * @param string|int $level The minimum logging level at which this handler will be triggered
36
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
37
  */
38
  public function __construct($redis, string $key, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
39
  {
vendor_prefixed/monolog/src/Monolog/Handler/RollbarHandler.php CHANGED
@@ -36,7 +36,6 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
36
  * @var RollbarLogger
37
  */
38
  protected $rollbarLogger;
39
- /** @var string[] */
40
  protected $levelMap = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'debug', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warning', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'critical', \GFPDF_Vendor\Monolog\Logger::ALERT => 'critical', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'critical'];
41
  /**
42
  * Records whether any log records have been added since the last flush of the rollbar notifier
@@ -44,10 +43,11 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
44
  * @var bool
45
  */
46
  private $hasRecords = \false;
47
- /** @var bool */
48
  protected $initialized = \false;
49
  /**
50
  * @param RollbarLogger $rollbarLogger RollbarLogger object constructed with valid token
 
 
51
  */
52
  public function __construct(\GFPDF_Vendor\Rollbar\RollbarLogger $rollbarLogger, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
53
  {
@@ -55,7 +55,7 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
55
  parent::__construct($level, $bubble);
56
  }
57
  /**
58
- * {@inheritDoc}
59
  */
60
  protected function write(array $record) : void
61
  {
@@ -73,7 +73,6 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
73
  } else {
74
  $toLog = $record['message'];
75
  }
76
- // @phpstan-ignore-next-line
77
  $this->rollbarLogger->log($context['level'], $toLog, $context);
78
  $this->hasRecords = \true;
79
  }
@@ -85,14 +84,14 @@ class RollbarHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHan
85
  }
86
  }
87
  /**
88
- * {@inheritDoc}
89
  */
90
  public function close() : void
91
  {
92
  $this->flush();
93
  }
94
  /**
95
- * {@inheritDoc}
96
  */
97
  public function reset()
98
  {
36
  * @var RollbarLogger
37
  */
38
  protected $rollbarLogger;
 
39
  protected $levelMap = [\GFPDF_Vendor\Monolog\Logger::DEBUG => 'debug', \GFPDF_Vendor\Monolog\Logger::INFO => 'info', \GFPDF_Vendor\Monolog\Logger::NOTICE => 'info', \GFPDF_Vendor\Monolog\Logger::WARNING => 'warning', \GFPDF_Vendor\Monolog\Logger::ERROR => 'error', \GFPDF_Vendor\Monolog\Logger::CRITICAL => 'critical', \GFPDF_Vendor\Monolog\Logger::ALERT => 'critical', \GFPDF_Vendor\Monolog\Logger::EMERGENCY => 'critical'];
40
  /**
41
  * Records whether any log records have been added since the last flush of the rollbar notifier
43
  * @var bool
44
  */
45
  private $hasRecords = \false;
 
46
  protected $initialized = \false;
47
  /**
48
  * @param RollbarLogger $rollbarLogger RollbarLogger object constructed with valid token
49
+ * @param string|int $level The minimum logging level at which this handler will be triggered
50
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
51
  */
52
  public function __construct(\GFPDF_Vendor\Rollbar\RollbarLogger $rollbarLogger, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
53
  {
55
  parent::__construct($level, $bubble);
56
  }
57
  /**
58
+ * {@inheritdoc}
59
  */
60
  protected function write(array $record) : void
61
  {
73
  } else {
74
  $toLog = $record['message'];
75
  }
 
76
  $this->rollbarLogger->log($context['level'], $toLog, $context);
77
  $this->hasRecords = \true;
78
  }
84
  }
85
  }
86
  /**
87
+ * {@inheritdoc}
88
  */
89
  public function close() : void
90
  {
91
  $this->flush();
92
  }
93
  /**
94
+ * {@inheritdoc}
95
  */
96
  public function reset()
97
  {
vendor_prefixed/monolog/src/Monolog/Handler/RotatingFileHandler.php CHANGED
@@ -28,21 +28,17 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
28
  public const FILE_PER_DAY = 'Y-m-d';
29
  public const FILE_PER_MONTH = 'Y-m';
30
  public const FILE_PER_YEAR = 'Y';
31
- /** @var string */
32
  protected $filename;
33
- /** @var int */
34
  protected $maxFiles;
35
- /** @var bool */
36
  protected $mustRotate;
37
- /** @var \DateTimeImmutable */
38
  protected $nextRotation;
39
- /** @var string */
40
  protected $filenameFormat;
41
- /** @var string */
42
  protected $dateFormat;
43
  /**
44
  * @param string $filename
45
  * @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
 
 
46
  * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
47
  * @param bool $useLocking Try to lock log file before doing any writes
48
  */
@@ -56,7 +52,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
56
  parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking);
57
  }
58
  /**
59
- * {@inheritDoc}
60
  */
61
  public function close() : void
62
  {
@@ -66,7 +62,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
66
  }
67
  }
68
  /**
69
- * {@inheritDoc}
70
  */
71
  public function reset()
72
  {
@@ -90,13 +86,13 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
90
  return $this;
91
  }
92
  /**
93
- * {@inheritDoc}
94
  */
95
  protected function write(array $record) : void
96
  {
97
  // on the first record written, if the log is new, we should rotate (once per day)
98
  if (null === $this->mustRotate) {
99
- $this->mustRotate = null === $this->url || !\file_exists($this->url);
100
  }
101
  if ($this->nextRotation <= $record['datetime']) {
102
  $this->mustRotate = \true;
@@ -117,10 +113,6 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
117
  return;
118
  }
119
  $logFiles = \glob($this->getGlobPattern());
120
- if (\false === $logFiles) {
121
- // failed to glob
122
- return;
123
- }
124
  if ($this->maxFiles >= \count($logFiles)) {
125
  // no files to remove
126
  return;
@@ -146,7 +138,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
146
  {
147
  $fileInfo = \pathinfo($this->filename);
148
  $timedFilename = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], \date($this->dateFormat)], $fileInfo['dirname'] . '/' . $this->filenameFormat);
149
- if (isset($fileInfo['extension'])) {
150
  $timedFilename .= '.' . $fileInfo['extension'];
151
  }
152
  return $timedFilename;
@@ -155,7 +147,7 @@ class RotatingFileHandler extends \GFPDF_Vendor\Monolog\Handler\StreamHandler
155
  {
156
  $fileInfo = \pathinfo($this->filename);
157
  $glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'], $fileInfo['dirname'] . '/' . $this->filenameFormat);
158
- if (isset($fileInfo['extension'])) {
159
  $glob .= '.' . $fileInfo['extension'];
160
  }
161
  return $glob;
28
  public const FILE_PER_DAY = 'Y-m-d';
29
  public const FILE_PER_MONTH = 'Y-m';
30
  public const FILE_PER_YEAR = 'Y';
 
31
  protected $filename;
 
32
  protected $maxFiles;
 
33
  protected $mustRotate;
 
34
  protected $nextRotation;
 
35
  protected $filenameFormat;
 
36
  protected $dateFormat;
37
  /**
38
  * @param string $filename
39
  * @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
40
+ * @param string|int $level The minimum logging level at which this handler will be triggered
41
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
42
  * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
43
  * @param bool $useLocking Try to lock log file before doing any writes
44
  */
52
  parent::__construct($this->getTimedFilename(), $level, $bubble, $filePermission, $useLocking);
53
  }
54
  /**
55
+ * {@inheritdoc}
56
  */
57
  public function close() : void
58
  {
62
  }
63
  }
64
  /**
65
+ * {@inheritdoc}
66
  */
67
  public function reset()
68
  {
86
  return $this;
87
  }
88
  /**
89
+ * {@inheritdoc}
90
  */
91
  protected function write(array $record) : void
92
  {
93
  // on the first record written, if the log is new, we should rotate (once per day)
94
  if (null === $this->mustRotate) {
95
+ $this->mustRotate = !\file_exists($this->url);
96
  }
97
  if ($this->nextRotation <= $record['datetime']) {
98
  $this->mustRotate = \true;
113
  return;
114
  }
115
  $logFiles = \glob($this->getGlobPattern());
 
 
 
 
116
  if ($this->maxFiles >= \count($logFiles)) {
117
  // no files to remove
118
  return;
138
  {
139
  $fileInfo = \pathinfo($this->filename);
140
  $timedFilename = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], \date($this->dateFormat)], $fileInfo['dirname'] . '/' . $this->filenameFormat);
141
+ if (!empty($fileInfo['extension'])) {
142
  $timedFilename .= '.' . $fileInfo['extension'];
143
  }
144
  return $timedFilename;
147
  {
148
  $fileInfo = \pathinfo($this->filename);
149
  $glob = \str_replace(['{filename}', '{date}'], [$fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'], $fileInfo['dirname'] . '/' . $this->filenameFormat);
150
+ if (!empty($fileInfo['extension'])) {
151
  $glob .= '.' . $fileInfo['extension'];
152
  }
153
  return $glob;
vendor_prefixed/monolog/src/Monolog/Handler/SamplingHandler.php CHANGED
@@ -25,16 +25,12 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
25
  *
26
  * @author Bryan Davis <bd808@wikimedia.org>
27
  * @author Kunal Mehta <legoktm@gmail.com>
28
- *
29
- * @phpstan-import-type Record from \Monolog\Logger
30
- * @phpstan-import-type Level from \Monolog\Logger
31
  */
32
  class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
33
  {
34
  use ProcessableHandlerTrait;
35
  /**
36
- * @var HandlerInterface|callable
37
- * @phpstan-var HandlerInterface|callable(Record|array{level: Level}|null, HandlerInterface): HandlerInterface
38
  */
39
  protected $handler;
40
  /**
@@ -42,7 +38,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
42
  */
43
  protected $factor;
44
  /**
45
- * @psalm-param HandlerInterface|callable(Record|array{level: Level}|null, HandlerInterface): HandlerInterface $handler
46
  *
47
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler).
48
  * @param int $factor Sample factor (e.g. 10 means every ~10th record is sampled)
@@ -64,7 +60,6 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
64
  {
65
  if ($this->isHandling($record) && \mt_rand(1, $this->factor) === 1) {
66
  if ($this->processors) {
67
- /** @var Record $record */
68
  $record = $this->processRecord($record);
69
  }
70
  $this->getHandler($record)->handle($record);
@@ -76,8 +71,6 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
76
  *
77
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
78
  *
79
- * @phpstan-param Record|array{level: Level}|null $record
80
- *
81
  * @return HandlerInterface
82
  */
83
  public function getHandler(array $record = null)
@@ -91,7 +84,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
91
  return $this->handler;
92
  }
93
  /**
94
- * {@inheritDoc}
95
  */
96
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
97
  {
@@ -103,7 +96,7 @@ class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler impl
103
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
104
  }
105
  /**
106
- * {@inheritDoc}
107
  */
108
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
109
  {
25
  *
26
  * @author Bryan Davis <bd808@wikimedia.org>
27
  * @author Kunal Mehta <legoktm@gmail.com>
 
 
 
28
  */
29
  class SamplingHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractHandler implements \GFPDF_Vendor\Monolog\Handler\ProcessableHandlerInterface, \GFPDF_Vendor\Monolog\Handler\FormattableHandlerInterface
30
  {
31
  use ProcessableHandlerTrait;
32
  /**
33
+ * @var callable|HandlerInterface $handler
 
34
  */
35
  protected $handler;
36
  /**
38
  */
39
  protected $factor;
40
  /**
41
+ * @psalm-param HandlerInterface|callable(array, HandlerInterface): HandlerInterface $handler
42
  *
43
  * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler).
44
  * @param int $factor Sample factor (e.g. 10 means every ~10th record is sampled)
60
  {
61
  if ($this->isHandling($record) && \mt_rand(1, $this->factor) === 1) {
62
  if ($this->processors) {
 
63
  $record = $this->processRecord($record);
64
  }
65
  $this->getHandler($record)->handle($record);
71
  *
72
  * If the handler was provided as a factory callable, this will trigger the handler's instantiation.
73
  *
 
 
74
  * @return HandlerInterface
75
  */
76
  public function getHandler(array $record = null)
84
  return $this->handler;
85
  }
86
  /**
87
+ * {@inheritdoc}
88
  */
89
  public function setFormatter(\GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter) : \GFPDF_Vendor\Monolog\Handler\HandlerInterface
90
  {
96
  throw new \UnexpectedValueException('The nested handler of type ' . \get_class($handler) . ' does not support formatters.');
97
  }
98
  /**
99
+ * {@inheritdoc}
100
  */
101
  public function getFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
102
  {
vendor_prefixed/monolog/src/Monolog/Handler/SendGridHandler.php CHANGED
@@ -36,7 +36,7 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
36
  protected $from;
37
  /**
38
  * The email addresses to which the message will be sent
39
- * @var string[]
40
  */
41
  protected $to;
42
  /**
@@ -45,17 +45,16 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
45
  */
46
  protected $subject;
47
  /**
48
- * @param string $apiUser The SendGrid API User
49
- * @param string $apiKey The SendGrid API Key
50
- * @param string $from The sender of the email
51
- * @param string|string[] $to The recipients of the email
52
- * @param string $subject The subject of the mail
 
 
53
  */
54
  public function __construct(string $apiUser, string $apiKey, string $from, $to, string $subject, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
55
  {
56
- if (!\extension_loaded('curl')) {
57
- throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the SendGridHandler');
58
- }
59
  parent::__construct($level, $bubble);
60
  $this->apiUser = $apiUser;
61
  $this->apiKey = $apiKey;
@@ -64,7 +63,7 @@ class SendGridHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
64
  $this->subject = $subject;
65
  }
66
  /**
67
- * {@inheritDoc}
68
  */
69
  protected function send(string $content, array $records) : void
70
  {
36
  protected $from;
37
  /**
38
  * The email addresses to which the message will be sent
39
+ * @var array
40
  */
41
  protected $to;
42
  /**
45
  */
46
  protected $subject;
47
  /**
48
+ * @param string $apiUser The SendGrid API User
49
+ * @param string $apiKey The SendGrid API Key
50
+ * @param string $from The sender of the email
51
+ * @param string|array $to The recipients of the email
52
+ * @param string $subject The subject of the mail
53
+ * @param int|string $level The minimum logging level at which this handler will be triggered
54
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
55
  */
56
  public function __construct(string $apiUser, string $apiKey, string $from, $to, string $subject, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
57
  {
 
 
 
58
  parent::__construct($level, $bubble);
59
  $this->apiUser = $apiUser;
60
  $this->apiKey = $apiKey;
63
  $this->subject = $subject;
64
  }
65
  /**
66
+ * {@inheritdoc}
67
  */
68
  protected function send(string $content, array $records) : void
69
  {
vendor_prefixed/monolog/src/Monolog/Handler/Slack/SlackRecord.php CHANGED
@@ -22,9 +22,6 @@ use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
22
  * @author Haralan Dobrev <hkdobrev@gmail.com>
23
  * @see https://api.slack.com/incoming-webhooks
24
  * @see https://api.slack.com/docs/message-attachments
25
- *
26
- * @phpstan-import-type FormattedRecord from \Monolog\Handler\AbstractProcessingHandler
27
- * @phpstan-import-type Record from \Monolog\Logger
28
  */
29
  class SlackRecord
30
  {
@@ -64,7 +61,7 @@ class SlackRecord
64
  private $includeContextAndExtra;
65
  /**
66
  * Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
67
- * @var string[]
68
  */
69
  private $excludeFields;
70
  /**
@@ -75,9 +72,6 @@ class SlackRecord
75
  * @var NormalizerFormatter
76
  */
77
  private $normalizerFormatter;
78
- /**
79
- * @param string[] $excludeFields
80
- */
81
  public function __construct(?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $userIcon = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array(), \GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter = null)
82
  {
83
  $this->setChannel($channel)->setUsername($username)->useAttachment($useAttachment)->setUserIcon($userIcon)->useShortAttachment($useShortAttachment)->includeContextAndExtra($includeContextAndExtra)->excludeFields($excludeFields)->setFormatter($formatter);
@@ -88,9 +82,6 @@ class SlackRecord
88
  /**
89
  * Returns required data in format that Slack
90
  * is expecting.
91
- *
92
- * @phpstan-param FormattedRecord $record
93
- * @phpstan-return mixed[]
94
  */
95
  public function getSlackData(array $record) : array
96
  {
@@ -103,7 +94,6 @@ class SlackRecord
103
  $dataArray['channel'] = $this->channel;
104
  }
105
  if ($this->formatter && !$this->useAttachment) {
106
- /** @phpstan-ignore-next-line */
107
  $message = $this->formatter->format($record);
108
  } else {
109
  $message = $record['message'];
@@ -161,12 +151,9 @@ class SlackRecord
161
  }
162
  /**
163
  * Stringifies an array of key/value pairs to be used in attachment fields
164
- *
165
- * @param mixed[] $fields
166
  */
167
  public function stringify(array $fields) : string
168
  {
169
- /** @var Record $fields */
170
  $normalized = $this->normalizerFormatter->format($fields);
171
  $hasSecondDimension = \count(\array_filter($normalized, 'is_array'));
172
  $hasNonNumericKeys = !\count(\array_filter(\array_keys($normalized), 'is_numeric'));
@@ -222,9 +209,6 @@ class SlackRecord
222
  }
223
  return $this;
224
  }
225
- /**
226
- * @param string[] $excludeFields
227
- */
228
  public function excludeFields(array $excludeFields = []) : self
229
  {
230
  $this->excludeFields = $excludeFields;
@@ -238,9 +222,7 @@ class SlackRecord
238
  /**
239
  * Generates attachment field
240
  *
241
- * @param string|mixed[] $value
242
- *
243
- * @return array{title: string, value: string, short: false}
244
  */
245
  private function generateAttachmentField(string $title, $value) : array
246
  {
@@ -249,27 +231,17 @@ class SlackRecord
249
  }
250
  /**
251
  * Generates a collection of attachment fields from array
252
- *
253
- * @param mixed[] $data
254
- *
255
- * @return array<array{title: string, value: string, short: false}>
256
  */
257
  private function generateAttachmentFields(array $data) : array
258
  {
259
- /** @var Record $data */
260
- $normalized = $this->normalizerFormatter->format($data);
261
  $fields = array();
262
- foreach ($normalized as $key => $value) {
263
  $fields[] = $this->generateAttachmentField((string) $key, $value);
264
  }
265
  return $fields;
266
  }
267
  /**
268
  * Get a copy of record with fields excluded according to $this->excludeFields
269
- *
270
- * @phpstan-param FormattedRecord $record
271
- *
272
- * @return mixed[]
273
  */
274
  private function removeExcludedFields(array $record) : array
275
  {
22
  * @author Haralan Dobrev <hkdobrev@gmail.com>
23
  * @see https://api.slack.com/incoming-webhooks
24
  * @see https://api.slack.com/docs/message-attachments
 
 
 
25
  */
26
  class SlackRecord
27
  {
61
  private $includeContextAndExtra;
62
  /**
63
  * Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
64
+ * @var array
65
  */
66
  private $excludeFields;
67
  /**
72
  * @var NormalizerFormatter
73
  */
74
  private $normalizerFormatter;
 
 
 
75
  public function __construct(?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $userIcon = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array(), \GFPDF_Vendor\Monolog\Formatter\FormatterInterface $formatter = null)
76
  {
77
  $this->setChannel($channel)->setUsername($username)->useAttachment($useAttachment)->setUserIcon($userIcon)->useShortAttachment($useShortAttachment)->includeContextAndExtra($includeContextAndExtra)->excludeFields($excludeFields)->setFormatter($formatter);
82
  /**
83
  * Returns required data in format that Slack
84
  * is expecting.
 
 
 
85
  */
86
  public function getSlackData(array $record) : array
87
  {
94
  $dataArray['channel'] = $this->channel;
95
  }
96
  if ($this->formatter && !$this->useAttachment) {
 
97
  $message = $this->formatter->format($record);
98
  } else {
99
  $message = $record['message'];
151
  }
152
  /**
153
  * Stringifies an array of key/value pairs to be used in attachment fields
 
 
154
  */
155
  public function stringify(array $fields) : string
156
  {
 
157
  $normalized = $this->normalizerFormatter->format($fields);
158
  $hasSecondDimension = \count(\array_filter($normalized, 'is_array'));
159
  $hasNonNumericKeys = !\count(\array_filter(\array_keys($normalized), 'is_numeric'));
209
  }
210
  return $this;
211
  }
 
 
 
212
  public function excludeFields(array $excludeFields = []) : self
213
  {
214
  $this->excludeFields = $excludeFields;
222
  /**
223
  * Generates attachment field
224
  *
225
+ * @param string|array $value
 
 
226
  */
227
  private function generateAttachmentField(string $title, $value) : array
228
  {
231
  }
232
  /**
233
  * Generates a collection of attachment fields from array
 
 
 
 
234
  */
235
  private function generateAttachmentFields(array $data) : array
236
  {
 
 
237
  $fields = array();
238
+ foreach ($this->normalizerFormatter->format($data) as $key => $value) {
239
  $fields[] = $this->generateAttachmentField((string) $key, $value);
240
  }
241
  return $fields;
242
  }
243
  /**
244
  * Get a copy of record with fields excluded according to $this->excludeFields
 
 
 
 
245
  */
246
  private function removeExcludedFields(array $record) : array
247
  {
vendor_prefixed/monolog/src/Monolog/Handler/SlackHandler.php CHANGED
@@ -20,8 +20,6 @@ use GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord;
20
  *
21
  * @author Greg Kedzierski <greg@gregkedzierski.com>
22
  * @see https://api.slack.com/
23
- *
24
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
25
  */
26
  class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
27
  {
@@ -41,9 +39,11 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
41
  * @param string|null $username Name of a bot
42
  * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise)
43
  * @param string|null $iconEmoji The emoji name to use (or null)
 
 
44
  * @param bool $useShortAttachment Whether the context/extra messages added to Slack as attachments are in a short style
45
  * @param bool $includeContextAndExtra Whether the attachment should include context and extra data
46
- * @param string[] $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
47
  * @throws MissingExtensionException If no OpenSSL PHP extension configured
48
  */
49
  public function __construct(string $token, string $channel, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array())
@@ -64,7 +64,7 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
64
  return $this->token;
65
  }
66
  /**
67
- * {@inheritDoc}
68
  */
69
  protected function generateDataStream(array $record) : string
70
  {
@@ -73,18 +73,12 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
73
  }
74
  /**
75
  * Builds the body of API call
76
- *
77
- * @phpstan-param FormattedRecord $record
78
  */
79
  private function buildContent(array $record) : string
80
  {
81
  $dataArray = $this->prepareContentData($record);
82
  return \http_build_query($dataArray);
83
  }
84
- /**
85
- * @phpstan-param FormattedRecord $record
86
- * @return string[]
87
- */
88
  protected function prepareContentData(array $record) : array
89
  {
90
  $dataArray = $this->slackRecord->getSlackData($record);
@@ -107,7 +101,7 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
107
  return $header;
108
  }
109
  /**
110
- * {@inheritDoc}
111
  */
112
  protected function write(array $record) : void
113
  {
@@ -176,9 +170,6 @@ class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
176
  $this->slackRecord->includeContextAndExtra($includeContextAndExtra);
177
  return $this;
178
  }
179
- /**
180
- * @param string[] $excludeFields
181
- */
182
  public function excludeFields(array $excludeFields) : self
183
  {
184
  $this->slackRecord->excludeFields($excludeFields);
20
  *
21
  * @author Greg Kedzierski <greg@gregkedzierski.com>
22
  * @see https://api.slack.com/
 
 
23
  */
24
  class SlackHandler extends \GFPDF_Vendor\Monolog\Handler\SocketHandler
25
  {
39
  * @param string|null $username Name of a bot
40
  * @param bool $useAttachment Whether the message should be added to Slack as attachment (plain text otherwise)
41
  * @param string|null $iconEmoji The emoji name to use (or null)
42
+ * @param int $level The minimum logging level at which this handler will be triggered
43
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
44
  * @param bool $useShortAttachment Whether the context/extra messages added to Slack as attachments are in a short style
45
  * @param bool $includeContextAndExtra Whether the attachment should include context and extra data
46
+ * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
47
  * @throws MissingExtensionException If no OpenSSL PHP extension configured
48
  */
49
  public function __construct(string $token, string $channel, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, array $excludeFields = array())
64
  return $this->token;
65
  }
66
  /**
67
+ * {@inheritdoc}
68
  */
69
  protected function generateDataStream(array $record) : string
70
  {
73
  }
74
  /**
75
  * Builds the body of API call
 
 
76
  */
77
  private function buildContent(array $record) : string
78
  {
79
  $dataArray = $this->prepareContentData($record);
80
  return \http_build_query($dataArray);
81
  }
 
 
 
 
82
  protected function prepareContentData(array $record) : array
83
  {
84
  $dataArray = $this->slackRecord->getSlackData($record);
101
  return $header;
102
  }
103
  /**
104
+ * {@inheritdoc}
105
  */
106
  protected function write(array $record) : void
107
  {
170
  $this->slackRecord->includeContextAndExtra($includeContextAndExtra);
171
  return $this;
172
  }
 
 
 
173
  public function excludeFields(array $excludeFields) : self
174
  {
175
  $this->slackRecord->excludeFields($excludeFields);
vendor_prefixed/monolog/src/Monolog/Handler/SlackWebhookHandler.php CHANGED
@@ -41,13 +41,12 @@ class SlackWebhookHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessi
41
  * @param string|null $iconEmoji The emoji name to use (or null)
42
  * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style
43
  * @param bool $includeContextAndExtra Whether the attachment should include context and extra data
44
- * @param string[] $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
 
 
45
  */
46
  public function __construct(string $webhookUrl, ?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, array $excludeFields = array())
47
  {
48
- if (!\extension_loaded('curl')) {
49
- throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the SlackWebhookHandler');
50
- }
51
  parent::__construct($level, $bubble);
52
  $this->webhookUrl = $webhookUrl;
53
  $this->slackRecord = new \GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord($channel, $username, $useAttachment, $iconEmoji, $useShortAttachment, $includeContextAndExtra, $excludeFields);
@@ -61,7 +60,9 @@ class SlackWebhookHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessi
61
  return $this->webhookUrl;
62
  }
63
  /**
64
- * {@inheritDoc}
 
 
65
  */
66
  protected function write(array $record) : void
67
  {
41
  * @param string|null $iconEmoji The emoji name to use (or null)
42
  * @param bool $useShortAttachment Whether the the context/extra messages added to Slack as attachments are in a short style
43
  * @param bool $includeContextAndExtra Whether the attachment should include context and extra data
44
+ * @param string|int $level The minimum logging level at which this handler will be triggered
45
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
46
+ * @param array $excludeFields Dot separated list of fields to exclude from slack message. E.g. ['context.field1', 'extra.field2']
47
  */
48
  public function __construct(string $webhookUrl, ?string $channel = null, ?string $username = null, bool $useAttachment = \true, ?string $iconEmoji = null, bool $useShortAttachment = \false, bool $includeContextAndExtra = \false, $level = \GFPDF_Vendor\Monolog\Logger::CRITICAL, bool $bubble = \true, array $excludeFields = array())
49
  {
 
 
 
50
  parent::__construct($level, $bubble);
51
  $this->webhookUrl = $webhookUrl;
52
  $this->slackRecord = new \GFPDF_Vendor\Monolog\Handler\Slack\SlackRecord($channel, $username, $useAttachment, $iconEmoji, $useShortAttachment, $includeContextAndExtra, $excludeFields);
60
  return $this->webhookUrl;
61
  }
62
  /**
63
+ * {@inheritdoc}
64
+ *
65
+ * @param array $record
66
  */
67
  protected function write(array $record) : void
68
  {
vendor_prefixed/monolog/src/Monolog/Handler/SocketHandler.php CHANGED
@@ -17,15 +17,10 @@ use GFPDF_Vendor\Monolog\Logger;
17
  *
18
  * @author Pablo de Leon Belloc <pablolb@gmail.com>
19
  * @see http://php.net/manual/en/function.fsockopen.php
20
- *
21
- * @phpstan-import-type Record from \Monolog\Logger
22
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
23
  */
24
  class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
25
  {
26
- /** @var string */
27
  private $connectionString;
28
- /** @var float */
29
  private $connectionTimeout;
30
  /** @var resource|null */
31
  private $resource;
@@ -33,20 +28,18 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
33
  private $timeout = 0.0;
34
  /** @var float */
35
  private $writingTimeout = 10.0;
36
- /** @var ?int */
37
  private $lastSentBytes = null;
38
- /** @var ?int */
39
  private $chunkSize = null;
40
- /** @var bool */
41
  private $persistent = \false;
42
- /** @var ?int */
43
- private $errno = null;
44
- /** @var ?string */
45
- private $errstr = null;
46
  /** @var ?float */
47
- private $lastWritingAt = null;
48
  /**
49
- * @param string $connectionString Socket connection string
 
 
50
  */
51
  public function __construct(string $connectionString, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
52
  {
@@ -57,7 +50,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
57
  /**
58
  * Connect (if necessary) and write to the socket
59
  *
60
- * {@inheritDoc}
61
  *
62
  * @throws \UnexpectedValueException
63
  * @throws \RuntimeException
@@ -176,7 +169,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
176
  /**
177
  * Get current chunk size
178
  */
179
- public function getChunkSize() : ?int
180
  {
181
  return $this->chunkSize;
182
  }
@@ -192,8 +185,6 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
192
  }
193
  /**
194
  * Wrapper to allow mocking
195
- *
196
- * @return resource|false
197
  */
198
  protected function pfsockopen()
199
  {
@@ -201,8 +192,6 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
201
  }
202
  /**
203
  * Wrapper to allow mocking
204
- *
205
- * @return resource|false
206
  */
207
  protected function fsockopen()
208
  {
@@ -212,75 +201,50 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
212
  * Wrapper to allow mocking
213
  *
214
  * @see http://php.net/manual/en/function.stream-set-timeout.php
215
- *
216
- * @return bool
217
  */
218
  protected function streamSetTimeout()
219
  {
220
  $seconds = \floor($this->timeout);
221
  $microseconds = \round(($this->timeout - $seconds) * 1000000.0);
222
- if (!\is_resource($this->resource)) {
223
- throw new \LogicException('streamSetTimeout called but $this->resource is not a resource');
224
- }
225
  return \stream_set_timeout($this->resource, (int) $seconds, (int) $microseconds);
226
  }
227
  /**
228
  * Wrapper to allow mocking
229
  *
230
  * @see http://php.net/manual/en/function.stream-set-chunk-size.php
231
- *
232
- * @return int|bool
233
  */
234
  protected function streamSetChunkSize()
235
  {
236
- if (!\is_resource($this->resource)) {
237
- throw new \LogicException('streamSetChunkSize called but $this->resource is not a resource');
238
- }
239
- if (null === $this->chunkSize) {
240
- throw new \LogicException('streamSetChunkSize called but $this->chunkSize is not set');
241
- }
242
  return \stream_set_chunk_size($this->resource, $this->chunkSize);
243
  }
244
  /**
245
  * Wrapper to allow mocking
246
- *
247
- * @return int|bool
248
  */
249
- protected function fwrite(string $data)
250
  {
251
- if (!\is_resource($this->resource)) {
252
- throw new \LogicException('fwrite called but $this->resource is not a resource');
253
- }
254
  return @\fwrite($this->resource, $data);
255
  }
256
  /**
257
  * Wrapper to allow mocking
258
- *
259
- * @return mixed[]|bool
260
  */
261
  protected function streamGetMetadata()
262
  {
263
- if (!\is_resource($this->resource)) {
264
- throw new \LogicException('streamGetMetadata called but $this->resource is not a resource');
265
- }
266
  return \stream_get_meta_data($this->resource);
267
  }
268
- private function validateTimeout(float $value) : void
269
  {
270
- if ($value < 0) {
 
271
  throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got {$value})");
272
  }
273
  }
274
- private function connectIfNotConnected() : void
275
  {
276
  if ($this->isConnected()) {
277
  return;
278
  }
279
  $this->connect();
280
  }
281
- /**
282
- * @phpstan-param FormattedRecord $record
283
- */
284
  protected function generateDataStream(array $record) : string
285
  {
286
  return (string) $record['formatted'];
@@ -305,7 +269,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
305
  } else {
306
  $resource = $this->fsockopen();
307
  }
308
- if (\is_bool($resource)) {
309
  throw new \UnexpectedValueException("Failed connecting to {$this->connectionString} ({$this->errno}: {$this->errstr})");
310
  }
311
  $this->resource = $resource;
@@ -338,7 +302,7 @@ class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
338
  }
339
  $sent += $chunk;
340
  $socketInfo = $this->streamGetMetadata();
341
- if (\is_array($socketInfo) && $socketInfo['timed_out']) {
342
  throw new \RuntimeException("Write timed-out");
343
  }
344
  if ($this->writingIsTimedOut($sent)) {
17
  *
18
  * @author Pablo de Leon Belloc <pablolb@gmail.com>
19
  * @see http://php.net/manual/en/function.fsockopen.php
 
 
 
20
  */
21
  class SocketHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
22
  {
 
23
  private $connectionString;
 
24
  private $connectionTimeout;
25
  /** @var resource|null */
26
  private $resource;
28
  private $timeout = 0.0;
29
  /** @var float */
30
  private $writingTimeout = 10.0;
 
31
  private $lastSentBytes = null;
32
+ /** @var int */
33
  private $chunkSize = null;
 
34
  private $persistent = \false;
35
+ private $errno;
36
+ private $errstr;
 
 
37
  /** @var ?float */
38
+ private $lastWritingAt;
39
  /**
40
+ * @param string $connectionString Socket connection string
41
+ * @param int|string $level The minimum logging level at which this handler will be triggered
42
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
43
  */
44
  public function __construct(string $connectionString, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
45
  {
50
  /**
51
  * Connect (if necessary) and write to the socket
52
  *
53
+ * @param array $record
54
  *
55
  * @throws \UnexpectedValueException
56
  * @throws \RuntimeException
169
  /**
170
  * Get current chunk size
171
  */
172
+ public function getChunkSize() : int
173
  {
174
  return $this->chunkSize;
175
  }
185
  }
186
  /**
187
  * Wrapper to allow mocking
 
 
188
  */
189
  protected function pfsockopen()
190
  {
192
  }
193
  /**
194
  * Wrapper to allow mocking
 
 
195
  */
196
  protected function fsockopen()
197
  {
201
  * Wrapper to allow mocking
202
  *
203
  * @see http://php.net/manual/en/function.stream-set-timeout.php
 
 
204
  */
205
  protected function streamSetTimeout()
206
  {
207
  $seconds = \floor($this->timeout);
208
  $microseconds = \round(($this->timeout - $seconds) * 1000000.0);
 
 
 
209
  return \stream_set_timeout($this->resource, (int) $seconds, (int) $microseconds);
210
  }
211
  /**
212
  * Wrapper to allow mocking
213
  *
214
  * @see http://php.net/manual/en/function.stream-set-chunk-size.php
 
 
215
  */
216
  protected function streamSetChunkSize()
217
  {
 
 
 
 
 
 
218
  return \stream_set_chunk_size($this->resource, $this->chunkSize);
219
  }
220
  /**
221
  * Wrapper to allow mocking
 
 
222
  */
223
+ protected function fwrite($data)
224
  {
 
 
 
225
  return @\fwrite($this->resource, $data);
226
  }
227
  /**
228
  * Wrapper to allow mocking
 
 
229
  */
230
  protected function streamGetMetadata()
231
  {
 
 
 
232
  return \stream_get_meta_data($this->resource);
233
  }
234
+ private function validateTimeout($value)
235
  {
236
+ $ok = \filter_var($value, \FILTER_VALIDATE_FLOAT);
237
+ if ($ok === \false || $value < 0) {
238
  throw new \InvalidArgumentException("Timeout must be 0 or a positive float (got {$value})");
239
  }
240
  }
241
+ private function connectIfNotConnected()
242
  {
243
  if ($this->isConnected()) {
244
  return;
245
  }
246
  $this->connect();
247
  }
 
 
 
248
  protected function generateDataStream(array $record) : string
249
  {
250
  return (string) $record['formatted'];
269
  } else {
270
  $resource = $this->fsockopen();
271
  }
272
+ if (!$resource) {
273
  throw new \UnexpectedValueException("Failed connecting to {$this->connectionString} ({$this->errno}: {$this->errstr})");
274
  }
275
  $this->resource = $resource;
302
  }
303
  $sent += $chunk;
304
  $socketInfo = $this->streamGetMetadata();
305
+ if ($socketInfo['timed_out']) {
306
  throw new \RuntimeException("Write timed-out");
307
  }
308
  if ($this->writingIsTimedOut($sent)) {
vendor_prefixed/monolog/src/Monolog/Handler/SqsHandler.php CHANGED
@@ -36,7 +36,9 @@ class SqsHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
36
  $this->queueUrl = $queueUrl;
37
  }
38
  /**
39
- * {@inheritDoc}
 
 
40
  */
41
  protected function write(array $record) : void
42
  {
36
  $this->queueUrl = $queueUrl;
37
  }
38
  /**
39
+ * Writes the record down to the log of the implementing handler.
40
+ *
41
+ * @param array $record
42
  */
43
  protected function write(array $record) : void
44
  {
vendor_prefixed/monolog/src/Monolog/Handler/StreamHandler.php CHANGED
@@ -19,31 +19,21 @@ use GFPDF_Vendor\Monolog\Utils;
19
  * Can be used to store into php://stderr, remote and local files, etc.
20
  *
21
  * @author Jordi Boggiano <j.boggiano@seld.be>
22
- *
23
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
24
  */
25
  class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
26
  {
27
- /** @const int */
28
- protected const MAX_CHUNK_SIZE = 2147483647;
29
- /** @const int 10MB */
30
- protected const DEFAULT_CHUNK_SIZE = 10 * 1024 * 1024;
31
- /** @var int */
32
- protected $streamChunkSize;
33
  /** @var resource|null */
34
  protected $stream;
35
- /** @var ?string */
36
- protected $url = null;
37
- /** @var ?string */
38
- private $errorMessage = null;
39
- /** @var ?int */
40
  protected $filePermission;
41
- /** @var bool */
42
  protected $useLocking;
43
- /** @var true|null */
44
- private $dirCreated = null;
45
  /**
46
  * @param resource|string $stream If a missing path can't be created, an UnexpectedValueException will be thrown on first write
 
 
47
  * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
48
  * @param bool $useLocking Try to lock log file before doing any writes
49
  *
@@ -52,21 +42,8 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
52
  public function __construct($stream, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, ?int $filePermission = null, bool $useLocking = \false)
53
  {
54
  parent::__construct($level, $bubble);
55
- if (($phpMemoryLimit = \GFPDF_Vendor\Monolog\Utils::expandIniShorthandBytes(\ini_get('memory_limit'))) !== \false) {
56
- if ($phpMemoryLimit > 0) {
57
- // use max 10% of allowed memory for the chunk size, and at least 100KB
58
- $this->streamChunkSize = \min(static::MAX_CHUNK_SIZE, \max((int) ($phpMemoryLimit / 10), 100 * 1024));
59
- } else {
60
- // memory is unlimited, set to the default 10MB
61
- $this->streamChunkSize = static::DEFAULT_CHUNK_SIZE;
62
- }
63
- } else {
64
- // no memory limit information, set to the default 10MB
65
- $this->streamChunkSize = static::DEFAULT_CHUNK_SIZE;
66
- }
67
  if (\is_resource($stream)) {
68
  $this->stream = $stream;
69
- \stream_set_chunk_size($this->stream, $this->streamChunkSize);
70
  } elseif (\is_string($stream)) {
71
  $this->url = \GFPDF_Vendor\Monolog\Utils::canonicalizePath($stream);
72
  } else {
@@ -76,7 +53,7 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
76
  $this->useLocking = $useLocking;
77
  }
78
  /**
79
- * {@inheritDoc}
80
  */
81
  public function close() : void
82
  {
@@ -105,62 +82,46 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
105
  return $this->url;
106
  }
107
  /**
108
- * @return int
109
- */
110
- public function getStreamChunkSize() : int
111
- {
112
- return $this->streamChunkSize;
113
- }
114
- /**
115
- * {@inheritDoc}
116
  */
117
  protected function write(array $record) : void
118
  {
119
  if (!\is_resource($this->stream)) {
120
- $url = $this->url;
121
- if (null === $url || '' === $url) {
122
  throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
123
  }
124
- $this->createDir($url);
125
  $this->errorMessage = null;
126
  \set_error_handler([$this, 'customErrorHandler']);
127
- $stream = \fopen($url, 'a');
128
  if ($this->filePermission !== null) {
129
- @\chmod($url, $this->filePermission);
130
  }
131
  \restore_error_handler();
132
- if (!\is_resource($stream)) {
133
  $this->stream = null;
134
- throw new \UnexpectedValueException(\sprintf('The stream or file "%s" could not be opened in append mode: ' . $this->errorMessage, $url));
135
  }
136
- \stream_set_chunk_size($stream, $this->streamChunkSize);
137
- $this->stream = $stream;
138
- }
139
- $stream = $this->stream;
140
- if (!\is_resource($stream)) {
141
- throw new \LogicException('No stream was opened yet');
142
  }
143
  if ($this->useLocking) {
144
  // ignoring errors here, there's not much we can do about them
145
- \flock($stream, \LOCK_EX);
146
  }
147
- $this->streamWrite($stream, $record);
148
  if ($this->useLocking) {
149
- \flock($stream, \LOCK_UN);
150
  }
151
  }
152
  /**
153
  * Write to stream
154
  * @param resource $stream
155
  * @param array $record
156
- *
157
- * @phpstan-param FormattedRecord $record
158
  */
159
  protected function streamWrite($stream, array $record) : void
160
  {
161
  \fwrite($stream, (string) $record['formatted']);
162
  }
163
- private function customErrorHandler(int $code, string $msg) : bool
164
  {
165
  $this->errorMessage = \preg_replace('{^(fopen|mkdir)\\(.*?\\): }', '', $msg);
166
  return \true;
@@ -176,13 +137,13 @@ class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHand
176
  }
177
  return null;
178
  }
179
- private function createDir(string $url) : void
180
  {
181
  // Do not try to create dir if it has already been tried.
182
  if ($this->dirCreated) {
183
  return;
184
  }
185
- $dir = $this->getDirFromStream($url);
186
  if (null !== $dir && !\is_dir($dir)) {
187
  $this->errorMessage = null;
188
  \set_error_handler([$this, 'customErrorHandler']);
19
  * Can be used to store into php://stderr, remote and local files, etc.
20
  *
21
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
22
  */
23
  class StreamHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
 
 
 
 
 
 
25
  /** @var resource|null */
26
  protected $stream;
27
+ protected $url;
28
+ /** @var string|null */
29
+ private $errorMessage;
 
 
30
  protected $filePermission;
 
31
  protected $useLocking;
32
+ private $dirCreated;
 
33
  /**
34
  * @param resource|string $stream If a missing path can't be created, an UnexpectedValueException will be thrown on first write
35
+ * @param string|int $level The minimum logging level at which this handler will be triggered
36
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
37
  * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
38
  * @param bool $useLocking Try to lock log file before doing any writes
39
  *
42
  public function __construct($stream, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, ?int $filePermission = null, bool $useLocking = \false)
43
  {
44
  parent::__construct($level, $bubble);
 
 
 
 
 
 
 
 
 
 
 
 
45
  if (\is_resource($stream)) {
46
  $this->stream = $stream;
 
47
  } elseif (\is_string($stream)) {
48
  $this->url = \GFPDF_Vendor\Monolog\Utils::canonicalizePath($stream);
49
  } else {
53
  $this->useLocking = $useLocking;
54
  }
55
  /**
56
+ * {@inheritdoc}
57
  */
58
  public function close() : void
59
  {
82
  return $this->url;
83
  }
84
  /**
85
+ * {@inheritdoc}
 
 
 
 
 
 
 
86
  */
87
  protected function write(array $record) : void
88
  {
89
  if (!\is_resource($this->stream)) {
90
+ if (null === $this->url || '' === $this->url) {
 
91
  throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
92
  }
93
+ $this->createDir();
94
  $this->errorMessage = null;
95
  \set_error_handler([$this, 'customErrorHandler']);
96
+ $this->stream = \fopen($this->url, 'a');
97
  if ($this->filePermission !== null) {
98
+ @\chmod($this->url, $this->filePermission);
99
  }
100
  \restore_error_handler();
101
+ if (!\is_resource($this->stream)) {
102
  $this->stream = null;
103
+ throw new \UnexpectedValueException(\sprintf('The stream or file "%s" could not be opened in append mode: ' . $this->errorMessage, $this->url));
104
  }
 
 
 
 
 
 
105
  }
106
  if ($this->useLocking) {
107
  // ignoring errors here, there's not much we can do about them
108
+ \flock($this->stream, \LOCK_EX);
109
  }
110
+ $this->streamWrite($this->stream, $record);
111
  if ($this->useLocking) {
112
+ \flock($this->stream, \LOCK_UN);
113
  }
114
  }
115
  /**
116
  * Write to stream
117
  * @param resource $stream
118
  * @param array $record
 
 
119
  */
120
  protected function streamWrite($stream, array $record) : void
121
  {
122
  \fwrite($stream, (string) $record['formatted']);
123
  }
124
+ private function customErrorHandler($code, $msg) : bool
125
  {
126
  $this->errorMessage = \preg_replace('{^(fopen|mkdir)\\(.*?\\): }', '', $msg);
127
  return \true;
137
  }
138
  return null;
139
  }
140
+ private function createDir() : void
141
  {
142
  // Do not try to create dir if it has already been tried.
143
  if ($this->dirCreated) {
144
  return;
145
  }
146
+ $dir = $this->getDirFromStream($this->url);
147
  if (null !== $dir && !\is_dir($dir)) {
148
  $this->errorMessage = null;
149
  \set_error_handler([$this, 'customErrorHandler']);
vendor_prefixed/monolog/src/Monolog/Handler/SwiftMailerHandler.php CHANGED
@@ -20,20 +20,18 @@ use GFPDF_Vendor\Swift;
20
  * SwiftMailerHandler uses Swift_Mailer to send the emails
21
  *
22
  * @author Gyula Sallai
23
- *
24
- * @phpstan-import-type Record from \Monolog\Logger
25
  */
26
  class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
27
  {
28
- /** @var \Swift_Mailer */
29
  protected $mailer;
30
- /** @var Swift_Message|callable(string, Record[]): Swift_Message */
31
  private $messageTemplate;
32
  /**
33
- * @psalm-param Swift_Message|callable(string, Record[]): Swift_Message $message
34
  *
35
  * @param \Swift_Mailer $mailer The mailer to use
36
  * @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
 
 
37
  */
38
  public function __construct(\GFPDF_Vendor\Swift_Mailer $mailer, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
39
  {
@@ -42,7 +40,7 @@ class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
42
  $this->messageTemplate = $message;
43
  }
44
  /**
45
- * {@inheritDoc}
46
  */
47
  protected function send(string $content, array $records) : void
48
  {
@@ -63,8 +61,6 @@ class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
63
  * @param string $content formatted email body to be sent
64
  * @param array $records Log records that formed the content
65
  * @return Swift_Message
66
- *
67
- * @phpstan-param Record[] $records
68
  */
69
  protected function buildMessage(string $content, array $records) : \GFPDF_Vendor\Swift_Message
70
  {
20
  * SwiftMailerHandler uses Swift_Mailer to send the emails
21
  *
22
  * @author Gyula Sallai
 
 
23
  */
24
  class SwiftMailerHandler extends \GFPDF_Vendor\Monolog\Handler\MailHandler
25
  {
 
26
  protected $mailer;
 
27
  private $messageTemplate;
28
  /**
29
+ * @psalm-param Swift_Message|callable(string, array): Swift_Message $message
30
  *
31
  * @param \Swift_Mailer $mailer The mailer to use
32
  * @param callable|Swift_Message $message An example message for real messages, only the body will be replaced
33
+ * @param string|int $level The minimum logging level at which this handler will be triggered
34
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
35
  */
36
  public function __construct(\GFPDF_Vendor\Swift_Mailer $mailer, $message, $level = \GFPDF_Vendor\Monolog\Logger::ERROR, bool $bubble = \true)
37
  {
40
  $this->messageTemplate = $message;
41
  }
42
  /**
43
+ * {@inheritdoc}
44
  */
45
  protected function send(string $content, array $records) : void
46
  {
61
  * @param string $content formatted email body to be sent
62
  * @param array $records Log records that formed the content
63
  * @return Swift_Message
 
 
64
  */
65
  protected function buildMessage(string $content, array $records) : \GFPDF_Vendor\Swift_Message
66
  {
vendor_prefixed/monolog/src/Monolog/Handler/SyslogHandler.php CHANGED
@@ -27,13 +27,13 @@ use GFPDF_Vendor\Monolog\Logger;
27
  */
28
  class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
29
  {
30
- /** @var string */
31
  protected $ident;
32
- /** @var int */
33
  protected $logopts;
34
  /**
35
  * @param string $ident
36
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
 
 
37
  * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
38
  */
39
  public function __construct(string $ident, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $logopts = \LOG_PID)
@@ -43,14 +43,14 @@ class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
43
  $this->logopts = $logopts;
44
  }
45
  /**
46
- * {@inheritDoc}
47
  */
48
  public function close() : void
49
  {
50
  \closelog();
51
  }
52
  /**
53
- * {@inheritDoc}
54
  */
55
  protected function write(array $record) : void
56
  {
27
  */
28
  class SyslogHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandler
29
  {
 
30
  protected $ident;
 
31
  protected $logopts;
32
  /**
33
  * @param string $ident
34
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
35
+ * @param string|int $level The minimum logging level at which this handler will be triggered
36
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
37
  * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
38
  */
39
  public function __construct(string $ident, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $logopts = \LOG_PID)
43
  $this->logopts = $logopts;
44
  }
45
  /**
46
+ * {@inheritdoc}
47
  */
48
  public function close() : void
49
  {
50
  \closelog();
51
  }
52
  /**
53
+ * {@inheritdoc}
54
  */
55
  protected function write(array $record) : void
56
  {
vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php CHANGED
@@ -35,11 +35,6 @@ class UdpSocket
35
  }
36
  $this->socket = \socket_create($domain, \SOCK_DGRAM, $protocol) ?: null;
37
  }
38
- /**
39
- * @param string $line
40
- * @param string $header
41
- * @return void
42
- */
43
  public function write($line, $header = "")
44
  {
45
  $this->send($this->assembleMessage($line, $header));
35
  }
36
  $this->socket = \socket_create($domain, \SOCK_DGRAM, $protocol) ?: null;
37
  }
 
 
 
 
 
38
  public function write($line, $header = "")
39
  {
40
  $this->send($this->assembleMessage($line, $header));
vendor_prefixed/monolog/src/Monolog/Handler/SyslogUdpHandler.php CHANGED
@@ -14,7 +14,6 @@ namespace GFPDF_Vendor\Monolog\Handler;
14
  use DateTimeInterface;
15
  use GFPDF_Vendor\Monolog\Logger;
16
  use GFPDF_Vendor\Monolog\Handler\SyslogUdp\UdpSocket;
17
- use GFPDF_Vendor\Monolog\Utils;
18
  /**
19
  * A Handler for logging to a remote syslogd server.
20
  *
@@ -26,30 +25,21 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
26
  const RFC3164 = 0;
27
  const RFC5424 = 1;
28
  const RFC5424e = 2;
29
- /** @var array<self::RFC*, string> */
30
  private $dateFormats = array(self::RFC3164 => 'M d H:i:s', self::RFC5424 => \DateTime::RFC3339, self::RFC5424e => \DateTime::RFC3339_EXTENDED);
31
- /** @var UdpSocket */
32
  protected $socket;
33
- /** @var string */
34
  protected $ident;
35
- /** @var self::RFC* */
36
  protected $rfc;
37
  /**
38
  * @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then)
39
  * @param int $port Port number, or 0 if $host is a unix socket
40
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
 
41
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
42
  * @param string $ident Program name or tag for each log message.
43
  * @param int $rfc RFC to format the message for.
44
- * @throws MissingExtensionException
45
- *
46
- * @phpstan-param self::RFC* $rfc
47
  */
48
  public function __construct(string $host, int $port = 514, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $ident = 'php', int $rfc = self::RFC5424)
49
  {
50
- if (!\extension_loaded('sockets')) {
51
- throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The sockets extension is required to use the SyslogUdpHandler');
52
- }
53
  parent::__construct($facility, $level, $bubble);
54
  $this->ident = $ident;
55
  $this->rfc = $rfc;
@@ -67,21 +57,12 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
67
  {
68
  $this->socket->close();
69
  }
70
- /**
71
- * @param string|string[] $message
72
- * @return string[]
73
- */
74
  private function splitMessageIntoLines($message) : array
75
  {
76
  if (\is_array($message)) {
77
  $message = \implode("\n", $message);
78
  }
79
- $lines = \preg_split('/$\\R?^/m', (string) $message, -1, \PREG_SPLIT_NO_EMPTY);
80
- if (\false === $lines) {
81
- $pcreErrorCode = \preg_last_error();
82
- throw new \RuntimeException('Could not preg_split: ' . $pcreErrorCode . ' / ' . \GFPDF_Vendor\Monolog\Utils::pcreLastErrorMessage($pcreErrorCode));
83
- }
84
- return $lines;
85
  }
86
  /**
87
  * Make common syslog header (see rfc5424 or rfc3164)
@@ -95,15 +76,15 @@ class SyslogUdpHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractSyslogHandl
95
  if (!($hostname = \gethostname())) {
96
  $hostname = '-';
97
  }
 
 
 
 
98
  if ($this->rfc === self::RFC3164) {
99
- // see https://github.com/phpstan/phpstan/issues/5348
100
- // @phpstan-ignore-next-line
101
- $dateNew = $datetime->setTimezone(new \DateTimeZone('UTC'));
102
- $date = $dateNew->format($this->dateFormats[$this->rfc]);
103
  return "<{$priority}>" . $date . " " . $hostname . " " . $this->ident . "[" . $pid . "]: ";
 
 
104
  }
105
- $date = $datetime->format($this->dateFormats[$this->rfc]);
106
- return "<{$priority}>1 " . $date . " " . $hostname . " " . $this->ident . " " . $pid . " - - ";
107
  }
108
  /**
109
  * Inject your own socket, mainly used for testing
14
  use DateTimeInterface;
15
  use GFPDF_Vendor\Monolog\Logger;
16
  use GFPDF_Vendor\Monolog\Handler\SyslogUdp\UdpSocket;
 
17
  /**
18
  * A Handler for logging to a remote syslogd server.
19
  *
25
  const RFC3164 = 0;
26
  const RFC5424 = 1;
27
  const RFC5424e = 2;
 
28
  private $dateFormats = array(self::RFC3164 => 'M d H:i:s', self::RFC5424 => \DateTime::RFC3339, self::RFC5424e => \DateTime::RFC3339_EXTENDED);
 
29
  protected $socket;
 
30
  protected $ident;
 
31
  protected $rfc;
32
  /**
33
  * @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then)
34
  * @param int $port Port number, or 0 if $host is a unix socket
35
  * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant
36
+ * @param string|int $level The minimum logging level at which this handler will be triggered
37
  * @param bool $bubble Whether the messages that are handled can bubble up the stack or not
38
  * @param string $ident Program name or tag for each log message.
39
  * @param int $rfc RFC to format the message for.
 
 
 
40
  */
41
  public function __construct(string $host, int $port = 514, $facility = \LOG_USER, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $ident = 'php', int $rfc = self::RFC5424)
42
  {
 
 
 
43
  parent::__construct($facility, $level, $bubble);
44
  $this->ident = $ident;
45
  $this->rfc = $rfc;
57
  {
58
  $this->socket->close();
59
  }
 
 
 
 
60
  private function splitMessageIntoLines($message) : array
61
  {
62
  if (\is_array($message)) {
63
  $message = \implode("\n", $message);
64
  }
65
+ return \preg_split('/$\\R?^/m', (string) $message, -1, \PREG_SPLIT_NO_EMPTY);
 
 
 
 
 
66
  }
67
  /**
68
  * Make common syslog header (see rfc5424 or rfc3164)
76
  if (!($hostname = \gethostname())) {
77
  $hostname = '-';
78
  }
79
+ if ($this->rfc === self::RFC3164 && ($datetime instanceof \DateTimeImmutable || $datetime instanceof \DateTime)) {
80
+ $datetime->setTimezone(new \DateTimeZone('UTC'));
81
+ }
82
+ $date = $datetime->format($this->dateFormats[$this->rfc]);
83
  if ($this->rfc === self::RFC3164) {
 
 
 
 
84
  return "<{$priority}>" . $date . " " . $hostname . " " . $this->ident . "[" . $pid . "]: ";
85
+ } else {
86
+ return "<{$priority}>1 " . $date . " " . $hostname . " " . $this->ident . " " . $pid . " - - ";
87
  }
 
 
88
  }
89
  /**
90
  * Inject your own socket, mainly used for testing
vendor_prefixed/monolog/src/Monolog/Handler/TelegramBotHandler.php CHANGED
@@ -26,14 +26,12 @@ use GFPDF_Vendor\Monolog\Logger;
26
  * @link https://core.telegram.org/bots/api
27
  *
28
  * @author Mazur Alexandr <alexandrmazur96@gmail.com>
29
- *
30
- * @phpstan-import-type Record from \Monolog\Logger
31
  */
32
  class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
33
  {
34
  private const BOT_API = 'https://api.telegram.org/bot';
35
  /**
36
- * The available values of parseMode according to the Telegram api documentation
37
  */
38
  private const AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown'];
39
  /**
@@ -52,28 +50,26 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
52
  * The kind of formatting that is used for the message.
53
  * See available options at https://core.telegram.org/bots/api#formatting-options
54
  * or in AVAILABLE_PARSE_MODES
55
- * @var ?string
56
  */
57
  private $parseMode;
58
  /**
59
  * Disables link previews for links in the message.
60
- * @var ?bool
61
  */
62
  private $disableWebPagePreview;
63
  /**
64
  * Sends the message silently. Users will receive a notification with no sound.
65
- * @var ?bool
66
  */
67
  private $disableNotification;
68
  /**
69
  * @param string $apiKey Telegram bot access token provided by BotFather
70
  * @param string $channel Telegram channel name
 
71
  */
72
  public function __construct(string $apiKey, string $channel, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $parseMode = null, bool $disableWebPagePreview = null, bool $disableNotification = null)
73
  {
74
- if (!\extension_loaded('curl')) {
75
- throw new \GFPDF_Vendor\Monolog\Handler\MissingExtensionException('The curl extension is needed to use the TelegramBotHandler');
76
- }
77
  parent::__construct($level, $bubble);
78
  $this->apiKey = $apiKey;
79
  $this->channel = $channel;
@@ -100,18 +96,16 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
100
  return $this;
101
  }
102
  /**
103
- * {@inheritDoc}
104
  */
105
  public function handleBatch(array $records) : void
106
  {
107
- /** @var Record[] $messages */
108
  $messages = [];
109
  foreach ($records as $record) {
110
  if (!$this->isHandling($record)) {
111
  continue;
112
  }
113
  if ($this->processors) {
114
- /** @var Record $record */
115
  $record = $this->processRecord($record);
116
  }
117
  $messages[] = $record;
@@ -140,9 +134,6 @@ class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
140
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \true);
141
  \curl_setopt($ch, \CURLOPT_POSTFIELDS, \http_build_query(['text' => $message, 'chat_id' => $this->channel, 'parse_mode' => $this->parseMode, 'disable_web_page_preview' => $this->disableWebPagePreview, 'disable_notification' => $this->disableNotification]));
142
  $result = \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($ch);
143
- if (!\is_string($result)) {
144
- throw new \RuntimeException('Telegram API error. Description: No response');
145
- }
146
  $result = \json_decode($result, \true);
147
  if ($result['ok'] === \false) {
148
  throw new \RuntimeException('Telegram API error. Description: ' . $result['description']);
26
  * @link https://core.telegram.org/bots/api
27
  *
28
  * @author Mazur Alexandr <alexandrmazur96@gmail.com>
 
 
29
  */
30
  class TelegramBotHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
31
  {
32
  private const BOT_API = 'https://api.telegram.org/bot';
33
  /**
34
+ * @var array AVAILABLE_PARSE_MODES The available values of parseMode according to the Telegram api documentation
35
  */
36
  private const AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown'];
37
  /**
50
  * The kind of formatting that is used for the message.
51
  * See available options at https://core.telegram.org/bots/api#formatting-options
52
  * or in AVAILABLE_PARSE_MODES
53
+ * @var string|null
54
  */
55
  private $parseMode;
56
  /**
57
  * Disables link previews for links in the message.
58
+ * @var bool|null
59
  */
60
  private $disableWebPagePreview;
61
  /**
62
  * Sends the message silently. Users will receive a notification with no sound.
63
+ * @var bool|null
64
  */
65
  private $disableNotification;
66
  /**
67
  * @param string $apiKey Telegram bot access token provided by BotFather
68
  * @param string $channel Telegram channel name
69
+ * @inheritDoc
70
  */
71
  public function __construct(string $apiKey, string $channel, $level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true, string $parseMode = null, bool $disableWebPagePreview = null, bool $disableNotification = null)
72
  {
 
 
 
73
  parent::__construct($level, $bubble);
74
  $this->apiKey = $apiKey;
75
  $this->channel = $channel;
96
  return $this;
97
  }
98
  /**
99
+ * {@inheritdoc}
100
  */
101
  public function handleBatch(array $records) : void
102
  {
 
103
  $messages = [];
104
  foreach ($records as $record) {
105
  if (!$this->isHandling($record)) {
106
  continue;
107
  }
108
  if ($this->processors) {
 
109
  $record = $this->processRecord($record);
110
  }
111
  $messages[] = $record;
134
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \true);
135
  \curl_setopt($ch, \CURLOPT_POSTFIELDS, \http_build_query(['text' => $message, 'chat_id' => $this->channel, 'parse_mode' => $this->parseMode, 'disable_web_page_preview' => $this->disableWebPagePreview, 'disable_notification' => $this->disableNotification]));
136
  $result = \GFPDF_Vendor\Monolog\Handler\Curl\Util::execute($ch);
 
 
 
137
  $result = \json_decode($result, \true);
138
  if ($result['ok'] === \false) {
139
  throw new \RuntimeException('Telegram API error. Description: ' . $result['description']);
vendor_prefixed/monolog/src/Monolog/Handler/TestHandler.php CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Used for testing purposes.
18
  *
@@ -64,56 +63,33 @@ use Psr\Log\LogLevel;
64
  * @method bool hasNoticeThatPasses($message)
65
  * @method bool hasInfoThatPasses($message)
66
  * @method bool hasDebugThatPasses($message)
67
- *
68
- * @phpstan-import-type Record from \Monolog\Logger
69
- * @phpstan-import-type Level from \Monolog\Logger
70
- * @phpstan-import-type LevelName from \Monolog\Logger
71
  */
72
  class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
73
  {
74
- /** @var Record[] */
75
  protected $records = [];
76
- /** @var array<Level, Record[]> */
77
  protected $recordsByLevel = [];
78
- /** @var bool */
79
  private $skipReset = \false;
80
- /**
81
- * @return array
82
- *
83
- * @phpstan-return Record[]
84
- */
85
  public function getRecords()
86
  {
87
  return $this->records;
88
  }
89
- /**
90
- * @return void
91
- */
92
  public function clear()
93
  {
94
  $this->records = [];
95
  $this->recordsByLevel = [];
96
  }
97
- /**
98
- * @return void
99
- */
100
  public function reset()
101
  {
102
  if (!$this->skipReset) {
103
  $this->clear();
104
  }
105
  }
106
- /**
107
- * @return void
108
- */
109
  public function setSkipReset(bool $skipReset)
110
  {
111
  $this->skipReset = $skipReset;
112
  }
113
  /**
114
  * @param string|int $level Logging level value or name
115
- *
116
- * @phpstan-param Level|LevelName|LogLevel::* $level
117
  */
118
  public function hasRecords($level) : bool
119
  {
@@ -122,9 +98,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
122
  /**
123
  * @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records
124
  * @param string|int $level Logging level value or name
125
- *
126
- * @phpstan-param array{message: string, context?: mixed[]}|string $record
127
- * @phpstan-param Level|LevelName|LogLevel::* $level
128
  */
129
  public function hasRecord($record, $level) : bool
130
  {
@@ -143,8 +116,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
143
  }
144
  /**
145
  * @param string|int $level Logging level value or name
146
- *
147
- * @phpstan-param Level|LevelName|LogLevel::* $level
148
  */
149
  public function hasRecordThatContains(string $message, $level) : bool
150
  {
@@ -154,8 +125,6 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
154
  }
155
  /**
156
  * @param string|int $level Logging level value or name
157
- *
158
- * @phpstan-param Level|LevelName|LogLevel::* $level
159
  */
160
  public function hasRecordThatMatches(string $regex, $level) : bool
161
  {
@@ -164,11 +133,10 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
164
  }, $level);
165
  }
166
  /**
167
- * @param string|int $level Logging level value or name
168
- * @return bool
169
  *
170
- * @psalm-param callable(Record, int): mixed $predicate
171
- * @phpstan-param Level|LevelName|LogLevel::* $level
172
  */
173
  public function hasRecordThatPasses(callable $predicate, $level)
174
  {
@@ -184,27 +152,21 @@ class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandle
184
  return \false;
185
  }
186
  /**
187
- * {@inheritDoc}
188
  */
189
  protected function write(array $record) : void
190
  {
191
  $this->recordsByLevel[$record['level']][] = $record;
192
  $this->records[] = $record;
193
  }
194
- /**
195
- * @param string $method
196
- * @param mixed[] $args
197
- * @return bool
198
- */
199
  public function __call($method, $args)
200
  {
201
  if (\preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
202
  $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
203
  $level = \constant('Monolog\\Logger::' . \strtoupper($matches[2]));
204
- $callback = [$this, $genericMethod];
205
- if (\is_callable($callback)) {
206
  $args[] = $level;
207
- return \call_user_func_array($callback, $args);
208
  }
209
  }
210
  throw new \BadMethodCallException('Call to undefined method ' . \get_class($this) . '::' . $method . '()');
12
  namespace GFPDF_Vendor\Monolog\Handler;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Used for testing purposes.
17
  *
63
  * @method bool hasNoticeThatPasses($message)
64
  * @method bool hasInfoThatPasses($message)
65
  * @method bool hasDebugThatPasses($message)
 
 
 
 
66
  */
67
  class TestHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
68
  {
 
69
  protected $records = [];
 
70
  protected $recordsByLevel = [];
 
71
  private $skipReset = \false;
 
 
 
 
 
72
  public function getRecords()
73
  {
74
  return $this->records;
75
  }
 
 
 
76
  public function clear()
77
  {
78
  $this->records = [];
79
  $this->recordsByLevel = [];
80
  }
 
 
 
81
  public function reset()
82
  {
83
  if (!$this->skipReset) {
84
  $this->clear();
85
  }
86
  }
 
 
 
87
  public function setSkipReset(bool $skipReset)
88
  {
89
  $this->skipReset = $skipReset;
90
  }
91
  /**
92
  * @param string|int $level Logging level value or name
 
 
93
  */
94
  public function hasRecords($level) : bool
95
  {
98
  /**
99
  * @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records
100
  * @param string|int $level Logging level value or name
 
 
 
101
  */
102
  public function hasRecord($record, $level) : bool
103
  {
116
  }
117
  /**
118
  * @param string|int $level Logging level value or name
 
 
119
  */
120
  public function hasRecordThatContains(string $message, $level) : bool
121
  {
125
  }
126
  /**
127
  * @param string|int $level Logging level value or name
 
 
128
  */
129
  public function hasRecordThatMatches(string $regex, $level) : bool
130
  {
133
  }, $level);
134
  }
135
  /**
136
+ * @psalm-param callable(array, int): mixed $predicate
 
137
  *
138
+ * @param string|int $level Logging level value or name
139
+ * @return bool
140
  */
141
  public function hasRecordThatPasses(callable $predicate, $level)
142
  {
152
  return \false;
153
  }
154
  /**
155
+ * {@inheritdoc}
156
  */
157
  protected function write(array $record) : void
158
  {
159
  $this->recordsByLevel[$record['level']][] = $record;
160
  $this->records[] = $record;
161
  }
 
 
 
 
 
162
  public function __call($method, $args)
163
  {
164
  if (\preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
165
  $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
166
  $level = \constant('Monolog\\Logger::' . \strtoupper($matches[2]));
167
+ if (\method_exists($this, $genericMethod)) {
 
168
  $args[] = $level;
169
+ return \call_user_func_array([$this, $genericMethod], $args);
170
  }
171
  }
172
  throw new \BadMethodCallException('Call to undefined method ' . \get_class($this) . '::' . $method . '()');
vendor_prefixed/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php CHANGED
@@ -16,18 +16,15 @@ namespace GFPDF_Vendor\Monolog\Handler;
16
  * and continuing through to give every handler a chance to succeed.
17
  *
18
  * @author Craig D'Amelio <craig@damelio.ca>
19
- *
20
- * @phpstan-import-type Record from \Monolog\Logger
21
  */
22
  class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
23
  {
24
  /**
25
- * {@inheritDoc}
26
  */
27
  public function handle(array $record) : bool
28
  {
29
  if ($this->processors) {
30
- /** @var Record $record */
31
  $record = $this->processRecord($record);
32
  }
33
  foreach ($this->handlers as $handler) {
@@ -40,7 +37,7 @@ class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
40
  return \false === $this->bubble;
41
  }
42
  /**
43
- * {@inheritDoc}
44
  */
45
  public function handleBatch(array $records) : void
46
  {
@@ -49,7 +46,6 @@ class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
49
  foreach ($records as $record) {
50
  $processed[] = $this->processRecord($record);
51
  }
52
- /** @var Record[] $records */
53
  $records = $processed;
54
  }
55
  foreach ($this->handlers as $handler) {
16
  * and continuing through to give every handler a chance to succeed.
17
  *
18
  * @author Craig D'Amelio <craig@damelio.ca>
 
 
19
  */
20
  class WhatFailureGroupHandler extends \GFPDF_Vendor\Monolog\Handler\GroupHandler
21
  {
22
  /**
23
+ * {@inheritdoc}
24
  */
25
  public function handle(array $record) : bool
26
  {
27
  if ($this->processors) {
 
28
  $record = $this->processRecord($record);
29
  }
30
  foreach ($this->handlers as $handler) {
37
  return \false === $this->bubble;
38
  }
39
  /**
40
+ * {@inheritdoc}
41
  */
42
  public function handleBatch(array $records) : void
43
  {
46
  foreach ($records as $record) {
47
  $processed[] = $this->processRecord($record);
48
  }
 
49
  $records = $processed;
50
  }
51
  foreach ($this->handlers as $handler) {
vendor_prefixed/monolog/src/Monolog/Handler/ZendMonitorHandler.php CHANGED
@@ -19,18 +19,18 @@ use GFPDF_Vendor\Monolog\Logger;
19
  *
20
  * @author Christian Bergau <cbergau86@gmail.com>
21
  * @author Jason Davis <happydude@jasondavis.net>
22
- *
23
- * @phpstan-import-type FormattedRecord from AbstractProcessingHandler
24
  */
25
  class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
26
  {
27
  /**
28
  * Monolog level / ZendMonitor Custom Event priority map
29
  *
30
- * @var array<int, int>
31
  */
32
  protected $levelMap = [];
33
  /**
 
 
34
  * @throws MissingExtensionException
35
  */
36
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
@@ -43,7 +43,7 @@ class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
43
  parent::__construct($level, $bubble);
44
  }
45
  /**
46
- * {@inheritDoc}
47
  */
48
  protected function write(array $record) : void
49
  {
@@ -55,23 +55,18 @@ class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessin
55
  * @param string $message Text displayed in "Error String"
56
  * @param array $formatted Displayed in Custom Variables tab
57
  * @param int $severity Set the event severity level (-1,0,1)
58
- *
59
- * @phpstan-param FormattedRecord $formatted
60
  */
61
  protected function writeZendMonitorCustomEvent(string $type, string $message, array $formatted, int $severity) : void
62
  {
63
  zend_monitor_custom_event($type, $message, $formatted, $severity);
64
  }
65
  /**
66
- * {@inheritDoc}
67
  */
68
  public function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
69
  {
70
  return new \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter();
71
  }
72
- /**
73
- * @return array<int, int>
74
- */
75
  public function getLevelMap() : array
76
  {
77
  return $this->levelMap;
19
  *
20
  * @author Christian Bergau <cbergau86@gmail.com>
21
  * @author Jason Davis <happydude@jasondavis.net>
 
 
22
  */
23
  class ZendMonitorHandler extends \GFPDF_Vendor\Monolog\Handler\AbstractProcessingHandler
24
  {
25
  /**
26
  * Monolog level / ZendMonitor Custom Event priority map
27
  *
28
+ * @var array
29
  */
30
  protected $levelMap = [];
31
  /**
32
+ * @param string|int $level The minimum logging level at which this handler will be triggered.
33
+ * @param bool $bubble Whether the messages that are handled can bubble up the stack or not.
34
  * @throws MissingExtensionException
35
  */
36
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, bool $bubble = \true)
43
  parent::__construct($level, $bubble);
44
  }
45
  /**
46
+ * {@inheritdoc}
47
  */
48
  protected function write(array $record) : void
49
  {
55
  * @param string $message Text displayed in "Error String"
56
  * @param array $formatted Displayed in Custom Variables tab
57
  * @param int $severity Set the event severity level (-1,0,1)
 
 
58
  */
59
  protected function writeZendMonitorCustomEvent(string $type, string $message, array $formatted, int $severity) : void
60
  {
61
  zend_monitor_custom_event($type, $message, $formatted, $severity);
62
  }
63
  /**
64
+ * {@inheritdoc}
65
  */
66
  public function getDefaultFormatter() : \GFPDF_Vendor\Monolog\Formatter\FormatterInterface
67
  {
68
  return new \GFPDF_Vendor\Monolog\Formatter\NormalizerFormatter();
69
  }
 
 
 
70
  public function getLevelMap() : array
71
  {
72
  return $this->levelMap;
vendor_prefixed/monolog/src/Monolog/Logger.php CHANGED
@@ -15,9 +15,7 @@ use DateTimeZone;
15
  use GFPDF_Vendor\Monolog\Handler\HandlerInterface;
16
  use Psr\Log\LoggerInterface;
17
  use Psr\Log\InvalidArgumentException;
18
- use Psr\Log\LogLevel;
19
  use Throwable;
20
- use Stringable;
21
  /**
22
  * Monolog log channel
23
  *
@@ -25,10 +23,6 @@ use Stringable;
25
  * and uses them to store records that are added to it.
26
  *
27
  * @author Jordi Boggiano <j.boggiano@seld.be>
28
- *
29
- * @phpstan-type Level Logger::DEBUG|Logger::INFO|Logger::NOTICE|Logger::WARNING|Logger::ERROR|Logger::CRITICAL|Logger::ALERT|Logger::EMERGENCY
30
- * @phpstan-type LevelName 'DEBUG'|'INFO'|'NOTICE'|'WARNING'|'ERROR'|'CRITICAL'|'ALERT'|'EMERGENCY'
31
- * @phpstan-type Record array{message: string, context: mixed[], level: Level, level_name: LevelName, channel: string, datetime: \DateTimeImmutable, extra: mixed[]}
32
  */
33
  class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
34
  {
@@ -87,8 +81,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
87
  * This is a static variable and not a constant to serve as an extension point for custom levels
88
  *
89
  * @var array<int, string> $levels Logging levels with the levels as key
90
- *
91
- * @phpstan-var array<Level, LevelName> $levels Logging levels with the levels as key
92
  */
93
  protected static $levels = [self::DEBUG => 'DEBUG', self::INFO => 'INFO', self::NOTICE => 'NOTICE', self::WARNING => 'WARNING', self::ERROR => 'ERROR', self::CRITICAL => 'CRITICAL', self::ALERT => 'ALERT', self::EMERGENCY => 'EMERGENCY'];
94
  /**
@@ -241,8 +233,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
241
  * @param string $message The log message
242
  * @param mixed[] $context The log context
243
  * @return bool Whether the record has been processed
244
- *
245
- * @phpstan-param Level $level
246
  */
247
  public function addRecord(int $level, string $message, array $context = []) : bool
248
  {
@@ -320,7 +310,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
320
  * Gets all supported logging levels.
321
  *
322
  * @return array<string, int> Assoc array with human-readable level names => level codes.
323
- * @phpstan-return array<LevelName, Level>
324
  */
325
  public static function getLevels() : array
326
  {
@@ -330,9 +319,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
330
  * Gets the name of the logging level.
331
  *
332
  * @throws \Psr\Log\InvalidArgumentException If level is not defined
333
- *
334
- * @phpstan-param Level $level
335
- * @phpstan-return LevelName
336
  */
337
  public static function getLevelName(int $level) : string
338
  {
@@ -346,15 +332,11 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
346
  *
347
  * @param string|int $level Level number (monolog) or name (PSR-3)
348
  * @throws \Psr\Log\InvalidArgumentException If level is not defined
349
- *
350
- * @phpstan-param Level|LevelName|LogLevel::* $level
351
- * @phpstan-return Level
352
  */
353
  public static function toMonologLevel($level) : int
354
  {
355
  if (\is_string($level)) {
356
  if (\is_numeric($level)) {
357
- /** @phpstan-ignore-next-line */
358
  return \intval($level);
359
  }
360
  // Contains chars of all log levels and avoids using strtoupper() which may have
@@ -363,17 +345,15 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
363
  if (\defined(__CLASS__ . '::' . $upper)) {
364
  return \constant(__CLASS__ . '::' . $upper);
365
  }
366
- throw new \Psr\Log\InvalidArgumentException('Level "' . $level . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels) + static::$levels));
367
  }
368
  if (!\is_int($level)) {
369
- throw new \Psr\Log\InvalidArgumentException('Level "' . \var_export($level, \true) . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels) + static::$levels));
370
  }
371
  return $level;
372
  }
373
  /**
374
  * Checks whether the Logger has a handler that listens on the given level
375
- *
376
- * @phpstan-param Level $level
377
  */
378
  public function isHandling(int $level) : bool
379
  {
@@ -404,17 +384,12 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
404
  *
405
  * This method allows for compatibility with common interfaces.
406
  *
407
- * @param mixed $level The log level
408
- * @param string|Stringable $message The log message
409
- * @param mixed[] $context The log context
410
- *
411
- * @phpstan-param Level|LevelName|LogLevel::* $level
412
  */
413
  public function log($level, $message, array $context = []) : void
414
  {
415
- if (!\is_int($level) && !\is_string($level)) {
416
- throw new \InvalidArgumentException('$level is expected to be a string or int');
417
- }
418
  $level = static::toMonologLevel($level);
419
  $this->addRecord($level, (string) $message, $context);
420
  }
@@ -423,8 +398,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
423
  *
424
  * This method allows for compatibility with common interfaces.
425
  *
426
- * @param string|Stringable $message The log message
427
- * @param mixed[] $context The log context
428
  */
429
  public function debug($message, array $context = []) : void
430
  {
@@ -435,8 +410,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
435
  *
436
  * This method allows for compatibility with common interfaces.
437
  *
438
- * @param string|Stringable $message The log message
439
- * @param mixed[] $context The log context
440
  */
441
  public function info($message, array $context = []) : void
442
  {
@@ -447,8 +422,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
447
  *
448
  * This method allows for compatibility with common interfaces.
449
  *
450
- * @param string|Stringable $message The log message
451
- * @param mixed[] $context The log context
452
  */
453
  public function notice($message, array $context = []) : void
454
  {
@@ -459,8 +434,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
459
  *
460
  * This method allows for compatibility with common interfaces.
461
  *
462
- * @param string|Stringable $message The log message
463
- * @param mixed[] $context The log context
464
  */
465
  public function warning($message, array $context = []) : void
466
  {
@@ -471,8 +446,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
471
  *
472
  * This method allows for compatibility with common interfaces.
473
  *
474
- * @param string|Stringable $message The log message
475
- * @param mixed[] $context The log context
476
  */
477
  public function error($message, array $context = []) : void
478
  {
@@ -483,8 +458,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
483
  *
484
  * This method allows for compatibility with common interfaces.
485
  *
486
- * @param string|Stringable $message The log message
487
- * @param mixed[] $context The log context
488
  */
489
  public function critical($message, array $context = []) : void
490
  {
@@ -495,8 +470,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
495
  *
496
  * This method allows for compatibility with common interfaces.
497
  *
498
- * @param string|Stringable $message The log message
499
- * @param mixed[] $context The log context
500
  */
501
  public function alert($message, array $context = []) : void
502
  {
@@ -507,8 +482,8 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
507
  *
508
  * This method allows for compatibility with common interfaces.
509
  *
510
- * @param string|Stringable $message The log message
511
- * @param mixed[] $context The log context
512
  */
513
  public function emergency($message, array $context = []) : void
514
  {
@@ -532,9 +507,6 @@ class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\Resettab
532
  /**
533
  * Delegates exception management to the custom exception handler,
534
  * or throws the exception if no custom handler is set.
535
- *
536
- * @param array $record
537
- * @phpstan-param Record $record
538
  */
539
  protected function handleException(\Throwable $e, array $record) : void
540
  {
15
  use GFPDF_Vendor\Monolog\Handler\HandlerInterface;
16
  use Psr\Log\LoggerInterface;
17
  use Psr\Log\InvalidArgumentException;
 
18
  use Throwable;
 
19
  /**
20
  * Monolog log channel
21
  *
23
  * and uses them to store records that are added to it.
24
  *
25
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
 
26
  */
27
  class Logger implements \Psr\Log\LoggerInterface, \GFPDF_Vendor\Monolog\ResettableInterface
28
  {
81
  * This is a static variable and not a constant to serve as an extension point for custom levels
82
  *
83
  * @var array<int, string> $levels Logging levels with the levels as key
 
 
84
  */
85
  protected static $levels = [self::DEBUG => 'DEBUG', self::INFO => 'INFO', self::NOTICE => 'NOTICE', self::WARNING => 'WARNING', self::ERROR => 'ERROR', self::CRITICAL => 'CRITICAL', self::ALERT => 'ALERT', self::EMERGENCY => 'EMERGENCY'];
86
  /**
233
  * @param string $message The log message
234
  * @param mixed[] $context The log context
235
  * @return bool Whether the record has been processed
 
 
236
  */
237
  public function addRecord(int $level, string $message, array $context = []) : bool
238
  {
310
  * Gets all supported logging levels.
311
  *
312
  * @return array<string, int> Assoc array with human-readable level names => level codes.
 
313
  */
314
  public static function getLevels() : array
315
  {
319
  * Gets the name of the logging level.
320
  *
321
  * @throws \Psr\Log\InvalidArgumentException If level is not defined
 
 
 
322
  */
323
  public static function getLevelName(int $level) : string
324
  {
332
  *
333
  * @param string|int $level Level number (monolog) or name (PSR-3)
334
  * @throws \Psr\Log\InvalidArgumentException If level is not defined
 
 
 
335
  */
336
  public static function toMonologLevel($level) : int
337
  {
338
  if (\is_string($level)) {
339
  if (\is_numeric($level)) {
 
340
  return \intval($level);
341
  }
342
  // Contains chars of all log levels and avoids using strtoupper() which may have
345
  if (\defined(__CLASS__ . '::' . $upper)) {
346
  return \constant(__CLASS__ . '::' . $upper);
347
  }
348
+ throw new \Psr\Log\InvalidArgumentException('Level "' . $level . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)));
349
  }
350
  if (!\is_int($level)) {
351
+ throw new \Psr\Log\InvalidArgumentException('Level "' . \var_export($level, \true) . '" is not defined, use one of: ' . \implode(', ', \array_keys(static::$levels)));
352
  }
353
  return $level;
354
  }
355
  /**
356
  * Checks whether the Logger has a handler that listens on the given level
 
 
357
  */
358
  public function isHandling(int $level) : bool
359
  {
384
  *
385
  * This method allows for compatibility with common interfaces.
386
  *
387
+ * @param mixed $level The log level
388
+ * @param string $message The log message
389
+ * @param mixed[] $context The log context
 
 
390
  */
391
  public function log($level, $message, array $context = []) : void
392
  {
 
 
 
393
  $level = static::toMonologLevel($level);
394
  $this->addRecord($level, (string) $message, $context);
395
  }
398
  *
399
  * This method allows for compatibility with common interfaces.
400
  *
401
+ * @param string $message The log message
402
+ * @param mixed[] $context The log context
403
  */
404
  public function debug($message, array $context = []) : void
405
  {
410
  *
411
  * This method allows for compatibility with common interfaces.
412
  *
413
+ * @param string $message The log message
414
+ * @param mixed[] $context The log context
415
  */
416
  public function info($message, array $context = []) : void
417
  {
422
  *
423
  * This method allows for compatibility with common interfaces.
424
  *
425
+ * @param string $message The log message
426
+ * @param mixed[] $context The log context
427
  */
428
  public function notice($message, array $context = []) : void
429
  {
434
  *
435
  * This method allows for compatibility with common interfaces.
436
  *
437
+ * @param string $message The log message
438
+ * @param mixed[] $context The log context
439
  */
440
  public function warning($message, array $context = []) : void
441
  {
446
  *
447
  * This method allows for compatibility with common interfaces.
448
  *
449
+ * @param string $message The log message
450
+ * @param mixed[] $context The log context
451
  */
452
  public function error($message, array $context = []) : void
453
  {
458
  *
459
  * This method allows for compatibility with common interfaces.
460
  *
461
+ * @param string $message The log message
462
+ * @param mixed[] $context The log context
463
  */
464
  public function critical($message, array $context = []) : void
465
  {
470
  *
471
  * This method allows for compatibility with common interfaces.
472
  *
473
+ * @param string $message The log message
474
+ * @param mixed[] $context The log context
475
  */
476
  public function alert($message, array $context = []) : void
477
  {
482
  *
483
  * This method allows for compatibility with common interfaces.
484
  *
485
+ * @param string $message The log message
486
+ * @param mixed[] $context The log context
487
  */
488
  public function emergency($message, array $context = []) : void
489
  {
507
  /**
508
  * Delegates exception management to the custom exception handler,
509
  * or throws the exception if no custom handler is set.
 
 
 
510
  */
511
  protected function handleException(\Throwable $e, array $record) : void
512
  {
vendor_prefixed/monolog/src/Monolog/Processor/GitProcessor.php CHANGED
@@ -12,34 +12,23 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Injects Git branch and Git commit SHA in all records
18
  *
19
  * @author Nick Otter
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
21
- *
22
- * @phpstan-import-type Level from \Monolog\Logger
23
- * @phpstan-import-type LevelName from \Monolog\Logger
24
  */
25
  class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
26
  {
27
- /** @var int */
28
  private $level;
29
- /** @var array{branch: string, commit: string}|array<never>|null */
30
- private static $cache = null;
31
  /**
32
  * @param string|int $level The minimum logging level at which this Processor will be triggered
33
- *
34
- * @phpstan-param Level|LevelName|LogLevel::* $level
35
  */
36
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
37
  {
38
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
39
  }
40
- /**
41
- * {@inheritDoc}
42
- */
43
  public function __invoke(array $record) : array
44
  {
45
  // return if the level is not high enough
@@ -49,9 +38,6 @@ class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
49
  $record['extra']['git'] = self::getGitInfo();
50
  return $record;
51
  }
52
- /**
53
- * @return array{branch: string, commit: string}|array<never>
54
- */
55
  private static function getGitInfo() : array
56
  {
57
  if (self::$cache) {
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Injects Git branch and Git commit SHA in all records
17
  *
18
  * @author Nick Otter
19
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
20
  */
21
  class GitProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
22
  {
 
23
  private $level;
24
+ private static $cache;
 
25
  /**
26
  * @param string|int $level The minimum logging level at which this Processor will be triggered
 
 
27
  */
28
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
29
  {
30
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
31
  }
 
 
 
32
  public function __invoke(array $record) : array
33
  {
34
  // return if the level is not high enough
38
  $record['extra']['git'] = self::getGitInfo();
39
  return $record;
40
  }
 
 
 
41
  private static function getGitInfo() : array
42
  {
43
  if (self::$cache) {
vendor_prefixed/monolog/src/Monolog/Processor/HostnameProcessor.php CHANGED
@@ -16,15 +16,11 @@ namespace GFPDF_Vendor\Monolog\Processor;
16
  */
17
  class HostnameProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
18
  {
19
- /** @var string */
20
  private static $host;
21
  public function __construct()
22
  {
23
  self::$host = (string) \gethostname();
24
  }
25
- /**
26
- * {@inheritDoc}
27
- */
28
  public function __invoke(array $record) : array
29
  {
30
  $record['extra']['hostname'] = self::$host;
16
  */
17
  class HostnameProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
18
  {
 
19
  private static $host;
20
  public function __construct()
21
  {
22
  self::$host = (string) \gethostname();
23
  }
 
 
 
24
  public function __invoke(array $record) : array
25
  {
26
  $record['extra']['hostname'] = self::$host;
vendor_prefixed/monolog/src/Monolog/Processor/IntrospectionProcessor.php CHANGED
@@ -12,7 +12,6 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Injects line/file:class/function where the log message came from
18
  *
@@ -23,25 +22,15 @@ use Psr\Log\LogLevel;
23
  * triggered the FingersCrossedHandler.
24
  *
25
  * @author Jordi Boggiano <j.boggiano@seld.be>
26
- *
27
- * @phpstan-import-type Level from \Monolog\Logger
28
- * @phpstan-import-type LevelName from \Monolog\Logger
29
  */
30
  class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
31
  {
32
- /** @var int */
33
  private $level;
34
- /** @var string[] */
35
  private $skipClassesPartials;
36
- /** @var int */
37
  private $skipStackFramesCount;
38
- /** @var string[] */
39
  private $skipFunctions = ['call_user_func', 'call_user_func_array'];
40
  /**
41
- * @param string|int $level The minimum logging level at which this Processor will be triggered
42
- * @param string[] $skipClassesPartials
43
- *
44
- * @phpstan-param Level|LevelName|LogLevel::* $level
45
  */
46
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, array $skipClassesPartials = [], int $skipStackFramesCount = 0)
47
  {
@@ -49,9 +38,6 @@ class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
49
  $this->skipClassesPartials = \array_merge(['Monolog\\'], $skipClassesPartials);
50
  $this->skipStackFramesCount = $skipStackFramesCount;
51
  }
52
- /**
53
- * {@inheritDoc}
54
- */
55
  public function __invoke(array $record) : array
56
  {
57
  // return if the level is not high enough
@@ -83,10 +69,7 @@ class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
83
  $record['extra'] = \array_merge($record['extra'], ['file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null]);
84
  return $record;
85
  }
86
- /**
87
- * @param array[] $trace
88
- */
89
- private function isTraceClassOrSkippedFunction(array $trace, int $index) : bool
90
  {
91
  if (!isset($trace[$index])) {
92
  return \false;
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Injects line/file:class/function where the log message came from
17
  *
22
  * triggered the FingersCrossedHandler.
23
  *
24
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
25
  */
26
  class IntrospectionProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
27
  {
 
28
  private $level;
 
29
  private $skipClassesPartials;
 
30
  private $skipStackFramesCount;
 
31
  private $skipFunctions = ['call_user_func', 'call_user_func_array'];
32
  /**
33
+ * @param string|int $level The minimum logging level at which this Processor will be triggered
 
 
 
34
  */
35
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG, array $skipClassesPartials = [], int $skipStackFramesCount = 0)
36
  {
38
  $this->skipClassesPartials = \array_merge(['Monolog\\'], $skipClassesPartials);
39
  $this->skipStackFramesCount = $skipStackFramesCount;
40
  }
 
 
 
41
  public function __invoke(array $record) : array
42
  {
43
  // return if the level is not high enough
69
  $record['extra'] = \array_merge($record['extra'], ['file' => isset($trace[$i - 1]['file']) ? $trace[$i - 1]['file'] : null, 'line' => isset($trace[$i - 1]['line']) ? $trace[$i - 1]['line'] : null, 'class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : null, 'function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : null]);
70
  return $record;
71
  }
72
+ private function isTraceClassOrSkippedFunction(array $trace, int $index)
 
 
 
73
  {
74
  if (!isset($trace[$index])) {
75
  return \false;
vendor_prefixed/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php CHANGED
@@ -19,9 +19,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
19
  */
20
  class MemoryPeakUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
21
  {
22
- /**
23
- * {@inheritDoc}
24
- */
25
  public function __invoke(array $record) : array
26
  {
27
  $usage = \memory_get_peak_usage($this->realUsage);
19
  */
20
  class MemoryPeakUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
21
  {
 
 
 
22
  public function __invoke(array $record) : array
23
  {
24
  $usage = \memory_get_peak_usage($this->realUsage);
vendor_prefixed/monolog/src/Monolog/Processor/MemoryUsageProcessor.php CHANGED
@@ -19,9 +19,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
19
  */
20
  class MemoryUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
21
  {
22
- /**
23
- * {@inheritDoc}
24
- */
25
  public function __invoke(array $record) : array
26
  {
27
  $usage = \memory_get_usage($this->realUsage);
19
  */
20
  class MemoryUsageProcessor extends \GFPDF_Vendor\Monolog\Processor\MemoryProcessor
21
  {
 
 
 
22
  public function __invoke(array $record) : array
23
  {
24
  $usage = \memory_get_usage($this->realUsage);
vendor_prefixed/monolog/src/Monolog/Processor/MercurialProcessor.php CHANGED
@@ -12,33 +12,22 @@ declare (strict_types=1);
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
15
- use Psr\Log\LogLevel;
16
  /**
17
  * Injects Hg branch and Hg revision number in all records
18
  *
19
  * @author Jonathan A. Schweder <jonathanschweder@gmail.com>
20
- *
21
- * @phpstan-import-type LevelName from \Monolog\Logger
22
- * @phpstan-import-type Level from \Monolog\Logger
23
  */
24
  class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
25
  {
26
- /** @var Level */
27
  private $level;
28
- /** @var array{branch: string, revision: string}|array<never>|null */
29
- private static $cache = null;
30
  /**
31
- * @param int|string $level The minimum logging level at which this Processor will be triggered
32
- *
33
- * @phpstan-param Level|LevelName|LogLevel::* $level
34
  */
35
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
36
  {
37
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
38
  }
39
- /**
40
- * {@inheritDoc}
41
- */
42
  public function __invoke(array $record) : array
43
  {
44
  // return if the level is not high enough
@@ -48,9 +37,6 @@ class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInt
48
  $record['extra']['hg'] = self::getMercurialInfo();
49
  return $record;
50
  }
51
- /**
52
- * @return array{branch: string, revision: string}|array<never>
53
- */
54
  private static function getMercurialInfo() : array
55
  {
56
  if (self::$cache) {
12
  namespace GFPDF_Vendor\Monolog\Processor;
13
 
14
  use GFPDF_Vendor\Monolog\Logger;
 
15
  /**
16
  * Injects Hg branch and Hg revision number in all records
17
  *
18
  * @author Jonathan A. Schweder <jonathanschweder@gmail.com>
 
 
 
19
  */
20
  class MercurialProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
21
  {
 
22
  private $level;
23
+ private static $cache;
 
24
  /**
25
+ * @param string|int $level The minimum logging level at which this Processor will be triggered
 
 
26
  */
27
  public function __construct($level = \GFPDF_Vendor\Monolog\Logger::DEBUG)
28
  {
29
  $this->level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
30
  }
 
 
 
31
  public function __invoke(array $record) : array
32
  {
33
  // return if the level is not high enough
37
  $record['extra']['hg'] = self::getMercurialInfo();
38
  return $record;
39
  }
 
 
 
40
  private static function getMercurialInfo() : array
41
  {
42
  if (self::$cache) {
vendor_prefixed/monolog/src/Monolog/Processor/ProcessIdProcessor.php CHANGED
@@ -18,9 +18,6 @@ namespace GFPDF_Vendor\Monolog\Processor;
18
  */
19
  class ProcessIdProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
21
- /**
22
- * {@inheritDoc}
23
- */
24
  public function __invoke(array $record) : array
25
  {
26
  $record['extra']['process_id'] = \getmypid();
18
  */
19
  class ProcessIdProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
 
 
 
21
  public function __invoke(array $record) : array
22
  {
23
  $record['extra']['process_id'] = \getmypid();
vendor_prefixed/monolog/src/Monolog/Processor/ProcessorInterface.php CHANGED
@@ -15,16 +15,11 @@ namespace GFPDF_Vendor\Monolog\Processor;
15
  * An optional interface to allow labelling Monolog processors.
16
  *
17
  * @author Nicolas Grekas <p@tchwork.com>
18
- *
19
- * @phpstan-import-type Record from \Monolog\Logger
20
  */
21
  interface ProcessorInterface
22
  {
23
  /**
24
  * @return array The processed record
25
- *
26
- * @phpstan-param Record $record
27
- * @phpstan-return Record
28
  */
29
  public function __invoke(array $record);
30
  }
15
  * An optional interface to allow labelling Monolog processors.
16
  *
17
  * @author Nicolas Grekas <p@tchwork.com>
 
 
18
  */
19
  interface ProcessorInterface
20
  {
21
  /**
22
  * @return array The processed record
 
 
 
23
  */
24
  public function __invoke(array $record);
25
  }
vendor_prefixed/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php CHANGED
@@ -36,7 +36,8 @@ class PsrLogMessageProcessor implements \GFPDF_Vendor\Monolog\Processor\Processo
36
  $this->removeUsedContextFields = $removeUsedContextFields;
37
  }
38
  /**
39
- * {@inheritDoc}
 
40
  */
41
  public function __invoke(array $record) : array
42
  {
36
  $this->removeUsedContextFields = $removeUsedContextFields;
37
  }
38
  /**
39
+ * @param array $record
40
+ * @return array
41
  */
42
  public function __invoke(array $record) : array
43
  {
vendor_prefixed/monolog/src/Monolog/Processor/TagProcessor.php CHANGED
@@ -18,34 +18,21 @@ namespace GFPDF_Vendor\Monolog\Processor;
18
  */
19
  class TagProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
21
- /** @var string[] */
22
  private $tags;
23
- /**
24
- * @param string[] $tags
25
- */
26
  public function __construct(array $tags = [])
27
  {
28
  $this->setTags($tags);
29
  }
30
- /**
31
- * @param string[] $tags
32
- */
33
  public function addTags(array $tags = []) : self
34
  {
35
  $this->tags = \array_merge($this->tags, $tags);
36
  return $this;
37
  }
38
- /**
39
- * @param string[] $tags
40
- */
41
  public function setTags(array $tags = []) : self
42
  {
43
  $this->tags = $tags;
44
  return $this;
45
  }
46
- /**
47
- * {@inheritDoc}
48
- */
49
  public function __invoke(array $record) : array
50
  {
51
  $record['extra']['tags'] = $this->tags;
18
  */
19
  class TagProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
 
21
  private $tags;
 
 
 
22
  public function __construct(array $tags = [])
23
  {
24
  $this->setTags($tags);
25
  }
 
 
 
26
  public function addTags(array $tags = []) : self
27
  {
28
  $this->tags = \array_merge($this->tags, $tags);
29
  return $this;
30
  }
 
 
 
31
  public function setTags(array $tags = []) : self
32
  {
33
  $this->tags = $tags;
34
  return $this;
35
  }
 
 
 
36
  public function __invoke(array $record) : array
37
  {
38
  $record['extra']['tags'] = $this->tags;
vendor_prefixed/monolog/src/Monolog/Processor/UidProcessor.php CHANGED
@@ -19,7 +19,6 @@ use GFPDF_Vendor\Monolog\ResettableInterface;
19
  */
20
  class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface, \GFPDF_Vendor\Monolog\ResettableInterface
21
  {
22
- /** @var string */
23
  private $uid;
24
  public function __construct(int $length = 7)
25
  {
@@ -28,9 +27,6 @@ class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
28
  }
29
  $this->uid = $this->generateUid($length);
30
  }
31
- /**
32
- * {@inheritDoc}
33
- */
34
  public function __invoke(array $record) : array
35
  {
36
  $record['extra']['uid'] = $this->uid;
19
  */
20
  class UidProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface, \GFPDF_Vendor\Monolog\ResettableInterface
21
  {
 
22
  private $uid;
23
  public function __construct(int $length = 7)
24
  {
27
  }
28
  $this->uid = $this->generateUid($length);
29
  }
 
 
 
30
  public function __invoke(array $record) : array
31
  {
32
  $record['extra']['uid'] = $this->uid;
vendor_prefixed/monolog/src/Monolog/Processor/WebProcessor.php CHANGED
@@ -19,7 +19,7 @@ namespace GFPDF_Vendor\Monolog\Processor;
19
  class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
21
  /**
22
- * @var array<string, mixed>|\ArrayAccess<string, mixed>
23
  */
24
  protected $serverData;
25
  /**
@@ -27,12 +27,12 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
27
  *
28
  * Array is structured as [key in record.extra => key in $serverData]
29
  *
30
- * @var array<string, string>
31
  */
32
  protected $extraFields = ['url' => 'REQUEST_URI', 'ip' => 'REMOTE_ADDR', 'http_method' => 'REQUEST_METHOD', 'server' => 'SERVER_NAME', 'referrer' => 'HTTP_REFERER'];
33
  /**
34
- * @param array<string, mixed>|\ArrayAccess<string, mixed>|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
35
- * @param array<string, string>|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer
36
  */
37
  public function __construct($serverData = null, array $extraFields = null)
38
  {
@@ -58,9 +58,6 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
58
  }
59
  }
60
  }
61
- /**
62
- * {@inheritDoc}
63
- */
64
  public function __invoke(array $record) : array
65
  {
66
  // skip processing if for some reason request data
@@ -76,10 +73,6 @@ class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
76
  $this->extraFields[$extraName] = $serverName;
77
  return $this;
78
  }
79
- /**
80
- * @param mixed[] $extra
81
- * @return mixed[]
82
- */
83
  private function appendExtraFields(array $extra) : array
84
  {
85
  foreach ($this->extraFields as $extraName => $serverName) {
19
  class WebProcessor implements \GFPDF_Vendor\Monolog\Processor\ProcessorInterface
20
  {
21
  /**
22
+ * @var array|\ArrayAccess
23
  */
24
  protected $serverData;
25
  /**
27
  *
28
  * Array is structured as [key in record.extra => key in $serverData]
29
  *
30
+ * @var array
31
  */
32
  protected $extraFields = ['url' => 'REQUEST_URI', 'ip' => 'REMOTE_ADDR', 'http_method' => 'REQUEST_METHOD', 'server' => 'SERVER_NAME', 'referrer' => 'HTTP_REFERER'];
33
  /**
34
+ * @param array|\ArrayAccess|null $serverData Array or object w/ ArrayAccess that provides access to the $_SERVER data
35
+ * @param array|null $extraFields Field names and the related key inside $serverData to be added. If not provided it defaults to: url, ip, http_method, server, referrer
36
  */
37
  public function __construct($serverData = null, array $extraFields = null)
38
  {
58
  }
59
  }
60
  }
 
 
 
61
  public function __invoke(array $record) : array
62
  {
63
  // skip processing if for some reason request data
73
  $this->extraFields[$extraName] = $serverName;
74
  return $this;
75
  }
 
 
 
 
76
  private function appendExtraFields(array $extra) : array
77
  {
78
  foreach ($this->extraFields as $extraName => $serverName) {
vendor_prefixed/monolog/src/Monolog/Registry.php CHANGED
@@ -49,7 +49,6 @@ class Registry
49
  * @param string|null $name Name of the logging channel ($logger->getName() by default)
50
  * @param bool $overwrite Overwrite instance in the registry if the given name already exists?
51
  * @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists
52
- * @return void
53
  */
54
  public static function addLogger(\GFPDF_Vendor\Monolog\Logger $logger, ?string $name = null, bool $overwrite = \false)
55
  {
@@ -111,7 +110,7 @@ class Registry
111
  * Gets Logger instance from the registry via static method call
112
  *
113
  * @param string $name Name of the requested Logger instance
114
- * @param mixed[] $arguments Arguments passed to static method call
115
  * @throws \InvalidArgumentException If named Logger instance is not in the registry
116
  * @return Logger Requested instance of Logger
117
  */
49
  * @param string|null $name Name of the logging channel ($logger->getName() by default)
50
  * @param bool $overwrite Overwrite instance in the registry if the given name already exists?
51
  * @throws \InvalidArgumentException If $overwrite set to false and named Logger instance already exists
 
52
  */
53
  public static function addLogger(\GFPDF_Vendor\Monolog\Logger $logger, ?string $name = null, bool $overwrite = \false)
54
  {
110
  * Gets Logger instance from the registry via static method call
111
  *
112
  * @param string $name Name of the requested Logger instance
113
+ * @param array $arguments Arguments passed to static method call
114
  * @throws \InvalidArgumentException If named Logger instance is not in the registry
115
  * @return Logger Requested instance of Logger
116
  */
vendor_prefixed/monolog/src/Monolog/SignalHandler.php CHANGED
@@ -18,39 +18,22 @@ use ReflectionExtension;
18
  * Monolog POSIX signal handler
19
  *
20
  * @author Robert Gust-Bardon <robert@gust-bardon.org>
21
- *
22
- * @phpstan-import-type Level from \Monolog\Logger
23
- * @phpstan-import-type LevelName from \Monolog\Logger
24
  */
25
  class SignalHandler
26
  {
27
- /** @var LoggerInterface */
28
  private $logger;
29
- /** @var array<int, callable|string|int> SIG_DFL, SIG_IGN or previous callable */
30
  private $previousSignalHandler = [];
31
- /** @var array<int, int> */
32
  private $signalLevelMap = [];
33
- /** @var array<int, bool> */
34
  private $signalRestartSyscalls = [];
35
  public function __construct(\Psr\Log\LoggerInterface $logger)
36
  {
37
  $this->logger = $logger;
38
  }
39
- /**
40
- * @param int|string $level Level or level name
41
- * @param bool $callPrevious
42
- * @param bool $restartSyscalls
43
- * @param bool|null $async
44
- * @return $this
45
- *
46
- * @phpstan-param Level|LevelName|LogLevel::* $level
47
- */
48
- public function registerSignalHandler(int $signo, $level = \Psr\Log\LogLevel::CRITICAL, bool $callPrevious = \true, bool $restartSyscalls = \true, ?bool $async = \true) : self
49
  {
50
  if (!\extension_loaded('pcntl') || !\function_exists('pcntl_signal')) {
51
  return $this;
52
  }
53
- $level = \GFPDF_Vendor\Monolog\Logger::toMonologLevel($level);
54
  if ($callPrevious) {
55
  $handler = \pcntl_signal_get_handler($signo);
56
  $this->previousSignalHandler[$signo] = $handler;
@@ -65,10 +48,7 @@ class SignalHandler
65
  \pcntl_signal($signo, [$this, 'handleSignal'], $restartSyscalls);
66
  return $this;
67
  }
68
- /**
69
- * @param mixed $siginfo
70
- */
71
- public function handleSignal(int $signo, $siginfo = null) : void
72
  {
73
  static $signals = [];
74
  if (!$signals && \extension_loaded('pcntl')) {
@@ -87,7 +67,7 @@ class SignalHandler
87
  if (!isset($this->previousSignalHandler[$signo])) {
88
  return;
89
  }
90
- if ($this->previousSignalHandler[$signo] === \SIG_DFL) {
91
  if (\extension_loaded('pcntl') && \function_exists('pcntl_signal') && \function_exists('pcntl_sigprocmask') && \function_exists('pcntl_signal_dispatch') && \extension_loaded('posix') && \function_exists('posix_getpid') && \function_exists('posix_kill')) {
92
  $restartSyscalls = $this->signalRestartSyscalls[$signo] ?? \true;
93
  \pcntl_signal($signo, \SIG_DFL, $restartSyscalls);
18
  * Monolog POSIX signal handler
19
  *
20
  * @author Robert Gust-Bardon <robert@gust-bardon.org>
 
 
 
21
  */
22
  class SignalHandler
23
  {
 
24
  private $logger;
 
25
  private $previousSignalHandler = [];
 
26
  private $signalLevelMap = [];
 
27
  private $signalRestartSyscalls = [];
28
  public function __construct(\Psr\Log\LoggerInterface $logger)
29
  {
30
  $this->logger = $logger;
31
  }
32
+ public function registerSignalHandler($signo, $level = \Psr\Log\LogLevel::CRITICAL, bool $callPrevious = \true, bool $restartSyscalls = \true, ?bool $async = \true) : self
 
 
 
 
 
 
 
 
 
33
  {
34
  if (!\extension_loaded('pcntl') || !\function_exists('pcntl_signal')) {
35
  return $this;
36
  }
 
37
  if ($callPrevious) {
38
  $handler = \pcntl_signal_get_handler($signo);
39
  $this->previousSignalHandler[$signo] = $handler;
48
  \pcntl_signal($signo, [$this, 'handleSignal'], $restartSyscalls);
49
  return $this;
50
  }
51
+ public function handleSignal($signo, array $siginfo = null) : void
 
 
 
52
  {
53
  static $signals = [];
54
  if (!$signals && \extension_loaded('pcntl')) {
67
  if (!isset($this->previousSignalHandler[$signo])) {
68
  return;
69
  }
70
+ if ($this->previousSignalHandler[$signo] === \true || $this->previousSignalHandler[$signo] === \SIG_DFL) {
71
  if (\extension_loaded('pcntl') && \function_exists('pcntl_signal') && \function_exists('pcntl_sigprocmask') && \function_exists('pcntl_signal_dispatch') && \extension_loaded('posix') && \function_exists('posix_getpid') && \function_exists('posix_kill')) {
72
  $restartSyscalls = $this->signalRestartSyscalls[$signo] ?? \true;
73
  \pcntl_signal($signo, \SIG_DFL, $restartSyscalls);
vendor_prefixed/monolog/src/Monolog/Test/TestCase.php CHANGED
@@ -16,29 +16,18 @@ use GFPDF_Vendor\Monolog\DateTimeImmutable;
16
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
17
  /**
18
  * Lets you easily generate log records and a dummy formatter for testing purposes
19
- *
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
21
- *
22
- * @phpstan-import-type Record from \Monolog\Logger
23
- * @phpstan-import-type Level from \Monolog\Logger
24
  */
25
  class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
26
  {
27
  /**
28
- * @param mixed[] $context
29
- *
30
  * @return array Record
31
- *
32
- * @phpstan-param Level $level
33
- * @phpstan-return Record
34
  */
35
- protected function getRecord(int $level = \GFPDF_Vendor\Monolog\Logger::WARNING, string $message = 'test', array $context = []) : array
36
  {
37
  return ['message' => (string) $message, 'context' => $context, 'level' => $level, 'level_name' => \GFPDF_Vendor\Monolog\Logger::getLevelName($level), 'channel' => 'test', 'datetime' => new \GFPDF_Vendor\Monolog\DateTimeImmutable(\true), 'extra' => []];
38
  }
39
- /**
40
- * @phpstan-return Record[]
41
- */
42
  protected function getMultipleRecords() : array
43
  {
44
  return [$this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 1'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 2'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::INFO, 'information'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::WARNING, 'warning'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::ERROR, 'error')];
16
  use GFPDF_Vendor\Monolog\Formatter\FormatterInterface;
17
  /**
18
  * Lets you easily generate log records and a dummy formatter for testing purposes
19
+ * *
20
  * @author Jordi Boggiano <j.boggiano@seld.be>
 
 
 
21
  */
22
  class TestCase extends \GFPDF_Vendor\PHPUnit\Framework\TestCase
23
  {
24
  /**
 
 
25
  * @return array Record
 
 
 
26
  */
27
+ protected function getRecord($level = \GFPDF_Vendor\Monolog\Logger::WARNING, $message = 'test', array $context = []) : array
28
  {
29
  return ['message' => (string) $message, 'context' => $context, 'level' => $level, 'level_name' => \GFPDF_Vendor\Monolog\Logger::getLevelName($level), 'channel' => 'test', 'datetime' => new \GFPDF_Vendor\Monolog\DateTimeImmutable(\true), 'extra' => []];
30
  }
 
 
 
31
  protected function getMultipleRecords() : array
32
  {
33
  return [$this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 1'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::DEBUG, 'debug message 2'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::INFO, 'information'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::WARNING, 'warning'), $this->getRecord(\GFPDF_Vendor\Monolog\Logger::ERROR, 'error')];
vendor_prefixed/monolog/src/Monolog/Utils.php CHANGED
@@ -17,13 +17,7 @@ final class Utils
17
  public static function getClass(object $object) : string
18
  {
19
  $class = \get_class($object);
20
- if (\false === ($pos = \strpos($class, "@anonymous\0"))) {
21
- return $class;
22
- }
23
- if (\false === ($parent = \get_parent_class($class))) {
24
- return \substr($class, 0, $pos + 10);
25
- }
26
- return $parent . '@anonymous';
27
  }
28
  public static function substr(string $string, int $start, ?int $length = null) : string
29
  {
@@ -117,29 +111,12 @@ final class Utils
117
  }
118
  return $json;
119
  }
120
- /**
121
- * @internal
122
- */
123
- public static function pcreLastErrorMessage(int $code) : string
124
- {
125
- if (\PHP_VERSION_ID >= 80000) {
126
- return \preg_last_error_msg();
127
- }
128
- $constants = \get_defined_constants(\true)['pcre'];
129
- $constants = \array_filter($constants, function ($key) {
130
- return \substr($key, -6) == '_ERROR';
131
- }, \ARRAY_FILTER_USE_KEY);
132
- $constants = \array_flip($constants);
133
- return $constants[$code] ?? 'UNDEFINED_ERROR';
134
- }
135
  /**
136
  * Throws an exception according to a given code with a customized message
137
  *
138
  * @param int $code return code of json_last_error function
139
  * @param mixed $data data that was meant to be encoded
140
  * @throws \RuntimeException
141
- *
142
- * @return never
143
  */
144
  private static function throwEncodeError(int $code, $data) : void
145
  {
@@ -182,40 +159,7 @@ final class Utils
182
  $data = \preg_replace_callback('/[\\x80-\\xFF]+/', function ($m) {
183
  return \utf8_encode($m[0]);
184
  }, $data);
185
- if (!\is_string($data)) {
186
- $pcreErrorCode = \preg_last_error();
187
- throw new \RuntimeException('Failed to preg_replace_callback: ' . $pcreErrorCode . ' / ' . self::pcreLastErrorMessage($pcreErrorCode));
188
- }
189
  $data = \str_replace(['¤', '¦', '¨', '´', '¸', '¼', '½', '¾'], ['€', 'Š', 'š', 'Ž', 'ž', 'Œ', 'œ', 'Ÿ'], $data);
190
  }
191
  }
192
- /**
193
- * Converts a string with a valid 'memory_limit' format, to bytes.
194
- *
195
- * @param string|false $val
196
- * @return int|false Returns an integer representing bytes. Returns FALSE in case of error.
197
- */
198
- public static function expandIniShorthandBytes($val)
199
- {
200
- if (!\is_string($val)) {
201
- return \false;
202
- }
203
- // support -1
204
- if ((int) $val < 0) {
205
- return (int) $val;
206
- }
207
- if (!\preg_match('/^\\s*(?<val>\\d+)(?:\\.\\d+)?\\s*(?<unit>[gmk]?)\\s*$/i', $val, $match)) {
208
- return \false;
209
- }
210
- $val = (int) $match['val'];
211
- switch (\strtolower($match['unit'] ?? '')) {
212
- case 'g':
213
- $val *= 1024;
214
- case 'm':
215
- $val *= 1024;
216
- case 'k':
217
- $val *= 1024;
218
- }
219
- return $val;
220
- }
221
  }
17
  public static function getClass(object $object) : string
18
  {
19
  $class = \get_class($object);
20
+ return 'c' === $class[0] && 0 === \strpos($class, "class@anonymous\0") ? \get_parent_class($class) . '@anonymous' : $class;
 
 
 
 
 
 
21
  }
22
  public static function substr(string $string, int $start, ?int $length = null) : string
23
  {
111
  }
112
  return $json;
113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  /**
115
  * Throws an exception according to a given code with a customized message
116
  *
117
  * @param int $code return code of json_last_error function
118
  * @param mixed $data data that was meant to be encoded
119
  * @throws \RuntimeException
 
 
120
  */
121
  private static function throwEncodeError(int $code, $data) : void
122
  {
159
  $data = \preg_replace_callback('/[\\x80-\\xFF]+/', function ($m) {
160
  return \utf8_encode($m[0]);
161
  }, $data);
 
 
 
 
162
  $data = \str_replace(['¤', '¦', '¨', '´', '¸', '¼', '½', '¾'], ['€', 'Š', 'š', 'Ž', 'ž', 'Œ', 'œ', 'Ÿ'], $data);
163
  }
164
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  }
vendor_prefixed/mpdf/mpdf/src/Barcode.php CHANGED
@@ -4,9 +4,9 @@ namespace GFPDF_Vendor\Mpdf;
4
 
5
  class Barcode
6
  {
7
- public function getBarcodeArray($code, $type, $pr = '', $quiet_zone_left = null, $quiet_zone_right = null)
8
  {
9
- $barcode = $this->getBarcode($code, $type, $pr, $quiet_zone_left, $quiet_zone_right);
10
  return $barcode ? $barcode->getData() : \false;
11
  }
12
  public function getChecksum($code, $type)
@@ -21,7 +21,7 @@ class Barcode
21
  *
22
  * @return \Mpdf\Barcode\BarcodeInterface
23
  */
24
- public function getBarcode($code, $type, $pr = 0.0, $quiet_zone_left = null, $quiet_zone_right = null)
25
  {
26
  switch (\strtoupper($type)) {
27
  case 'ISBN':
@@ -81,70 +81,70 @@ class Barcode
81
  return new \GFPDF_Vendor\Mpdf\Barcode\Postnet($code, $xdim, (25.4 / $bpi - $xdim) / $xdim, \true);
82
  case 'C93':
83
  // CODE 93 - USS-93
84
- return new \GFPDF_Vendor\Mpdf\Barcode\Code93($code, $quiet_zone_left, $quiet_zone_right);
85
  case 'CODE11':
86
  // CODE 11
87
- return new \GFPDF_Vendor\Mpdf\Barcode\Code11($code, $pr > 0 ? $pr : 3, $quiet_zone_left, $quiet_zone_right);
88
  case 'MSI':
89
  // MSI (Variation of Plessey code)
90
- return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \false, $quiet_zone_left, $quiet_zone_right);
91
  case 'MSI+':
92
  // MSI + CHECKSUM (modulo 11)
93
- return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \true, $quiet_zone_left, $quiet_zone_right);
94
  case 'CODABAR':
95
  // CODABAR
96
- return new \GFPDF_Vendor\Mpdf\Barcode\Codabar($code, $pr > 0 ? $pr : 2.5, $quiet_zone_left, $quiet_zone_right);
97
  case 'C128A':
98
  // CODE 128 A
99
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A', \false, $quiet_zone_left, $quiet_zone_right);
100
  case 'C128B':
101
  // CODE 128 B
102
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B', \false, $quiet_zone_left, $quiet_zone_right);
103
  case 'C128C':
104
  // CODE 128 C
105
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C', \false, $quiet_zone_left, $quiet_zone_right);
106
  case 'C128RAW':
107
  // CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34"
108
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'RAW', \false, $quiet_zone_left, $quiet_zone_right);
109
  case 'EAN128A':
110
  // EAN 128 A
111
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A', \true, $quiet_zone_left, $quiet_zone_right);
112
  case 'EAN128B':
113
  // EAN 128 B
114
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B', \true, $quiet_zone_left, $quiet_zone_right);
115
  case 'EAN128C':
116
  // EAN 128 C
117
- return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C', \true, $quiet_zone_left, $quiet_zone_right);
118
  case 'C39':
119
  // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
120
- return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \false, $quiet_zone_left, $quiet_zone_right);
121
  case 'C39+':
122
  // CODE 39 with checksum
123
- return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \true, $quiet_zone_left, $quiet_zone_right);
124
  case 'C39E':
125
  // CODE 39 EXTENDED
126
- return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \false, $quiet_zone_left, $quiet_zone_right);
127
  case 'C39E+':
128
  // CODE 39 EXTENDED + CHECKSUM
129
- return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \true, $quiet_zone_left, $quiet_zone_right);
130
  case 'S25':
131
  // Standard 2 of 5
132
- return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \false, $quiet_zone_left, $quiet_zone_right);
133
  case 'S25+':
134
  // Standard 2 of 5 + CHECKSUM
135
- return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \true, $quiet_zone_left, $quiet_zone_right);
136
  case 'I25':
137
  // Interleaved 2 of 5
138
- return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \false, $quiet_zone_left, $quiet_zone_right);
139
  case 'I25+':
140
  // Interleaved 2 of 5 + CHECKSUM
141
- return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \true, $quiet_zone_left, $quiet_zone_right);
142
  case 'I25B':
143
  // Interleaved 2 of 5 + Bearer bars
144
- return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \false, $quiet_zone_left, $quiet_zone_right);
145
  case 'I25B+':
146
  // Interleaved 2 of 5 + CHECKSUM + Bearer bars
147
- return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \true, $quiet_zone_left, $quiet_zone_right);
148
  }
149
  return \false;
150
  }
4
 
5
  class Barcode
6
  {
7
+ public function getBarcodeArray($code, $type, $pr = '')
8
  {
9
+ $barcode = $this->getBarcode($code, $type, $pr);
10
  return $barcode ? $barcode->getData() : \false;
11
  }
12
  public function getChecksum($code, $type)
21
  *
22
  * @return \Mpdf\Barcode\BarcodeInterface
23
  */
24
+ public function getBarcode($code, $type, $pr = 0.0)
25
  {
26
  switch (\strtoupper($type)) {
27
  case 'ISBN':
81
  return new \GFPDF_Vendor\Mpdf\Barcode\Postnet($code, $xdim, (25.4 / $bpi - $xdim) / $xdim, \true);
82
  case 'C93':
83
  // CODE 93 - USS-93
84
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code93($code);
85
  case 'CODE11':
86
  // CODE 11
87
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code11($code, $pr > 0 ? $pr : 3);
88
  case 'MSI':
89
  // MSI (Variation of Plessey code)
90
+ return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \false);
91
  case 'MSI+':
92
  // MSI + CHECKSUM (modulo 11)
93
+ return new \GFPDF_Vendor\Mpdf\Barcode\Msi($code, \true);
94
  case 'CODABAR':
95
  // CODABAR
96
+ return new \GFPDF_Vendor\Mpdf\Barcode\Codabar($code, $pr > 0 ? $pr : 2.5);
97
  case 'C128A':
98
  // CODE 128 A
99
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A');
100
  case 'C128B':
101
  // CODE 128 B
102
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B');
103
  case 'C128C':
104
  // CODE 128 C
105
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C');
106
  case 'C128RAW':
107
  // CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34"
108
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'RAW');
109
  case 'EAN128A':
110
  // EAN 128 A
111
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'A', \true);
112
  case 'EAN128B':
113
  // EAN 128 B
114
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'B', \true);
115
  case 'EAN128C':
116
  // EAN 128 C
117
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code128($code, 'C', \true);
118
  case 'C39':
119
  // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
120
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \false);
121
  case 'C39+':
122
  // CODE 39 with checksum
123
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \false, \true);
124
  case 'C39E':
125
  // CODE 39 EXTENDED
126
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \false);
127
  case 'C39E+':
128
  // CODE 39 EXTENDED + CHECKSUM
129
+ return new \GFPDF_Vendor\Mpdf\Barcode\Code39($this->sanitizeCode($code), $pr > 0 ? $pr : 2.5, \true, \true);
130
  case 'S25':
131
  // Standard 2 of 5
132
+ return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \false);
133
  case 'S25+':
134
  // Standard 2 of 5 + CHECKSUM
135
+ return new \GFPDF_Vendor\Mpdf\Barcode\S25($code, \true);
136
  case 'I25':
137
  // Interleaved 2 of 5
138
+ return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \false);
139
  case 'I25+':
140
  // Interleaved 2 of 5 + CHECKSUM
141
+ return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 0, $pr > 0 ? $pr : 2.5, \true);
142
  case 'I25B':
143
  // Interleaved 2 of 5 + Bearer bars
144
+ return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \false);
145
  case 'I25B+':
146
  // Interleaved 2 of 5 + CHECKSUM + Bearer bars
147
+ return new \GFPDF_Vendor\Mpdf\Barcode\I25($code, 2, $pr > 0 ? $pr : 2.5, \true);
148
  }
149
  return \false;
150
  }
vendor_prefixed/mpdf/mpdf/src/Barcode/Codabar.php CHANGED
@@ -12,16 +12,16 @@ class Codabar extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFP
12
  * @param string $code
13
  * @param float $printRatio
14
  */
15
- public function __construct($code, $printRatio, $quiet_zone_left = null, $quiet_zone_right = null)
16
  {
17
  $this->init($code, $printRatio);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
23
  // LEFT light margin = x X-dim (spec.)
24
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
12
  * @param string $code
13
  * @param float $printRatio
14
  */
15
+ public function __construct($code, $printRatio)
16
  {
17
  $this->init($code, $printRatio);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
+ $this->data['lightmL'] = 10;
23
  // LEFT light margin = x X-dim (spec.)
24
+ $this->data['lightmR'] = 10;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/Code11.php CHANGED
@@ -12,16 +12,16 @@ class Code11 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
12
  * @param string $code
13
  * @param float $printRatio
14
  */
15
- public function __construct($code, $printRatio, $quiet_zone_left = null, $quiet_zone_right = null)
16
  {
17
  $this->init($code, $printRatio);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
23
  // LEFT light margin = x X-dim (spec.)
24
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
12
  * @param string $code
13
  * @param float $printRatio
14
  */
15
+ public function __construct($code, $printRatio)
16
  {
17
  $this->init($code, $printRatio);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
+ $this->data['lightmL'] = 10;
23
  // LEFT light margin = x X-dim (spec.)
24
+ $this->data['lightmR'] = 10;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/Code128.php CHANGED
@@ -14,16 +14,16 @@ class Code128 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFP
14
  * @param string $type
15
  * @param bool $ean
16
  */
17
- public function __construct($code, $type = 'B', $ean = \false, $quiet_zone_left = null, $quiet_zone_right = null)
18
  {
19
  $this->init($code, $type, $ean);
20
  $this->data['nom-X'] = 0.381;
21
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
22
  $this->data['nom-H'] = 10;
23
  // Nominal value for Height of Full bar in mm (non-spec.)
24
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
25
  // LEFT light margin = x X-dim (spec.)
26
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
27
  // RIGHT light margin = x X-dim (spec.)
28
  $this->data['lightTB'] = 0;
29
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
14
  * @param string $type
15
  * @param bool $ean
16
  */
17
+ public function __construct($code, $type = 'B', $ean = \false)
18
  {
19
  $this->init($code, $type, $ean);
20
  $this->data['nom-X'] = 0.381;
21
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
22
  $this->data['nom-H'] = 10;
23
  // Nominal value for Height of Full bar in mm (non-spec.)
24
+ $this->data['lightmL'] = 10;
25
  // LEFT light margin = x X-dim (spec.)
26
+ $this->data['lightmR'] = 10;
27
  // RIGHT light margin = x X-dim (spec.)
28
  $this->data['lightTB'] = 0;
29
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/Code39.php CHANGED
@@ -13,16 +13,16 @@ class Code39 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
13
  * @param bool $extended
14
  * @param bool $checksum
15
  */
16
- public function __construct($code, $printRatio, $extended = \false, $checksum = \false, $quiet_zone_left = null, $quiet_zone_right = null)
17
  {
18
  $this->init($code, $printRatio, $extended, $checksum);
19
  $this->data['nom-X'] = 0.381;
20
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
21
  $this->data['nom-H'] = 10;
22
  // Nominal value for Height of Full bar in mm (non-spec.)
23
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
24
  // LEFT light margin = x X-dim (spec.)
25
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
26
  // RIGHT light margin = x X-dim (spec.)
27
  $this->data['lightTB'] = 0;
28
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
13
  * @param bool $extended
14
  * @param bool $checksum
15
  */
16
+ public function __construct($code, $printRatio, $extended = \false, $checksum = \false)
17
  {
18
  $this->init($code, $printRatio, $extended, $checksum);
19
  $this->data['nom-X'] = 0.381;
20
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
21
  $this->data['nom-H'] = 10;
22
  // Nominal value for Height of Full bar in mm (non-spec.)
23
+ $this->data['lightmL'] = 10;
24
  // LEFT light margin = x X-dim (spec.)
25
+ $this->data['lightmR'] = 10;
26
  // RIGHT light margin = x X-dim (spec.)
27
  $this->data['lightTB'] = 0;
28
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/Code93.php CHANGED
@@ -11,16 +11,16 @@ class Code93 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPD
11
  /**
12
  * @param string $code
13
  */
14
- public function __construct($code, $quiet_zone_left = null, $quiet_zone_right = null)
15
  {
16
  $this->init($code);
17
  $this->data['nom-X'] = 0.381;
18
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
19
  $this->data['nom-H'] = 10;
20
  // Nominal value for Height of Full bar in mm (non-spec.)
21
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
22
  // LEFT light margin = x X-dim (spec.)
23
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
24
  // RIGHT light margin = x X-dim (spec.)
25
  $this->data['lightTB'] = 0;
26
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
11
  /**
12
  * @param string $code
13
  */
14
+ public function __construct($code)
15
  {
16
  $this->init($code);
17
  $this->data['nom-X'] = 0.381;
18
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
19
  $this->data['nom-H'] = 10;
20
  // Nominal value for Height of Full bar in mm (non-spec.)
21
+ $this->data['lightmL'] = 10;
22
  // LEFT light margin = x X-dim (spec.)
23
+ $this->data['lightmR'] = 10;
24
  // RIGHT light margin = x X-dim (spec.)
25
  $this->data['lightTB'] = 0;
26
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/I25.php CHANGED
@@ -15,16 +15,16 @@ class I25 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
15
  * @param float $printRatio
16
  * @param bool $checksum
17
  */
18
- public function __construct($code, $topBottomMargin, $printRatio, $checksum = \false, $quiet_zone_left = null, $quiet_zone_right = null)
19
  {
20
  $this->init($code, $printRatio, $checksum);
21
  $this->data['nom-X'] = 0.381;
22
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
23
  $this->data['nom-H'] = 10;
24
  // Nominal value for Height of Full bar in mm (non-spec.)
25
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
26
  // LEFT light margin = x X-dim (spec.)
27
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
28
  // RIGHT light margin = x X-dim (spec.)
29
  $this->data['lightTB'] = $topBottomMargin;
30
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
15
  * @param float $printRatio
16
  * @param bool $checksum
17
  */
18
+ public function __construct($code, $topBottomMargin, $printRatio, $checksum = \false)
19
  {
20
  $this->init($code, $printRatio, $checksum);
21
  $this->data['nom-X'] = 0.381;
22
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
23
  $this->data['nom-H'] = 10;
24
  // Nominal value for Height of Full bar in mm (non-spec.)
25
+ $this->data['lightmL'] = 10;
26
  // LEFT light margin = x X-dim (spec.)
27
+ $this->data['lightmR'] = 10;
28
  // RIGHT light margin = x X-dim (spec.)
29
  $this->data['lightTB'] = $topBottomMargin;
30
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/Msi.php CHANGED
@@ -12,16 +12,16 @@ class Msi extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
12
  * @param int $code
13
  * @param bool $checksum
14
  */
15
- public function __construct($code, $checksum = \false, $quiet_zone_left = null, $quiet_zone_right = null)
16
  {
17
  $this->init($code, $checksum);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 12;
23
  // LEFT light margin = x X-dim (spec.)
24
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 12;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
12
  * @param int $code
13
  * @param bool $checksum
14
  */
15
+ public function __construct($code, $checksum = \false)
16
  {
17
  $this->init($code, $checksum);
18
  $this->data['nom-X'] = 0.381;
19
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
20
  $this->data['nom-H'] = 10;
21
  // Nominal value for Height of Full bar in mm (non-spec.)
22
+ $this->data['lightmL'] = 12;
23
  // LEFT light margin = x X-dim (spec.)
24
+ $this->data['lightmR'] = 12;
25
  // RIGHT light margin = x X-dim (spec.)
26
  $this->data['lightTB'] = 0;
27
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Barcode/S25.php CHANGED
@@ -13,16 +13,16 @@ class S25 extends \GFPDF_Vendor\Mpdf\Barcode\AbstractBarcode implements \GFPDF_V
13
  * @param string $code
14
  * @param bool $checksum
15
  */
16
- public function __construct($code, $checksum = \false, $quiet_zone_left = null, $quiet_zone_right = null)
17
  {
18
  $this->init($code, $checksum);
19
  $this->data['nom-X'] = 0.381;
20
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
21
  $this->data['nom-H'] = 10;
22
  // Nominal value for Height of Full bar in mm (non-spec.)
23
- $this->data['lightmL'] = $quiet_zone_left !== null ? $quiet_zone_left : 10;
24
  // LEFT light margin = x X-dim (spec.)
25
- $this->data['lightmR'] = $quiet_zone_right !== null ? $quiet_zone_right : 10;
26
  // RIGHT light margin = x X-dim (spec.)
27
  $this->data['lightTB'] = 0;
28
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
13
  * @param string $code
14
  * @param bool $checksum
15
  */
16
+ public function __construct($code, $checksum = \false)
17
  {
18
  $this->init($code, $checksum);
19
  $this->data['nom-X'] = 0.381;
20
  // Nominal value for X-dim (bar width) in mm (2 X min. spec.)
21
  $this->data['nom-H'] = 10;
22
  // Nominal value for Height of Full bar in mm (non-spec.)
23
+ $this->data['lightmL'] = 10;
24
  // LEFT light margin = x X-dim (spec.)
25
+ $this->data['lightmR'] = 10;
26
  // RIGHT light margin = x X-dim (spec.)
27
  $this->data['lightTB'] = 0;
28
  // TOP/BOTTOM light margin = x X-dim (non-spec.)
vendor_prefixed/mpdf/mpdf/src/Cache.php CHANGED
@@ -59,7 +59,6 @@ class Cache
59
  {
60
  $tempFile = \tempnam($this->basePath, 'cache_tmp_');
61
  \file_put_contents($tempFile, $data);
62
- \chmod($tempFile, 0664);
63
  $path = $this->getFilePath($filename);
64
  \rename($tempFile, $path);
65
  return $path;
59
  {
60
  $tempFile = \tempnam($this->basePath, 'cache_tmp_');
61
  \file_put_contents($tempFile, $data);
 
62
  $path = $this->getFilePath($filename);
63
  \rename($tempFile, $path);
64
  return $path;
vendor_prefixed/mpdf/mpdf/src/Color/ColorConverter.php CHANGED
@@ -36,7 +36,7 @@ class ColorConverter
36
  $cstr = '';
37
  if (\is_array($c)) {
38
  $c = \array_pad($c, 6, 0);
39
- $cstr = \pack('a1ccccc', $c[0], \round($c[1]) & 0xff, \round($c[2]) & 0xff, \round($c[3]) & 0xff, \round($c[4]) & 0xff, \round($c[5]) & 0xff);
40
  }
41
  $this->cache[$color] = $cstr;
42
  }
@@ -56,7 +56,7 @@ class ColorConverter
56
  $ret = [1, \min(255, \ord($c[1]) + 32)];
57
  }
58
  $c = \array_pad($ret, 6, 0);
59
- $cstr = \pack('a1ccccc', $c[0], \round($c[1]) & 0xff, \round($c[2]) & 0xff, \round($c[3]) & 0xff, \round($c[4]) & 0xff, \round($c[5]) & 0xff);
60
  return $cstr;
61
  }
62
  public function darken($c)
@@ -159,9 +159,9 @@ class ColorConverter
159
  if (\strlen($cor) === 4) {
160
  $cor = '#' . $cor[1] . $cor[1] . $cor[2] . $cor[2] . $cor[3] . $cor[3];
161
  }
162
- $r = self::safeHexDec(\substr($cor, 1, 2));
163
- $g = self::safeHexDec(\substr($cor, 3, 2));
164
- $b = self::safeHexDec(\substr($cor, 5, 2));
165
  return [3, $r, $g, $b];
166
  }
167
  /**
@@ -267,14 +267,4 @@ class ColorConverter
267
  throw new \GFPDF_Vendor\Mpdf\MpdfException('Invalid color input, invalid color mode in binary color string');
268
  }
269
  }
270
- /**
271
- * Converts the given hexString to its decimal representation when all digits are hexadecimal
272
- *
273
- * @param string $hexString The hexadecimal string to convert
274
- * @return float|int The decimal representation of hexString or 0 if not all digits of hexString are hexadecimal
275
- */
276
- private function safeHexDec($hexString)
277
- {
278
- return \ctype_xdigit($hexString) ? \hexdec($hexString) : 0;
279
- }
280
  }
36
  $cstr = '';
37
  if (\is_array($c)) {
38
  $c = \array_pad($c, 6, 0);
39
+ $cstr = \pack('a1ccccc', $c[0], $c[1] & 0xff, $c[2] & 0xff, $c[3] & 0xff, $c[4] & 0xff, $c[5] & 0xff);
40
  }
41
  $this->cache[$color] = $cstr;
42
  }
56
  $ret = [1, \min(255, \ord($c[1]) + 32)];
57
  }
58
  $c = \array_pad($ret, 6, 0);
59
+ $cstr = \pack('a1ccccc', $c[0], $c[1] & 0xff, $c[2] & 0xff, $c[3] & 0xff, $c[4] & 0xff, $c[5] & 0xff);
60
  return $cstr;
61
  }
62
  public function darken($c)
159
  if (\strlen($cor) === 4) {
160
  $cor = '#' . $cor[1] . $cor[1] . $cor[2] . $cor[2] . $cor[3] . $cor[3];
161
  }
162
+ $r = \hexdec(\substr($cor, 1, 2));
163
+ $g = \hexdec(\substr($cor, 3, 2));
164
+ $b = \hexdec(\substr($cor, 5, 2));
165
  return [3, $r, $g, $b];
166
  }
167
  /**
267
  throw new \GFPDF_Vendor\Mpdf\MpdfException('Invalid color input, invalid color mode in binary color string');
268
  }
269
  }
 
 
 
 
 
 
 
 
 
 
270
  }
vendor_prefixed/mpdf/mpdf/src/Config/ConfigVariables.php CHANGED
@@ -433,7 +433,6 @@ class ConfigVariables
433
  'curlAllowUnsafeSslRequests' => \false,
434
  'curlCaCertificate' => '',
435
  'curlTimeout' => 5,
436
- 'curlExecutionTimeout' => null,
437
  'curlProxy' => null,
438
  'curlProxyAuth' => null,
439
  'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1',
433
  'curlAllowUnsafeSslRequests' => \false,
434
  'curlCaCertificate' => '',
435
  'curlTimeout' => 5,
 
436
  'curlProxy' => null,
437
  'curlProxyAuth' => null,
438
  'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1',
vendor_prefixed/mpdf/mpdf/src/CssManager.php CHANGED
@@ -33,11 +33,7 @@ class CssManager
33
  var $cell_border_dominance_L;
34
  var $cell_border_dominance_R;
35
  var $cell_border_dominance_T;
36
- /**
37
- * @var \Mpdf\RemoteContentFetcher
38
- */
39
- private $remoteContentFetcher;
40
- public function __construct(\GFPDF_Vendor\Mpdf\Mpdf $mpdf, \GFPDF_Vendor\Mpdf\Cache $cache, \GFPDF_Vendor\Mpdf\SizeConverter $sizeConverter, \GFPDF_Vendor\Mpdf\Color\ColorConverter $colorConverter, \GFPDF_Vendor\Mpdf\RemoteContentFetcher $remoteContentFetcher)
41
  {
42
  $this->mpdf = $mpdf;
43
  $this->cache = $cache;
@@ -47,7 +43,6 @@ class CssManager
47
  $this->cascadeCSS = [];
48
  $this->tbCSSlvl = 0;
49
  $this->colorConverter = $colorConverter;
50
- $this->remoteContentFetcher = $remoteContentFetcher;
51
  }
52
  function ReadCSS($html)
53
  {
@@ -2076,13 +2071,13 @@ class CssManager
2076
  $localpath = $path;
2077
  }
2078
  $contents = @\file_get_contents($localpath);
2079
- } else {
2080
  // if not use full URL
2081
- try {
2082
- $contents = $this->remoteContentFetcher->getFileContentsByCurl($path);
2083
- } catch (\GFPDF_Vendor\Mpdf\MpdfException $e) {
2084
- // Ignore error
2085
- }
2086
  }
2087
  return $contents;
2088
  }
33
  var $cell_border_dominance_L;
34
  var $cell_border_dominance_R;
35
  var $cell_border_dominance_T;
36
+ public function __construct(\GFPDF_Vendor\Mpdf\Mpdf $mpdf, \GFPDF_Vendor\Mpdf\Cache $cache, \GFPDF_Vendor\Mpdf\SizeConverter $sizeConverter, \GFPDF_Vendor\Mpdf\Color\ColorConverter $colorConverter)
 
 
 
 
37
  {
38
  $this->mpdf = $mpdf;
39
  $this->cache = $cache;
43
  $this->cascadeCSS = [];
44
  $this->tbCSSlvl = 0;
45
  $this->colorConverter = $colorConverter;
 
46
  }
47
  function ReadCSS($html)
48
  {
2071
  $localpath = $path;
2072
  }
2073
  $contents = @\file_get_contents($localpath);
2074
+ } elseif (!$contents && !\ini_get('allow_url_fopen') && \function_exists('curl_init')) {
2075
  // if not use full URL
2076
+ $ch = \curl_init($path);
2077
+ \curl_setopt($ch, \CURLOPT_HEADER, 0);
2078
+ \curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
2079
+ $contents = \curl_exec($ch);
2080
+ \curl_close($ch);
2081
  }
2082
  return $contents;
2083
  }
vendor_prefixed/mpdf/mpdf/src/Gradient.php CHANGED
@@ -50,7 +50,7 @@ class Gradient
50
  $this->mpdf->gradients[$n]['stream'] .= \chr($patch_array[$i]['f']);
51
  //start with the edge flag as 8 bit
52
  for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
53
- // each point as 16 bit
54
  if ($j % 2 == 1) {
55
  // Y coordinate (adjusted as input is From top left)
56
  $patch_array[$i]['points'][$j] = ($patch_array[$i]['points'][$j] - $y_min) / ($y_max - $y_min) * $bpcd;
@@ -65,7 +65,7 @@ class Gradient
65
  $patch_array[$i]['points'][$j] = $bpcd;
66
  }
67
  $this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
68
- $this->mpdf->gradients[$n]['stream'] .= \chr(\floor(\round($patch_array[$i]['points'][$j]) % 256));
69
  }
70
  for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
71
  //each color component as 8 bit
@@ -99,12 +99,12 @@ class Gradient
99
  for ($i = 0; $i < \count($patch_array); $i++) {
100
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr($patch_array[$i]['f']);
101
  for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
102
- // each point as 16 bit
103
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
104
- $this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor(\round($patch_array[$i]['points'][$j]) % 256));
105
  }
106
  for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
107
- // each color component as 8 bit // OPACITY
108
  if ($colspace === 'RGB') {
109
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr((int) (\ord($patch_array[$i]['colors'][$j][4]) * 2.55));
110
  } elseif ($colspace === 'CMYK') {
@@ -117,9 +117,9 @@ class Gradient
117
  $this->mpdf->gradients[$n]['trans'] = \true;
118
  $s .= ' /TGS' . $n . ' gs ';
119
  }
120
- // paint the gradient
121
  $s .= '/Sh' . $n . ' sh' . "\n";
122
- // restore previous Graphic State
123
  $s .= 'Q' . "\n";
124
  if ($return) {
125
  return $s;
@@ -136,9 +136,9 @@ class Gradient
136
  // $stops = array('col'=>$col [, 'opacity'=>0-1] [, 'offset'=>0-1])
137
  public function Gradient($x, $y, $w, $h, $type, $stops = [], $colorspace = 'RGB', $coords = '', $extend = '', $return = \false, $is_mask = \false)
138
  {
139
- if ($type && \stripos($type, 'L') === 0) {
140
  $type = self::TYPE_LINEAR;
141
- } elseif ($type && \stripos($type, 'R') === 0) {
142
  $type = self::TYPE_RADIAL;
143
  }
144
  if ($colorspace !== 'CMYK' && $colorspace !== 'Gray') {
@@ -491,7 +491,7 @@ class Gradient
491
  for ($i = 0; $i < \count($stops); $i++) {
492
  if (isset($stops[$i]['offset']) && \preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $stops[$i]['offset'], $m)) {
493
  $tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, \false);
494
- $stops[$i]['offset'] = $axis_length ? $tmp / $axis_length : 0;
495
  }
496
  }
497
  if (isset($stops[0]['offset']) && $stops[0]['offset'] > 0) {
50
  $this->mpdf->gradients[$n]['stream'] .= \chr($patch_array[$i]['f']);
51
  //start with the edge flag as 8 bit
52
  for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
53
+ //each point as 16 bit
54
  if ($j % 2 == 1) {
55
  // Y coordinate (adjusted as input is From top left)
56
  $patch_array[$i]['points'][$j] = ($patch_array[$i]['points'][$j] - $y_min) / ($y_max - $y_min) * $bpcd;
65
  $patch_array[$i]['points'][$j] = $bpcd;
66
  }
67
  $this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
68
+ $this->mpdf->gradients[$n]['stream'] .= \chr(\floor($patch_array[$i]['points'][$j] % 256));
69
  }
70
  for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
71
  //each color component as 8 bit
99
  for ($i = 0; $i < \count($patch_array); $i++) {
100
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr($patch_array[$i]['f']);
101
  for ($j = 0; $j < \count($patch_array[$i]['points']); $j++) {
102
+ //each point as 16 bit
103
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] / 256));
104
+ $this->mpdf->gradients[$n]['stream_trans'] .= \chr(\floor($patch_array[$i]['points'][$j] % 256));
105
  }
106
  for ($j = 0; $j < \count($patch_array[$i]['colors']); $j++) {
107
+ //each color component as 8 bit // OPACITY
108
  if ($colspace === 'RGB') {
109
  $this->mpdf->gradients[$n]['stream_trans'] .= \chr((int) (\ord($patch_array[$i]['colors'][$j][4]) * 2.55));
110
  } elseif ($colspace === 'CMYK') {
117
  $this->mpdf->gradients[$n]['trans'] = \true;
118
  $s .= ' /TGS' . $n . ' gs ';
119
  }
120
+ //paint the gradient
121
  $s .= '/Sh' . $n . ' sh' . "\n";
122
+ //restore previous Graphic State
123
  $s .= 'Q' . "\n";
124
  if ($return) {
125
  return $s;
136
  // $stops = array('col'=>$col [, 'opacity'=>0-1] [, 'offset'=>0-1])
137
  public function Gradient($x, $y, $w, $h, $type, $stops = [], $colorspace = 'RGB', $coords = '', $extend = '', $return = \false, $is_mask = \false)
138
  {
139
+ if (\stripos($type, 'L') === 0) {
140
  $type = self::TYPE_LINEAR;
141
+ } elseif (\stripos($type, 'R') === 0) {
142
  $type = self::TYPE_RADIAL;
143
  }
144
  if ($colorspace !== 'CMYK' && $colorspace !== 'Gray') {
491
  for ($i = 0; $i < \count($stops); $i++) {
492
  if (isset($stops[$i]['offset']) && \preg_match('/([0-9.]+(px|em|ex|pc|pt|cm|mm|in))/i', $stops[$i]['offset'], $m)) {
493
  $tmp = $this->sizeConverter->convert($m[1], $this->mpdf->w, $this->mpdf->FontSize, \false);
494
+ $stops[$i]['offset'] = $tmp / $axis_length;
495
  }
496
  }
497
  if (isset($stops[0]['offset']) && $stops[0]['offset'] > 0) {
vendor_prefixed/mpdf/mpdf/src/Image/ImageProcessor.php CHANGED
@@ -109,15 +109,11 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
109
  /**
110
  * Prevents insecure PHP object injection through phar:// wrapper
111
  * @see https://github.com/mpdf/mpdf/issues/949
112
- * @see https://github.com/mpdf/mpdf/issues/1381
113
  */
114
  $wrapperChecker = new \GFPDF_Vendor\Mpdf\File\StreamWrapperChecker($this->mpdf);
115
  if ($wrapperChecker->hasBlacklistedStreamWrapper($file)) {
116
  return $this->imageError($file, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
117
  }
118
- if ($wrapperChecker->hasBlacklistedStreamWrapper($orig_srcpath)) {
119
- return $this->imageError($orig_srcpath, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
120
- }
121
  // mPDF 6
122
  // firsttime i.e. whether to add to this->images - use false when calling iteratively
123
  // Image Data passed directly as var:varname
@@ -130,7 +126,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
130
  $data = $this->mpdf->imageVars[$v[1]];
131
  $file = \md5($data);
132
  }
133
- if (\preg_match('/data:image\\/(gif|jpe?g|png|webp);base64,(.*)/', $file, $v)) {
134
  $type = $v[1];
135
  $data = \base64_decode($v[2]);
136
  $file = \md5($data);
@@ -227,25 +223,6 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
227
  $this->mpdf->formobjects[$file] = $info;
228
  return $info;
229
  }
230
- if ($type === 'webp') {
231
- // Convert webp images to JPG and treat them as such
232
- $im = @\imagecreatefromstring($data);
233
- if (!\function_exists('imagewebp') || \false === $im) {
234
- return $this->imageError($file, $firsttime, 'Missing GD support for WEBP images.');
235
- }
236
- $tempfile = $this->cache->tempFilename('_tempImgPNG' . \md5($file) . \random_int(1, 10000) . '.jpg');
237
- $checkfile = $this->cache->tempFilename('_tempImgPNG' . \md5($file) . \random_int(1, 10000) . '.jpg');
238
- $check = @\imagewebp($im, $checkfile);
239
- if (!$check) {
240
- return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') when using GD library to parse WEBP image');
241
- }
242
- @\imagejpeg($im, $tempfile);
243
- $data = \file_get_contents($tempfile);
244
- \imagedestroy($im);
245
- \unlink($tempfile);
246
- \unlink($checkfile);
247
- $type = 'jpeg';
248
- }
249
  // JPEG
250
  if ($type === 'jpeg' || $type === 'jpg') {
251
  $hdr = $this->jpgHeaderFromString($data);
@@ -281,7 +258,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
281
  \imageinterlace($im, \false);
282
  $check = @\imagepng($im, $tempfile);
283
  if (!$check) {
284
- return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') when using GD library to parse JPG(CMYK) image');
285
  }
286
  $info = $this->getImage($tempfile, \false);
287
  if (!$info) {
@@ -808,7 +785,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
808
  \ob_start();
809
  $check = @\imagepng($im);
810
  if (!$check) {
811
- return $this->imageError($file, $firsttime, 'Error creating temporary image object when using GD library to parse GIF image');
812
  }
813
  $this->mpdf->imageVars['tempImage'] = \ob_get_contents();
814
  $tempimglnk = 'var:tempImage';
@@ -821,7 +798,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
821
  } else {
822
  $check = @\imagepng($im, $tempfile);
823
  if (!$check) {
824
- return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') when using GD library to parse GIF image');
825
  }
826
  $info = $this->getImage($tempfile, \false);
827
  if (!$info) {
@@ -935,7 +912,7 @@ class ImageProcessor implements \Psr\Log\LoggerAwareInterface
935
  \imageinterlace($im, \false);
936
  $check = @\imagepng($im, $tempfile);
937
  if (!$check) {
938
- return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') when using GD library to parse unknown image type');
939
  }
940
  $info = $this->getImage($tempfile, \false);
941
  \imagedestroy($im);
109
  /**
110
  * Prevents insecure PHP object injection through phar:// wrapper
111
  * @see https://github.com/mpdf/mpdf/issues/949
 
112
  */
113
  $wrapperChecker = new \GFPDF_Vendor\Mpdf\File\StreamWrapperChecker($this->mpdf);
114
  if ($wrapperChecker->hasBlacklistedStreamWrapper($file)) {
115
  return $this->imageError($file, $firsttime, 'File contains an invalid stream. Only ' . \implode(', ', $wrapperChecker->getWhitelistedStreamWrappers()) . ' streams are allowed.');
116
  }
 
 
 
117
  // mPDF 6
118
  // firsttime i.e. whether to add to this->images - use false when calling iteratively
119
  // Image Data passed directly as var:varname
126
  $data = $this->mpdf->imageVars[$v[1]];
127
  $file = \md5($data);
128
  }
129
+ if (\preg_match('/data:image\\/(gif|jpe?g|png);base64,(.*)/', $file, $v)) {
130
  $type = $v[1];
131
  $data = \base64_decode($v[2]);
132
  $file = \md5($data);
223
  $this->mpdf->formobjects[$file] = $info;
224
  return $info;
225
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  // JPEG
227
  if ($type === 'jpeg' || $type === 'jpg') {
228
  $hdr = $this->jpgHeaderFromString($data);
258
  \imageinterlace($im, \false);
259
  $check = @\imagepng($im, $tempfile);
260
  if (!$check) {
261
+ return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse JPG(CMYK) image');
262
  }
263
  $info = $this->getImage($tempfile, \false);
264
  if (!$info) {
785
  \ob_start();
786
  $check = @\imagepng($im);
787
  if (!$check) {
788
+ return $this->imageError($file, $firsttime, 'Error creating temporary image object whilst using GD library to parse GIF image');
789
  }
790
  $this->mpdf->imageVars['tempImage'] = \ob_get_contents();
791
  $tempimglnk = 'var:tempImage';
798
  } else {
799
  $check = @\imagepng($im, $tempfile);
800
  if (!$check) {
801
+ return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse GIF image');
802
  }
803
  $info = $this->getImage($tempfile, \false);
804
  if (!$info) {
912
  \imageinterlace($im, \false);
913
  $check = @\imagepng($im, $tempfile);
914
  if (!$check) {
915
+ return $this->imageError($file, $firsttime, 'Error creating temporary file (' . $tempfile . ') whilst using GD library to parse unknown image type');
916
  }
917
  $info = $this->getImage($tempfile, \false);
918
  \imagedestroy($im);
vendor_prefixed/mpdf/mpdf/src/Image/ImageTypeGuesser.php CHANGED
@@ -15,9 +15,6 @@ class ImageTypeGuesser
15
  // 0xFF 0xD8 // mpDF 5.7.2
16
  return 'jpeg';
17
  }
18
- if (\in_array(\substr($data, 0, 4), ['RIFF'], \true)) {
19
- return 'webp';
20
- }
21
  if (\in_array(\substr($data, 0, 6), ['GIF87a', 'GIF89a'], \true)) {
22
  return 'gif';
23
  }
15
  // 0xFF 0xD8 // mpDF 5.7.2
16
  return 'jpeg';
17
  }
 
 
 
18
  if (\in_array(\substr($data, 0, 6), ['GIF87a', 'GIF89a'], \true)) {
19
  return 'gif';
20
  }
vendor_prefixed/mpdf/mpdf/src/Image/Svg.php CHANGED
@@ -596,17 +596,17 @@ class Svg
596
  $y2 = 0;
597
  }
598
  // mPDF 6
599
- if (\strpos($x1, '%') !== \false) {
600
- $x1 = (\stristr($x1, '%', \true) + 0) / 100;
601
  }
602
- if (\strpos($x2, '%') !== \false) {
603
- $x2 = (\stristr($x2, '%', \true) + 0) / 100;
604
  }
605
- if (\strpos($y1, '%') !== \false) {
606
- $y1 = (\stristr($y1, '%', \true) + 0) / 100;
607
  }
608
- if (\strpos($y2, '%') !== \false) {
609
- $y2 = (\stristr($y2, '%', \true) + 0) / 100;
610
  }
611
  // mPDF 5.0.042
612
  $bboxw = $w;
@@ -845,23 +845,23 @@ class Svg
845
  } else {
846
  $y1 = $y0;
847
  }
848
- if (\strpos($x1, '%') !== \false) {
849
- $x1 = (\stristr($x1, '%', \true) + 0) / 100;
850
  }
851
- if (\strpos($x0, '%') !== \false) {
852
- $x0 = (\stristr($x0, '%', \true) + 0) / 100;
853
  }
854
- if (\strpos($y1, '%') !== \false) {
855
- $y1 = (\stristr($y1, '%', \true) + 0) / 100;
856
  }
857
- if (\strpos($y0, '%') !== \false) {
858
- $y0 = (\stristr($y0, '%', \true) + 0) / 100;
859
  }
860
- if (\strpos($rx, '%') !== \false) {
861
- $rx = (\stristr($rx, '%', \true) + 0) / 100;
862
  }
863
- if (\strpos($ry, '%') !== \false) {
864
- $ry = (\stristr($ry, '%', \true) + 0) / 100;
865
  }
866
  $bboxw = $w;
867
  $bboxh = $h;
@@ -1412,9 +1412,6 @@ class Svg
1412
  // 5, 3, 1 => 5,3,1,5,3,1 OR 3 => 3,3
1413
  $arr = '';
1414
  for ($i = 0; $i < \count($d); $i += 2) {
1415
- if ($d[$i] === 'none') {
1416
- continue;
1417
- }
1418
  $arr .= \sprintf('%.3F %.3F ', $d[$i] * $this->kp, $d[$i + 1] * $this->kp);
1419
  }
1420
  if (isset($critere_style['stroke-dashoffset'])) {
596
  $y2 = 0;
597
  }
598
  // mPDF 6
599
+ if (\stristr($x1, '%') !== \false) {
600
+ $x1 = ($x1 + 0) / 100;
601
  }
602
+ if (\stristr($x2, '%') !== \false) {
603
+ $x2 = ($x2 + 0) / 100;
604
  }
605
+ if (\stristr($y1, '%') !== \false) {
606
+ $y1 = ($y1 + 0) / 100;
607
  }
608
+ if (\stristr($y2, '%') !== \false) {
609
+ $y2 = ($y2 + 0) / 100;
610
  }
611
  // mPDF 5.0.042
612
  $bboxw = $w;
845
  } else {
846
  $y1 = $y0;
847
  }
848
+ if (\stristr($x1, '%') !== \false) {
849
+ $x1 = ($x1 + 0) / 100;
850
  }
851
+ if (\stristr($x0, '%') !== \false) {
852
+ $x0 = ($x0 + 0) / 100;
853
  }
854
+ if (\stristr($y1, '%') !== \false) {
855
+ $y1 = ($y1 + 0) / 100;
856
  }
857
+ if (\stristr($y0, '%') !== \false) {
858
+ $y0 = ($y0 + 0) / 100;
859
  }
860
+ if (\stristr($rx, '%') !== \false) {
861
+ $rx = ($rx + 0) / 100;
862
  }
863
+ if (\stristr($ry, '%') !== \false) {
864
+ $ry = ($ry + 0) / 100;
865
  }
866
  $bboxw = $w;
867
  $bboxh = $h;
1412
  // 5, 3, 1 => 5,3,1,5,3,1 OR 3 => 3,3
1413
  $arr = '';
1414
  for ($i = 0; $i < \count($d); $i += 2) {
 
 
 
1415
  $arr .= \sprintf('%.3F %.3F ', $d[$i] * $this->kp, $d[$i + 1] * $this->kp);
1416
  }
1417
  if (isset($critere_style['stroke-dashoffset'])) {
vendor_prefixed/mpdf/mpdf/src/Mpdf.php CHANGED
@@ -28,7 +28,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
28
  {
29
  use Strict;
30
  use FpdiTrait;
31
- const VERSION = '8.0.17';
32
  const SCALE = 72 / 25.4;
33
  var $useFixedNormalLineHeight;
34
  // mPDF 6
@@ -326,7 +326,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
326
  var $pageTemplate;
327
  var $docTemplate;
328
  var $docTemplateContinue;
329
- var $docTemplateContinue2pages;
330
  var $arabGlyphs;
331
  var $arabHex;
332
  var $persianGlyphs;
@@ -577,12 +576,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
577
  * @var int
578
  */
579
  var $curlTimeout;
580
- /**
581
- * Set execution timeout for cURL
582
- *
583
- * @var int
584
- */
585
- var $curlExecutionTimeout;
586
  /**
587
  * Set to true to follow redirects with cURL.
588
  *
@@ -769,7 +762,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
769
  var $outerblocktags;
770
  var $innerblocktags;
771
  public $exposeVersion;
772
- private $preambleWritten = \false;
773
  /**
774
  * @var string
775
  */
@@ -1337,12 +1329,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
1337
  {
1338
  \mb_internal_encoding($this->originalMbEnc);
1339
  @\mb_regex_encoding($this->originalMbRegexEnc);
1340
- // this will free up the readers, based on code from Setasign's FpdiTrait::cleanUp()
1341
- foreach ($this->createdReaders as $id) {
1342
- $this->readers[$id]->getParser()->getStreamReader()->cleanUp();
1343
- unset($this->readers[$id]);
1344
- }
1345
- $this->createdReaders = [];
1346
  }
1347
  /**
1348
  * @param \Psr\Log\LoggerInterface
@@ -1696,13 +1682,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
1696
  {
1697
  // Begin document
1698
  if ($this->state == 0) {
 
 
1699
  $this->state = 1;
1700
- if (\false === $this->preambleWritten) {
1701
- $this->writer->write('%PDF-' . $this->pdf_version);
1702
- $this->writer->write('%' . \chr(226) . \chr(227) . \chr(207) . \chr(211));
1703
- // 4 chars > 128 to show binary file
1704
- $this->preambleWritten = \true;
1705
- }
1706
  }
1707
  }
1708
  function Close()
@@ -1722,6 +1707,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
1722
  if ($this->tablebuffer) {
1723
  $this->printtablebuffer();
1724
  }
 
1725
  /* -- COLUMNS -- */
1726
  if ($this->ColActive) {
1727
  $this->SetColumns(0);
@@ -1750,6 +1736,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
1750
  if ($this->tableOfContents->TOCmark || \count($this->tableOfContents->m_TOC)) {
1751
  $this->tableOfContents->insertTOC();
1752
  }
 
1753
  // Close page
1754
  $this->_endpage();
1755
  // Close document
@@ -2785,21 +2772,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
2785
  $this->_endpage();
2786
  }
2787
  // Start new page
2788
- $pageBeforeNewPage = $this->page;
2789
  $this->_beginpage($orientation, $mgl, $mgr, $mgt, $mgb, $mgh, $mgf, $ohname, $ehname, $ofname, $efname, $ohvalue, $ehvalue, $ofvalue, $efvalue, $pagesel, $newformat);
2790
- $isNewPage = $pageBeforeNewPage !== $this->page;
2791
  if ($this->docTemplate) {
2792
  $currentReaderId = $this->currentReaderId;
2793
  $pagecount = $this->setSourceFile($this->docTemplate);
2794
  if ($this->page - $this->docTemplateStart > $pagecount) {
2795
  if ($this->docTemplateContinue) {
2796
- if ($this->docTemplateContinue2pages && $pagecount >= 2 && 0 === $this->page % 2) {
2797
- $tplIdx = $this->importPage($pagecount - 1);
2798
- $this->useTemplate($tplIdx);
2799
- } else {
2800
- $tplIdx = $this->importPage($pagecount);
2801
- $this->useTemplate($tplIdx);
2802
- }
2803
  }
2804
  } else {
2805
  $tplIdx = $this->importPage($this->page - $this->docTemplateStart);
@@ -2810,13 +2790,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
2810
  if ($this->pageTemplate) {
2811
  $this->useTemplate($this->pageTemplate);
2812
  }
2813
- // Only add the headers if it's a new page
2814
- if ($isNewPage) {
2815
- // Tiling Patterns
2816
- $this->writer->write('___PAGE___START' . $this->uniqstr);
2817
- $this->writer->write('___BACKGROUND___PATTERNS' . $this->uniqstr);
2818
- $this->writer->write('___HEADER___MARKER' . $this->uniqstr);
2819
- }
2820
  $this->pageBackgrounds = [];
2821
  // Set line cap style to square
2822
  $this->SetLineCap(2);
@@ -4169,7 +4146,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
4169
  } else {
4170
  $bottom = 0;
4171
  }
4172
- if (!$this->tableLevel && ($this->y + $this->divheight > $this->PageBreakTrigger || $this->y + $h > $this->PageBreakTrigger || $this->y + $h * 2 + $bottom > $this->PageBreakTrigger && (isset($this->blk[$this->blklvl]['page_break_after_avoid']) && $this->blk[$this->blklvl]['page_break_after_avoid'])) && !$this->InFooter && $this->AcceptPageBreak()) {
4173
  // mPDF 5.7.2
4174
  $x = $this->x;
4175
  // Current X position
@@ -5764,7 +5741,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
5764
  $lastfontreqstyle = null;
5765
  $lastfontstyle = null;
5766
  }
5767
- if ($blockdir == 'ltr' && $lastfontreqstyle && \strpos($lastfontreqstyle, "I") !== \false && \strpos($lastfontstyle, "I") === \false) {
5768
  // Artificial italic
5769
  $lastitalic = $this->FontSize * 0.15 * \GFPDF_Vendor\Mpdf\Mpdf::SCALE;
5770
  } else {
@@ -6563,7 +6540,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
6563
  $out->output($qrcode, $this, $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'] * 25, $bgColor, $color);
6564
  unset($qrcode);
6565
  } else {
6566
- $this->WriteBarcode2($objattr['code'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['pr_ratio'], $k, $objattr['quiet_zone_left'], $objattr['quiet_zone_right']);
6567
  }
6568
  }
6569
  // TEXT CIRCLE
@@ -7273,7 +7250,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
7273
  }
7274
  // Right Trim current content - including CJK space, and for OTLdata
7275
  // incl. CJK - strip CJK space at end of line &#x3000; = \xe3\x80\x80 = CJK space
7276
- $currContent = $currContent ? \rtrim($currContent) : '';
7277
  if ($this->checkCJK) {
7278
  $currContent = \preg_replace("/ \$/", '', $currContent);
7279
  }
@@ -8318,8 +8295,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
8318
  {
8319
  // Added collapsible to allow collapsible top-margin on new page
8320
  // Line feed; default value is last cell height
8321
- $margin = isset($this->blk[$this->blklvl]['outer_left_margin']) ? $this->blk[$this->blklvl]['outer_left_margin'] : 0;
8322
- $this->x = $this->lMargin + $margin;
8323
  if ($collapsible && $this->y == $this->tMargin && !$this->ColActive) {
8324
  $h = 0;
8325
  }
@@ -8558,12 +8534,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
8558
  if (!\function_exists('mb_substr')) {
8559
  throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension must be loaded in order to run mPDF');
8560
  }
8561
- if (!\function_exists('mb_regex_encoding')) {
8562
- if (\strtoupper(\substr(\PHP_OS, 0, 3)) === 'WIN') {
8563
- $mamp = ' If using MAMP, there is a bug in its PHP build causing this.';
8564
- }
8565
- throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension with mbregex support must be loaded in order to run mPDF.' . $mamp);
8566
- }
8567
  }
8568
  function _puthtmlheaders()
8569
  {
@@ -10153,8 +10123,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
10153
  }
10154
  $path = $path . "/" . $filepath;
10155
  // Make it an absolute path
10156
- } elseif ((\strpos($path, ":/") === \false || \strpos($path, ":/") > 10) && !@\is_file($path)) {
10157
- // It is a local link. Ignore potential file errors
10158
  if (\substr($path, 0, 1) == "/") {
10159
  $tr = \parse_url($basepath);
10160
  // mPDF 5.7.2
@@ -12015,9 +11985,6 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
12015
  $s1 = 0;
12016
  }
12017
  if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'])) {
12018
- if ($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] === \false) {
12019
- $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'] = [];
12020
- }
12021
  $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = $s0;
12022
  } else {
12023
  $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = \max($s0, $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0']);
@@ -12279,7 +12246,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
12279
  $this->Reset();
12280
  $this->pageoutput[$this->page] = [];
12281
  }
12282
- $this->y = \round($this->blk[$this->blklvl]['float_endpos'] * 1000) % 1000000 / 1000;
12283
  // mod changes operands to integers before processing
12284
  }
12285
  /* -- END CSS-FLOAT -- */
@@ -13639,7 +13606,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
13639
  }
13640
  $this->ResetMargins();
13641
  $this->pageoutput[$this->page] = [];
13642
- $this->y = \round($end * 1000) % 1000000 / 1000;
13643
  // mod changes operands to integers before processing
13644
  }
13645
  // Added mPDF 3.0 Float DIV
@@ -16213,9 +16180,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
16213
  $this->currentfontfamily = '';
16214
  $this->currentfontsize = '';
16215
  $this->currentfontstyle = '';
 
16216
  if ($this->tableLevel && isset($this->table[1][1]['cellLineHeight'])) {
16217
  $this->SetLineHeight('', $this->table[1][1]['cellLineHeight']);
 
16218
  } else {
 
16219
  if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) {
16220
  $this->SetLineHeight('', $this->blk[$this->blklvl]['line_height']);
16221
  // sets default line height
@@ -23999,13 +23969,13 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
23999
  /**
24000
  * POSTAL and OTHER barcodes
24001
  */
24002
- function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = \false, $col = \false, $btype = 'IMB', $print_ratio = '', $k = 1, $quiet_zone_left = null, $quiet_zone_right = null)
24003
  {
24004
  if (empty($code)) {
24005
  return;
24006
  }
24007
  $this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
24008
- $arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio, $quiet_zone_left, $quiet_zone_right);
24009
  if (empty($x)) {
24010
  $x = $this->x;
24011
  }
@@ -24406,10 +24376,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
24406
  function AdjustHTML($html, $tabSpaces = 8)
24407
  {
24408
  $limit = \ini_get('pcre.backtrack_limit');
24409
- if (0 >= (int) $limit) {
24410
- throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('mPDF will not process HTML with disabled pcre.backtrack_limit to prevent unexpected behaviours, please set a positive backtrack limit.', $limit));
24411
- }
24412
- if (\strlen($html) > (int) $limit) {
24413
  throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('The HTML code size is larger than pcre.backtrack_limit %d. You should use WriteHTML() with smaller string lengths.', $limit));
24414
  }
24415
  \preg_match_all("/(<annotation.*?>)/si", $html, $m);
@@ -24729,15 +24696,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
24729
  }
24730
  $this->pageTemplate = $tplidx;
24731
  }
24732
- function SetDocTemplate($file = '', $continue = 0, $continue2pages = 0)
24733
  {
24734
  $this->docTemplate = $file;
24735
  $this->docTemplateContinue = $continue;
24736
- $this->docTemplateContinue2pages = $continue2pages;
24737
- if ($this->docTemplateContinue2pages) {
24738
- // Enable continue when continue2pages is set
24739
- $this->docTemplateContinue = $this->docTemplateContinue2pages;
24740
- }
24741
  }
24742
  /* -- END IMPORTS -- */
24743
  // JAVASCRIPT
28
  {
29
  use Strict;
30
  use FpdiTrait;
31
+ const VERSION = '8.0.10';
32
  const SCALE = 72 / 25.4;
33
  var $useFixedNormalLineHeight;
34
  // mPDF 6
326
  var $pageTemplate;
327
  var $docTemplate;
328
  var $docTemplateContinue;
 
329
  var $arabGlyphs;
330
  var $arabHex;
331
  var $persianGlyphs;
576
  * @var int
577
  */
578
  var $curlTimeout;
 
 
 
 
 
 
579
  /**
580
  * Set to true to follow redirects with cURL.
581
  *
762
  var $outerblocktags;
763
  var $innerblocktags;
764
  public $exposeVersion;
 
765
  /**
766
  * @var string
767
  */
1329
  {
1330
  \mb_internal_encoding($this->originalMbEnc);
1331
  @\mb_regex_encoding($this->originalMbRegexEnc);
 
 
 
 
 
 
1332
  }
1333
  /**
1334
  * @param \Psr\Log\LoggerInterface
1682
  {
1683
  // Begin document
1684
  if ($this->state == 0) {
1685
+ // Was is function _begindoc()
1686
+ // Start document
1687
  $this->state = 1;
1688
+ $this->writer->write('%PDF-' . $this->pdf_version);
1689
+ $this->writer->write('%' . \chr(226) . \chr(227) . \chr(207) . \chr(211));
1690
+ // 4 chars > 128 to show binary file
 
 
 
1691
  }
1692
  }
1693
  function Close()
1707
  if ($this->tablebuffer) {
1708
  $this->printtablebuffer();
1709
  }
1710
+ // *TABLES*
1711
  /* -- COLUMNS -- */
1712
  if ($this->ColActive) {
1713
  $this->SetColumns(0);
1736
  if ($this->tableOfContents->TOCmark || \count($this->tableOfContents->m_TOC)) {
1737
  $this->tableOfContents->insertTOC();
1738
  }
1739
+ // *TOC*
1740
  // Close page
1741
  $this->_endpage();
1742
  // Close document
2772
  $this->_endpage();
2773
  }
2774
  // Start new page
 
2775
  $this->_beginpage($orientation, $mgl, $mgr, $mgt, $mgb, $mgh, $mgf, $ohname, $ehname, $ofname, $efname, $ohvalue, $ehvalue, $ofvalue, $efvalue, $pagesel, $newformat);
 
2776
  if ($this->docTemplate) {
2777
  $currentReaderId = $this->currentReaderId;
2778
  $pagecount = $this->setSourceFile($this->docTemplate);
2779
  if ($this->page - $this->docTemplateStart > $pagecount) {
2780
  if ($this->docTemplateContinue) {
2781
+ $tplIdx = $this->importPage($pagecount);
2782
+ $this->useTemplate($tplIdx);
 
 
 
 
 
2783
  }
2784
  } else {
2785
  $tplIdx = $this->importPage($this->page - $this->docTemplateStart);
2790
  if ($this->pageTemplate) {
2791
  $this->useTemplate($this->pageTemplate);
2792
  }
2793
+ // Tiling Patterns
2794
+ $this->writer->write('___PAGE___START' . $this->uniqstr);
2795
+ $this->writer->write('___BACKGROUND___PATTERNS' . $this->uniqstr);
2796
+ $this->writer->write('___HEADER___MARKER' . $this->uniqstr);
 
 
 
2797
  $this->pageBackgrounds = [];
2798
  // Set line cap style to square
2799
  $this->SetLineCap(2);
4146
  } else {
4147
  $bottom = 0;
4148
  }
4149
+ if (!$this->tableLevel && ($this->y + $this->divheight > $this->PageBreakTrigger || $this->y + $h > $this->PageBreakTrigger || $this->y + $h * 2 + $bottom > $this->PageBreakTrigger && $this->blk[$this->blklvl]['page_break_after_avoid']) && !$this->InFooter && $this->AcceptPageBreak()) {
4150
  // mPDF 5.7.2
4151
  $x = $this->x;
4152
  // Current X position
5741
  $lastfontreqstyle = null;
5742
  $lastfontstyle = null;
5743
  }
5744
+ if ($blockdir == 'ltr' && \strpos($lastfontreqstyle, "I") !== \false && \strpos($lastfontstyle, "I") === \false) {
5745
  // Artificial italic
5746
  $lastitalic = $this->FontSize * 0.15 * \GFPDF_Vendor\Mpdf\Mpdf::SCALE;
5747
  } else {
6540
  $out->output($qrcode, $this, $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'] * 25, $bgColor, $color);
6541
  unset($qrcode);
6542
  } else {
6543
+ $this->WriteBarcode2($objattr['code'], $objattr['INNER-X'], $objattr['INNER-Y'], $objattr['bsize'], $objattr['bheight'], $bgcol, $col, $objattr['btype'], $objattr['pr_ratio'], $k);
6544
  }
6545
  }
6546
  // TEXT CIRCLE
7250
  }
7251
  // Right Trim current content - including CJK space, and for OTLdata
7252
  // incl. CJK - strip CJK space at end of line &#x3000; = \xe3\x80\x80 = CJK space
7253
+ $currContent = \rtrim($currContent);
7254
  if ($this->checkCJK) {
7255
  $currContent = \preg_replace("/ \$/", '', $currContent);
7256
  }
8295
  {
8296
  // Added collapsible to allow collapsible top-margin on new page
8297
  // Line feed; default value is last cell height
8298
+ $this->x = $this->lMargin + $this->blk[$this->blklvl]['outer_left_margin'];
 
8299
  if ($collapsible && $this->y == $this->tMargin && !$this->ColActive) {
8300
  $h = 0;
8301
  }
8534
  if (!\function_exists('mb_substr')) {
8535
  throw new \GFPDF_Vendor\Mpdf\MpdfException('mbstring extension must be loaded in order to run mPDF');
8536
  }
 
 
 
 
 
 
8537
  }
8538
  function _puthtmlheaders()
8539
  {
10123
  }
10124
  $path = $path . "/" . $filepath;
10125
  // Make it an absolute path
10126
+ } elseif ((\strpos($path, ":/") === \false || \strpos($path, ":/") > 10) && !\is_file($path)) {
10127
+ // It is a local link
10128
  if (\substr($path, 0, 1) == "/") {
10129
  $tr = \parse_url($basepath);
10130
  // mPDF 5.7.2
11985
  $s1 = 0;
11986
  }
11987
  if (!isset($this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'])) {
 
 
 
11988
  $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = $s0;
11989
  } else {
11990
  $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0'] = \max($s0, $this->table[$this->tableLevel][$this->tbctr[$this->tableLevel]]['decimal_align'][$this->col]['maxs0']);
12246
  $this->Reset();
12247
  $this->pageoutput[$this->page] = [];
12248
  }
12249
+ $this->y = $this->blk[$this->blklvl]['float_endpos'] * 1000 % 1000000 / 1000;
12250
  // mod changes operands to integers before processing
12251
  }
12252
  /* -- END CSS-FLOAT -- */
13606
  }
13607
  $this->ResetMargins();
13608
  $this->pageoutput[$this->page] = [];
13609
+ $this->y = $end * 1000 % 1000000 / 1000;
13610
  // mod changes operands to integers before processing
13611
  }
13612
  // Added mPDF 3.0 Float DIV
16180
  $this->currentfontfamily = '';
16181
  $this->currentfontsize = '';
16182
  $this->currentfontstyle = '';
16183
+ /* -- TABLES -- */
16184
  if ($this->tableLevel && isset($this->table[1][1]['cellLineHeight'])) {
16185
  $this->SetLineHeight('', $this->table[1][1]['cellLineHeight']);
16186
+ // *TABLES*
16187
  } else {
16188
+ /* -- END TABLES -- */
16189
  if (isset($this->blk[$this->blklvl]['line_height']) && $this->blk[$this->blklvl]['line_height']) {
16190
  $this->SetLineHeight('', $this->blk[$this->blklvl]['line_height']);
16191
  // sets default line height
23969
  /**
23970
  * POSTAL and OTHER barcodes
23971
  */
23972
+ function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = \false, $col = \false, $btype = 'IMB', $print_ratio = '', $k = 1)
23973
  {
23974
  if (empty($code)) {
23975
  return;
23976
  }
23977
  $this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
23978
+ $arrcode = $this->barcode->getBarcodeArray($code, $btype, $print_ratio);
23979
  if (empty($x)) {
23980
  $x = $this->x;
23981
  }
24376
  function AdjustHTML($html, $tabSpaces = 8)
24377
  {
24378
  $limit = \ini_get('pcre.backtrack_limit');
24379
+ if (\strlen($html) > $limit) {
 
 
 
24380
  throw new \GFPDF_Vendor\Mpdf\MpdfException(\sprintf('The HTML code size is larger than pcre.backtrack_limit %d. You should use WriteHTML() with smaller string lengths.', $limit));
24381
  }
24382
  \preg_match_all("/(<annotation.*?>)/si", $html, $m);
24696
  }
24697
  $this->pageTemplate = $tplidx;
24698
  }
24699
+ function SetDocTemplate($file = '', $continue = 0)
24700
  {
24701
  $this->docTemplate = $file;
24702
  $this->docTemplateContinue = $continue;
 
 
 
 
 
24703
  }
24704
  /* -- END IMPORTS -- */
24705
  // JAVASCRIPT
vendor_prefixed/mpdf/mpdf/src/Otl.php CHANGED
@@ -4455,7 +4455,7 @@ class Otl
4455
  $this->seek($offset);
4456
  $ClassFormat = $this->read_ushort();
4457
  $GlyphClass = [];
4458
- $GlyphByClass = [];
4459
  if ($ClassFormat == 1) {
4460
  $StartGlyph = $this->read_ushort();
4461
  $GlyphCount = $this->read_ushort();
@@ -6150,11 +6150,11 @@ class Otl
6150
  if ($available == '') {
6151
  return '';
6152
  }
6153
- $tags = $ietf ? \preg_split('/-/', $ietf) : [];
6154
  $lang = '';
6155
  $country = '';
6156
  $script = '';
6157
- $lang = isset($tags[0]) ? \strtolower($tags[0]) : '';
6158
  if (isset($tags[1]) && $tags[1]) {
6159
  if (\strlen($tags[1]) == 2) {
6160
  $country = \strtolower($tags[1]);
4455
  $this->seek($offset);
4456
  $ClassFormat = $this->read_ushort();
4457
  $GlyphClass = [];
4458
+ // $GlyphByClass = array(0=>array()); // NB This forces an index[0]
4459
  if ($ClassFormat == 1) {
4460
  $StartGlyph = $this->read_ushort();
4461
  $GlyphCount = $this->read_ushort();
6150
  if ($available == '') {
6151
  return '';
6152
  }
6153
+ $tags = \preg_split('/-/', $ietf);
6154
  $lang = '';
6155
  $country = '';
6156
  $script = '';
6157
+ $lang = \strtolower($tags[0]);
6158
  if (isset($tags[1]) && $tags[1]) {
6159
  if (\strlen($tags[1]) == 2) {
6160
  $country = \strtolower($tags[1]);
vendor_prefixed/mpdf/mpdf/src/OtlDump.php CHANGED
@@ -139,7 +139,7 @@ class OtlDump
139
  $this->version = $version = $this->read_ulong();
140
  $this->panose = [];
141
  if ($version == 0x4f54544f) {
142
- throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('Fonts with postscript outlines are not supported (%s)', $file));
143
  }
144
  if ($version == 0x74746366 && !$TTCfontID) {
145
  throw new \GFPDF_Vendor\Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
139
  $this->version = $version = $this->read_ulong();
140
  $this->panose = [];
141
  if ($version == 0x4f54544f) {
142
+ throw new \GFPDF_Vendor\Mpdf\Exception\FontException("Postscript outlines are not supported");
143
  }
144
  if ($version == 0x74746366 && !$TTCfontID) {
145
  throw new \GFPDF_Vendor\Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
vendor_prefixed/mpdf/mpdf/src/Pdf/Protection.php CHANGED
@@ -130,7 +130,7 @@ class Protection
130
  public function rc4($key, $text)
131
  {
132
  if ($this->lastRc4Key != $key) {
133
- $k = \str_repeat($key, \round(256 / \strlen($key)) + 1);
134
  $rc4 = \range(0, 255);
135
  $j = 0;
136
  for ($i = 0; $i < 256; $i++) {
130
  public function rc4($key, $text)
131
  {
132
  if ($this->lastRc4Key != $key) {
133
+ $k = \str_repeat($key, 256 / \strlen($key) + 1);
134
  $rc4 = \range(0, 255);
135
  $j = 0;
136
  for ($i = 0; $i < 256; $i++) {
vendor_prefixed/mpdf/mpdf/src/RemoteContentFetcher.php CHANGED
@@ -29,9 +29,6 @@ class RemoteContentFetcher implements \Psr\Log\LoggerAwareInterface
29
  \curl_setopt($ch, \CURLOPT_NOBODY, 0);
30
  \curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
31
  \curl_setopt($ch, \CURLOPT_CONNECTTIMEOUT, $this->mpdf->curlTimeout);
32
- if ($this->mpdf->curlExecutionTimeout) {
33
- \curl_setopt($ch, \CURLOPT_TIMEOUT, $this->mpdf->curlExecutionTimeout);
34
- }
35
  if ($this->mpdf->curlFollowLocation) {
36
  \curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, 1);
37
  }
@@ -39,7 +36,7 @@ class RemoteContentFetcher implements \Psr\Log\LoggerAwareInterface
39
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, \false);
40
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \false);
41
  }
42
- if ($this->mpdf->curlCaCertificate && \is_file($this->mpdf->curlCaCertificate)) {
43
  \curl_setopt($ch, \CURLOPT_CAINFO, $this->mpdf->curlCaCertificate);
44
  }
45
  if ($this->mpdf->curlProxy) {
29
  \curl_setopt($ch, \CURLOPT_NOBODY, 0);
30
  \curl_setopt($ch, \CURLOPT_RETURNTRANSFER, 1);
31
  \curl_setopt($ch, \CURLOPT_CONNECTTIMEOUT, $this->mpdf->curlTimeout);
 
 
 
32
  if ($this->mpdf->curlFollowLocation) {
33
  \curl_setopt($ch, \CURLOPT_FOLLOWLOCATION, 1);
34
  }
36
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYHOST, \false);
37
  \curl_setopt($ch, \CURLOPT_SSL_VERIFYPEER, \false);
38
  }
39
+ if (\is_file($this->mpdf->curlCaCertificate)) {
40
  \curl_setopt($ch, \CURLOPT_CAINFO, $this->mpdf->curlCaCertificate);
41
  }
42
  if ($this->mpdf->curlProxy) {
vendor_prefixed/mpdf/mpdf/src/ServiceFactory.php CHANGED
@@ -36,8 +36,7 @@ class ServiceFactory
36
  $cache = new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath, $config['cacheCleanupInterval']);
37
  $fontCache = new \GFPDF_Vendor\Mpdf\Fonts\FontCache(new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath . '/ttfontdata', $config['cacheCleanupInterval']));
38
  $fontFileFinder = new \GFPDF_Vendor\Mpdf\Fonts\FontFileFinder($config['fontDir']);
39
- $remoteContentFetcher = new \GFPDF_Vendor\Mpdf\RemoteContentFetcher($mpdf, $logger);
40
- $cssManager = new \GFPDF_Vendor\Mpdf\CssManager($mpdf, $cache, $sizeConverter, $colorConverter, $remoteContentFetcher);
41
  $otl = new \GFPDF_Vendor\Mpdf\Otl($mpdf, $fontCache);
42
  $protection = new \GFPDF_Vendor\Mpdf\Pdf\Protection(new \GFPDF_Vendor\Mpdf\Pdf\Protection\UniqidGenerator());
43
  $writer = new \GFPDF_Vendor\Mpdf\Writer\BaseWriter($mpdf, $protection);
@@ -45,6 +44,7 @@ class ServiceFactory
45
  $formWriter = new \GFPDF_Vendor\Mpdf\Writer\FormWriter($mpdf, $writer);
46
  $form = new \GFPDF_Vendor\Mpdf\Form($mpdf, $otl, $colorConverter, $writer, $formWriter);
47
  $hyphenator = new \GFPDF_Vendor\Mpdf\Hyphenator($mpdf);
 
48
  $imageProcessor = new \GFPDF_Vendor\Mpdf\Image\ImageProcessor($mpdf, $otl, $cssManager, $sizeConverter, $colorConverter, $colorModeConverter, $cache, $languageToFont, $scriptToLanguage, $remoteContentFetcher, $logger);
49
  $tag = new \GFPDF_Vendor\Mpdf\Tag($mpdf, $cache, $cssManager, $form, $otl, $tableOfContents, $sizeConverter, $colorConverter, $imageProcessor, $languageToFont);
50
  $fontWriter = new \GFPDF_Vendor\Mpdf\Writer\FontWriter($mpdf, $writer, $fontCache, $fontDescriptor);
36
  $cache = new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath, $config['cacheCleanupInterval']);
37
  $fontCache = new \GFPDF_Vendor\Mpdf\Fonts\FontCache(new \GFPDF_Vendor\Mpdf\Cache($cacheBasePath . '/ttfontdata', $config['cacheCleanupInterval']));
38
  $fontFileFinder = new \GFPDF_Vendor\Mpdf\Fonts\FontFileFinder($config['fontDir']);
39
+ $cssManager = new \GFPDF_Vendor\Mpdf\CssManager($mpdf, $cache, $sizeConverter, $colorConverter);
 
40
  $otl = new \GFPDF_Vendor\Mpdf\Otl($mpdf, $fontCache);
41
  $protection = new \GFPDF_Vendor\Mpdf\Pdf\Protection(new \GFPDF_Vendor\Mpdf\Pdf\Protection\UniqidGenerator());
42
  $writer = new \GFPDF_Vendor\Mpdf\Writer\BaseWriter($mpdf, $protection);
44
  $formWriter = new \GFPDF_Vendor\Mpdf\Writer\FormWriter($mpdf, $writer);
45
  $form = new \GFPDF_Vendor\Mpdf\Form($mpdf, $otl, $colorConverter, $writer, $formWriter);
46
  $hyphenator = new \GFPDF_Vendor\Mpdf\Hyphenator($mpdf);
47
+ $remoteContentFetcher = new \GFPDF_Vendor\Mpdf\RemoteContentFetcher($mpdf, $logger);
48
  $imageProcessor = new \GFPDF_Vendor\Mpdf\Image\ImageProcessor($mpdf, $otl, $cssManager, $sizeConverter, $colorConverter, $colorModeConverter, $cache, $languageToFont, $scriptToLanguage, $remoteContentFetcher, $logger);
49
  $tag = new \GFPDF_Vendor\Mpdf\Tag($mpdf, $cache, $cssManager, $form, $otl, $tableOfContents, $sizeConverter, $colorConverter, $imageProcessor, $languageToFont);
50
  $fontWriter = new \GFPDF_Vendor\Mpdf\Writer\FontWriter($mpdf, $writer, $fontCache, $fontDescriptor);
vendor_prefixed/mpdf/mpdf/src/TTFontFile.php CHANGED
@@ -173,7 +173,7 @@ class TTFontFile
173
  $this->version = $version = $this->read_ulong();
174
  $this->panose = [];
175
  if ($version === 0x4f54544f) {
176
- throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('Fonts with postscript outlines are not supported (%s)', $file));
177
  }
178
  if ($version === 0x74746366 && !$TTCfontID) {
179
  throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
@@ -385,18 +385,7 @@ class TTFontFile
385
  if ($length < 1) {
386
  return '';
387
  }
388
- $data = \fread($this->fh, $length);
389
- // fix for #1504
390
- // if fread is used to read from a compressed / buffered stream (e.g. phar://...)
391
- // the $length parameter will be ignored - fread is limited in size (usually 8192 bytes)
392
- // to fix this, the data length must be checked after reading. If the read was incomplete,
393
- // try to read the rest of the data
394
- $dataLen = \strlen($data);
395
- while ($dataLen < $length && !\feof($this->fh)) {
396
- $data .= \fread($this->fh, $length - $dataLen);
397
- $dataLen = \strlen($data);
398
- }
399
- return $data;
400
  }
401
  function get_table($tag)
402
  {
173
  $this->version = $version = $this->read_ulong();
174
  $this->panose = [];
175
  if ($version === 0x4f54544f) {
176
+ throw new \GFPDF_Vendor\Mpdf\Exception\FontException('Postscript outlines are not supported');
177
  }
178
  if ($version === 0x74746366 && !$TTCfontID) {
179
  throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
385
  if ($length < 1) {
386
  return '';
387
  }
388
+ return \fread($this->fh, $length);
 
 
 
 
 
 
 
 
 
 
 
389
  }
390
  function get_table($tag)
391
  {
vendor_prefixed/mpdf/mpdf/src/TTFontFileAnalysis.php CHANGED
@@ -26,7 +26,7 @@ class TTFontFileAnalysis extends \GFPDF_Vendor\Mpdf\TTFontFile
26
  $this->panose = [];
27
  // mPDF 5.0
28
  if ($version == 0x4f54544f) {
29
- throw new \GFPDF_Vendor\Mpdf\Exception\FontException(\sprintf('Fonts with postscript outlines are not supported (%s)', $file));
30
  }
31
  if ($version == 0x74746366) {
32
  if ($TTCfontID > 0) {
26
  $this->panose = [];
27
  // mPDF 5.0
28
  if ($version == 0x4f54544f) {
29
+ throw new \GFPDF_Vendor\Mpdf\MpdfException('ERROR - NOT ADDED as Postscript outlines are not supported - ' . $file);
30
  }
31
  if ($version == 0x74746366) {
32
  if ($TTCfontID > 0) {
vendor_prefixed/mpdf/mpdf/src/Tag/BarCode.php CHANGED
@@ -23,8 +23,6 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
23
  $objattr['padding_right'] = 0;
24
  $objattr['width'] = 0;
25
  $objattr['height'] = 0;
26
- $objattr['quiet_l'] = 0;
27
- $objattr['quiet_r'] = 0;
28
  $objattr['border_top']['w'] = 0;
29
  $objattr['border_bottom']['w'] = 0;
30
  $objattr['border_left']['w'] = 0;
@@ -66,16 +64,6 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
66
  } else {
67
  $objattr['pr_ratio'] = '';
68
  }
69
- if (isset($attr['QUIET_ZONE_LEFT']) && \is_numeric($attr['QUIET_ZONE_LEFT'])) {
70
- $objattr['quiet_zone_left'] = $attr['QUIET_ZONE_LEFT'];
71
- } else {
72
- $objattr['quiet_zone_left'] = null;
73
- }
74
- if (isset($attr['QUIET_ZONE_RIGHT']) && \is_numeric($attr['QUIET_ZONE_RIGHT'])) {
75
- $objattr['quiet_zone_right'] = $attr['QUIET_ZONE_RIGHT'];
76
- } else {
77
- $objattr['quiet_zone_right'] = null;
78
- }
79
  $properties = $this->cssManager->MergeCSS('', 'BARCODE', $attr);
80
  if (isset($properties['DISPLAY']) && \strtolower($properties['DISPLAY']) === 'none') {
81
  return;
@@ -132,10 +120,10 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
132
  $this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
133
  if (\in_array($objattr['btype'], ['EAN13', 'ISBN', 'ISSN', 'UPCA', 'UPCE', 'EAN8'])) {
134
  $code = \preg_replace('/\\-/', '', $objattr['code']);
135
- $arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype'], '', $objattr['quiet_l'], $objattr['quiet_r']);
136
  if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) {
137
  // EAN-2 or -5 Supplement
138
- $supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp'], '', $objattr['quiet_l'], $objattr['quiet_r']);
139
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode['maxw'] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize'];
140
  } else {
141
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
@@ -161,11 +149,11 @@ class BarCode extends \GFPDF_Vendor\Mpdf\Tag\Tag
161
  $objattr['disableborder'] = (bool) $attr['DISABLEBORDER'];
162
  }
163
  } elseif (\in_array($objattr['btype'], ['IMB', 'RM4SCC', 'KIX', 'POSTNET', 'PLANET'])) {
164
- $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], '', $objattr['quiet_l'], $objattr['quiet_r']);
165
  $w = $arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize'] + $arrcode['quietL'] + $arrcode['quietR'];
166
  $h = $arrcode['nom-H'] * $objattr['bsize'] + 2 * $arrcode['quietTB'];
167
  } elseif (\in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
168
- $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio'], $objattr['quiet_zone_left'], $objattr['quiet_zone_right']);
169
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
170
  $h = (2 * $arrcode['lightTB'] * $arrcode['nom-X'] + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight'];
171
  } else {
23
  $objattr['padding_right'] = 0;
24
  $objattr['width'] = 0;
25
  $objattr['height'] = 0;
 
 
26
  $objattr['border_top']['w'] = 0;
27
  $objattr['border_bottom']['w'] = 0;
28
  $objattr['border_left']['w'] = 0;
64
  } else {
65
  $objattr['pr_ratio'] = '';
66
  }
 
 
 
 
 
 
 
 
 
 
67
  $properties = $this->cssManager->MergeCSS('', 'BARCODE', $attr);
68
  if (isset($properties['DISPLAY']) && \strtolower($properties['DISPLAY']) === 'none') {
69
  return;
120
  $this->barcode = new \GFPDF_Vendor\Mpdf\Barcode();
121
  if (\in_array($objattr['btype'], ['EAN13', 'ISBN', 'ISSN', 'UPCA', 'UPCE', 'EAN8'])) {
122
  $code = \preg_replace('/\\-/', '', $objattr['code']);
123
+ $arrcode = $this->barcode->getBarcodeArray($code, $objattr['btype']);
124
  if ($objattr['bsupp'] == 2 || $objattr['bsupp'] == 5) {
125
  // EAN-2 or -5 Supplement
126
+ $supparrcode = $this->barcode->getBarcodeArray($objattr['bsupp_code'], 'EAN' . $objattr['bsupp']);
127
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR'] + $supparrcode['maxw'] + $supparrcode['sepM']) * $arrcode['nom-X'] * $objattr['bsize'];
128
  } else {
129
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
149
  $objattr['disableborder'] = (bool) $attr['DISABLEBORDER'];
150
  }
151
  } elseif (\in_array($objattr['btype'], ['IMB', 'RM4SCC', 'KIX', 'POSTNET', 'PLANET'])) {
152
+ $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype']);
153
  $w = $arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize'] + $arrcode['quietL'] + $arrcode['quietR'];
154
  $h = $arrcode['nom-H'] * $objattr['bsize'] + 2 * $arrcode['quietTB'];
155
  } elseif (\in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
156
+ $arrcode = $this->barcode->getBarcodeArray($objattr['code'], $objattr['btype'], $objattr['pr_ratio']);
157
  $w = ($arrcode['maxw'] + $arrcode['lightmL'] + $arrcode['lightmR']) * $arrcode['nom-X'] * $objattr['bsize'];
158
  $h = (2 * $arrcode['lightTB'] * $arrcode['nom-X'] + $arrcode['nom-H']) * $objattr['bsize'] * $objattr['bheight'];
159
  } else {
vendor_prefixed/mpdf/mpdf/src/Tag/BlockTag.php CHANGED
@@ -836,7 +836,7 @@ abstract class BlockTag extends \GFPDF_Vendor\Mpdf\Tag\Tag
836
  $this->mpdf->pageoutput[$this->mpdf->page] = [];
837
  }
838
  // mod changes operands to integers before processing
839
- $this->mpdf->y = \round($this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000) % 1000000 / 1000;
840
  }
841
  /* -- END CSS-FLOAT -- */
842
  //Print content
836
  $this->mpdf->pageoutput[$this->mpdf->page] = [];
837
  }
838
  // mod changes operands to integers before processing
839
+ $this->mpdf->y = $this->mpdf->blk[$this->mpdf->blklvl]['float_endpos'] * 1000 % 1000000 / 1000;
840
  }
841
  /* -- END CSS-FLOAT -- */
842
  //Print content
vendor_prefixed/mpdf/mpdf/src/Tag/Table.php CHANGED
@@ -166,20 +166,10 @@ class Table extends \GFPDF_Vendor\Mpdf\Tag\Tag
166
  $table['direction'] = $this->mpdf->blk[$this->mpdf->blklvl]['direction'];
167
  }
168
  if (isset($properties['BACKGROUND-COLOR'])) {
169
- if ($table['bgcolor'] === \false) {
170
- // @todo cleaner initialization
171
- $table['bgcolor'] = [];
172
- }
173
  $table['bgcolor'][-1] = $properties['BACKGROUND-COLOR'];
174
  } elseif (isset($properties['BACKGROUND'])) {
175
- if ($table['bgcolor'] === \false) {
176
- $table['bgcolor'] = [];
177
- }
178
  $table['bgcolor'][-1] = $properties['BACKGROUND'];
179
  } elseif (isset($attr['BGCOLOR'])) {
180
- if ($table['bgcolor'] === \false) {
181
- $table['bgcolor'] = [];
182
- }
183
  $table['bgcolor'][-1] = $attr['BGCOLOR'];
184
  }
185
  if (isset($properties['VERTICAL-ALIGN']) && \array_key_exists(\strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
166
  $table['direction'] = $this->mpdf->blk[$this->mpdf->blklvl]['direction'];
167
  }
168
  if (isset($properties['BACKGROUND-COLOR'])) {
 
 
 
 
169
  $table['bgcolor'][-1] = $properties['BACKGROUND-COLOR'];
170
  } elseif (isset($properties['BACKGROUND'])) {
 
 
 
171
  $table['bgcolor'][-1] = $properties['BACKGROUND'];
172
  } elseif (isset($attr['BGCOLOR'])) {
 
 
 
173
  $table['bgcolor'][-1] = $attr['BGCOLOR'];
174
  }
175
  if (isset($properties['VERTICAL-ALIGN']) && \array_key_exists(\strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
vendor_prefixed/mpdf/mpdf/src/Tag/Td.php CHANGED
@@ -349,7 +349,7 @@ class Td extends \GFPDF_Vendor\Mpdf\Tag\Tag
349
  unset($c);
350
  $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] = 0;
351
  $cs = $rs = 1;
352
- if (isset($attr['COLSPAN']) && \preg_match('/^\\d+$/', $attr['COLSPAN']) && $attr['COLSPAN'] > 1) {
353
  $cs = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['colspan'] = $attr['COLSPAN'];
354
  }
355
  if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + $cs) {
349
  unset($c);
350
  $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['s'] = 0;
351
  $cs = $rs = 1;
352
+ if (isset($attr['COLSPAN']) && $attr['COLSPAN'] > 1) {
353
  $cs = $this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['colspan'] = $attr['COLSPAN'];
354
  }
355
  if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + $cs) {
vendor_prefixed/mpdf/mpdf/src/Tag/Tr.php CHANGED
@@ -29,10 +29,8 @@ class Tr extends \GFPDF_Vendor\Mpdf\Tag\Tag
29
  }
30
  }
31
  if (isset($properties['BACKGROUND-COLOR'])) {
32
- $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : [];
33
  $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $properties['BACKGROUND-COLOR'];
34
  } elseif (isset($attr['BGCOLOR'])) {
35
- $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] : [];
36
  $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $attr['BGCOLOR'];
37
  }
38
  /* -- BACKGROUNDS -- */
29
  }
30
  }
31
  if (isset($properties['BACKGROUND-COLOR'])) {
 
32
  $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $properties['BACKGROUND-COLOR'];
33
  } elseif (isset($attr['BGCOLOR'])) {
 
34
  $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$this->mpdf->row] = $attr['BGCOLOR'];
35
  }
36
  /* -- BACKGROUNDS -- */
vendor_prefixed/mpdf/mpdf/src/Utils/Arrays.php CHANGED
@@ -69,19 +69,12 @@ class Arrays
69
  }
70
  $combinations[] = $combination;
71
  $anotherCombination = \false;
72
- $resetFromIndex = -1;
73
  for ($i = $k - 1; $i >= 0; $i--) {
74
  if ($indexes[$i] < $maxIndexes[$i]) {
75
  $indexes[$i]++;
76
  $anotherCombination = \true;
77
  break;
78
  }
79
- $resetFromIndex = $i;
80
- }
81
- if ($resetFromIndex > 0) {
82
- for ($i = $resetFromIndex; $i < $k; $i++) {
83
- $indexes[$i] = $indexes[$i - 1] + 1;
84
- }
85
  }
86
  } while ($anotherCombination);
87
  return $combinations;
69
  }
70
  $combinations[] = $combination;
71
  $anotherCombination = \false;
 
72
  for ($i = $k - 1; $i >= 0; $i--) {
73
  if ($indexes[$i] < $maxIndexes[$i]) {
74
  $indexes[$i]++;
75
  $anotherCombination = \true;
76
  break;
77
  }
 
 
 
 
 
 
78
  }
79
  } while ($anotherCombination);
80
  return $combinations;
vendor_prefixed/mpdf/qrcode/src/Output/Png.php CHANGED
@@ -34,7 +34,7 @@ class Png
34
  for ($j = $minSize; $j < $maxSize; $j++) {
35
  for ($i = $minSize; $i < $maxSize; $i++) {
36
  if ($final[$i + $j * $qrSize + 1]) {
37
- \imagefilledrectangle($im, (int) \round(($i - $minSize) * $s), (int) \round(($j - $minSize) * $s), (int) \round(($i - $minSize + 1) * $s - 1), (int) \round(($j - $minSize + 1) * $s - 1), $foregroundColor);
38
  }
39
  }
40
  }
34
  for ($j = $minSize; $j < $maxSize; $j++) {
35
  for ($i = $minSize; $i < $maxSize; $i++) {
36
  if ($final[$i + $j * $qrSize + 1]) {
37
+ \imagefilledrectangle($im, ($i - $minSize) * $s, ($j - $minSize) * $s, ($i - $minSize + 1) * $s - 1, ($j - $minSize + 1) * $s - 1, $foregroundColor);
38
  }
39
  }
40
  }
vendor_prefixed/mpdf/qrcode/src/Output/Svg.php DELETED
@@ -1,97 +0,0 @@
1
- <?php
2
-
3
- namespace GFPDF_Vendor\Mpdf\QrCode\Output;
4
-
5
- use GFPDF_Vendor\Mpdf\QrCode\QrCode;
6
- use SimpleXMLElement;
7
- class Svg
8
- {
9
- /**
10
- * @param QrCode $qrCode QR code instance
11
- * @param int $size The width / height of the resulting SVG
12
- * @param string $background The background color, e. g. "white", "rgb(0,0,0)" or "cmyk(0,0,0,0)"
13
- * @param string $color The foreground and border color, e. g. "black", "rgb(255,255,255)" or "cmyk(0,0,0,100)"
14
- *
15
- * @return string Binary image data
16
- */
17
- public function output(\GFPDF_Vendor\Mpdf\QrCode\QrCode $qrCode, $size = 100, $background = 'white', $color = 'black')
18
- {
19
- $qrSize = $qrCode->getQrSize();
20
- $final = $qrCode->getFinal();
21
- if ($qrCode->isBorderDisabled()) {
22
- $minSize = 4;
23
- $maxSize = $qrSize - 4;
24
- } else {
25
- $minSize = 0;
26
- $maxSize = $qrSize;
27
- }
28
- $rectSize = $size / ($maxSize - $minSize);
29
- $svg = new \SimpleXMLElement('<svg></svg>');
30
- $svg->addAttribute('version', '1.1');
31
- $svg->addAttribute('xmlns', 'http://www.w3.org/2000/svg');
32
- $svg->addAttribute('width', $size);
33
- $svg->addAttribute('height', $size);
34
- $this->addChild($svg, 'rect', ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size, 'fill' => $background]);
35
- for ($row = $minSize; $row < $maxSize; $row++) {
36
- // Simple compression: pixels in a row will be compressed into the same rectangle.
37
- $startX = null;
38
- $y = ($row - $minSize) * $rectSize;
39
- for ($column = $minSize; $column < $maxSize; $column++) {
40
- $x = ($column - $minSize) * $rectSize;
41
- if ($final[$column + $row * $qrSize + 1]) {
42
- if ($startX === null) {
43
- $startX = $x;
44
- }
45
- } elseif ($startX !== null) {
46
- $this->addChild($svg, 'rect', ['x' => $startX, 'y' => $y, 'width' => $x - $startX, 'height' => $rectSize, 'fill' => $color]);
47
- $startX = null;
48
- }
49
- }
50
- if ($startX !== null) {
51
- $x = ($column - $minSize) * $rectSize;
52
- $this->addChild($svg, 'rect', ['x' => $startX, 'y' => $y, 'width' => $x - $startX, 'height' => $rectSize, 'fill' => $color]);
53
- }
54
- }
55
- for ($column = $minSize; $column < $maxSize; $column++) {
56
- // Simple compression: pixels in a column will be compressed into the same rectangle.
57
- $startY = null;
58
- $x = ($column - $minSize) * $rectSize;
59
- for ($row = $minSize; $row < $maxSize; $row++) {
60
- $y = ($row - $minSize) * $rectSize;
61
- if ($final[$column + $row * $qrSize + 1]) {
62
- if ($startY === null) {
63
- $startY = $y;
64
- }
65
- } elseif ($startY !== null) {
66
- if ($startY < $y - $rectSize) {
67
- // Only drawn 2+ columns
68
- $this->addChild($svg, 'rect', ['x' => $x, 'y' => $startY, 'width' => $rectSize, 'height' => $y - $startY, 'fill' => $color]);
69
- }
70
- $startY = null;
71
- }
72
- }
73
- if ($startY !== null) {
74
- $y = ($row - $minSize) * $rectSize;
75
- $this->addChild($svg, 'rect', ['x' => $x, 'y' => $startY, 'width' => $rectSize, 'height' => $y - $startY, 'fill' => $color]);
76
- }
77
- }
78
- return $svg->asXML();
79
- }
80
- /**
81
- * Adds a child with the given attributes
82
- *
83
- * @param SimpleXMLElement $svg
84
- * @param string $name
85
- * @param array $attributes
86
- *
87
- * @return SimpleXMLElement
88
- */
89
- public function addChild(\SimpleXMLElement $svg, $name, array $attributes = [])
90
- {
91
- $child = $svg->addChild($name);
92
- foreach ($attributes as $key => $value) {
93
- $child->addAttribute((string) $key, (string) $value);
94
- }
95
- return $child;
96
- }
97
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor_prefixed/spatie/url-signer/src/BaseUrlSigner.php CHANGED
@@ -100,15 +100,6 @@ abstract class BaseUrlSigner implements \GFPDF_Vendor\Spatie\UrlSigner\UrlSigner
100
  }
101
  return \true;
102
  }
103
- /**
104
- * Generate a token to identify the secure action.
105
- *
106
- * @param UriInterface|string $url
107
- * @param string $expiration
108
- *
109
- * @return string
110
- */
111
- protected abstract function createSignature($url, string $expiration);
112
  /**
113
  * Check if a query is missing a necessary parameter.
114
  *
100
  }
101
  return \true;
102
  }
 
 
 
 
 
 
 
 
 
103
  /**
104
  * Check if a query is missing a necessary parameter.
105
  *