├── .gitignore ├── src └── Damas │ └── Paytabs │ ├── Facades │ └── PaytabsFacade.php │ ├── PaytabsServiceProvider.php │ └── Paytabs.php ├── composer.json ├── README.md ├── LICENSE.TXT └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ -------------------------------------------------------------------------------- /src/Damas/Paytabs/Facades/PaytabsFacade.php: -------------------------------------------------------------------------------- 1 | app->singleton('Paytabs', function() { 27 | return new Paytabs; 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "maq89/paytabs-laravel", 3 | "version": "1.0.0", 4 | "license": "LGPL-3.0", 5 | "description": "Paytabs Laravel", 6 | "authors": [ 7 | { 8 | "name": "Musaib Qureshi", 9 | "email": "maq.s89@gmail.com" 10 | } 11 | ], 12 | "require": { 13 | "laravel/framework": "~8.0" 14 | }, 15 | "autoload": { 16 | "psr-0": { 17 | "Damas\\Paytabs": "src/" 18 | } 19 | }, 20 | "minimum-stability": "stable", 21 | "extra": { 22 | "laravel": { 23 | "providers": [ 24 | "Damas\\Paytabs\\PaytabsServiceProvider" 25 | ], 26 | "aliases": { 27 | "Paytabs": "Damas\\Paytabs\\Facades\\PaytabsFacade" 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Paytabs Laravel 2 | 3 | ## Installation 4 | Begin by installing this package through Composer. Just run following command to terminal- 5 | 6 | ```php 7 | composer require maq89/paytabs-laravel 8 | ``` 9 | 10 | Once this operation completes the package will automatically be discovered for **Laravel 5.6 and above**, otherwise, the final step is to add the service provider. Open `config/app.php`, and add a new item to the providers array. 11 | ```php 12 | 'providers' => [ 13 | ... 14 | Damas\Paytabs\PaytabsServiceProvider::class, 15 | ], 16 | ``` 17 | 18 | Now add the alias. 19 | 20 | ```php 21 | 'aliases' => [ 22 | ... 23 | 'Paytabs' => Damas\Paytabs\Facades\PaytabsFacade::class, 24 | ], 25 | ``` 26 | 27 | 28 | ## Example: 29 | ### Create Payment Page: 30 | ```php 31 | Route::get('/paytabs_payment', function () { 32 | $pt = Paytabs::getInstance("MERCHANT_EMAIL", "SECRET_KEY"); 33 | $result = $pt->create_pay_page(array( 34 | "merchant_email" => "MERCHANT_EMAIL", 35 | 'secret_key' => "SECRET_KEY", 36 | 'title' => "John Doe", 37 | 'cc_first_name' => "John", 38 | 'cc_last_name' => "Doe", 39 | 'email' => "customer@email.com", 40 | 'cc_phone_number' => "973", 41 | 'phone_number' => "33333333", 42 | 'billing_address' => "Juffair, Manama, Bahrain", 43 | 'city' => "Manama", 44 | 'state' => "Capital", 45 | 'postal_code' => "97300", 46 | 'country' => "BHR", 47 | 'address_shipping' => "Juffair, Manama, Bahrain", 48 | 'city_shipping' => "Manama", 49 | 'state_shipping' => "Capital", 50 | 'postal_code_shipping' => "97300", 51 | 'country_shipping' => "BHR", 52 | "products_per_title"=> "Mobile Phone", 53 | 'currency' => "BHD", 54 | "unit_price"=> "10", 55 | 'quantity' => "1", 56 | 'other_charges' => "0", 57 | 'amount' => "10.00", 58 | 'discount'=>"0", 59 | "msg_lang" => "english", 60 | "reference_no" => "1231231", 61 | "site_url" => "https://your-site.com", 62 | 'return_url' => "https://www.mystore.com/paytabs_api/result.php", 63 | "cms_with_version" => "API USING PHP" 64 | )); 65 | 66 | if($result->response_code == 4012){ 67 | return redirect($result->payment_url); 68 | } 69 | return $result->result; 70 | }); 71 | ``` 72 | ### Verify Payment: 73 | ```php 74 | Route::post('/paytabs_response', function(Request $request){ 75 | $pt = Paytabs::getInstance("MERCHANT_EMAIL", "SECRET_KEY"); 76 | $result = $pt->verify_payment($request->payment_reference); 77 | if($result->response_code == 100){ 78 | // Payment Success 79 | } 80 | return $result->result; 81 | }); 82 | 83 | you will need to exclude your paytabs_response route from CSRF protection 84 | 85 | ``` 86 | -------------------------------------------------------------------------------- /src/Damas/Paytabs/Paytabs.php: -------------------------------------------------------------------------------- 1 | setMerchant($merchant_email, $merchant_secretKey); 22 | return $inst; 23 | } 24 | 25 | function setMerchant($merchant_email, $merchant_secretKey) { 26 | $this->merchant_email = $merchant_email; 27 | $this->merchant_secretKey = $merchant_secretKey; 28 | $this->api_key = ""; 29 | } 30 | 31 | function authentication(){ 32 | $obj = json_decode($this->runPost(AUTHENTICATION, array("merchant_email"=> $this->merchant_email, "merchant_secretKey"=> $this->merchant_secretKey))); 33 | if($obj->access == "granted") 34 | $this->api_key = $obj->api_key; 35 | else 36 | $this->api_key = ""; 37 | return $this->api_key; 38 | } 39 | 40 | function create_pay_page($values) { 41 | $values['merchant_email'] = $this->merchant_email; 42 | $values['merchant_secretKey'] = $this->merchant_secretKey; 43 | $values['ip_customer'] = $_SERVER['REMOTE_ADDR']; 44 | $values['ip_merchant'] = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR'] : '::1'; 45 | return json_decode($this->runPost(PAYPAGE_URL, $values)); 46 | } 47 | 48 | function send_request(){ 49 | $values['ip_customer'] = $_SERVER['REMOTE_ADDR']; 50 | $values['ip_merchant'] = isset($_SERVER['SERVER_ADDR'])? $_SERVER['SERVER_ADDR'] : '::1'; 51 | return json_decode($this->runPost(TESTING, $values)); 52 | } 53 | 54 | 55 | function verify_payment($payment_reference){ 56 | $values['merchant_email'] = $this->merchant_email; 57 | $values['secret_key'] = $this->merchant_secretKey; 58 | $values['payment_reference'] = $payment_reference; 59 | return json_decode($this->runPost(VERIFY_URL, $values)); 60 | } 61 | 62 | function runPost($url, $fields) { 63 | $fields_string = ""; 64 | foreach ($fields as $key => $value) { 65 | $fields_string .= $key . '=' . $value . '&'; 66 | } 67 | rtrim($fields_string, '&'); 68 | $ch = curl_init(); 69 | $ip = $_SERVER['REMOTE_ADDR']; 70 | 71 | $ip_address = array( 72 | "REMOTE_ADDR" => $ip, 73 | "HTTP_X_FORWARDED_FOR" => $ip 74 | ); 75 | curl_setopt($ch, CURLOPT_URL, $url); 76 | curl_setopt($ch, CURLOPT_HTTPHEADER, $ip_address); 77 | curl_setopt($ch, CURLOPT_POST, count($fields)); 78 | curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); 79 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 80 | curl_setopt($ch, CURLOPT_REFERER, 1); 81 | 82 | $result = curl_exec($ch); 83 | curl_close($ch); 84 | return $result; 85 | } 86 | 87 | } 88 | -------------------------------------------------------------------------------- /LICENSE.TXT: -------------------------------------------------------------------------------- 1 | ********************************************************************** 2 | * TCPDF LICENSE 3 | ********************************************************************** 4 | 5 | TCPDF is free software: you can redistribute it and/or modify it 6 | under the terms of the GNU Lesser General Public License as 7 | published by the Free Software Foundation, either version 3 of the 8 | License, or (at your option) any later version. 9 | 10 | ********************************************************************** 11 | ********************************************************************** 12 | 13 | GNU LESSER GENERAL PUBLIC LICENSE 14 | Version 3, 29 June 2007 15 | 16 | Copyright (C) 2007 Free Software Foundation, Inc. 17 | Everyone is permitted to copy and distribute verbatim copies 18 | of this license document, but changing it is not allowed. 19 | 20 | 21 | This version of the GNU Lesser General Public License incorporates 22 | the terms and conditions of version 3 of the GNU General Public 23 | License, supplemented by the additional permissions listed below. 24 | 25 | 0. Additional Definitions. 26 | 27 | As used herein, "this License" refers to version 3 of the GNU Lesser 28 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 29 | General Public License. 30 | 31 | "The Library" refers to a covered work governed by this License, 32 | other than an Application or a Combined Work as defined below. 33 | 34 | An "Application" is any work that makes use of an interface provided 35 | by the Library, but which is not otherwise based on the Library. 36 | Defining a subclass of a class defined by the Library is deemed a mode 37 | of using an interface provided by the Library. 38 | 39 | A "Combined Work" is a work produced by combining or linking an 40 | Application with the Library. The particular version of the Library 41 | with which the Combined Work was made is also called the "Linked 42 | Version". 43 | 44 | The "Minimal Corresponding Source" for a Combined Work means the 45 | Corresponding Source for the Combined Work, excluding any source code 46 | for portions of the Combined Work that, considered in isolation, are 47 | based on the Application, and not on the Linked Version. 48 | 49 | The "Corresponding Application Code" for a Combined Work means the 50 | object code and/or source code for the Application, including any data 51 | and utility programs needed for reproducing the Combined Work from the 52 | Application, but excluding the System Libraries of the Combined Work. 53 | 54 | 1. Exception to Section 3 of the GNU GPL. 55 | 56 | You may convey a covered work under sections 3 and 4 of this License 57 | without being bound by section 3 of the GNU GPL. 58 | 59 | 2. Conveying Modified Versions. 60 | 61 | If you modify a copy of the Library, and, in your modifications, a 62 | facility refers to a function or data to be supplied by an Application 63 | that uses the facility (other than as an argument passed when the 64 | facility is invoked), then you may convey a copy of the modified 65 | version: 66 | 67 | a) under this License, provided that you make a good faith effort to 68 | ensure that, in the event an Application does not supply the 69 | function or data, the facility still operates, and performs 70 | whatever part of its purpose remains meaningful, or 71 | 72 | b) under the GNU GPL, with none of the additional permissions of 73 | this License applicable to that copy. 74 | 75 | 3. Object Code Incorporating Material from Library Header Files. 76 | 77 | The object code form of an Application may incorporate material from 78 | a header file that is part of the Library. You may convey such object 79 | code under terms of your choice, provided that, if the incorporated 80 | material is not limited to numerical parameters, data structure 81 | layouts and accessors, or small macros, inline functions and templates 82 | (ten or fewer lines in length), you do both of the following: 83 | 84 | a) Give prominent notice with each copy of the object code that the 85 | Library is used in it and that the Library and its use are 86 | covered by this License. 87 | 88 | b) Accompany the object code with a copy of the GNU GPL and this license 89 | document. 90 | 91 | 4. Combined Works. 92 | 93 | You may convey a Combined Work under terms of your choice that, 94 | taken together, effectively do not restrict modification of the 95 | portions of the Library contained in the Combined Work and reverse 96 | engineering for debugging such modifications, if you also do each of 97 | the following: 98 | 99 | a) Give prominent notice with each copy of the Combined Work that 100 | the Library is used in it and that the Library and its use are 101 | covered by this License. 102 | 103 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 104 | document. 105 | 106 | c) For a Combined Work that displays copyright notices during 107 | execution, include the copyright notice for the Library among 108 | these notices, as well as a reference directing the user to the 109 | copies of the GNU GPL and this license document. 110 | 111 | d) Do one of the following: 112 | 113 | 0) Convey the Minimal Corresponding Source under the terms of this 114 | License, and the Corresponding Application Code in a form 115 | suitable for, and under terms that permit, the user to 116 | recombine or relink the Application with a modified version of 117 | the Linked Version to produce a modified Combined Work, in the 118 | manner specified by section 6 of the GNU GPL for conveying 119 | Corresponding Source. 120 | 121 | 1) Use a suitable shared library mechanism for linking with the 122 | Library. A suitable mechanism is one that (a) uses at run time 123 | a copy of the Library already present on the user's computer 124 | system, and (b) will operate properly with a modified version 125 | of the Library that is interface-compatible with the Linked 126 | Version. 127 | 128 | e) Provide Installation Information, but only if you would otherwise 129 | be required to provide such information under section 6 of the 130 | GNU GPL, and only to the extent that such information is 131 | necessary to install and execute a modified version of the 132 | Combined Work produced by recombining or relinking the 133 | Application with a modified version of the Linked Version. (If 134 | you use option 4d0, the Installation Information must accompany 135 | the Minimal Corresponding Source and Corresponding Application 136 | Code. If you use option 4d1, you must provide the Installation 137 | Information in the manner specified by section 6 of the GNU GPL 138 | for conveying Corresponding Source.) 139 | 140 | 5. Combined Libraries. 141 | 142 | You may place library facilities that are a work based on the 143 | Library side by side in a single library together with other library 144 | facilities that are not Applications and are not covered by this 145 | License, and convey such a combined library under terms of your 146 | choice, if you do both of the following: 147 | 148 | a) Accompany the combined library with a copy of the same work based 149 | on the Library, uncombined with any other library facilities, 150 | conveyed under the terms of this License. 151 | 152 | b) Give prominent notice with the combined library that part of it 153 | is a work based on the Library, and explaining where to find the 154 | accompanying uncombined form of the same work. 155 | 156 | 6. Revised Versions of the GNU Lesser General Public License. 157 | 158 | The Free Software Foundation may publish revised and/or new versions 159 | of the GNU Lesser General Public License from time to time. Such new 160 | versions will be similar in spirit to the present version, but may 161 | differ in detail to address new problems or concerns. 162 | 163 | Each version is given a distinguishing version number. If the 164 | Library as you received it specifies that a certain numbered version 165 | of the GNU Lesser General Public License "or any later version" 166 | applies to it, you have the option of following the terms and 167 | conditions either of that published version or of any later version 168 | published by the Free Software Foundation. If the Library as you 169 | received it does not specify a version number of the GNU Lesser 170 | General Public License, you may choose any version of the GNU Lesser 171 | General Public License ever published by the Free Software Foundation. 172 | 173 | If the Library as you received it specifies that a proxy can decide 174 | whether future versions of the GNU Lesser General Public License shall 175 | apply, that proxy's public statement of acceptance of any version is 176 | permanent authorization for you to choose that version for the 177 | Library. 178 | 179 | ********************************************************************** 180 | ********************************************************************** 181 | 182 | GNU GENERAL PUBLIC LICENSE 183 | Version 3, 29 June 2007 184 | 185 | Copyright (C) 2007 Free Software Foundation, Inc. 186 | Everyone is permitted to copy and distribute verbatim copies 187 | of this license document, but changing it is not allowed. 188 | 189 | Preamble 190 | 191 | The GNU General Public License is a free, copyleft license for 192 | software and other kinds of works. 193 | 194 | The licenses for most software and other practical works are designed 195 | to take away your freedom to share and change the works. By contrast, 196 | the GNU General Public License is intended to guarantee your freedom to 197 | share and change all versions of a program--to make sure it remains free 198 | software for all its users. We, the Free Software Foundation, use the 199 | GNU General Public License for most of our software; it applies also to 200 | any other work released this way by its authors. You can apply it to 201 | your programs, too. 202 | 203 | When we speak of free software, we are referring to freedom, not 204 | price. Our General Public Licenses are designed to make sure that you 205 | have the freedom to distribute copies of free software (and charge for 206 | them if you wish), that you receive source code or can get it if you 207 | want it, that you can change the software or use pieces of it in new 208 | free programs, and that you know you can do these things. 209 | 210 | To protect your rights, we need to prevent others from denying you 211 | these rights or asking you to surrender the rights. Therefore, you have 212 | certain responsibilities if you distribute copies of the software, or if 213 | you modify it: responsibilities to respect the freedom of others. 214 | 215 | For example, if you distribute copies of such a program, whether 216 | gratis or for a fee, you must pass on to the recipients the same 217 | freedoms that you received. You must make sure that they, too, receive 218 | or can get the source code. And you must show them these terms so they 219 | know their rights. 220 | 221 | Developers that use the GNU GPL protect your rights with two steps: 222 | (1) assert copyright on the software, and (2) offer you this License 223 | giving you legal permission to copy, distribute and/or modify it. 224 | 225 | For the developers' and authors' protection, the GPL clearly explains 226 | that there is no warranty for this free software. For both users' and 227 | authors' sake, the GPL requires that modified versions be marked as 228 | changed, so that their problems will not be attributed erroneously to 229 | authors of previous versions. 230 | 231 | Some devices are designed to deny users access to install or run 232 | modified versions of the software inside them, although the manufacturer 233 | can do so. This is fundamentally incompatible with the aim of 234 | protecting users' freedom to change the software. The systematic 235 | pattern of such abuse occurs in the area of products for individuals to 236 | use, which is precisely where it is most unacceptable. Therefore, we 237 | have designed this version of the GPL to prohibit the practice for those 238 | products. If such problems arise substantially in other domains, we 239 | stand ready to extend this provision to those domains in future versions 240 | of the GPL, as needed to protect the freedom of users. 241 | 242 | Finally, every program is threatened constantly by software patents. 243 | States should not allow patents to restrict development and use of 244 | software on general-purpose computers, but in those that do, we wish to 245 | avoid the special danger that patents applied to a free program could 246 | make it effectively proprietary. To prevent this, the GPL assures that 247 | patents cannot be used to render the program non-free. 248 | 249 | The precise terms and conditions for copying, distribution and 250 | modification follow. 251 | 252 | TERMS AND CONDITIONS 253 | 254 | 0. Definitions. 255 | 256 | "This License" refers to version 3 of the GNU General Public License. 257 | 258 | "Copyright" also means copyright-like laws that apply to other kinds of 259 | works, such as semiconductor masks. 260 | 261 | "The Program" refers to any copyrightable work licensed under this 262 | License. Each licensee is addressed as "you". "Licensees" and 263 | "recipients" may be individuals or organizations. 264 | 265 | To "modify" a work means to copy from or adapt all or part of the work 266 | in a fashion requiring copyright permission, other than the making of an 267 | exact copy. The resulting work is called a "modified version" of the 268 | earlier work or a work "based on" the earlier work. 269 | 270 | A "covered work" means either the unmodified Program or a work based 271 | on the Program. 272 | 273 | To "propagate" a work means to do anything with it that, without 274 | permission, would make you directly or secondarily liable for 275 | infringement under applicable copyright law, except executing it on a 276 | computer or modifying a private copy. Propagation includes copying, 277 | distribution (with or without modification), making available to the 278 | public, and in some countries other activities as well. 279 | 280 | To "convey" a work means any kind of propagation that enables other 281 | parties to make or receive copies. Mere interaction with a user through 282 | a computer network, with no transfer of a copy, is not conveying. 283 | 284 | An interactive user interface displays "Appropriate Legal Notices" 285 | to the extent that it includes a convenient and prominently visible 286 | feature that (1) displays an appropriate copyright notice, and (2) 287 | tells the user that there is no warranty for the work (except to the 288 | extent that warranties are provided), that licensees may convey the 289 | work under this License, and how to view a copy of this License. If 290 | the interface presents a list of user commands or options, such as a 291 | menu, a prominent item in the list meets this criterion. 292 | 293 | 1. Source Code. 294 | 295 | The "source code" for a work means the preferred form of the work 296 | for making modifications to it. "Object code" means any non-source 297 | form of a work. 298 | 299 | A "Standard Interface" means an interface that either is an official 300 | standard defined by a recognized standards body, or, in the case of 301 | interfaces specified for a particular programming language, one that 302 | is widely used among developers working in that language. 303 | 304 | The "System Libraries" of an executable work include anything, other 305 | than the work as a whole, that (a) is included in the normal form of 306 | packaging a Major Component, but which is not part of that Major 307 | Component, and (b) serves only to enable use of the work with that 308 | Major Component, or to implement a Standard Interface for which an 309 | implementation is available to the public in source code form. A 310 | "Major Component", in this context, means a major essential component 311 | (kernel, window system, and so on) of the specific operating system 312 | (if any) on which the executable work runs, or a compiler used to 313 | produce the work, or an object code interpreter used to run it. 314 | 315 | The "Corresponding Source" for a work in object code form means all 316 | the source code needed to generate, install, and (for an executable 317 | work) run the object code and to modify the work, including scripts to 318 | control those activities. However, it does not include the work's 319 | System Libraries, or general-purpose tools or generally available free 320 | programs which are used unmodified in performing those activities but 321 | which are not part of the work. For example, Corresponding Source 322 | includes interface definition files associated with source files for 323 | the work, and the source code for shared libraries and dynamically 324 | linked subprograms that the work is specifically designed to require, 325 | such as by intimate data communication or control flow between those 326 | subprograms and other parts of the work. 327 | 328 | The Corresponding Source need not include anything that users 329 | can regenerate automatically from other parts of the Corresponding 330 | Source. 331 | 332 | The Corresponding Source for a work in source code form is that 333 | same work. 334 | 335 | 2. Basic Permissions. 336 | 337 | All rights granted under this License are granted for the term of 338 | copyright on the Program, and are irrevocable provided the stated 339 | conditions are met. This License explicitly affirms your unlimited 340 | permission to run the unmodified Program. The output from running a 341 | covered work is covered by this License only if the output, given its 342 | content, constitutes a covered work. This License acknowledges your 343 | rights of fair use or other equivalent, as provided by copyright law. 344 | 345 | You may make, run and propagate covered works that you do not 346 | convey, without conditions so long as your license otherwise remains 347 | in force. You may convey covered works to others for the sole purpose 348 | of having them make modifications exclusively for you, or provide you 349 | with facilities for running those works, provided that you comply with 350 | the terms of this License in conveying all material for which you do 351 | not control copyright. Those thus making or running the covered works 352 | for you must do so exclusively on your behalf, under your direction 353 | and control, on terms that prohibit them from making any copies of 354 | your copyrighted material outside their relationship with you. 355 | 356 | Conveying under any other circumstances is permitted solely under 357 | the conditions stated below. Sublicensing is not allowed; section 10 358 | makes it unnecessary. 359 | 360 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 361 | 362 | No covered work shall be deemed part of an effective technological 363 | measure under any applicable law fulfilling obligations under article 364 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 365 | similar laws prohibiting or restricting circumvention of such 366 | measures. 367 | 368 | When you convey a covered work, you waive any legal power to forbid 369 | circumvention of technological measures to the extent such circumvention 370 | is effected by exercising rights under this License with respect to 371 | the covered work, and you disclaim any intention to limit operation or 372 | modification of the work as a means of enforcing, against the work's 373 | users, your or third parties' legal rights to forbid circumvention of 374 | technological measures. 375 | 376 | 4. Conveying Verbatim Copies. 377 | 378 | You may convey verbatim copies of the Program's source code as you 379 | receive it, in any medium, provided that you conspicuously and 380 | appropriately publish on each copy an appropriate copyright notice; 381 | keep intact all notices stating that this License and any 382 | non-permissive terms added in accord with section 7 apply to the code; 383 | keep intact all notices of the absence of any warranty; and give all 384 | recipients a copy of this License along with the Program. 385 | 386 | You may charge any price or no price for each copy that you convey, 387 | and you may offer support or warranty protection for a fee. 388 | 389 | 5. Conveying Modified Source Versions. 390 | 391 | You may convey a work based on the Program, or the modifications to 392 | produce it from the Program, in the form of source code under the 393 | terms of section 4, provided that you also meet all of these conditions: 394 | 395 | a) The work must carry prominent notices stating that you modified 396 | it, and giving a relevant date. 397 | 398 | b) The work must carry prominent notices stating that it is 399 | released under this License and any conditions added under section 400 | 7. This requirement modifies the requirement in section 4 to 401 | "keep intact all notices". 402 | 403 | c) You must license the entire work, as a whole, under this 404 | License to anyone who comes into possession of a copy. This 405 | License will therefore apply, along with any applicable section 7 406 | additional terms, to the whole of the work, and all its parts, 407 | regardless of how they are packaged. This License gives no 408 | permission to license the work in any other way, but it does not 409 | invalidate such permission if you have separately received it. 410 | 411 | d) If the work has interactive user interfaces, each must display 412 | Appropriate Legal Notices; however, if the Program has interactive 413 | interfaces that do not display Appropriate Legal Notices, your 414 | work need not make them do so. 415 | 416 | A compilation of a covered work with other separate and independent 417 | works, which are not by their nature extensions of the covered work, 418 | and which are not combined with it such as to form a larger program, 419 | in or on a volume of a storage or distribution medium, is called an 420 | "aggregate" if the compilation and its resulting copyright are not 421 | used to limit the access or legal rights of the compilation's users 422 | beyond what the individual works permit. Inclusion of a covered work 423 | in an aggregate does not cause this License to apply to the other 424 | parts of the aggregate. 425 | 426 | 6. Conveying Non-Source Forms. 427 | 428 | You may convey a covered work in object code form under the terms 429 | of sections 4 and 5, provided that you also convey the 430 | machine-readable Corresponding Source under the terms of this License, 431 | in one of these ways: 432 | 433 | a) Convey the object code in, or embodied in, a physical product 434 | (including a physical distribution medium), accompanied by the 435 | Corresponding Source fixed on a durable physical medium 436 | customarily used for software interchange. 437 | 438 | b) Convey the object code in, or embodied in, a physical product 439 | (including a physical distribution medium), accompanied by a 440 | written offer, valid for at least three years and valid for as 441 | long as you offer spare parts or customer support for that product 442 | model, to give anyone who possesses the object code either (1) a 443 | copy of the Corresponding Source for all the software in the 444 | product that is covered by this License, on a durable physical 445 | medium customarily used for software interchange, for a price no 446 | more than your reasonable cost of physically performing this 447 | conveying of source, or (2) access to copy the 448 | Corresponding Source from a network server at no charge. 449 | 450 | c) Convey individual copies of the object code with a copy of the 451 | written offer to provide the Corresponding Source. This 452 | alternative is allowed only occasionally and noncommercially, and 453 | only if you received the object code with such an offer, in accord 454 | with subsection 6b. 455 | 456 | d) Convey the object code by offering access from a designated 457 | place (gratis or for a charge), and offer equivalent access to the 458 | Corresponding Source in the same way through the same place at no 459 | further charge. You need not require recipients to copy the 460 | Corresponding Source along with the object code. If the place to 461 | copy the object code is a network server, the Corresponding Source 462 | may be on a different server (operated by you or a third party) 463 | that supports equivalent copying facilities, provided you maintain 464 | clear directions next to the object code saying where to find the 465 | Corresponding Source. Regardless of what server hosts the 466 | Corresponding Source, you remain obligated to ensure that it is 467 | available for as long as needed to satisfy these requirements. 468 | 469 | e) Convey the object code using peer-to-peer transmission, provided 470 | you inform other peers where the object code and Corresponding 471 | Source of the work are being offered to the general public at no 472 | charge under subsection 6d. 473 | 474 | A separable portion of the object code, whose source code is excluded 475 | from the Corresponding Source as a System Library, need not be 476 | included in conveying the object code work. 477 | 478 | A "User Product" is either (1) a "consumer product", which means any 479 | tangible personal property which is normally used for personal, family, 480 | or household purposes, or (2) anything designed or sold for incorporation 481 | into a dwelling. In determining whether a product is a consumer product, 482 | doubtful cases shall be resolved in favor of coverage. For a particular 483 | product received by a particular user, "normally used" refers to a 484 | typical or common use of that class of product, regardless of the status 485 | of the particular user or of the way in which the particular user 486 | actually uses, or expects or is expected to use, the product. A product 487 | is a consumer product regardless of whether the product has substantial 488 | commercial, industrial or non-consumer uses, unless such uses represent 489 | the only significant mode of use of the product. 490 | 491 | "Installation Information" for a User Product means any methods, 492 | procedures, authorization keys, or other information required to install 493 | and execute modified versions of a covered work in that User Product from 494 | a modified version of its Corresponding Source. The information must 495 | suffice to ensure that the continued functioning of the modified object 496 | code is in no case prevented or interfered with solely because 497 | modification has been made. 498 | 499 | If you convey an object code work under this section in, or with, or 500 | specifically for use in, a User Product, and the conveying occurs as 501 | part of a transaction in which the right of possession and use of the 502 | User Product is transferred to the recipient in perpetuity or for a 503 | fixed term (regardless of how the transaction is characterized), the 504 | Corresponding Source conveyed under this section must be accompanied 505 | by the Installation Information. But this requirement does not apply 506 | if neither you nor any third party retains the ability to install 507 | modified object code on the User Product (for example, the work has 508 | been installed in ROM). 509 | 510 | The requirement to provide Installation Information does not include a 511 | requirement to continue to provide support service, warranty, or updates 512 | for a work that has been modified or installed by the recipient, or for 513 | the User Product in which it has been modified or installed. Access to a 514 | network may be denied when the modification itself materially and 515 | adversely affects the operation of the network or violates the rules and 516 | protocols for communication across the network. 517 | 518 | Corresponding Source conveyed, and Installation Information provided, 519 | in accord with this section must be in a format that is publicly 520 | documented (and with an implementation available to the public in 521 | source code form), and must require no special password or key for 522 | unpacking, reading or copying. 523 | 524 | 7. Additional Terms. 525 | 526 | "Additional permissions" are terms that supplement the terms of this 527 | License by making exceptions from one or more of its conditions. 528 | Additional permissions that are applicable to the entire Program shall 529 | be treated as though they were included in this License, to the extent 530 | that they are valid under applicable law. If additional permissions 531 | apply only to part of the Program, that part may be used separately 532 | under those permissions, but the entire Program remains governed by 533 | this License without regard to the additional permissions. 534 | 535 | When you convey a copy of a covered work, you may at your option 536 | remove any additional permissions from that copy, or from any part of 537 | it. (Additional permissions may be written to require their own 538 | removal in certain cases when you modify the work.) You may place 539 | additional permissions on material, added by you to a covered work, 540 | for which you have or can give appropriate copyright permission. 541 | 542 | Notwithstanding any other provision of this License, for material you 543 | add to a covered work, you may (if authorized by the copyright holders of 544 | that material) supplement the terms of this License with terms: 545 | 546 | a) Disclaiming warranty or limiting liability differently from the 547 | terms of sections 15 and 16 of this License; or 548 | 549 | b) Requiring preservation of specified reasonable legal notices or 550 | author attributions in that material or in the Appropriate Legal 551 | Notices displayed by works containing it; or 552 | 553 | c) Prohibiting misrepresentation of the origin of that material, or 554 | requiring that modified versions of such material be marked in 555 | reasonable ways as different from the original version; or 556 | 557 | d) Limiting the use for publicity purposes of names of licensors or 558 | authors of the material; or 559 | 560 | e) Declining to grant rights under trademark law for use of some 561 | trade names, trademarks, or service marks; or 562 | 563 | f) Requiring indemnification of licensors and authors of that 564 | material by anyone who conveys the material (or modified versions of 565 | it) with contractual assumptions of liability to the recipient, for 566 | any liability that these contractual assumptions directly impose on 567 | those licensors and authors. 568 | 569 | All other non-permissive additional terms are considered "further 570 | restrictions" within the meaning of section 10. If the Program as you 571 | received it, or any part of it, contains a notice stating that it is 572 | governed by this License along with a term that is a further 573 | restriction, you may remove that term. If a license document contains 574 | a further restriction but permits relicensing or conveying under this 575 | License, you may add to a covered work material governed by the terms 576 | of that license document, provided that the further restriction does 577 | not survive such relicensing or conveying. 578 | 579 | If you add terms to a covered work in accord with this section, you 580 | must place, in the relevant source files, a statement of the 581 | additional terms that apply to those files, or a notice indicating 582 | where to find the applicable terms. 583 | 584 | Additional terms, permissive or non-permissive, may be stated in the 585 | form of a separately written license, or stated as exceptions; 586 | the above requirements apply either way. 587 | 588 | 8. Termination. 589 | 590 | You may not propagate or modify a covered work except as expressly 591 | provided under this License. Any attempt otherwise to propagate or 592 | modify it is void, and will automatically terminate your rights under 593 | this License (including any patent licenses granted under the third 594 | paragraph of section 11). 595 | 596 | However, if you cease all violation of this License, then your 597 | license from a particular copyright holder is reinstated (a) 598 | provisionally, unless and until the copyright holder explicitly and 599 | finally terminates your license, and (b) permanently, if the copyright 600 | holder fails to notify you of the violation by some reasonable means 601 | prior to 60 days after the cessation. 602 | 603 | Moreover, your license from a particular copyright holder is 604 | reinstated permanently if the copyright holder notifies you of the 605 | violation by some reasonable means, this is the first time you have 606 | received notice of violation of this License (for any work) from that 607 | copyright holder, and you cure the violation prior to 30 days after 608 | your receipt of the notice. 609 | 610 | Termination of your rights under this section does not terminate the 611 | licenses of parties who have received copies or rights from you under 612 | this License. If your rights have been terminated and not permanently 613 | reinstated, you do not qualify to receive new licenses for the same 614 | material under section 10. 615 | 616 | 9. Acceptance Not Required for Having Copies. 617 | 618 | You are not required to accept this License in order to receive or 619 | run a copy of the Program. Ancillary propagation of a covered work 620 | occurring solely as a consequence of using peer-to-peer transmission 621 | to receive a copy likewise does not require acceptance. However, 622 | nothing other than this License grants you permission to propagate or 623 | modify any covered work. These actions infringe copyright if you do 624 | not accept this License. Therefore, by modifying or propagating a 625 | covered work, you indicate your acceptance of this License to do so. 626 | 627 | 10. Automatic Licensing of Downstream Recipients. 628 | 629 | Each time you convey a covered work, the recipient automatically 630 | receives a license from the original licensors, to run, modify and 631 | propagate that work, subject to this License. You are not responsible 632 | for enforcing compliance by third parties with this License. 633 | 634 | An "entity transaction" is a transaction transferring control of an 635 | organization, or substantially all assets of one, or subdividing an 636 | organization, or merging organizations. If propagation of a covered 637 | work results from an entity transaction, each party to that 638 | transaction who receives a copy of the work also receives whatever 639 | licenses to the work the party's predecessor in interest had or could 640 | give under the previous paragraph, plus a right to possession of the 641 | Corresponding Source of the work from the predecessor in interest, if 642 | the predecessor has it or can get it with reasonable efforts. 643 | 644 | You may not impose any further restrictions on the exercise of the 645 | rights granted or affirmed under this License. For example, you may 646 | not impose a license fee, royalty, or other charge for exercise of 647 | rights granted under this License, and you may not initiate litigation 648 | (including a cross-claim or counterclaim in a lawsuit) alleging that 649 | any patent claim is infringed by making, using, selling, offering for 650 | sale, or importing the Program or any portion of it. 651 | 652 | 11. Patents. 653 | 654 | A "contributor" is a copyright holder who authorizes use under this 655 | License of the Program or a work on which the Program is based. The 656 | work thus licensed is called the contributor's "contributor version". 657 | 658 | A contributor's "essential patent claims" are all patent claims 659 | owned or controlled by the contributor, whether already acquired or 660 | hereafter acquired, that would be infringed by some manner, permitted 661 | by this License, of making, using, or selling its contributor version, 662 | but do not include claims that would be infringed only as a 663 | consequence of further modification of the contributor version. For 664 | purposes of this definition, "control" includes the right to grant 665 | patent sublicenses in a manner consistent with the requirements of 666 | this License. 667 | 668 | Each contributor grants you a non-exclusive, worldwide, royalty-free 669 | patent license under the contributor's essential patent claims, to 670 | make, use, sell, offer for sale, import and otherwise run, modify and 671 | propagate the contents of its contributor version. 672 | 673 | In the following three paragraphs, a "patent license" is any express 674 | agreement or commitment, however denominated, not to enforce a patent 675 | (such as an express permission to practice a patent or covenant not to 676 | sue for patent infringement). To "grant" such a patent license to a 677 | party means to make such an agreement or commitment not to enforce a 678 | patent against the party. 679 | 680 | If you convey a covered work, knowingly relying on a patent license, 681 | and the Corresponding Source of the work is not available for anyone 682 | to copy, free of charge and under the terms of this License, through a 683 | publicly available network server or other readily accessible means, 684 | then you must either (1) cause the Corresponding Source to be so 685 | available, or (2) arrange to deprive yourself of the benefit of the 686 | patent license for this particular work, or (3) arrange, in a manner 687 | consistent with the requirements of this License, to extend the patent 688 | license to downstream recipients. "Knowingly relying" means you have 689 | actual knowledge that, but for the patent license, your conveying the 690 | covered work in a country, or your recipient's use of the covered work 691 | in a country, would infringe one or more identifiable patents in that 692 | country that you have reason to believe are valid. 693 | 694 | If, pursuant to or in connection with a single transaction or 695 | arrangement, you convey, or propagate by procuring conveyance of, a 696 | covered work, and grant a patent license to some of the parties 697 | receiving the covered work authorizing them to use, propagate, modify 698 | or convey a specific copy of the covered work, then the patent license 699 | you grant is automatically extended to all recipients of the covered 700 | work and works based on it. 701 | 702 | A patent license is "discriminatory" if it does not include within 703 | the scope of its coverage, prohibits the exercise of, or is 704 | conditioned on the non-exercise of one or more of the rights that are 705 | specifically granted under this License. You may not convey a covered 706 | work if you are a party to an arrangement with a third party that is 707 | in the business of distributing software, under which you make payment 708 | to the third party based on the extent of your activity of conveying 709 | the work, and under which the third party grants, to any of the 710 | parties who would receive the covered work from you, a discriminatory 711 | patent license (a) in connection with copies of the covered work 712 | conveyed by you (or copies made from those copies), or (b) primarily 713 | for and in connection with specific products or compilations that 714 | contain the covered work, unless you entered into that arrangement, 715 | or that patent license was granted, prior to 28 March 2007. 716 | 717 | Nothing in this License shall be construed as excluding or limiting 718 | any implied license or other defenses to infringement that may 719 | otherwise be available to you under applicable patent law. 720 | 721 | 12. No Surrender of Others' Freedom. 722 | 723 | If conditions are imposed on you (whether by court order, agreement or 724 | otherwise) that contradict the conditions of this License, they do not 725 | excuse you from the conditions of this License. If you cannot convey a 726 | covered work so as to satisfy simultaneously your obligations under this 727 | License and any other pertinent obligations, then as a consequence you may 728 | not convey it at all. For example, if you agree to terms that obligate you 729 | to collect a royalty for further conveying from those to whom you convey 730 | the Program, the only way you could satisfy both those terms and this 731 | License would be to refrain entirely from conveying the Program. 732 | 733 | 13. Use with the GNU Affero General Public License. 734 | 735 | Notwithstanding any other provision of this License, you have 736 | permission to link or combine any covered work with a work licensed 737 | under version 3 of the GNU Affero General Public License into a single 738 | combined work, and to convey the resulting work. The terms of this 739 | License will continue to apply to the part which is the covered work, 740 | but the special requirements of the GNU Affero General Public License, 741 | section 13, concerning interaction through a network will apply to the 742 | combination as such. 743 | 744 | 14. Revised Versions of this License. 745 | 746 | The Free Software Foundation may publish revised and/or new versions of 747 | the GNU General Public License from time to time. Such new versions will 748 | be similar in spirit to the present version, but may differ in detail to 749 | address new problems or concerns. 750 | 751 | Each version is given a distinguishing version number. If the 752 | Program specifies that a certain numbered version of the GNU General 753 | Public License "or any later version" applies to it, you have the 754 | option of following the terms and conditions either of that numbered 755 | version or of any later version published by the Free Software 756 | Foundation. If the Program does not specify a version number of the 757 | GNU General Public License, you may choose any version ever published 758 | by the Free Software Foundation. 759 | 760 | If the Program specifies that a proxy can decide which future 761 | versions of the GNU General Public License can be used, that proxy's 762 | public statement of acceptance of a version permanently authorizes you 763 | to choose that version for the Program. 764 | 765 | Later license versions may give you additional or different 766 | permissions. However, no additional obligations are imposed on any 767 | author or copyright holder as a result of your choosing to follow a 768 | later version. 769 | 770 | 15. Disclaimer of Warranty. 771 | 772 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 773 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 774 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 775 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 776 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 777 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 778 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 779 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 780 | 781 | 16. Limitation of Liability. 782 | 783 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 784 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 785 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 786 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 787 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 788 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 789 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 790 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 791 | SUCH DAMAGES. 792 | 793 | 17. Interpretation of Sections 15 and 16. 794 | 795 | If the disclaimer of warranty and limitation of liability provided 796 | above cannot be given local legal effect according to their terms, 797 | reviewing courts shall apply local law that most closely approximates 798 | an absolute waiver of all civil liability in connection with the 799 | Program, unless a warranty or assumption of liability accompanies a 800 | copy of the Program in return for a fee. 801 | 802 | END OF TERMS AND CONDITIONS 803 | 804 | How to Apply These Terms to Your New Programs 805 | 806 | If you develop a new program, and you want it to be of the greatest 807 | possible use to the public, the best way to achieve this is to make it 808 | free software which everyone can redistribute and change under these terms. 809 | 810 | To do so, attach the following notices to the program. It is safest 811 | to attach them to the start of each source file to most effectively 812 | state the exclusion of warranty; and each file should have at least 813 | the "copyright" line and a pointer to where the full notice is found. 814 | 815 | 816 | Copyright (C) 817 | 818 | This program is free software: you can redistribute it and/or modify 819 | it under the terms of the GNU General Public License as published by 820 | the Free Software Foundation, either version 3 of the License, or 821 | (at your option) any later version. 822 | 823 | This program is distributed in the hope that it will be useful, 824 | but WITHOUT ANY WARRANTY; without even the implied warranty of 825 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 826 | GNU General Public License for more details. 827 | 828 | You should have received a copy of the GNU General Public License 829 | along with this program. If not, see . 830 | 831 | Also add information on how to contact you by electronic and paper mail. 832 | 833 | If the program does terminal interaction, make it output a short 834 | notice like this when it starts in an interactive mode: 835 | 836 | Copyright (C) 837 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 838 | This is free software, and you are welcome to redistribute it 839 | under certain conditions; type `show c' for details. 840 | 841 | The hypothetical commands `show w' and `show c' should show the appropriate 842 | parts of the General Public License. Of course, your program's commands 843 | might be different; for a GUI interface, you would use an "about box". 844 | 845 | You should also get your employer (if you work as a programmer) or school, 846 | if any, to sign a "copyright disclaimer" for the program, if necessary. 847 | For more information on this, and how to apply and follow the GNU GPL, see 848 | . 849 | 850 | The GNU General Public License does not permit incorporating your program 851 | into proprietary programs. If your program is a subroutine library, you 852 | may consider it more useful to permit linking proprietary applications with 853 | the library. If this is what you want to do, use the GNU Lesser General 854 | Public License instead of this License. But first, please read 855 | . 856 | 857 | ********************************************************************** 858 | ********************************************************************** 859 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "147782145cf7473cb588f873a90dc333", 8 | "packages": [ 9 | { 10 | "name": "brick/math", 11 | "version": "0.9.1", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/brick/math.git", 15 | "reference": "283a40c901101e66de7061bd359252c013dcc43c" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c", 20 | "reference": "283a40c901101e66de7061bd359252c013dcc43c", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "ext-json": "*", 25 | "php": "^7.1|^8.0" 26 | }, 27 | "require-dev": { 28 | "php-coveralls/php-coveralls": "^2.2", 29 | "phpunit/phpunit": "^7.5.15|^8.5", 30 | "vimeo/psalm": "^3.5" 31 | }, 32 | "type": "library", 33 | "autoload": { 34 | "psr-4": { 35 | "Brick\\Math\\": "src/" 36 | } 37 | }, 38 | "notification-url": "https://packagist.org/downloads/", 39 | "license": [ 40 | "MIT" 41 | ], 42 | "description": "Arbitrary-precision arithmetic library", 43 | "keywords": [ 44 | "Arbitrary-precision", 45 | "BigInteger", 46 | "BigRational", 47 | "arithmetic", 48 | "bigdecimal", 49 | "bignum", 50 | "brick", 51 | "math" 52 | ], 53 | "funding": [ 54 | { 55 | "url": "https://tidelift.com/funding/github/packagist/brick/math", 56 | "type": "tidelift" 57 | } 58 | ], 59 | "time": "2020-08-18T23:57:15+00:00" 60 | }, 61 | { 62 | "name": "doctrine/inflector", 63 | "version": "2.0.3", 64 | "source": { 65 | "type": "git", 66 | "url": "https://github.com/doctrine/inflector.git", 67 | "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" 68 | }, 69 | "dist": { 70 | "type": "zip", 71 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", 72 | "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", 73 | "shasum": "" 74 | }, 75 | "require": { 76 | "php": "^7.2 || ^8.0" 77 | }, 78 | "require-dev": { 79 | "doctrine/coding-standard": "^7.0", 80 | "phpstan/phpstan": "^0.11", 81 | "phpstan/phpstan-phpunit": "^0.11", 82 | "phpstan/phpstan-strict-rules": "^0.11", 83 | "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" 84 | }, 85 | "type": "library", 86 | "extra": { 87 | "branch-alias": { 88 | "dev-master": "2.0.x-dev" 89 | } 90 | }, 91 | "autoload": { 92 | "psr-4": { 93 | "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" 94 | } 95 | }, 96 | "notification-url": "https://packagist.org/downloads/", 97 | "license": [ 98 | "MIT" 99 | ], 100 | "authors": [ 101 | { 102 | "name": "Guilherme Blanco", 103 | "email": "guilhermeblanco@gmail.com" 104 | }, 105 | { 106 | "name": "Roman Borschel", 107 | "email": "roman@code-factory.org" 108 | }, 109 | { 110 | "name": "Benjamin Eberlei", 111 | "email": "kontakt@beberlei.de" 112 | }, 113 | { 114 | "name": "Jonathan Wage", 115 | "email": "jonwage@gmail.com" 116 | }, 117 | { 118 | "name": "Johannes Schmitt", 119 | "email": "schmittjoh@gmail.com" 120 | } 121 | ], 122 | "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", 123 | "homepage": "https://www.doctrine-project.org/projects/inflector.html", 124 | "keywords": [ 125 | "inflection", 126 | "inflector", 127 | "lowercase", 128 | "manipulation", 129 | "php", 130 | "plural", 131 | "singular", 132 | "strings", 133 | "uppercase", 134 | "words" 135 | ], 136 | "funding": [ 137 | { 138 | "url": "https://www.doctrine-project.org/sponsorship.html", 139 | "type": "custom" 140 | }, 141 | { 142 | "url": "https://www.patreon.com/phpdoctrine", 143 | "type": "patreon" 144 | }, 145 | { 146 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", 147 | "type": "tidelift" 148 | } 149 | ], 150 | "time": "2020-05-29T15:13:26+00:00" 151 | }, 152 | { 153 | "name": "doctrine/lexer", 154 | "version": "1.2.1", 155 | "source": { 156 | "type": "git", 157 | "url": "https://github.com/doctrine/lexer.git", 158 | "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" 159 | }, 160 | "dist": { 161 | "type": "zip", 162 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", 163 | "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", 164 | "shasum": "" 165 | }, 166 | "require": { 167 | "php": "^7.2 || ^8.0" 168 | }, 169 | "require-dev": { 170 | "doctrine/coding-standard": "^6.0", 171 | "phpstan/phpstan": "^0.11.8", 172 | "phpunit/phpunit": "^8.2" 173 | }, 174 | "type": "library", 175 | "extra": { 176 | "branch-alias": { 177 | "dev-master": "1.2.x-dev" 178 | } 179 | }, 180 | "autoload": { 181 | "psr-4": { 182 | "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" 183 | } 184 | }, 185 | "notification-url": "https://packagist.org/downloads/", 186 | "license": [ 187 | "MIT" 188 | ], 189 | "authors": [ 190 | { 191 | "name": "Guilherme Blanco", 192 | "email": "guilhermeblanco@gmail.com" 193 | }, 194 | { 195 | "name": "Roman Borschel", 196 | "email": "roman@code-factory.org" 197 | }, 198 | { 199 | "name": "Johannes Schmitt", 200 | "email": "schmittjoh@gmail.com" 201 | } 202 | ], 203 | "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", 204 | "homepage": "https://www.doctrine-project.org/projects/lexer.html", 205 | "keywords": [ 206 | "annotations", 207 | "docblock", 208 | "lexer", 209 | "parser", 210 | "php" 211 | ], 212 | "funding": [ 213 | { 214 | "url": "https://www.doctrine-project.org/sponsorship.html", 215 | "type": "custom" 216 | }, 217 | { 218 | "url": "https://www.patreon.com/phpdoctrine", 219 | "type": "patreon" 220 | }, 221 | { 222 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", 223 | "type": "tidelift" 224 | } 225 | ], 226 | "time": "2020-05-25T17:44:05+00:00" 227 | }, 228 | { 229 | "name": "dragonmantank/cron-expression", 230 | "version": "v3.1.0", 231 | "source": { 232 | "type": "git", 233 | "url": "https://github.com/dragonmantank/cron-expression.git", 234 | "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" 235 | }, 236 | "dist": { 237 | "type": "zip", 238 | "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", 239 | "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", 240 | "shasum": "" 241 | }, 242 | "require": { 243 | "php": "^7.2|^8.0", 244 | "webmozart/assert": "^1.7.0" 245 | }, 246 | "replace": { 247 | "mtdowling/cron-expression": "^1.0" 248 | }, 249 | "require-dev": { 250 | "phpstan/extension-installer": "^1.0", 251 | "phpstan/phpstan": "^0.12", 252 | "phpstan/phpstan-webmozart-assert": "^0.12.7", 253 | "phpunit/phpunit": "^7.0|^8.0|^9.0" 254 | }, 255 | "type": "library", 256 | "autoload": { 257 | "psr-4": { 258 | "Cron\\": "src/Cron/" 259 | } 260 | }, 261 | "notification-url": "https://packagist.org/downloads/", 262 | "license": [ 263 | "MIT" 264 | ], 265 | "authors": [ 266 | { 267 | "name": "Chris Tankersley", 268 | "email": "chris@ctankersley.com", 269 | "homepage": "https://github.com/dragonmantank" 270 | } 271 | ], 272 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 273 | "keywords": [ 274 | "cron", 275 | "schedule" 276 | ], 277 | "funding": [ 278 | { 279 | "url": "https://github.com/dragonmantank", 280 | "type": "github" 281 | } 282 | ], 283 | "time": "2020-11-24T19:55:57+00:00" 284 | }, 285 | { 286 | "name": "egulias/email-validator", 287 | "version": "2.1.25", 288 | "source": { 289 | "type": "git", 290 | "url": "https://github.com/egulias/EmailValidator.git", 291 | "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" 292 | }, 293 | "dist": { 294 | "type": "zip", 295 | "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", 296 | "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", 297 | "shasum": "" 298 | }, 299 | "require": { 300 | "doctrine/lexer": "^1.0.1", 301 | "php": ">=5.5", 302 | "symfony/polyfill-intl-idn": "^1.10" 303 | }, 304 | "require-dev": { 305 | "dominicsayers/isemail": "^3.0.7", 306 | "phpunit/phpunit": "^4.8.36|^7.5.15", 307 | "satooshi/php-coveralls": "^1.0.1" 308 | }, 309 | "suggest": { 310 | "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" 311 | }, 312 | "type": "library", 313 | "extra": { 314 | "branch-alias": { 315 | "dev-master": "2.1.x-dev" 316 | } 317 | }, 318 | "autoload": { 319 | "psr-4": { 320 | "Egulias\\EmailValidator\\": "src" 321 | } 322 | }, 323 | "notification-url": "https://packagist.org/downloads/", 324 | "license": [ 325 | "MIT" 326 | ], 327 | "authors": [ 328 | { 329 | "name": "Eduardo Gulias Davis" 330 | } 331 | ], 332 | "description": "A library for validating emails against several RFCs", 333 | "homepage": "https://github.com/egulias/EmailValidator", 334 | "keywords": [ 335 | "email", 336 | "emailvalidation", 337 | "emailvalidator", 338 | "validation", 339 | "validator" 340 | ], 341 | "funding": [ 342 | { 343 | "url": "https://github.com/egulias", 344 | "type": "github" 345 | } 346 | ], 347 | "time": "2020-12-29T14:50:06+00:00" 348 | }, 349 | { 350 | "name": "graham-campbell/result-type", 351 | "version": "v1.0.1", 352 | "source": { 353 | "type": "git", 354 | "url": "https://github.com/GrahamCampbell/Result-Type.git", 355 | "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" 356 | }, 357 | "dist": { 358 | "type": "zip", 359 | "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", 360 | "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", 361 | "shasum": "" 362 | }, 363 | "require": { 364 | "php": "^7.0|^8.0", 365 | "phpoption/phpoption": "^1.7.3" 366 | }, 367 | "require-dev": { 368 | "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" 369 | }, 370 | "type": "library", 371 | "extra": { 372 | "branch-alias": { 373 | "dev-master": "1.0-dev" 374 | } 375 | }, 376 | "autoload": { 377 | "psr-4": { 378 | "GrahamCampbell\\ResultType\\": "src/" 379 | } 380 | }, 381 | "notification-url": "https://packagist.org/downloads/", 382 | "license": [ 383 | "MIT" 384 | ], 385 | "authors": [ 386 | { 387 | "name": "Graham Campbell", 388 | "email": "graham@alt-three.com" 389 | } 390 | ], 391 | "description": "An Implementation Of The Result Type", 392 | "keywords": [ 393 | "Graham Campbell", 394 | "GrahamCampbell", 395 | "Result Type", 396 | "Result-Type", 397 | "result" 398 | ], 399 | "funding": [ 400 | { 401 | "url": "https://github.com/GrahamCampbell", 402 | "type": "github" 403 | }, 404 | { 405 | "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", 406 | "type": "tidelift" 407 | } 408 | ], 409 | "time": "2020-04-13T13:17:36+00:00" 410 | }, 411 | { 412 | "name": "laravel/framework", 413 | "version": "v8.22.1", 414 | "source": { 415 | "type": "git", 416 | "url": "https://github.com/laravel/framework.git", 417 | "reference": "5c70991b96c5722afed541a996479b5112654c8b" 418 | }, 419 | "dist": { 420 | "type": "zip", 421 | "url": "https://api.github.com/repos/laravel/framework/zipball/5c70991b96c5722afed541a996479b5112654c8b", 422 | "reference": "5c70991b96c5722afed541a996479b5112654c8b", 423 | "shasum": "" 424 | }, 425 | "require": { 426 | "doctrine/inflector": "^1.4|^2.0", 427 | "dragonmantank/cron-expression": "^3.0.2", 428 | "egulias/email-validator": "^2.1.10", 429 | "ext-json": "*", 430 | "ext-mbstring": "*", 431 | "ext-openssl": "*", 432 | "league/commonmark": "^1.3", 433 | "league/flysystem": "^1.1", 434 | "monolog/monolog": "^2.0", 435 | "nesbot/carbon": "^2.31", 436 | "opis/closure": "^3.6", 437 | "php": "^7.3|^8.0", 438 | "psr/container": "^1.0", 439 | "psr/simple-cache": "^1.0", 440 | "ramsey/uuid": "^4.0", 441 | "swiftmailer/swiftmailer": "^6.0", 442 | "symfony/console": "^5.1.4", 443 | "symfony/error-handler": "^5.1.4", 444 | "symfony/finder": "^5.1.4", 445 | "symfony/http-foundation": "^5.1.4", 446 | "symfony/http-kernel": "^5.1.4", 447 | "symfony/mime": "^5.1.4", 448 | "symfony/process": "^5.1.4", 449 | "symfony/routing": "^5.1.4", 450 | "symfony/var-dumper": "^5.1.4", 451 | "tijsverkoyen/css-to-inline-styles": "^2.2.2", 452 | "vlucas/phpdotenv": "^5.2", 453 | "voku/portable-ascii": "^1.4.8" 454 | }, 455 | "conflict": { 456 | "tightenco/collect": "<5.5.33" 457 | }, 458 | "provide": { 459 | "psr/container-implementation": "1.0" 460 | }, 461 | "replace": { 462 | "illuminate/auth": "self.version", 463 | "illuminate/broadcasting": "self.version", 464 | "illuminate/bus": "self.version", 465 | "illuminate/cache": "self.version", 466 | "illuminate/collections": "self.version", 467 | "illuminate/config": "self.version", 468 | "illuminate/console": "self.version", 469 | "illuminate/container": "self.version", 470 | "illuminate/contracts": "self.version", 471 | "illuminate/cookie": "self.version", 472 | "illuminate/database": "self.version", 473 | "illuminate/encryption": "self.version", 474 | "illuminate/events": "self.version", 475 | "illuminate/filesystem": "self.version", 476 | "illuminate/hashing": "self.version", 477 | "illuminate/http": "self.version", 478 | "illuminate/log": "self.version", 479 | "illuminate/macroable": "self.version", 480 | "illuminate/mail": "self.version", 481 | "illuminate/notifications": "self.version", 482 | "illuminate/pagination": "self.version", 483 | "illuminate/pipeline": "self.version", 484 | "illuminate/queue": "self.version", 485 | "illuminate/redis": "self.version", 486 | "illuminate/routing": "self.version", 487 | "illuminate/session": "self.version", 488 | "illuminate/support": "self.version", 489 | "illuminate/testing": "self.version", 490 | "illuminate/translation": "self.version", 491 | "illuminate/validation": "self.version", 492 | "illuminate/view": "self.version" 493 | }, 494 | "require-dev": { 495 | "aws/aws-sdk-php": "^3.155", 496 | "doctrine/dbal": "^2.6|^3.0", 497 | "filp/whoops": "^2.8", 498 | "guzzlehttp/guzzle": "^6.5.5|^7.0.1", 499 | "league/flysystem-cached-adapter": "^1.0", 500 | "mockery/mockery": "^1.4.2", 501 | "orchestra/testbench-core": "^6.8", 502 | "pda/pheanstalk": "^4.0", 503 | "phpunit/phpunit": "^8.5.8|^9.3.3", 504 | "predis/predis": "^1.1.1", 505 | "symfony/cache": "^5.1.4" 506 | }, 507 | "suggest": { 508 | "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", 509 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", 510 | "ext-ftp": "Required to use the Flysystem FTP driver.", 511 | "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", 512 | "ext-memcached": "Required to use the memcache cache driver.", 513 | "ext-pcntl": "Required to use all features of the queue worker.", 514 | "ext-posix": "Required to use all features of the queue worker.", 515 | "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", 516 | "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", 517 | "filp/whoops": "Required for friendly error pages in development (^2.8).", 518 | "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", 519 | "laravel/tinker": "Required to use the tinker console command (^2.0).", 520 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", 521 | "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", 522 | "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", 523 | "mockery/mockery": "Required to use mocking (^1.4.2).", 524 | "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", 525 | "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", 526 | "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", 527 | "predis/predis": "Required to use the predis connector (^1.1.2).", 528 | "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", 529 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", 530 | "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", 531 | "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", 532 | "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", 533 | "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." 534 | }, 535 | "type": "library", 536 | "extra": { 537 | "branch-alias": { 538 | "dev-master": "8.x-dev" 539 | } 540 | }, 541 | "autoload": { 542 | "files": [ 543 | "src/Illuminate/Collections/helpers.php", 544 | "src/Illuminate/Events/functions.php", 545 | "src/Illuminate/Foundation/helpers.php", 546 | "src/Illuminate/Support/helpers.php" 547 | ], 548 | "psr-4": { 549 | "Illuminate\\": "src/Illuminate/", 550 | "Illuminate\\Support\\": [ 551 | "src/Illuminate/Macroable/", 552 | "src/Illuminate/Collections/" 553 | ] 554 | } 555 | }, 556 | "notification-url": "https://packagist.org/downloads/", 557 | "license": [ 558 | "MIT" 559 | ], 560 | "authors": [ 561 | { 562 | "name": "Taylor Otwell", 563 | "email": "taylor@laravel.com" 564 | } 565 | ], 566 | "description": "The Laravel Framework.", 567 | "homepage": "https://laravel.com", 568 | "keywords": [ 569 | "framework", 570 | "laravel" 571 | ], 572 | "time": "2021-01-13T13:37:56+00:00" 573 | }, 574 | { 575 | "name": "league/commonmark", 576 | "version": "1.5.7", 577 | "source": { 578 | "type": "git", 579 | "url": "https://github.com/thephpleague/commonmark.git", 580 | "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" 581 | }, 582 | "dist": { 583 | "type": "zip", 584 | "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", 585 | "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", 586 | "shasum": "" 587 | }, 588 | "require": { 589 | "ext-mbstring": "*", 590 | "php": "^7.1 || ^8.0" 591 | }, 592 | "conflict": { 593 | "scrutinizer/ocular": "1.7.*" 594 | }, 595 | "require-dev": { 596 | "cebe/markdown": "~1.0", 597 | "commonmark/commonmark.js": "0.29.2", 598 | "erusev/parsedown": "~1.0", 599 | "ext-json": "*", 600 | "github/gfm": "0.29.0", 601 | "michelf/php-markdown": "~1.4", 602 | "mikehaertl/php-shellcommand": "^1.4", 603 | "phpstan/phpstan": "^0.12", 604 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", 605 | "scrutinizer/ocular": "^1.5", 606 | "symfony/finder": "^4.2" 607 | }, 608 | "bin": [ 609 | "bin/commonmark" 610 | ], 611 | "type": "library", 612 | "autoload": { 613 | "psr-4": { 614 | "League\\CommonMark\\": "src" 615 | } 616 | }, 617 | "notification-url": "https://packagist.org/downloads/", 618 | "license": [ 619 | "BSD-3-Clause" 620 | ], 621 | "authors": [ 622 | { 623 | "name": "Colin O'Dell", 624 | "email": "colinodell@gmail.com", 625 | "homepage": "https://www.colinodell.com", 626 | "role": "Lead Developer" 627 | } 628 | ], 629 | "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", 630 | "homepage": "https://commonmark.thephpleague.com", 631 | "keywords": [ 632 | "commonmark", 633 | "flavored", 634 | "gfm", 635 | "github", 636 | "github-flavored", 637 | "markdown", 638 | "md", 639 | "parser" 640 | ], 641 | "funding": [ 642 | { 643 | "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", 644 | "type": "custom" 645 | }, 646 | { 647 | "url": "https://www.colinodell.com/sponsor", 648 | "type": "custom" 649 | }, 650 | { 651 | "url": "https://www.paypal.me/colinpodell/10.00", 652 | "type": "custom" 653 | }, 654 | { 655 | "url": "https://github.com/colinodell", 656 | "type": "github" 657 | }, 658 | { 659 | "url": "https://www.patreon.com/colinodell", 660 | "type": "patreon" 661 | }, 662 | { 663 | "url": "https://tidelift.com/funding/github/packagist/league/commonmark", 664 | "type": "tidelift" 665 | } 666 | ], 667 | "time": "2020-10-31T13:49:32+00:00" 668 | }, 669 | { 670 | "name": "league/flysystem", 671 | "version": "1.1.3", 672 | "source": { 673 | "type": "git", 674 | "url": "https://github.com/thephpleague/flysystem.git", 675 | "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" 676 | }, 677 | "dist": { 678 | "type": "zip", 679 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", 680 | "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", 681 | "shasum": "" 682 | }, 683 | "require": { 684 | "ext-fileinfo": "*", 685 | "league/mime-type-detection": "^1.3", 686 | "php": "^7.2.5 || ^8.0" 687 | }, 688 | "conflict": { 689 | "league/flysystem-sftp": "<1.0.6" 690 | }, 691 | "require-dev": { 692 | "phpspec/prophecy": "^1.11.1", 693 | "phpunit/phpunit": "^8.5.8" 694 | }, 695 | "suggest": { 696 | "ext-fileinfo": "Required for MimeType", 697 | "ext-ftp": "Allows you to use FTP server storage", 698 | "ext-openssl": "Allows you to use FTPS server storage", 699 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 700 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 701 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 702 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 703 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 704 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 705 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 706 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 707 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", 708 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", 709 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" 710 | }, 711 | "type": "library", 712 | "extra": { 713 | "branch-alias": { 714 | "dev-master": "1.1-dev" 715 | } 716 | }, 717 | "autoload": { 718 | "psr-4": { 719 | "League\\Flysystem\\": "src/" 720 | } 721 | }, 722 | "notification-url": "https://packagist.org/downloads/", 723 | "license": [ 724 | "MIT" 725 | ], 726 | "authors": [ 727 | { 728 | "name": "Frank de Jonge", 729 | "email": "info@frenky.net" 730 | } 731 | ], 732 | "description": "Filesystem abstraction: Many filesystems, one API.", 733 | "keywords": [ 734 | "Cloud Files", 735 | "WebDAV", 736 | "abstraction", 737 | "aws", 738 | "cloud", 739 | "copy.com", 740 | "dropbox", 741 | "file systems", 742 | "files", 743 | "filesystem", 744 | "filesystems", 745 | "ftp", 746 | "rackspace", 747 | "remote", 748 | "s3", 749 | "sftp", 750 | "storage" 751 | ], 752 | "funding": [ 753 | { 754 | "url": "https://offset.earth/frankdejonge", 755 | "type": "other" 756 | } 757 | ], 758 | "time": "2020-08-23T07:39:11+00:00" 759 | }, 760 | { 761 | "name": "league/mime-type-detection", 762 | "version": "1.5.1", 763 | "source": { 764 | "type": "git", 765 | "url": "https://github.com/thephpleague/mime-type-detection.git", 766 | "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa" 767 | }, 768 | "dist": { 769 | "type": "zip", 770 | "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa", 771 | "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa", 772 | "shasum": "" 773 | }, 774 | "require": { 775 | "ext-fileinfo": "*", 776 | "php": "^7.2 || ^8.0" 777 | }, 778 | "require-dev": { 779 | "phpstan/phpstan": "^0.12.36", 780 | "phpunit/phpunit": "^8.5.8" 781 | }, 782 | "type": "library", 783 | "autoload": { 784 | "psr-4": { 785 | "League\\MimeTypeDetection\\": "src" 786 | } 787 | }, 788 | "notification-url": "https://packagist.org/downloads/", 789 | "license": [ 790 | "MIT" 791 | ], 792 | "authors": [ 793 | { 794 | "name": "Frank de Jonge", 795 | "email": "info@frankdejonge.nl" 796 | } 797 | ], 798 | "description": "Mime-type detection for Flysystem", 799 | "funding": [ 800 | { 801 | "url": "https://github.com/frankdejonge", 802 | "type": "github" 803 | }, 804 | { 805 | "url": "https://tidelift.com/funding/github/packagist/league/flysystem", 806 | "type": "tidelift" 807 | } 808 | ], 809 | "time": "2020-10-18T11:50:25+00:00" 810 | }, 811 | { 812 | "name": "monolog/monolog", 813 | "version": "2.2.0", 814 | "source": { 815 | "type": "git", 816 | "url": "https://github.com/Seldaek/monolog.git", 817 | "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" 818 | }, 819 | "dist": { 820 | "type": "zip", 821 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", 822 | "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", 823 | "shasum": "" 824 | }, 825 | "require": { 826 | "php": ">=7.2", 827 | "psr/log": "^1.0.1" 828 | }, 829 | "provide": { 830 | "psr/log-implementation": "1.0.0" 831 | }, 832 | "require-dev": { 833 | "aws/aws-sdk-php": "^2.4.9 || ^3.0", 834 | "doctrine/couchdb": "~1.0@dev", 835 | "elasticsearch/elasticsearch": "^7", 836 | "graylog2/gelf-php": "^1.4.2", 837 | "mongodb/mongodb": "^1.8", 838 | "php-amqplib/php-amqplib": "~2.4", 839 | "php-console/php-console": "^3.1.3", 840 | "phpspec/prophecy": "^1.6.1", 841 | "phpstan/phpstan": "^0.12.59", 842 | "phpunit/phpunit": "^8.5", 843 | "predis/predis": "^1.1", 844 | "rollbar/rollbar": "^1.3", 845 | "ruflin/elastica": ">=0.90 <7.0.1", 846 | "swiftmailer/swiftmailer": "^5.3|^6.0" 847 | }, 848 | "suggest": { 849 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 850 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 851 | "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", 852 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 853 | "ext-mbstring": "Allow to work properly with unicode symbols", 854 | "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", 855 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 856 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", 857 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 858 | "php-console/php-console": "Allow sending log messages to Google Chrome", 859 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 860 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server" 861 | }, 862 | "type": "library", 863 | "extra": { 864 | "branch-alias": { 865 | "dev-main": "2.x-dev" 866 | } 867 | }, 868 | "autoload": { 869 | "psr-4": { 870 | "Monolog\\": "src/Monolog" 871 | } 872 | }, 873 | "notification-url": "https://packagist.org/downloads/", 874 | "license": [ 875 | "MIT" 876 | ], 877 | "authors": [ 878 | { 879 | "name": "Jordi Boggiano", 880 | "email": "j.boggiano@seld.be", 881 | "homepage": "https://seld.be" 882 | } 883 | ], 884 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 885 | "homepage": "https://github.com/Seldaek/monolog", 886 | "keywords": [ 887 | "log", 888 | "logging", 889 | "psr-3" 890 | ], 891 | "funding": [ 892 | { 893 | "url": "https://github.com/Seldaek", 894 | "type": "github" 895 | }, 896 | { 897 | "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", 898 | "type": "tidelift" 899 | } 900 | ], 901 | "time": "2020-12-14T13:15:25+00:00" 902 | }, 903 | { 904 | "name": "nesbot/carbon", 905 | "version": "2.43.0", 906 | "source": { 907 | "type": "git", 908 | "url": "https://github.com/briannesbitt/Carbon.git", 909 | "reference": "d32c57d8389113742f4a88725a170236470012e2" 910 | }, 911 | "dist": { 912 | "type": "zip", 913 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2", 914 | "reference": "d32c57d8389113742f4a88725a170236470012e2", 915 | "shasum": "" 916 | }, 917 | "require": { 918 | "ext-json": "*", 919 | "php": "^7.1.8 || ^8.0", 920 | "symfony/polyfill-mbstring": "^1.0", 921 | "symfony/translation": "^3.4 || ^4.0 || ^5.0" 922 | }, 923 | "require-dev": { 924 | "doctrine/orm": "^2.7", 925 | "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", 926 | "kylekatarnls/multi-tester": "^2.0", 927 | "phpmd/phpmd": "^2.9", 928 | "phpstan/extension-installer": "^1.0", 929 | "phpstan/phpstan": "^0.12.54", 930 | "phpunit/phpunit": "^7.5 || ^8.0", 931 | "squizlabs/php_codesniffer": "^3.4" 932 | }, 933 | "bin": [ 934 | "bin/carbon" 935 | ], 936 | "type": "library", 937 | "extra": { 938 | "branch-alias": { 939 | "dev-master": "2.x-dev", 940 | "dev-3.x": "3.x-dev" 941 | }, 942 | "laravel": { 943 | "providers": [ 944 | "Carbon\\Laravel\\ServiceProvider" 945 | ] 946 | }, 947 | "phpstan": { 948 | "includes": [ 949 | "extension.neon" 950 | ] 951 | } 952 | }, 953 | "autoload": { 954 | "psr-4": { 955 | "Carbon\\": "src/Carbon/" 956 | } 957 | }, 958 | "notification-url": "https://packagist.org/downloads/", 959 | "license": [ 960 | "MIT" 961 | ], 962 | "authors": [ 963 | { 964 | "name": "Brian Nesbitt", 965 | "email": "brian@nesbot.com", 966 | "homepage": "http://nesbot.com" 967 | }, 968 | { 969 | "name": "kylekatarnls", 970 | "homepage": "http://github.com/kylekatarnls" 971 | } 972 | ], 973 | "description": "An API extension for DateTime that supports 281 different languages.", 974 | "homepage": "http://carbon.nesbot.com", 975 | "keywords": [ 976 | "date", 977 | "datetime", 978 | "time" 979 | ], 980 | "funding": [ 981 | { 982 | "url": "https://opencollective.com/Carbon", 983 | "type": "open_collective" 984 | }, 985 | { 986 | "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", 987 | "type": "tidelift" 988 | } 989 | ], 990 | "time": "2020-12-17T20:55:32+00:00" 991 | }, 992 | { 993 | "name": "opis/closure", 994 | "version": "3.6.1", 995 | "source": { 996 | "type": "git", 997 | "url": "https://github.com/opis/closure.git", 998 | "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" 999 | }, 1000 | "dist": { 1001 | "type": "zip", 1002 | "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", 1003 | "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", 1004 | "shasum": "" 1005 | }, 1006 | "require": { 1007 | "php": "^5.4 || ^7.0 || ^8.0" 1008 | }, 1009 | "require-dev": { 1010 | "jeremeamia/superclosure": "^2.0", 1011 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" 1012 | }, 1013 | "type": "library", 1014 | "extra": { 1015 | "branch-alias": { 1016 | "dev-master": "3.6.x-dev" 1017 | } 1018 | }, 1019 | "autoload": { 1020 | "psr-4": { 1021 | "Opis\\Closure\\": "src/" 1022 | }, 1023 | "files": [ 1024 | "functions.php" 1025 | ] 1026 | }, 1027 | "notification-url": "https://packagist.org/downloads/", 1028 | "license": [ 1029 | "MIT" 1030 | ], 1031 | "authors": [ 1032 | { 1033 | "name": "Marius Sarca", 1034 | "email": "marius.sarca@gmail.com" 1035 | }, 1036 | { 1037 | "name": "Sorin Sarca", 1038 | "email": "sarca_sorin@hotmail.com" 1039 | } 1040 | ], 1041 | "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", 1042 | "homepage": "https://opis.io/closure", 1043 | "keywords": [ 1044 | "anonymous functions", 1045 | "closure", 1046 | "function", 1047 | "serializable", 1048 | "serialization", 1049 | "serialize" 1050 | ], 1051 | "time": "2020-11-07T02:01:34+00:00" 1052 | }, 1053 | { 1054 | "name": "phpoption/phpoption", 1055 | "version": "1.7.5", 1056 | "source": { 1057 | "type": "git", 1058 | "url": "https://github.com/schmittjoh/php-option.git", 1059 | "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" 1060 | }, 1061 | "dist": { 1062 | "type": "zip", 1063 | "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", 1064 | "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", 1065 | "shasum": "" 1066 | }, 1067 | "require": { 1068 | "php": "^5.5.9 || ^7.0 || ^8.0" 1069 | }, 1070 | "require-dev": { 1071 | "bamarni/composer-bin-plugin": "^1.4.1", 1072 | "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" 1073 | }, 1074 | "type": "library", 1075 | "extra": { 1076 | "branch-alias": { 1077 | "dev-master": "1.7-dev" 1078 | } 1079 | }, 1080 | "autoload": { 1081 | "psr-4": { 1082 | "PhpOption\\": "src/PhpOption/" 1083 | } 1084 | }, 1085 | "notification-url": "https://packagist.org/downloads/", 1086 | "license": [ 1087 | "Apache-2.0" 1088 | ], 1089 | "authors": [ 1090 | { 1091 | "name": "Johannes M. Schmitt", 1092 | "email": "schmittjoh@gmail.com" 1093 | }, 1094 | { 1095 | "name": "Graham Campbell", 1096 | "email": "graham@alt-three.com" 1097 | } 1098 | ], 1099 | "description": "Option Type for PHP", 1100 | "keywords": [ 1101 | "language", 1102 | "option", 1103 | "php", 1104 | "type" 1105 | ], 1106 | "funding": [ 1107 | { 1108 | "url": "https://github.com/GrahamCampbell", 1109 | "type": "github" 1110 | }, 1111 | { 1112 | "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", 1113 | "type": "tidelift" 1114 | } 1115 | ], 1116 | "time": "2020-07-20T17:29:33+00:00" 1117 | }, 1118 | { 1119 | "name": "psr/container", 1120 | "version": "1.0.0", 1121 | "source": { 1122 | "type": "git", 1123 | "url": "https://github.com/php-fig/container.git", 1124 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 1125 | }, 1126 | "dist": { 1127 | "type": "zip", 1128 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1129 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1130 | "shasum": "" 1131 | }, 1132 | "require": { 1133 | "php": ">=5.3.0" 1134 | }, 1135 | "type": "library", 1136 | "extra": { 1137 | "branch-alias": { 1138 | "dev-master": "1.0.x-dev" 1139 | } 1140 | }, 1141 | "autoload": { 1142 | "psr-4": { 1143 | "Psr\\Container\\": "src/" 1144 | } 1145 | }, 1146 | "notification-url": "https://packagist.org/downloads/", 1147 | "license": [ 1148 | "MIT" 1149 | ], 1150 | "authors": [ 1151 | { 1152 | "name": "PHP-FIG", 1153 | "homepage": "http://www.php-fig.org/" 1154 | } 1155 | ], 1156 | "description": "Common Container Interface (PHP FIG PSR-11)", 1157 | "homepage": "https://github.com/php-fig/container", 1158 | "keywords": [ 1159 | "PSR-11", 1160 | "container", 1161 | "container-interface", 1162 | "container-interop", 1163 | "psr" 1164 | ], 1165 | "time": "2017-02-14T16:28:37+00:00" 1166 | }, 1167 | { 1168 | "name": "psr/event-dispatcher", 1169 | "version": "1.0.0", 1170 | "source": { 1171 | "type": "git", 1172 | "url": "https://github.com/php-fig/event-dispatcher.git", 1173 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" 1174 | }, 1175 | "dist": { 1176 | "type": "zip", 1177 | "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", 1178 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", 1179 | "shasum": "" 1180 | }, 1181 | "require": { 1182 | "php": ">=7.2.0" 1183 | }, 1184 | "type": "library", 1185 | "extra": { 1186 | "branch-alias": { 1187 | "dev-master": "1.0.x-dev" 1188 | } 1189 | }, 1190 | "autoload": { 1191 | "psr-4": { 1192 | "Psr\\EventDispatcher\\": "src/" 1193 | } 1194 | }, 1195 | "notification-url": "https://packagist.org/downloads/", 1196 | "license": [ 1197 | "MIT" 1198 | ], 1199 | "authors": [ 1200 | { 1201 | "name": "PHP-FIG", 1202 | "homepage": "http://www.php-fig.org/" 1203 | } 1204 | ], 1205 | "description": "Standard interfaces for event handling.", 1206 | "keywords": [ 1207 | "events", 1208 | "psr", 1209 | "psr-14" 1210 | ], 1211 | "time": "2019-01-08T18:20:26+00:00" 1212 | }, 1213 | { 1214 | "name": "psr/log", 1215 | "version": "1.1.3", 1216 | "source": { 1217 | "type": "git", 1218 | "url": "https://github.com/php-fig/log.git", 1219 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" 1220 | }, 1221 | "dist": { 1222 | "type": "zip", 1223 | "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", 1224 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", 1225 | "shasum": "" 1226 | }, 1227 | "require": { 1228 | "php": ">=5.3.0" 1229 | }, 1230 | "type": "library", 1231 | "extra": { 1232 | "branch-alias": { 1233 | "dev-master": "1.1.x-dev" 1234 | } 1235 | }, 1236 | "autoload": { 1237 | "psr-4": { 1238 | "Psr\\Log\\": "Psr/Log/" 1239 | } 1240 | }, 1241 | "notification-url": "https://packagist.org/downloads/", 1242 | "license": [ 1243 | "MIT" 1244 | ], 1245 | "authors": [ 1246 | { 1247 | "name": "PHP-FIG", 1248 | "homepage": "http://www.php-fig.org/" 1249 | } 1250 | ], 1251 | "description": "Common interface for logging libraries", 1252 | "homepage": "https://github.com/php-fig/log", 1253 | "keywords": [ 1254 | "log", 1255 | "psr", 1256 | "psr-3" 1257 | ], 1258 | "time": "2020-03-23T09:12:05+00:00" 1259 | }, 1260 | { 1261 | "name": "psr/simple-cache", 1262 | "version": "1.0.1", 1263 | "source": { 1264 | "type": "git", 1265 | "url": "https://github.com/php-fig/simple-cache.git", 1266 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" 1267 | }, 1268 | "dist": { 1269 | "type": "zip", 1270 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1271 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1272 | "shasum": "" 1273 | }, 1274 | "require": { 1275 | "php": ">=5.3.0" 1276 | }, 1277 | "type": "library", 1278 | "extra": { 1279 | "branch-alias": { 1280 | "dev-master": "1.0.x-dev" 1281 | } 1282 | }, 1283 | "autoload": { 1284 | "psr-4": { 1285 | "Psr\\SimpleCache\\": "src/" 1286 | } 1287 | }, 1288 | "notification-url": "https://packagist.org/downloads/", 1289 | "license": [ 1290 | "MIT" 1291 | ], 1292 | "authors": [ 1293 | { 1294 | "name": "PHP-FIG", 1295 | "homepage": "http://www.php-fig.org/" 1296 | } 1297 | ], 1298 | "description": "Common interfaces for simple caching", 1299 | "keywords": [ 1300 | "cache", 1301 | "caching", 1302 | "psr", 1303 | "psr-16", 1304 | "simple-cache" 1305 | ], 1306 | "time": "2017-10-23T01:57:42+00:00" 1307 | }, 1308 | { 1309 | "name": "ramsey/collection", 1310 | "version": "1.1.1", 1311 | "source": { 1312 | "type": "git", 1313 | "url": "https://github.com/ramsey/collection.git", 1314 | "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1" 1315 | }, 1316 | "dist": { 1317 | "type": "zip", 1318 | "url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1", 1319 | "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1", 1320 | "shasum": "" 1321 | }, 1322 | "require": { 1323 | "php": "^7.2 || ^8" 1324 | }, 1325 | "require-dev": { 1326 | "captainhook/captainhook": "^5.3", 1327 | "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", 1328 | "ergebnis/composer-normalize": "^2.6", 1329 | "fzaninotto/faker": "^1.5", 1330 | "hamcrest/hamcrest-php": "^2", 1331 | "jangregor/phpstan-prophecy": "^0.6", 1332 | "mockery/mockery": "^1.3", 1333 | "phpstan/extension-installer": "^1", 1334 | "phpstan/phpstan": "^0.12.32", 1335 | "phpstan/phpstan-mockery": "^0.12.5", 1336 | "phpstan/phpstan-phpunit": "^0.12.11", 1337 | "phpunit/phpunit": "^8.5", 1338 | "psy/psysh": "^0.10.4", 1339 | "slevomat/coding-standard": "^6.3", 1340 | "squizlabs/php_codesniffer": "^3.5", 1341 | "vimeo/psalm": "^3.12.2" 1342 | }, 1343 | "type": "library", 1344 | "autoload": { 1345 | "psr-4": { 1346 | "Ramsey\\Collection\\": "src/" 1347 | } 1348 | }, 1349 | "notification-url": "https://packagist.org/downloads/", 1350 | "license": [ 1351 | "MIT" 1352 | ], 1353 | "authors": [ 1354 | { 1355 | "name": "Ben Ramsey", 1356 | "email": "ben@benramsey.com", 1357 | "homepage": "https://benramsey.com" 1358 | } 1359 | ], 1360 | "description": "A PHP 7.2+ library for representing and manipulating collections.", 1361 | "keywords": [ 1362 | "array", 1363 | "collection", 1364 | "hash", 1365 | "map", 1366 | "queue", 1367 | "set" 1368 | ], 1369 | "funding": [ 1370 | { 1371 | "url": "https://github.com/ramsey", 1372 | "type": "github" 1373 | } 1374 | ], 1375 | "time": "2020-09-10T20:58:17+00:00" 1376 | }, 1377 | { 1378 | "name": "ramsey/uuid", 1379 | "version": "4.1.1", 1380 | "source": { 1381 | "type": "git", 1382 | "url": "https://github.com/ramsey/uuid.git", 1383 | "reference": "cd4032040a750077205918c86049aa0f43d22947" 1384 | }, 1385 | "dist": { 1386 | "type": "zip", 1387 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", 1388 | "reference": "cd4032040a750077205918c86049aa0f43d22947", 1389 | "shasum": "" 1390 | }, 1391 | "require": { 1392 | "brick/math": "^0.8 || ^0.9", 1393 | "ext-json": "*", 1394 | "php": "^7.2 || ^8", 1395 | "ramsey/collection": "^1.0", 1396 | "symfony/polyfill-ctype": "^1.8" 1397 | }, 1398 | "replace": { 1399 | "rhumsaa/uuid": "self.version" 1400 | }, 1401 | "require-dev": { 1402 | "codeception/aspect-mock": "^3", 1403 | "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", 1404 | "doctrine/annotations": "^1.8", 1405 | "goaop/framework": "^2", 1406 | "mockery/mockery": "^1.3", 1407 | "moontoast/math": "^1.1", 1408 | "paragonie/random-lib": "^2", 1409 | "php-mock/php-mock-mockery": "^1.3", 1410 | "php-mock/php-mock-phpunit": "^2.5", 1411 | "php-parallel-lint/php-parallel-lint": "^1.1", 1412 | "phpbench/phpbench": "^0.17.1", 1413 | "phpstan/extension-installer": "^1.0", 1414 | "phpstan/phpstan": "^0.12", 1415 | "phpstan/phpstan-mockery": "^0.12", 1416 | "phpstan/phpstan-phpunit": "^0.12", 1417 | "phpunit/phpunit": "^8.5", 1418 | "psy/psysh": "^0.10.0", 1419 | "slevomat/coding-standard": "^6.0", 1420 | "squizlabs/php_codesniffer": "^3.5", 1421 | "vimeo/psalm": "3.9.4" 1422 | }, 1423 | "suggest": { 1424 | "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", 1425 | "ext-ctype": "Enables faster processing of character classification using ctype functions.", 1426 | "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", 1427 | "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", 1428 | "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", 1429 | "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." 1430 | }, 1431 | "type": "library", 1432 | "extra": { 1433 | "branch-alias": { 1434 | "dev-master": "4.x-dev" 1435 | } 1436 | }, 1437 | "autoload": { 1438 | "psr-4": { 1439 | "Ramsey\\Uuid\\": "src/" 1440 | }, 1441 | "files": [ 1442 | "src/functions.php" 1443 | ] 1444 | }, 1445 | "notification-url": "https://packagist.org/downloads/", 1446 | "license": [ 1447 | "MIT" 1448 | ], 1449 | "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", 1450 | "homepage": "https://github.com/ramsey/uuid", 1451 | "keywords": [ 1452 | "guid", 1453 | "identifier", 1454 | "uuid" 1455 | ], 1456 | "funding": [ 1457 | { 1458 | "url": "https://github.com/ramsey", 1459 | "type": "github" 1460 | } 1461 | ], 1462 | "time": "2020-08-18T17:17:46+00:00" 1463 | }, 1464 | { 1465 | "name": "swiftmailer/swiftmailer", 1466 | "version": "v6.2.5", 1467 | "source": { 1468 | "type": "git", 1469 | "url": "https://github.com/swiftmailer/swiftmailer.git", 1470 | "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7" 1471 | }, 1472 | "dist": { 1473 | "type": "zip", 1474 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7", 1475 | "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7", 1476 | "shasum": "" 1477 | }, 1478 | "require": { 1479 | "egulias/email-validator": "^2.0", 1480 | "php": ">=7.0.0", 1481 | "symfony/polyfill-iconv": "^1.0", 1482 | "symfony/polyfill-intl-idn": "^1.10", 1483 | "symfony/polyfill-mbstring": "^1.0" 1484 | }, 1485 | "require-dev": { 1486 | "mockery/mockery": "^1.0", 1487 | "symfony/phpunit-bridge": "^4.4|^5.0" 1488 | }, 1489 | "suggest": { 1490 | "ext-intl": "Needed to support internationalized email addresses" 1491 | }, 1492 | "type": "library", 1493 | "extra": { 1494 | "branch-alias": { 1495 | "dev-master": "6.2-dev" 1496 | } 1497 | }, 1498 | "autoload": { 1499 | "files": [ 1500 | "lib/swift_required.php" 1501 | ] 1502 | }, 1503 | "notification-url": "https://packagist.org/downloads/", 1504 | "license": [ 1505 | "MIT" 1506 | ], 1507 | "authors": [ 1508 | { 1509 | "name": "Chris Corbyn" 1510 | }, 1511 | { 1512 | "name": "Fabien Potencier", 1513 | "email": "fabien@symfony.com" 1514 | } 1515 | ], 1516 | "description": "Swiftmailer, free feature-rich PHP mailer", 1517 | "homepage": "https://swiftmailer.symfony.com", 1518 | "keywords": [ 1519 | "email", 1520 | "mail", 1521 | "mailer" 1522 | ], 1523 | "funding": [ 1524 | { 1525 | "url": "https://github.com/fabpot", 1526 | "type": "github" 1527 | }, 1528 | { 1529 | "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", 1530 | "type": "tidelift" 1531 | } 1532 | ], 1533 | "time": "2021-01-12T09:35:59+00:00" 1534 | }, 1535 | { 1536 | "name": "symfony/console", 1537 | "version": "v5.2.1", 1538 | "source": { 1539 | "type": "git", 1540 | "url": "https://github.com/symfony/console.git", 1541 | "reference": "47c02526c532fb381374dab26df05e7313978976" 1542 | }, 1543 | "dist": { 1544 | "type": "zip", 1545 | "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", 1546 | "reference": "47c02526c532fb381374dab26df05e7313978976", 1547 | "shasum": "" 1548 | }, 1549 | "require": { 1550 | "php": ">=7.2.5", 1551 | "symfony/polyfill-mbstring": "~1.0", 1552 | "symfony/polyfill-php73": "^1.8", 1553 | "symfony/polyfill-php80": "^1.15", 1554 | "symfony/service-contracts": "^1.1|^2", 1555 | "symfony/string": "^5.1" 1556 | }, 1557 | "conflict": { 1558 | "symfony/dependency-injection": "<4.4", 1559 | "symfony/dotenv": "<5.1", 1560 | "symfony/event-dispatcher": "<4.4", 1561 | "symfony/lock": "<4.4", 1562 | "symfony/process": "<4.4" 1563 | }, 1564 | "provide": { 1565 | "psr/log-implementation": "1.0" 1566 | }, 1567 | "require-dev": { 1568 | "psr/log": "~1.0", 1569 | "symfony/config": "^4.4|^5.0", 1570 | "symfony/dependency-injection": "^4.4|^5.0", 1571 | "symfony/event-dispatcher": "^4.4|^5.0", 1572 | "symfony/lock": "^4.4|^5.0", 1573 | "symfony/process": "^4.4|^5.0", 1574 | "symfony/var-dumper": "^4.4|^5.0" 1575 | }, 1576 | "suggest": { 1577 | "psr/log": "For using the console logger", 1578 | "symfony/event-dispatcher": "", 1579 | "symfony/lock": "", 1580 | "symfony/process": "" 1581 | }, 1582 | "type": "library", 1583 | "autoload": { 1584 | "psr-4": { 1585 | "Symfony\\Component\\Console\\": "" 1586 | }, 1587 | "exclude-from-classmap": [ 1588 | "/Tests/" 1589 | ] 1590 | }, 1591 | "notification-url": "https://packagist.org/downloads/", 1592 | "license": [ 1593 | "MIT" 1594 | ], 1595 | "authors": [ 1596 | { 1597 | "name": "Fabien Potencier", 1598 | "email": "fabien@symfony.com" 1599 | }, 1600 | { 1601 | "name": "Symfony Community", 1602 | "homepage": "https://symfony.com/contributors" 1603 | } 1604 | ], 1605 | "description": "Symfony Console Component", 1606 | "homepage": "https://symfony.com", 1607 | "keywords": [ 1608 | "cli", 1609 | "command line", 1610 | "console", 1611 | "terminal" 1612 | ], 1613 | "funding": [ 1614 | { 1615 | "url": "https://symfony.com/sponsor", 1616 | "type": "custom" 1617 | }, 1618 | { 1619 | "url": "https://github.com/fabpot", 1620 | "type": "github" 1621 | }, 1622 | { 1623 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1624 | "type": "tidelift" 1625 | } 1626 | ], 1627 | "time": "2020-12-18T08:03:05+00:00" 1628 | }, 1629 | { 1630 | "name": "symfony/css-selector", 1631 | "version": "v5.2.1", 1632 | "source": { 1633 | "type": "git", 1634 | "url": "https://github.com/symfony/css-selector.git", 1635 | "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054" 1636 | }, 1637 | "dist": { 1638 | "type": "zip", 1639 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054", 1640 | "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054", 1641 | "shasum": "" 1642 | }, 1643 | "require": { 1644 | "php": ">=7.2.5" 1645 | }, 1646 | "type": "library", 1647 | "autoload": { 1648 | "psr-4": { 1649 | "Symfony\\Component\\CssSelector\\": "" 1650 | }, 1651 | "exclude-from-classmap": [ 1652 | "/Tests/" 1653 | ] 1654 | }, 1655 | "notification-url": "https://packagist.org/downloads/", 1656 | "license": [ 1657 | "MIT" 1658 | ], 1659 | "authors": [ 1660 | { 1661 | "name": "Fabien Potencier", 1662 | "email": "fabien@symfony.com" 1663 | }, 1664 | { 1665 | "name": "Jean-François Simon", 1666 | "email": "jeanfrancois.simon@sensiolabs.com" 1667 | }, 1668 | { 1669 | "name": "Symfony Community", 1670 | "homepage": "https://symfony.com/contributors" 1671 | } 1672 | ], 1673 | "description": "Symfony CssSelector Component", 1674 | "homepage": "https://symfony.com", 1675 | "funding": [ 1676 | { 1677 | "url": "https://symfony.com/sponsor", 1678 | "type": "custom" 1679 | }, 1680 | { 1681 | "url": "https://github.com/fabpot", 1682 | "type": "github" 1683 | }, 1684 | { 1685 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1686 | "type": "tidelift" 1687 | } 1688 | ], 1689 | "time": "2020-12-08T17:02:38+00:00" 1690 | }, 1691 | { 1692 | "name": "symfony/deprecation-contracts", 1693 | "version": "v2.2.0", 1694 | "source": { 1695 | "type": "git", 1696 | "url": "https://github.com/symfony/deprecation-contracts.git", 1697 | "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" 1698 | }, 1699 | "dist": { 1700 | "type": "zip", 1701 | "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", 1702 | "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", 1703 | "shasum": "" 1704 | }, 1705 | "require": { 1706 | "php": ">=7.1" 1707 | }, 1708 | "type": "library", 1709 | "extra": { 1710 | "branch-alias": { 1711 | "dev-master": "2.2-dev" 1712 | }, 1713 | "thanks": { 1714 | "name": "symfony/contracts", 1715 | "url": "https://github.com/symfony/contracts" 1716 | } 1717 | }, 1718 | "autoload": { 1719 | "files": [ 1720 | "function.php" 1721 | ] 1722 | }, 1723 | "notification-url": "https://packagist.org/downloads/", 1724 | "license": [ 1725 | "MIT" 1726 | ], 1727 | "authors": [ 1728 | { 1729 | "name": "Nicolas Grekas", 1730 | "email": "p@tchwork.com" 1731 | }, 1732 | { 1733 | "name": "Symfony Community", 1734 | "homepage": "https://symfony.com/contributors" 1735 | } 1736 | ], 1737 | "description": "A generic function and convention to trigger deprecation notices", 1738 | "homepage": "https://symfony.com", 1739 | "funding": [ 1740 | { 1741 | "url": "https://symfony.com/sponsor", 1742 | "type": "custom" 1743 | }, 1744 | { 1745 | "url": "https://github.com/fabpot", 1746 | "type": "github" 1747 | }, 1748 | { 1749 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1750 | "type": "tidelift" 1751 | } 1752 | ], 1753 | "time": "2020-09-07T11:33:47+00:00" 1754 | }, 1755 | { 1756 | "name": "symfony/error-handler", 1757 | "version": "v5.2.1", 1758 | "source": { 1759 | "type": "git", 1760 | "url": "https://github.com/symfony/error-handler.git", 1761 | "reference": "59b190ce16ddf32771a22087b60f6dafd3407147" 1762 | }, 1763 | "dist": { 1764 | "type": "zip", 1765 | "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147", 1766 | "reference": "59b190ce16ddf32771a22087b60f6dafd3407147", 1767 | "shasum": "" 1768 | }, 1769 | "require": { 1770 | "php": ">=7.2.5", 1771 | "psr/log": "^1.0", 1772 | "symfony/polyfill-php80": "^1.15", 1773 | "symfony/var-dumper": "^4.4|^5.0" 1774 | }, 1775 | "require-dev": { 1776 | "symfony/deprecation-contracts": "^2.1", 1777 | "symfony/http-kernel": "^4.4|^5.0", 1778 | "symfony/serializer": "^4.4|^5.0" 1779 | }, 1780 | "type": "library", 1781 | "autoload": { 1782 | "psr-4": { 1783 | "Symfony\\Component\\ErrorHandler\\": "" 1784 | }, 1785 | "exclude-from-classmap": [ 1786 | "/Tests/" 1787 | ] 1788 | }, 1789 | "notification-url": "https://packagist.org/downloads/", 1790 | "license": [ 1791 | "MIT" 1792 | ], 1793 | "authors": [ 1794 | { 1795 | "name": "Fabien Potencier", 1796 | "email": "fabien@symfony.com" 1797 | }, 1798 | { 1799 | "name": "Symfony Community", 1800 | "homepage": "https://symfony.com/contributors" 1801 | } 1802 | ], 1803 | "description": "Symfony ErrorHandler Component", 1804 | "homepage": "https://symfony.com", 1805 | "funding": [ 1806 | { 1807 | "url": "https://symfony.com/sponsor", 1808 | "type": "custom" 1809 | }, 1810 | { 1811 | "url": "https://github.com/fabpot", 1812 | "type": "github" 1813 | }, 1814 | { 1815 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1816 | "type": "tidelift" 1817 | } 1818 | ], 1819 | "time": "2020-12-09T18:54:12+00:00" 1820 | }, 1821 | { 1822 | "name": "symfony/event-dispatcher", 1823 | "version": "v5.2.1", 1824 | "source": { 1825 | "type": "git", 1826 | "url": "https://github.com/symfony/event-dispatcher.git", 1827 | "reference": "1c93f7a1dff592c252574c79a8635a8a80856042" 1828 | }, 1829 | "dist": { 1830 | "type": "zip", 1831 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042", 1832 | "reference": "1c93f7a1dff592c252574c79a8635a8a80856042", 1833 | "shasum": "" 1834 | }, 1835 | "require": { 1836 | "php": ">=7.2.5", 1837 | "symfony/deprecation-contracts": "^2.1", 1838 | "symfony/event-dispatcher-contracts": "^2", 1839 | "symfony/polyfill-php80": "^1.15" 1840 | }, 1841 | "conflict": { 1842 | "symfony/dependency-injection": "<4.4" 1843 | }, 1844 | "provide": { 1845 | "psr/event-dispatcher-implementation": "1.0", 1846 | "symfony/event-dispatcher-implementation": "2.0" 1847 | }, 1848 | "require-dev": { 1849 | "psr/log": "~1.0", 1850 | "symfony/config": "^4.4|^5.0", 1851 | "symfony/dependency-injection": "^4.4|^5.0", 1852 | "symfony/error-handler": "^4.4|^5.0", 1853 | "symfony/expression-language": "^4.4|^5.0", 1854 | "symfony/http-foundation": "^4.4|^5.0", 1855 | "symfony/service-contracts": "^1.1|^2", 1856 | "symfony/stopwatch": "^4.4|^5.0" 1857 | }, 1858 | "suggest": { 1859 | "symfony/dependency-injection": "", 1860 | "symfony/http-kernel": "" 1861 | }, 1862 | "type": "library", 1863 | "autoload": { 1864 | "psr-4": { 1865 | "Symfony\\Component\\EventDispatcher\\": "" 1866 | }, 1867 | "exclude-from-classmap": [ 1868 | "/Tests/" 1869 | ] 1870 | }, 1871 | "notification-url": "https://packagist.org/downloads/", 1872 | "license": [ 1873 | "MIT" 1874 | ], 1875 | "authors": [ 1876 | { 1877 | "name": "Fabien Potencier", 1878 | "email": "fabien@symfony.com" 1879 | }, 1880 | { 1881 | "name": "Symfony Community", 1882 | "homepage": "https://symfony.com/contributors" 1883 | } 1884 | ], 1885 | "description": "Symfony EventDispatcher Component", 1886 | "homepage": "https://symfony.com", 1887 | "funding": [ 1888 | { 1889 | "url": "https://symfony.com/sponsor", 1890 | "type": "custom" 1891 | }, 1892 | { 1893 | "url": "https://github.com/fabpot", 1894 | "type": "github" 1895 | }, 1896 | { 1897 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1898 | "type": "tidelift" 1899 | } 1900 | ], 1901 | "time": "2020-12-18T08:03:05+00:00" 1902 | }, 1903 | { 1904 | "name": "symfony/event-dispatcher-contracts", 1905 | "version": "v2.2.0", 1906 | "source": { 1907 | "type": "git", 1908 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", 1909 | "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" 1910 | }, 1911 | "dist": { 1912 | "type": "zip", 1913 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", 1914 | "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", 1915 | "shasum": "" 1916 | }, 1917 | "require": { 1918 | "php": ">=7.2.5", 1919 | "psr/event-dispatcher": "^1" 1920 | }, 1921 | "suggest": { 1922 | "symfony/event-dispatcher-implementation": "" 1923 | }, 1924 | "type": "library", 1925 | "extra": { 1926 | "branch-alias": { 1927 | "dev-master": "2.2-dev" 1928 | }, 1929 | "thanks": { 1930 | "name": "symfony/contracts", 1931 | "url": "https://github.com/symfony/contracts" 1932 | } 1933 | }, 1934 | "autoload": { 1935 | "psr-4": { 1936 | "Symfony\\Contracts\\EventDispatcher\\": "" 1937 | } 1938 | }, 1939 | "notification-url": "https://packagist.org/downloads/", 1940 | "license": [ 1941 | "MIT" 1942 | ], 1943 | "authors": [ 1944 | { 1945 | "name": "Nicolas Grekas", 1946 | "email": "p@tchwork.com" 1947 | }, 1948 | { 1949 | "name": "Symfony Community", 1950 | "homepage": "https://symfony.com/contributors" 1951 | } 1952 | ], 1953 | "description": "Generic abstractions related to dispatching event", 1954 | "homepage": "https://symfony.com", 1955 | "keywords": [ 1956 | "abstractions", 1957 | "contracts", 1958 | "decoupling", 1959 | "interfaces", 1960 | "interoperability", 1961 | "standards" 1962 | ], 1963 | "funding": [ 1964 | { 1965 | "url": "https://symfony.com/sponsor", 1966 | "type": "custom" 1967 | }, 1968 | { 1969 | "url": "https://github.com/fabpot", 1970 | "type": "github" 1971 | }, 1972 | { 1973 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 1974 | "type": "tidelift" 1975 | } 1976 | ], 1977 | "time": "2020-09-07T11:33:47+00:00" 1978 | }, 1979 | { 1980 | "name": "symfony/finder", 1981 | "version": "v5.2.1", 1982 | "source": { 1983 | "type": "git", 1984 | "url": "https://github.com/symfony/finder.git", 1985 | "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba" 1986 | }, 1987 | "dist": { 1988 | "type": "zip", 1989 | "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba", 1990 | "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba", 1991 | "shasum": "" 1992 | }, 1993 | "require": { 1994 | "php": ">=7.2.5" 1995 | }, 1996 | "type": "library", 1997 | "autoload": { 1998 | "psr-4": { 1999 | "Symfony\\Component\\Finder\\": "" 2000 | }, 2001 | "exclude-from-classmap": [ 2002 | "/Tests/" 2003 | ] 2004 | }, 2005 | "notification-url": "https://packagist.org/downloads/", 2006 | "license": [ 2007 | "MIT" 2008 | ], 2009 | "authors": [ 2010 | { 2011 | "name": "Fabien Potencier", 2012 | "email": "fabien@symfony.com" 2013 | }, 2014 | { 2015 | "name": "Symfony Community", 2016 | "homepage": "https://symfony.com/contributors" 2017 | } 2018 | ], 2019 | "description": "Symfony Finder Component", 2020 | "homepage": "https://symfony.com", 2021 | "funding": [ 2022 | { 2023 | "url": "https://symfony.com/sponsor", 2024 | "type": "custom" 2025 | }, 2026 | { 2027 | "url": "https://github.com/fabpot", 2028 | "type": "github" 2029 | }, 2030 | { 2031 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2032 | "type": "tidelift" 2033 | } 2034 | ], 2035 | "time": "2020-12-08T17:02:38+00:00" 2036 | }, 2037 | { 2038 | "name": "symfony/http-client-contracts", 2039 | "version": "v2.3.1", 2040 | "source": { 2041 | "type": "git", 2042 | "url": "https://github.com/symfony/http-client-contracts.git", 2043 | "reference": "41db680a15018f9c1d4b23516059633ce280ca33" 2044 | }, 2045 | "dist": { 2046 | "type": "zip", 2047 | "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", 2048 | "reference": "41db680a15018f9c1d4b23516059633ce280ca33", 2049 | "shasum": "" 2050 | }, 2051 | "require": { 2052 | "php": ">=7.2.5" 2053 | }, 2054 | "suggest": { 2055 | "symfony/http-client-implementation": "" 2056 | }, 2057 | "type": "library", 2058 | "extra": { 2059 | "branch-version": "2.3", 2060 | "branch-alias": { 2061 | "dev-main": "2.3-dev" 2062 | }, 2063 | "thanks": { 2064 | "name": "symfony/contracts", 2065 | "url": "https://github.com/symfony/contracts" 2066 | } 2067 | }, 2068 | "autoload": { 2069 | "psr-4": { 2070 | "Symfony\\Contracts\\HttpClient\\": "" 2071 | } 2072 | }, 2073 | "notification-url": "https://packagist.org/downloads/", 2074 | "license": [ 2075 | "MIT" 2076 | ], 2077 | "authors": [ 2078 | { 2079 | "name": "Nicolas Grekas", 2080 | "email": "p@tchwork.com" 2081 | }, 2082 | { 2083 | "name": "Symfony Community", 2084 | "homepage": "https://symfony.com/contributors" 2085 | } 2086 | ], 2087 | "description": "Generic abstractions related to HTTP clients", 2088 | "homepage": "https://symfony.com", 2089 | "keywords": [ 2090 | "abstractions", 2091 | "contracts", 2092 | "decoupling", 2093 | "interfaces", 2094 | "interoperability", 2095 | "standards" 2096 | ], 2097 | "funding": [ 2098 | { 2099 | "url": "https://symfony.com/sponsor", 2100 | "type": "custom" 2101 | }, 2102 | { 2103 | "url": "https://github.com/fabpot", 2104 | "type": "github" 2105 | }, 2106 | { 2107 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2108 | "type": "tidelift" 2109 | } 2110 | ], 2111 | "time": "2020-10-14T17:08:19+00:00" 2112 | }, 2113 | { 2114 | "name": "symfony/http-foundation", 2115 | "version": "v5.2.1", 2116 | "source": { 2117 | "type": "git", 2118 | "url": "https://github.com/symfony/http-foundation.git", 2119 | "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d" 2120 | }, 2121 | "dist": { 2122 | "type": "zip", 2123 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d", 2124 | "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d", 2125 | "shasum": "" 2126 | }, 2127 | "require": { 2128 | "php": ">=7.2.5", 2129 | "symfony/deprecation-contracts": "^2.1", 2130 | "symfony/polyfill-mbstring": "~1.1", 2131 | "symfony/polyfill-php80": "^1.15" 2132 | }, 2133 | "require-dev": { 2134 | "predis/predis": "~1.0", 2135 | "symfony/cache": "^4.4|^5.0", 2136 | "symfony/expression-language": "^4.4|^5.0", 2137 | "symfony/mime": "^4.4|^5.0" 2138 | }, 2139 | "suggest": { 2140 | "symfony/mime": "To use the file extension guesser" 2141 | }, 2142 | "type": "library", 2143 | "autoload": { 2144 | "psr-4": { 2145 | "Symfony\\Component\\HttpFoundation\\": "" 2146 | }, 2147 | "exclude-from-classmap": [ 2148 | "/Tests/" 2149 | ] 2150 | }, 2151 | "notification-url": "https://packagist.org/downloads/", 2152 | "license": [ 2153 | "MIT" 2154 | ], 2155 | "authors": [ 2156 | { 2157 | "name": "Fabien Potencier", 2158 | "email": "fabien@symfony.com" 2159 | }, 2160 | { 2161 | "name": "Symfony Community", 2162 | "homepage": "https://symfony.com/contributors" 2163 | } 2164 | ], 2165 | "description": "Symfony HttpFoundation Component", 2166 | "homepage": "https://symfony.com", 2167 | "funding": [ 2168 | { 2169 | "url": "https://symfony.com/sponsor", 2170 | "type": "custom" 2171 | }, 2172 | { 2173 | "url": "https://github.com/fabpot", 2174 | "type": "github" 2175 | }, 2176 | { 2177 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2178 | "type": "tidelift" 2179 | } 2180 | ], 2181 | "time": "2020-12-18T10:00:10+00:00" 2182 | }, 2183 | { 2184 | "name": "symfony/http-kernel", 2185 | "version": "v5.2.1", 2186 | "source": { 2187 | "type": "git", 2188 | "url": "https://github.com/symfony/http-kernel.git", 2189 | "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647" 2190 | }, 2191 | "dist": { 2192 | "type": "zip", 2193 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647", 2194 | "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647", 2195 | "shasum": "" 2196 | }, 2197 | "require": { 2198 | "php": ">=7.2.5", 2199 | "psr/log": "~1.0", 2200 | "symfony/deprecation-contracts": "^2.1", 2201 | "symfony/error-handler": "^4.4|^5.0", 2202 | "symfony/event-dispatcher": "^5.0", 2203 | "symfony/http-client-contracts": "^1.1|^2", 2204 | "symfony/http-foundation": "^4.4|^5.0", 2205 | "symfony/polyfill-ctype": "^1.8", 2206 | "symfony/polyfill-php73": "^1.9", 2207 | "symfony/polyfill-php80": "^1.15" 2208 | }, 2209 | "conflict": { 2210 | "symfony/browser-kit": "<4.4", 2211 | "symfony/cache": "<5.0", 2212 | "symfony/config": "<5.0", 2213 | "symfony/console": "<4.4", 2214 | "symfony/dependency-injection": "<5.1.8", 2215 | "symfony/doctrine-bridge": "<5.0", 2216 | "symfony/form": "<5.0", 2217 | "symfony/http-client": "<5.0", 2218 | "symfony/mailer": "<5.0", 2219 | "symfony/messenger": "<5.0", 2220 | "symfony/translation": "<5.0", 2221 | "symfony/twig-bridge": "<5.0", 2222 | "symfony/validator": "<5.0", 2223 | "twig/twig": "<2.4" 2224 | }, 2225 | "provide": { 2226 | "psr/log-implementation": "1.0" 2227 | }, 2228 | "require-dev": { 2229 | "psr/cache": "~1.0", 2230 | "symfony/browser-kit": "^4.4|^5.0", 2231 | "symfony/config": "^5.0", 2232 | "symfony/console": "^4.4|^5.0", 2233 | "symfony/css-selector": "^4.4|^5.0", 2234 | "symfony/dependency-injection": "^5.1.8", 2235 | "symfony/dom-crawler": "^4.4|^5.0", 2236 | "symfony/expression-language": "^4.4|^5.0", 2237 | "symfony/finder": "^4.4|^5.0", 2238 | "symfony/process": "^4.4|^5.0", 2239 | "symfony/routing": "^4.4|^5.0", 2240 | "symfony/stopwatch": "^4.4|^5.0", 2241 | "symfony/translation": "^4.4|^5.0", 2242 | "symfony/translation-contracts": "^1.1|^2", 2243 | "twig/twig": "^2.4|^3.0" 2244 | }, 2245 | "suggest": { 2246 | "symfony/browser-kit": "", 2247 | "symfony/config": "", 2248 | "symfony/console": "", 2249 | "symfony/dependency-injection": "" 2250 | }, 2251 | "type": "library", 2252 | "autoload": { 2253 | "psr-4": { 2254 | "Symfony\\Component\\HttpKernel\\": "" 2255 | }, 2256 | "exclude-from-classmap": [ 2257 | "/Tests/" 2258 | ] 2259 | }, 2260 | "notification-url": "https://packagist.org/downloads/", 2261 | "license": [ 2262 | "MIT" 2263 | ], 2264 | "authors": [ 2265 | { 2266 | "name": "Fabien Potencier", 2267 | "email": "fabien@symfony.com" 2268 | }, 2269 | { 2270 | "name": "Symfony Community", 2271 | "homepage": "https://symfony.com/contributors" 2272 | } 2273 | ], 2274 | "description": "Symfony HttpKernel Component", 2275 | "homepage": "https://symfony.com", 2276 | "funding": [ 2277 | { 2278 | "url": "https://symfony.com/sponsor", 2279 | "type": "custom" 2280 | }, 2281 | { 2282 | "url": "https://github.com/fabpot", 2283 | "type": "github" 2284 | }, 2285 | { 2286 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2287 | "type": "tidelift" 2288 | } 2289 | ], 2290 | "time": "2020-12-18T13:49:39+00:00" 2291 | }, 2292 | { 2293 | "name": "symfony/mime", 2294 | "version": "v5.2.1", 2295 | "source": { 2296 | "type": "git", 2297 | "url": "https://github.com/symfony/mime.git", 2298 | "reference": "de97005aef7426ba008c46ba840fc301df577ada" 2299 | }, 2300 | "dist": { 2301 | "type": "zip", 2302 | "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada", 2303 | "reference": "de97005aef7426ba008c46ba840fc301df577ada", 2304 | "shasum": "" 2305 | }, 2306 | "require": { 2307 | "php": ">=7.2.5", 2308 | "symfony/deprecation-contracts": "^2.1", 2309 | "symfony/polyfill-intl-idn": "^1.10", 2310 | "symfony/polyfill-mbstring": "^1.0", 2311 | "symfony/polyfill-php80": "^1.15" 2312 | }, 2313 | "conflict": { 2314 | "symfony/mailer": "<4.4" 2315 | }, 2316 | "require-dev": { 2317 | "egulias/email-validator": "^2.1.10", 2318 | "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", 2319 | "symfony/dependency-injection": "^4.4|^5.0", 2320 | "symfony/property-access": "^4.4|^5.1", 2321 | "symfony/property-info": "^4.4|^5.1", 2322 | "symfony/serializer": "^5.2" 2323 | }, 2324 | "type": "library", 2325 | "autoload": { 2326 | "psr-4": { 2327 | "Symfony\\Component\\Mime\\": "" 2328 | }, 2329 | "exclude-from-classmap": [ 2330 | "/Tests/" 2331 | ] 2332 | }, 2333 | "notification-url": "https://packagist.org/downloads/", 2334 | "license": [ 2335 | "MIT" 2336 | ], 2337 | "authors": [ 2338 | { 2339 | "name": "Fabien Potencier", 2340 | "email": "fabien@symfony.com" 2341 | }, 2342 | { 2343 | "name": "Symfony Community", 2344 | "homepage": "https://symfony.com/contributors" 2345 | } 2346 | ], 2347 | "description": "A library to manipulate MIME messages", 2348 | "homepage": "https://symfony.com", 2349 | "keywords": [ 2350 | "mime", 2351 | "mime-type" 2352 | ], 2353 | "funding": [ 2354 | { 2355 | "url": "https://symfony.com/sponsor", 2356 | "type": "custom" 2357 | }, 2358 | { 2359 | "url": "https://github.com/fabpot", 2360 | "type": "github" 2361 | }, 2362 | { 2363 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2364 | "type": "tidelift" 2365 | } 2366 | ], 2367 | "time": "2020-12-09T18:54:12+00:00" 2368 | }, 2369 | { 2370 | "name": "symfony/polyfill-ctype", 2371 | "version": "v1.22.0", 2372 | "source": { 2373 | "type": "git", 2374 | "url": "https://github.com/symfony/polyfill-ctype.git", 2375 | "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" 2376 | }, 2377 | "dist": { 2378 | "type": "zip", 2379 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", 2380 | "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", 2381 | "shasum": "" 2382 | }, 2383 | "require": { 2384 | "php": ">=7.1" 2385 | }, 2386 | "suggest": { 2387 | "ext-ctype": "For best performance" 2388 | }, 2389 | "type": "library", 2390 | "extra": { 2391 | "branch-alias": { 2392 | "dev-main": "1.22-dev" 2393 | }, 2394 | "thanks": { 2395 | "name": "symfony/polyfill", 2396 | "url": "https://github.com/symfony/polyfill" 2397 | } 2398 | }, 2399 | "autoload": { 2400 | "psr-4": { 2401 | "Symfony\\Polyfill\\Ctype\\": "" 2402 | }, 2403 | "files": [ 2404 | "bootstrap.php" 2405 | ] 2406 | }, 2407 | "notification-url": "https://packagist.org/downloads/", 2408 | "license": [ 2409 | "MIT" 2410 | ], 2411 | "authors": [ 2412 | { 2413 | "name": "Gert de Pagter", 2414 | "email": "BackEndTea@gmail.com" 2415 | }, 2416 | { 2417 | "name": "Symfony Community", 2418 | "homepage": "https://symfony.com/contributors" 2419 | } 2420 | ], 2421 | "description": "Symfony polyfill for ctype functions", 2422 | "homepage": "https://symfony.com", 2423 | "keywords": [ 2424 | "compatibility", 2425 | "ctype", 2426 | "polyfill", 2427 | "portable" 2428 | ], 2429 | "funding": [ 2430 | { 2431 | "url": "https://symfony.com/sponsor", 2432 | "type": "custom" 2433 | }, 2434 | { 2435 | "url": "https://github.com/fabpot", 2436 | "type": "github" 2437 | }, 2438 | { 2439 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2440 | "type": "tidelift" 2441 | } 2442 | ], 2443 | "time": "2021-01-07T16:49:33+00:00" 2444 | }, 2445 | { 2446 | "name": "symfony/polyfill-iconv", 2447 | "version": "v1.22.0", 2448 | "source": { 2449 | "type": "git", 2450 | "url": "https://github.com/symfony/polyfill-iconv.git", 2451 | "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" 2452 | }, 2453 | "dist": { 2454 | "type": "zip", 2455 | "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", 2456 | "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", 2457 | "shasum": "" 2458 | }, 2459 | "require": { 2460 | "php": ">=7.1" 2461 | }, 2462 | "suggest": { 2463 | "ext-iconv": "For best performance" 2464 | }, 2465 | "type": "library", 2466 | "extra": { 2467 | "branch-alias": { 2468 | "dev-main": "1.22-dev" 2469 | }, 2470 | "thanks": { 2471 | "name": "symfony/polyfill", 2472 | "url": "https://github.com/symfony/polyfill" 2473 | } 2474 | }, 2475 | "autoload": { 2476 | "psr-4": { 2477 | "Symfony\\Polyfill\\Iconv\\": "" 2478 | }, 2479 | "files": [ 2480 | "bootstrap.php" 2481 | ] 2482 | }, 2483 | "notification-url": "https://packagist.org/downloads/", 2484 | "license": [ 2485 | "MIT" 2486 | ], 2487 | "authors": [ 2488 | { 2489 | "name": "Nicolas Grekas", 2490 | "email": "p@tchwork.com" 2491 | }, 2492 | { 2493 | "name": "Symfony Community", 2494 | "homepage": "https://symfony.com/contributors" 2495 | } 2496 | ], 2497 | "description": "Symfony polyfill for the Iconv extension", 2498 | "homepage": "https://symfony.com", 2499 | "keywords": [ 2500 | "compatibility", 2501 | "iconv", 2502 | "polyfill", 2503 | "portable", 2504 | "shim" 2505 | ], 2506 | "funding": [ 2507 | { 2508 | "url": "https://symfony.com/sponsor", 2509 | "type": "custom" 2510 | }, 2511 | { 2512 | "url": "https://github.com/fabpot", 2513 | "type": "github" 2514 | }, 2515 | { 2516 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2517 | "type": "tidelift" 2518 | } 2519 | ], 2520 | "time": "2021-01-07T16:49:33+00:00" 2521 | }, 2522 | { 2523 | "name": "symfony/polyfill-intl-grapheme", 2524 | "version": "v1.22.0", 2525 | "source": { 2526 | "type": "git", 2527 | "url": "https://github.com/symfony/polyfill-intl-grapheme.git", 2528 | "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" 2529 | }, 2530 | "dist": { 2531 | "type": "zip", 2532 | "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", 2533 | "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", 2534 | "shasum": "" 2535 | }, 2536 | "require": { 2537 | "php": ">=7.1" 2538 | }, 2539 | "suggest": { 2540 | "ext-intl": "For best performance" 2541 | }, 2542 | "type": "library", 2543 | "extra": { 2544 | "branch-alias": { 2545 | "dev-main": "1.22-dev" 2546 | }, 2547 | "thanks": { 2548 | "name": "symfony/polyfill", 2549 | "url": "https://github.com/symfony/polyfill" 2550 | } 2551 | }, 2552 | "autoload": { 2553 | "psr-4": { 2554 | "Symfony\\Polyfill\\Intl\\Grapheme\\": "" 2555 | }, 2556 | "files": [ 2557 | "bootstrap.php" 2558 | ] 2559 | }, 2560 | "notification-url": "https://packagist.org/downloads/", 2561 | "license": [ 2562 | "MIT" 2563 | ], 2564 | "authors": [ 2565 | { 2566 | "name": "Nicolas Grekas", 2567 | "email": "p@tchwork.com" 2568 | }, 2569 | { 2570 | "name": "Symfony Community", 2571 | "homepage": "https://symfony.com/contributors" 2572 | } 2573 | ], 2574 | "description": "Symfony polyfill for intl's grapheme_* functions", 2575 | "homepage": "https://symfony.com", 2576 | "keywords": [ 2577 | "compatibility", 2578 | "grapheme", 2579 | "intl", 2580 | "polyfill", 2581 | "portable", 2582 | "shim" 2583 | ], 2584 | "funding": [ 2585 | { 2586 | "url": "https://symfony.com/sponsor", 2587 | "type": "custom" 2588 | }, 2589 | { 2590 | "url": "https://github.com/fabpot", 2591 | "type": "github" 2592 | }, 2593 | { 2594 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2595 | "type": "tidelift" 2596 | } 2597 | ], 2598 | "time": "2021-01-07T16:49:33+00:00" 2599 | }, 2600 | { 2601 | "name": "symfony/polyfill-intl-idn", 2602 | "version": "v1.22.0", 2603 | "source": { 2604 | "type": "git", 2605 | "url": "https://github.com/symfony/polyfill-intl-idn.git", 2606 | "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" 2607 | }, 2608 | "dist": { 2609 | "type": "zip", 2610 | "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", 2611 | "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", 2612 | "shasum": "" 2613 | }, 2614 | "require": { 2615 | "php": ">=7.1", 2616 | "symfony/polyfill-intl-normalizer": "^1.10", 2617 | "symfony/polyfill-php72": "^1.10" 2618 | }, 2619 | "suggest": { 2620 | "ext-intl": "For best performance" 2621 | }, 2622 | "type": "library", 2623 | "extra": { 2624 | "branch-alias": { 2625 | "dev-main": "1.22-dev" 2626 | }, 2627 | "thanks": { 2628 | "name": "symfony/polyfill", 2629 | "url": "https://github.com/symfony/polyfill" 2630 | } 2631 | }, 2632 | "autoload": { 2633 | "psr-4": { 2634 | "Symfony\\Polyfill\\Intl\\Idn\\": "" 2635 | }, 2636 | "files": [ 2637 | "bootstrap.php" 2638 | ] 2639 | }, 2640 | "notification-url": "https://packagist.org/downloads/", 2641 | "license": [ 2642 | "MIT" 2643 | ], 2644 | "authors": [ 2645 | { 2646 | "name": "Laurent Bassin", 2647 | "email": "laurent@bassin.info" 2648 | }, 2649 | { 2650 | "name": "Trevor Rowbotham", 2651 | "email": "trevor.rowbotham@pm.me" 2652 | }, 2653 | { 2654 | "name": "Symfony Community", 2655 | "homepage": "https://symfony.com/contributors" 2656 | } 2657 | ], 2658 | "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", 2659 | "homepage": "https://symfony.com", 2660 | "keywords": [ 2661 | "compatibility", 2662 | "idn", 2663 | "intl", 2664 | "polyfill", 2665 | "portable", 2666 | "shim" 2667 | ], 2668 | "funding": [ 2669 | { 2670 | "url": "https://symfony.com/sponsor", 2671 | "type": "custom" 2672 | }, 2673 | { 2674 | "url": "https://github.com/fabpot", 2675 | "type": "github" 2676 | }, 2677 | { 2678 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2679 | "type": "tidelift" 2680 | } 2681 | ], 2682 | "time": "2021-01-07T16:49:33+00:00" 2683 | }, 2684 | { 2685 | "name": "symfony/polyfill-intl-normalizer", 2686 | "version": "v1.22.0", 2687 | "source": { 2688 | "type": "git", 2689 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git", 2690 | "reference": "6e971c891537eb617a00bb07a43d182a6915faba" 2691 | }, 2692 | "dist": { 2693 | "type": "zip", 2694 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", 2695 | "reference": "6e971c891537eb617a00bb07a43d182a6915faba", 2696 | "shasum": "" 2697 | }, 2698 | "require": { 2699 | "php": ">=7.1" 2700 | }, 2701 | "suggest": { 2702 | "ext-intl": "For best performance" 2703 | }, 2704 | "type": "library", 2705 | "extra": { 2706 | "branch-alias": { 2707 | "dev-main": "1.22-dev" 2708 | }, 2709 | "thanks": { 2710 | "name": "symfony/polyfill", 2711 | "url": "https://github.com/symfony/polyfill" 2712 | } 2713 | }, 2714 | "autoload": { 2715 | "psr-4": { 2716 | "Symfony\\Polyfill\\Intl\\Normalizer\\": "" 2717 | }, 2718 | "files": [ 2719 | "bootstrap.php" 2720 | ], 2721 | "classmap": [ 2722 | "Resources/stubs" 2723 | ] 2724 | }, 2725 | "notification-url": "https://packagist.org/downloads/", 2726 | "license": [ 2727 | "MIT" 2728 | ], 2729 | "authors": [ 2730 | { 2731 | "name": "Nicolas Grekas", 2732 | "email": "p@tchwork.com" 2733 | }, 2734 | { 2735 | "name": "Symfony Community", 2736 | "homepage": "https://symfony.com/contributors" 2737 | } 2738 | ], 2739 | "description": "Symfony polyfill for intl's Normalizer class and related functions", 2740 | "homepage": "https://symfony.com", 2741 | "keywords": [ 2742 | "compatibility", 2743 | "intl", 2744 | "normalizer", 2745 | "polyfill", 2746 | "portable", 2747 | "shim" 2748 | ], 2749 | "funding": [ 2750 | { 2751 | "url": "https://symfony.com/sponsor", 2752 | "type": "custom" 2753 | }, 2754 | { 2755 | "url": "https://github.com/fabpot", 2756 | "type": "github" 2757 | }, 2758 | { 2759 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2760 | "type": "tidelift" 2761 | } 2762 | ], 2763 | "time": "2021-01-07T17:09:11+00:00" 2764 | }, 2765 | { 2766 | "name": "symfony/polyfill-mbstring", 2767 | "version": "v1.22.0", 2768 | "source": { 2769 | "type": "git", 2770 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2771 | "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" 2772 | }, 2773 | "dist": { 2774 | "type": "zip", 2775 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", 2776 | "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", 2777 | "shasum": "" 2778 | }, 2779 | "require": { 2780 | "php": ">=7.1" 2781 | }, 2782 | "suggest": { 2783 | "ext-mbstring": "For best performance" 2784 | }, 2785 | "type": "library", 2786 | "extra": { 2787 | "branch-alias": { 2788 | "dev-main": "1.22-dev" 2789 | }, 2790 | "thanks": { 2791 | "name": "symfony/polyfill", 2792 | "url": "https://github.com/symfony/polyfill" 2793 | } 2794 | }, 2795 | "autoload": { 2796 | "psr-4": { 2797 | "Symfony\\Polyfill\\Mbstring\\": "" 2798 | }, 2799 | "files": [ 2800 | "bootstrap.php" 2801 | ] 2802 | }, 2803 | "notification-url": "https://packagist.org/downloads/", 2804 | "license": [ 2805 | "MIT" 2806 | ], 2807 | "authors": [ 2808 | { 2809 | "name": "Nicolas Grekas", 2810 | "email": "p@tchwork.com" 2811 | }, 2812 | { 2813 | "name": "Symfony Community", 2814 | "homepage": "https://symfony.com/contributors" 2815 | } 2816 | ], 2817 | "description": "Symfony polyfill for the Mbstring extension", 2818 | "homepage": "https://symfony.com", 2819 | "keywords": [ 2820 | "compatibility", 2821 | "mbstring", 2822 | "polyfill", 2823 | "portable", 2824 | "shim" 2825 | ], 2826 | "funding": [ 2827 | { 2828 | "url": "https://symfony.com/sponsor", 2829 | "type": "custom" 2830 | }, 2831 | { 2832 | "url": "https://github.com/fabpot", 2833 | "type": "github" 2834 | }, 2835 | { 2836 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2837 | "type": "tidelift" 2838 | } 2839 | ], 2840 | "time": "2021-01-07T16:49:33+00:00" 2841 | }, 2842 | { 2843 | "name": "symfony/polyfill-php72", 2844 | "version": "v1.22.0", 2845 | "source": { 2846 | "type": "git", 2847 | "url": "https://github.com/symfony/polyfill-php72.git", 2848 | "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" 2849 | }, 2850 | "dist": { 2851 | "type": "zip", 2852 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", 2853 | "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", 2854 | "shasum": "" 2855 | }, 2856 | "require": { 2857 | "php": ">=7.1" 2858 | }, 2859 | "type": "library", 2860 | "extra": { 2861 | "branch-alias": { 2862 | "dev-main": "1.22-dev" 2863 | }, 2864 | "thanks": { 2865 | "name": "symfony/polyfill", 2866 | "url": "https://github.com/symfony/polyfill" 2867 | } 2868 | }, 2869 | "autoload": { 2870 | "psr-4": { 2871 | "Symfony\\Polyfill\\Php72\\": "" 2872 | }, 2873 | "files": [ 2874 | "bootstrap.php" 2875 | ] 2876 | }, 2877 | "notification-url": "https://packagist.org/downloads/", 2878 | "license": [ 2879 | "MIT" 2880 | ], 2881 | "authors": [ 2882 | { 2883 | "name": "Nicolas Grekas", 2884 | "email": "p@tchwork.com" 2885 | }, 2886 | { 2887 | "name": "Symfony Community", 2888 | "homepage": "https://symfony.com/contributors" 2889 | } 2890 | ], 2891 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 2892 | "homepage": "https://symfony.com", 2893 | "keywords": [ 2894 | "compatibility", 2895 | "polyfill", 2896 | "portable", 2897 | "shim" 2898 | ], 2899 | "funding": [ 2900 | { 2901 | "url": "https://symfony.com/sponsor", 2902 | "type": "custom" 2903 | }, 2904 | { 2905 | "url": "https://github.com/fabpot", 2906 | "type": "github" 2907 | }, 2908 | { 2909 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2910 | "type": "tidelift" 2911 | } 2912 | ], 2913 | "time": "2021-01-07T16:49:33+00:00" 2914 | }, 2915 | { 2916 | "name": "symfony/polyfill-php73", 2917 | "version": "v1.22.0", 2918 | "source": { 2919 | "type": "git", 2920 | "url": "https://github.com/symfony/polyfill-php73.git", 2921 | "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" 2922 | }, 2923 | "dist": { 2924 | "type": "zip", 2925 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", 2926 | "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", 2927 | "shasum": "" 2928 | }, 2929 | "require": { 2930 | "php": ">=7.1" 2931 | }, 2932 | "type": "library", 2933 | "extra": { 2934 | "branch-alias": { 2935 | "dev-main": "1.22-dev" 2936 | }, 2937 | "thanks": { 2938 | "name": "symfony/polyfill", 2939 | "url": "https://github.com/symfony/polyfill" 2940 | } 2941 | }, 2942 | "autoload": { 2943 | "psr-4": { 2944 | "Symfony\\Polyfill\\Php73\\": "" 2945 | }, 2946 | "files": [ 2947 | "bootstrap.php" 2948 | ], 2949 | "classmap": [ 2950 | "Resources/stubs" 2951 | ] 2952 | }, 2953 | "notification-url": "https://packagist.org/downloads/", 2954 | "license": [ 2955 | "MIT" 2956 | ], 2957 | "authors": [ 2958 | { 2959 | "name": "Nicolas Grekas", 2960 | "email": "p@tchwork.com" 2961 | }, 2962 | { 2963 | "name": "Symfony Community", 2964 | "homepage": "https://symfony.com/contributors" 2965 | } 2966 | ], 2967 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 2968 | "homepage": "https://symfony.com", 2969 | "keywords": [ 2970 | "compatibility", 2971 | "polyfill", 2972 | "portable", 2973 | "shim" 2974 | ], 2975 | "funding": [ 2976 | { 2977 | "url": "https://symfony.com/sponsor", 2978 | "type": "custom" 2979 | }, 2980 | { 2981 | "url": "https://github.com/fabpot", 2982 | "type": "github" 2983 | }, 2984 | { 2985 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2986 | "type": "tidelift" 2987 | } 2988 | ], 2989 | "time": "2021-01-07T16:49:33+00:00" 2990 | }, 2991 | { 2992 | "name": "symfony/polyfill-php80", 2993 | "version": "v1.22.0", 2994 | "source": { 2995 | "type": "git", 2996 | "url": "https://github.com/symfony/polyfill-php80.git", 2997 | "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" 2998 | }, 2999 | "dist": { 3000 | "type": "zip", 3001 | "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", 3002 | "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", 3003 | "shasum": "" 3004 | }, 3005 | "require": { 3006 | "php": ">=7.1" 3007 | }, 3008 | "type": "library", 3009 | "extra": { 3010 | "branch-alias": { 3011 | "dev-main": "1.22-dev" 3012 | }, 3013 | "thanks": { 3014 | "name": "symfony/polyfill", 3015 | "url": "https://github.com/symfony/polyfill" 3016 | } 3017 | }, 3018 | "autoload": { 3019 | "psr-4": { 3020 | "Symfony\\Polyfill\\Php80\\": "" 3021 | }, 3022 | "files": [ 3023 | "bootstrap.php" 3024 | ], 3025 | "classmap": [ 3026 | "Resources/stubs" 3027 | ] 3028 | }, 3029 | "notification-url": "https://packagist.org/downloads/", 3030 | "license": [ 3031 | "MIT" 3032 | ], 3033 | "authors": [ 3034 | { 3035 | "name": "Ion Bazan", 3036 | "email": "ion.bazan@gmail.com" 3037 | }, 3038 | { 3039 | "name": "Nicolas Grekas", 3040 | "email": "p@tchwork.com" 3041 | }, 3042 | { 3043 | "name": "Symfony Community", 3044 | "homepage": "https://symfony.com/contributors" 3045 | } 3046 | ], 3047 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", 3048 | "homepage": "https://symfony.com", 3049 | "keywords": [ 3050 | "compatibility", 3051 | "polyfill", 3052 | "portable", 3053 | "shim" 3054 | ], 3055 | "funding": [ 3056 | { 3057 | "url": "https://symfony.com/sponsor", 3058 | "type": "custom" 3059 | }, 3060 | { 3061 | "url": "https://github.com/fabpot", 3062 | "type": "github" 3063 | }, 3064 | { 3065 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3066 | "type": "tidelift" 3067 | } 3068 | ], 3069 | "time": "2021-01-07T16:49:33+00:00" 3070 | }, 3071 | { 3072 | "name": "symfony/process", 3073 | "version": "v5.2.1", 3074 | "source": { 3075 | "type": "git", 3076 | "url": "https://github.com/symfony/process.git", 3077 | "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd" 3078 | }, 3079 | "dist": { 3080 | "type": "zip", 3081 | "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd", 3082 | "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd", 3083 | "shasum": "" 3084 | }, 3085 | "require": { 3086 | "php": ">=7.2.5", 3087 | "symfony/polyfill-php80": "^1.15" 3088 | }, 3089 | "type": "library", 3090 | "autoload": { 3091 | "psr-4": { 3092 | "Symfony\\Component\\Process\\": "" 3093 | }, 3094 | "exclude-from-classmap": [ 3095 | "/Tests/" 3096 | ] 3097 | }, 3098 | "notification-url": "https://packagist.org/downloads/", 3099 | "license": [ 3100 | "MIT" 3101 | ], 3102 | "authors": [ 3103 | { 3104 | "name": "Fabien Potencier", 3105 | "email": "fabien@symfony.com" 3106 | }, 3107 | { 3108 | "name": "Symfony Community", 3109 | "homepage": "https://symfony.com/contributors" 3110 | } 3111 | ], 3112 | "description": "Symfony Process Component", 3113 | "homepage": "https://symfony.com", 3114 | "funding": [ 3115 | { 3116 | "url": "https://symfony.com/sponsor", 3117 | "type": "custom" 3118 | }, 3119 | { 3120 | "url": "https://github.com/fabpot", 3121 | "type": "github" 3122 | }, 3123 | { 3124 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3125 | "type": "tidelift" 3126 | } 3127 | ], 3128 | "time": "2020-12-08T17:03:37+00:00" 3129 | }, 3130 | { 3131 | "name": "symfony/routing", 3132 | "version": "v5.2.1", 3133 | "source": { 3134 | "type": "git", 3135 | "url": "https://github.com/symfony/routing.git", 3136 | "reference": "934ac2720dcc878a47a45c986b483a7ee7193620" 3137 | }, 3138 | "dist": { 3139 | "type": "zip", 3140 | "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620", 3141 | "reference": "934ac2720dcc878a47a45c986b483a7ee7193620", 3142 | "shasum": "" 3143 | }, 3144 | "require": { 3145 | "php": ">=7.2.5", 3146 | "symfony/deprecation-contracts": "^2.1", 3147 | "symfony/polyfill-php80": "^1.15" 3148 | }, 3149 | "conflict": { 3150 | "symfony/config": "<5.0", 3151 | "symfony/dependency-injection": "<4.4", 3152 | "symfony/yaml": "<4.4" 3153 | }, 3154 | "require-dev": { 3155 | "doctrine/annotations": "^1.7", 3156 | "psr/log": "~1.0", 3157 | "symfony/config": "^5.0", 3158 | "symfony/dependency-injection": "^4.4|^5.0", 3159 | "symfony/expression-language": "^4.4|^5.0", 3160 | "symfony/http-foundation": "^4.4|^5.0", 3161 | "symfony/yaml": "^4.4|^5.0" 3162 | }, 3163 | "suggest": { 3164 | "doctrine/annotations": "For using the annotation loader", 3165 | "symfony/config": "For using the all-in-one router or any loader", 3166 | "symfony/expression-language": "For using expression matching", 3167 | "symfony/http-foundation": "For using a Symfony Request object", 3168 | "symfony/yaml": "For using the YAML loader" 3169 | }, 3170 | "type": "library", 3171 | "autoload": { 3172 | "psr-4": { 3173 | "Symfony\\Component\\Routing\\": "" 3174 | }, 3175 | "exclude-from-classmap": [ 3176 | "/Tests/" 3177 | ] 3178 | }, 3179 | "notification-url": "https://packagist.org/downloads/", 3180 | "license": [ 3181 | "MIT" 3182 | ], 3183 | "authors": [ 3184 | { 3185 | "name": "Fabien Potencier", 3186 | "email": "fabien@symfony.com" 3187 | }, 3188 | { 3189 | "name": "Symfony Community", 3190 | "homepage": "https://symfony.com/contributors" 3191 | } 3192 | ], 3193 | "description": "Symfony Routing Component", 3194 | "homepage": "https://symfony.com", 3195 | "keywords": [ 3196 | "router", 3197 | "routing", 3198 | "uri", 3199 | "url" 3200 | ], 3201 | "funding": [ 3202 | { 3203 | "url": "https://symfony.com/sponsor", 3204 | "type": "custom" 3205 | }, 3206 | { 3207 | "url": "https://github.com/fabpot", 3208 | "type": "github" 3209 | }, 3210 | { 3211 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3212 | "type": "tidelift" 3213 | } 3214 | ], 3215 | "time": "2020-12-08T17:03:37+00:00" 3216 | }, 3217 | { 3218 | "name": "symfony/service-contracts", 3219 | "version": "v2.2.0", 3220 | "source": { 3221 | "type": "git", 3222 | "url": "https://github.com/symfony/service-contracts.git", 3223 | "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" 3224 | }, 3225 | "dist": { 3226 | "type": "zip", 3227 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", 3228 | "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", 3229 | "shasum": "" 3230 | }, 3231 | "require": { 3232 | "php": ">=7.2.5", 3233 | "psr/container": "^1.0" 3234 | }, 3235 | "suggest": { 3236 | "symfony/service-implementation": "" 3237 | }, 3238 | "type": "library", 3239 | "extra": { 3240 | "branch-alias": { 3241 | "dev-master": "2.2-dev" 3242 | }, 3243 | "thanks": { 3244 | "name": "symfony/contracts", 3245 | "url": "https://github.com/symfony/contracts" 3246 | } 3247 | }, 3248 | "autoload": { 3249 | "psr-4": { 3250 | "Symfony\\Contracts\\Service\\": "" 3251 | } 3252 | }, 3253 | "notification-url": "https://packagist.org/downloads/", 3254 | "license": [ 3255 | "MIT" 3256 | ], 3257 | "authors": [ 3258 | { 3259 | "name": "Nicolas Grekas", 3260 | "email": "p@tchwork.com" 3261 | }, 3262 | { 3263 | "name": "Symfony Community", 3264 | "homepage": "https://symfony.com/contributors" 3265 | } 3266 | ], 3267 | "description": "Generic abstractions related to writing services", 3268 | "homepage": "https://symfony.com", 3269 | "keywords": [ 3270 | "abstractions", 3271 | "contracts", 3272 | "decoupling", 3273 | "interfaces", 3274 | "interoperability", 3275 | "standards" 3276 | ], 3277 | "funding": [ 3278 | { 3279 | "url": "https://symfony.com/sponsor", 3280 | "type": "custom" 3281 | }, 3282 | { 3283 | "url": "https://github.com/fabpot", 3284 | "type": "github" 3285 | }, 3286 | { 3287 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3288 | "type": "tidelift" 3289 | } 3290 | ], 3291 | "time": "2020-09-07T11:33:47+00:00" 3292 | }, 3293 | { 3294 | "name": "symfony/string", 3295 | "version": "v5.2.1", 3296 | "source": { 3297 | "type": "git", 3298 | "url": "https://github.com/symfony/string.git", 3299 | "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" 3300 | }, 3301 | "dist": { 3302 | "type": "zip", 3303 | "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", 3304 | "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", 3305 | "shasum": "" 3306 | }, 3307 | "require": { 3308 | "php": ">=7.2.5", 3309 | "symfony/polyfill-ctype": "~1.8", 3310 | "symfony/polyfill-intl-grapheme": "~1.0", 3311 | "symfony/polyfill-intl-normalizer": "~1.0", 3312 | "symfony/polyfill-mbstring": "~1.0", 3313 | "symfony/polyfill-php80": "~1.15" 3314 | }, 3315 | "require-dev": { 3316 | "symfony/error-handler": "^4.4|^5.0", 3317 | "symfony/http-client": "^4.4|^5.0", 3318 | "symfony/translation-contracts": "^1.1|^2", 3319 | "symfony/var-exporter": "^4.4|^5.0" 3320 | }, 3321 | "type": "library", 3322 | "autoload": { 3323 | "psr-4": { 3324 | "Symfony\\Component\\String\\": "" 3325 | }, 3326 | "files": [ 3327 | "Resources/functions.php" 3328 | ], 3329 | "exclude-from-classmap": [ 3330 | "/Tests/" 3331 | ] 3332 | }, 3333 | "notification-url": "https://packagist.org/downloads/", 3334 | "license": [ 3335 | "MIT" 3336 | ], 3337 | "authors": [ 3338 | { 3339 | "name": "Nicolas Grekas", 3340 | "email": "p@tchwork.com" 3341 | }, 3342 | { 3343 | "name": "Symfony Community", 3344 | "homepage": "https://symfony.com/contributors" 3345 | } 3346 | ], 3347 | "description": "Symfony String component", 3348 | "homepage": "https://symfony.com", 3349 | "keywords": [ 3350 | "grapheme", 3351 | "i18n", 3352 | "string", 3353 | "unicode", 3354 | "utf-8", 3355 | "utf8" 3356 | ], 3357 | "funding": [ 3358 | { 3359 | "url": "https://symfony.com/sponsor", 3360 | "type": "custom" 3361 | }, 3362 | { 3363 | "url": "https://github.com/fabpot", 3364 | "type": "github" 3365 | }, 3366 | { 3367 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3368 | "type": "tidelift" 3369 | } 3370 | ], 3371 | "time": "2020-12-05T07:33:16+00:00" 3372 | }, 3373 | { 3374 | "name": "symfony/translation", 3375 | "version": "v5.2.1", 3376 | "source": { 3377 | "type": "git", 3378 | "url": "https://github.com/symfony/translation.git", 3379 | "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70" 3380 | }, 3381 | "dist": { 3382 | "type": "zip", 3383 | "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70", 3384 | "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70", 3385 | "shasum": "" 3386 | }, 3387 | "require": { 3388 | "php": ">=7.2.5", 3389 | "symfony/polyfill-mbstring": "~1.0", 3390 | "symfony/polyfill-php80": "^1.15", 3391 | "symfony/translation-contracts": "^2.3" 3392 | }, 3393 | "conflict": { 3394 | "symfony/config": "<4.4", 3395 | "symfony/dependency-injection": "<5.0", 3396 | "symfony/http-kernel": "<5.0", 3397 | "symfony/twig-bundle": "<5.0", 3398 | "symfony/yaml": "<4.4" 3399 | }, 3400 | "provide": { 3401 | "symfony/translation-implementation": "2.0" 3402 | }, 3403 | "require-dev": { 3404 | "psr/log": "~1.0", 3405 | "symfony/config": "^4.4|^5.0", 3406 | "symfony/console": "^4.4|^5.0", 3407 | "symfony/dependency-injection": "^5.0", 3408 | "symfony/finder": "^4.4|^5.0", 3409 | "symfony/http-kernel": "^5.0", 3410 | "symfony/intl": "^4.4|^5.0", 3411 | "symfony/service-contracts": "^1.1.2|^2", 3412 | "symfony/yaml": "^4.4|^5.0" 3413 | }, 3414 | "suggest": { 3415 | "psr/log-implementation": "To use logging capability in translator", 3416 | "symfony/config": "", 3417 | "symfony/yaml": "" 3418 | }, 3419 | "type": "library", 3420 | "autoload": { 3421 | "files": [ 3422 | "Resources/functions.php" 3423 | ], 3424 | "psr-4": { 3425 | "Symfony\\Component\\Translation\\": "" 3426 | }, 3427 | "exclude-from-classmap": [ 3428 | "/Tests/" 3429 | ] 3430 | }, 3431 | "notification-url": "https://packagist.org/downloads/", 3432 | "license": [ 3433 | "MIT" 3434 | ], 3435 | "authors": [ 3436 | { 3437 | "name": "Fabien Potencier", 3438 | "email": "fabien@symfony.com" 3439 | }, 3440 | { 3441 | "name": "Symfony Community", 3442 | "homepage": "https://symfony.com/contributors" 3443 | } 3444 | ], 3445 | "description": "Symfony Translation Component", 3446 | "homepage": "https://symfony.com", 3447 | "funding": [ 3448 | { 3449 | "url": "https://symfony.com/sponsor", 3450 | "type": "custom" 3451 | }, 3452 | { 3453 | "url": "https://github.com/fabpot", 3454 | "type": "github" 3455 | }, 3456 | { 3457 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3458 | "type": "tidelift" 3459 | } 3460 | ], 3461 | "time": "2020-12-08T17:03:37+00:00" 3462 | }, 3463 | { 3464 | "name": "symfony/translation-contracts", 3465 | "version": "v2.3.0", 3466 | "source": { 3467 | "type": "git", 3468 | "url": "https://github.com/symfony/translation-contracts.git", 3469 | "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" 3470 | }, 3471 | "dist": { 3472 | "type": "zip", 3473 | "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", 3474 | "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", 3475 | "shasum": "" 3476 | }, 3477 | "require": { 3478 | "php": ">=7.2.5" 3479 | }, 3480 | "suggest": { 3481 | "symfony/translation-implementation": "" 3482 | }, 3483 | "type": "library", 3484 | "extra": { 3485 | "branch-alias": { 3486 | "dev-master": "2.3-dev" 3487 | }, 3488 | "thanks": { 3489 | "name": "symfony/contracts", 3490 | "url": "https://github.com/symfony/contracts" 3491 | } 3492 | }, 3493 | "autoload": { 3494 | "psr-4": { 3495 | "Symfony\\Contracts\\Translation\\": "" 3496 | } 3497 | }, 3498 | "notification-url": "https://packagist.org/downloads/", 3499 | "license": [ 3500 | "MIT" 3501 | ], 3502 | "authors": [ 3503 | { 3504 | "name": "Nicolas Grekas", 3505 | "email": "p@tchwork.com" 3506 | }, 3507 | { 3508 | "name": "Symfony Community", 3509 | "homepage": "https://symfony.com/contributors" 3510 | } 3511 | ], 3512 | "description": "Generic abstractions related to translation", 3513 | "homepage": "https://symfony.com", 3514 | "keywords": [ 3515 | "abstractions", 3516 | "contracts", 3517 | "decoupling", 3518 | "interfaces", 3519 | "interoperability", 3520 | "standards" 3521 | ], 3522 | "funding": [ 3523 | { 3524 | "url": "https://symfony.com/sponsor", 3525 | "type": "custom" 3526 | }, 3527 | { 3528 | "url": "https://github.com/fabpot", 3529 | "type": "github" 3530 | }, 3531 | { 3532 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3533 | "type": "tidelift" 3534 | } 3535 | ], 3536 | "time": "2020-09-28T13:05:58+00:00" 3537 | }, 3538 | { 3539 | "name": "symfony/var-dumper", 3540 | "version": "v5.2.1", 3541 | "source": { 3542 | "type": "git", 3543 | "url": "https://github.com/symfony/var-dumper.git", 3544 | "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089" 3545 | }, 3546 | "dist": { 3547 | "type": "zip", 3548 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", 3549 | "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", 3550 | "shasum": "" 3551 | }, 3552 | "require": { 3553 | "php": ">=7.2.5", 3554 | "symfony/polyfill-mbstring": "~1.0", 3555 | "symfony/polyfill-php80": "^1.15" 3556 | }, 3557 | "conflict": { 3558 | "phpunit/phpunit": "<5.4.3", 3559 | "symfony/console": "<4.4" 3560 | }, 3561 | "require-dev": { 3562 | "ext-iconv": "*", 3563 | "symfony/console": "^4.4|^5.0", 3564 | "symfony/process": "^4.4|^5.0", 3565 | "twig/twig": "^2.4|^3.0" 3566 | }, 3567 | "suggest": { 3568 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", 3569 | "ext-intl": "To show region name in time zone dump", 3570 | "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" 3571 | }, 3572 | "bin": [ 3573 | "Resources/bin/var-dump-server" 3574 | ], 3575 | "type": "library", 3576 | "autoload": { 3577 | "files": [ 3578 | "Resources/functions/dump.php" 3579 | ], 3580 | "psr-4": { 3581 | "Symfony\\Component\\VarDumper\\": "" 3582 | }, 3583 | "exclude-from-classmap": [ 3584 | "/Tests/" 3585 | ] 3586 | }, 3587 | "notification-url": "https://packagist.org/downloads/", 3588 | "license": [ 3589 | "MIT" 3590 | ], 3591 | "authors": [ 3592 | { 3593 | "name": "Nicolas Grekas", 3594 | "email": "p@tchwork.com" 3595 | }, 3596 | { 3597 | "name": "Symfony Community", 3598 | "homepage": "https://symfony.com/contributors" 3599 | } 3600 | ], 3601 | "description": "Symfony mechanism for exploring and dumping PHP variables", 3602 | "homepage": "https://symfony.com", 3603 | "keywords": [ 3604 | "debug", 3605 | "dump" 3606 | ], 3607 | "funding": [ 3608 | { 3609 | "url": "https://symfony.com/sponsor", 3610 | "type": "custom" 3611 | }, 3612 | { 3613 | "url": "https://github.com/fabpot", 3614 | "type": "github" 3615 | }, 3616 | { 3617 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3618 | "type": "tidelift" 3619 | } 3620 | ], 3621 | "time": "2020-12-16T17:02:19+00:00" 3622 | }, 3623 | { 3624 | "name": "tijsverkoyen/css-to-inline-styles", 3625 | "version": "2.2.3", 3626 | "source": { 3627 | "type": "git", 3628 | "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", 3629 | "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" 3630 | }, 3631 | "dist": { 3632 | "type": "zip", 3633 | "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", 3634 | "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", 3635 | "shasum": "" 3636 | }, 3637 | "require": { 3638 | "ext-dom": "*", 3639 | "ext-libxml": "*", 3640 | "php": "^5.5 || ^7.0 || ^8.0", 3641 | "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" 3642 | }, 3643 | "require-dev": { 3644 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" 3645 | }, 3646 | "type": "library", 3647 | "extra": { 3648 | "branch-alias": { 3649 | "dev-master": "2.2.x-dev" 3650 | } 3651 | }, 3652 | "autoload": { 3653 | "psr-4": { 3654 | "TijsVerkoyen\\CssToInlineStyles\\": "src" 3655 | } 3656 | }, 3657 | "notification-url": "https://packagist.org/downloads/", 3658 | "license": [ 3659 | "BSD-3-Clause" 3660 | ], 3661 | "authors": [ 3662 | { 3663 | "name": "Tijs Verkoyen", 3664 | "email": "css_to_inline_styles@verkoyen.eu", 3665 | "role": "Developer" 3666 | } 3667 | ], 3668 | "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", 3669 | "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", 3670 | "time": "2020-07-13T06:12:54+00:00" 3671 | }, 3672 | { 3673 | "name": "vlucas/phpdotenv", 3674 | "version": "v5.2.0", 3675 | "source": { 3676 | "type": "git", 3677 | "url": "https://github.com/vlucas/phpdotenv.git", 3678 | "reference": "fba64139db67123c7a57072e5f8d3db10d160b66" 3679 | }, 3680 | "dist": { 3681 | "type": "zip", 3682 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66", 3683 | "reference": "fba64139db67123c7a57072e5f8d3db10d160b66", 3684 | "shasum": "" 3685 | }, 3686 | "require": { 3687 | "ext-pcre": "*", 3688 | "graham-campbell/result-type": "^1.0.1", 3689 | "php": "^7.1.3 || ^8.0", 3690 | "phpoption/phpoption": "^1.7.4", 3691 | "symfony/polyfill-ctype": "^1.17", 3692 | "symfony/polyfill-mbstring": "^1.17", 3693 | "symfony/polyfill-php80": "^1.17" 3694 | }, 3695 | "require-dev": { 3696 | "bamarni/composer-bin-plugin": "^1.4.1", 3697 | "ext-filter": "*", 3698 | "phpunit/phpunit": "^7.5.20 || ^8.5.2 || ^9.0" 3699 | }, 3700 | "suggest": { 3701 | "ext-filter": "Required to use the boolean validator." 3702 | }, 3703 | "type": "library", 3704 | "extra": { 3705 | "branch-alias": { 3706 | "dev-master": "5.2-dev" 3707 | } 3708 | }, 3709 | "autoload": { 3710 | "psr-4": { 3711 | "Dotenv\\": "src/" 3712 | } 3713 | }, 3714 | "notification-url": "https://packagist.org/downloads/", 3715 | "license": [ 3716 | "BSD-3-Clause" 3717 | ], 3718 | "authors": [ 3719 | { 3720 | "name": "Graham Campbell", 3721 | "email": "graham@alt-three.com", 3722 | "homepage": "https://gjcampbell.co.uk/" 3723 | }, 3724 | { 3725 | "name": "Vance Lucas", 3726 | "email": "vance@vancelucas.com", 3727 | "homepage": "https://vancelucas.com/" 3728 | } 3729 | ], 3730 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 3731 | "keywords": [ 3732 | "dotenv", 3733 | "env", 3734 | "environment" 3735 | ], 3736 | "funding": [ 3737 | { 3738 | "url": "https://github.com/GrahamCampbell", 3739 | "type": "github" 3740 | }, 3741 | { 3742 | "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", 3743 | "type": "tidelift" 3744 | } 3745 | ], 3746 | "time": "2020-09-14T15:57:31+00:00" 3747 | }, 3748 | { 3749 | "name": "voku/portable-ascii", 3750 | "version": "1.5.6", 3751 | "source": { 3752 | "type": "git", 3753 | "url": "https://github.com/voku/portable-ascii.git", 3754 | "reference": "80953678b19901e5165c56752d087fc11526017c" 3755 | }, 3756 | "dist": { 3757 | "type": "zip", 3758 | "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", 3759 | "reference": "80953678b19901e5165c56752d087fc11526017c", 3760 | "shasum": "" 3761 | }, 3762 | "require": { 3763 | "php": ">=7.0.0" 3764 | }, 3765 | "require-dev": { 3766 | "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" 3767 | }, 3768 | "suggest": { 3769 | "ext-intl": "Use Intl for transliterator_transliterate() support" 3770 | }, 3771 | "type": "library", 3772 | "autoload": { 3773 | "psr-4": { 3774 | "voku\\": "src/voku/" 3775 | } 3776 | }, 3777 | "notification-url": "https://packagist.org/downloads/", 3778 | "license": [ 3779 | "MIT" 3780 | ], 3781 | "authors": [ 3782 | { 3783 | "name": "Lars Moelleken", 3784 | "homepage": "http://www.moelleken.org/" 3785 | } 3786 | ], 3787 | "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", 3788 | "homepage": "https://github.com/voku/portable-ascii", 3789 | "keywords": [ 3790 | "ascii", 3791 | "clean", 3792 | "php" 3793 | ], 3794 | "funding": [ 3795 | { 3796 | "url": "https://www.paypal.me/moelleken", 3797 | "type": "custom" 3798 | }, 3799 | { 3800 | "url": "https://github.com/voku", 3801 | "type": "github" 3802 | }, 3803 | { 3804 | "url": "https://opencollective.com/portable-ascii", 3805 | "type": "open_collective" 3806 | }, 3807 | { 3808 | "url": "https://www.patreon.com/voku", 3809 | "type": "patreon" 3810 | }, 3811 | { 3812 | "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", 3813 | "type": "tidelift" 3814 | } 3815 | ], 3816 | "time": "2020-11-12T00:07:28+00:00" 3817 | }, 3818 | { 3819 | "name": "webmozart/assert", 3820 | "version": "1.9.1", 3821 | "source": { 3822 | "type": "git", 3823 | "url": "https://github.com/webmozart/assert.git", 3824 | "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" 3825 | }, 3826 | "dist": { 3827 | "type": "zip", 3828 | "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", 3829 | "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", 3830 | "shasum": "" 3831 | }, 3832 | "require": { 3833 | "php": "^5.3.3 || ^7.0 || ^8.0", 3834 | "symfony/polyfill-ctype": "^1.8" 3835 | }, 3836 | "conflict": { 3837 | "phpstan/phpstan": "<0.12.20", 3838 | "vimeo/psalm": "<3.9.1" 3839 | }, 3840 | "require-dev": { 3841 | "phpunit/phpunit": "^4.8.36 || ^7.5.13" 3842 | }, 3843 | "type": "library", 3844 | "autoload": { 3845 | "psr-4": { 3846 | "Webmozart\\Assert\\": "src/" 3847 | } 3848 | }, 3849 | "notification-url": "https://packagist.org/downloads/", 3850 | "license": [ 3851 | "MIT" 3852 | ], 3853 | "authors": [ 3854 | { 3855 | "name": "Bernhard Schussek", 3856 | "email": "bschussek@gmail.com" 3857 | } 3858 | ], 3859 | "description": "Assertions to validate method input/output with nice error messages.", 3860 | "keywords": [ 3861 | "assert", 3862 | "check", 3863 | "validate" 3864 | ], 3865 | "time": "2020-07-08T17:02:28+00:00" 3866 | } 3867 | ], 3868 | "packages-dev": [], 3869 | "aliases": [], 3870 | "minimum-stability": "stable", 3871 | "stability-flags": [], 3872 | "prefer-stable": false, 3873 | "prefer-lowest": false, 3874 | "platform": [], 3875 | "platform-dev": [], 3876 | "plugin-api-version": "1.1.0" 3877 | } 3878 | --------------------------------------------------------------------------------