aboutsummaryrefslogtreecommitdiff
blob: 96fa2df7bdbe24e62d2435a043fd8d5e6228d4a4 (plain)
ofshex dumpascii
0000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 2f 2a 0a 20 2a 20 54 #!/usr/bin/env.php.<?php./*..*.T
0020 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a his.file.is.part.of.Composer...*
0040 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 ..*.(c).Nils.Adermann.<naderman@
0060 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 naderman.de>..*.....Jordi.Boggia
0080 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f no.<j.boggiano@seld.be>..*..*.Fo
00a0 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 r.the.full.copyright.and.license
00c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 0a 20 2a 20 74 68 65 .information,.please.view..*.the
00e0 20 6c 69 63 65 6e 73 65 20 74 68 61 74 20 69 73 20 6c 6f 63 61 74 65 64 20 61 74 20 74 68 65 20 .license.that.is.located.at.the.
0100 62 6f 74 74 6f 6d 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2e 0a 20 2a 2f 0a 0a 2f 2f 20 41 76 6f bottom.of.this.file...*/..//.Avo
0120 69 64 20 41 50 43 20 63 61 75 73 69 6e 67 20 72 61 6e 64 6f 6d 20 66 61 74 61 6c 20 65 72 72 6f id.APC.causing.random.fatal.erro
0140 72 73 20 70 65 72 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 rs.per.https://github.com/compos
0160 65 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 73 73 75 65 73 2f 32 36 34 0a 69 66 20 28 65 78 74 65 6e er/composer/issues/264.if.(exten
0180 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 61 70 63 27 29 20 26 26 20 69 6e 69 5f 67 65 74 28 27 61 sion_loaded('apc').&&.ini_get('a
01a0 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 20 26 26 20 69 6e 69 5f 67 65 74 28 27 61 70 63 2e pc.enable_cli').&&.ini_get('apc.
01c0 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 27 29 29 20 7b 0a 20 20 20 20 69 66 20 28 76 65 cache_by_default')).{.....if.(ve
01e0 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 6f 6e 28 27 61 70 63 27 29 2c rsion_compare(phpversion('apc'),
0200 20 27 33 2e 30 2e 31 32 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 6e 69 5f .'3.0.12',.'>=')).{.........ini_
0220 73 65 74 28 27 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 27 2c 20 30 29 3b 0a set('apc.cache_by_default',.0);.
0240 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 66 77 72 69 74 65 28 53 54 44 45 ....}.else.{.........fwrite(STDE
0260 52 52 2c 20 27 57 61 72 6e 69 6e 67 3a 20 41 50 43 20 3c 3d 20 33 2e 30 2e 31 32 20 6d 61 79 20 RR,.'Warning:.APC.<=.3.0.12.may.
0280 63 61 75 73 65 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 cause.fatal.errors.when.running.
02a0 63 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 73 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 composer.commands.'.PHP_EOL);...
02c0 20 20 20 20 20 20 66 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 55 70 64 61 74 65 20 41 50 43 ......fwrite(STDERR,.'Update.APC
02e0 2c 20 6f 72 20 73 65 74 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 6f 72 20 61 70 63 2e 63 ,.or.set.apc.enable_cli.or.apc.c
0300 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 20 74 6f 20 30 20 69 6e 20 79 6f 75 72 20 70 68 70 ache_by_default.to.0.in.your.php
0320 2e 69 6e 69 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 50 68 61 72 3a 3a .ini.'.PHP_EOL);.....}.}..Phar::
0340 6d 61 70 50 68 61 72 28 27 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 27 29 3b 0a 72 65 71 75 69 72 mapPhar('composer.phar');.requir
0360 65 20 27 70 68 61 72 3a 2f 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 2f 62 69 6e 2f 63 6f 6d 70 e.'phar://composer.phar/bin/comp
0380 6f 73 65 72 27 3b 0a 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 49 4c 45 52 28 29 3b 20 3f 3e 0d 0a 3f oser';..__HALT_COMPILER();.?>..?
03a0 94 00 00 f3 01 00 00 11 00 00 00 01 00 0d 00 00 00 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 00 00 .................composer.phar..
03c0 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 6f 6c 6f 61 64 2f 41 75 74 6f ..+...src/Composer/Autoload/Auto
03e0 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 70 65 00 00 c8 90 75 5b 70 65 00 00 ac cb d5 loadGenerator.phppe....u[pe.....
0400 69 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 6f 6c 6f i........+...src/Composer/Autolo
0420 61 64 2f 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 8b 12 00 00 c8 90 75 5b ad/ClassMapGenerator.php......u[
0440 8b 12 00 00 4d e8 8d c4 b6 01 00 00 00 00 00 00 16 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....M...............src/Composer
0460 2f 43 61 63 68 65 2e 70 68 70 92 13 00 00 c8 90 75 5b 92 13 00 00 ad 62 9a 30 b6 01 00 00 00 00 /Cache.php......u[.....b.0......
0480 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 41 62 6f 75 74 ..%...src/Composer/Command/About
04a0 43 6f 6d 6d 61 6e 64 2e 70 68 70 cd 02 00 00 c8 90 75 5b cd 02 00 00 b3 a2 41 79 b6 01 00 00 00 Command.php......u[......Ay.....
04c0 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 41 72 63 68 ...'...src/Composer/Command/Arch
04e0 69 76 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 63 14 00 00 c8 90 75 5b 63 14 00 00 a5 7b 07 ef b6 01 iveCommand.phpc.....u[c....{....
0500 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 42 ......$...src/Composer/Command/B
0520 61 73 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 dc 0b 00 00 c8 90 75 5b dc 0b 00 00 67 f4 1a 31 b6 01 aseCommand.php......u[....g..1..
0540 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 42 ..........src/Composer/Command/B
0560 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 2e 70 68 70 f1 18 00 00 c8 90 75 5b aseDependencyCommand.php......u[
0580 f1 18 00 00 58 67 46 f0 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....XgF.........1...src/Composer
05a0 2f 43 6f 6d 6d 61 6e 64 2f 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d 52 65 71 73 43 6f 6d 6d 61 6e /Command/CheckPlatformReqsComman
05c0 64 2e 70 68 70 9d 0c 00 00 c8 90 75 5b 9d 0c 00 00 9f 4c 92 9e b6 01 00 00 00 00 00 00 2a 00 00 d.php......u[.....L..........*..
05e0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 6c 65 61 72 43 61 63 68 65 .src/Composer/Command/ClearCache
0600 43 6f 6d 6d 61 6e 64 2e 70 68 70 5e 05 00 00 c8 90 75 5b 5e 05 00 00 15 a8 e3 6a b6 01 00 00 00 Command.php^.....u[^......j.....
0620 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6e 66 ...&...src/Composer/Command/Conf
0640 69 67 43 6f 6d 6d 61 6e 64 2e 70 68 70 89 49 00 00 c8 90 75 5b 89 49 00 00 e4 b3 ef 80 b6 01 00 igCommand.php.I....u[.I.........
0660 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 72 .....-...src/Composer/Command/Cr
0680 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 25 35 00 00 c8 90 75 5b 25 35 eateProjectCommand.php%5....u[%5
06a0 00 00 e8 1a 50 2d b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 ....P-........'...src/Composer/C
06c0 6f 6d 6d 61 6e 64 2f 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 b8 02 00 00 c8 90 75 ommand/DependsCommand.php......u
06e0 5b b8 02 00 00 01 4b 1b b0 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [.....K..........(...src/Compose
0700 72 2f 43 6f 6d 6d 61 6e 64 2f 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 6d 49 00 r/Command/DiagnoseCommand.phpmI.
0720 00 c8 90 75 5b 6d 49 00 00 5d fa 45 21 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d ...u[mI..].E!........,...src/Com
0740 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e poser/Command/DumpAutoloadComman
0760 64 2e 70 68 70 13 0a 00 00 c8 90 75 5b 13 0a 00 00 dd 04 b8 3a b6 01 00 00 00 00 00 00 24 00 00 d.php......u[.......:........$..
0780 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 45 78 65 63 43 6f 6d 6d 61 6e .src/Composer/Command/ExecComman
07a0 64 2e 70 68 70 6b 07 00 00 c8 90 75 5b 6b 07 00 00 bc 93 c0 5b b6 01 00 00 00 00 00 00 26 00 00 d.phpk.....u[k......[........&..
07c0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 47 6c 6f 62 61 6c 43 6f 6d 6d .src/Composer/Command/GlobalComm
07e0 61 6e 64 2e 70 68 70 40 09 00 00 c8 90 75 5b 40 09 00 00 b7 a9 f0 01 b6 01 00 00 00 00 00 00 24 and.php@.....u[@...............$
0800 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 48 6f 6d 65 43 6f 6d 6d ...src/Composer/Command/HomeComm
0820 61 6e 64 2e 70 68 70 c4 0e 00 00 c8 90 75 5b c4 0e 00 00 c7 07 48 03 b6 01 00 00 00 00 00 00 24 and.php......u[......H.........$
0840 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 49 6e 69 74 43 6f 6d 6d ...src/Composer/Command/InitComm
0860 61 6e 64 2e 70 68 70 95 4b 00 00 c8 90 75 5b 95 4b 00 00 84 79 08 9f b6 01 00 00 00 00 00 00 27 and.php.K....u[.K...y..........'
0880 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 49 6e 73 74 61 6c 6c 43 ...src/Composer/Command/InstallC
08a0 6f 6d 6d 61 6e 64 2e 70 68 70 17 14 00 00 c8 90 75 5b 17 14 00 00 5b 1c 09 9a b6 01 00 00 00 00 ommand.php......u[....[.........
08c0 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 4c 69 63 65 6e ..(...src/Composer/Command/Licen
08e0 73 65 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 3b 0e 00 00 c8 90 75 5b 3b 0e 00 00 07 99 8f 55 b6 01 sesCommand.php;.....u[;......U..
0900 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 4f ......(...src/Composer/Command/O
0920 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 b1 0a 00 00 c8 90 75 5b b1 0a 00 00 bc 01 utdatedCommand.php......u[......
0940 4c d3 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 L.........)...src/Composer/Comma
0960 6e 64 2f 50 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 cc 02 00 00 c8 90 75 5b cc nd/ProhibitsCommand.php......u[.
0980 02 00 00 15 a8 5b ae b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f .....[.........&...src/Composer/
09a0 43 6f 6d 6d 61 6e 64 2f 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 9c 15 00 00 c8 90 75 Command/RemoveCommand.php......u
09c0 5b 9c 15 00 00 51 b6 8f af b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [....Q...........'...src/Compose
09e0 72 2f 43 6f 6d 6d 61 6e 64 2f 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 d7 20 00 00 r/Command/RequireCommand.php....
0a00 c8 90 75 5b d7 20 00 00 b3 aa a8 df b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[................)...src/Comp
0a20 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 2e 70 68 oser/Command/RunScriptCommand.ph
0a40 70 e3 0e 00 00 c8 90 75 5b e3 0e 00 00 98 15 1b d4 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 p......u[................+...src
0a60 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d /Composer/Command/ScriptAliasCom
0a80 6d 61 6e 64 2e 70 68 70 70 05 00 00 c8 90 75 5b 70 05 00 00 67 0d 86 28 b6 01 00 00 00 00 00 00 mand.phpp.....u[p...g..(........
0aa0 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 65 61 72 63 68 43 &...src/Composer/Command/SearchC
0ac0 6f 6d 6d 61 6e 64 2e 70 68 70 10 09 00 00 c8 90 75 5b 10 09 00 00 d2 3d c1 8b b6 01 00 00 00 00 ommand.php......u[.....=........
0ae0 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 65 6c 66 55 ..*...src/Composer/Command/SelfU
0b00 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 cc 32 00 00 c8 90 75 5b cc 32 00 00 11 da 36 0d pdateCommand.php.2....u[.2....6.
0b20 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 ........$...src/Composer/Command
0b40 2f 53 68 6f 77 43 6f 6d 6d 61 6e 64 2e 70 68 70 5f 6d 00 00 c8 90 75 5b 5f 6d 00 00 82 a4 3a 61 /ShowCommand.php_m....u[_m....:a
0b60 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 ........&...src/Composer/Command
0b80 2f 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 5c 15 00 00 c8 90 75 5b 5c 15 00 00 ab 49 /StatusCommand.php\.....u[\....I
0ba0 03 6e b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 .n........(...src/Composer/Comma
0bc0 6e 64 2f 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 a9 0d 00 00 c8 90 75 5b a9 0d nd/SuggestsCommand.php......u[..
0be0 00 00 3c 51 11 fe b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 ..<Q..........&...src/Composer/C
0c00 6f 6d 6d 61 6e 64 2f 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 b5 23 00 00 c8 90 75 5b ommand/UpdateCommand.php.#....u[
0c20 b5 23 00 00 40 8a 34 2d b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .#..@.4-........(...src/Composer
0c40 2f 43 6f 6d 6d 61 6e 64 2f 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 50 14 00 00 /Command/ValidateCommand.phpP...
0c60 c8 90 75 5b 50 14 00 00 7c 75 67 fc b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[P...|ug.............src/Comp
0c80 6f 73 65 72 2f 43 6f 6d 70 6f 73 65 72 2e 70 68 70 f9 09 00 00 c8 90 75 5b f9 09 00 00 d9 f7 83 oser/Composer.php......u[.......
0ca0 c0 b6 01 00 00 00 00 00 00 17 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 .............src/Composer/Config
0cc0 2e 70 68 70 ce 22 00 00 c8 90 75 5b ce 22 00 00 29 16 ce 5c b6 01 00 00 00 00 00 00 2d 00 00 00 .php."....u[."..)..\........-...
0ce0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2f 43 6f 6e 66 69 67 53 6f 75 72 63 65 src/Composer/Config/ConfigSource
0d00 49 6e 74 65 72 66 61 63 65 2e 70 68 70 0e 02 00 00 c8 90 75 5b 0e 02 00 00 b3 0c 5b 2f b6 01 00 Interface.php......u[......[/...
0d20 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2f 4a 73 6f .....(...src/Composer/Config/Jso
0d40 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 2e 70 68 70 75 13 00 00 c8 90 75 5b 75 13 00 00 3d a4 1c nConfigSource.phpu.....u[u...=..
0d60 83 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 73 6f 6c .........$...src/Composer/Consol
0d80 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 da 33 00 00 c8 90 75 5b da 33 00 00 0b fd 25 e/Application.php.3....u[.3....%
0da0 44 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 73 6f 6c D........,...src/Composer/Consol
0dc0 65 2f 48 74 6d 6c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 33 06 00 00 c8 90 75 e/HtmlOutputFormatter.php3.....u
0de0 5b 33 06 00 00 da 81 45 75 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [3.....Eu........-...src/Compose
0e00 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 44 65 63 69 73 69 6f 6e 73 2e 70 r/DependencyResolver/Decisions.p
0e20 68 70 51 0f 00 00 c8 90 75 5b 51 0f 00 00 3f 98 ac 24 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 hpQ.....u[Q...?..$........1...sr
0e40 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 44 65 c/Composer/DependencyResolver/De
0e60 66 61 75 6c 74 50 6f 6c 69 63 79 2e 70 68 70 02 17 00 00 c8 90 75 5b 02 17 00 00 f5 dd 76 7f b6 faultPolicy.php......u[......v..
0e80 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e ......./...src/Composer/Dependen
0ea0 63 79 52 65 73 6f 6c 76 65 72 2f 47 65 6e 65 72 69 63 52 75 6c 65 2e 70 68 70 b5 03 00 00 c8 90 cyResolver/GenericRule.php......
0ec0 75 5b b5 03 00 00 19 e1 ab a4 b6 01 00 00 00 00 00 00 3e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[................>...src/Compos
0ee0 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f er/DependencyResolver/Operation/
0f00 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 43 02 00 00 c8 90 75 5b 43 02 00 00 InstallOperation.phpC.....u[C...
0f20 b4 5c f5 2a b6 01 00 00 00 00 00 00 49 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 .\.*........I...src/Composer/Dep
0f40 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 4d 61 72 6b 41 6c endencyResolver/Operation/MarkAl
0f60 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 f7 02 00 00 c8 90 75 iasInstalledOperation.php......u
0f80 5b f7 02 00 00 ef ce e0 f7 b6 01 00 00 00 00 00 00 4b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [................K...src/Compose
0fa0 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 4d r/DependencyResolver/Operation/M
0fc0 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 arkAliasUninstalledOperation.php
0fe0 fd 02 00 00 c8 90 75 5b fd 02 00 00 19 33 23 86 b6 01 00 00 00 00 00 00 40 00 00 00 73 72 63 2f ......u[.....3#.........@...src/
1000 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 Composer/DependencyResolver/Oper
1020 61 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d3 00 00 00 ation/OperationInterface.php....
1040 c8 90 75 5b d3 00 00 00 d9 e2 26 e4 b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[......&.........=...src/Comp
1060 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f oser/DependencyResolver/Operatio
1080 6e 2f 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 b9 01 00 00 c8 90 75 5b b9 01 00 n/SolverOperation.php......u[...
10a0 00 26 a2 65 0a b6 01 00 00 00 00 00 00 40 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 .&.e.........@...src/Composer/De
10c0 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 55 6e 69 6e 73 pendencyResolver/Operation/Unins
10e0 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 49 02 00 00 c8 90 75 5b 49 02 00 00 46 fb c2 tallOperation.phpI.....u[I...F..
1100 c9 b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 .........=...src/Composer/Depend
1120 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 55 70 64 61 74 65 4f 70 65 encyResolver/Operation/UpdateOpe
1140 72 61 74 69 6f 6e 2e 70 68 70 68 03 00 00 c8 90 75 5b 68 03 00 00 f6 53 d5 5d b6 01 00 00 00 00 ration.phph.....u[h....S.]......
1160 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 ..3...src/Composer/DependencyRes
1180 6f 6c 76 65 72 2f 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ad 01 00 00 c8 90 75 olver/PolicyInterface.php......u
11a0 5b ad 01 00 00 18 9f 8b 52 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [.......R........(...src/Compose
11c0 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 6f 6f 6c 2e 70 68 70 b0 22 00 r/DependencyResolver/Pool.php.".
11e0 00 c8 90 75 5b b0 22 00 00 1d 09 8e 25 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d ...u[.".....%........+...src/Com
1200 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 72 6f 62 6c 65 6d poser/DependencyResolver/Problem
1220 2e 70 68 70 a4 18 00 00 c8 90 75 5b a4 18 00 00 00 05 13 de b6 01 00 00 00 00 00 00 2b 00 00 00 .php......u[................+...
1240 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f src/Composer/DependencyResolver/
1260 52 65 71 75 65 73 74 2e 70 68 70 83 04 00 00 c8 90 75 5b 83 04 00 00 e5 56 50 84 b6 01 00 00 00 Request.php......u[.....VP......
1280 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 ...(...src/Composer/DependencyRe
12a0 73 6f 6c 76 65 72 2f 52 75 6c 65 2e 70 68 70 ab 18 00 00 c8 90 75 5b ab 18 00 00 f4 d3 e7 b4 b6 solver/Rule.php......u[.........
12c0 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e .......1...src/Composer/Dependen
12e0 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 2e 70 68 70 18 05 00 00 cyResolver/Rule2Literals.php....
1300 c8 90 75 5b 18 05 00 00 74 5a c5 c9 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[....tZ..........+...src/Comp
1320 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 2e oser/DependencyResolver/RuleSet.
1340 70 68 70 aa 0a 00 00 c8 90 75 5b aa 0a 00 00 5f ce 82 1b b6 01 00 00 00 00 00 00 34 00 00 00 73 php......u[...._...........4...s
1360 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 rc/Composer/DependencyResolver/R
1380 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 46 1b 00 00 c8 90 75 5b 46 1b 00 00 2f uleSetGenerator.phpF.....u[F.../
13a0 49 04 d0 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 I..........3...src/Composer/Depe
13c0 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 2e 70 ndencyResolver/RuleSetIterator.p
13e0 68 70 11 06 00 00 c8 90 75 5b 11 06 00 00 9b 43 fc 24 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 hp......u[.....C.$........2...sr
1400 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 c/Composer/DependencyResolver/Ru
1420 6c 65 57 61 74 63 68 43 68 61 69 6e 2e 70 68 70 69 01 00 00 c8 90 75 5b 69 01 00 00 68 ef 9a 2c leWatchChain.phpi.....u[i...h..,
1440 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 ........2...src/Composer/Depende
1460 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 2e 70 68 70 e1 06 ncyResolver/RuleWatchGraph.php..
1480 00 00 c8 90 75 5b e1 06 00 00 89 72 f4 76 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f ....u[.....r.v........1...src/Co
14a0 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 mposer/DependencyResolver/RuleWa
14c0 74 63 68 4e 6f 64 65 2e 70 68 70 05 04 00 00 c8 90 75 5b 05 04 00 00 8f 47 64 37 b6 01 00 00 00 tchNode.php......u[.....Gd7.....
14e0 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 ...*...src/Composer/DependencyRe
1500 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 2e 70 68 70 2c 3a 00 00 c8 90 75 5b 2c 3a 00 00 b2 e3 7e solver/Solver.php,:....u[,:....~
1520 9c b6 01 00 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 .........6...src/Composer/Depend
1540 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 2e encyResolver/SolverBugException.
1560 70 68 70 99 01 00 00 c8 90 75 5b 99 01 00 00 58 12 67 36 b6 01 00 00 00 00 00 00 3b 00 00 00 73 php......u[....X.g6........;...s
1580 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 rc/Composer/DependencyResolver/S
15a0 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 f4 07 00 00 c8 90 olverProblemsException.php......
15c0 75 5b f4 07 00 00 d7 7c c5 a6 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[.....|........../...src/Compos
15e0 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 54 72 61 6e 73 61 63 74 69 6f er/DependencyResolver/Transactio
1600 6e 2e 70 68 70 d7 13 00 00 c8 90 75 5b d7 13 00 00 56 6d ec 9f b6 01 00 00 00 00 00 00 2d 00 00 n.php......u[....Vm..........-..
1620 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 41 72 63 68 69 76 65 .src/Composer/Downloader/Archive
1640 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 c6 09 00 00 c8 90 75 5b c6 09 00 00 47 20 73 30 b6 01 Downloader.php......u[....G.s0..
1660 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 ......1...src/Composer/Downloade
1680 72 2f 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cc 00 00 00 c8 r/ChangeReportInterface.php.....
16a0 90 75 5b cc 00 00 00 af e0 a8 bf b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f .u[................+...src/Compo
16c0 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2e 70 ser/Downloader/DownloadManager.p
16e0 68 70 60 15 00 00 c8 90 75 5b 60 15 00 00 23 cf 58 14 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 hp`.....u[`...#.X........./...sr
1700 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 c/Composer/Downloader/Downloader
1720 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ca 01 00 00 c8 90 75 5b ca 01 00 00 67 73 21 6c b6 01 00 Interface.php......u[....gs!l...
1740 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 .....3...src/Composer/Downloader
1760 2f 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d1 00 00 00 /DvcsDownloaderInterface.php....
1780 c8 90 75 5b d1 00 00 00 26 c1 9c bf b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[....&...........*...src/Comp
17a0 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 oser/Downloader/FileDownloader.p
17c0 68 70 3f 1c 00 00 c8 90 75 5b 3f 1c 00 00 22 41 16 fd b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 hp?.....u[?..."A........../...sr
17e0 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 69 6c 65 73 79 73 74 65 6d c/Composer/Downloader/Filesystem
1800 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0a 01 00 00 c8 90 75 5b 0a 01 00 00 2e 2d 1e 8b b6 01 00 Exception.php......u[.....-.....
1820 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 .....,...src/Composer/Downloader
1840 2f 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 82 0b 00 00 c8 90 75 5b 82 0b 00 /FossilDownloader.php......u[...
1860 00 dc 81 49 69 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f ...Ii........)...src/Composer/Do
1880 77 6e 6c 6f 61 64 65 72 2f 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 71 34 00 00 c8 90 wnloader/GitDownloader.phpq4....
18a0 75 5b 71 34 00 00 5a ce c7 d7 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[q4..Z...........*...src/Compos
18c0 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 47 7a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 er/Downloader/GzipDownloader.php
18e0 f3 06 00 00 c8 90 75 5b f3 06 00 00 7d da 6f c2 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f ......u[....}.o.........(...src/
1900 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 48 67 44 6f 77 6e 6c 6f 61 64 65 72 Composer/Downloader/HgDownloader
1920 2e 70 68 70 94 08 00 00 c8 90 75 5b 94 08 00 00 df 69 73 cc b6 01 00 00 00 00 00 00 2a 00 00 00 .php......u[.....is.........*...
1940 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 61 74 68 44 6f 77 6e src/Composer/Downloader/PathDown
1960 6c 6f 61 64 65 72 2e 70 68 70 51 11 00 00 c8 90 75 5b 51 11 00 00 43 6e 03 a4 b6 01 00 00 00 00 loader.phpQ.....u[Q...Cn........
1980 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 65 ..0...src/Composer/Downloader/Pe
19a0 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 2e 70 68 70 75 1b 00 00 c8 90 75 5b 75 1b arPackageExtractor.phpu.....u[u.
19c0 00 00 7a 84 15 87 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 ..z...............src/Composer/D
19e0 6f 77 6e 6c 6f 61 64 65 72 2f 50 65 72 66 6f 72 63 65 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 ownloader/PerforceDownloader.php
1a00 a7 07 00 00 c8 90 75 5b a7 07 00 00 e2 83 10 a8 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f ......u[................*...src/
1a20 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 68 61 72 44 6f 77 6e 6c 6f 61 64 Composer/Downloader/PharDownload
1a40 65 72 2e 70 68 70 e5 00 00 00 c8 90 75 5b e5 00 00 00 de c9 1f e7 b6 01 00 00 00 00 00 00 29 00 er.php......u[................).
1a60 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 52 61 72 44 6f 77 ..src/Composer/Downloader/RarDow
1a80 6e 6c 6f 61 64 65 72 2e 70 68 70 9e 07 00 00 c8 90 75 5b 9e 07 00 00 36 09 33 55 b6 01 00 00 00 nloader.php......u[....6.3U.....
1aa0 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 53 ...)...src/Composer/Downloader/S
1ac0 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 47 14 00 00 c8 90 75 5b 47 14 00 00 4d 23 6a 1d vnDownloader.phpG.....u[G...M#j.
1ae0 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 ........)...src/Composer/Downloa
1b00 64 65 72 2f 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e3 00 00 00 c8 90 75 5b e3 00 00 der/TarDownloader.php......u[...
1b20 00 cd 92 58 3f b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f ...X?............src/Composer/Do
1b40 77 6e 6c 6f 61 64 65 72 2f 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 3d wnloader/TransportException.php=
1b60 02 00 00 c8 90 75 5b 3d 02 00 00 5a ce c8 de b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 .....u[=...Z...........9...src/C
1b80 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 56 63 73 43 61 70 61 62 6c 65 44 6f 77 omposer/Downloader/VcsCapableDow
1ba0 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d4 00 00 00 c8 90 75 5b d4 00 00 00 nloaderInterface.php......u[....
1bc0 60 a7 f4 f6 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 `...........)...src/Composer/Dow
1be0 6e 6c 6f 61 64 65 72 2f 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 a1 16 00 00 c8 90 75 nloader/VcsDownloader.php......u
1c00 5b a1 16 00 00 28 09 e0 3e b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [....(..>........(...src/Compose
1c20 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 a7 04 00 r/Downloader/XzDownloader.php...
1c40 00 c8 90 75 5b a7 04 00 00 57 24 3b e1 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d ...u[....W$;.........)...src/Com
1c60 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 poser/Downloader/ZipDownloader.p
1c80 68 70 e8 14 00 00 c8 90 75 5b e8 14 00 00 d3 39 88 ff b6 01 00 00 00 00 00 00 26 00 00 00 73 72 hp......u[.....9..........&...sr
1ca0 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2f 45 76 65 6e 74 c/Composer/EventDispatcher/Event
1cc0 2e 70 68 70 a0 02 00 00 c8 90 75 5b a0 02 00 00 b1 99 6a ef b6 01 00 00 00 00 00 00 30 00 00 00 .php......u[......j.........0...
1ce0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2f 45 76 65 src/Composer/EventDispatcher/Eve
1d00 6e 74 44 69 73 70 61 74 63 68 65 72 2e 70 68 70 a0 32 00 00 c8 90 75 5b a0 32 00 00 61 6e d5 33 ntDispatcher.php.2....u[.2..an.3
1d20 b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 ........9...src/Composer/EventDi
1d40 73 70 61 74 63 68 65 72 2f 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 spatcher/EventSubscriberInterfac
1d60 65 2e 70 68 70 a9 00 00 00 c8 90 75 5b a9 00 00 00 68 b7 01 30 b6 01 00 00 00 00 00 00 39 00 00 e.php......u[....h..0........9..
1d80 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2f 53 63 .src/Composer/EventDispatcher/Sc
1da0 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 76 00 00 00 c8 90 riptExecutionException.phpv.....
1dc0 75 5b 76 00 00 00 77 5a 38 53 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[v...wZ8S........)...src/Compos
1de0 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 66 er/Exception/NoSslException.phpf
1e00 00 00 00 c8 90 75 5b 66 00 00 00 cb ed 4d 9d b6 01 00 00 00 00 00 00 18 00 00 00 73 72 63 2f 43 .....u[f.....M.............src/C
1e20 6f 6d 70 6f 73 65 72 2f 46 61 63 74 6f 72 79 2e 70 68 70 52 3d 00 00 c8 90 75 5b 52 3d 00 00 64 omposer/Factory.phpR=....u[R=..d
1e40 ae 02 a4 b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 42 ...............src/Composer/IO/B
1e60 61 73 65 49 4f 2e 70 68 70 8c 10 00 00 c8 90 75 5b 8c 10 00 00 28 82 6c 91 b6 01 00 00 00 00 00 aseIO.php......u[....(.l........
1e80 00 1c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 42 75 66 66 65 72 49 4f 2e 70 68 .....src/Composer/IO/BufferIO.ph
1ea0 70 2a 04 00 00 c8 90 75 5b 2a 04 00 00 a2 ae 68 54 b6 01 00 00 00 00 00 00 1d 00 00 00 73 72 63 p*.....u[*.....hT............src
1ec0 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 43 6f 6e 73 6f 6c 65 49 4f 2e 70 68 70 36 17 00 00 c8 90 /Composer/IO/ConsoleIO.php6.....
1ee0 75 5b 36 17 00 00 f6 19 23 24 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[6.....#$............src/Compos
1f00 65 72 2f 49 4f 2f 49 4f 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ec 05 00 00 c8 90 75 5b ec 05 00 er/IO/IOInterface.php......u[...
1f20 00 00 d5 9d 0e b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f .................src/Composer/IO
1f40 2f 4e 75 6c 6c 49 4f 2e 70 68 70 c0 04 00 00 c8 90 75 5b c0 04 00 00 46 60 73 ca b6 01 00 00 00 /NullIO.php......u[....F`s......
1f60 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2e 70 68 .......src/Composer/Installer.ph
1f80 70 1e 9d 00 00 c8 90 75 5b 1e 9d 00 00 a1 71 34 c5 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 p......u[.....q4.........*...src
1fa0 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 42 69 6e 61 72 79 49 6e 73 74 61 6c /Composer/Installer/BinaryInstal
1fc0 6c 65 72 2e 70 68 70 d7 11 00 00 c8 90 75 5b d7 11 00 00 a3 14 e6 71 b6 01 00 00 00 00 00 00 32 ler.php......u[.......q........2
1fe0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 42 69 6e 61 72 79 ...src/Composer/Installer/Binary
2000 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cb 00 00 00 c8 90 75 5b cb 00 00 PresenceInterface.php......u[...
2020 00 c0 35 9a a8 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e ..5..............src/Composer/In
2040 73 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 70 68 70 2d staller/InstallationManager.php-
2060 17 00 00 c8 90 75 5b 2d 17 00 00 be 7d 8c 37 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 .....u[-....}.7........)...src/C
2080 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 omposer/Installer/InstallerEvent
20a0 2e 70 68 70 0e 06 00 00 c8 90 75 5b 0e 06 00 00 6c d4 7a 69 b6 01 00 00 00 00 00 00 2a 00 00 00 .php......u[....l.zi........*...
20c0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 65 72 src/Composer/Installer/Installer
20e0 45 76 65 6e 74 73 2e 70 68 70 de 00 00 00 c8 90 75 5b de 00 00 00 ec 9f 40 47 b6 01 00 00 00 00 Events.php......u[......@G......
2100 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 ..-...src/Composer/Installer/Ins
2120 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e3 02 00 00 c8 90 75 5b e3 02 00 00 5e tallerInterface.php......u[....^
2140 83 93 ca b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 ...........+...src/Composer/Inst
2160 61 6c 6c 65 72 2f 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 25 14 00 00 c8 90 aller/LibraryInstaller.php%.....
2180 75 5b 25 14 00 00 0c bb 8f cc b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[%.............../...src/Compos
21a0 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 er/Installer/MetapackageInstalle
21c0 72 2e 70 68 70 9c 04 00 00 c8 90 75 5b 9c 04 00 00 c6 12 c5 21 b6 01 00 00 00 00 00 00 28 00 00 r.php......u[.......!........(..
21e0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4e 6f 6f 70 49 6e 73 74 .src/Composer/Installer/NoopInst
2200 61 6c 6c 65 72 2e 70 68 70 2b 05 00 00 c8 90 75 5b 2b 05 00 00 c0 b7 4d 7d b6 01 00 00 00 00 00 aller.php+.....u[+.....M}.......
2220 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 61 63 6b .'...src/Composer/Installer/Pack
2240 61 67 65 45 76 65 6e 74 2e 70 68 70 65 03 00 00 c8 90 75 5b 65 03 00 00 3b b0 20 1a b6 01 00 00 ageEvent.phpe.....u[e...;.......
2260 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 ....(...src/Composer/Installer/P
2280 61 63 6b 61 67 65 45 76 65 6e 74 73 2e 70 68 70 b8 01 00 00 c8 90 75 5b b8 01 00 00 64 62 d8 73 ackageEvents.php......u[....db.s
22a0 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c ............src/Composer/Install
22c0 65 72 2f 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 f8 0c 00 00 c8 90 er/PearBinaryInstaller.php......
22e0 75 5b f8 0c 00 00 2a eb 95 6b b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[....*..k........(...src/Compos
2300 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 a2 07 er/Installer/PearInstaller.php..
2320 00 00 c8 90 75 5b a2 07 00 00 c8 82 b6 d1 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f ....u[................*...src/Co
2340 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 mposer/Installer/PluginInstaller
2360 2e 70 68 70 8b 06 00 00 c8 90 75 5b 8b 06 00 00 0f d2 58 38 b6 01 00 00 00 00 00 00 2b 00 00 00 .php......u[......X8........+...
2380 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 72 6f 6a 65 63 74 49 6e src/Composer/Installer/ProjectIn
23a0 73 74 61 6c 6c 65 72 2e 70 68 70 1d 06 00 00 c8 90 75 5b 1d 06 00 00 2a 30 40 50 b6 01 00 00 00 staller.php......u[....*0@P.....
23c0 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 53 75 ...4...src/Composer/Installer/Su
23e0 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2e 70 68 70 3a 07 00 00 c8 ggestedPackagesReporter.php:....
2400 90 75 5b 3a 07 00 00 82 b4 55 56 b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f .u[:.....UV............src/Compo
2420 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 69 6c 65 2e 70 68 70 ee 13 00 00 c8 90 75 5b ee 13 00 ser/Json/JsonFile.php......u[...
2440 00 62 2d 7e 04 b6 01 00 00 00 00 00 00 23 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 4a 73 .b-~.........#...src/Composer/Js
2460 6f 6e 2f 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 62 06 00 00 c8 90 75 5b 62 06 00 00 on/JsonFormatter.phpb.....u[b...
2480 12 dd 4e 9a b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 4a 73 6f ..N.........%...src/Composer/Jso
24a0 6e 2f 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 70 68 70 92 33 00 00 c8 90 75 5b 92 33 00 n/JsonManipulator.php.3....u[.3.
24c0 00 e9 37 12 1b b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 4a 73 ..7..........-...src/Composer/Js
24e0 6f 6e 2f 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 5c 01 on/JsonValidationException.php\.
2500 00 00 c8 90 75 5b 5c 01 00 00 2e 58 f3 dc b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f ....u[\....X..........%...src/Co
2520 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 6c 69 61 73 50 61 63 6b 61 67 65 2e 70 68 70 05 mposer/Package/AliasPackage.php.
2540 17 00 00 c8 90 75 5b 05 17 00 00 b9 97 7e 9a b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 .....u[......~.........7...src/C
2560 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 61 omposer/Package/Archiver/Archiva
2580 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 2e 70 68 70 09 02 00 00 c8 90 75 5b 09 02 00 00 79 59 bleFilesFilter.php......u[....yY
25a0 2b a6 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 +.........7...src/Composer/Packa
25c0 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 ge/Archiver/ArchivableFilesFinde
25e0 72 2e 70 68 70 de 05 00 00 c8 90 75 5b de 05 00 00 0c b2 b2 b9 b6 01 00 00 00 00 00 00 30 00 00 r.php......u[................0..
2600 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 .src/Composer/Package/Archiver/A
2620 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2e 70 68 70 86 0c 00 00 c8 90 75 5b 86 0c 00 00 df 35 b0 rchiveManager.php......u[.....5.
2640 7f b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .........3...src/Composer/Packag
2660 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e/Archiver/ArchiverInterface.php
2680 07 01 00 00 c8 90 75 5b 07 01 00 00 f1 b4 3e 0b b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f ......u[......>.........3...src/
26a0 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 42 61 73 65 45 78 Composer/Package/Archiver/BaseEx
26c0 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 96 06 00 00 c8 90 75 5b 96 06 00 00 79 b6 3d c6 b6 cludeFilter.php......u[....y.=..
26e0 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f .......7...src/Composer/Package/
2700 41 72 63 68 69 76 65 72 2f 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 Archiver/ComposerExcludeFilter.p
2720 68 70 1f 01 00 00 c8 90 75 5b 1f 01 00 00 8b 53 5a 30 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 hp......u[.....SZ0........2...sr
2740 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 47 69 74 45 c/Composer/Package/Archiver/GitE
2760 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 72 03 00 00 c8 90 75 5b 72 03 00 00 33 91 4d 68 xcludeFilter.phpr.....u[r...3.Mh
2780 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 ........1...src/Composer/Package
27a0 2f 41 72 63 68 69 76 65 72 2f 48 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 0b 05 00 /Archiver/HgExcludeFilter.php...
27c0 00 c8 90 75 5b 0b 05 00 00 0d 95 a6 53 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d ...u[.......S............src/Com
27e0 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 50 68 61 72 41 72 63 68 69 poser/Package/Archiver/PharArchi
2800 76 65 72 2e 70 68 70 3f 06 00 00 c8 90 75 5b 3f 06 00 00 ae 97 09 75 b6 01 00 00 00 00 00 00 2d ver.php?.....u[?......u........-
2820 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 ...src/Composer/Package/Archiver
2840 2f 5a 69 70 41 72 63 68 69 76 65 72 2e 70 68 70 bd 04 00 00 c8 90 75 5b bd 04 00 00 56 c0 82 a8 /ZipArchiver.php......u[....V...
2860 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 ........$...src/Composer/Package
2880 2f 42 61 73 65 50 61 63 6b 61 67 65 2e 70 68 70 26 0d 00 00 c8 90 75 5b 26 0d 00 00 1b 27 1f dd /BasePackage.php&.....u[&....'..
28a0 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 ........*...src/Composer/Package
28c0 2f 43 6f 6d 70 61 72 65 72 2f 43 6f 6d 70 61 72 65 72 2e 70 68 70 38 08 00 00 c8 90 75 5b 38 08 /Comparer/Comparer.php8.....u[8.
28e0 00 00 4f 0c 32 a8 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 ..O.2.........(...src/Composer/P
2900 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 2e 70 68 70 fc 06 00 00 c8 90 ackage/CompletePackage.php......
2920 75 5b fc 06 00 00 fe 4d cb b6 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[.....M..........1...src/Compos
2940 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 er/Package/CompletePackageInterf
2960 61 63 65 2e 70 68 70 f5 01 00 00 c8 90 75 5b f5 01 00 00 a6 ca 81 f2 b6 01 00 00 00 00 00 00 2b ace.php......u[................+
2980 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 44 75 6d 70 65 72 2f 41 ...src/Composer/Package/Dumper/A
29a0 72 72 61 79 44 75 6d 70 65 72 2e 70 68 70 3d 0c 00 00 c8 90 75 5b 3d 0c 00 00 54 5c 8b 37 b6 01 rrayDumper.php=.....u[=...T\.7..
29c0 00 00 00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c ..........src/Composer/Package/L
29e0 69 6e 6b 2e 70 68 70 88 05 00 00 c8 90 75 5b 88 05 00 00 e5 b6 59 ab b6 01 00 00 00 00 00 00 37 ink.php......u[......Y.........7
2a00 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 ...src/Composer/Package/LinkCons
2a20 74 72 61 69 6e 74 2f 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 82 01 00 00 c8 90 traint/EmptyConstraint.php......
2a40 75 5b 82 01 00 00 0e e9 7e 8b b6 01 00 00 00 00 00 00 3f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[......~.........?...src/Compos
2a60 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 4c 69 6e 6b 43 6f er/Package/LinkConstraint/LinkCo
2a80 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 64 01 00 00 c8 90 75 5b 64 01 00 nstraintInterface.phpd.....u[d..
2aa0 00 a4 f4 4c 6e b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 ...Ln........7...src/Composer/Pa
2ac0 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 4d 75 6c 74 69 43 6f 6e 73 74 72 ckage/LinkConstraint/MultiConstr
2ae0 61 69 6e 74 2e 70 68 70 82 01 00 00 c8 90 75 5b 82 01 00 00 f3 62 60 fd b6 01 00 00 00 00 00 00 aint.php......u[.....b`.........
2b00 3a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e :...src/Composer/Package/LinkCon
2b20 73 74 72 61 69 6e 74 2f 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 69 01 straint/SpecificConstraint.phpi.
2b40 00 00 c8 90 75 5b 69 01 00 00 de 94 9a 25 b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f ....u[i......%........9...src/Co
2b60 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 56 65 mposer/Package/LinkConstraint/Ve
2b80 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 58 01 00 00 c8 90 75 5b 58 01 00 00 02 rsionConstraint.phpX.....u[X....
2ba0 7d 60 79 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b }`y........+...src/Composer/Pack
2bc0 61 67 65 2f 4c 6f 61 64 65 72 2f 41 72 72 61 79 4c 6f 61 64 65 72 2e 70 68 70 1f 1e 00 00 c8 90 age/Loader/ArrayLoader.php......
2be0 75 5b 1f 1e 00 00 6e 7e 9c 9b b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[....n~..........7...src/Compos
2c00 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 er/Package/Loader/InvalidPackage
2c20 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 45 02 00 00 c8 90 75 5b 45 02 00 00 78 62 13 be b6 01 00 Exception.phpE.....u[E...xb.....
2c40 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f .....*...src/Composer/Package/Lo
2c60 61 64 65 72 2f 4a 73 6f 6e 4c 6f 61 64 65 72 2e 70 68 70 f9 01 00 00 c8 90 75 5b f9 01 00 00 21 ader/JsonLoader.php......u[....!
2c80 7e 88 7b b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b ~.{......../...src/Composer/Pack
2ca0 61 67 65 2f 4c 6f 61 64 65 72 2f 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 b2 00 age/Loader/LoaderInterface.php..
2cc0 00 00 c8 90 75 5b b2 00 00 00 a6 7d fa ce b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f ....u[.....}..........1...src/Co
2ce0 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 52 6f 6f 74 50 61 63 6b 61 67 mposer/Package/Loader/RootPackag
2d00 65 4c 6f 61 64 65 72 2e 70 68 70 11 17 00 00 c8 90 75 5b 11 17 00 00 2d 82 a3 7b b6 01 00 00 00 eLoader.php......u[....-..{.....
2d20 00 00 00 35 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 ...5...src/Composer/Package/Load
2d40 65 72 2f 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 2e 70 68 70 ad 36 00 00 er/ValidatingArrayLoader.php.6..
2d60 c8 90 75 5b ad 36 00 00 5c 02 e6 30 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[.6..\..0............src/Comp
2d80 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 63 6b 65 72 2e 70 68 70 a5 21 00 00 c8 90 75 5b a5 oser/Package/Locker.php.!....u[.
2da0 21 00 00 2f 3d 78 f6 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f !../=x.............src/Composer/
2dc0 50 61 63 6b 61 67 65 2f 50 61 63 6b 61 67 65 2e 70 68 70 c9 1a 00 00 c8 90 75 5b c9 1a 00 00 63 Package/Package.php......u[....c
2de0 c3 8f 68 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b ..h........)...src/Composer/Pack
2e00 61 67 65 2f 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a0 07 00 00 c8 90 75 5b age/PackageInterface.php......u[
2e20 a0 07 00 00 fb c7 5e c6 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ......^.........)...src/Composer
2e40 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 2e 70 68 70 1f 09 00 /Package/RootAliasPackage.php...
2e60 00 c8 90 75 5b 1f 09 00 00 09 5f 80 f8 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d ...u[....._..........$...src/Com
2e80 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b 61 67 65 2e 70 68 70 11 05 00 poser/Package/RootPackage.php...
2ea0 00 c8 90 75 5b 11 05 00 00 02 8e ce 5f b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d ...u[......._........-...src/Com
2ec0 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 poser/Package/RootPackageInterfa
2ee0 63 65 2e 70 68 70 b9 03 00 00 c8 90 75 5b b9 03 00 00 22 6d 61 56 b6 01 00 00 00 00 00 00 2f 00 ce.php......u[...."maV......../.
2f00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 ..src/Composer/Package/Version/V
2f20 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2e 70 68 70 cf 1d 00 00 c8 90 75 5b cf 1d 00 00 cc c2 df ersionGuesser.php......u[.......
2f40 04 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .............src/Composer/Packag
2f60 65 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 72 2e 70 68 70 a5 05 00 00 c8 e/Version/VersionParser.php.....
2f80 90 75 5b a5 05 00 00 f4 b4 16 e0 b6 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f .u[................0...src/Compo
2fa0 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 53 65 6c 65 63 ser/Package/Version/VersionSelec
2fc0 74 6f 72 2e 70 68 70 4b 0c 00 00 c8 90 75 5b 4b 0c 00 00 b2 3c 0f c8 b6 01 00 00 00 00 00 00 2d tor.phpK.....u[K....<..........-
2fe0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 69 6c 69 74 ...src/Composer/Plugin/Capabilit
3000 79 2f 43 61 70 61 62 69 6c 69 74 79 2e 70 68 70 57 00 00 00 c8 90 75 5b 57 00 00 00 e6 5f a8 31 y/Capability.phpW.....u[W...._.1
3020 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f ........2...src/Composer/Plugin/
3040 43 61 70 61 62 69 6c 69 74 79 2f 43 6f 6d 6d 61 6e 64 50 72 6f 76 69 64 65 72 2e 70 68 70 97 00 Capability/CommandProvider.php..
3060 00 00 c8 90 75 5b 97 00 00 00 fb 4f e2 3e b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f ....u[.....O.>............src/Co
3080 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 6c 65 2e 70 68 70 7f 00 00 00 c8 90 75 mposer/Plugin/Capable.php......u
30a0 5b 7f 00 00 00 c6 71 15 2b b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [.....q.+........$...src/Compose
30c0 72 2f 50 6c 75 67 69 6e 2f 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 e2 02 00 00 c8 90 75 r/Plugin/CommandEvent.php......u
30e0 5b e2 02 00 00 b3 c6 c7 57 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [.......W........$...src/Compose
3100 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 45 76 65 6e 74 73 2e 70 68 70 f6 00 00 00 c8 90 75 r/Plugin/PluginEvents.php......u
3120 5b f6 00 00 00 e1 31 3d 7a b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 [.....1=z........'...src/Compose
3140 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f4 00 00 00 r/Plugin/PluginInterface.php....
3160 c8 90 75 5b f4 00 00 00 29 27 2a d8 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[....)'*.........%...src/Comp
3180 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 2e 70 68 70 1b 24 00 oser/Plugin/PluginManager.php.$.
31a0 00 c8 90 75 5b 1b 24 00 00 8b 02 4b a9 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d ...u[.$....K.........*...src/Com
31c0 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 2e poser/Plugin/PreCommandRunEvent.
31e0 70 68 70 f5 01 00 00 c8 90 75 5b f5 01 00 00 3a f0 64 1e b6 01 00 00 00 00 00 00 2c 00 00 00 73 php......u[....:.d.........,...s
3200 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f rc/Composer/Plugin/PreFileDownlo
3220 61 64 45 76 65 6e 74 2e 70 68 70 60 02 00 00 c8 90 75 5b 60 02 00 00 00 39 2d ce b6 01 00 00 00 adEvent.php`.....u[`....9-......
3240 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 51 75 65 73 74 69 6f 6e 2f 53 74 72 ...4...src/Composer/Question/Str
3260 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 2e 70 68 70 1e 05 00 00 c8 ictConfirmationQuestion.php.....
3280 90 75 5b 1e 05 00 00 27 2e b3 e8 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f .u[....'...........+...src/Compo
32a0 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 ser/Repository/ArrayRepository.p
32c0 68 70 13 0e 00 00 c8 90 75 5b 13 0e 00 00 e9 cc 74 00 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 hp......u[......t.............sr
32e0 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 41 72 74 69 66 61 63 74 52 65 c/Composer/Repository/ArtifactRe
3300 70 6f 73 69 74 6f 72 79 2e 70 68 70 ea 0c 00 00 c8 90 75 5b ea 0c 00 00 61 a6 0f 88 b6 01 00 00 pository.php......u[....a.......
3320 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f ....*...src/Composer/Repository/
3340 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 76 0d 00 00 c8 90 75 5b 76 0d 00 00 84 dc BaseRepository.phpv.....u[v.....
3360 18 4c b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 .L............src/Composer/Repos
3380 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 d0 55 00 00 itory/ComposerRepository.php.U..
33a0 c8 90 75 5b d0 55 00 00 fc ad 6c 8d b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[.U....l........./...src/Comp
33c0 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 oser/Repository/CompositeReposit
33e0 6f 72 79 2e 70 68 70 3b 08 00 00 c8 90 75 5b 3b 08 00 00 a4 af 53 1f b6 01 00 00 00 00 00 00 3b ory.php;.....u[;.....S.........;
3400 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6e 66 69 ...src/Composer/Repository/Confi
3420 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 85 00 gurableRepositoryInterface.php..
3440 00 00 c8 90 75 5b 85 00 00 00 b1 9f 5f 1c b6 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f ....u[......_.........0...src/Co
3460 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f mposer/Repository/FilesystemRepo
3480 73 69 74 6f 72 79 2e 70 68 70 24 05 00 00 c8 90 75 5b 24 05 00 00 be c3 e1 85 b6 01 00 00 00 00 sitory.php$.....u[$.............
34a0 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e ..4...src/Composer/Repository/In
34c0 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 a3 00 00 00 c8 90 stalledArrayRepository.php......
34e0 75 5b a3 00 00 00 2f f6 7e 3e b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[..../.~>........9...src/Compos
3500 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 er/Repository/InstalledFilesyste
3520 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 a3 00 00 00 c8 90 75 5b a3 00 00 00 56 0a 95 5f b6 mRepository.php......u[....V.._.
3540 01 00 00 00 00 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f .......8...src/Composer/Reposito
3560 72 79 2f 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e ry/InstalledRepositoryInterface.
3580 70 68 70 87 00 00 00 c8 90 75 5b 87 00 00 00 18 a3 39 70 b6 01 00 00 00 00 00 00 36 00 00 00 73 php......u[......9p........6...s
35a0 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 76 61 6c 69 64 52 65 rc/Composer/Repository/InvalidRe
35c0 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6e 00 00 00 c8 90 75 5b 6e 00 00 positoryException.phpn.....u[n..
35e0 00 e0 93 eb 98 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 .............-...src/Composer/Re
3600 70 6f 73 69 74 6f 72 79 2f 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 6a 03 pository/PackageRepository.phpj.
3620 00 00 c8 90 75 5b 6a 03 00 00 a5 f4 f2 cc b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f ....u[j...............*...src/Co
3640 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 61 74 68 52 65 70 6f 73 69 74 6f 72 79 mposer/Repository/PathRepository
3660 2e 70 68 70 96 0b 00 00 c8 90 75 5b 96 0b 00 00 57 db 02 12 b6 01 00 00 00 00 00 00 32 00 00 00 .php......u[....W...........2...
3680 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 42 61 73 src/Composer/Repository/Pear/Bas
36a0 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 2e 70 68 70 49 05 00 00 c8 90 75 5b 49 05 00 00 63 08 eChannelReader.phpI.....u[I...c.
36c0 36 b3 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 6.........,...src/Composer/Repos
36e0 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 49 6e 66 6f 2e 70 68 70 c4 01 00 00 c8 90 itory/Pear/ChannelInfo.php......
3700 75 5b c4 01 00 00 3a 54 2a c9 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[....:T*.............src/Compos
3720 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 er/Repository/Pear/ChannelReader
3740 2e 70 68 70 ed 06 00 00 c8 90 75 5b ed 06 00 00 3f c8 59 54 b6 01 00 00 00 00 00 00 34 00 00 00 .php......u[....?.YT........4...
3760 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 src/Composer/Repository/Pear/Cha
3780 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 2e 70 68 70 ae 09 00 00 c8 90 75 5b ae 09 00 00 nnelRest10Reader.php......u[....
37a0 99 d6 db fa b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 ............4...src/Composer/Rep
37c0 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 ository/Pear/ChannelRest11Reader
37e0 2e 70 68 70 26 09 00 00 c8 90 75 5b 26 09 00 00 f2 55 62 08 b6 01 00 00 00 00 00 00 35 00 00 00 .php&.....u[&....Ub.........5...
3800 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 44 65 70 src/Composer/Repository/Pear/Dep
3820 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 71 02 00 00 c8 90 75 5b 71 02 00 endencyConstraint.phpq.....u[q..
3840 00 39 0e 17 3d b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 .9..=......../...src/Composer/Re
3860 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 2e 70 68 70 pository/Pear/DependencyInfo.php
3880 71 01 00 00 c8 90 75 5b 71 01 00 00 66 ba 54 f2 b6 01 00 00 00 00 00 00 38 00 00 00 73 72 63 2f q.....u[q...f.T.........8...src/
38a0 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 50 61 63 6b 61 67 65 Composer/Repository/Pear/Package
38c0 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 2e 70 68 70 85 16 00 00 c8 90 75 5b 85 16 00 00 DependencyParser.php......u[....
38e0 f7 24 4c 69 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 .$Li........,...src/Composer/Rep
3900 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 50 61 63 6b 61 67 65 49 6e 66 6f 2e 70 68 70 b0 03 00 00 ository/Pear/PackageInfo.php....
3920 c8 90 75 5b b0 03 00 00 9f 0d b8 0c b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 ..u[................,...src/Comp
3940 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 52 65 6c 65 61 73 65 49 6e 66 6f oser/Repository/Pear/ReleaseInfo
3960 2e 70 68 70 92 01 00 00 c8 90 75 5b 92 01 00 00 6f 93 8a c3 b6 01 00 00 00 00 00 00 2a 00 00 00 .php......u[....o...........*...
3980 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 52 65 70 6f src/Composer/Repository/PearRepo
39a0 73 69 74 6f 72 79 2e 70 68 70 aa 16 00 00 c8 90 75 5b aa 16 00 00 29 9f 83 7d b6 01 00 00 00 00 sitory.php......u[....)..}......
39c0 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 6c ......src/Composer/Repository/Pl
39e0 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 08 1b 00 00 c8 90 75 5b 08 1b 00 00 atformRepository.php......u[....
3a00 34 26 7e fb b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 4&~.........-...src/Composer/Rep
3a20 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 2e 70 68 70 32 12 00 ository/RepositoryFactory.php2..
3a40 00 c8 90 75 5b 32 12 00 00 12 74 04 3e b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d ...u[2....t.>......../...src/Com
3a60 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 poser/Repository/RepositoryInter
3a80 66 61 63 65 2e 70 68 70 db 01 00 00 c8 90 75 5b db 01 00 00 92 11 e2 c1 b6 01 00 00 00 00 00 00 face.php......u[................
3aa0 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f -...src/Composer/Repository/Repo
3ac0 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2e 70 68 70 32 0a 00 00 c8 90 75 5b 32 0a 00 00 e1 85 35 sitoryManager.php2.....u[2.....5
3ae0 23 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 #........7...src/Composer/Reposi
3b00 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e tory/RepositorySecurityException
3b20 2e 70 68 70 6f 00 00 00 c8 90 75 5b 6f 00 00 00 70 d5 ab aa b6 01 00 00 00 00 00 00 2f 00 00 00 .phpo.....u[o...p.........../...
3b40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 42 69 74 62 src/Composer/Repository/Vcs/Bitb
3b60 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 f4 1e 00 00 c8 90 75 5b f4 1e 00 00 04 78 a4 fc b6 ucketDriver.php......u[.....x...
3b80 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f .......,...src/Composer/Reposito
3ba0 72 79 2f 56 63 73 2f 46 6f 73 73 69 6c 44 72 69 76 65 72 2e 70 68 70 a6 12 00 00 c8 90 75 5b a6 ry/Vcs/FossilDriver.php......u[.
3bc0 12 00 00 e9 62 ee 64 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....b.d........2...src/Composer/
3be0 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 Repository/Vcs/GitBitbucketDrive
3c00 72 2e 70 68 70 ea 05 00 00 c8 90 75 5b ea 05 00 00 c3 8e bb 14 b6 01 00 00 00 00 00 00 29 00 00 r.php......u[................)..
3c20 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 .src/Composer/Repository/Vcs/Git
3c40 44 72 69 76 65 72 2e 70 68 70 bc 11 00 00 c8 90 75 5b bc 11 00 00 8a a9 d0 ea b6 01 00 00 00 00 Driver.php......u[..............
3c60 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 ..,...src/Composer/Repository/Vc
3c80 73 2f 47 69 74 48 75 62 44 72 69 76 65 72 2e 70 68 70 5c 29 00 00 c8 90 75 5b 5c 29 00 00 27 9b s/GitHubDriver.php\)....u[\)..'.
3ca0 95 23 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 .#........,...src/Composer/Repos
3cc0 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 4c 61 62 44 72 69 76 65 72 2e 70 68 70 cd 23 00 00 c8 90 itory/Vcs/GitLabDriver.php.#....
3ce0 75 5b cd 23 00 00 df 4e ec ca b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[.#...N..........1...src/Compos
3d00 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 48 67 42 69 74 62 75 63 6b 65 74 44 72 69 er/Repository/Vcs/HgBitbucketDri
3d20 76 65 72 2e 70 68 70 e4 05 00 00 c8 90 75 5b e4 05 00 00 69 9b fc e0 b6 01 00 00 00 00 00 00 28 ver.php......u[....i...........(
3d40 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 48 ...src/Composer/Repository/Vcs/H
3d60 67 44 72 69 76 65 72 2e 70 68 70 56 11 00 00 c8 90 75 5b 56 11 00 00 49 c1 46 f2 b6 01 00 00 00 gDriver.phpV.....u[V...I.F......
3d80 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 .......src/Composer/Repository/V
3da0 63 73 2f 50 65 72 66 6f 72 63 65 44 72 69 76 65 72 2e 70 68 70 27 09 00 00 c8 90 75 5b 27 09 00 cs/PerforceDriver.php'.....u['..
3dc0 00 d9 f3 48 05 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 ...H.........)...src/Composer/Re
3de0 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 53 76 6e 44 72 69 76 65 72 2e 70 68 70 89 1c 00 00 c8 90 pository/Vcs/SvnDriver.php......
3e00 75 5b 89 1c 00 00 cd df c7 ac b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 u[................)...src/Compos
3e20 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 56 63 73 44 72 69 76 65 72 2e 70 68 70 e6 er/Repository/Vcs/VcsDriver.php.
3e40 0a 00 00 c8 90 75 5b e6 0a 00 00 65 d7 af 2d b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 .....u[....e..-........2...src/C
3e60 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 56 63 73 44 72 69 76 65 72 omposer/Repository/Vcs/VcsDriver
3e80 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f7 02 00 00 c8 90 75 5b f7 02 00 00 c7 58 5b 89 b6 01 00 Interface.php......u[.....X[....
3ea0 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 .....)...src/Composer/Repository
3ec0 2f 56 63 73 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 0d 21 00 00 c8 90 75 5b 0d 21 00 00 63 06 /VcsRepository.php.!....u[.!..c.
3ee0 d5 4b b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 .K........3...src/Composer/Repos
3f00 69 74 6f 72 79 2f 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 itory/WritableArrayRepository.ph
3f20 70 0f 03 00 00 c8 90 75 5b 0f 03 00 00 be 47 17 2a b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 p......u[.....G.*........7...src
3f40 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 74 61 62 6c 65 52 65 70 /Composer/Repository/WritableRep
3f60 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 89 01 00 00 c8 90 75 5b 89 01 00 00 ositoryInterface.php......u[....
3f80 91 2f 73 ef b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 ./s.........$...src/Composer/Scr
3fa0 69 70 74 2f 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 57 00 00 00 c8 90 75 5b 57 00 00 00 ipt/CommandEvent.phpW.....u[W...
3fc0 a3 56 5a 74 b6 01 00 00 00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 .VZt............src/Composer/Scr
3fe0 69 70 74 2f 45 76 65 6e 74 2e 70 68 70 b5 02 00 00 c8 90 75 5b b5 02 00 00 6c 74 a6 4d b6 01 00 ipt/Event.php......u[....lt.M...
4000 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 50 61 63 .....$...src/Composer/Script/Pac
4020 6b 61 67 65 45 76 65 6e 74 2e 70 68 70 9c 00 00 00 c8 90 75 5b 9c 00 00 00 a7 ff c9 0d b6 01 00 kageEvent.php......u[...........
4040 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 53 63 72 .....$...src/Composer/Script/Scr
4060 69 70 74 45 76 65 6e 74 73 2e 70 68 70 50 04 00 00 c8 90 75 5b 50 04 00 00 87 8f 04 b6 b6 01 00 iptEvents.phpP.....u[P..........
4080 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 .........src/Composer/SelfUpdate
40a0 2f 4b 65 79 73 2e 70 68 70 9d 01 00 00 c8 90 75 5b 9d 01 00 00 0b ee ca 4e b6 01 00 00 00 00 00 /Keys.php......u[.......N.......
40c0 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 2f 56 65 72 .$...src/Composer/SelfUpdate/Ver
40e0 73 69 6f 6e 73 2e 70 68 70 ec 05 00 00 c8 90 75 5b ec 05 00 00 cd b5 91 83 b6 01 00 00 00 00 00 sions.php......u[...............
4100 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 41 75 74 68 48 65 6c 70 65 .....src/Composer/Util/AuthHelpe
4120 72 2e 70 68 70 cb 03 00 00 c8 90 75 5b cb 03 00 00 3e 7a 78 96 b6 01 00 00 00 00 00 00 1f 00 00 r.php......u[....>zx............
4140 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 42 69 74 62 75 63 6b 65 74 2e 70 68 70 .src/Composer/Util/Bitbucket.php
4160 25 15 00 00 c8 90 75 5b 25 15 00 00 6e 3d 67 d3 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f %.....u[%...n=g.........$...src/
4180 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 2e 70 68 70 Composer/Util/ComposerMirror.php
41a0 b1 04 00 00 c8 90 75 5b b1 04 00 00 ad bd f8 d8 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f ......u[................%...src/
41c0 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 2e 70 68 Composer/Util/ConfigValidator.ph
41e0 70 f7 13 00 00 c8 90 75 5b f7 13 00 00 76 95 cd 04 b6 01 00 00 00 00 00 00 22 00 00 00 73 72 63 p......u[....v..........."...src
4200 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 87 /Composer/Util/ErrorHandler.php.
4220 04 00 00 c8 90 75 5b 87 04 00 00 48 65 1c 22 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 .....u[....He."............src/C
4240 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 67 2f 00 00 c8 omposer/Util/Filesystem.phpg/...
4260 90 75 5b 67 2f 00 00 7c ce 71 f7 b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f .u[g/..|.q.............src/Compo
4280 73 65 72 2f 55 74 69 6c 2f 47 69 74 2e 70 68 70 67 26 00 00 c8 90 75 5b 67 26 00 00 5d f3 b2 b4 ser/Util/Git.phpg&....u[g&..]...
42a0 b6 01 00 00 00 00 00 00 1c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 ............src/Composer/Util/Gi
42c0 74 48 75 62 2e 70 68 70 77 0d 00 00 c8 90 75 5b 77 0d 00 00 1b 2d 53 45 b6 01 00 00 00 00 00 00 tHub.phpw.....u[w....-SE........
42e0 1c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 74 4c 61 62 2e 70 68 70 ....src/Composer/Util/GitLab.php
4300 99 0c 00 00 c8 90 75 5b 99 0c 00 00 17 42 4c 46 b6 01 00 00 00 00 00 00 18 00 00 00 73 72 63 2f ......u[.....BLF............src/
4320 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 48 67 2e 70 68 70 be 07 00 00 c8 90 75 5b be 07 00 00 Composer/Util/Hg.php......u[....
4340 4c d3 0c 9d b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 L...............src/Composer/Uti
4360 6c 2f 49 6e 69 48 65 6c 70 65 72 2e 70 68 70 68 02 00 00 c8 90 75 5b 68 02 00 00 3b 46 08 50 b6 l/IniHelper.phph.....u[h...;F.P.
4380 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 4e 6f 50 .......$...src/Composer/Util/NoP
43a0 72 6f 78 79 50 61 74 74 65 72 6e 2e 70 68 70 be 06 00 00 c8 90 75 5b be 06 00 00 5a 2b b0 6d b6 roxyPattern.php......u[....Z+.m.
43c0 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 65 72 ...........src/Composer/Util/Per
43e0 66 6f 72 63 65 2e 70 68 70 82 31 00 00 c8 90 75 5b 82 31 00 00 2c 9c 62 78 b6 01 00 00 00 00 00 force.php.1....u[.1..,.bx.......
4400 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 6c 61 74 66 6f 72 6d 2e .....src/Composer/Util/Platform.
4420 70 68 70 fc 04 00 00 c8 90 75 5b fc 04 00 00 73 ad 66 e7 b6 01 00 00 00 00 00 00 25 00 00 00 73 php......u[....s.f.........%...s
4440 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 rc/Composer/Util/ProcessExecutor
4460 2e 70 68 70 da 0b 00 00 c8 90 75 5b da 0b 00 00 a3 d2 d9 05 b6 01 00 00 00 00 00 00 26 00 00 00 .php......u[................&...
4480 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 src/Composer/Util/RemoteFilesyst
44a0 65 6d 2e 70 68 70 0a 6a 00 00 c8 90 75 5b 0a 6a 00 00 81 c5 0b b4 b6 01 00 00 00 00 00 00 1e 00 em.php.j....u[.j................
44c0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 53 69 6c 65 6e 63 65 72 2e 70 68 70 ..src/Composer/Util/Silencer.php
44e0 e9 02 00 00 c8 90 75 5b e9 02 00 00 93 56 6a 66 b6 01 00 00 00 00 00 00 21 00 00 00 73 72 63 2f ......u[.....Vjf........!...src/
4500 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 53 70 64 78 4c 69 63 65 6e 73 65 2e 70 68 70 03 01 00 Composer/Util/SpdxLicense.php...
4520 00 c8 90 75 5b 03 01 00 00 be 37 0a f1 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d ...u[.....7..........*...src/Com
4540 70 6f 73 65 72 2f 55 74 69 6c 2f 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2e poser/Util/StreamContextFactory.
4560 70 68 70 1d 10 00 00 c8 90 75 5b 1d 10 00 00 9f c1 49 02 b6 01 00 00 00 00 00 00 19 00 00 00 73 php......u[......I.............s
4580 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 53 76 6e 2e 70 68 70 27 14 00 00 c8 90 75 5b rc/Composer/Util/Svn.php'.....u[
45a0 27 14 00 00 7c d7 78 89 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 '...|.x.............src/Composer
45c0 2f 55 74 69 6c 2f 54 6c 73 48 65 6c 70 65 72 2e 70 68 70 6e 0a 00 00 c8 90 75 5b 6e 0a 00 00 53 /Util/TlsHelper.phpn.....u[n...S
45e0 af cd 3a b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c ..:............src/Composer/Util
4600 2f 55 72 6c 2e 70 68 70 a3 07 00 00 c8 90 75 5b a3 07 00 00 33 9c c9 dc b6 01 00 00 00 00 00 00 /Url.php......u[....3...........
4620 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 58 64 65 62 75 67 48 61 6e 64 6c 65 72 2e 70 ....src/Composer/XdebugHandler.p
4640 68 70 f0 01 00 00 c8 90 75 5b f0 01 00 00 7a d3 66 7e b6 01 00 00 00 00 00 00 11 00 00 00 73 72 hp......u[....z.f~............sr
4660 63 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 b9 01 00 00 c8 90 75 5b b9 01 00 00 15 49 7d 9c b6 c/bootstrap.php......u[.....I}..
4680 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 6f 6c 6f 61 64 .......%...src/Composer/Autoload
46a0 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 6e 34 00 00 c8 90 75 5b 6e 34 00 00 ea ed cc 3b /ClassLoader.phpn4....u[n4.....;
46c0 b6 01 00 00 00 00 00 00 23 00 00 00 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 ........#...res/composer-reposit
46e0 6f 72 79 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e f0 0f 00 00 c8 90 75 5b f0 0f 00 00 81 47 d0 e0 b6 ory-schema.json......u[.....G...
4700 01 00 00 00 00 00 00 18 00 00 00 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a ...........res/composer-schema.j
4720 73 6f 6e cf 95 00 00 c8 90 75 5b cf 95 00 00 26 8f 52 1a b6 01 00 00 00 00 00 00 36 00 00 00 76 son......u[....&.R.........6...v
4740 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 72 65 73 endor/composer/spdx-licenses/res
4760 2f 73 70 64 78 2d 65 78 63 65 70 74 69 6f 6e 73 2e 6a 73 6f 6e 0d 08 00 00 c8 90 75 5b 0d 08 00 /spdx-exceptions.json......u[...
4780 00 ba 10 af 0f b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 .............4...vendor/composer
47a0 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 72 65 73 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 /spdx-licenses/res/spdx-licenses
47c0 2e 6a 73 6f 6e 9f 8f 00 00 c8 90 75 5b 9f 8f 00 00 4a 2a 42 14 b6 01 00 00 00 00 00 00 34 00 00 .json......u[....J*B.........4..
47e0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 52 65 73 6f 75 72 63 65 .vendor/symfony/console/Resource
4800 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 00 24 00 00 c8 90 75 5b 00 24 00 s/bin/hiddeninput.exe.$....u[.$.
4820 00 95 8d a5 76 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ....v........&...vendor/symfony/
4840 63 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 82 57 00 00 c8 90 75 5b 82 console/Application.php.W....u[.
4860 57 00 00 e2 50 e1 7a b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e W...P.z........*...vendor/symfon
4880 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 f1 22 00 y/console/Command/Command.php.".
48a0 00 c8 90 75 5b f1 22 00 00 d8 0e f4 17 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f ...u[."..................vendor/
48c0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 48 65 6c 70 43 6f 6d 6d symfony/console/Command/HelpComm
48e0 61 6e 64 2e 70 68 70 d8 07 00 00 c8 90 75 5b d8 07 00 00 24 59 1c ab b6 01 00 00 00 00 00 00 2e and.php......u[....$Y...........
4900 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e ...vendor/symfony/console/Comman
4920 64 2f 4c 69 73 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 5a 08 00 00 c8 90 75 5b 5a 08 00 00 c9 a3 a0 d/ListCommand.phpZ.....u[Z......
4940 16 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 .........(...vendor/symfony/cons
4960 6f 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 70 e9 00 00 00 c8 90 75 5b e9 00 00 ole/ConsoleEvents.php......u[...
4980 00 52 db d4 65 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .R..e........<...vendor/symfony/
49a0 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 console/Descriptor/ApplicationDe
49c0 73 63 72 69 70 74 69 6f 6e 2e 70 68 70 d0 08 00 00 c8 90 75 5b d0 08 00 00 99 8e 35 b0 b6 01 00 scription.php......u[......5....
49e0 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f .....0...vendor/symfony/console/
4a00 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 8e 07 00 00 c8 90 75 Descriptor/Descriptor.php......u
4a20 5b 8e 07 00 00 e9 f0 38 9f b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 [......8.........9...vendor/symf
4a40 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f ony/console/Descriptor/Descripto
4a60 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 fc 00 00 00 c8 90 75 5b fc 00 00 00 b1 51 07 b5 b6 01 rInterface.php......u[.....Q....
4a80 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......4...vendor/symfony/console
4aa0 2f 44 65 73 63 72 69 70 74 6f 72 2f 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 dc 0d /Descriptor/JsonDescriptor.php..
4ac0 00 00 c8 90 75 5b dc 0d 00 00 2a fb 9d c9 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 ....u[....*...........8...vendor
4ae0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4d 61 72 6b /symfony/console/Descriptor/Mark
4b00 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 b4 0e 00 00 c8 90 75 5b b4 0e 00 00 90 21 downDescriptor.php......u[.....!
4b20 b3 67 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e .g........4...vendor/symfony/con
4b40 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 2e 70 sole/Descriptor/TextDescriptor.p
4b60 68 70 b2 1e 00 00 c8 90 75 5b b2 1e 00 00 8f ad f9 e2 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 hp......u[................3...ve
4b80 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f ndor/symfony/console/Descriptor/
4ba0 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 fd 1b 00 00 c8 90 75 5b fd 1b 00 00 0a 47 31 XmlDescriptor.php......u[.....G1
4bc0 bf b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 .........4...vendor/symfony/cons
4be0 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 ole/Event/ConsoleCommandEvent.ph
4c00 70 b0 01 00 00 c8 90 75 5b b0 01 00 00 07 21 00 c8 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e p......u[.....!..........-...ven
4c20 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c dor/symfony/console/Event/Consol
4c40 65 45 76 65 6e 74 2e 70 68 70 c5 02 00 00 c8 90 75 5b c5 02 00 00 d2 78 db 5c b6 01 00 00 00 00 eEvent.php......u[.....x.\......
4c60 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 ..6...vendor/symfony/console/Eve
4c80 6e 74 2f 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 2e 70 68 70 12 03 00 00 nt/ConsoleExceptionEvent.php....
4ca0 c8 90 75 5b 12 03 00 00 e1 16 32 e9 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[......2.........6...vendor/s
4cc0 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 54 65 72 6d ymfony/console/Event/ConsoleTerm
4ce0 69 6e 61 74 65 45 76 65 6e 74 2e 70 68 70 7a 02 00 00 c8 90 75 5b 7a 02 00 00 b3 2c ee 4c b6 01 inateEvent.phpz.....u[z....,.L..
4d00 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......=...vendor/symfony/console
4d20 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 /Exception/CommandNotFoundExcept
4d40 69 6f 6e 2e 70 68 70 d4 01 00 00 c8 90 75 5b d4 01 00 00 c8 f7 20 4c b6 01 00 00 00 00 00 00 37 ion.php......u[.......L........7
4d60 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 ...vendor/symfony/console/Except
4d80 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 66 00 00 00 c8 90 ion/ExceptionInterface.phpf.....
4da0 75 5b 66 00 00 00 a1 41 42 aa b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d u[f....AB.........=...vendor/sym
4dc0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 fony/console/Exception/InvalidAr
4de0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a6 00 00 00 c8 90 75 5b a6 00 00 00 d6 gumentException.php......u[.....
4e00 cc bd 5a b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f ..Z........;...vendor/symfony/co
4e20 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 nsole/Exception/InvalidOptionExc
4e40 65 70 74 69 6f 6e 2e 70 68 70 a6 00 00 00 c8 90 75 5b a6 00 00 00 13 cb d7 48 b6 01 00 00 00 00 eption.php......u[.......H......
4e60 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 ..3...vendor/symfony/console/Exc
4e80 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 92 00 00 00 c8 90 75 eption/LogicException.php......u
4ea0 5b 92 00 00 00 cd 4f 5c 65 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 [.....O\e........5...vendor/symf
4ec0 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 ony/console/Exception/RuntimeExc
4ee0 65 70 74 69 6f 6e 2e 70 68 70 96 00 00 00 c8 90 75 5b 96 00 00 00 d9 ed 2c 36 b6 01 00 00 00 00 eption.php......u[......,6......
4f00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 ..4...vendor/symfony/console/For
4f20 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 32 0e 00 00 c8 90 matter/OutputFormatter.php2.....
4f40 75 5b 32 0e 00 00 52 cc 59 68 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d u[2...R.Yh........=...vendor/sym
4f60 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 fony/console/Formatter/OutputFor
4f80 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 8c 01 00 00 c8 90 75 5b 8c 01 00 00 f2 matterInterface.php......u[.....
4fa0 f1 f1 c0 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f ...........9...vendor/symfony/co
4fc0 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 nsole/Formatter/OutputFormatterS
4fe0 74 79 6c 65 2e 70 68 70 4a 10 00 00 c8 90 75 5b 4a 10 00 00 cf 44 53 c8 b6 01 00 00 00 00 00 00 tyle.phpJ.....u[J....DS.........
5000 42 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 B...vendor/symfony/console/Forma
5020 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 tter/OutputFormatterStyleInterfa
5040 63 65 2e 70 68 70 84 01 00 00 c8 90 75 5b 84 01 00 00 f7 bd 10 47 b6 01 00 00 00 00 00 00 3e 00 ce.php......u[.......G........>.
5060 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 ..vendor/symfony/console/Formatt
5080 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 2e 70 68 70 er/OutputFormatterStyleStack.php
50a0 3e 05 00 00 c8 90 75 5b 3e 05 00 00 5b 86 bf 96 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 >.....u[>...[...........6...vend
50c0 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 62 75 67 46 or/symfony/console/Helper/DebugF
50e0 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 78 08 00 00 c8 90 75 5b 78 08 00 00 4e a9 ormatterHelper.phpx.....u[x...N.
5100 d8 bc b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ..........2...vendor/symfony/con
5120 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 2e 70 68 70 sole/Helper/DescriptorHelper.php
5140 77 05 00 00 c8 90 75 5b 77 05 00 00 c5 48 f0 2e b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 w.....u[w....H..............vend
5160 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 69 61 6c 6f 67 or/symfony/console/Helper/Dialog
5180 48 65 6c 70 65 72 2e 70 68 70 fa 1e 00 00 c8 90 75 5b fa 1e 00 00 20 22 38 6d b6 01 00 00 00 00 Helper.php......u[....."8m......
51a0 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c ..1...vendor/symfony/console/Hel
51c0 70 65 72 2f 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 63 04 00 00 c8 90 75 5b 63 per/FormatterHelper.phpc.....u[c
51e0 04 00 00 93 fd ab 4e b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ......N........(...vendor/symfon
5200 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 2e 70 68 70 a8 07 00 00 c8 y/console/Helper/Helper.php.....
5220 90 75 5b a8 07 00 00 9c 6f fb 33 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 .u[.....o.3........1...vendor/sy
5240 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 49 6e 74 65 72 mfony/console/Helper/HelperInter
5260 66 61 63 65 2e 70 68 70 e5 00 00 00 c8 90 75 5b e5 00 00 00 1f 8a a0 18 b6 01 00 00 00 00 00 00 face.php......u[................
5280 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 +...vendor/symfony/console/Helpe
52a0 72 2f 48 65 6c 70 65 72 53 65 74 2e 70 68 70 c9 07 00 00 c8 90 75 5b c9 07 00 00 3f e3 0c 32 b6 r/HelperSet.php......u[....?..2.
52c0 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c .......2...vendor/symfony/consol
52e0 65 2f 48 65 6c 70 65 72 2f 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 2e 70 68 70 63 01 00 e/Helper/InputAwareHelper.phpc..
5300 00 c8 90 75 5b 63 01 00 00 f1 f8 90 7c b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f ...u[c......|......../...vendor/
5320 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 63 65 73 73 48 65 symfony/console/Helper/ProcessHe
5340 6c 70 65 72 2e 70 68 70 d1 09 00 00 c8 90 75 5b d1 09 00 00 40 b1 e3 81 b6 01 00 00 00 00 00 00 lper.php......u[....@...........
5360 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 -...vendor/symfony/console/Helpe
5380 72 2f 50 72 6f 67 72 65 73 73 42 61 72 2e 70 68 70 6b 25 00 00 c8 90 75 5b 6b 25 00 00 48 5d 84 r/ProgressBar.phpk%....u[k%..H].
53a0 c8 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 .........0...vendor/symfony/cons
53c0 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 2e 70 68 70 5c 1b 00 ole/Helper/ProgressHelper.php\..
53e0 00 c8 90 75 5b 5c 1b 00 00 e8 12 4b 2b b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f ...u[\.....K+........3...vendor/
5400 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 49 symfony/console/Helper/ProgressI
5420 6e 64 69 63 61 74 6f 72 2e 70 68 70 4b 14 00 00 c8 90 75 5b 4b 14 00 00 ed 1c cd b0 b6 01 00 00 ndicator.phpK.....u[K...........
5440 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 ....0...vendor/symfony/console/H
5460 65 6c 70 65 72 2f 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 6d 1c 00 00 c8 90 75 5b elper/QuestionHelper.phpm.....u[
5480 6d 1c 00 00 f9 d3 2f c2 b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f m...../.........7...vendor/symfo
54a0 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f ny/console/Helper/SymfonyQuestio
54c0 6e 48 65 6c 70 65 72 2e 70 68 70 6c 0a 00 00 c8 90 75 5b 6c 0a 00 00 1e f7 de 4c b6 01 00 00 00 nHelper.phpl.....u[l......L.....
54e0 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 ...'...vendor/symfony/console/He
5500 6c 70 65 72 2f 54 61 62 6c 65 2e 70 68 70 aa 2a 00 00 c8 90 75 5b aa 2a 00 00 ed 38 ef 4d b6 01 lper/Table.php.*....u[.*...8.M..
5520 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......+...vendor/symfony/console
5540 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 43 65 6c 6c 2e 70 68 70 80 03 00 00 c8 90 75 5b 80 03 00 /Helper/TableCell.php......u[...
5560 00 cc ee 2a db b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...*.........-...vendor/symfony/
5580 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 48 65 6c 70 65 72 2e 70 68 70 0e 0c console/Helper/TableHelper.php..
55a0 00 00 c8 90 75 5b 0e 0c 00 00 83 75 ae b9 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 ....u[.....u..........0...vendor
55c0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 53 65 70 /symfony/console/Helper/TableSep
55e0 61 72 61 74 6f 72 2e 70 68 70 ca 00 00 00 c8 90 75 5b ca 00 00 00 61 7a 1f 1c b6 01 00 00 00 00 arator.php......u[....az........
5600 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c ..,...vendor/symfony/console/Hel
5620 70 65 72 2f 54 61 62 6c 65 53 74 79 6c 65 2e 70 68 70 1f 0a 00 00 c8 90 75 5b 1f 0a 00 00 50 de per/TableStyle.php......u[....P.
5640 b5 a6 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ..........*...vendor/symfony/con
5660 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 99 15 00 00 c8 90 75 5b sole/Input/ArgvInput.php......u[
5680 99 15 00 00 2c bb 42 f4 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ....,.B.........+...vendor/symfo
56a0 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 72 61 79 49 6e 70 75 74 2e 70 68 70 22 ny/console/Input/ArrayInput.php"
56c0 0b 00 00 c8 90 75 5b 22 0b 00 00 75 f4 99 58 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f .....u["...u..X........&...vendo
56e0 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 2e 70 68 r/symfony/console/Input/Input.ph
5700 70 a2 0b 00 00 c8 90 75 5b a2 0b 00 00 94 87 42 22 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e p......u[......B"............ven
5720 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 dor/symfony/console/Input/InputA
5740 72 67 75 6d 65 6e 74 2e 70 68 70 10 06 00 00 c8 90 75 5b 10 06 00 00 26 3c a6 af b6 01 00 00 00 rgument.php......u[....&<.......
5760 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e ...4...vendor/symfony/console/In
5780 70 75 74 2f 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 9a 00 00 00 c8 put/InputAwareInterface.php.....
57a0 90 75 5b 9a 00 00 00 87 6a 54 9f b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 .u[.....jT.........0...vendor/sy
57c0 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 44 65 66 69 6e 69 74 mfony/console/Input/InputDefinit
57e0 69 6f 6e 2e 70 68 70 8a 19 00 00 c8 90 75 5b 8a 19 00 00 9c e4 66 b2 b6 01 00 00 00 00 00 00 2f ion.php......u[......f........./
5800 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f ...vendor/symfony/console/Input/
5820 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a1 03 00 00 c8 90 75 5b a1 03 00 00 2c 74 InputInterface.php......u[....,t
5840 5e 3e b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ^>........,...vendor/symfony/con
5860 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 4f 70 74 69 6f 6e 2e 70 68 70 11 0c 00 00 c8 90 sole/Input/InputOption.php......
5880 75 5b 11 0c 00 00 b8 ac 8f 5f b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d u[......._........,...vendor/sym
58a0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 53 74 72 69 6e 67 49 6e 70 75 74 2e 70 fony/console/Input/StringInput.p
58c0 68 70 96 06 00 00 c8 90 75 5b 96 06 00 00 63 ec 5c 28 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 hp......u[....c.\(............ve
58e0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 49 43 45 4e 53 45 29 04 00 00 ndor/symfony/console/LICENSE)...
5900 c8 90 75 5b 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[)...NUN........./...vendor/s
5920 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 6f 67 67 65 72 2f 43 6f 6e 73 6f 6c 65 4c 6f 67 ymfony/console/Logger/ConsoleLog
5940 67 65 72 2e 70 68 70 2e 09 00 00 c8 90 75 5b 2e 09 00 00 a4 8c 85 ce b6 01 00 00 00 00 00 00 30 ger.php......u[................0
5960 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 ...vendor/symfony/console/Output
5980 2f 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 2e 70 68 70 5f 01 00 00 c8 90 75 5b 5f 01 00 00 8b /BufferedOutput.php_.....u[_....
59a0 a0 3e 50 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f .>P......../...vendor/symfony/co
59c0 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 2e 70 68 70 b0 07 nsole/Output/ConsoleOutput.php..
59e0 00 00 c8 90 75 5b b0 07 00 00 5d 6b 7e 6f b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 ....u[....]k~o........8...vendor
5a00 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f /symfony/console/Output/ConsoleO
5a20 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e0 00 00 00 c8 90 75 5b e0 00 00 00 87 86 utputInterface.php......u[......
5a40 c6 ca b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ..........,...vendor/symfony/con
5a60 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4e 75 6c 6c 4f 75 74 70 75 74 2e 70 68 70 cf 03 00 00 c8 90 sole/Output/NullOutput.php......
5a80 75 5b cf 03 00 00 ae 98 8b 5a b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d u[.......Z........(...vendor/sym
5aa0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 2e 70 68 70 98 09 fony/console/Output/Output.php..
5ac0 00 00 c8 90 75 5b 98 09 00 00 1f 70 66 5c b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 ....u[.....pf\........1...vendor
5ae0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 49 6e /symfony/console/Output/OutputIn
5b00 74 65 72 66 61 63 65 2e 70 68 70 17 03 00 00 c8 90 75 5b 17 03 00 00 00 ec 06 26 b6 01 00 00 00 terface.php......u[.......&.....
5b20 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 .......vendor/symfony/console/Ou
5b40 74 70 75 74 2f 53 74 72 65 61 6d 4f 75 74 70 75 74 2e 70 68 70 ad 06 00 00 c8 90 75 5b ad 06 00 tput/StreamOutput.php......u[...
5b60 00 ce 73 36 ad b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..s6.........2...vendor/symfony/
5b80 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 2e console/Question/ChoiceQuestion.
5ba0 70 68 70 77 0a 00 00 c8 90 75 5b 77 0a 00 00 32 15 74 06 b6 01 00 00 00 00 00 00 38 00 00 00 76 phpw.....u[w...2.t.........8...v
5bc0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 43 endor/symfony/console/Question/C
5be0 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 2e 70 68 70 e7 02 00 00 c8 90 75 5b e7 onfirmationQuestion.php......u[.
5c00 02 00 00 0d ad f2 66 b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ......f........,...vendor/symfon
5c20 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 51 75 65 73 74 69 6f 6e 2e 70 68 70 cb y/console/Question/Question.php.
5c40 09 00 00 c8 90 75 5b cb 09 00 00 d2 71 b5 52 b6 01 00 00 00 00 00 00 20 00 00 00 76 65 6e 64 6f .....u[.....q.R............vendo
5c60 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 68 65 6c 6c 2e 70 68 70 e5 0f 00 00 c8 r/symfony/console/Shell.php.....
5c80 90 75 5b e5 0f 00 00 95 9a 78 53 b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 .u[......xS........,...vendor/sy
5ca0 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 4f 75 74 70 75 74 53 74 79 6c 65 2e mfony/console/Style/OutputStyle.
5cc0 70 68 70 5c 05 00 00 c8 90 75 5b 5c 05 00 00 77 d7 a4 04 b6 01 00 00 00 00 00 00 2f 00 00 00 76 php\.....u[\...w.........../...v
5ce0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 53 74 79 6c endor/symfony/console/Style/Styl
5d00 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cf 03 00 00 c8 90 75 5b cf 03 00 00 26 6e c5 d1 b6 01 eInterface.php......u[....&n....
5d20 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......-...vendor/symfony/console
5d40 2f 53 74 79 6c 65 2f 53 79 6d 66 6f 6e 79 53 74 79 6c 65 2e 70 68 70 dc 1f 00 00 c8 90 75 5b dc /Style/SymfonyStyle.php......u[.
5d60 1f 00 00 6a ae 7c 52 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ...j.|R........3...vendor/symfon
5d80 79 2f 63 6f 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 y/console/Tester/ApplicationTest
5da0 65 72 2e 70 68 70 cf 05 00 00 c8 90 75 5b cf 05 00 00 73 9e 39 69 b6 01 00 00 00 00 00 00 2f 00 er.php......u[....s.9i......../.
5dc0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f ..vendor/symfony/console/Tester/
5de0 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 2e 70 68 70 aa 06 00 00 c8 90 75 5b aa 06 00 00 b5 2e e2 CommandTester.php......u[.......
5e00 72 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 r........(...vendor/symfony/debu
5e20 67 2f 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 2e 70 68 70 74 01 00 00 c8 90 75 5b 74 01 00 g/BufferingLogger.phpt.....u[t..
5e40 00 3d 00 68 dc b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .=.h.............vendor/symfony/
5e60 64 65 62 75 67 2f 44 65 62 75 67 2e 70 68 70 06 03 00 00 c8 90 75 5b 06 03 00 00 0e 98 27 c4 b6 debug/Debug.php......u[......'..
5e80 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f .......)...vendor/symfony/debug/
5ea0 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 a1 1d 00 00 c8 90 75 5b a1 1d 00 00 DebugClassLoader.php......u[....
5ec0 74 c5 cd 54 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 t..T........%...vendor/symfony/d
5ee0 65 62 75 67 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 13 48 00 00 c8 90 75 5b 13 48 00 ebug/ErrorHandler.php.H....u[.H.
5f00 00 82 76 cc 4a b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..v.J........9...vendor/symfony/
5f20 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 debug/Exception/ClassNotFoundExc
5f40 65 70 74 69 6f 6e 2e 70 68 70 96 01 00 00 c8 90 75 5b 96 01 00 00 69 89 e6 f4 b6 01 00 00 00 00 eption.php......u[....i.........
5f60 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 ..8...vendor/symfony/debug/Excep
5f80 74 69 6f 6e 2f 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 01 tion/ContextErrorException.php..
5fa0 00 00 c8 90 75 5b 98 01 00 00 2d 0a 64 32 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 ....u[....-.d2........1...vendor
5fc0 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 44 75 6d 6d 79 45 78 /symfony/debug/Exception/DummyEx
5fe0 63 65 70 74 69 6f 6e 2e 70 68 70 02 01 00 00 c8 90 75 5b 02 01 00 00 ae 2b c3 ea b6 01 00 00 00 ception.php......u[.....+.......
6000 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 ...6...vendor/symfony/debug/Exce
6020 70 74 69 6f 6e 2f 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0c 07 00 ption/FatalErrorException.php...
6040 00 c8 90 75 5b 0c 07 00 00 88 39 33 3f b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f ...u[.....93?........6...vendor/
6060 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 54 68 72 symfony/debug/Exception/FatalThr
6080 6f 77 61 62 6c 65 45 72 72 6f 72 2e 70 68 70 57 02 00 00 c8 90 75 5b 57 02 00 00 3f e0 e8 4b b6 owableError.phpW.....u[W...?..K.
60a0 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f .......3...vendor/symfony/debug/
60c0 45 78 63 65 70 74 69 6f 6e 2f 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 b2 16 Exception/FlattenException.php..
60e0 00 00 c8 90 75 5b b2 16 00 00 48 f2 d1 0f b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 ....u[....H...........7...vendor
6100 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 75 74 4f 66 4d 65 /symfony/debug/Exception/OutOfMe
6120 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 7e 00 00 00 c8 90 75 5b 7e 00 00 00 eb a8 6f moryException.php~.....u[~.....o
6140 e2 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 .........=...vendor/symfony/debu
6160 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 g/Exception/UndefinedFunctionExc
6180 65 70 74 69 6f 6e 2e 70 68 70 9a 01 00 00 c8 90 75 5b 9a 01 00 00 81 f1 4a c0 b6 01 00 00 00 00 eption.php......u[......J.......
61a0 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 ..;...vendor/symfony/debug/Excep
61c0 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 tion/UndefinedMethodException.ph
61e0 70 98 01 00 00 c8 90 75 5b 98 01 00 00 6e f6 ea d8 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e p......u[....n...........)...ven
6200 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c dor/symfony/debug/ExceptionHandl
6220 65 72 2e 70 68 70 21 33 00 00 c8 90 75 5b 21 33 00 00 0c cf 71 20 b6 01 00 00 00 00 00 00 49 00 er.php!3....u[!3....q.........I.
6240 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f ..vendor/symfony/debug/FatalErro
6260 72 48 61 6e 64 6c 65 72 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 rHandler/ClassNotFoundFatalError
6280 48 61 6e 64 6c 65 72 2e 70 68 70 37 12 00 00 c8 90 75 5b 37 12 00 00 d1 6a 2f 3d b6 01 00 00 00 Handler.php7.....u[7....j/=.....
62a0 00 00 00 45 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 ...E...vendor/symfony/debug/Fata
62c0 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 lErrorHandler/FatalErrorHandlerI
62e0 6e 74 65 72 66 61 63 65 2e 70 68 70 03 01 00 00 c8 90 75 5b 03 01 00 00 c4 b9 42 56 b6 01 00 00 nterface.php......u[......BV....
6300 00 00 00 00 4d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 ....M...vendor/symfony/debug/Fat
6320 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e alErrorHandler/UndefinedFunction
6340 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 75 08 00 00 c8 90 75 5b 75 08 00 FatalErrorHandler.phpu.....u[u..
6360 00 e9 6a 03 19 b6 01 00 00 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..j..........K...vendor/symfony/
6380 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 debug/FatalErrorHandler/Undefine
63a0 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 4e 05 00 00 dMethodFatalErrorHandler.phpN...
63c0 c8 90 75 5b 4e 05 00 00 c7 6f 2d e7 b6 01 00 00 00 00 00 00 1c 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[N....o-.............vendor/s
63e0 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b 29 04 00 00 ymfony/debug/LICENSE).....u[)...
6400 4e 55 4e bd b6 01 00 00 00 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 NUN.........:...vendor/symfony/f
6420 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 ilesystem/Exception/ExceptionInt
6440 65 72 66 61 63 65 2e 70 68 70 69 00 00 00 c8 90 75 5b 69 00 00 00 24 20 ff 9b b6 01 00 00 00 00 erface.phpi.....u[i...$.........
6460 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f ..=...vendor/symfony/filesystem/
6480 45 78 63 65 70 74 69 6f 6e 2f 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e Exception/FileNotFoundException.
64a0 70 68 70 bc 01 00 00 c8 90 75 5b bc 01 00 00 70 ed 5c b6 b6 01 00 00 00 00 00 00 33 00 00 00 76 php......u[....p.\.........3...v
64c0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 endor/symfony/filesystem/Excepti
64e0 6f 6e 2f 49 4f 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 87 01 00 00 c8 90 75 5b 87 01 00 00 80 fc on/IOException.php......u[......
6500 23 d1 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c #.........<...vendor/symfony/fil
6520 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 esystem/Exception/IOExceptionInt
6540 65 72 66 61 63 65 2e 70 68 70 a6 00 00 00 c8 90 75 5b a6 00 00 00 6a d9 77 4d b6 01 00 00 00 00 erface.php......u[....j.wM......
6560 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f ..(...vendor/symfony/filesystem/
6580 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 4b 34 00 00 c8 90 75 5b 4b 34 00 00 bd 6f 43 b7 b6 01 Filesystem.phpK4....u[K4...oC...
65a0 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 ......!...vendor/symfony/filesys
65c0 74 65 6d 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b 29 04 00 00 4e 55 4e bd b6 01 00 00 00 tem/LICENSE).....u[)...NUN......
65e0 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d ...)...vendor/symfony/filesystem
6600 2f 4c 6f 63 6b 48 61 6e 64 6c 65 72 2e 70 68 70 f6 05 00 00 c8 90 75 5b f6 05 00 00 9f 5a b5 31 /LockHandler.php......u[.....Z.1
6620 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 ........1...vendor/symfony/finde
6640 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 2e 70 68 70 5c 0b 00 r/Adapter/AbstractAdapter.php\..
6660 00 c8 90 75 5b 5c 0b 00 00 68 19 88 42 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f ...u[\...h..B........5...vendor/
6680 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 46 symfony/finder/Adapter/AbstractF
66a0 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 8b 19 00 00 c8 90 75 5b 8b 19 00 00 85 0e d4 d0 b6 01 indAdapter.php......u[..........
66c0 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f ......2...vendor/symfony/finder/
66e0 41 64 61 70 74 65 72 2f 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 9b 03 00 00 Adapter/AdapterInterface.php....
6700 c8 90 75 5b 9b 03 00 00 4d 07 fe 1b b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[....M...........0...vendor/s
6720 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 42 73 64 46 69 6e 64 41 64 61 ymfony/finder/Adapter/BsdFindAda
6740 70 74 65 72 2e 70 68 70 32 07 00 00 c8 90 75 5b 32 07 00 00 15 2b 45 ec b6 01 00 00 00 00 00 00 pter.php2.....u[2....+E.........
6760 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 0...vendor/symfony/finder/Adapte
6780 72 2f 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 15 07 00 00 c8 90 75 5b 15 07 00 00 r/GnuFindAdapter.php......u[....
67a0 e8 84 4a 4c b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 ..JL........,...vendor/symfony/f
67c0 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 50 68 70 41 64 61 70 74 65 72 2e 70 68 70 f4 07 00 00 inder/Adapter/PhpAdapter.php....
67e0 c8 90 75 5b f4 07 00 00 de 64 e8 3b b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[.....d.;......../...vendor/s
6800 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 43 6f 6d 70 61 72 61 ymfony/finder/Comparator/Compara
6820 74 6f 72 2e 70 68 70 8c 03 00 00 c8 90 75 5b 8c 03 00 00 16 77 fe 54 b6 01 00 00 00 00 00 00 33 tor.php......u[.....w.T........3
6840 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 ...vendor/symfony/finder/Compara
6860 74 6f 72 2f 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 23 03 00 00 c8 90 75 5b 23 03 tor/DateComparator.php#.....u[#.
6880 00 00 16 b0 1f ce b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..............5...vendor/symfony
68a0 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 /finder/Comparator/NumberCompara
68c0 74 6f 72 2e 70 68 70 7c 03 00 00 c8 90 75 5b 7c 03 00 00 49 54 c7 cd b6 01 00 00 00 00 00 00 39 tor.php|.....u[|...IT..........9
68e0 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 ...vendor/symfony/finder/Excepti
6900 6f 6e 2f 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 84 00 00 00 on/AccessDeniedException.php....
6920 c8 90 75 5b 84 00 00 00 bd be 73 9c b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[......s.........;...vendor/s
6940 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 41 64 61 70 74 65 72 46 ymfony/finder/Exception/AdapterF
6960 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ac 02 00 00 c8 90 75 5b ac 02 00 00 77 ailureException.php......u[....w
6980 1e 18 52 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 ..R........6...vendor/symfony/fi
69a0 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 nder/Exception/ExceptionInterfac
69c0 65 2e 70 68 70 84 00 00 00 c8 90 75 5b 84 00 00 00 1c 47 7a 2d b6 01 00 00 00 00 00 00 41 00 00 e.php......u[.....Gz-........A..
69e0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e .vendor/symfony/finder/Exception
6a00 2f 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 /OperationNotPermitedException.p
6a20 68 70 29 01 00 00 c8 90 75 5b 29 01 00 00 78 1f a7 65 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 hp).....u[)...x..e........@...ve
6a40 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 53 68 ndor/symfony/finder/Exception/Sh
6a60 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ba 02 ellCommandFailureException.php..
6a80 00 00 c8 90 75 5b ba 02 00 00 98 fe 15 98 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 ....u[................/...vendor
6aa0 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 45 78 70 72 65 /symfony/finder/Expression/Expre
6ac0 73 73 69 6f 6e 2e 70 68 70 07 06 00 00 c8 90 75 5b 07 06 00 00 69 a5 3a c5 b6 01 00 00 00 00 00 ssion.php......u[....i.:........
6ae0 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 .)...vendor/symfony/finder/Expre
6b00 73 73 69 6f 6e 2f 47 6c 6f 62 2e 70 68 70 66 04 00 00 c8 90 75 5b 66 04 00 00 44 de 63 6a b6 01 ssion/Glob.phpf.....u[f...D.cj..
6b20 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f ......*...vendor/symfony/finder/
6b40 45 78 70 72 65 73 73 69 6f 6e 2f 52 65 67 65 78 2e 70 68 70 04 0f 00 00 c8 90 75 5b 04 0f 00 00 Expression/Regex.php......u[....
6b60 fc 28 c3 cf b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 .(..........3...vendor/symfony/f
6b80 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 2e inder/Expression/ValueInterface.
6ba0 70 68 70 cd 01 00 00 c8 90 75 5b cd 01 00 00 5c 70 34 86 b6 01 00 00 00 00 00 00 20 00 00 00 76 php......u[....\p4.............v
6bc0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 46 69 6e 64 65 72 2e 70 68 70 5d endor/symfony/finder/Finder.php]
6be0 2e 00 00 c8 90 75 5b 5d 2e 00 00 64 ec c7 bf b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f .....u[]...d...............vendo
6c00 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 47 6c 6f 62 2e 70 68 70 4b 05 00 00 c8 90 75 r/symfony/finder/Glob.phpK.....u
6c20 5b 4b 05 00 00 6a e1 b1 6e b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 [K...j..n........7...vendor/symf
6c40 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 43 75 73 74 6f 6d 46 69 6c 74 65 72 ony/finder/Iterator/CustomFilter
6c60 49 74 65 72 61 74 6f 72 2e 70 68 70 5b 02 00 00 c8 90 75 5b 5b 02 00 00 ad 04 e5 57 b6 01 00 00 Iterator.php[.....u[[......W....
6c80 00 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 ....:...vendor/symfony/finder/It
6ca0 65 72 61 74 6f 72 2f 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 erator/DateRangeFilterIterator.p
6cc0 68 70 78 02 00 00 c8 90 75 5b 78 02 00 00 0f f4 03 50 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 hpx.....u[x......P........;...ve
6ce0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 65 70 ndor/symfony/finder/Iterator/Dep
6d00 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 ee 01 00 00 c8 90 75 thRangeFilterIterator.php......u
6d20 5b ee 01 00 00 fc cd 9d 71 b6 01 00 00 00 00 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 [.......q........A...vendor/symf
6d40 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 45 78 63 6c 75 64 65 44 69 72 65 63 ony/finder/Iterator/ExcludeDirec
6d60 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 ed 05 00 00 c8 90 75 5b ed 05 toryFilterIterator.php......u[..
6d80 00 00 6e 05 f5 48 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..n..H........4...vendor/symfony
6da0 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 /finder/Iterator/FilePathsIterat
6dc0 6f 72 2e 70 68 70 20 06 00 00 c8 90 75 5b 20 06 00 00 5e c1 6b 46 b6 01 00 00 00 00 00 00 39 00 or.php......u[....^.kF........9.
6de0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 ..vendor/symfony/finder/Iterator
6e00 2f 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 5a 02 00 00 c8 /FileTypeFilterIterator.phpZ....
6e20 90 75 5b 5a 02 00 00 28 1a 26 f8 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 .u[Z...(.&.........<...vendor/sy
6e40 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 63 6f 6e 74 65 6e mfony/finder/Iterator/Fileconten
6e60 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 35 02 00 00 c8 90 75 5b 35 02 00 00 9a tFilterIterator.php5.....u[5....
6e80 ed 1f 14 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 ...........9...vendor/symfony/fi
6ea0 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 nder/Iterator/FilenameFilterIter
6ec0 61 74 6f 72 2e 70 68 70 72 01 00 00 c8 90 75 5b 72 01 00 00 74 08 1a 75 b6 01 00 00 00 00 00 00 ator.phpr.....u[r...t..u........
6ee0 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 1...vendor/symfony/finder/Iterat
6f00 6f 72 2f 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 c3 02 00 00 c8 90 75 5b c3 02 00 or/FilterIterator.php......u[...
6f20 00 9a 2b b5 de b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..+..........=...vendor/symfony/
6f40 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 finder/Iterator/MultiplePcreFilt
6f60 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 2d 05 00 00 c8 90 75 5b 2d 05 00 00 ba ce d2 5f b6 01 erIterator.php-.....u[-......_..
6f80 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f ......5...vendor/symfony/finder/
6fa0 49 74 65 72 61 74 6f 72 2f 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 cf Iterator/PathFilterIterator.php.
6fc0 01 00 00 c8 90 75 5b cf 01 00 00 ba 1c aa c7 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f .....u[................=...vendo
6fe0 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 52 65 63 75 72 73 r/symfony/finder/Iterator/Recurs
7000 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 2e 70 68 70 13 09 00 00 c8 90 75 5b iveDirectoryIterator.php......u[
7020 13 09 00 00 20 12 c3 bf b6 01 00 00 00 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ................:...vendor/symfo
7040 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 ny/finder/Iterator/SizeRangeFilt
7060 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 65 02 00 00 c8 90 75 5b 65 02 00 00 9f 92 e1 e9 b6 01 erIterator.phpe.....u[e.........
7080 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f ......3...vendor/symfony/finder/
70a0 49 74 65 72 61 74 6f 72 2f 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 2e 70 68 70 2a 06 00 Iterator/SortableIterator.php*..
70c0 00 c8 90 75 5b 2a 06 00 00 80 f5 b4 5e b6 01 00 00 00 00 00 00 1d 00 00 00 76 65 6e 64 6f 72 2f ...u[*......^............vendor/
70e0 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b 29 04 symfony/finder/LICENSE).....u[).
7100 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..NUN.........'...vendor/symfony
7120 2f 66 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 3c 0b 00 00 c8 90 75 /finder/Shell/Command.php<.....u
7140 5b 3c 0b 00 00 84 06 52 9f b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 [<.....R.........%...vendor/symf
7160 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 53 68 65 6c 6c 2e 70 68 70 70 04 00 00 c8 90 ony/finder/Shell/Shell.phpp.....
7180 75 5b 70 04 00 00 51 54 10 8f b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d u[p...QT..........%...vendor/sym
71a0 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 70 6c 46 69 6c 65 49 6e 66 6f 2e 70 68 70 06 03 00 00 c8 fony/finder/SplFileInfo.php.....
71c0 90 75 5b 06 03 00 00 fe 00 ed f9 b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 .u[................'...vendor/sy
71e0 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 43 74 79 70 65 2e 70 68 70 48 09 mfony/polyfill-ctype/Ctype.phpH.
7200 00 00 c8 90 75 5b 48 09 00 00 b3 9d d5 dd b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 ....u[H...............%...vendor
7220 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 4c 49 43 45 4e 53 45 24 /symfony/polyfill-ctype/LICENSE$
7240 04 00 00 c8 90 75 5b 24 04 00 00 3f 87 73 3a b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f .....u[$...?.s:........+...vendo
7260 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 62 6f 6f 74 73 74 72 r/symfony/polyfill-ctype/bootstr
7280 61 70 2e 70 68 70 49 03 00 00 c8 90 75 5b 49 03 00 00 8f 44 21 65 b6 01 00 00 00 00 00 00 28 00 ap.phpI.....u[I....D!e........(.
72a0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 ..vendor/symfony/polyfill-mbstri
72c0 6e 67 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b 29 04 00 00 b1 03 ed d0 b6 01 00 00 00 00 ng/LICENSE).....u[).............
72e0 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 ..-...vendor/symfony/polyfill-mb
7300 73 74 72 69 6e 67 2f 4d 62 73 74 72 69 6e 67 2e 70 68 70 13 43 00 00 c8 90 75 5b 13 43 00 00 19 string/Mbstring.php.C....u[.C...
7320 e6 f8 06 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f ...........@...vendor/symfony/po
7340 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 lyfill-mbstring/Resources/unidat
7360 61 2f 6c 6f 77 65 72 43 61 73 65 2e 70 68 70 32 41 00 00 c8 90 75 5b 32 41 00 00 bd 11 3d a8 b6 a/lowerCase.php2A....u[2A....=..
7380 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 .......@...vendor/symfony/polyfi
73a0 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 75 70 ll-mbstring/Resources/unidata/up
73c0 70 65 72 43 61 73 65 2e 70 68 70 a1 41 00 00 c8 90 75 5b a1 41 00 00 0e da 09 cd b6 01 00 00 00 perCase.php.A....u[.A...........
73e0 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d .......vendor/symfony/polyfill-m
7400 62 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 cb 10 00 00 c8 90 75 5b cb 10 00 bstring/bootstrap.php......u[...
7420 00 f3 3c cb a2 b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..<..........7...vendor/symfony/
7440 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 process/Exception/ExceptionInter
7460 66 61 63 65 2e 70 68 70 66 00 00 00 c8 90 75 5b 66 00 00 00 5d f6 3e 54 b6 01 00 00 00 00 00 00 face.phpf.....u[f...].>T........
7480 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 =...vendor/symfony/process/Excep
74a0 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 tion/InvalidArgumentException.ph
74c0 70 a8 00 00 00 c8 90 75 5b a8 00 00 00 d0 c0 2b 5f b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e p......u[......+_........3...ven
74e0 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f dor/symfony/process/Exception/Lo
7500 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 94 00 00 00 c8 90 75 5b 94 00 00 00 20 b3 e3 f1 gicException.php......u[........
7520 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 ........;...vendor/symfony/proce
7540 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 ss/Exception/ProcessFailedExcept
7560 69 6f 6e 2e 70 68 70 78 03 00 00 c8 90 75 5b 78 03 00 00 a8 cc 7a 79 b6 01 00 00 00 00 00 00 3d ion.phpx.....u[x.....zy........=
7580 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 ...vendor/symfony/process/Except
75a0 69 6f 6e 2f 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ion/ProcessTimedOutException.php
75c0 1f 04 00 00 c8 90 75 5b 1f 04 00 00 7f ef 0e ab b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 ......u[................5...vend
75e0 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e or/symfony/process/Exception/Run
7600 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 00 00 00 c8 90 75 5b 98 00 00 00 a2 1b d8 timeException.php......u[.......
7620 3a b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 :........+...vendor/symfony/proc
7640 65 73 73 2f 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 9a 04 00 00 c8 90 75 5b ess/ExecutableFinder.php......u[
7660 9a 04 00 00 54 92 b3 c9 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ....T...............vendor/symfo
7680 6e 79 2f 70 72 6f 63 65 73 73 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b 29 04 00 00 4e 55 ny/process/LICENSE).....u[)...NU
76a0 4e bd b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f N.............vendor/symfony/pro
76c0 63 65 73 73 2f 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 c8 04 00 00 cess/PhpExecutableFinder.php....
76e0 c8 90 75 5b c8 04 00 00 9a 28 c0 ae b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 ..u[.....(..........%...vendor/s
7700 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 68 70 50 72 6f 63 65 73 73 2e 70 68 70 fa 03 00 ymfony/process/PhpProcess.php...
7720 00 c8 90 75 5b fa 03 00 00 af 93 d5 81 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f ...u[....................vendor/
7740 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 41 62 73 74 72 61 63 74 50 69 symfony/process/Pipes/AbstractPi
7760 70 65 73 2e 70 68 70 bb 07 00 00 c8 90 75 5b bb 07 00 00 20 56 10 77 b6 01 00 00 00 00 00 00 2f pes.php......u[.....V.w......../
7780 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f ...vendor/symfony/process/Pipes/
77a0 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 2e 70 68 70 44 01 00 00 c8 90 75 5b 44 01 00 00 76 d8 PipesInterface.phpD.....u[D...v.
77c0 ee a1 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f ..........*...vendor/symfony/pro
77e0 63 65 73 73 2f 50 69 70 65 73 2f 55 6e 69 78 50 69 70 65 73 2e 70 68 70 3e 08 00 00 c8 90 75 5b cess/Pipes/UnixPipes.php>.....u[
7800 3e 08 00 00 aa 95 69 72 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f >.....ir........-...vendor/symfo
7820 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 57 69 6e 64 6f 77 73 50 69 70 65 73 2e 70 68 ny/process/Pipes/WindowsPipes.ph
7840 70 89 0b 00 00 c8 90 75 5b 89 0b 00 00 08 c0 22 a2 b6 01 00 00 00 00 00 00 22 00 00 00 76 65 6e p......u[......"........."...ven
7860 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 2e 70 68 70 a3 dor/symfony/process/Process.php.
7880 52 00 00 c8 90 75 5b a3 52 00 00 c1 dc d5 28 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f R....u[.R.....(........)...vendo
78a0 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 r/symfony/process/ProcessBuilder
78c0 2e 70 68 70 df 0a 00 00 c8 90 75 5b df 0a 00 00 5e 83 17 38 b6 01 00 00 00 00 00 00 27 00 00 00 .php......u[....^..8........'...
78e0 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 73 55 74 vendor/symfony/process/ProcessUt
7900 69 6c 73 2e 70 68 70 4b 06 00 00 c8 90 75 5b 4b 06 00 00 32 c1 de 67 b6 01 00 00 00 00 00 00 1c ils.phpK.....u[K...2..g.........
7920 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 4c 49 43 45 4e 53 45 22 ...vendor/seld/jsonlint/LICENSE"
7940 04 00 00 c8 90 75 5b 22 04 00 00 61 83 73 79 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f .....u["...a.sy........@...vendo
7960 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e r/seld/jsonlint/src/Seld/JsonLin
7980 74 2f 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 2a 01 00 00 c8 t/DuplicateKeyException.php*....
79a0 90 75 5b 2a 01 00 00 19 95 70 f1 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 65 .u[*.....p.........5...vendor/se
79c0 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 4a 73 ld/jsonlint/src/Seld/JsonLint/Js
79e0 6f 6e 50 61 72 73 65 72 2e 70 68 70 2f 32 00 00 c8 90 75 5b 2f 32 00 00 ad df 98 f6 b6 01 00 00 onParser.php/2....u[/2..........
7a00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 ....0...vendor/seld/jsonlint/src
7a20 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 4c 65 78 65 72 2e 70 68 70 06 0f 00 00 c8 90 75 5b /Seld/JsonLint/Lexer.php......u[
7a40 06 0f 00 00 25 ff 33 4e b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f ....%.3N........;...vendor/seld/
7a60 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 50 61 72 73 69 jsonlint/src/Seld/JsonLint/Parsi
7a80 6e 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 1e 01 00 00 c8 90 75 5b 1e 01 00 00 89 b2 10 f1 b6 ngException.php......u[.........
7aa0 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f .......4...vendor/seld/jsonlint/
7ac0 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 55 6e 64 65 66 69 6e 65 64 2e 70 68 70 3e src/Seld/JsonLint/Undefined.php>
7ae0 00 00 00 c8 90 75 5b 3e 00 00 00 ff 71 9f 9f b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f .....u[>....q..........(...vendo
7b00 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 4c 49 43 45 r/justinrainbow/json-schema/LICE
7b20 4e 53 45 20 04 00 00 c8 90 75 5b 20 04 00 00 ba e7 06 a9 b6 01 00 00 00 00 00 00 2e 00 00 00 76 NSE......u[....................v
7b40 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f endor/justinrainbow/json-schema/
7b60 64 65 6d 6f 2f 64 65 6d 6f 2e 70 68 70 f1 01 00 00 c8 90 75 5b f1 01 00 00 66 1b 12 43 b6 01 00 demo/demo.php......u[....f..C...
7b80 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....N...vendor/justinrainbow/js
7ba0 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 on-schema/src/JsonSchema/Constra
7bc0 69 6e 74 73 2f 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 a1 09 00 00 c8 90 75 5b a1 ints/BaseConstraint.php......u[.
7be0 09 00 00 86 77 cc 6c b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e ....w.l........T...vendor/justin
7c00 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 rainbow/json-schema/src/JsonSche
7c20 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 ma/Constraints/CollectionConstra
7c40 69 6e 74 2e 70 68 70 29 0d 00 00 c8 90 75 5b 29 0d 00 00 23 a9 14 14 b6 01 00 00 00 00 00 00 4a int.php).....u[)...#...........J
7c60 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 ...vendor/justinrainbow/json-sch
7c80 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 ema/src/JsonSchema/Constraints/C
7ca0 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 a7 0d 00 00 c8 90 75 5b a7 0d 00 00 9b 56 d8 18 b6 01 00 onstraint.php......u[.....V.....
7cc0 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....S...vendor/justinrainbow/js
7ce0 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 on-schema/src/JsonSchema/Constra
7d00 69 6e 74 73 2f 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 bc 01 00 00 ints/ConstraintInterface.php....
7d20 c8 90 75 5b bc 01 00 00 ff 20 51 9c b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a ..u[......Q.........N...vendor/j
7d40 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f ustinrainbow/json-schema/src/Jso
7d60 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 45 6e 75 6d 43 6f 6e 73 74 72 61 69 nSchema/Constraints/EnumConstrai
7d80 6e 74 2e 70 68 70 5d 03 00 00 c8 90 75 5b 5d 03 00 00 56 8e 55 3c b6 01 00 00 00 00 00 00 47 00 nt.php].....u[]...V.U<........G.
7da0 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
7dc0 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 46 61 ma/src/JsonSchema/Constraints/Fa
7de0 63 74 6f 72 79 2e 70 68 70 e3 0c 00 00 c8 90 75 5b e3 0c 00 00 e1 30 3b 16 b6 01 00 00 00 00 00 ctory.php......u[.....0;........
7e00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 .P...vendor/justinrainbow/json-s
7e20 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 chema/src/JsonSchema/Constraints
7e40 2f 46 6f 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 85 14 00 00 c8 90 75 5b 85 14 00 /FormatConstraint.php......u[...
7e60 00 93 54 9c da b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 ..T..........P...vendor/justinra
7e80 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 inbow/json-schema/src/JsonSchema
7ea0 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 4e 75 6d 62 65 72 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 /Constraints/NumberConstraint.ph
7ec0 70 9a 0a 00 00 c8 90 75 5b 9a 0a 00 00 15 1e 7a 26 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e p......u[......z&........P...ven
7ee0 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 dor/justinrainbow/json-schema/sr
7f00 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 4f 62 6a 65 63 74 43 c/JsonSchema/Constraints/ObjectC
7f20 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 c3 11 00 00 c8 90 75 5b c3 11 00 00 a9 c5 bc 78 b6 01 00 onstraint.php......u[.......x...
7f40 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....P...vendor/justinrainbow/js
7f60 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 on-schema/src/JsonSchema/Constra
7f80 69 6e 74 73 2f 53 63 68 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 30 09 00 00 c8 90 75 ints/SchemaConstraint.php0.....u
7fa0 5b 30 09 00 00 d7 6a b4 98 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 [0....j..........P...vendor/just
7fc0 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 inrainbow/json-schema/src/JsonSc
7fe0 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e hema/Constraints/StringConstrain
8000 74 2e 70 68 70 7f 04 00 00 c8 90 75 5b 7f 04 00 00 a5 77 9a 87 b6 01 00 00 00 00 00 00 58 00 00 t.php......u[.....w..........X..
8020 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d .vendor/justinrainbow/json-schem
8040 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 a/src/JsonSchema/Constraints/Typ
8060 65 43 68 65 63 6b 2f 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 2e 70 68 70 61 04 00 00 c8 90 75 eCheck/LooseTypeCheck.phpa.....u
8080 5b 61 04 00 00 0b 09 71 c3 b6 01 00 00 00 00 00 00 59 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 [a.....q.........Y...vendor/just
80a0 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 inrainbow/json-schema/src/JsonSc
80c0 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f 53 74 72 69 63 hema/Constraints/TypeCheck/Stric
80e0 74 54 79 70 65 43 68 65 63 6b 2e 70 68 70 70 02 00 00 c8 90 75 5b 70 02 00 00 12 72 1f eb b6 01 tTypeCheck.phpp.....u[p....r....
8100 00 00 00 00 00 00 5c 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a ......\...vendor/justinrainbow/j
8120 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 son-schema/src/JsonSchema/Constr
8140 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f 54 79 70 65 43 68 65 63 6b 49 6e 74 65 72 66 61 aints/TypeCheck/TypeCheckInterfa
8160 63 65 2e 70 68 70 89 01 00 00 c8 90 75 5b 89 01 00 00 93 b5 2b 6a b6 01 00 00 00 00 00 00 4e 00 ce.php......u[......+j........N.
8180 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
81a0 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 ma/src/JsonSchema/Constraints/Ty
81c0 70 65 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 26 0f 00 00 c8 90 75 5b 26 0f 00 00 34 98 a9 54 peConstraint.php&.....u[&...4..T
81e0 b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 ........S...vendor/justinrainbow
8200 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 /json-schema/src/JsonSchema/Cons
8220 74 72 61 69 6e 74 73 2f 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 2c traints/UndefinedConstraint.php,
8240 22 00 00 c8 90 75 5b 2c 22 00 00 75 6c d9 b7 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f "....u[,"..ul..........F...vendo
8260 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
8280 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 6e 74 69 74 79 2f 4a 73 6f 6e 50 6f 69 6e 74 65 72 2e 70 68 JsonSchema/Entity/JsonPointer.ph
82a0 70 e8 06 00 00 c8 90 75 5b e8 06 00 00 06 7b 4e 96 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e p......u[.....{N.........P...ven
82c0 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 dor/justinrainbow/json-schema/sr
82e0 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e c/JsonSchema/Exception/Exception
8300 49 6e 74 65 72 66 61 63 65 2e 70 68 70 49 00 00 00 c8 90 75 5b 49 00 00 00 25 7c 19 b0 b6 01 00 Interface.phpI.....u[I...%|.....
8320 00 00 00 00 00 56 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....V...vendor/justinrainbow/js
8340 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 on-schema/src/JsonSchema/Excepti
8360 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 95 on/InvalidArgumentException.php.
8380 00 00 00 c8 90 75 5b 95 00 00 00 8b e0 47 05 b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f .....u[......G.........T...vendo
83a0 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
83c0 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 43 6f 6e 66 JsonSchema/Exception/InvalidConf
83e0 69 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6c 00 00 00 c8 90 75 5b 6c 00 00 00 41 21 4c d7 b6 igException.phpl.....u[l...A!L..
8400 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f .......T...vendor/justinrainbow/
8420 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 json-schema/src/JsonSchema/Excep
8440 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6c tion/InvalidSchemaException.phpl
8460 00 00 00 c8 90 75 5b 6c 00 00 00 e8 32 f7 fe b6 01 00 00 00 00 00 00 5d 00 00 00 76 65 6e 64 6f .....u[l....2..........]...vendo
8480 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
84a0 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 63 68 65 JsonSchema/Exception/InvalidSche
84c0 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 75 00 00 00 c8 90 75 5b maMediaTypeException.phpu.....u[
84e0 75 00 00 00 3d 68 e7 07 b6 01 00 00 00 00 00 00 57 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 u...=h..........W...vendor/justi
8500 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
8520 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 6f 75 72 63 65 55 72 69 45 78 ema/Exception/InvalidSourceUriEx
8540 63 65 70 74 69 6f 6e 2e 70 68 70 77 00 00 00 c8 90 75 5b 77 00 00 00 4e 2d f2 5b b6 01 00 00 00 ception.phpw.....u[w...N-.[.....
8560 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e ...S...vendor/justinrainbow/json
8580 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e -schema/src/JsonSchema/Exception
85a0 2f 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 de 02 00 00 c8 90 /JsonDecodingException.php......
85c0 75 5b de 02 00 00 5c b8 0d 0a b6 01 00 00 00 00 00 00 57 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 u[....\...........W...vendor/jus
85e0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
8600 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 chema/Exception/ResourceNotFound
8620 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6f 00 00 00 c8 90 75 5b 6f 00 00 00 70 ed db f9 b6 01 00 Exception.phpo.....u[o...p......
8640 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....N...vendor/justinrainbow/js
8660 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 on-schema/src/JsonSchema/Excepti
8680 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 85 00 00 00 c8 90 75 5b 85 on/RuntimeException.php......u[.
86a0 00 00 00 08 25 85 97 b6 01 00 00 00 00 00 00 5e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e ....%..........^...vendor/justin
86c0 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 rainbow/json-schema/src/JsonSche
86e0 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 ma/Exception/UnresolvableJsonPoi
8700 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 80 00 00 00 c8 90 75 5b 80 00 00 00 75 2d 23 nterException.php......u[....u-#
8720 31 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 1........R...vendor/justinrainbo
8740 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 w/json-schema/src/JsonSchema/Exc
8760 65 70 74 69 6f 6e 2f 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6a eption/UriResolverException.phpj
8780 00 00 00 c8 90 75 5b 6a 00 00 00 e5 1a 3e 8f b6 01 00 00 00 00 00 00 51 00 00 00 76 65 6e 64 6f .....u[j.....>.........Q...vendo
87a0 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f r/justinrainbow/json-schema/src/
87c0 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 56 61 6c 69 64 61 74 69 6f 6e 45 JsonSchema/Exception/ValidationE
87e0 78 63 65 70 74 69 6f 6e 2e 70 68 70 66 00 00 00 c8 90 75 5b 66 00 00 00 ac a4 84 fe b6 01 00 00 xception.phpf.....u[f...........
8800 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....K...vendor/justinrainbow/jso
8820 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 49 74 65 72 61 74 6f 72 n-schema/src/JsonSchema/Iterator
8840 2f 4f 62 6a 65 63 74 49 74 65 72 61 74 6f 72 2e 70 68 70 fe 05 00 00 c8 90 75 5b fe 05 00 00 4d /ObjectIterator.php......u[....M
8860 8f 84 f5 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e ...........;...vendor/justinrain
8880 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 52 bow/json-schema/src/JsonSchema/R
88a0 66 63 33 33 33 39 2e 70 68 70 a0 02 00 00 c8 90 75 5b a0 02 00 00 66 34 f7 b3 b6 01 00 00 00 00 fc3339.php......u[....f4........
88c0 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d ..A...vendor/justinrainbow/json-
88e0 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 53 63 68 65 6d 61 53 74 6f 72 schema/src/JsonSchema/SchemaStor
8900 61 67 65 2e 70 68 70 9c 0d 00 00 c8 90 75 5b 9c 0d 00 00 02 e5 66 4f b6 01 00 00 00 00 00 00 4a age.php......u[......fO........J
8920 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 ...vendor/justinrainbow/json-sch
8940 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 53 63 68 65 6d 61 53 74 6f 72 61 67 65 ema/src/JsonSchema/SchemaStorage
8960 49 6e 74 65 72 66 61 63 65 2e 70 68 70 01 01 00 00 c8 90 75 5b 01 01 00 00 6f 8a 2b 7d b6 01 00 Interface.php......u[....o.+}...
8980 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....T...vendor/justinrainbow/js
89a0 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 on-schema/src/JsonSchema/Uri/Ret
89c0 72 69 65 76 65 72 73 2f 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 2e 70 68 70 e1 00 00 rievers/AbstractRetriever.php...
89e0 00 c8 90 75 5b e1 00 00 00 5b fe 41 81 b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f 72 2f ...u[....[.A.........G...vendor/
8a00 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 justinrainbow/json-schema/src/Js
8a20 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 43 75 72 6c 2e 70 68 70 onSchema/Uri/Retrievers/Curl.php
8a40 a5 04 00 00 c8 90 75 5b a5 04 00 00 d4 a7 4c 62 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 ......u[......Lb........R...vend
8a60 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 or/justinrainbow/json-schema/src
8a80 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 46 69 6c 65 47 /JsonSchema/Uri/Retrievers/FileG
8aa0 65 74 43 6f 6e 74 65 6e 74 73 2e 70 68 70 25 05 00 00 c8 90 75 5b 25 05 00 00 35 22 10 a0 b6 01 etContents.php%.....u[%...5"....
8ac0 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a ......R...vendor/justinrainbow/j
8ae0 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 son-schema/src/JsonSchema/Uri/Re
8b00 74 72 69 65 76 65 72 73 2f 50 72 65 64 65 66 69 6e 65 64 41 72 72 61 79 2e 70 68 70 2c 02 00 00 trievers/PredefinedArray.php,...
8b20 c8 90 75 5b 2c 02 00 00 31 95 35 fe b6 01 00 00 00 00 00 00 58 00 00 00 76 65 6e 64 6f 72 2f 6a ..u[,...1.5.........X...vendor/j
8b40 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f ustinrainbow/json-schema/src/Jso
8b60 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 55 72 69 52 65 74 72 69 65 nSchema/Uri/Retrievers/UriRetrie
8b80 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ae 00 00 00 c8 90 75 5b ae 00 00 00 ff 8b c1 e5 verInterface.php......u[........
8ba0 b6 01 00 00 00 00 00 00 43 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 ........C...vendor/justinrainbow
8bc0 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f /json-schema/src/JsonSchema/Uri/
8be0 55 72 69 52 65 73 6f 6c 76 65 72 2e 70 68 70 05 0b 00 00 c8 90 75 5b 05 0b 00 00 a3 9f 29 e0 b6 UriResolver.php......u[......)..
8c00 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f .......D...vendor/justinrainbow/
8c20 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 55 json-schema/src/JsonSchema/Uri/U
8c40 72 69 52 65 74 72 69 65 76 65 72 2e 70 68 70 26 13 00 00 c8 90 75 5b 26 13 00 00 bc ee 82 a2 b6 riRetriever.php&.....u[&........
8c60 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f .......H...vendor/justinrainbow/
8c80 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 52 65 json-schema/src/JsonSchema/UriRe
8ca0 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 83 00 00 00 c8 90 75 5b 83 00 00 00 12 solverInterface.php......u[.....
8cc0 4a 80 1f b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e J..........I...vendor/justinrain
8ce0 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 bow/json-schema/src/JsonSchema/U
8d00 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 85 00 00 00 c8 90 75 5b riRetrieverInterface.php......u[
8d20 85 00 00 00 ed e6 1b 65 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 .......e........=...vendor/justi
8d40 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
8d60 65 6d 61 2f 56 61 6c 69 64 61 74 6f 72 2e 70 68 70 78 05 00 00 c8 90 75 5b 78 05 00 00 65 17 c3 ema/Validator.phpx.....u[x...e..
8d80 fe b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 .........%...vendor/composer/spd
8da0 78 2d 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 1c 04 00 00 c8 90 75 5b 1c 04 00 00 06 42 x-licenses/LICENSE......u[.....B
8dc0 68 ed b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 h.........2...vendor/composer/sp
8de0 64 78 2d 6c 69 63 65 6e 73 65 73 2f 73 72 63 2f 53 70 64 78 4c 69 63 65 6e 73 65 73 2e 70 68 70 dx-licenses/src/SpdxLicenses.php
8e00 48 14 00 00 c8 90 75 5b 48 14 00 00 cd 89 54 04 b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 H.....u[H.....T.............vend
8e20 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 4c 49 43 45 4e 53 45 1c 04 00 00 c8 90 or/composer/semver/LICENSE......
8e40 75 5b 1c 04 00 00 06 42 68 ed b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d u[.....Bh.........)...vendor/com
8e60 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 02 poser/semver/src/Comparator.php.
8e80 04 00 00 c8 90 75 5b 02 04 00 00 77 6c 83 ef b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f .....u[....wl..........<...vendo
8ea0 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 r/composer/semver/src/Constraint
8ec0 2f 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 d7 02 00 00 c8 90 75 5b d7 /AbstractConstraint.php......u[.
8ee0 02 00 00 f5 ee 3e 8e b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 .....>.........4...vendor/compos
8f00 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 43 6f 6e 73 74 72 61 er/semver/src/Constraint/Constra
8f20 69 6e 74 2e 70 68 70 aa 0c 00 00 c8 90 75 5b aa 0c 00 00 c7 4f 37 b2 b6 01 00 00 00 00 00 00 3d int.php......u[.....O7.........=
8f40 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f ...vendor/composer/semver/src/Co
8f60 6e 73 74 72 61 69 6e 74 2f 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 nstraint/ConstraintInterface.php
8f80 df 00 00 00 c8 90 75 5b df 00 00 00 30 43 2c 87 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 ......u[....0C,.........9...vend
8fa0 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e or/composer/semver/src/Constrain
8fc0 74 2f 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 e9 01 00 00 c8 90 75 5b e9 01 00 t/EmptyConstraint.php......u[...
8fe0 00 21 2d d8 99 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 .!-..........9...vendor/composer
9000 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 4d 75 6c 74 69 43 6f 6e 73 /semver/src/Constraint/MultiCons
9020 74 72 61 69 6e 74 2e 70 68 70 31 05 00 00 c8 90 75 5b 31 05 00 00 ed a0 78 55 b6 01 00 00 00 00 traint.php1.....u[1.....xU......
9040 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 ..%...vendor/composer/semver/src
9060 2f 53 65 6d 76 65 72 2e 70 68 70 76 06 00 00 c8 90 75 5b 76 06 00 00 8b d7 c8 9b b6 01 00 00 00 /Semver.phpv.....u[v............
9080 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 ...,...vendor/composer/semver/sr
90a0 63 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 72 2e 70 68 70 bf 2a 00 00 c8 90 75 5b bf 2a 00 00 13 c/VersionParser.php.*....u[.*...
90c0 29 6d c6 b6 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 )m.........!...vendor/composer/c
90e0 61 2d 62 75 6e 64 6c 65 2f 4c 49 43 45 4e 53 45 1c 04 00 00 c8 90 75 5b 1c 04 00 00 2a 21 5e 60 a-bundle/LICENSE......u[....*!^`
9100 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 ........*...vendor/composer/ca-b
9120 75 6e 64 6c 65 2f 73 72 63 2f 43 61 42 75 6e 64 6c 65 2e 70 68 70 15 1d 00 00 c8 90 75 5b 15 1d undle/src/CaBundle.php......u[..
9140 00 00 ca 0b 7e c4 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 ....~.........&...vendor/compose
9160 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 4c 49 43 45 4e 53 45 29 04 00 00 c8 90 75 5b r/xdebug-handler/LICENSE).....u[
9180 29 04 00 00 23 d4 3b 5e b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f )...#.;^........0...vendor/compo
91a0 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 50 68 70 43 6f 6e 66 69 67 ser/xdebug-handler/src/PhpConfig
91c0 2e 70 68 70 b4 02 00 00 c8 90 75 5b b4 02 00 00 2a 44 92 00 b6 01 00 00 00 00 00 00 2e 00 00 00 .php......u[....*D..............
91e0 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 vendor/composer/xdebug-handler/s
9200 72 63 2f 50 72 6f 63 65 73 73 2e 70 68 70 74 08 00 00 c8 90 75 5b 74 08 00 00 db 8c fa 26 b6 01 rc/Process.phpt.....u[t......&..
9220 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 ......-...vendor/composer/xdebug
9240 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 53 74 61 74 75 73 2e 70 68 70 ec 09 00 00 c8 90 75 5b ec -handler/src/Status.php......u[.
9260 09 00 00 6a 65 bf fb b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 ...je..........4...vendor/compos
9280 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 58 64 65 62 75 67 48 61 6e 64 er/xdebug-handler/src/XdebugHand
92a0 6c 65 72 2e 70 68 70 9a 1c 00 00 c8 90 75 5b 9a 1c 00 00 de e9 45 3f b6 01 00 00 00 00 00 00 16 ler.php......u[......E?.........
92c0 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 4c 49 43 45 4e 53 45 3d 04 00 00 c8 90 75 ...vendor/psr/log/LICENSE=.....u
92e0 5b 3d 04 00 00 70 b1 8e 4f b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f [=...p..O........)...vendor/psr/
9300 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 2e 70 68 70 3b 04 log/Psr/Log/AbstractLogger.php;.
9320 00 00 c8 90 75 5b 3b 04 00 00 f1 3e 33 5b b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 ....u[;....>3[........3...vendor
9340 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 /psr/log/Psr/Log/InvalidArgument
9360 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 60 00 00 00 c8 90 75 5b 60 00 00 00 20 88 58 31 b6 01 00 Exception.php`.....u[`.....X1...
9380 00 00 00 00 00 23 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f .....#...vendor/psr/log/Psr/Log/
93a0 4c 6f 67 4c 65 76 65 6c 2e 70 68 70 fb 00 00 00 c8 90 75 5b fb 00 00 00 6a f0 f1 38 b6 01 00 00 LogLevel.php......u[....j..8....
93c0 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c ..../...vendor/psr/log/Psr/Log/L
93e0 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 7c 00 00 00 c8 90 75 5b 7c oggerAwareInterface.php|.....u[|
9400 00 00 00 24 13 a3 88 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f ...$...........+...vendor/psr/lo
9420 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 2e 70 68 70 a7 00 g/Psr/Log/LoggerAwareTrait.php..
9440 00 00 c8 90 75 5b a7 00 00 00 54 bd fa 42 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 ....u[....T..B........*...vendor
9460 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 /psr/log/Psr/Log/LoggerInterface
9480 2e 70 68 70 c6 02 00 00 c8 90 75 5b c6 02 00 00 bb 12 73 67 b6 01 00 00 00 00 00 00 26 00 00 00 .php......u[......sg........&...
94a0 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 54 72 61 vendor/psr/log/Psr/Log/LoggerTra
94c0 69 74 2e 70 68 70 69 04 00 00 c8 90 75 5b 69 04 00 00 33 35 a7 de b6 01 00 00 00 00 00 00 25 00 it.phpi.....u[i...35..........%.
94e0 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4e 75 6c 6c 4c 6f 67 ..vendor/psr/log/Psr/Log/NullLog
9500 67 65 72 2e 70 68 70 9e 00 00 00 c8 90 75 5b 9e 00 00 00 c7 02 c3 1f b6 01 00 00 00 00 00 00 33 ger.php......u[................3
9520 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 54 65 73 74 2f 4c ...vendor/psr/log/Psr/Log/Test/L
9540 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 fc 0c 00 00 c8 90 75 5b fc 0c oggerInterfaceTest.php......u[..
9560 00 00 69 71 30 d8 b6 01 00 00 00 00 00 00 13 00 00 00 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 ..iq0.............vendor/autoloa
9580 64 2e 70 68 70 82 00 00 00 c8 90 75 5b 82 00 00 00 5a 10 94 9f b6 01 00 00 00 00 00 00 27 00 00 d.php......u[....Z...........'..
95a0 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 .vendor/composer/autoload_namesp
95c0 61 63 65 73 2e 70 68 70 64 00 00 00 c8 90 75 5b 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 aces.phpd.....u[d...Z..H........
95e0 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 !...vendor/composer/autoload_psr
9600 34 2e 70 68 70 f7 04 00 00 c8 90 75 5b f7 04 00 00 c5 2a 9a 16 b6 01 00 00 00 00 00 00 25 00 00 4.php......u[.....*..........%..
9620 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d .vendor/composer/autoload_classm
9640 61 70 2e 70 68 70 64 00 00 00 c8 90 75 5b 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 22 00 ap.phpd.....u[d...Z..H........".
9660 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 ..vendor/composer/autoload_files
9680 2e 70 68 70 1f 01 00 00 c8 90 75 5b 1f 01 00 00 a5 00 a0 ae b6 01 00 00 00 00 00 00 21 00 00 00 .php......u[................!...
96a0 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 vendor/composer/autoload_real.ph
96c0 70 49 07 00 00 c8 90 75 5b 49 07 00 00 66 5d 0e ff b6 01 00 00 00 00 00 00 23 00 00 00 76 65 6e pI.....u[I...f]..........#...ven
96e0 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 dor/composer/autoload_static.php
9700 a7 0a 00 00 c8 90 75 5b a7 0a 00 00 16 eb a0 ce b6 01 00 00 00 00 00 00 1f 00 00 00 76 65 6e 64 ......u[....................vend
9720 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 83 18 00 00 c8 or/composer/ClassLoader.php.....
9740 90 75 5b 83 18 00 00 ab d1 eb e6 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 63 6f .u[................(...vendor/co
9760 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 72 65 73 2f 63 61 63 65 72 74 2e 70 65 6d bb mposer/ca-bundle/res/cacert.pem.
9780 43 03 00 c8 90 75 5b bb 43 03 00 66 2e c0 ac b6 01 00 00 00 00 00 00 0c 00 00 00 62 69 6e 2f 63 C....u[.C..f...............bin/c
97a0 6f 6d 70 6f 73 65 72 f3 05 00 00 c8 90 75 5b f3 05 00 00 5d 55 cc 80 b6 01 00 00 00 00 00 00 07 omposer......u[....]U...........
97c0 00 00 00 4c 49 43 45 4e 53 45 2e 04 00 00 c8 90 75 5b 2e 04 00 00 20 d5 08 03 b6 01 00 00 00 00 ...LICENSE......u[..............
97e0 00 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d ..<?php............namespace.Com
9800 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f poser\Autoload;..use.Composer\Co
9820 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 nfig;.use.Composer\EventDispatch
9840 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\EventDispatcher;.use.Composer
9860 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a \Installer\InstallationManager;.
9880 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Composer\IO\IOInterface;.use
98a0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a .Composer\Package\AliasPackage;.
98c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
98e0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 rface;.use.Composer\Repository\I
9900 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 nstalledRepositoryInterface;.use
9920 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 .Composer\Util\Filesystem;.use.C
9940 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 0a 0a 0a omposer\Script\ScriptEvents;....
9960 0a 0a 63 6c 61 73 73 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 ..class.AutoloadGenerator.{....p
9980 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 69 rivate.$eventDispatcher;.....pri
99a0 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 20 3d vate.$io;.....private.$devMode.=
99c0 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 .false;.....private.$classMapAut
99e0 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 horitative.=.false;.....private.
9a00 24 61 70 63 75 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 75 6e 53 $apcu.=.false;.....private.$runS
9a20 63 72 69 70 74 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e cripts.=.false;..public.function
9a40 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 .__construct(EventDispatcher.$ev
9a60 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d entDispatcher,.IOInterface.$io.=
9a80 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 .null).{.$this->eventDispatcher.
9aa0 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 =.$eventDispatcher;.$this->io.=.
9ac0 24 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 4d 6f $io;.}..public.function.setDevMo
9ae0 64 65 28 24 64 65 76 4d 6f 64 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 de($devMode.=.true).{.$this->dev
9b00 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a Mode.=.(bool).$devMode;.}.......
9b20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 .public.function.setClassMapAuth
9b40 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 oritative($classMapAuthoritative
9b60 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 ).{.$this->classMapAuthoritative
9b80 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 .=.(bool).$classMapAuthoritative
9ba0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 ;.}.......public.function.setApc
9bc0 75 28 24 61 70 63 75 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 63 75 20 3d 20 28 62 6f 6f 6c 29 20 u($apcu).{.$this->apcu.=.(bool).
9be0 24 61 70 63 75 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 $apcu;.}.......public.function.s
9c00 65 74 52 75 6e 53 63 72 69 70 74 73 28 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 etRunScripts($runScripts.=.true)
9c20 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 .{.$this->runScripts.=.(bool).$r
9c40 75 6e 53 63 72 69 70 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 unScripts;.}..public.function.du
9c60 6d 70 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f mp(Config.$config,.InstalledRepo
9c80 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 61 63 6b sitoryInterface.$localRepo,.Pack
9ca0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 49 6e 73 74 61 ageInterface.$mainPackage,.Insta
9cc0 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 llationManager.$installationMana
9ce0 67 65 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 ger,.$targetDir,.$scanPsr0Packag
9d00 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 75 66 66 69 78 20 3d 20 27 27 29 0a 7b 0a 69 66 20 28 es.=.false,.$suffix.=.'').{.if.(
9d20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a $this->classMapAuthoritative).{.
9d40 0a 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 ..$scanPsr0Packages.=.true;.}.if
9d60 20 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 .($this->runScripts).{.$this->ev
9d80 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 entDispatcher->dispatchScript(Sc
9da0 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 riptEvents::PRE_AUTOLOAD_DUMP,.$
9dc0 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 this->devMode,.array(),.array(.'
9de0 6f 70 74 69 6d 69 7a 65 27 20 3d 3e 20 28 62 6f 6f 6c 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 optimize'.=>.(bool).$scanPsr0Pac
9e00 6b 61 67 65 73 2c 0a 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 kages,.));.}..$filesystem.=.new.
9e20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 Filesystem();.$filesystem->ensur
9e40 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 eDirectoryExists($config->get('v
9e60 65 6e 64 6f 72 2d 64 69 72 27 29 29 3b 0a 0a 20 0a 20 0a 20 24 62 61 73 65 50 61 74 68 20 3d 20 endor-dir'));.......$basePath.=.
9e80 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 72 65 61 6c 70 $filesystem->normalizePath(realp
9ea0 61 74 68 28 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 29 29 3b 0a 24 76 65 6e 64 6f ath(realpath(getcwd())));.$vendo
9ec0 72 50 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 rPath.=.$filesystem->normalizePa
9ee0 74 68 28 72 65 61 6c 70 61 74 68 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 2d 3e 67 65 th(realpath(realpath($config->ge
9f00 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 29 3b 0a 24 75 73 65 47 6c 6f 62 61 6c 49 6e t('vendor-dir'))));.$useGlobalIn
9f20 63 6c 75 64 65 50 61 74 68 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 cludePath.=.(bool).$config->get(
9f40 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 29 3b 0a 24 70 72 65 70 65 6e 64 41 75 74 'use-include-path');.$prependAut
9f60 6f 6c 6f 61 64 65 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 70 65 6e 64 2d oloader.=.$config->get('prepend-
9f80 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 66 61 6c 73 65 27 autoloader').===.false.?.'false'
9fa0 20 3a 20 27 74 72 75 65 27 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 .:.'true';.$targetDir.=.$vendorP
9fc0 61 74 68 2e 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d ath.'/'.$targetDir;.$filesystem-
9fe0 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 >ensureDirectoryExists($targetDi
a000 72 29 3b 0a 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 r);..$vendorPathCode.=.$filesyst
a020 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 em->findShortestPathCode(realpat
a040 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 74 72 75 65 h($targetDir),.$vendorPath,.true
a060 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 20 3d 20 73 74 72 5f 72 65 70 6c 61 );.$vendorPathCode52.=.str_repla
a080 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 27 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 ce('__DIR__',.'dirname(__FILE__)
a0a0 27 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 ',.$vendorPathCode);.$vendorPath
a0c0 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 ToTargetDirCode.=.$filesystem->f
a0e0 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c indShortestPathCode($vendorPath,
a100 20 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 74 72 75 65 29 3b 0a 0a 24 .realpath($targetDir),.true);..$
a120 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 appBaseDirCode.=.$filesystem->fi
a140 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 ndShortestPathCode($vendorPath,.
a160 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 $basePath,.true);.$appBaseDirCod
a180 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 27 24 76 65 6e e.=.str_replace('__DIR__',.'$ven
a1a0 64 6f 72 44 69 72 27 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 3b 0a 0a 24 6e 61 6d dorDir',.$appBaseDirCode);..$nam
a1c0 65 73 70 61 63 65 73 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 espacesFile.=.<<<EOF.<?php..//.a
a1e0 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 utoload_namespaces.php.@generate
a200 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 d.by.Composer..\$vendorDir.=.$ve
a220 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 ndorPathCode52;.\$baseDir.=.$app
a240 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 BaseDirCode;..return.array(..EOF
a260 3b 0a 0a 24 70 73 72 34 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 ;..$psr4File.=.<<<EOF.<?php..//.
a280 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 autoload_psr4.php.@generated.by.
a2a0 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 Composer..\$vendorDir.=.$vendorP
a2c0 61 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 athCode52;.\$baseDir.=.$appBaseD
a2e0 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a 20 irCode;..return.array(..EOF;....
a300 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 $packageMap.=.$this->buildPackag
a320 65 4d 61 70 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 6d 61 69 6e eMap($installationManager,.$main
a340 50 61 63 6b 61 67 65 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 Package,.$localRepo->getCanonica
a360 6c 50 61 63 6b 61 67 65 73 28 29 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 24 74 68 69 73 lPackages());.$autoloads.=.$this
a380 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d ->parseAutoloads($packageMap,.$m
a3a0 61 69 6e 50 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 3d 3d 20 66 ainPackage,.$this->devMode.===.f
a3c0 61 6c 73 65 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 alse);....foreach.($autoloads['p
a3e0 73 72 2d 30 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 sr-0'].as.$namespace.=>.$paths).
a400 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 {.$exportedPaths.=.array();.fore
a420 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f 72 74 65 ach.($paths.as.$path).{.$exporte
a440 64 50 61 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 dPaths[].=.$this->getPathCode($f
a460 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 ilesystem,.$basePath,.$vendorPat
a480 68 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 20 76 h,.$path);.}.$exportedPrefix.=.v
a4a0 61 72 5f 65 78 70 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 6e 61 ar_export($namespace,.true);.$na
a4c0 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 mespacesFile..=."....$exportedPr
a4e0 65 66 69 78 20 3d 3e 20 22 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 61 efix.=>.";.$namespacesFile..=."a
a500 72 72 61 79 28 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 rray(".implode(',.',.$exportedPa
a520 74 68 73 29 2e 22 29 2c 5c 6e 22 3b 0a 7d 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e ths)."),\n";.}.$namespacesFile..
a540 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 =.");\n";....foreach.($autoloads
a560 5b 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 ['psr-4'].as.$namespace.=>.$path
a580 73 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 s).{.$exportedPaths.=.array();.f
a5a0 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f oreach.($paths.as.$path).{.$expo
a5c0 72 74 65 64 50 61 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 rtedPaths[].=.$this->getPathCode
a5e0 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 ($filesystem,.$basePath,.$vendor
a600 50 61 74 68 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 Path,.$path);.}.$exportedPrefix.
a620 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a =.var_export($namespace,.true);.
a640 24 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 $psr4File..=."....$exportedPrefi
a660 78 20 3d 3e 20 22 3b 0a 24 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 61 72 72 61 79 28 22 2e 69 6d x.=>.";.$psr4File..=."array(".im
a680 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 29 2e 22 29 2c 5c plode(',.',.$exportedPaths)."),\
a6a0 6e 22 3b 0a 7d 0a 24 70 73 72 34 46 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 24 63 6c 61 n";.}.$psr4File..=.");\n";..$cla
a6c0 73 73 6d 61 70 46 69 6c 65 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 ssmapFile.=.<<<EOF.<?php..//.aut
a6e0 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 oload_classmap.php.@generated.by
a700 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 .Composer..\$vendorDir.=.$vendor
a720 50 61 74 68 43 6f 64 65 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 PathCode52;.\$baseDir.=.$appBase
a740 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a DirCode;..return.array(..EOF;...
a760 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 6d 61 69 6e 41 .$targetDirLoader.=.null;.$mainA
a780 75 74 6f 6c 6f 61 64 20 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c utoload.=.$mainPackage->getAutol
a7a0 6f 61 64 28 29 3b 0a 69 66 20 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 oad();.if.($mainPackage->getTarg
a7c0 65 74 44 69 72 28 29 20 26 26 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b etDir().&&.!empty($mainAutoload[
a7e0 27 70 73 72 2d 30 27 5d 29 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 73 75 62 73 74 72 5f 63 6f 'psr-0'])).{.$levels.=.substr_co
a800 75 6e 74 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 unt($filesystem->normalizePath($
a820 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 2c 20 27 2f mainPackage->getTargetDir()),.'/
a840 27 29 20 2b 20 31 3b 0a 24 70 72 65 66 69 78 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 ').+.1;.$prefixes.=.implode(',.'
a860 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 70 72 65 66 69 78 29 20 7b ,.array_map(function.($prefix).{
a880 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 70 72 65 66 69 78 2c 20 74 72 75 65 .return.var_export($prefix,.true
a8a0 29 3b 0a 7d 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 );.},.array_keys($mainAutoload['
a8c0 70 73 72 2d 30 27 5d 29 29 29 3b 0a 24 62 61 73 65 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 psr-0'])));.$baseDirFromTargetDi
a8e0 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 rCode.=.$filesystem->findShortes
a900 74 50 61 74 68 43 6f 64 65 28 24 74 61 72 67 65 74 44 69 72 2c 20 24 62 61 73 65 50 61 74 68 2c tPathCode($targetDir,.$basePath,
a920 20 74 72 75 65 29 3b 0a 0a 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 20 3d 20 3c 3c 3c 45 .true);..$targetDirLoader.=.<<<E
a940 4f 46 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 OF......public.static.function.a
a960 75 74 6f 6c 6f 61 64 28 5c 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 5c utoload(\$class).....{.........\
a980 24 64 69 72 20 3d 20 24 62 61 73 65 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 72 43 6f 64 65 $dir.=.$baseDirFromTargetDirCode
a9a0 20 2e 20 27 2f 27 3b 0a 20 20 20 20 20 20 20 20 5c 24 70 72 65 66 69 78 65 73 20 3d 20 61 72 72 ...'/';.........\$prefixes.=.arr
a9c0 61 79 28 24 70 72 65 66 69 78 65 73 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 ay($prefixes);.........foreach.(
a9e0 5c 24 70 72 65 66 69 78 65 73 20 61 73 20 5c 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 \$prefixes.as.\$prefix).{.......
aa00 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 5c 24 63 6c 61 73 73 2c 20 ......if.(0.!==.strpos(\$class,.
aa20 5c 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e \$prefix)).{.................con
aa40 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 tinue;.............}............
aa60 20 5c 24 70 61 74 68 20 3d 20 5c 24 64 69 72 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 61 .\$path.=.\$dir...implode('/',.a
aa80 72 72 61 79 5f 73 6c 69 63 65 28 65 78 70 6c 6f 64 65 28 27 5c 5c 5c 5c 27 2c 20 5c 24 63 6c 61 rray_slice(explode('\\\\',.\$cla
aaa0 73 73 29 2c 20 24 6c 65 76 65 6c 73 29 29 2e 27 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 ss),.$levels)).'.php';..........
aac0 20 20 20 69 66 20 28 21 5c 24 70 61 74 68 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f ...if.(!\$path.=.stream_resolve_
aae0 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 5c 24 70 61 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 include_path(\$path)).{.........
ab00 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 ........return.false;...........
ab20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 70 61 74 68 3b 0a ..}.............require.\$path;.
ab40 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 .............return.true;.......
ab60 20 20 7d 0a 20 20 20 20 7d 0a 0a 45 4f 46 3b 0a 7d 0a 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 ..}.....}..EOF;.}..$blacklist.=.
ab80 6e 75 6c 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 null;.if.(!empty($autoloads['exc
aba0 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c lude-from-classmap'])).{.$blackl
abc0 69 73 74 20 3d 20 27 7b 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 61 75 74 6f 6c ist.=.'{('...implode('|',.$autol
abe0 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 20 2e oads['exclude-from-classmap'])..
ac00 20 27 29 7d 27 3b 0a 7d 0a 0a 0a 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b .')}';.}....$classMap.=.array();
ac20 0a 69 66 20 28 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 6e 61 6d 65 73 .if.($scanPsr0Packages).{.$names
ac40 70 61 63 65 73 54 6f 53 63 61 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 pacesToScan.=.array();....foreac
ac60 68 20 28 61 72 72 61 79 28 27 70 73 72 2d 30 27 2c 20 27 70 73 72 2d 34 27 29 20 61 73 20 24 70 h.(array('psr-0',.'psr-4').as.$p
ac80 73 72 54 79 70 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 24 70 srType).{.foreach.($autoloads[$p
aca0 73 72 54 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 srType].as.$namespace.=>.$paths)
acc0 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 5b 24 6e 61 6d 65 73 70 61 63 65 5d .{.$namespacesToScan[$namespace]
ace0 5b 5d 20 3d 20 61 72 72 61 79 28 27 70 61 74 68 73 27 20 3d 3e 20 24 70 61 74 68 73 2c 20 27 74 [].=.array('paths'.=>.$paths,.'t
ad00 79 70 65 27 20 3d 3e 20 24 70 73 72 54 79 70 65 29 3b 0a 7d 0a 7d 0a 0a 6b 72 73 6f 72 74 28 24 ype'.=>.$psrType);.}.}..krsort($
ad20 6e 61 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 namespacesToScan);..foreach.($na
ad40 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 mespacesToScan.as.$namespace.=>.
ad60 24 67 72 6f 75 70 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 67 72 6f 75 70 73 20 61 73 20 24 $groups).{.foreach.($groups.as.$
ad80 67 72 6f 75 70 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 67 72 6f 75 70 5b 27 70 61 74 68 73 27 group).{.foreach.($group['paths'
ada0 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 24 64 69 72 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d ].as.$dir).{.$dir.=.$filesystem-
adc0 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 >normalizePath($filesystem->isAb
ade0 73 6f 6c 75 74 65 50 61 74 68 28 24 64 69 72 29 20 3f 20 24 64 69 72 20 3a 20 24 62 61 73 65 50 solutePath($dir).?.$dir.:.$baseP
ae00 61 74 68 2e 27 2f 27 2e 24 64 69 72 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 ath.'/'.$dir);.if.(!is_dir($dir)
ae20 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 ).{.continue;.}..$namespaceFilte
ae40 72 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3d 3d 20 27 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 r.=.$namespace.===.''.?.null.:.$
ae60 6e 61 6d 65 73 70 61 63 65 3b 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 61 64 namespace;.$classMap.=.$this->ad
ae80 64 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 dClassMapCode($filesystem,.$base
aea0 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c Path,.$vendorPath,.$dir,.$blackl
aec0 69 73 74 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 2c 20 24 63 6c 61 73 73 4d 61 70 ist,.$namespaceFilter,.$classMap
aee0 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b );.}.}.}.}..foreach.($autoloads[
af00 27 63 6c 61 73 73 6d 61 70 27 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 24 63 6c 61 73 73 4d 61 70 'classmap'].as.$dir).{.$classMap
af20 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 .=.$this->addClassMapCode($files
af40 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 ystem,.$basePath,.$vendorPath,.$
af60 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 6e 75 6c 6c 2c 20 24 63 6c 61 73 73 4d 61 70 dir,.$blacklist,.null,.$classMap
af80 29 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 66 6f 72 65 61 63 68 20 );.}..ksort($classMap);.foreach.
afa0 28 24 63 6c 61 73 73 4d 61 70 20 61 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 63 6f 64 65 29 20 7b ($classMap.as.$class.=>.$code).{
afc0 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 27 20 20 20 20 27 2e 76 61 72 5f 65 78 70 .$classmapFile..=.'....'.var_exp
afe0 6f 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 29 2e 27 20 3d 3e 20 27 2e 24 63 6f 64 65 3b 0a ort($class,.true).'.=>.'.$code;.
b000 7d 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 69 66 20 28 }.$classmapFile..=.");\n";..if.(
b020 21 24 73 75 66 66 69 78 29 20 7b 0a 69 66 20 28 21 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 !$suffix).{.if.(!$config->get('a
b040 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c utoloader-suffix').&&.is_readabl
b060 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 20 e($vendorPath.'/autoload.php')).
b080 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 {.$content.=.file_get_contents($
b0a0 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 3b 0a 69 66 20 vendorPath.'/autoload.php');.if.
b0c0 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 (preg_match('{ComposerAutoloader
b0e0 49 6e 69 74 28 5b 5e 3a 5c 73 5d 2b 29 3a 3a 7d 27 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 6d 61 Init([^:\s]+)::}',.$content,.$ma
b100 74 63 68 29 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d tch)).{.$suffix.=.$match[1];.}.}
b120 0a 0a 69 66 20 28 21 24 73 75 66 66 69 78 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 24 63 6f 6e ..if.(!$suffix).{.$suffix.=.$con
b140 66 69 67 2d 3e 67 65 74 28 27 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 29 20 3f 3a fig->get('autoloader-suffix').?:
b160 20 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 66 69 6c .md5(uniqid('',.true));.}.}..fil
b180 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f e_put_contents($targetDir.'/auto
b1a0 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 load_namespaces.php',.$namespace
b1c0 73 46 69 6c 65 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 sFile);.file_put_contents($targe
b1e0 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 2c 20 24 70 73 72 34 tDir.'/autoload_psr4.php',.$psr4
b200 46 69 6c 65 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 File);.file_put_contents($target
b220 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 2c 20 24 63 Dir.'/autoload_classmap.php',.$c
b240 6c 61 73 73 6d 61 70 46 69 6c 65 29 3b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 lassmapFile);.$includePathFilePa
b260 74 68 20 3d 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e th.=.$targetDir.'/include_paths.
b280 70 68 70 27 3b 0a 69 66 20 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e php';.if.($includePathFileConten
b2a0 74 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 ts.=.$this->getIncludePathsFile(
b2c0 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 $packageMap,.$filesystem,.$baseP
b2e0 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 ath,.$vendorPath,.$vendorPathCod
b300 65 35 32 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 e52,.$appBaseDirCode)).{.file_pu
b320 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 2c t_contents($includePathFilePath,
b340 20 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c .$includePathFileContents);.}.el
b360 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 seif.(file_exists($includePathFi
b380 6c 65 50 61 74 68 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 lePath)).{.unlink($includePathFi
b3a0 6c 65 50 61 74 68 29 3b 0a 7d 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 lePath);.}.$includeFilesFilePath
b3c0 20 3d 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 .=.$targetDir.'/autoload_files.p
b3e0 68 70 27 3b 0a 69 66 20 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e hp';.if.($includeFilesFileConten
b400 74 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 ts.=.$this->getIncludeFilesFile(
b420 24 61 75 74 6f 6c 6f 61 64 73 5b 27 66 69 6c 65 73 27 5d 2c 20 24 66 69 6c 65 73 79 73 74 65 6d $autoloads['files'],.$filesystem
b440 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f ,.$basePath,.$vendorPath,.$vendo
b460 72 50 61 74 68 43 6f 64 65 35 32 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 29 20 7b rPathCode52,.$appBaseDirCode)).{
b480 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 .file_put_contents($includeFiles
b4a0 46 69 6c 65 50 61 74 68 2c 20 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 FilePath,.$includeFilesFileConte
b4c0 6e 74 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 63 nts);.}.elseif.(file_exists($inc
b4e0 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 69 6e ludeFilesFilePath)).{.unlink($in
b500 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f cludeFilesFilePath);.}.file_put_
b520 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 contents($targetDir.'/autoload_s
b540 74 61 74 69 63 2e 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 61 74 69 63 46 69 6c 65 tatic.php',.$this->getStaticFile
b560 28 24 73 75 66 66 69 78 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 50 61 74 ($suffix,.$targetDir,.$vendorPat
b580 68 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 h,.$basePath,.$staticPhpVersion)
b5a0 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 76 65 6e 64 6f 72 50 61 74 68 );.file_put_contents($vendorPath
b5c0 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 6f .'/autoload.php',.$this->getAuto
b5e0 6c 6f 61 64 46 69 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 loadFile($vendorPathToTargetDirC
b600 6f 64 65 2c 20 24 73 75 66 66 69 78 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 ode,.$suffix));.file_put_content
b620 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 s($targetDir.'/autoload_real.php
b640 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 74 72 ',.$this->getAutoloadRealFile(tr
b660 75 65 2c 20 28 62 6f 6f 6c 29 20 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 ue,.(bool).$includePathFileConte
b680 6e 74 73 2c 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 2c 20 28 62 6f 6f 6c 29 20 24 69 nts,.$targetDirLoader,.(bool).$i
b6a0 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 24 76 65 6e 64 6f 72 ncludeFilesFileContents,.$vendor
b6c0 50 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 PathCode,.$appBaseDirCode,.$suff
b6e0 69 78 2c 20 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 70 72 65 70 ix,.$useGlobalIncludePath,.$prep
b700 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e endAutoloader,.$staticPhpVersion
b720 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 61 66 65 43 6f 70 79 28 5f 5f 44 49 52 5f 5f 2e 27 2f 43 ));..$this->safeCopy(__DIR__.'/C
b740 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 43 6c lassLoader.php',.$targetDir.'/Cl
b760 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 29 3b 0a 24 74 68 69 73 2d 3e 73 61 66 65 43 6f 70 79 assLoader.php');.$this->safeCopy
b780 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 4c 49 43 45 4e 53 45 27 2c 20 24 74 (__DIR__.'/../../../LICENSE',.$t
b7a0 61 72 67 65 74 44 69 72 2e 27 2f 4c 49 43 45 4e 53 45 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 argetDir.'/LICENSE');..if.($this
b7c0 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 ->runScripts).{.$this->eventDisp
b7e0 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 atcher->dispatchScript(ScriptEve
b800 6e 74 73 3a 3a 50 4f 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 74 68 69 73 2d 3e nts::POST_AUTOLOAD_DUMP,.$this->
b820 64 65 76 4d 6f 64 65 2c 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 6f 70 74 69 6d 69 devMode,.array(),.array(.'optimi
b840 7a 65 27 20 3d 3e 20 28 62 6f 6f 6c 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 2c ze'.=>.(bool).$scanPsr0Packages,
b860 0a 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c .));.}.}..private.function.addCl
b880 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 assMapCode($filesystem,.$basePat
b8a0 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 h,.$vendorPath,.$dir,.$blacklist
b8c0 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 20 3d 20 6e 75 6c 6c .=.null,.$namespaceFilter.=.null
b8e0 2c 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 ,.array.$classMap.=.array()).{.f
b900 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 oreach.($this->generateClassMap(
b920 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 $dir,.$blacklist,.$namespaceFilt
b940 65 72 29 20 61 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 43 er).as.$class.=>.$path).{.$pathC
b960 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 ode.=.$this->getPathCode($filesy
b980 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 stem,.$basePath,.$vendorPath,.$p
b9a0 61 74 68 29 2e 22 2c 5c 6e 22 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6c 61 73 73 4d 61 70 ath).",\n";.if.(!isset($classMap
b9c0 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 3d [$class])).{.$classMap[$class].=
b9e0 20 24 70 61 74 68 43 6f 64 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 .$pathCode;.}.elseif.($this->io.
ba00 26 26 20 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 21 3d 3d 20 24 70 61 74 68 43 6f &&.$classMap[$class].!==.$pathCo
ba20 64 65 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2f 28 74 65 73 74 7c 66 69 78 74 75 de.&&.!preg_match('{/(test|fixtu
ba40 72 65 7c 65 78 61 6d 70 6c 65 7c 73 74 75 62 29 73 3f 2f 7d 69 27 2c 20 73 74 72 74 72 28 24 63 re|example|stub)s?/}i',.strtr($c
ba60 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 20 27 2e 24 70 61 74 68 2c 20 27 5c 5c 27 2c lassMap[$class].'.'.$path,.'\\',
ba80 20 27 2f 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 .'/'))).{.$this->io->writeError(
baa0 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c .'<warning>Warning:.Ambiguous.cl
bac0 61 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 22 27 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 ass.resolution,."'.$class.'"'..'
bae0 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 62 6f 74 68 20 22 27 2e 73 74 72 5f 72 65 70 6c 61 63 .was.found.in.both."'.str_replac
bb00 65 28 61 72 72 61 79 28 27 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 5c 27 27 2c 20 22 27 2c 5c 6e e(array('$vendorDir...\'',."',\n
bb20 22 29 2c 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 27 27 29 2c 20 24 63 6c 61 "),.array($vendorPath,.''),.$cla
bb40 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 2e 27 22 20 61 6e 64 20 22 27 2e 24 70 61 74 68 2e 27 ssMap[$class]).'".and."'.$path.'
bb60 22 2c 20 74 68 65 20 66 69 72 73 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e ",.the.first.will.be.used.</warn
bb80 69 6e 67 3e 27 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 4d 61 70 3b 0a ing>'.);.}.}..return.$classMap;.
bba0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 43 6c 61 73 }..private.function.generateClas
bbc0 73 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 6e sMap($dir,.$blacklist.=.null,.$n
bbe0 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 73 68 6f 77 41 6d 62 69 amespaceFilter.=.null,.$showAmbi
bc00 67 75 6f 75 73 57 61 72 6e 69 6e 67 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 43 6c guousWarning.=.true).{.return.Cl
bc20 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 3a 3a 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 2c assMapGenerator::createMap($dir,
bc40 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 24 73 68 6f 77 41 6d 62 69 67 75 6f 75 73 57 61 72 6e 69 .$blacklist,.$showAmbiguousWarni
bc60 6e 67 20 3f 20 24 74 68 69 73 2d 3e 69 6f 20 3a 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 ng.?.$this->io.:.null,.$namespac
bc80 65 46 69 6c 74 65 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 eFilter);.}..public.function.bui
bca0 6c 64 50 61 63 6b 61 67 65 4d 61 70 28 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 ldPackageMap(InstallationManager
bcc0 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 50 61 63 6b 61 67 65 49 6e .$installationManager,.PackageIn
bce0 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 70 61 63 terface.$mainPackage,.array.$pac
bd00 6b 61 67 65 73 29 0a 7b 0a 0a 20 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 61 kages).{...$packageMap.=.array(a
bd20 72 72 61 79 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 27 27 29 29 3b 0a 0a 66 6f 72 65 61 63 rray($mainPackage,.''));..foreac
bd40 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 h.($packages.as.$package).{.if.(
bd60 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 $package.instanceof.AliasPackage
bd80 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 ).{.continue;.}.$this->validateP
bda0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 4d 61 70 5b 5d ackage($package);..$packageMap[]
bdc0 20 3d 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f .=.array(.$package,.$installatio
bde0 6e 4d 61 6e 61 67 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 nManager->getInstallPath($packag
be00 65 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a e),.);.}..return.$packageMap;.}.
be20 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 ......protected.function.validat
be40 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 ePackage(PackageInterface.$packa
be60 67 65 29 0a 7b 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 ge).{.$autoload.=.$package->getA
be80 75 74 6f 6c 6f 61 64 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 5b utoload();.if.(!empty($autoload[
bea0 27 70 73 72 2d 34 27 5d 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 'psr-4']).&&.null.!==.$package->
bec0 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 getTargetDir()).{.$name.=.$packa
bee0 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 ge->getName();.$package->getTarg
bf00 65 74 44 69 72 28 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d etDir();.throw.new.\InvalidArgum
bf20 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 50 53 52 2d 34 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 entException("PSR-4.autoloading.
bf40 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 74 61 72 67 65 74 2d is.incompatible.with.the.target-
bf60 64 69 72 20 70 72 6f 70 65 72 74 79 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 74 61 72 67 65 74 2d dir.property,.remove.the.target-
bf80 64 69 72 20 69 6e 20 70 61 63 6b 61 67 65 20 27 24 6e 61 6d 65 27 2e 22 29 3b 0a 7d 0a 69 66 20 dir.in.package.'$name'.");.}.if.
bfa0 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 5d 29 29 20 7b 0a 66 (!empty($autoload['psr-4'])).{.f
bfc0 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e oreach.($autoload['psr-4'].as.$n
bfe0 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 70 amespace.=>.$dirs).{.if.($namesp
c000 61 63 65 20 21 3d 3d 20 27 27 20 26 26 20 27 5c 5c 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 6e ace.!==.''.&&.'\\'.!==.substr($n
c020 61 6d 65 73 70 61 63 65 2c 20 2d 31 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 amespace,.-1)).{.throw.new.\Inva
c040 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 70 73 72 2d 34 20 6e 61 6d 65 lidArgumentException("psr-4.name
c060 73 70 61 63 65 73 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 spaces.must.end.with.a.namespace
c080 20 73 65 70 61 72 61 74 6f 72 2c 20 27 24 6e 61 6d 65 73 70 61 63 65 27 20 64 6f 65 73 20 6e 6f .separator,.'$namespace'.does.no
c0a0 74 2c 20 75 73 65 20 27 24 6e 61 6d 65 73 70 61 63 65 5c 5c 27 2e 22 29 3b 0a 7d 0a 7d 0a 7d 0a t,.use.'$namespace\\'.");.}.}.}.
c0c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 }..........public.function.parse
c0e0 41 75 74 6f 6c 6f 61 64 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 63 Autoloads(array.$packageMap,.Pac
c100 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 24 66 69 6c kageInterface.$mainPackage,.$fil
c120 74 65 72 4f 75 74 52 65 71 75 69 72 65 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 terOutRequireDevPackages.=.false
c140 29 0a 7b 0a 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 5f 73 68 69 66 ).{.$mainPackageMap.=.array_shif
c160 74 28 24 70 61 63 6b 61 67 65 4d 61 70 29 3b 0a 69 66 20 28 24 66 69 6c 74 65 72 4f 75 74 52 65 t($packageMap);.if.($filterOutRe
c180 71 75 69 72 65 44 65 76 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 4d 61 70 20 quireDevPackages).{.$packageMap.
c1a0 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 50 61 63 6b 61 67 65 4d 61 70 28 24 70 61 63 6b 61 =.$this->filterPackageMap($packa
c1c0 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 73 6f 72 74 65 64 50 geMap,.$mainPackage);.}.$sortedP
c1e0 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 73 6f 72 74 50 61 63 6b 61 67 65 4d 61 ackageMap.=.$this->sortPackageMa
c200 70 28 24 70 61 63 6b 61 67 65 4d 61 70 29 3b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 p($packageMap);.$sortedPackageMa
c220 70 5b 5d 20 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 3b 0a 61 72 72 61 79 5f 75 6e 73 p[].=.$mainPackageMap;.array_uns
c240 68 69 66 74 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 hift($packageMap,.$mainPackageMa
c260 70 29 3b 0a 0a 24 70 73 72 30 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 p);..$psr0.=.$this->parseAutoloa
c280 64 73 54 79 70 65 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 27 70 73 72 2d 30 27 2c 20 24 6d 61 dsType($packageMap,.'psr-0',.$ma
c2a0 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 70 73 72 34 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 inPackage);.$psr4.=.$this->parse
c2c0 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 27 70 73 72 2d AutoloadsType($packageMap,.'psr-
c2e0 34 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 63 6c 61 73 73 6d 61 70 20 3d 20 24 4',.$mainPackage);.$classmap.=.$
c300 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 61 72 72 61 79 5f 72 this->parseAutoloadsType(array_r
c320 65 76 65 72 73 65 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 29 2c 20 27 63 6c 61 73 everse($sortedPackageMap),.'clas
c340 73 6d 61 70 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 66 69 6c 65 73 20 3d 20 24 smap',.$mainPackage);.$files.=.$
c360 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 73 6f 72 74 65 64 this->parseAutoloadsType($sorted
c380 50 61 63 6b 61 67 65 4d 61 70 2c 20 27 66 69 6c 65 73 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 PackageMap,.'files',.$mainPackag
c3a0 65 29 3b 0a 24 65 78 63 6c 75 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c e);.$exclude.=.$this->parseAutol
c3c0 6f 61 64 73 54 79 70 65 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 2c 20 27 65 78 63 oadsType($sortedPackageMap,.'exc
c3e0 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 lude-from-classmap',.$mainPackag
c400 65 29 3b 0a 0a 6b 72 73 6f 72 74 28 24 70 73 72 30 29 3b 0a 6b 72 73 6f 72 74 28 24 70 73 72 34 e);..krsort($psr0);.krsort($psr4
c420 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 70 73 72 2d 30 27 20 3d 3e 20 24 70 73 );..return.array(.'psr-0'.=>.$ps
c440 72 30 2c 0a 27 70 73 72 2d 34 27 20 3d 3e 20 24 70 73 72 34 2c 0a 27 63 6c 61 73 73 6d 61 70 27 r0,.'psr-4'.=>.$psr4,.'classmap'
c460 20 3d 3e 20 24 63 6c 61 73 73 6d 61 70 2c 0a 27 66 69 6c 65 73 27 20 3d 3e 20 24 66 69 6c 65 73 .=>.$classmap,.'files'.=>.$files
c480 2c 0a 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 24 65 78 ,.'exclude-from-classmap'.=>.$ex
c4a0 63 6c 75 64 65 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 clude,.);.}........public.functi
c4c0 6f 6e 20 63 72 65 61 74 65 4c 6f 61 64 65 72 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 73 on.createLoader(array.$autoloads
c4e0 29 0a 7b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b ).{.$loader.=.new.ClassLoader();
c500 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 29 ..if.(isset($autoloads['psr-0'])
c520 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d ).{.foreach.($autoloads['psr-0']
c540 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 .as.$namespace.=>.$path).{.$load
c560 65 72 2d 3e 61 64 64 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a er->add($namespace,.$path);.}.}.
c580 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 29 29 .if.(isset($autoloads['psr-4']))
c5a0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 20 .{.foreach.($autoloads['psr-4'].
c5c0 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 as.$namespace.=>.$path).{.$loade
c5e0 72 2d 3e 61 64 64 50 73 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d r->addPsr4($namespace,.$path);.}
c600 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d .}..if.(isset($autoloads['classm
c620 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 ap'])).{.$blacklist.=.null;.if.(
c640 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d !empty($autoloads['exclude-from-
c660 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 27 7b 28 27 classmap'])).{.$blacklist.=.'{('
c680 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c ...implode('|',.$autoloads['excl
c6a0 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 20 2e 20 27 29 7d 27 3b 0a 7d 0a 0a ude-from-classmap'])...')}';.}..
c6c0 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 20 foreach.($autoloads['classmap'].
c6e0 61 73 20 24 64 69 72 29 20 7b 0a 74 72 79 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 as.$dir).{.try.{.$loader->addCla
c700 73 73 4d 61 70 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 ssMap($this->generateClassMap($d
c720 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 6e 75 6c 6c 2c 20 66 61 6c 73 65 29 29 3b 0a 7d ir,.$blacklist,.null,.false));.}
c740 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a .catch.(\RuntimeException.$e).{.
c760 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e $this->io->writeError('<warning>
c780 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 '.$e->getMessage().'</warning>')
c7a0 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 70 72 6f 74 ;.}.}.}..return.$loader;.}..prot
c7c0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 ected.function.getIncludePathsFi
c7e0 6c 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 46 69 6c 65 73 79 73 74 65 6d le(array.$packageMap,.Filesystem
c800 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 .$filesystem,.$basePath,.$vendor
c820 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 Path,.$vendorPathCode,.$appBaseD
c840 69 72 43 6f 64 65 29 0a 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 irCode).{.$includePaths.=.array(
c860 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 );..foreach.($packageMap.as.$ite
c880 6d 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 m).{.list($package,.$installPath
c8a0 29 20 3d 20 24 69 74 65 6d 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 ).=.$item;..if.(null.!==.$packag
c8c0 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 70 61 63 e->getTargetDir().&&.strlen($pac
c8e0 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 20 3e 20 30 29 20 7b 0a 24 69 6e kage->getTargetDir()).>.0).{.$in
c900 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c stallPath.=.substr($installPath,
c920 20 30 2c 20 2d 73 74 72 6c 65 6e 28 27 2f 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 .0,.-strlen('/'.$package->getTar
c940 67 65 74 44 69 72 28 29 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 getDir()));.}..foreach.($package
c960 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 20 61 73 20 24 69 6e 63 6c 75 64 65 50 ->getIncludePaths().as.$includeP
c980 61 74 68 29 20 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 74 72 69 6d 28 24 69 6e 63 6c ath).{.$includePath.=.trim($incl
c9a0 75 64 65 50 61 74 68 2c 20 27 2f 27 29 3b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d udePath,.'/');.$includePaths[].=
c9c0 20 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3f 20 24 69 6e 63 6c 75 64 65 50 .empty($installPath).?.$includeP
c9e0 61 74 68 20 3a 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 69 6e 63 6c 75 64 65 50 ath.:.$installPath.'/'.$includeP
ca00 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 20 7b 0a ath;.}.}..if.(!$includePaths).{.
ca20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 43 6f 64 65 20 3d 20 27 return;.}..$includePathsCode.=.'
ca40 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 61 73 20 24 70 61 ';.foreach.($includePaths.as.$pa
ca60 74 68 29 20 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 43 6f 64 65 20 2e 3d 20 22 20 20 20 20 th).{.$includePathsCode..=."....
ca80 22 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 "...$this->getPathCode($filesyst
caa0 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 em,.$basePath,.$vendorPath,.$pat
cac0 68 29 20 2e 20 22 2c 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 h)...",\n";.}..return.<<<EOF.<?p
cae0 68 70 0a 0a 2f 2f 20 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 20 40 67 65 6e 65 72 61 hp..//.include_paths.php.@genera
cb00 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 ted.by.Composer..\$vendorDir.=.$
cb20 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 vendorPathCode;.\$baseDir.=.$app
cb40 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 69 6e 63 BaseDirCode;..return.array(.$inc
cb60 6c 75 64 65 50 61 74 68 73 43 6f 64 65 29 3b 0a 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 ludePathsCode);..EOF;.}..protect
cb80 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 ed.function.getIncludeFilesFile(
cba0 61 72 72 61 79 20 24 66 69 6c 65 73 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 array.$files,.Filesystem.$filesy
cbc0 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 stem,.$basePath,.$vendorPath,.$v
cbe0 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 0a endorPathCode,.$appBaseDirCode).
cc00 7b 0a 24 66 69 6c 65 73 43 6f 64 65 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c {.$filesCode.=.'';.foreach.($fil
cc20 65 73 20 61 73 20 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 66 75 6e 63 74 69 es.as.$fileIdentifier.=>.$functi
cc40 6f 6e 46 69 6c 65 29 20 7b 0a 24 66 69 6c 65 73 43 6f 64 65 20 2e 3d 20 27 20 20 20 20 27 20 2e onFile).{.$filesCode..=.'....'..
cc60 20 76 61 72 5f 65 78 70 6f 72 74 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 74 72 75 .var_export($fileIdentifier,.tru
cc80 65 29 20 2e 20 27 20 3d 3e 20 27 0a 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 e)...'.=>.'...$this->getPathCode
cca0 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 ($filesystem,.$basePath,.$vendor
ccc0 50 61 74 68 2c 20 24 66 75 6e 63 74 69 6f 6e 46 69 6c 65 29 20 2e 20 22 2c 5c 6e 22 3b 0a 7d 0a Path,.$functionFile)...",\n";.}.
cce0 0a 69 66 20 28 21 24 66 69 6c 65 73 43 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 .if.(!$filesCode).{.return.false
cd00 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 ;.}..return.<<<EOF.<?php..//.aut
cd20 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f oload_files.php.@generated.by.Co
cd40 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 mposer..\$vendorDir.=.$vendorPat
cd60 68 43 6f 64 65 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f hCode;.\$baseDir.=.$appBaseDirCo
cd80 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 66 69 6c 65 73 43 6f 64 65 29 3b 0a de;..return.array(.$filesCode);.
cda0 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 .EOF;.}..protected.function.getP
cdc0 61 74 68 43 6f 64 65 28 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 athCode(Filesystem.$filesystem,.
cde0 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 0a 7b $basePath,.$vendorPath,.$path).{
ce00 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 .if.(!$filesystem->isAbsolutePat
ce20 68 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 62 61 73 65 50 61 74 68 20 2e 20 h($path)).{.$path.=.$basePath...
ce40 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 24 70 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 '/'...$path;.}.$path.=.$filesyst
ce60 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 24 62 61 73 65 em->normalizePath($path);..$base
ce80 44 69 72 20 3d 20 27 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 61 74 68 2e 27 2f 27 2c 20 Dir.=.'';.if.(strpos($path.'/',.
cea0 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 70 61 74 68 20 $vendorPath.'/').===.0).{.$path.
cec0 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 73 74 72 6c 65 6e 28 24 76 65 6e 64 6f 72 50 61 =.substr($path,.strlen($vendorPa
cee0 74 68 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 27 24 76 65 6e 64 6f 72 44 69 72 27 3b 0a 0a th));.$baseDir.=.'$vendorDir';..
cf00 69 66 20 28 24 70 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 62 61 73 65 44 69 72 20 if.($path.!==.false).{.$baseDir.
cf20 2e 3d 20 22 20 2e 20 22 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 66 69 .=."...";.}.}.else.{.$path.=.$fi
cf40 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 69 6c 65 73 79 73 lesystem->normalizePath($filesys
cf60 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 62 61 73 65 50 61 74 68 2c tem->findShortestPath($basePath,
cf80 20 24 70 61 74 68 2c 20 74 72 75 65 29 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d .$path,.true));.if.(!$filesystem
cfa0 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 ->isAbsolutePath($path)).{.$base
cfc0 44 69 72 20 3d 20 27 24 62 61 73 65 44 69 72 20 2e 20 27 3b 0a 24 70 61 74 68 20 3d 20 27 2f 27 Dir.=.'$baseDir...';.$path.=.'/'
cfe0 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f ...$path;.}.}..if.(preg_match('/
d000 5c 2e 70 68 61 72 2e 2b 24 2f 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 44 69 72 20 \.phar.+$/',.$path)).{.$baseDir.
d020 3d 20 22 27 70 68 61 72 3a 2f 2f 27 20 2e 20 22 20 2e 20 24 62 61 73 65 44 69 72 3b 0a 7d 0a 0a =."'phar://'..."...$baseDir;.}..
d040 72 65 74 75 72 6e 20 24 62 61 73 65 44 69 72 20 2e 20 28 28 24 70 61 74 68 20 21 3d 3d 20 66 61 return.$baseDir...(($path.!==.fa
d060 6c 73 65 29 20 3f 20 76 61 72 5f 65 78 70 6f 72 74 28 24 70 61 74 68 2c 20 74 72 75 65 29 20 3a lse).?.var_export($path,.true).:
d080 20 22 22 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 ."");.}..protected.function.getA
d0a0 75 74 6f 6c 6f 61 64 46 69 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 utoloadFile($vendorPathToTargetD
d0c0 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 29 0a 7b 0a 24 6c 61 73 74 43 68 61 72 20 3d 20 24 irCode,.$suffix).{.$lastChar.=.$
d0e0 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 5b 73 74 72 6c 65 6e vendorPathToTargetDirCode[strlen
d100 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 29 20 2d 20 31 ($vendorPathToTargetDirCode).-.1
d120 5d 3b 0a 69 66 20 28 22 27 22 20 3d 3d 3d 20 24 6c 61 73 74 43 68 61 72 20 7c 7c 20 27 22 27 20 ];.if.("'".===.$lastChar.||.'"'.
d140 3d 3d 3d 20 24 6c 61 73 74 43 68 61 72 29 20 7b 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 ===.$lastChar).{.$vendorPathToTa
d160 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 73 75 62 73 74 72 28 24 76 65 6e 64 6f 72 50 61 74 68 rgetDirCode.=.substr($vendorPath
d180 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 2c 20 30 2c 20 2d 31 29 2e 27 2f 61 75 74 6f 6c 6f ToTargetDirCode,.0,.-1).'/autolo
d1a0 61 64 5f 72 65 61 6c 2e 70 68 70 27 2e 24 6c 61 73 74 43 68 61 72 3b 0a 7d 20 65 6c 73 65 20 7b ad_real.php'.$lastChar;.}.else.{
d1c0 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 2e 3d 20 22 .$vendorPathToTargetDirCode..=."
d1e0 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 22 3b 0a 7d 0a 0a 72 65 74 ...'/autoload_real.php'";.}..ret
d200 75 72 6e 20 3c 3c 3c 41 55 54 4f 4c 4f 41 44 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f urn.<<<AUTOLOAD.<?php..//.autolo
d220 61 64 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 72 ad.php.@generated.by.Composer..r
d240 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 equire_once.$vendorPathToTargetD
d260 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 irCode;..return.ComposerAutoload
d280 65 72 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 0a 41 55 54 erInit$suffix::getLoader();..AUT
d2a0 4f 4c 4f 41 44 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 OLOAD;.}..protected.function.get
d2c0 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 24 75 73 65 43 6c 61 73 73 4d 61 70 2c 20 24 AutoloadRealFile($useClassMap,.$
d2e0 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 useIncludePath,.$targetDirLoader
d300 2c 20 24 75 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 ,.$useIncludeFiles,.$vendorPathC
d320 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 2c 20 24 ode,.$appBaseDirCode,.$suffix,.$
d340 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 70 72 65 70 65 6e 64 41 75 useGlobalIncludePath,.$prependAu
d360 74 6f 6c 6f 61 64 65 72 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 37 30 toloader,.$staticPhpVersion.=.70
d380 30 30 30 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 3c 3c 3c 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 000).{.$file.=.<<<HEADER.<?php..
d3a0 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 //.autoload_real.php.@generated.
d3c0 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c by.Composer..class.ComposerAutol
d3e0 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 oaderInit$suffix.{.....private.s
d400 74 61 74 69 63 20 5c 24 6c 6f 61 64 65 72 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 tatic.\$loader;......public.stat
d420 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 5c 24 63 6c ic.function.loadClassLoader(\$cl
d440 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 ass).....{.........if.('Composer
d460 5c 5c 41 75 74 6f 6c 6f 61 64 5c 5c 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d 3d 20 5c 24 63 \\Autoload\\ClassLoader'.===.\$c
d480 6c 61 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5f 5f 44 49 lass).{.............require.__DI
d4a0 52 5f 5f 20 2e 20 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 R__...'/ClassLoader.php';.......
d4c0 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e ..}.....}......public.static.fun
d4e0 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ction.getLoader().....{.........
d500 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 29 20 7b 0a 20 if.(null.!==.self::\$loader).{..
d520 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 ...........return.self::\$loader
d540 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 ;.........}..........spl_autoloa
d560 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f d_register(array('ComposerAutolo
d580 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 aderInit$suffix',.'loadClassLoad
d5a0 65 72 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 29 3b er'),.true,.$prependAutoloader);
d5c0 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 20 3d 20 5c 24 6c 6f 61 64 .........self::\$loader.=.\$load
d5e0 65 72 20 3d 20 6e 65 77 20 5c 5c 43 6f 6d 70 6f 73 65 72 5c 5c 41 75 74 6f 6c 6f 61 64 5c 5c 43 er.=.new.\\Composer\\Autoload\\C
d600 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f lassLoader();.........spl_autolo
d620 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 ad_unregister(array('ComposerAut
d640 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c oloaderInit$suffix',.'loadClassL
d660 6f 61 64 65 72 27 29 29 3b 0a 0a 0a 48 45 41 44 45 52 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 oader'));...HEADER;..if.($useInc
d680 6c 75 64 65 50 61 74 68 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 49 4e 43 4c 55 44 45 ludePath).{.$file..=.<<<'INCLUDE
d6a0 5f 50 41 54 48 27 0a 20 20 20 20 20 20 20 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 72 _PATH'.........$includePaths.=.r
d6c0 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 equire.__DIR__...'/include_paths
d6e0 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d .php';.........$includePaths[].=
d700 20 67 65 74 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 29 3b 0a 20 20 20 20 20 20 20 20 73 65 74 .get_include_path();.........set
d720 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 _include_path(implode(PATH_SEPAR
d740 41 54 4f 52 2c 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 29 3b 0a 0a 0a 49 4e 43 4c 55 44 45 ATOR,.$includePaths));...INCLUDE
d760 5f 50 41 54 48 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 53 54 41 54 49 43 5f 49 4e 49 _PATH;.}..$file..=.<<<STATIC_INI
d780 54 0a 20 20 20 20 20 20 20 20 5c 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 T.........\$useStaticLoader.=.PH
d7a0 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f P_VERSION_ID.>=.$staticPhpVersio
d7c0 6e 20 26 26 20 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 n.&&.!defined('HHVM_VERSION').&&
d7e0 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f .(!function_exists('zend_loader_
d800 66 69 6c 65 5f 65 6e 63 6f 64 65 64 27 29 20 7c 7c 20 21 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 file_encoded').||.!zend_loader_f
d820 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 5c 24 75 73 ile_encoded());.........if.(\$us
d840 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 eStaticLoader).{.............req
d860 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 uire_once.__DIR__...'/autoload_s
d880 74 61 74 69 63 2e 70 68 70 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 tatic.php';..............call_us
d8a0 65 72 5f 66 75 6e 63 28 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f er_func(\Composer\Autoload\Compo
d8c0 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 67 65 74 49 6e 69 74 69 61 6c serStaticInit$suffix::getInitial
d8e0 69 7a 65 72 28 5c 24 6c 6f 61 64 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 izer(\$loader));.........}.else.
d900 7b 0a 0a 53 54 41 54 49 43 5f 49 4e 49 54 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 61 {..STATIC_INIT;..if.(!$this->cla
d920 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c ssMapAuthoritative).{.$file..=.<
d940 3c 3c 27 50 53 52 30 34 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 <<'PSR04'.............$map.=.req
d960 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 uire.__DIR__...'/autoload_namesp
d980 61 63 65 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 aces.php';.............foreach.(
d9a0 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 20 $map.as.$namespace.=>.$path).{..
d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d ...............$loader->set($nam
d9e0 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 espace,.$path);.............}...
da00 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f ...........$map.=.require.__DIR_
da20 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 _...'/autoload_psr4.php';.......
da40 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 ......foreach.($map.as.$namespac
da60 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c e.=>.$path).{.................$l
da80 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 oader->setPsr4($namespace,.$path
daa0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 0a 50 53 52 30 34 3b 0a 7d 0a 0a 69 66 20 );.............}...PSR04;.}..if.
dac0 28 24 75 73 65 43 6c 61 73 73 4d 61 70 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c ($useClassMap).{.$file..=.<<<'CL
dae0 41 53 53 4d 41 50 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 ASSMAP'.............$classMap.=.
db00 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 require.__DIR__...'/autoload_cla
db20 73 73 6d 61 70 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6c 61 ssmap.php';.............if.($cla
db40 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 ssMap).{.................$loader
db60 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 ->addClassMap($classMap);.......
db80 20 20 20 20 20 20 7d 0a 0a 43 4c 41 53 53 4d 41 50 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 22 ......}..CLASSMAP;.}..$file..=."
dba0 20 20 20 20 20 20 20 20 7d 5c 6e 5c 6e 22 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 ........}\n\n";..if.($this->clas
dbc0 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c sMapAuthoritative).{.$file..=.<<
dbe0 3c 27 43 4c 41 53 53 4d 41 50 41 55 54 48 4f 52 49 54 41 54 49 56 45 27 0a 20 20 20 20 20 20 20 <'CLASSMAPAUTHORITATIVE'........
dc00 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 .$loader->setClassMapAuthoritati
dc20 76 65 28 74 72 75 65 29 3b 0a 0a 43 4c 41 53 53 4d 41 50 41 55 54 48 4f 52 49 54 41 54 49 56 45 ve(true);..CLASSMAPAUTHORITATIVE
dc40 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 70 63 75 29 20 7b 0a 24 61 70 63 75 50 72 65 ;.}..if.($this->apcu).{.$apcuPre
dc60 66 69 78 20 3d 20 73 75 62 73 74 72 28 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 6d 64 35 28 75 fix.=.substr(base64_encode(md5(u
dc80 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 2c 20 74 72 75 65 29 29 2c 20 30 2c 20 2d 33 29 3b niqid('',.true),.true)),.0,.-3);
dca0 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 41 50 43 55 0a 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 .$file..=.<<<APCU.........\$load
dcc0 65 72 2d 3e 73 65 74 41 70 63 75 50 72 65 66 69 78 28 27 24 61 70 63 75 50 72 65 66 69 78 27 29 er->setApcuPrefix('$apcuPrefix')
dce0 3b 0a 0a 41 50 43 55 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 ;..APCU;.}..if.($useGlobalInclud
dd00 65 50 61 74 68 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 49 4e 43 4c 55 44 45 50 41 54 ePath).{.$file..=.<<<'INCLUDEPAT
dd20 48 27 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 64 H'.........$loader->setUseInclud
dd40 65 50 61 74 68 28 74 72 75 65 29 3b 0a 0a 49 4e 43 4c 55 44 45 50 41 54 48 3b 0a 7d 0a 0a 69 66 ePath(true);..INCLUDEPATH;.}..if
dd60 20 28 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c .($targetDirLoader).{.$file..=.<
dd80 3c 3c 52 45 47 49 53 54 45 52 5f 54 41 52 47 45 54 5f 44 49 52 5f 41 55 54 4f 4c 4f 41 44 0a 20 <<REGISTER_TARGET_DIR_AUTOLOAD..
dda0 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 .......spl_autoload_register(arr
ddc0 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 ay('ComposerAutoloaderInit$suffi
dde0 78 27 2c 20 27 61 75 74 6f 6c 6f 61 64 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 0a 0a x',.'autoload'),.true,.true);...
de00 52 45 47 49 53 54 45 52 5f 54 41 52 47 45 54 5f 44 49 52 5f 41 55 54 4f 4c 4f 41 44 3b 0a 7d 0a REGISTER_TARGET_DIR_AUTOLOAD;.}.
de20 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 52 45 47 49 53 54 45 52 5f 4c 4f 41 44 45 52 0a 20 20 20 .$file..=.<<<REGISTER_LOADER....
de40 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 .....\$loader->register($prepend
de60 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 0a 0a 52 45 47 49 53 54 45 52 5f 4c 4f 41 44 45 52 3b 0a Autoloader);...REGISTER_LOADER;.
de80 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 29 20 7b 0a 24 66 69 6c 65 20 2e .if.($useIncludeFiles).{.$file..
dea0 3d 20 3c 3c 3c 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 0a 20 20 20 20 20 20 20 20 69 66 20 28 5c =.<<<INCLUDE_FILES.........if.(\
dec0 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $useStaticLoader).{.............
dee0 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f \$includeFiles.=.Composer\Autolo
df00 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 5c 24 ad\ComposerStaticInit$suffix::\$
df20 66 69 6c 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 files;.........}.else.{.........
df40 20 20 20 20 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 ....\$includeFiles.=.require.__D
df60 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 3b 0a 20 20 IR__...'/autoload_files.php';...
df80 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 5c 24 69 6e 63 6c 75 ......}.........foreach.(\$inclu
dfa0 64 65 46 69 6c 65 73 20 61 73 20 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 5c deFiles.as.\$fileIdentifier.=>.\
dfc0 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 73 65 72 52 65 71 $file).{.............composerReq
dfe0 75 69 72 65 24 73 75 66 66 69 78 28 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 5c 24 uire$suffix(\$fileIdentifier,.\$
e000 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 0a 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 file);.........}...INCLUDE_FILES
e020 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 4d 45 54 48 4f 44 5f 46 4f 4f 54 45 52 0a 20 ;.}..$file..=.<<<METHOD_FOOTER..
e040 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 5c 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 7d 0a 0a 4d .......return.\$loader;.....}..M
e060 45 54 48 4f 44 5f 46 4f 4f 54 45 52 3b 0a 0a 24 66 69 6c 65 20 2e 3d 20 24 74 61 72 67 65 74 44 ETHOD_FOOTER;..$file..=.$targetD
e080 69 72 4c 6f 61 64 65 72 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 29 irLoader;..if.($useIncludeFiles)
e0a0 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 46 4f 4f 54 45 52 0a 7d 0a 0a 66 .{.return.$file...<<<FOOTER.}..f
e0c0 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 24 73 75 66 66 69 78 28 5c unction.composerRequire$suffix(\
e0e0 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 5c 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 $fileIdentifier,.\$file).{.....i
e100 66 20 28 65 6d 70 74 79 28 5c 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 f.(empty(\$GLOBALS['__composer_a
e120 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 utoload_files'][\$fileIdentifier
e140 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 66 69 6c 65 3b 0a 0a 20 ])).{.........require.\$file;...
e160 20 20 20 20 20 20 20 5c 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 .......\$GLOBALS['__composer_aut
e180 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 oload_files'][\$fileIdentifier].
e1a0 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a 7d 0a 0a 72 65 74 75 =.true;.....}.}..FOOTER;.}..retu
e1c0 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 46 4f 4f 54 45 52 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a rn.$file...<<<FOOTER.}..FOOTER;.
e1e0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 69 63 46 }..protected.function.getStaticF
e200 69 6c 65 28 24 73 75 66 66 69 78 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 ile($suffix,.$targetDir,.$vendor
e220 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 2c 20 26 24 73 74 61 74 69 63 50 68 70 56 65 72 73 Path,.$basePath,.&$staticPhpVers
e240 69 6f 6e 29 0a 7b 0a 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 35 30 36 30 30 ion).{.$staticPhpVersion.=.50600
e260 3b 0a 0a 24 66 69 6c 65 20 3d 20 3c 3c 3c 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 ;..$file.=.<<<HEADER.<?php..//.a
e280 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 utoload_static.php.@generated.by
e2a0 20 43 6f 6d 70 6f 73 65 72 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 .Composer..namespace.Composer\Au
e2c0 74 6f 6c 6f 61 64 3b 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 toload;..class.ComposerStaticIni
e2e0 74 24 73 75 66 66 69 78 0a 7b 0a 0a 48 45 41 44 45 52 3b 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e t$suffix.{..HEADER;..$loader.=.n
e300 65 77 20 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 ew.ClassLoader();..$map.=.requir
e320 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 e.$targetDir...'/autoload_namesp
e340 61 63 65 73 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d aces.php';.foreach.($map.as.$nam
e360 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 espace.=>.$path).{.$loader->set(
e380 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 $namespace,.$path);.}..$map.=.re
e3a0 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 quire.$targetDir...'/autoload_ps
e3c0 72 34 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 r4.php';.foreach.($map.as.$names
e3e0 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 pace.=>.$path).{.$loader->setPsr
e400 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 4($namespace,.$path);.}..$classM
e420 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f ap.=.require.$targetDir...'/auto
e440 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 load_classmap.php';.if.($classMa
e460 70 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 p).{.$loader->addClassMap($class
e480 4d 61 70 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 Map);.}..$filesystem.=.new.Files
e4a0 79 73 74 65 6d 28 29 3b 0a 0a 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e ystem();..$vendorPathCode.=.'.=>
e4c0 20 27 20 2e 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 .'...$filesystem->findShortestPa
e4e0 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 thCode(realpath($targetDir),.$ve
e500 6e 64 6f 72 50 61 74 68 2c 20 74 72 75 65 2c 20 74 72 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b ndorPath,.true,.true)..."...'/";
e520 0a 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 24 66 69 6c .$appBaseDirCode.=.'.=>.'...$fil
e540 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 esystem->findShortestPathCode(re
e560 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 alpath($targetDir),.$basePath,.t
e580 72 75 65 2c 20 74 72 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 0a 24 61 62 73 6f 6c 75 74 65 rue,.true)..."...'/";..$absolute
e5a0 56 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 VendorPathCode.=.'.=>.'...substr
e5c0 28 76 61 72 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 24 76 65 6e 64 6f 72 44 69 72 2c 20 27 5c (var_export(rtrim($vendorDir,.'\
e5e0 5c 2f 27 29 20 2e 20 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 24 61 62 73 6f \/')...'/',.true),.0,.-1);.$abso
e600 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 luteAppBaseDirCode.=.'.=>.'...su
e620 62 73 74 72 28 76 61 72 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 24 62 61 73 65 44 69 72 2c 20 bstr(var_export(rtrim($baseDir,.
e640 27 5c 5c 2f 27 29 20 2e 20 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 0a 24 69 '\\/')...'/',.true),.0,.-1);..$i
e660 6e 69 74 69 61 6c 69 7a 65 72 20 3d 20 27 27 3b 0a 24 70 72 65 66 69 78 20 3d 20 22 5c 30 43 6f nitializer.=.'';.$prefix.=."\0Co
e680 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 30 22 3b 0a mposer\Autoload\ClassLoader\0";.
e6a0 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 $prefixLen.=.strlen($prefix);.if
e6c0 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 75 74 .(file_exists($targetDir...'/aut
e6e0 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 29 29 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 oload_files.php')).{.$maps.=.arr
e700 61 79 28 27 66 69 6c 65 73 27 20 3d 3e 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 ay('files'.=>.require.$targetDir
e720 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 29 3b 0a 7d 20 65 6c 73 ...'/autoload_files.php');.}.els
e740 65 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 e.{.$maps.=.array();.}..foreach.
e760 28 28 61 72 72 61 79 29 20 24 6c 6f 61 64 65 72 20 61 73 20 24 70 72 6f 70 20 3d 3e 20 24 76 61 ((array).$loader.as.$prop.=>.$va
e780 6c 75 65 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f lue).{.if.($value.&&.0.===.strpo
e7a0 73 28 24 70 72 6f 70 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 24 6d 61 70 73 5b 73 75 62 73 74 s($prop,.$prefix)).{.$maps[subst
e7c0 72 28 24 70 72 6f 70 2c 20 24 70 72 65 66 69 78 4c 65 6e 29 5d 20 3d 20 24 76 61 6c 75 65 3b 0a r($prop,.$prefixLen)].=.$value;.
e7e0 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 73 20 61 73 20 24 70 72 6f 70 20 3d 3e 20 }.}..foreach.($maps.as.$prop.=>.
e800 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e 20 33 32 $value).{.if.(count($value).>.32
e820 37 36 37 29 20 7b 0a 0a 20 0a 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 37 767).{.....$staticPhpVersion.=.7
e840 30 30 30 30 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 76 61 6c 0000;.}.$value.=.var_export($val
e860 75 65 2c 20 74 72 75 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 ue,.true);.$value.=.str_replace(
e880 24 61 62 73 6f 6c 75 74 65 56 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 76 65 6e 64 6f 72 $absoluteVendorPathCode,.$vendor
e8a0 50 61 74 68 43 6f 64 65 2c 20 24 76 61 6c 75 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 5f PathCode,.$value);.$value.=.str_
e8c0 72 65 70 6c 61 63 65 28 24 61 62 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c replace($absoluteAppBaseDirCode,
e8e0 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 76 61 6c 75 65 29 3b 0a 24 76 61 6c 75 .$appBaseDirCode,.$value);.$valu
e900 65 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 20 2a 2f 6d 27 2c e.=.ltrim(preg_replace('/^.*/m',
e920 20 27 20 20 20 20 24 30 24 30 27 2c 20 24 76 61 6c 75 65 29 29 3b 0a 0a 24 66 69 6c 65 20 2e 3d .'....$0$0',.$value));..$file..=
e940 20 73 70 72 69 6e 74 66 28 22 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 25 73 20 .sprintf("....public.static.$%s.
e960 3d 20 25 73 3b 5c 6e 5c 6e 22 2c 20 24 70 72 6f 70 2c 20 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 =.%s;\n\n",.$prop,.$value);.if.(
e980 27 66 69 6c 65 73 27 20 21 3d 3d 20 24 70 72 6f 70 29 20 7b 0a 24 69 6e 69 74 69 61 6c 69 7a 65 'files'.!==.$prop).{.$initialize
e9a0 72 20 2e 3d 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 24 70 72 6f r..=."............\$loader->$pro
e9c0 70 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 5c p.=.ComposerStaticInit$suffix::\
e9e0 24 24 70 72 6f 70 3b 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 $$prop;\n";.}.}..return.$file...
ea00 3c 3c 3c 49 4e 49 54 49 41 4c 49 5a 45 52 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 <<<INITIALIZER.....public.static
ea20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 43 6c 61 73 73 4c 6f .function.getInitializer(ClassLo
ea40 61 64 65 72 20 5c 24 6c 6f 61 64 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 ader.\$loader).....{.........ret
ea60 75 72 6e 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 urn.\Closure::bind(function.().u
ea80 73 65 20 28 5c 24 6c 6f 61 64 65 72 29 20 7b 0a 24 69 6e 69 74 69 61 6c 69 7a 65 72 0a 20 20 20 se.(\$loader).{.$initializer....
eaa0 20 20 20 20 20 7d 2c 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 63 6c 61 73 73 .....},.null,.ClassLoader::class
eac0 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 49 4e 49 54 49 41 4c 49 5a 45 52 3b 0a 7d 0a 0a 70 72 6f 74 );.....}.}..INITIALIZER;.}..prot
eae0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 ected.function.parseAutoloadsTyp
eb00 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 74 79 70 65 2c 20 50 61 63 6b e(array.$packageMap,.$type,.Pack
eb20 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 61 75 ageInterface.$mainPackage).{.$au
eb40 74 6f 6c 6f 61 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 toloads.=.array();..foreach.($pa
eb60 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 ckageMap.as.$item).{.list($packa
eb80 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 0a 24 61 75 74 ge,.$installPath).=.$item;..$aut
eba0 6f 6c 6f 61 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b oload.=.$package->getAutoload();
ebc0 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 26 26 20 24 70 61 63 6b 61 67 65 20 .if.($this->devMode.&&.$package.
ebe0 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 ===.$mainPackage).{.$autoload.=.
ec00 61 72 72 61 79 5f 6d 65 72 67 65 5f 72 65 63 75 72 73 69 76 65 28 24 61 75 74 6f 6c 6f 61 64 2c array_merge_recursive($autoload,
ec20 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 29 3b 0a 7d 0a .$package->getDevAutoload());.}.
ec40 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 20 ...if.(!isset($autoload[$type]).
ec60 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 29 20 ||.!is_array($autoload[$type])).
ec80 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b {.continue;.}.if.(null.!==.$pack
eca0 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 24 70 61 63 6b 61 67 65 20 age->getTargetDir().&&.$package.
ecc0 21 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 !==.$mainPackage).{.$installPath
ece0 20 3d 20 73 75 62 73 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 2c 20 2d 73 74 72 6c .=.substr($installPath,.0,.-strl
ed00 65 6e 28 27 2f 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 en('/'.$package->getTargetDir())
ed20 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 20 );.}..foreach.($autoload[$type].
ed40 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 as.$namespace.=>.$paths).{.forea
ed60 63 68 20 28 28 61 72 72 61 79 29 20 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 69 ch.((array).$paths.as.$path).{.i
ed80 66 20 28 28 24 74 79 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 20 7c 7c 20 24 74 79 70 65 20 3d f.(($type.===.'files'.||.$type.=
eda0 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d 3d 20 27 65 78 63 6c ==.'classmap'.||.$type.===.'excl
edc0 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d ude-from-classmap').&&.$package-
ede0 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 >getTargetDir().&&.!is_readable(
ee00 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 29 29 20 7b 0a 0a 20 69 66 20 $installPath.'/'.$path)).{...if.
ee20 28 24 70 61 63 6b 61 67 65 20 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 74 ($package.===.$mainPackage).{.$t
ee40 61 72 67 65 74 44 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 64 69 72 73 65 argetDir.=.str_replace('\\<dirse
ee60 70 5c 5c 3e 27 2c 20 27 5b 5c 5c 5c 5c 2f 5d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 72 p\\>',.'[\\\\/]',.preg_quote(str
ee80 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c 20 27 3c 64 69 72 _replace(array('/',.'\\'),.'<dir
eea0 73 65 70 3e 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 sep>',.$package->getTargetDir())
eec0 29 29 3b 0a 24 70 61 74 68 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ));.$path.=.ltrim(preg_replace('
eee0 7b 5e 27 2e 24 74 61 72 67 65 74 44 69 72 2e 27 7d 27 2c 20 27 27 2c 20 6c 74 72 69 6d 28 24 70 {^'.$targetDir.'}',.'',.ltrim($p
ef00 61 74 68 2c 20 27 5c 5c 2f 27 29 29 2c 20 27 5c 5c 2f 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a ath,.'\\/')),.'\\/');.}.else.{..
ef20 20 24 70 61 74 68 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 .$path.=.$package->getTargetDir(
ef40 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 79 70 65 20 )...'/'...$path;.}.}..if.($type.
ef60 3d 3d 3d 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 20 7b 0a 0a ===.'exclude-from-classmap').{..
ef80 20 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2f 2b 7d 27 2c 20 27 2f .$path.=.preg_replace('{/+}',.'/
efa0 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 74 72 69 6d 28 73 74 72 74 72 28 24 70 61 74 68 2c 20 ',.preg_quote(trim(strtr($path,.
efc0 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 29 29 3b 0a 0a 0a 20 24 70 61 74 68 20 3d 20 73 '\\',.'/'),.'/')));....$path.=.s
efe0 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 5c 5c 2a 27 2c 20 27 2e 2b 3f 27 2c 20 24 70 61 74 tr_replace('\\*\\*',.'.+?',.$pat
f000 68 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 h);.$path.=.str_replace('\\*',.'
f020 5b 5e 2f 5d 2b 3f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 24 75 70 64 69 72 20 3d 20 6e 75 6c [^/]+?',.$path);....$updir.=.nul
f040 6c 3b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b l;.$path.=.preg_replace_callback
f060 28 0a 27 7b 5e 28 28 3f 3a 28 3f 3a 5c 5c 5c 5c 5c 5c 2e 29 7b 31 2c 32 7d 2b 2f 29 2b 29 7d 27 (.'{^((?:(?:\\\\\\.){1,2}+/)+)}'
f080 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 26 24 75 70 64 ,.function.($matches).use.(&$upd
f0a0 69 72 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a ir).{.if.(isset($matches[1])).{.
f0c0 0a 20 24 75 70 64 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2e 27 2c 20 27 2e ..$updir.=.str_replace('\\.',.'.
f0e0 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d ',.$matches[1]);.}..return.'';.}
f100 2c 0a 24 70 61 74 68 0a 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 ,.$path.);.if.(empty($installPat
f120 68 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 74 72 74 72 28 67 65 74 63 77 h)).{.$installPath.=.strtr(getcw
f140 64 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 64 50 61 74 d(),.'\\',.'/');.}..$resolvedPat
f160 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f 27 20 h.=.realpath($installPath...'/'.
f180 2e 20 24 75 70 64 69 72 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d 20 70 72 65 67 5f 71 ..$updir);.$autoloads[].=.preg_q
f1a0 75 6f 74 65 28 73 74 72 74 72 28 24 72 65 73 6f 6c 76 65 64 50 61 74 68 2c 20 27 5c 5c 27 2c 20 uote(strtr($resolvedPath,.'\\',.
f1c0 27 2f 27 29 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d '/'))...'/'...$path;.continue;.}
f1e0 0a 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c ..$relativePath.=.empty($install
f200 50 61 74 68 29 20 3f 20 28 65 6d 70 74 79 28 24 70 61 74 68 29 20 3f 20 27 2e 27 20 3a 20 24 70 Path).?.(empty($path).?.'.'.:.$p
f220 61 74 68 29 20 3a 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 3b 0a 0a ath).:.$installPath.'/'.$path;..
f240 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 29 20 7b 0a 24 61 75 74 6f 6c 6f if.($type.===.'files').{.$autolo
f260 61 64 73 5b 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 49 64 65 6e 74 69 66 69 65 72 28 24 70 61 ads[$this->getFileIdentifier($pa
f280 63 6b 61 67 65 2c 20 24 70 61 74 68 29 5d 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a ckage,.$path)].=.$relativePath;.
f2a0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 63 continue;.}.elseif.($type.===.'c
f2c0 6c 61 73 73 6d 61 70 27 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d 20 24 72 65 6c 61 lassmap').{.$autoloads[].=.$rela
f2e0 74 69 76 65 50 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 61 75 74 6f 6c 6f 61 64 tivePath;.continue;.}..$autoload
f300 73 5b 24 6e 61 6d 65 73 70 61 63 65 5d 5b 5d 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b s[$namespace][].=.$relativePath;
f320 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 75 74 6f 6c 6f 61 64 73 3b 0a 7d 0a 0a 70 72 .}.}.}..return.$autoloads;.}..pr
f340 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 49 64 65 6e 74 69 66 69 otected.function.getFileIdentifi
f360 65 72 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 er(PackageInterface.$package,.$p
f380 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 6d 64 35 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ath).{.return.md5($package->getN
f3a0 61 6d 65 28 29 20 2e 20 27 3a 27 20 2e 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ame()...':'...$path);.}.........
f3c0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 50 61 63 6b 61 67 65 protected.function.filterPackage
f3e0 4d 61 70 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e Map(array.$packageMap,.PackageIn
f400 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 terface.$mainPackage).{.$package
f420 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6e 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b s.=.array();.$include.=.array();
f440 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 ..foreach.($packageMap.as.$item)
f460 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b 30 5d 3b 0a 24 6e 61 6d 65 20 3d 20 .{.$package.=.$item[0];.$name.=.
f480 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 5b 24 $package->getName();.$packages[$
f4a0 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 61 64 64 20 3d 20 66 75 6e 63 name].=.$package;.}..$add.=.func
f4c0 74 69 6f 6e 20 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 tion.(PackageInterface.$package)
f4e0 20 75 73 65 20 28 26 24 61 64 64 2c 20 24 70 61 63 6b 61 67 65 73 2c 20 26 24 69 6e 63 6c 75 64 .use.(&$add,.$packages,.&$includ
f500 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 e).{.foreach.($package->getRequi
f520 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 6c 69 6e res().as.$link).{.$target.=.$lin
f540 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 63 6c k->getTarget();.if.(!isset($incl
f560 75 64 65 5b 24 74 61 72 67 65 74 5d 29 29 20 7b 0a 24 69 6e 63 6c 75 64 65 5b 24 74 61 72 67 65 ude[$target])).{.$include[$targe
f580 74 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 t].=.true;.if.(isset($packages[$
f5a0 74 61 72 67 65 74 5d 29 29 20 7b 0a 24 61 64 64 28 24 70 61 63 6b 61 67 65 73 5b 24 74 61 72 67 target])).{.$add($packages[$targ
f5c0 65 74 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 3b 0a 24 61 64 64 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 et]);.}.}.}.};.$add($mainPackage
f5e0 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 24 70 61 63 6b 61 67 );..return.array_filter(.$packag
f600 65 4d 61 70 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 69 74 65 6d 29 20 75 73 65 20 28 24 69 6e 63 eMap,.function.($item).use.($inc
f620 6c 75 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b 30 5d 3b 0a 24 6e 61 lude).{.$package.=.$item[0];.$na
f640 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 72 65 74 75 72 me.=.$package->getName();..retur
f660 6e 20 69 73 73 65 74 28 24 69 6e 63 6c 75 64 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 29 3b 0a 7d n.isset($include[$name]);.}.);.}
f680 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 ..........protected.function.sor
f6a0 74 50 61 63 6b 61 67 65 4d 61 70 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 29 0a 7b tPackageMap(array.$packageMap).{
f6c0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 74 68 73 20 3d 20 61 .$packages.=.array();.$paths.=.a
f6e0 72 72 61 79 28 29 3b 0a 24 75 73 61 67 65 4c 69 73 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 rray();.$usageList.=.array();..f
f700 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a oreach.($packageMap.as.$item).{.
f720 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 24 list($package,.$path).=.$item;.$
f740 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 name.=.$package->getName();.$pac
f760 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 70 61 74 68 73 5b kages[$name].=.$package;.$paths[
f780 24 6e 61 6d 65 5d 20 3d 20 24 70 61 74 68 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f $name].=.$path;..foreach.(array_
f7a0 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 merge($package->getRequires(),.$
f7c0 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 20 24 6c package->getDevRequires()).as.$l
f7e0 69 6e 6b 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 ink).{.$target.=.$link->getTarge
f800 74 28 29 3b 0a 24 75 73 61 67 65 4c 69 73 74 5b 24 74 61 72 67 65 74 5d 5b 5d 20 3d 20 24 6e 61 t();.$usageList[$target][].=.$na
f820 6d 65 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 70 75 74 69 6e 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 me;.}.}..$computing.=.array();.$
f840 63 6f 6d 70 75 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6d 70 75 74 65 49 6d 70 6f computed.=.array();.$computeImpo
f860 72 74 61 6e 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 29 20 75 73 65 20 28 26 rtance.=.function.($name).use.(&
f880 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 2c 20 26 24 63 6f 6d 70 75 74 69 6e 67 2c $computeImportance,.&$computing,
f8a0 20 26 24 63 6f 6d 70 75 74 65 64 2c 20 24 75 73 61 67 65 4c 69 73 74 29 20 7b 0a 0a 20 69 66 20 .&$computed,.$usageList).{...if.
f8c0 28 69 73 73 65 74 28 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 (isset($computed[$name])).{.retu
f8e0 72 6e 20 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 rn.$computed[$name];.}....if.(is
f900 73 65 74 28 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e set($computing[$name])).{.return
f920 20 30 3b 0a 7d 0a 0a 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d 20 3d 20 74 72 75 65 3b .0;.}..$computing[$name].=.true;
f940 0a 24 77 65 69 67 68 74 20 3d 20 30 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 75 73 61 67 65 4c .$weight.=.0;..if.(isset($usageL
f960 69 73 74 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 75 73 61 67 65 4c 69 ist[$name])).{.foreach.($usageLi
f980 73 74 5b 24 6e 61 6d 65 5d 20 61 73 20 24 75 73 65 72 29 20 7b 0a 24 77 65 69 67 68 74 20 2d 3d st[$name].as.$user).{.$weight.-=
f9a0 20 31 20 2d 20 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 28 24 75 73 65 72 29 3b 0a .1.-.$computeImportance($user);.
f9c0 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 3b 0a 24 }.}..unset($computing[$name]);.$
f9e0 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 77 65 69 67 68 74 3b 0a 0a 72 65 74 75 computed[$name].=.$weight;..retu
fa00 72 6e 20 24 77 65 69 67 68 74 3b 0a 7d 3b 0a 0a 24 77 65 69 67 68 74 4c 69 73 74 20 3d 20 61 72 rn.$weight;.};..$weightList.=.ar
fa20 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 6e ray();..foreach.($packages.as.$n
fa40 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 77 65 69 67 68 74 20 3d 20 24 63 6f ame.=>.$package).{.$weight.=.$co
fa60 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 28 24 6e 61 6d 65 29 3b 0a 24 77 65 69 67 68 74 4c mputeImportance($name);.$weightL
fa80 69 73 74 5b 24 6e 61 6d 65 5d 20 3d 20 24 77 65 69 67 68 74 3b 0a 7d 0a 0a 24 73 74 61 62 6c 65 ist[$name].=.$weight;.}..$stable
faa0 5f 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 61 72 72 61 79 29 20 7b 0a 73 74 61 _sort.=.function.(&$array).{.sta
fac0 74 69 63 20 24 74 72 61 6e 73 66 6f 72 6d 2c 20 24 72 65 73 74 6f 72 65 3b 0a 0a 24 69 20 3d 20 tic.$transform,.$restore;..$i.=.
fae0 30 3b 0a 0a 69 66 20 28 21 24 74 72 61 6e 73 66 6f 72 6d 29 20 7b 0a 24 74 72 61 6e 73 66 6f 72 0;..if.(!$transform).{.$transfor
fb00 6d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 2c 20 24 6b 29 20 75 73 65 20 28 26 24 69 29 m.=.function.(&$v,.$k).use.(&$i)
fb20 20 7b 0a 24 76 20 3d 20 61 72 72 61 79 28 24 76 2c 20 2b 2b 24 69 2c 20 24 6b 2c 20 24 76 29 3b .{.$v.=.array($v,.++$i,.$k,.$v);
fb40 0a 7d 3b 0a 0a 24 72 65 73 74 6f 72 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 2c 20 24 .};..$restore.=.function.(&$v,.$
fb60 6b 29 20 7b 0a 24 76 20 3d 20 24 76 5b 33 5d 3b 0a 7d 3b 0a 7d 0a 0a 61 72 72 61 79 5f 77 61 6c k).{.$v.=.$v[3];.};.}..array_wal
fb80 6b 28 24 61 72 72 61 79 2c 20 24 74 72 61 6e 73 66 6f 72 6d 29 3b 0a 61 73 6f 72 74 28 24 61 72 k($array,.$transform);.asort($ar
fba0 72 61 79 29 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 61 72 72 61 79 2c 20 24 72 65 73 74 6f 72 ray);.array_walk($array,.$restor
fbc0 65 29 3b 0a 7d 3b 0a 0a 24 73 74 61 62 6c 65 5f 73 6f 72 74 28 24 77 65 69 67 68 74 4c 69 73 74 e);.};..$stable_sort($weightList
fbe0 29 3b 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b );..$sortedPackageMap.=.array();
fc00 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 77 65 69 67 68 74 4c 69 73 ..foreach.(array_keys($weightLis
fc20 74 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 t).as.$name).{.$sortedPackageMap
fc40 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 2c 20 24 70 61 [].=.array($packages[$name],.$pa
fc60 74 68 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 65 64 50 61 ths[$name]);.}..return.$sortedPa
fc80 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ckageMap;.}........protected.fun
fca0 63 74 69 6f 6e 20 73 61 66 65 43 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 ction.safeCopy($source,.$target)
fcc0 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 66 6f 70 65 6e 28 24 73 6f 75 72 63 65 2c 20 27 72 27 29 .{.$source.=.fopen($source,.'r')
fce0 3b 0a 24 74 61 72 67 65 74 20 3d 20 66 6f 70 65 6e 28 24 74 61 72 67 65 74 2c 20 27 77 2b 27 29 ;.$target.=.fopen($target,.'w+')
fd00 3b 0a 0a 73 74 72 65 61 6d 5f 63 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f 75 72 63 65 ;..stream_copy_to_stream($source
fd20 2c 20 24 74 61 72 67 65 74 29 3b 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b 0a 66 63 6c ,.$target);.fclose($source);.fcl
fd40 6f 73 65 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ose($target);.}.}.<?php.........
fd60 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f .........namespace.Composer\Auto
fd80 6c 6f 61 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e load;..use.Symfony\Component\Fin
fda0 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e der\Finder;.use.Composer\IO\IOIn
fdc0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 terface;.use.Composer\Util\Files
fde0 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4d 61 70 47 65 6e 65 ystem;........class.ClassMapGene
fe00 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 rator.{.......public.static.func
fe20 74 69 6f 6e 20 64 75 6d 70 28 24 64 69 72 73 2c 20 24 66 69 6c 65 29 0a 7b 0a 24 6d 61 70 73 20 tion.dump($dirs,.$file).{.$maps.
fe40 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 =.array();..foreach.($dirs.as.$d
fe60 69 72 29 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d 61 70 73 2c ir).{.$maps.=.array_merge($maps,
fe80 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 69 .static::createMap($dir));.}..fi
fea0 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 2c 20 73 70 72 69 6e 74 66 28 27 le_put_contents($file,.sprintf('
fec0 3c 3f 70 68 70 20 72 65 74 75 72 6e 20 25 73 3b 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6d <?php.return.%s;',.var_export($m
fee0 61 70 73 2c 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c aps,.true)));.}.............publ
ff00 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 61 70 28 24 70 61 ic.static.function.createMap($pa
ff20 74 68 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 th,.$blacklist.=.null,.IOInterfa
ff40 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c ce.$io.=.null,.$namespace.=.null
ff60 29 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 74 68 29 29 20 7b 0a 69 66 20 28 ).{.if.(is_string($path)).{.if.(
ff80 69 73 5f 66 69 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 61 72 72 61 79 28 is_file($path)).{.$path.=.array(
ffa0 6e 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 70 61 74 68 29 29 3b 0a 7d 20 65 6c 73 65 new.\SplFileInfo($path));.}.else
ffc0 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 46 69 6e if.(is_dir($path)).{.$path.=.Fin
ffe0 64 65 72 3a 3a 63 72 65 61 74 65 28 29 2d 3e 66 69 6c 65 73 28 29 2d 3e 66 6f 6c 6c 6f 77 4c 69 der::create()->files()->followLi
10000 6e 6b 73 28 29 2d 3e 6e 61 6d 65 28 27 2f 5c 2e 28 70 68 70 7c 69 6e 63 7c 68 68 29 24 2f 27 29 nks()->name('/\.(php|inc|hh)$/')
10020 2d 3e 69 6e 28 24 70 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ->in($path);.}.else.{.throw.new.
10040 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 73 63 \RuntimeException(.'Could.not.sc
10060 61 6e 20 66 6f 72 20 63 6c 61 73 73 65 73 20 69 6e 73 69 64 65 20 22 27 2e 24 70 61 74 68 2e 0a an.for.classes.inside."'.$path..
10080 27 22 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 61 '".which.does.not.appear.to.be.a
100a0 20 66 69 6c 65 20 6e 6f 72 20 61 20 66 6f 6c 64 65 72 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 6d 61 70 .file.nor.a.folder'.);.}.}..$map
100c0 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 .=.array();.$filesystem.=.new.Fi
100e0 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 63 lesystem();.$cwd.=.realpath(getc
10100 77 64 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 20 61 73 20 24 66 69 6c 65 29 wd());..foreach.($path.as.$file)
10120 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 3d 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d .{.$filePath.=.$file->getPathnam
10140 65 28 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 70 61 74 68 69 6e 66 6f 28 24 66 69 6c e();.if.(!in_array(pathinfo($fil
10160 65 50 61 74 68 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 2c 20 61 72 72 61 ePath,.PATHINFO_EXTENSION),.arra
10180 79 28 27 70 68 70 27 2c 20 27 69 6e 63 27 2c 20 27 68 68 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e y('php',.'inc',.'hh'))).{.contin
101a0 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c ue;.}..if.(!$filesystem->isAbsol
101c0 75 74 65 50 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 29 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 utePath($filePath)).{.$filePath.
101e0 3d 20 24 63 77 64 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 50 61 74 68 3b 0a 24 66 69 6c 65 50 =.$cwd...'/'...$filePath;.$fileP
10200 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 ath.=.$filesystem->normalizePath
10220 28 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 ($filePath);.}.else.{.$filePath.
10240 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5c 5c 5c 5c 2f 5d 7b 32 2c 7d 7d 27 2c 20 =.preg_replace('{[\\\\/]{2,}}',.
10260 27 2f 27 2c 20 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 6c 61 63 6b '/',.$filePath);.}....if.($black
10280 6c 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 73 74 2c 20 73 list.&&.preg_match($blacklist,.s
102a0 74 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 2c 20 27 5c 5c 27 2c 20 trtr(realpath($filePath),.'\\',.
102c0 27 2f 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 24 62 6c 61 63 '/'))).{.continue;.}...if.($blac
102e0 6b 6c 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 73 74 2c 20 klist.&&.preg_match($blacklist,.
10300 73 74 72 74 72 28 24 66 69 6c 65 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 29 20 7b 0a strtr($filePath,.'\\',.'/'))).{.
10320 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 73 65 6c 66 3a 3a 66 69 continue;.}..$classes.=.self::fi
10340 6e 64 43 6c 61 73 73 65 73 28 24 66 69 6c 65 50 61 74 68 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 ndClasses($filePath);..foreach.(
10360 24 63 6c 61 73 73 65 73 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c $classes.as.$class).{...if.(null
10380 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 20 26 26 20 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 .!==.$namespace.&&.0.!==.strpos(
103a0 24 63 6c 61 73 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b $class,.$namespace)).{.continue;
103c0 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a .}..if.(!isset($map[$class])).{.
103e0 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 66 69 6c 65 50 61 74 68 3b 0a 7d 20 65 6c 73 65 $map[$class].=.$filePath;.}.else
10400 69 66 20 28 24 69 6f 20 26 26 20 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 21 3d 3d 20 24 66 69 6c if.($io.&&.$map[$class].!==.$fil
10420 65 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2f 28 74 65 73 74 7c 66 69 ePath.&&.!preg_match('{/(test|fi
10440 78 74 75 72 65 7c 65 78 61 6d 70 6c 65 7c 73 74 75 62 29 73 3f 2f 7d 69 27 2c 20 73 74 72 74 72 xture|example|stub)s?/}i',.strtr
10460 28 24 6d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 20 27 2e 24 66 69 6c 65 50 61 74 68 2c 20 27 5c 5c ($map[$class].'.'.$filePath,.'\\
10480 27 2c 20 27 2f 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 3c 77 ',.'/'))).{.$io->writeError(.'<w
104a0 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c 61 73 73 20 arning>Warning:.Ambiguous.class.
104c0 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 22 27 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 20 77 61 73 resolution,."'.$class.'"'..'.was
104e0 20 66 6f 75 6e 64 20 69 6e 20 62 6f 74 68 20 22 27 2e 24 6d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 .found.in.both."'.$map[$class].'
10500 22 20 61 6e 64 20 22 27 2e 24 66 69 6c 65 50 61 74 68 2e 27 22 2c 20 74 68 65 20 66 69 72 73 74 ".and."'.$filePath.'",.the.first
10520 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 3b 0a 7d 0a 7d .will.be.used.</warning>'.);.}.}
10540 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .}..return.$map;.}.........priva
10560 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 43 6c 61 73 73 65 73 28 24 te.static.function.findClasses($
10580 70 61 74 68 29 0a 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 3d 20 50 48 50 5f 56 45 52 53 49 4f path).{.$extraTypes.=.PHP_VERSIO
105a0 4e 5f 49 44 20 3c 20 35 30 34 30 30 20 3f 20 27 27 20 3a 20 27 7c 74 72 61 69 74 27 3b 0a 69 66 N_ID.<.50400.?.''.:.'|trait';.if
105c0 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 76 65 72 .(defined('HHVM_VERSION').&&.ver
105e0 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 48 48 56 4d 5f 56 45 52 53 49 4f 4e 2c 20 27 33 2e 33 27 sion_compare(HHVM_VERSION,.'3.3'
10600 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 2e 3d 20 27 7c 65 6e 75 6d ,.'>=')).{.$extraTypes..=.'|enum
10620 27 3b 0a 7d 0a 0a 0a 20 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 40 70 68 70 5f 73 74 72 69 70 ';.}......$contents.=.@php_strip
10640 5f 77 68 69 74 65 73 70 61 63 65 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e _whitespace($path);.if.(!$conten
10660 74 73 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 29 29 20 7b ts).{.if.(!file_exists($path)).{
10680 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 64 6f 65 73 20 6e .$message.=.'File.at."%s".does.n
106a0 6f 74 20 65 78 69 73 74 2c 20 63 68 65 63 6b 20 79 6f 75 72 20 63 6c 61 73 73 6d 61 70 20 64 65 ot.exist,.check.your.classmap.de
106c0 66 69 6e 69 74 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 finitions';.}.elseif.(!is_readab
106e0 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 le($path)).{.$message.=.'File.at
10700 20 22 25 73 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2c 20 63 68 65 63 6b 20 69 74 73 ."%s".is.not.readable,.check.its
10720 20 70 65 72 6d 69 73 73 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 27 20 3d 3d 3d 20 .permissions';.}.elseif.(''.===.
10740 74 72 69 6d 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 29 29 20 trim(file_get_contents($path))).
10760 7b 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 {...return.array();.}.else.{.$me
10780 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 63 6f 75 6c 64 20 6e 6f 74 20 ssage.=.'File.at."%s".could.not.
107a0 62 65 20 70 61 72 73 65 64 20 61 73 20 50 48 50 2c 20 69 74 20 6d 61 79 20 62 65 20 62 69 6e 61 be.parsed.as.PHP,.it.may.be.bina
107c0 72 79 20 6f 72 20 63 6f 72 72 75 70 74 65 64 27 3b 0a 7d 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 ry.or.corrupted';.}.$error.=.err
107e0 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 72 72 6f 72 5b or_get_last();.if.(isset($error[
10800 27 6d 65 73 73 61 67 65 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 'message'])).{.$message..=.PHP_E
10820 4f 4c 20 2e 20 27 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 65 73 73 61 67 65 20 6d 61 79 20 OL...'The.following.message.may.
10840 62 65 20 68 65 6c 70 66 75 6c 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 72 72 6f 72 5b be.helpful:'...PHP_EOL...$error[
10860 27 6d 65 73 73 61 67 65 27 5d 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 'message'];.}.throw.new.\Runtime
10880 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 6d 65 73 73 61 67 65 2c 20 24 70 61 74 Exception(sprintf($message,.$pat
108a0 68 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 62 28 3f h));.}....if.(!preg_match('{\b(?
108c0 3a 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 72 61 54 79 70 65 73 2e 27 29 :class|interface'.$extraTypes.')
108e0 5c 73 7d 69 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 \s}i',.$contents)).{.return.arra
10900 79 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 y();.}....$contents.=.preg_repla
10920 63 65 28 27 7b 3c 3c 3c 5c 73 2a 28 5c 27 3f 29 28 5c 77 2b 29 5c 5c 31 28 3f 3a 5c 72 5c 6e 7c ce('{<<<\s*(\'?)(\w+)\\1(?:\r\n|
10940 5c 6e 7c 5c 72 29 28 3f 3a 2e 2a 3f 29 28 3f 3a 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 5c 5c 32 28 3f \n|\r)(?:.*?)(?:\r\n|\n|\r)\\2(?
10960 3d 5c 72 5c 6e 7c 5c 6e 7c 5c 72 7c 3b 29 7d 73 27 2c 20 27 6e 75 6c 6c 27 2c 20 24 63 6f 6e 74 =\r\n|\n|\r|;)}s',.'null',.$cont
10980 65 6e 74 73 29 3b 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ents);...$contents.=.preg_replac
109a0 65 28 27 7b 22 5b 5e 22 5c 5c 5c 5c 5d 2a 2b 28 5c 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 2b 29 e('{"[^"\\\\]*+(\\\\.[^"\\\\]*+)
109c0 2a 2b 22 7c 5c 27 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 2b 28 5c 5c 5c 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d *+"|\'[^\'\\\\]*+(\\\\.[^\'\\\\]
109e0 2a 2b 29 2a 2b 5c 27 7d 73 27 2c 20 27 6e 75 6c 6c 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a *+)*+\'}s',.'null',.$contents);.
10a00 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 2c 20 32 29 20 21 3d ..if.(substr($contents,.0,.2).!=
10a20 3d 20 27 3c 3f 27 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 =.'<?').{.$contents.=.preg_repla
10a40 63 65 28 27 7b 5e 2e 2b 3f 3c 5c 3f 7d 73 27 2c 20 27 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 ce('{^.+?<\?}s',.'<?',.$contents
10a60 2c 20 31 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 29 3b 0a 69 66 20 28 24 72 65 70 6c 61 63 ,.1,.$replacements);.if.($replac
10a80 65 6d 65 6e 74 73 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a ements.===.0).{.return.array();.
10aa0 7d 0a 7d 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 }.}...$contents.=.preg_replace('
10ac0 7b 5c 3f 3e 2e 2b 3c 5c 3f 7d 73 27 2c 20 27 3f 3e 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 {\?>.+<\?}s',.'?><?',.$contents)
10ae0 3b 0a 0a 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6f 6e 74 65 6e 74 73 2c 20 27 3f ;...$pos.=.strrpos($contents,.'?
10b00 3e 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 26 26 20 66 61 6c 73 65 >');.if.(false.!==.$pos.&&.false
10b20 20 3d 3d 3d 20 73 74 72 70 6f 73 28 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 70 .===.strpos(substr($contents,.$p
10b40 6f 73 29 2c 20 27 3c 3f 27 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 73 75 62 73 74 72 os),.'<?')).{.$contents.=.substr
10b60 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 ($contents,.0,.$pos);.}...if.(pr
10b80 65 67 5f 6d 61 74 63 68 28 27 7b 28 3c 5c 3f 29 28 3f 21 28 70 68 70 7c 68 68 29 29 7d 69 27 2c eg_match('{(<\?)(?!(php|hh))}i',
10ba0 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f .$contents)).{.$contents.=.preg_
10bc0 72 65 70 6c 61 63 65 28 27 7b 2f 2f 2e 2a 20 7c 20 2f 5c 2a 28 3f 3a 5b 5e 2a 5d 2b 2b 7c 5c 2a replace('{//.*.|./\*(?:[^*]++|\*
10be0 28 3f 21 2f 29 29 2a 5c 2a 2f 7d 78 27 2c 20 27 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d (?!/))*\*/}x',.'',.$contents);.}
10c00 0a 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..preg_match_all('{.............
10c20 28 3f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e (?:..................\b(?<![\$:>
10c40 5d 29 28 3f 50 3c 74 79 70 65 3e 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 ])(?P<type>class|interface'.$ext
10c60 72 61 54 79 70 65 73 2e 27 29 20 5c 73 2b 2b 20 28 3f 50 3c 6e 61 6d 65 3e 5b 61 2d 7a 41 2d 5a raTypes.').\s++.(?P<name>[a-zA-Z
10c80 5f 5c 78 37 66 2d 5c 78 66 66 3a 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 _\x7f-\xff:][a-zA-Z0-9_\x7f-\xff
10ca0 3a 5c 2d 5d 2a 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 5c 62 28 3f 3c 21 5b :\-]*+)................|.\b(?<![
10cc0 5c 24 3a 3e 5d 29 28 3f 50 3c 6e 73 3e 6e 61 6d 65 73 70 61 63 65 29 20 28 3f 50 3c 6e 73 6e 61 \$:>])(?P<ns>namespace).(?P<nsna
10ce0 6d 65 3e 5c 73 2b 2b 5b 61 2d 7a 41 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 5d 5b 61 2d 7a 41 2d 5a me>\s++[a-zA-Z_\x7f-\xff][a-zA-Z
10d00 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 5d 2a 2b 28 3f 3a 5c 73 2a 2b 5c 5c 5c 5c 5c 73 2a 2b 5b 0-9_\x7f-\xff]*+(?:\s*+\\\\\s*+[
10d20 61 2d 7a 41 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f
10d40 2d 5c 78 66 66 5d 2a 2b 29 2a 2b 29 3f 20 5c 73 2a 2b 20 5b 5c 7b 3b 5d 0a 20 20 20 20 20 20 20 -\xff]*+)*+)?.\s*+.[\{;]........
10d60 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 7d 69 78 27 2c 20 24 63 6f 6e 74 65 6e 74 73 2c 20 .....).........}ix',.$contents,.
10d80 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a $matches);..$classes.=.array();.
10da0 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 $namespace.=.'';..for.($i.=.0,.$
10dc0 6c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 5b 27 74 79 70 65 27 5d 29 3b 20 24 len.=.count($matches['type']);.$
10de0 69 20 3c 20 24 6c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 i.<.$len;.$i++).{.if.(!empty($ma
10e00 74 63 68 65 73 5b 27 6e 73 27 5d 5b 24 69 5d 29 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d tches['ns'][$i])).{.$namespace.=
10e20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 20 27 2c 20 22 5c 74 22 2c 20 22 5c .str_replace(array('.',."\t",."\
10e40 72 22 2c 20 22 5c 6e 22 29 2c 20 27 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 6e 73 6e 61 6d 65 27 r",."\n"),.'',.$matches['nsname'
10e60 5d 5b 24 69 5d 29 20 2e 20 27 5c 5c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 20 3d 20 ][$i])...'\\';.}.else.{.$name.=.
10e80 24 6d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 5b 24 69 5d 3b 0a 0a 20 69 66 20 28 24 6e 61 6d $matches['name'][$i];...if.($nam
10ea0 65 20 3d 3d 3d 20 27 65 78 74 65 6e 64 73 27 20 7c 7c 20 24 6e 61 6d 65 20 3d 3d 3d 20 27 69 6d e.===.'extends'.||.$name.===.'im
10ec0 70 6c 65 6d 65 6e 74 73 27 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 6e 61 plements').{.continue;.}.if.($na
10ee0 6d 65 5b 30 5d 20 3d 3d 3d 20 27 3a 27 29 20 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 27 78 68 70 27 me[0].===.':').{...$name.=.'xhp'
10f00 2e 73 75 62 73 74 72 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2d 27 2c 20 27 .substr(str_replace(array('-',.'
10f20 3a 27 29 2c 20 61 72 72 61 79 28 27 5f 27 2c 20 27 5f 5f 27 29 2c 20 24 6e 61 6d 65 29 2c 20 31 :'),.array('_',.'__'),.$name),.1
10f40 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6d 61 74 63 68 65 73 5b 27 74 79 70 65 27 5d 5b 24 69 );.}.elseif.($matches['type'][$i
10f60 5d 20 3d 3d 3d 20 27 65 6e 75 6d 27 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 6e 61 6d 65 20 3d 20 ].===.'enum').{.........$name.=.
10f80 72 74 72 69 6d 28 24 6e 61 6d 65 2c 20 27 3a 27 29 3b 0a 7d 0a 24 63 6c 61 73 73 65 73 5b 5d 20 rtrim($name,.':');.}.$classes[].
10fa0 3d 20 6c 74 72 69 6d 28 24 6e 61 6d 65 73 70 61 63 65 20 2e 20 24 6e 61 6d 65 2c 20 27 5c 5c 27 =.ltrim($namespace...$name,.'\\'
10fc0 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 );.}.}..return.$classes;.}.}.<?p
10fe0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
11000 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a ;..use.Composer\IO\IOInterface;.
11020 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 use.Composer\Util\Filesystem;.us
11040 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 e.Composer\Util\Silencer;.use.Sy
11060 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 0a mfony\Component\Finder\Finder;..
11080 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 61 63 68 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 .....class.Cache.{.private.stati
110a0 63 20 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 c.$cacheCollected.=.false;.priva
110c0 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 72 6f 6f 74 3b 0a 70 72 69 76 61 74 65 20 24 te.$io;.private.$root;.private.$
110e0 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 77 68 69 74 65 6c 69 enabled.=.true;.private.$whiteli
11100 73 74 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a st;.private.$filesystem;........
11120 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e public.function.__construct(IOIn
11140 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 63 61 63 68 65 44 69 72 2c 20 24 77 68 69 74 65 6c 69 terface.$io,.$cacheDir,.$whiteli
11160 73 74 20 3d 20 27 61 2d 7a 30 2d 39 2e 27 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 st.=.'a-z0-9.',.Filesystem.$file
11180 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f system.=.null).{.$this->io.=.$io
111a0 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 20 3d 20 72 74 72 69 6d 28 24 63 61 63 68 65 44 69 72 2c ;.$this->root.=.rtrim($cacheDir,
111c0 20 27 2f 5c 5c 27 29 20 2e 20 27 2f 27 3b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 .'/\\')...'/';.$this->whitelist.
111e0 3d 20 24 77 68 69 74 65 6c 69 73 74 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 =.$whitelist;.$this->filesystem.
11200 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 =.$filesystem.?:.new.Filesystem(
11220 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 5e 7c 5b 5c 5c 5c 5c 2f 5d 29 );..if.(preg_match('{(^|[\\\\/])
11240 28 5c 24 6e 75 6c 6c 7c 4e 55 4c 7c 2f 64 65 76 2f 6e 75 6c 6c 29 28 5b 5c 5c 5c 5c 2f 5d 7c 24 (\$null|NUL|/dev/null)([\\\\/]|$
11260 29 7d 27 2c 20 24 63 61 63 68 65 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 )}',.$cacheDir)).{.$this->enable
11280 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 0a 28 21 69 73 d.=.false;..return;.}..if.(.(!is
112a0 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 20 26 26 20 21 53 69 6c 65 6e 63 65 72 3a 3a _dir($this->root).&&.!Silencer::
112c0 63 61 6c 6c 28 27 6d 6b 64 69 72 27 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 2c 20 30 37 37 37 2c call('mkdir',.$this->root,.0777,
112e0 20 74 72 75 65 29 29 0a 7c 7c 20 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 68 69 73 2d 3e 72 .true)).||.!is_writable($this->r
11300 6f 6f 74 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 oot).).{.$this->io->writeError('
11320 3c 77 61 72 6e 69 6e 67 3e 43 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 63 61 63 68 65 20 64 69 72 <warning>Cannot.create.cache.dir
11340 65 63 74 6f 72 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 27 2c 20 6f 72 20 64 ectory.'...$this->root...',.or.d
11360 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 20 50 72 6f 63 65 65 irectory.is.not.writable..Procee
11380 64 69 6e 67 20 77 69 74 68 6f 75 74 20 63 61 63 68 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a ding.without.cache</warning>');.
113a0 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 75 62 $this->enabled.=.false;.}.}..pub
113c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 lic.function.isEnabled().{.retur
113e0 6e 20 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 n.$this->enabled;.}..public.func
11400 74 69 6f 6e 20 67 65 74 52 6f 6f 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 tion.getRoot().{.return.$this->r
11420 6f 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 66 69 oot;.}..public.function.read($fi
11440 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c le).{.if.($this->enabled).{.$fil
11460 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 e.=.preg_replace('{[^'.$this->wh
11480 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 itelist.']}i',.'-',.$file);.if.(
114a0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 file_exists($this->root...$file)
114c0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 52 65 61 64 69 ).{.$this->io->writeError('Readi
114e0 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 66 72 6f 6d 20 ng.'.$this->root...$file.'.from.
11500 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 cache',.true,.IOInterface::DEBUG
11520 29 3b 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 );..return.file_get_contents($th
11540 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 is->root...$file);.}.}..return.f
11560 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 alse;.}..public.function.write($
11580 66 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e file,.$contents).{.if.($this->en
115a0 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b abled).{.$file.=.preg_replace('{
115c0 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c [^'.$this->whitelist.']}i',.'-',
115e0 20 24 66 69 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 .$file);..$this->io->writeError(
11600 27 57 72 69 74 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 'Writing.'.$this->root...$file.'
11620 20 69 6e 74 6f 20 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a .into.cache',.true,.IOInterface:
11640 3a 44 45 42 55 47 29 3b 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 70 75 74 5f :DEBUG);..try.{.return.file_put_
11660 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 24 63 contents($this->root...$file,.$c
11680 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 ontents);.}.catch.(\ErrorExcepti
116a0 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 on.$e).{.$this->io->writeError('
116c0 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 20 74 6f 20 77 72 69 74 65 20 69 6e 74 6f 20 63 61 <warning>Failed.to.write.into.ca
116e0 63 68 65 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 che:.'.$e->getMessage().'</warni
11700 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b ng>',.true,.IOInterface::DEBUG);
11720 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 .if.(preg_match('{^file_put_cont
11740 65 6e 74 73 5c 28 5c 29 3a 20 4f 6e 6c 79 20 28 5b 30 2d 39 5d 2b 29 20 6f 66 20 28 5b 30 2d 39 ents\(\):.Only.([0-9]+).of.([0-9
11760 5d 2b 29 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 7d 27 2c 20 24 65 2d 3e 67 65 74 4d 65 73 73 ]+).bytes.written}',.$e->getMess
11780 61 67 65 28 29 2c 20 24 6d 29 29 20 7b 0a 0a 20 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 72 6f age(),.$m)).{...unlink($this->ro
117a0 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 ot...$file);..$message.=.sprintf
117c0 28 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 72 69 74 69 6e 67 20 25 31 24 73 20 69 6e 74 6f 20 63 61 (.'<warning>Writing.%1$s.into.ca
117e0 63 68 65 20 66 61 69 6c 65 64 20 61 66 74 65 72 20 25 32 24 75 20 6f 66 20 25 33 24 75 20 62 79 che.failed.after.%2$u.of.%3$u.by
11800 74 65 73 20 77 72 69 74 74 65 6e 2c 20 6f 6e 6c 79 20 25 34 24 75 20 62 79 74 65 73 20 6f 66 20 tes.written,.only.%4$u.bytes.of.
11820 66 72 65 65 20 73 70 61 63 65 20 61 76 61 69 6c 61 62 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c free.space.available</warning>',
11840 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 0a 24 6d 5b 31 5d 2c 0a 24 6d 5b .$this->root...$file,.$m[1],.$m[
11860 32 5d 2c 0a 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 2],.@disk_free_space($this->root
11880 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 29 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f ...dirname($file)).);..$this->io
118a0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 ->writeError($message);..return.
118c0 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 false;.}..throw.$e;.}.}..return.
118e0 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 false;.}.....public.function.cop
11900 79 46 72 6f 6d 28 24 66 69 6c 65 2c 20 24 73 6f 75 72 63 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 yFrom($file,.$source).{.if.($thi
11920 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 s->enabled).{.$file.=.preg_repla
11940 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c ce('{[^'.$this->whitelist.']}i',
11960 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d .'-',.$file);.$this->filesystem-
11980 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 >ensureDirectoryExists(dirname($
119a0 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 this->root...$file));..if.(!file
119c0 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 _exists($source)).{.$this->io->w
119e0 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 73 6f 75 72 63 65 2e 27 20 64 6f riteError('<error>'.$source.'.do
11a00 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e 20 6e 6f 74 20 77 72 69 74 65 20 69 6e 74 6f es.not.exist,.can.not.write.into
11a20 20 63 61 63 68 65 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 .cache</error>');.}.elseif.($thi
11a40 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 s->io->isDebug()).{.$this->io->w
11a60 72 69 74 65 45 72 72 6f 72 28 27 57 72 69 74 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 riteError('Writing.'.$this->root
11a80 20 2e 20 24 66 69 6c 65 2e 27 20 69 6e 74 6f 20 63 61 63 68 65 20 66 72 6f 6d 20 27 2e 24 73 6f ...$file.'.into.cache.from.'.$so
11aa0 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 urce);.}..return.copy($source,.$
11ac0 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 this->root...$file);.}..return.f
11ae0 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 alse;.}.....public.function.copy
11b00 54 6f 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e To($file,.$target).{.if.($this->
11b20 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 enabled).{.$file.=.preg_replace(
11b40 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d '{[^'.$this->whitelist.']}i',.'-
11b60 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 ',.$file);.if.(file_exists($this
11b80 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 74 72 79 20 7b 0a 74 6f 75 63 68 28 24 ->root...$file)).{.try.{.touch($
11ba0 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 66 69 6c 65 6d 74 69 6d 65 28 24 74 this->root...$file,.filemtime($t
11bc0 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 2c 20 74 69 6d 65 28 29 29 3b 0a 7d 20 63 his->root...$file),.time());.}.c
11be0 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 atch.(\ErrorException.$e).{.....
11c00 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 74 6f 75 63 68 27 2c 20 24 74 68 69 73 2d 3e 72 Silencer::call('touch',.$this->r
11c20 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 oot...$file);.}..$this->io->writ
11c40 65 45 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 eError('Reading.'.$this->root...
11c60 24 66 69 6c 65 2e 27 20 66 72 6f 6d 20 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 $file.'.from.cache',.true,.IOInt
11c80 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 70 79 28 24 74 68 erface::DEBUG);..return.copy($th
11ca0 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a is->root...$file,.$target);.}.}.
11cc0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .return.false;.}..public.functio
11ce0 6e 20 67 63 49 73 4e 65 63 65 73 73 61 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 21 73 65 6c n.gcIsNecessary().{.return.(!sel
11d00 66 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 26 26 20 21 6d 74 5f 72 61 6e 64 28 30 f::$cacheCollected.&&.!mt_rand(0
11d20 2c 20 35 30 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 ,.50));.}..public.function.remov
11d40 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b e($file).{.if.($this->enabled).{
11d60 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 .$file.=.preg_replace('{[^'.$thi
11d80 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b s->whitelist.']}i',.'-',.$file);
11da0 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 .if.(file_exists($this->root...$
11dc0 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 file)).{.return.$this->filesyste
11de0 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a m->unlink($this->root...$file);.
11e00 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e }.}..return.false;.}..public.fun
11e20 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c ction.clear().{.if.($this->enabl
11e40 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e ed).{.return.$this->filesystem->
11e60 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a 7d 0a removeDirectory($this->root);.}.
11e80 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .return.false;.}..public.functio
11ea0 6e 20 67 63 28 24 74 74 6c 2c 20 24 6d 61 78 53 69 7a 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 n.gc($ttl,.$maxSize).{.if.($this
11ec0 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 65 78 70 69 72 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 ->enabled).{.$expire.=.new.\Date
11ee0 54 69 6d 65 28 29 3b 0a 24 65 78 70 69 72 65 2d 3e 6d 6f 64 69 66 79 28 27 2d 27 2e 24 74 74 6c Time();.$expire->modify('-'.$ttl
11f00 2e 27 20 73 65 63 6f 6e 64 73 27 29 3b 0a 0a 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e .'.seconds');..$finder.=.$this->
11f20 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 64 61 74 65 28 27 75 6e 74 69 6c 20 27 2e 24 65 78 70 69 getFinder()->date('until.'.$expi
11f40 72 65 2d 3e 66 6f 72 6d 61 74 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 29 29 3b 0a 66 6f 72 65 re->format('Y-m-d.H:i:s'));.fore
11f60 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e ach.($finder.as.$file).{.$this->
11f80 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 filesystem->unlink($file->getPat
11fa0 68 6e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 24 74 6f 74 61 6c 53 69 7a 65 20 3d 20 24 74 68 69 73 2d hname());.}..$totalSize.=.$this-
11fc0 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a >filesystem->size($this->root);.
11fe0 69 66 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 29 20 7b 0a 24 69 74 if.($totalSize.>.$maxSize).{.$it
12000 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 73 6f 72 erator.=.$this->getFinder()->sor
12020 74 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 28 29 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 tByAccessedTime()->getIterator()
12040 3b 0a 77 68 69 6c 65 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 20 26 ;.while.($totalSize.>.$maxSize.&
12060 26 20 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 24 66 69 6c 65 70 61 74 &.$iterator->valid()).{.$filepat
12080 68 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 50 61 74 h.=.$iterator->current()->getPat
120a0 68 6e 61 6d 65 28 29 3b 0a 24 74 6f 74 61 6c 53 69 7a 65 20 2d 3d 20 24 74 68 69 73 2d 3e 66 69 hname();.$totalSize.-=.$this->fi
120c0 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 74 68 69 73 lesystem->size($filepath);.$this
120e0 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 70 61 74 68 29 3b ->filesystem->unlink($filepath);
12100 0a 24 69 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 7d 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 .$iterator->next();.}.}..self::$
12120 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 74 cacheCollected.=.true;..return.t
12140 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 rue;.}..return.false;.}..public.
12160 66 75 6e 63 74 69 6f 6e 20 73 68 61 31 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 function.sha1($file).{.if.($this
12180 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ->enabled).{.$file.=.preg_replac
121a0 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 e('{[^'.$this->whitelist.']}i',.
121c0 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 '-',.$file);.if.(file_exists($th
121e0 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 68 61 31 is->root...$file)).{.return.sha1
12200 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a _file($this->root...$file);.}.}.
12220 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .return.false;.}..public.functio
12240 6e 20 73 68 61 32 35 36 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 n.sha256($file).{.if.($this->ena
12260 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b bled).{.$file.=.preg_replace('{[
12280 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 ^'.$this->whitelist.']}i',.'-',.
122a0 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 $file);.if.(file_exists($this->r
122c0 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 68 61 73 68 5f 66 69 6c 65 oot...$file)).{.return.hash_file
122e0 28 27 73 68 61 32 35 36 27 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b ('sha256',.$this->root...$file);
12300 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 .}.}..return.false;.}..protected
12320 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 46 .function.getFinder().{.return.F
12340 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 2d 3e 69 6e 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 inder::create()->in($this->root)
12360 2d 3e 66 69 6c 65 73 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ->files();.}.}.<?php............
12380 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 namespace.Composer\Command;..use
123a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
123c0 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \InputInterface;.use.Symfony\Com
123e0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
12400 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 20 65 78 rface;.....class.AboutCommand.ex
12420 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 tends.BaseCommand.{.protected.fu
12440 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 nction.configure().{.$this.->set
12460 4e 61 6d 65 28 27 61 62 6f 75 74 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 Name('about').->setDescription('
12480 53 68 6f 77 73 20 74 68 65 20 73 68 6f 72 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 Shows.the.short.information.abou
124a0 74 20 43 6f 6d 70 6f 73 65 72 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a t.Composer.').->setHelp(.<<<EOT.
124c0 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 61 62 6f 75 74 3c 2f 69 <info>php.composer.phar.about</i
124e0 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 nfo>.EOT.).;.}..protected.functi
12500 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 on.execute(InputInterface.$input
12520 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 ,.OutputInterface.$output).{.$th
12540 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f is->getIO()->write(.<<<EOT.<info
12560 3e 43 6f 6d 70 6f 73 65 72 20 2d 20 50 61 63 6b 61 67 65 20 4d 61 6e 61 67 65 6d 65 6e 74 20 66 >Composer.-.Package.Management.f
12580 6f 72 20 50 48 50 3c 2f 69 6e 66 6f 3e 0a 3c 63 6f 6d 6d 65 6e 74 3e 43 6f 6d 70 6f 73 65 72 20 or.PHP</info>.<comment>Composer.
125a0 69 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 6d 61 6e 61 67 65 72 20 74 72 61 63 6b 69 6e 67 is.a.dependency.manager.tracking
125c0 20 6c 6f 63 61 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a .local.dependencies.of.your.proj
125e0 65 63 74 73 20 61 6e 64 20 6c 69 62 72 61 72 69 65 73 2e 0a 53 65 65 20 68 74 74 70 73 3a 2f 2f ects.and.libraries..See.https://
12600 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d getcomposer.org/.for.more.inform
12620 61 74 69 6f 6e 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 45 4f 54 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ation.</comment>.EOT.);.}.}.<?ph
12640 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
12660 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a Command;..use.Composer\Factory;.
12680 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Composer\IO\IOInterface;.use
126a0 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 .Composer\Config;.use.Composer\C
126c0 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 omposer;.use.Composer\Repository
126e0 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \CompositeRepository;.use.Compos
12700 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b er\Repository\RepositoryFactory;
12720 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 .use.Composer\Script\ScriptEvent
12740 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 s;.use.Composer\Plugin\CommandEv
12760 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 ent;.use.Composer\Plugin\PluginE
12780 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 vents;.use.Composer\Util\Filesys
127a0 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f tem;.use.Symfony\Component\Conso
127c0 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 le\Input\InputArgument;.use.Symf
127e0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
12800 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tInterface;.use.Symfony\Componen
12820 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 t\Console\Input\InputOption;.use
12840 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
12860 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 t\OutputInterface;.......class.A
12880 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e rchiveCommand.extends.BaseComman
128a0 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 d.{.protected.function.configure
128c0 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 61 72 63 68 69 76 65 27 29 0a ().{.$this.->setName('archive').
128e0 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 61 6e 20 61 72 63 ->setDescription('Creates.an.arc
12900 68 69 76 65 20 6f 66 20 74 68 69 73 20 63 6f 6d 70 6f 73 65 72 20 70 61 63 6b 61 67 65 2e 27 29 hive.of.this.composer.package.')
12920 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .->setDefinition(array(.new.Inpu
12940 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 tArgument('package',.InputArgume
12960 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 61 72 nt::OPTIONAL,.'The.package.to.ar
12980 63 68 69 76 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f chive.instead.of.the.current.pro
129a0 6a 65 63 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 ject'),.new.InputArgument('versi
129c0 6f 6e 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 41 on',.InputArgument::OPTIONAL,.'A
129e0 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 66 69 6e 64 20 74 68 65 20 .version.constraint.to.find.the.
12a00 70 61 63 6b 61 67 65 20 74 6f 20 61 72 63 68 69 76 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f package.to.archive'),.new.InputO
12a20 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e ption('format',.'f',.InputOption
12a40 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 ::VALUE_REQUIRED,.'Format.of.the
12a60 20 72 65 73 75 6c 74 69 6e 67 20 61 72 63 68 69 76 65 3a 20 74 61 72 20 6f 72 20 7a 69 70 27 29 .resulting.archive:.tar.or.zip')
12a80 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 2c 20 6e 75 6c 6c 2c 20 49 ,.new.InputOption('dir',.null,.I
12aa0 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 57 72 69 nputOption::VALUE_REQUIRED,.'Wri
12ac0 74 65 20 74 68 65 20 61 72 63 68 69 76 65 20 74 6f 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 te.the.archive.to.this.directory
12ae0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 2c 20 6e 75 6c 6c '),.new.InputOption('file',.null
12b00 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 ,.InputOption::VALUE_REQUIRED,.'
12b20 57 72 69 74 65 20 74 68 65 20 61 72 63 68 69 76 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e Write.the.archive.with.the.given
12b40 20 66 69 6c 65 20 6e 61 6d 65 2e 27 0a 2e 27 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 66 6f .file.name.'..'.Note.that.the.fo
12b60 72 6d 61 74 20 77 69 6c 6c 20 62 65 20 61 70 70 65 6e 64 65 64 2e 27 29 2c 0a 6e 65 77 20 49 6e rmat.will.be.appended.'),.new.In
12b80 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 66 69 6c 74 65 72 73 27 2c 20 66 61 6c 73 putOption('ignore-filters',.fals
12ba0 65 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e e,.InputOption::VALUE_NONE,.'Ign
12bc0 6f 72 65 20 66 69 6c 74 65 72 73 20 77 68 65 6e 20 73 61 76 69 6e 67 20 70 61 63 6b 61 67 65 27 ore.filters.when.saving.package'
12be0 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 ),.)).->setHelp(.<<<EOT.The.<inf
12c00 6f 3e 61 72 63 68 69 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 o>archive</info>.command.creates
12c20 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 .an.archive.of.the.specified.for
12c40 6d 61 74 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 mat.containing.the.files.and.dir
12c60 65 63 74 6f 72 69 65 73 20 6f 66 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 70 72 6f 6a 65 63 74 ectories.of.the.Composer.project
12c80 20 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 0a 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 .or.the.specified.package.in.the
12ca0 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 77 72 69 74 65 73 20 69 74 .specified.version.and.writes.it
12cc0 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 3c 69 .to.the.specified.directory...<i
12ce0 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 61 72 63 68 69 76 65 20 5b 2d nfo>php.composer.phar.archive.[-
12d00 2d 66 6f 72 6d 61 74 3d 7a 69 70 5d 20 5b 2d 2d 64 69 72 3d 2f 66 6f 6f 5d 20 5b 70 61 63 6b 61 -format=zip].[--dir=/foo].[packa
12d20 67 65 20 5b 76 65 72 73 69 6f 6e 5d 5d 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a ge.[version]]</info>..EOT.).;.}.
12d40 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
12d60 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
12d80 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a ce.$output).{.$config.=.Factory:
12da0 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 :createConfig();.$composer.=.$th
12dc0 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 63 6f 6d is->getComposer(false);.if.($com
12de0 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d poser).{.$commandEvent.=.new.Com
12e00 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c mandEvent(PluginEvents::COMMAND,
12e20 20 27 61 72 63 68 69 76 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 .'archive',.$input,.$output);.$e
12e40 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 ventDispatcher.=.$composer->getE
12e60 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 3b 0a 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 ventDispatcher();.$eventDispatch
12e80 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e er->dispatch($commandEvent->getN
12ea0 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 24 65 76 65 6e 74 44 69 73 ame(),.$commandEvent);.$eventDis
12ec0 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 patcher->dispatchScript(ScriptEv
12ee0 65 6e 74 73 3a 3a 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d 44 29 3b 0a 7d 0a 0a 69 66 20 28 6e ents::PRE_ARCHIVE_CMD);.}..if.(n
12f00 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 ull.===.$input->getOption('forma
12f20 74 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 t')).{.$input->setOption('format
12f40 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 ',.$config->get('archive-format'
12f60 29 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ));.}.if.(null.===.$input->getOp
12f80 74 69 6f 6e 28 27 64 69 72 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e tion('dir')).{.$input->setOption
12fa0 28 27 64 69 72 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 72 63 68 69 76 65 2d 64 69 ('dir',.$config->get('archive-di
12fc0 72 27 29 29 3b 0a 7d 0a 0a 24 72 65 74 75 72 6e 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 61 72 r'));.}..$returnCode.=.$this->ar
12fe0 63 68 69 76 65 28 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 63 6f 6e 66 69 67 2c 0a chive(.$this->getIO(),.$config,.
13000 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 0a $input->getArgument('package'),.
13020 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 2c 0a $input->getArgument('version'),.
13040 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 2c 0a 24 69 6e $input->getOption('format'),.$in
13060 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 put->getOption('dir'),.$input->g
13080 65 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 etOption('file'),.$input->getOpt
130a0 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 66 69 6c 74 65 72 73 27 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 ion('ignore-filters'),.$composer
130c0 0a 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 74 75 72 6e 43 6f 64 65 20 26 26 20 24 63 .);..if.(0.===.$returnCode.&&.$c
130e0 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 omposer).{.$composer->getEventDi
13100 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 spatcher()->dispatchScript(Scrip
13120 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 52 43 48 49 56 45 5f 43 4d 44 29 3b 0a 7d 0a 0a 72 tEvents::POST_ARCHIVE_CMD);.}..r
13140 65 74 75 72 6e 20 24 72 65 74 75 72 6e 43 6f 64 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 eturn.$returnCode;.}..protected.
13160 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f function.archive(IOInterface.$io
13180 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d ,.Config.$config,.$packageName.=
131a0 20 6e 75 6c 6c 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 66 6f 72 6d 61 74 20 .null,.$version.=.null,.$format.
131c0 3d 20 27 74 61 72 27 2c 20 24 64 65 73 74 20 3d 20 27 2e 27 2c 20 24 66 69 6c 65 4e 61 6d 65 20 =.'tar',.$dest.=.'.',.$fileName.
131e0 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 2c 20 =.null,.$ignoreFilters.=.false,.
13200 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 Composer.$composer.=.null).{.if.
13220 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 ($composer).{.$archiveManager.=.
13240 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 29 3b 0a $composer->getArchiveManager();.
13260 7d 20 65 6c 73 65 20 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 46 61 63 74 6f 72 79 3b }.else.{.$factory.=.new.Factory;
13280 0a 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 .$downloadManager.=.$factory->cr
132a0 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 eateDownloadManager($io,.$config
132c0 29 3b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 66 61 63 74 6f 72 79 2d 3e 63 );.$archiveManager.=.$factory->c
132e0 72 65 61 74 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 63 6f 6e 66 69 67 2c 20 24 64 6f reateArchiveManager($config,.$do
13300 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e wnloadManager);.}..if.($packageN
13320 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 50 ame).{.$package.=.$this->selectP
13340 61 63 6b 61 67 65 28 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 ackage($io,.$packageName,.$versi
13360 6f 6e 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b on);..if.(!$package).{.return.1;
13380 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 .}.}.else.{.$package.=.$this->ge
133a0 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 0a 24 69 tComposer()->getPackage();.}..$i
133c0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 72 65 61 74 69 6e 67 20 74 68 o->writeError('<info>Creating.th
133e0 65 20 61 72 63 68 69 76 65 20 69 6e 74 6f 20 22 27 2e 24 64 65 73 74 2e 27 22 2e 3c 2f 69 6e 66 e.archive.into."'.$dest.'".</inf
13400 6f 3e 27 29 3b 0a 24 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 24 61 72 63 68 69 76 65 4d 61 6e o>');.$packagePath.=.$archiveMan
13420 61 67 65 72 2d 3e 61 72 63 68 69 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c ager->archive($package,.$format,
13440 20 24 64 65 73 74 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 .$dest,.$fileName,.$ignoreFilter
13460 73 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 3b 0a 24 73 68 6f 72 74 s);.$fs.=.new.Filesystem;.$short
13480 50 61 74 68 20 3d 20 24 66 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 67 65 74 Path.=.$fs->findShortestPath(get
134a0 63 77 64 28 29 2c 20 24 70 61 63 6b 61 67 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 0a 24 69 6f cwd(),.$packagePath,.true);..$io
134c0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 72 65 61 74 65 64 3a 20 27 2c 20 66 61 6c 73 65 29 ->writeError('Created:.',.false)
134e0 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 74 72 6c 65 6e 28 24 73 68 6f 72 74 50 61 74 68 29 20 ;.$io->write(strlen($shortPath).
13500 3c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 50 61 74 68 29 20 3f 20 24 73 68 6f 72 74 50 <.strlen($packagePath).?.$shortP
13520 61 74 68 20 3a 20 24 70 61 63 6b 61 67 65 50 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a ath.:.$packagePath);..return.0;.
13540 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 61 63 6b }..protected.function.selectPack
13560 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d age(IOInterface.$io,.$packageNam
13580 65 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 e,.$version.=.null).{.$io->write
135a0 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 53 65 61 72 63 68 69 6e 67 20 66 6f 72 20 74 68 65 20 73 Error('<info>Searching.for.the.s
135c0 70 65 63 69 66 69 65 64 20 70 61 63 6b 61 67 65 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 pecified.package.</info>');..if.
135e0 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 ($composer.=.$this->getComposer(
13600 66 61 6c 73 65 29 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 false)).{.$localRepo.=.$composer
13620 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 ->getRepositoryManager()->getLoc
13640 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 alRepository();.$repo.=.new.Comp
13660 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 ositeRepository(array_merge(arra
13680 79 28 24 6c 6f 63 61 6c 52 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 y($localRepo),.$composer->getRep
136a0 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 ositoryManager()->getRepositorie
136c0 73 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 s()));.}.else.{.$defaultRepos.=.
136e0 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 RepositoryFactory::defaultRepos(
13700 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 $this->getIO());.$io->writeError
13720 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 ('No.composer.json.found.in.the.
13740 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 65 61 72 63 68 69 6e 67 20 70 61 63 current.directory,.searching.pac
13760 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 kages.from.'...implode(',.',.arr
13780 61 79 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 24 72 65 70 6f 20 ay_keys($defaultRepos)));.$repo.
137a0 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 64 65 66 61 75 =.new.CompositeRepository($defau
137c0 6c 74 52 65 70 6f 73 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 70 6f 2d 3e ltRepos);.}..$packages.=.$repo->
137e0 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 findPackages($packageName,.$vers
13800 69 6f 6e 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3e 20 31 29 ion);..if.(count($packages).>.1)
13820 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a .{.$package.=.reset($packages);.
13840 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 46 6f 75 6e 64 20 6d 75 6c $io->writeError('<info>Found.mul
13860 74 69 70 6c 65 20 6d 61 74 63 68 65 73 2c 20 73 65 6c 65 63 74 65 64 20 27 2e 24 70 61 63 6b 61 tiple.matches,.selected.'.$packa
13880 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 ge->getPrettyString().'.</info>'
138a0 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 41 6c 74 65 72 6e 61 74 69 76 65 73 );.$io->writeError('Alternatives
138c0 20 77 65 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 .were.'.implode(',.',.array_map(
138e0 66 75 6e 63 74 69 6f 6e 20 28 24 70 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 2d 3e 67 65 74 50 72 function.($p).{.return.$p->getPr
13900 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 2c 20 24 70 61 63 6b 61 67 65 73 29 29 2e 27 2e 27 ettyString();.},.$packages)).'.'
13920 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 63 6f 6d 6d 65 6e 74 3e 50 6c 65 );.$io->writeError('<comment>Ple
13940 61 73 65 20 75 73 65 20 61 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 63 6f 6e 73 74 72 61 69 ase.use.a.more.specific.constrai
13960 6e 74 20 74 6f 20 70 69 63 6b 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 61 63 6b 61 67 65 2e 3c nt.to.pick.a.different.package.<
13980 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 63 6b 61 67 65 73 /comment>');.}.elseif.($packages
139a0 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 70 61 63 6b 61 67 65 73 29 3b ).{.$package.=.reset($packages);
139c0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 46 6f 75 6e 64 20 61 6e .$io->writeError('<info>Found.an
139e0 20 65 78 61 63 74 20 6d 61 74 63 68 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 .exact.match.'.$package->getPret
13a00 74 79 53 74 72 69 6e 67 28 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b tyString().'.</info>');.}.else.{
13a20 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 6f 75 6c 64 20 6e .$io->writeError('<error>Could.n
13a40 6f 74 20 66 69 6e 64 20 61 20 70 61 63 6b 61 67 65 20 6d 61 74 63 68 69 6e 67 20 27 2e 24 70 61 ot.find.a.package.matching.'.$pa
13a60 63 6b 61 67 65 4e 61 6d 65 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 ckageName.'.</error>');..return.
13a80 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 3c false;.}..return.$package;.}.}.<
13aa0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
13ac0 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 er\Command;..use.Composer\Compos
13ae0 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d er;.use.Composer\Config;.use.Com
13b00 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 43 poser\Console\Application;.use.C
13b20 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f omposer\Factory;.use.Composer\IO
13b40 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 \IOInterface;.use.Composer\IO\Nu
13b60 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 72 65 43 6f 6d llIO;.use.Composer\Plugin\PreCom
13b80 6d 61 6e 64 52 75 6e 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 mandRunEvent;.use.Composer\Plugi
13ba0 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 n\PluginEvents;.use.Symfony\Comp
13bc0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
13be0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
13c00 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 e\Output\OutputInterface;.use.Sy
13c20 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c mfony\Component\Console\Command\
13c40 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 Command;........abstract.class.B
13c60 61 73 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a aseCommand.extends.Command.{....
13c80 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 private.$composer;.....private.$
13ca0 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f io;........public.function.getCo
13cc0 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 20 3d 20 74 72 75 65 2c 20 24 64 69 73 61 62 6c mposer($required.=.true,.$disabl
13ce0 65 50 6c 75 67 69 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 ePlugins.=.null).{.if.(null.===.
13d00 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 $this->composer).{.$application.
13d20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 69 66 20 28 24 =.$this->getApplication();.if.($
13d40 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 application.instanceof.Applicati
13d60 6f 6e 29 20 7b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 61 70 70 6c 69 63 on).{..$this->composer.=.$applic
13d80 61 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 2c 20 24 64 ation->getComposer($required,.$d
13da0 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 71 75 69 isablePlugins);.}.elseif.($requi
13dc0 72 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 red).{.throw.new.\RuntimeExcepti
13de0 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 20 43 6f 6d 70 6f 73 65 72 on(.'Could.not.create.a.Composer
13e00 5c 43 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6e 63 65 2c 20 79 6f 75 20 6d 75 73 74 20 69 6e 6a \Composer.instance,.you.must.inj
13e20 65 63 74 20 27 2e 0a 27 6f 6e 65 20 69 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e ect.'..'one.if.this.command.is.n
13e40 6f 74 20 75 73 65 64 20 77 69 74 68 20 61 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 5c ot.used.with.a.Composer\Console\
13e60 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 27 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 Application.instance'.);.}.}..re
13e80 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c turn.$this->composer;.}.....publ
13ea0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 70 6f 73 65 72 28 43 6f 6d 70 6f 73 65 72 ic.function.setComposer(Composer
13ec0 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 .$composer).{.$this->composer.=.
13ee0 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $composer;.}.....public.function
13f00 20 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 .resetComposer().{.$this->compos
13f20 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e er.=.null;.$this->getApplication
13f40 28 29 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ()->resetComposer();.}.........p
13f60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 0a ublic.function.isProxyCommand().
13f80 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e {.return.false;.}.....public.fun
13fa0 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 ction.getIO().{.if.(null.===.$th
13fc0 69 73 2d 3e 69 6f 29 20 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e is->io).{.$application.=.$this->
13fe0 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 getApplication();.if.($applicati
14000 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 0a 24 74 on.instanceof.Application).{..$t
14020 68 69 73 2d 3e 69 6f 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 49 4f 28 29 3b his->io.=.$application->getIO();
14040 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 4f .}.else.{.$this->io.=.new.NullIO
14060 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 0a 0a ();.}.}..return.$this->io;.}....
14080 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 4f 28 49 4f 49 6e 74 65 72 66 61 .public.function.setIO(IOInterfa
140a0 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a ce.$io).{.$this->io.=.$io;.}....
140c0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 49 .protected.function.initialize(I
140e0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
14100 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 rface.$output).{...$disablePlugi
14120 6e 73 20 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 ns.=.$input->hasParameterOption(
14140 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 '--no-plugins');.$composer.=.$th
14160 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 24 64 69 73 61 62 6c 65 50 is->getComposer(false,.$disableP
14180 6c 75 67 69 6e 73 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 lugins);.if.(null.===.$composer)
141a0 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 47 6c .{.$composer.=.Factory::createGl
141c0 6f 62 61 6c 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 obal($this->getIO(),.$disablePlu
141e0 67 69 6e 73 29 3b 0a 7d 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 72 65 43 6f gins);.}.if.($composer).{.$preCo
14200 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 43 6f 6d 6d 61 6e 64 52 75 mmandRunEvent.=.new.PreCommandRu
14220 6e 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 43 4f 4d 4d 41 4e 44 nEvent(PluginEvents::PRE_COMMAND
14240 5f 52 55 4e 2c 20 24 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b _RUN,.$input,.$this->getName());
14260 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 .$composer->getEventDispatcher()
14280 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 2d 3e ->dispatch($preCommandRunEvent->
142a0 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 29 3b getName(),.$preCommandRunEvent);
142c0 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 .}..if.(true.===.$input->hasPara
142e0 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 29 20 meterOption(array('--no-ansi')).
14300 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 &&.$input->hasOption('no-progres
14320 73 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f s')).{.$input->setOption('no-pro
14340 67 72 65 73 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 gress',.true);.}..parent::initia
14360 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a lize($input,.$output);.}........
14380 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 72 ...protected.function.getPreferr
143a0 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c edInstallOptions(Config.$config,
143c0 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 6b 65 65 70 56 63 73 .InputInterface.$input,.$keepVcs
143e0 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a RequiresPreferSource.=.false).{.
14400 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 24 70 72 65 66 65 72 44 69 $preferSource.=.false;.$preferDi
14420 73 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 73 77 69 74 63 68 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 st.=.false;..switch.($config->ge
14440 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 29 20 7b 0a 63 61 73 65 20 27 t('preferred-install')).{.case.'
14460 73 6f 75 72 63 65 27 3a 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 74 72 75 65 3b 0a 62 source':.$preferSource.=.true;.b
14480 72 65 61 6b 3b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d reak;.case.'dist':.$preferDist.=
144a0 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 61 75 74 6f 27 3a 0a 64 65 66 61 75 .true;.break;.case.'auto':.defau
144c0 6c 74 3a 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f lt:...break;.}..if.($input->getO
144e0 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 ption('prefer-source').||.$input
14500 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 20 7c 7c 20 28 24 ->getOption('prefer-dist').||.($
14520 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 24 keepVcsRequiresPreferSource.&&.$
14540 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 20 26 26 20 input->hasOption('keep-vcs').&&.
14560 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 29 29 20 $input->getOption('keep-vcs'))).
14580 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 {.$preferSource.=.$input->getOpt
145a0 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 20 7c 7c 20 28 24 6b 65 65 70 56 63 ion('prefer-source').||.($keepVc
145c0 73 52 65 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 24 69 6e 70 75 74 2d sRequiresPreferSource.&&.$input-
145e0 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 20 26 26 20 24 69 6e 70 75 74 >hasOption('keep-vcs').&&.$input
14600 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 29 3b 0a 24 70 72 65 66 65 ->getOption('keep-vcs'));.$prefe
14620 72 44 69 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 rDist.=.$input->getOption('prefe
14640 72 2d 64 69 73 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 72 65 66 65 r-dist');.}..return.array($prefe
14660 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 rSource,.$preferDist);.}.}.<?php
14680 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 ............namespace.Composer\C
146a0 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 ommand;..use.Composer\Dependency
146c0 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b Resolver\Pool;.use.Composer\Pack
146e0 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 age\Link;.use.Composer\Package\P
14700 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 ackageInterface;.use.Composer\Re
14720 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f pository\ArrayRepository;.use.Co
14740 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 mposer\Repository\CompositeRepos
14760 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 itory;.use.Composer\Repository\P
14780 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c latformRepository;.use.Composer\
147a0 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 Repository\RepositoryFactory;.us
147c0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a e.Composer\Plugin\CommandEvent;.
147e0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 use.Composer\Plugin\PluginEvents
14800 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
14820 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a Formatter\OutputFormatterStyle;.
14840 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 use.Composer\Package\Version\Ver
14860 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e sionParser;.use.Symfony\Componen
14880 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 t\Console\Helper\Table;.use.Symf
148a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
148c0 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 tArgument;.use.Symfony\Component
148e0 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 \Console\Input\InputInterface;.u
14900 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
14920 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ut\InputOption;.use.Symfony\Comp
14940 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 onent\Console\Output\OutputInter
14960 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 face;.......class.BaseDependency
14980 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f Command.extends.BaseCommand.{.co
149a0 6e 73 74 20 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 47 45 20 3d 20 27 70 61 63 6b 61 67 65 27 nst.ARGUMENT_PACKAGE.=.'package'
149c0 3b 0a 63 6f 6e 73 74 20 41 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 20 3d 20 27 63 ;.const.ARGUMENT_CONSTRAINT.=.'c
149e0 6f 6e 73 74 72 61 69 6e 74 27 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 onstraint';.const.OPTION_RECURSI
14a00 56 45 20 3d 20 27 72 65 63 75 72 73 69 76 65 27 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 5f 54 VE.=.'recursive';.const.OPTION_T
14a20 52 45 45 20 3d 20 27 74 72 65 65 27 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6c 6f 72 73 REE.=.'tree';..protected.$colors
14a40 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 ;.....protected.function.configu
14a60 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 re().{.$this->setDefinition(arra
14a80 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d y(.new.InputArgument(self::ARGUM
14aa0 45 4e 54 5f 50 41 43 4b 41 47 45 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 ENT_PACKAGE,.InputArgument::REQU
14ac0 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 27 29 2c 0a 6e 65 77 IRED,.'Package.to.inspect'),.new
14ae0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 43 4f .InputArgument(self::ARGUMENT_CO
14b00 4e 53 54 52 41 49 4e 54 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 NSTRAINT,.InputArgument::OPTIONA
14b20 4c 2c 20 27 4f 70 74 69 6f 6e 61 6c 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 L,.'Optional.version.constraint'
14b40 2c 20 27 2a 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 ,.'*'),.new.InputOption(self::OP
14b60 54 49 4f 4e 5f 52 45 43 55 52 53 49 56 45 2c 20 27 72 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e TION_RECURSIVE,.'r',.InputOption
14b80 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 63 75 72 73 69 76 65 6c 79 20 72 65 73 6f 6c ::VALUE_NONE,.'Recursively.resol
14ba0 76 65 73 20 75 70 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 ves.up.to.the.root.package'),.ne
14bc0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 54 52 45 45 2c w.InputOption(self::OPTION_TREE,
14be0 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 .'t',.InputOption::VALUE_NONE,.'
14c00 50 72 69 6e 74 73 20 74 68 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 20 6e 65 73 74 65 64 20 74 Prints.the.results.as.a.nested.t
14c20 72 65 65 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ree'),.));.}..........protected.
14c40 66 75 6e 63 74 69 6f 6e 20 64 6f 45 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 function.doExecute(InputInterfac
14c60 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 e.$input,.OutputInterface.$outpu
14c80 74 2c 20 24 69 6e 76 65 72 74 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 63 6f 6d 70 6f t,.$inverted.=.false).{...$compo
14ca0 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d ser.=.$this->getComposer();.$com
14cc0 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 mandEvent.=.new.CommandEvent(Plu
14ce0 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 ginEvents::COMMAND,.$this->getNa
14d00 6d 65 28 29 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 me(),.$input,.$output);.$compose
14d20 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 r->getEventDispatcher()->dispatc
14d40 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d h($commandEvent->getName(),.$com
14d60 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 mandEvent);....$platformOverride
14d80 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 s.=.$composer->getConfig()->get(
14da0 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 70 6f 73 69 74 'platform').?:.array();.$reposit
14dc0 6f 72 79 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 ory.=.new.CompositeRepository(ar
14de0 72 61 79 28 0a 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 ray(.new.ArrayRepository(array($
14e00 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 2c 0a 24 63 6f 6d 70 6f composer->getPackage())),.$compo
14e20 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 ser->getRepositoryManager()->get
14e40 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 0a 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 LocalRepository(),.new.PlatformR
14e60 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 epository(array(),.$platformOver
14e80 72 69 64 65 73 29 2c 0a 29 29 3b 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 29 3b 0a rides),.));.$pool.=.new.Pool();.
14ea0 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 69 74 6f 72 79 $pool->addRepository($repository
14ec0 29 3b 0a 0a 0a 20 6c 69 73 74 28 24 6e 65 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 );....list($needle,.$textConstra
14ee0 69 6e 74 29 20 3d 20 61 72 72 61 79 5f 70 61 64 28 0a 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 int).=.array_pad(.explode(':',.$
14f00 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e input->getArgument(self::ARGUMEN
14f20 54 5f 50 41 43 4b 41 47 45 29 29 2c 0a 32 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d T_PACKAGE)),.2,.$input->getArgum
14f40 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 29 0a 29 ent(self::ARGUMENT_CONSTRAINT).)
14f60 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 ;....$packages.=.$pool->whatProv
14f80 69 64 65 73 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 65 65 64 6c 65 29 29 3b 0a 69 66 20 28 65 ides(strtolower($needle));.if.(e
14fa0 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e mpty($packages)).{.throw.new.\In
14fc0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 validArgumentException(sprintf('
14fe0 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 22 25 73 22 20 69 6e 20 79 Could.not.find.package."%s".in.y
15000 6f 75 72 20 70 72 6f 6a 65 63 74 27 2c 20 24 6e 65 65 64 6c 65 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 our.project',.$needle));.}......
15020 69 66 20 28 21 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e if.(!$repository->findPackage($n
15040 65 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 64 65 66 61 eedle,.$textConstraint)).{.$defa
15060 75 6c 74 52 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f ultRepos.=.new.CompositeReposito
15080 72 79 28 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 ry(RepositoryFactory::defaultRep
150a0 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 29 3b 0a 69 66 20 28 24 6d 61 74 63 68 20 os($this->getIO()));.if.($match.
150c0 3d 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 65 =.$defaultRepos->findPackage($ne
150e0 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 72 65 70 6f 73 edle,.$textConstraint)).{.$repos
15100 69 74 6f 72 79 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 41 72 72 61 79 52 65 itory->addRepository(new.ArrayRe
15120 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 63 6c 6f 6e 65 20 24 6d 61 74 63 68 29 29 29 3b 0a pository(array(clone.$match)));.
15140 7d 0a 7d 0a 0a 0a 20 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 28 24 6e 65 65 64 6c 65 29 }.}....$needles.=.array($needle)
15160 3b 0a 69 66 20 28 24 69 6e 76 65 72 74 65 64 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 ;.if.($inverted).{.foreach.($pac
15180 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6e 65 65 64 6c 65 73 20 3d 20 kages.as.$package).{.$needles.=.
151a0 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 65 65 64 6c 65 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 array_merge($needles,.array_map(
151c0 66 75 6e 63 74 69 6f 6e 20 28 4c 69 6e 6b 20 24 6c 69 6e 6b 29 20 7b 0a 72 65 74 75 72 6e 20 24 function.(Link.$link).{.return.$
151e0 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 2c 20 24 70 61 63 6b 61 67 65 2d 3e link->getTarget();.},.$package->
15200 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 27 2a 27 20 getReplaces()));.}.}....if.('*'.
15220 21 3d 3d 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 !==.$textConstraint).{.$versionP
15240 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f arser.=.new.VersionParser();.$co
15260 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 nstraint.=.$versionParser->parse
15280 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 20 Constraints($textConstraint);.}.
152a0 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 20 else.{.$constraint.=.null;.}....
152c0 24 72 65 6e 64 65 72 54 72 65 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 $renderTree.=.$input->getOption(
152e0 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 54 52 45 45 29 3b 0a 24 72 65 63 75 72 73 69 76 65 20 3d self::OPTION_TREE);.$recursive.=
15300 20 24 72 65 6e 64 65 72 54 72 65 65 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f .$renderTree.||.$input->getOptio
15320 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 56 45 29 3b 0a 0a 0a 20 24 72 n(self::OPTION_RECURSIVE);....$r
15340 65 73 75 6c 74 73 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 44 65 70 65 6e 64 65 esults.=.$repository->getDepende
15360 6e 74 73 28 24 6e 65 65 64 6c 65 73 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 69 6e 76 65 nts($needles,.$constraint,.$inve
15380 72 74 65 64 2c 20 24 72 65 63 75 72 73 69 76 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 72 65 rted,.$recursive);.if.(empty($re
153a0 73 75 6c 74 73 29 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f sults)).{.$extra.=.(null.!==.$co
153c0 6e 73 74 72 61 69 6e 74 29 20 3f 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 76 65 72 73 69 6f 6e nstraint).?.sprintf('.in.version
153e0 73 20 25 73 6d 61 74 63 68 69 6e 67 20 25 73 27 2c 20 24 69 6e 76 65 72 74 65 64 20 3f 20 27 6e s.%smatching.%s',.$inverted.?.'n
15400 6f 74 20 27 20 3a 20 27 27 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 3a 20 27 27 ot.'.:.'',.$textConstraint).:.''
15420 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 ;.$this->getIO()->writeError(spr
15440 69 6e 74 66 28 0a 27 3c 69 6e 66 6f 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 73 74 61 6c 6c intf(.'<info>There.is.no.install
15460 65 64 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 22 25 73 22 25 73 3c 2f ed.package.depending.on."%s"%s</
15480 69 6e 66 6f 3e 27 2c 0a 24 6e 65 65 64 6c 65 2c 0a 24 65 78 74 72 61 0a 29 29 3b 0a 7d 20 65 6c info>',.$needle,.$extra.));.}.el
154a0 73 65 69 66 20 28 24 72 65 6e 64 65 72 54 72 65 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 seif.($renderTree).{.$this->init
154c0 53 74 79 6c 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 6f 6f 74 20 3d 20 24 70 61 63 6b 61 67 Styles($output);.$root.=.$packag
154e0 65 73 5b 30 5d 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 73 70 72 es[0];.$this->getIO()->write(spr
15500 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 25 73 20 25 73 27 2c 20 24 72 intf('<info>%s</info>.%s.%s',.$r
15520 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 oot->getPrettyName(),.$root->get
15540 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 44 65 73 63 72 PrettyVersion(),.$root->getDescr
15560 69 70 74 69 6f 6e 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 72 65 65 28 24 72 65 iption()));.$this->printTree($re
15580 73 75 6c 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 61 62 sults);.}.else.{.$this->printTab
155a0 6c 65 28 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e le($output,.$results);.}..return
155c0 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .0;.}........protected.function.
155e0 70 72 69 6e 74 54 61 62 6c 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 printTable(OutputInterface.$outp
15600 75 74 2c 20 24 72 65 73 75 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 ut,.$results).{.$table.=.array()
15620 3b 0a 24 64 6f 75 62 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 64 6f 20 7b 0a 24 71 75 65 75 ;.$doubles.=.array();.do.{.$queu
15640 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f e.=.array();.$rows.=.array();.fo
15660 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a reach.($results.as.$result).{...
15680 0a 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 63 68 69 6c 64 72 65 ..list($package,.$link,.$childre
156a0 6e 29 20 3d 20 24 72 65 73 75 6c 74 3b 0a 24 75 6e 69 71 75 65 20 3d 20 28 73 74 72 69 6e 67 29 n).=.$result;.$unique.=.(string)
156c0 20 24 6c 69 6e 6b 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 6f 75 62 6c 65 73 5b 24 75 6e 69 71 .$link;.if.(isset($doubles[$uniq
156e0 75 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 64 6f 75 62 6c 65 73 5b 24 75 6e ue])).{.continue;.}.$doubles[$un
15700 69 71 75 65 5d 20 3d 20 74 72 75 65 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 70 6f 73 ique].=.true;.$version.=.(strpos
15720 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 ($package->getPrettyVersion(),.'
15740 4e 6f 20 76 65 72 73 69 6f 6e 20 73 65 74 27 29 20 3d 3d 3d 20 30 29 20 3f 20 27 2d 27 20 3a 20 No.version.set').===.0).?.'-'.:.
15760 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 72 $package->getPrettyVersion();.$r
15780 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 ows[].=.array($package->getPrett
157a0 79 4e 61 6d 65 28 29 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 73 yName(),.$version,.$link->getDes
157c0 63 72 69 70 74 69 6f 6e 28 29 2c 20 73 70 72 69 6e 74 66 28 27 25 73 20 28 25 73 29 27 2c 20 24 cription(),.sprintf('%s.(%s)',.$
157e0 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 link->getTarget(),.$link->getPre
15800 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 3b 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e ttyConstraint()));.if.($children
15820 29 20 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 71 75 65 75 65 2c ).{.$queue.=.array_merge($queue,
15840 20 24 63 68 69 6c 64 72 65 6e 29 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 73 20 3d 20 24 71 75 65 .$children);.}.}.$results.=.$que
15860 75 65 3b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 77 73 2c 20 ue;.$table.=.array_merge($rows,.
15880 24 74 61 62 6c 65 29 3b 0a 7d 20 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 72 65 73 75 6c 74 $table);.}.while.(!empty($result
158a0 73 29 29 3b 0a 0a 0a 20 24 72 65 6e 64 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f s));....$renderer.=.new.Table($o
158c0 75 74 70 75 74 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d utput);.$renderer->setStyle('com
158e0 70 61 63 74 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 pact');.$rendererStyle.=.$render
15900 65 72 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e er->getStyle();.$rendererStyle->
15920 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 setVerticalBorderChar('');.$rend
15940 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d ererStyle->setCellRowContentForm
15960 61 74 28 27 25 73 20 20 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 at('%s..');.$renderer->setRows($
15980 74 61 62 6c 65 29 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 table)->render();.}.......protec
159a0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 4f 75 74 70 75 74 49 6e ted.function.initStyles(OutputIn
159c0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 terface.$output).{.$this->colors
159e0 20 3d 20 61 72 72 61 79 28 0a 27 67 72 65 65 6e 27 2c 0a 27 79 65 6c 6c 6f 77 27 2c 0a 27 63 79 .=.array(.'green',.'yellow',.'cy
15a00 61 6e 27 2c 0a 27 6d 61 67 65 6e 74 61 27 2c 0a 27 62 6c 75 65 27 2c 0a 29 3b 0a 0a 66 6f 72 65 an',.'magenta',.'blue',.);..fore
15a20 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 61 73 20 24 63 6f 6c 6f 72 29 20 7b 0a ach.($this->colors.as.$color).{.
15a40 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c $style.=.new.OutputFormatterStyl
15a60 65 28 24 63 6f 6c 6f 72 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 e($color);.$output->getFormatter
15a80 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 24 63 6f 6c 6f 72 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a ()->setStyle($color,.$style);.}.
15aa0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 }.........protected.function.pri
15ac0 6e 74 54 72 65 65 28 24 72 65 73 75 6c 74 73 2c 20 24 70 72 65 66 69 78 20 3d 20 27 27 2c 20 24 ntTree($results,.$prefix.=.'',.$
15ae0 6c 65 76 65 6c 20 3d 20 31 29 0a 7b 0a 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 72 65 73 level.=.1).{.$count.=.count($res
15b00 75 6c 74 73 29 3b 0a 24 69 64 78 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c ults);.$idx.=.0;.foreach.($resul
15b20 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 0a 0a 6c 69 73 74 28 24 70 61 63 6b ts.as.$result).{......list($pack
15b40 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 63 68 69 6c 64 72 65 6e 29 20 3d 20 24 72 65 73 75 6c 74 age,.$link,.$children).=.$result
15b60 3b 0a 0a 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 6c 65 76 65 6c ;..$color.=.$this->colors[$level
15b80 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 5d 3b 0a 24 70 72 65 76 43 .%.count($this->colors)];.$prevC
15ba0 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 28 24 6c 65 76 65 6c 20 2d 20 31 olor.=.$this->colors[($level.-.1
15bc0 29 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 5d 3b 0a 24 69 73 4c 61 ).%.count($this->colors)];.$isLa
15be0 73 74 20 3d 20 28 2b 2b 24 69 64 78 20 3d 3d 20 24 63 6f 75 6e 74 29 3b 0a 24 76 65 72 73 69 6f st.=.(++$idx.==.$count);.$versio
15c00 6e 54 65 78 74 20 3d 20 28 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 nText.=.(strpos($package->getPre
15c20 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 73 65 74 27 29 20 ttyVersion(),.'No.version.set').
15c40 3d 3d 3d 20 30 29 20 3f 20 27 27 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 ===.0).?.''.:.$package->getPrett
15c60 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 54 65 78 74 20 3d 20 72 74 72 69 6d yVersion();.$packageText.=.rtrim
15c80 28 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 25 73 3c 2f 25 31 24 73 3e 20 25 73 27 2c 20 24 63 6f (sprintf('<%s>%s</%1$s>.%s',.$co
15ca0 6c 6f 72 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 lor,.$package->getPrettyName(),.
15cc0 24 76 65 72 73 69 6f 6e 54 65 78 74 29 29 3b 0a 24 6c 69 6e 6b 54 65 78 74 20 3d 20 73 70 72 69 $versionText));.$linkText.=.spri
15ce0 6e 74 66 28 27 25 73 20 3c 25 73 3e 25 73 3c 2f 25 32 24 73 3e 20 25 73 27 2c 20 24 6c 69 6e 6b ntf('%s.<%s>%s</%2$s>.%s',.$link
15d00 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 70 72 65 76 43 6f 6c 6f 72 2c 20 ->getDescription(),.$prevColor,.
15d20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 $link->getTarget(),.$link->getPr
15d40 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e ettyConstraint());.$circularWarn
15d60 20 3d 20 24 63 68 69 6c 64 72 65 6e 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 28 63 69 72 63 75 .=.$children.===.false.?.'(circu
15d80 6c 61 72 20 64 65 70 65 6e 64 65 6e 63 79 20 61 62 6f 72 74 65 64 20 68 65 72 65 29 27 20 3a 20 lar.dependency.aborted.here)'.:.
15da0 27 27 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 72 74 72 69 6d 28 73 '';.$this->writeTreeLine(rtrim(s
15dc0 70 72 69 6e 74 66 28 22 25 73 25 73 25 73 20 28 25 73 29 20 25 73 22 2c 20 24 70 72 65 66 69 78 printf("%s%s%s.(%s).%s",.$prefix
15de0 2c 20 24 69 73 4c 61 73 74 20 3f 20 27 e2 94 94 e2 94 80 e2 94 80 27 20 3a 20 27 e2 94 9c e2 94 ,.$isLast.?.'.........'.:.'.....
15e00 80 e2 94 80 27 2c 20 24 70 61 63 6b 61 67 65 54 65 78 74 2c 20 24 6c 69 6e 6b 54 65 78 74 2c 20 ....',.$packageText,.$linkText,.
15e20 24 63 69 72 63 75 6c 61 72 57 61 72 6e 29 29 29 3b 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 $circularWarn)));.if.($children)
15e40 20 7b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 72 65 65 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 .{.$this->printTree($children,.$
15e60 70 72 65 66 69 78 20 2e 20 28 24 69 73 4c 61 73 74 20 3f 20 27 20 20 20 27 20 3a 20 27 e2 94 82 prefix...($isLast.?.'...'.:.'...
15e80 20 20 27 29 2c 20 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 ..'),.$level.+.1);.}.}.}..privat
15ea0 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a e.function.writeTreeLine($line).
15ec0 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 24 69 6f {.$io.=.$this->getIO();.if.(!$io
15ee0 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 74 72 5f 72 ->isDecorated()).{.$line.=.str_r
15f00 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 e2 94 94 27 2c 20 27 e2 94 9c 27 2c 20 27 e2 94 80 e2 eplace(array('...',.'...',.'....
15f20 94 80 27 2c 20 27 e2 94 82 27 29 2c 20 61 72 72 61 79 28 27 60 2d 27 2c 20 27 7c 2d 27 2c 20 27 ..',.'...'),.array('`-',.'|-',.'
15f40 2d 27 2c 20 27 7c 27 29 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 -',.'|'),.$line);.}..$io->write(
15f60 24 6c 69 6e 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d $line);.}.}.<?php............nam
15f80 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f espace.Composer\Command;..use.Co
15fa0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 mposer\Package\Link;.use.Compose
15fc0 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 r\Package\PackageInterface;.use.
15fe0 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 Composer\Semver\Constraint\Const
16000 72 61 69 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e raint;.use.Symfony\Component\Con
16020 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 sole\Helper\Table;.use.Symfony\C
16040 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
16060 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
16080 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 sole\Output\OutputInterface;.use
160a0 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 .Composer\Repository\PlatformRep
160c0 6f 73 69 74 6f 72 79 3b 0a 0a 63 6c 61 73 73 20 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d 52 65 71 ository;..class.CheckPlatformReq
160e0 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 sCommand.extends.BaseCommand.{.p
16100 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
16120 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 27 63 68 65 63 6b 2d 70 6c 61 74 66 6f 72 6d 2d 72 $this->setName('check-platform-r
16140 65 71 73 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 68 65 63 6b 20 74 68 eqs').->setDescription('Check.th
16160 61 74 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 72 65 20 73 61 74 at.platform.requirements.are.sat
16180 69 73 66 69 65 64 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 43 68 65 63 isfied.').->setHelp(.<<<EOT.Chec
161a0 6b 73 20 74 68 61 74 20 79 6f 75 72 20 50 48 50 20 61 6e 64 20 65 78 74 65 6e 73 69 6f 6e 73 20 ks.that.your.PHP.and.extensions.
161c0 76 65 72 73 69 6f 6e 73 20 6d 61 74 63 68 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 versions.match.the.platform.requ
161e0 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 irements.of.the.installed.packag
16200 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 68 65 es...<info>php.composer.phar.che
16220 63 6b 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 3b 0a ck-platform-reqs</info>..EOT.);.
16240 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e }..protected.function.execute(In
16260 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 putInterface.$input,.OutputInter
16280 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 face.$output).{.$composer.=.$thi
162a0 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 72 65 70 6f 73 20 3d 20 24 63 6f 6d s->getComposer();..$repos.=.$com
162c0 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 poser->getRepositoryManager()->g
162e0 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 61 6c 6c 50 61 63 6b 61 67 etLocalRepository();..$allPackag
16300 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 es.=.array_merge(array($composer
16320 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 2c 20 24 72 65 70 6f 73 2d 3e 67 65 74 50 61 63 6b ->getPackage()),.$repos->getPack
16340 61 67 65 73 28 29 29 3b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e ages());.$requires.=.$composer->
16360 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a getPackage()->getDevRequires();.
16380 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 20 3d foreach.($requires.as.$require.=
163a0 3e 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 65 5d 20 3d >.$link).{.$requires[$require].=
163c0 20 61 72 72 61 79 28 24 6c 69 6e 6b 29 3b 0a 7d 0a 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 .array($link);.}.....foreach.($a
163e0 6c 6c 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 61 63 llPackages.as.$package).{.foreac
16400 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 72 h.($package->getRequires().as.$r
16420 65 71 75 69 72 65 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 equire.=>.$link).{.$requires[$re
16440 71 75 69 72 65 5d 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 72 65 71 quire][].=.$link;.}.}.ksort($req
16460 75 69 72 65 73 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 uires);..$platformRepo.=.new.Pla
16480 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 tformRepository(array(),.array()
164a0 29 3b 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 20 3d 20 24 70 );.$currentPlatformPackages.=.$p
164c0 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 63 75 72 latformRepo->getPackages();.$cur
164e0 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 rentPlatformPackageMap.=.array()
16500 3b 0a 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 ;.....foreach.($currentPlatformP
16520 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 ackages.as.$currentPlatformPacka
16540 67 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 ge).{.$currentPlatformPackageMap
16560 5b 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d [$currentPlatformPackage->getNam
16580 65 28 29 5d 20 3d 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 3b 0a e()].=.$currentPlatformPackage;.
165a0 7d 0a 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 65 78 69 74 43 6f 64 }..$results.=.array();..$exitCod
165c0 65 20 3d 20 30 3b 0a 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 e.=.0;.....foreach.($requires.as
165e0 20 24 72 65 71 75 69 72 65 20 3d 3e 20 24 6c 69 6e 6b 73 29 20 7b 0a 69 66 20 28 70 72 65 67 5f .$require.=>.$links).{.if.(preg_
16600 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f match(PlatformRepository::PLATFO
16620 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 75 69 72 65 29 29 20 7b 0a 69 RM_PACKAGE_REGEX,.$require)).{.i
16640 66 20 28 69 73 73 65 74 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 f.(isset($currentPlatformPackage
16660 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 29 29 20 7b 0a 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a Map[$require])).{.$pass.=.true;.
16680 24 76 65 72 73 69 6f 6e 20 3d 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 $version.=.$currentPlatformPacka
166a0 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a geMap[$require]->getVersion();..
166c0 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 foreach.($links.as.$link).{.if.(
166e0 21 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 !$link->getConstraint()->matches
16700 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 29 (new.Constraint('=',.$version)))
16720 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 63 75 72 72 65 6e 74 50 .{.$results[].=.array(.$currentP
16740 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 latformPackageMap[$require]->get
16760 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 PrettyName(),.$currentPlatformPa
16780 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 ckageMap[$require]->getPrettyVer
167a0 73 69 6f 6e 28 29 2c 0a 24 6c 69 6e 6b 2c 0a 27 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c 2f 65 sion(),.$link,.'<error>failed</e
167c0 72 72 6f 72 3e 27 2c 0a 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 65 78 69 74 rror>',.);.$pass.=.false;..$exit
167e0 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 78 69 74 43 6f 64 65 2c 20 31 29 3b 0a 7d 0a 7d 0a 0a 69 Code.=.max($exitCode,.1);.}.}..i
16800 66 20 28 24 70 61 73 73 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a f.($pass).{.$results[].=.array(.
16820 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 $currentPlatformPackageMap[$requ
16840 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 63 75 72 72 65 6e 74 50 ire]->getPrettyName(),.$currentP
16860 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 latformPackageMap[$require]->get
16880 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 6e 75 6c 6c 2c 0a 27 3c 69 6e 66 6f 3e 73 75 PrettyVersion(),.null,.'<info>su
168a0 63 63 65 73 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 ccess</info>',.);.}.}.else.{.$re
168c0 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 72 65 71 75 69 72 65 2c 0a 27 6e 2f 61 27 sults[].=.array(.$require,.'n/a'
168e0 2c 0a 24 6c 69 6e 6b 73 5b 30 5d 2c 0a 27 3c 65 72 72 6f 72 3e 6d 69 73 73 69 6e 67 3c 2f 65 72 ,.$links[0],.'<error>missing</er
16900 72 6f 72 3e 27 2c 0a 29 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 78 69 74 ror>',.);..$exitCode.=.max($exit
16920 43 6f 64 65 2c 20 32 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 61 62 Code,.2);.}.}.}..$this->printTab
16940 6c 65 28 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 le($output,.$results);..return.$
16960 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 exitCode;.}..protected.function.
16980 70 72 69 6e 74 54 61 62 6c 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 printTable(OutputInterface.$outp
169a0 75 74 2c 20 24 72 65 73 75 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 ut,.$results).{.$table.=.array()
169c0 3b 0a 24 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 ;.$rows.=.array();.foreach.($res
169e0 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 6c 69 73 74 28 24 70 6c 61 74 ults.as.$result).{....list($plat
16a00 66 6f 72 6d 50 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 6e 6b 2c 20 24 73 formPackage,.$version,.$link,.$s
16a20 74 61 74 75 73 29 20 3d 20 24 72 65 73 75 6c 74 3b 0a 24 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 tatus).=.$result;.$rows[].=.arra
16a40 79 28 0a 24 70 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2c 0a 24 76 65 72 73 69 6f 6e 2c 0a 24 y(.$platformPackage,.$version,.$
16a60 6c 69 6e 6b 20 3f 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 20 25 73 20 28 25 73 29 27 2c 20 link.?.sprintf('%s.%s.%s.(%s)',.
16a80 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 $link->getSource(),.$link->getDe
16aa0 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c scription(),.$link->getTarget(),
16ac0 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3a .$link->getPrettyConstraint()).:
16ae0 20 27 27 2c 0a 24 73 74 61 74 75 73 2c 0a 29 3b 0a 7d 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 .'',.$status,.);.}.$table.=.arra
16b00 79 5f 6d 65 72 67 65 28 24 72 6f 77 73 2c 20 24 74 61 62 6c 65 29 3b 0a 0a 0a 20 24 72 65 6e 64 y_merge($rows,.$table);....$rend
16b20 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 65 6e 64 erer.=.new.Table($output);.$rend
16b40 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 65 6e 64 erer->setStyle('compact');.$rend
16b60 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 6c 65 28 ererStyle.=.$renderer->getStyle(
16b80 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f );.$rendererStyle->setVerticalBo
16ba0 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 rderChar('');.$rendererStyle->se
16bc0 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 tCellRowContentFormat('%s..');.$
16be0 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 6e 64 65 renderer->setRows($table)->rende
16c00 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 r();.}.}.<?php............namesp
16c20 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f ace.Composer\Command;..use.Compo
16c40 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b ser\Cache;.use.Composer\Factory;
16c60 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
16c80 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 nput\InputInterface;.use.Symfony
16ca0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 \Component\Console\Output\Output
16cc0 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 65 61 72 43 61 63 68 65 43 Interface;.....class.ClearCacheC
16ce0 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f ommand.extends.BaseCommand.{.pro
16d00 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
16d20 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 63 6c 65 61 72 2d 63 61 63 68 65 27 29 0a 2d 3e 73 his.->setName('clear-cache').->s
16d40 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 63 6c 65 61 72 63 61 63 68 65 27 29 29 0a 2d etAliases(array('clearcache')).-
16d60 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 6c 65 61 72 73 20 63 6f 6d 70 6f 73 65 72 >setDescription('Clears.composer
16d80 5c 27 73 20 69 6e 74 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 20 63 61 63 68 65 2e 27 29 0a 2d 3e \'s.internal.package.cache.').->
16da0 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 6c 65 61 72 2d setHelp(.<<<EOT.The.<info>clear-
16dc0 63 61 63 68 65 3c 2f 69 6e 66 6f 3e 20 64 65 6c 65 74 65 73 20 61 6c 6c 20 63 61 63 68 65 64 20 cache</info>.deletes.all.cached.
16de0 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 27 73 0a 63 61 63 68 65 20 64 packages.from.composer's.cache.d
16e00 69 72 65 63 74 6f 72 79 2e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 irectory..EOT.).;.}..protected.f
16e20 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 unction.execute(InputInterface.$
16e40 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
16e60 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 {.$config.=.Factory::createConfi
16e80 67 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 24 63 61 63 g();.$io.=.$this->getIO();..$cac
16ea0 68 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 hePaths.=.array(.'cache-vcs-dir'
16ec0 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 .=>.$config->get('cache-vcs-dir'
16ee0 29 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e ),.'cache-repo-dir'.=>.$config->
16f00 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 get('cache-repo-dir'),.'cache-fi
16f20 6c 65 73 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d les-dir'.=>.$config->get('cache-
16f40 66 69 6c 65 73 2d 64 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e files-dir'),.'cache-dir'.=>.$con
16f60 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 69 72 27 29 2c 0a 29 3b 0a 0a 66 6f 72 65 61 fig->get('cache-dir'),.);..forea
16f80 63 68 20 28 24 63 61 63 68 65 50 61 74 68 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 63 61 63 68 ch.($cachePaths.as.$key.=>.$cach
16fa0 65 50 61 74 68 29 20 7b 0a 24 63 61 63 68 65 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 ePath).{.$cachePath.=.realpath($
16fc0 63 61 63 68 65 50 61 74 68 29 3b 0a 69 66 20 28 21 24 63 61 63 68 65 50 61 74 68 29 20 7b 0a 24 cachePath);.if.(!$cachePath).{.$
16fe0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 61 63 68 65 20 64 69 72 65 io->writeError("<info>Cache.dire
17000 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 28 24 6b 65 79 29 3a 20 24 63 61 ctory.does.not.exist.($key):.$ca
17020 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 chePath</info>");..continue;.}.$
17040 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 24 63 61 63 68 65 50 61 74 cache.=.new.Cache($io,.$cachePat
17060 68 29 3b 0a 69 66 20 28 21 24 63 61 63 68 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a h);.if.(!$cache->isEnabled()).{.
17080 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 61 63 68 65 20 69 73 20 $io->writeError("<info>Cache.is.
170a0 6e 6f 74 20 65 6e 61 62 6c 65 64 20 28 24 6b 65 79 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f not.enabled.($key):.$cachePath</
170c0 69 6e 66 6f 3e 22 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 info>");..continue;.}..$io->writ
170e0 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 6c 65 61 72 69 6e 67 20 63 61 63 68 65 20 28 24 6b eError("<info>Clearing.cache.($k
17100 65 79 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 24 63 61 63 68 65 ey):.$cachePath</info>");.$cache
17120 2d 3e 63 6c 65 61 72 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ->clear();.}..$io->writeError('<
17140 69 6e 66 6f 3e 41 6c 6c 20 63 61 63 68 65 73 20 63 6c 65 61 72 65 64 2e 3c 2f 69 6e 66 6f 3e 27 info>All.caches.cleared.</info>'
17160 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
17180 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Command;..use.Compose
171a0 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 r\Util\Platform;.use.Composer\Ut
171c0 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 il\Silencer;.use.Symfony\Compone
171e0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
17200 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
17220 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nput\InputArgument;.use.Symfony\
17240 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 Component\Console\Input\InputOpt
17260 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
17280 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 le\Output\OutputInterface;.use.C
172a0 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e omposer\Config;.use.Composer\Con
172c0 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 fig\JsonConfigSource;.use.Compos
172e0 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 er\Factory;.use.Composer\Json\Js
17300 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 onFile;.use.Composer\Semver\Vers
17320 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c ionParser;.use.Composer\Package\
17340 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 43 6f BasePackage;......class.ConfigCo
17360 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 mmand.extends.BaseCommand.{....p
17380 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 rotected.$config;.....protected.
173a0 24 63 6f 6e 66 69 67 46 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 $configFile;.....protected.$conf
173c0 69 67 53 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f 6e igSource;.....protected.$authCon
173e0 66 69 67 46 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f 6e 66 figFile;.....protected.$authConf
17400 69 67 53 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e igSource;.....protected.function
17420 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 .configure().{.$this.->setName('
17440 63 6f 6e 66 69 67 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 74 73 20 config').->setDescription('Sets.
17460 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f config.options.').->setDefinitio
17480 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c n(array(.new.InputOption('global
174a0 27 2c 20 27 67 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ',.'g',.InputOption::VALUE_NONE,
174c0 20 27 41 70 70 6c 79 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f .'Apply.command.to.the.global.co
174e0 6e 66 69 67 20 66 69 6c 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 65 64 nfig.file'),.new.InputOption('ed
17500 69 74 6f 72 27 2c 20 27 65 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e itor',.'e',.InputOption::VALUE_N
17520 4f 4e 45 2c 20 27 4f 70 65 6e 20 65 64 69 74 6f 72 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 ONE,.'Open.editor'),.new.InputOp
17540 74 69 6f 6e 28 27 61 75 74 68 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('auth',.'a',.InputOption::V
17560 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 66 66 65 63 74 20 61 75 74 68 20 63 6f 6e 66 69 67 20 66 ALUE_NONE,.'Affect.auth.config.f
17580 69 6c 65 20 28 6f 6e 6c 79 20 75 73 65 64 20 66 6f 72 20 2d 2d 65 64 69 74 6f 72 29 27 29 2c 0a ile.(only.used.for.--editor)'),.
175a0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 2c 20 6e 75 6c 6c 2c 20 49 new.InputOption('unset',.null,.I
175c0 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 6e 73 65 74 20 74 nputOption::VALUE_NONE,.'Unset.t
175e0 68 65 20 67 69 76 65 6e 20 73 65 74 74 69 6e 67 2d 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 he.given.setting-key'),.new.Inpu
17600 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e tOption('list',.'l',.InputOption
17620 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f ::VALUE_NONE,.'List.configuratio
17640 6e 20 73 65 74 74 69 6e 67 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 n.settings'),.new.InputOption('f
17660 69 6c 65 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 ile',.'f',.InputOption::VALUE_RE
17680 51 55 49 52 45 44 2c 20 27 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 68 6f 6f 73 65 20 61 QUIRED,.'If.you.want.to.choose.a
176a0 20 64 69 66 66 65 72 65 6e 74 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 63 6f 6e 66 .different.composer.json.or.conf
176c0 69 67 2e 6a 73 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 62 73 6f ig.json'),.new.InputOption('abso
176e0 6c 75 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f lute',.null,.InputOption::VALUE_
17700 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 73 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 20 77 68 NONE,.'Returns.absolute.paths.wh
17720 65 6e 20 66 65 74 63 68 69 6e 67 20 2a 2d 64 69 72 20 63 6f 6e 66 69 67 20 76 61 6c 75 65 73 20 en.fetching.*-dir.config.values.
17740 69 6e 73 74 65 61 64 20 6f 66 20 72 65 6c 61 74 69 76 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 instead.of.relative'),.new.Input
17760 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 6b 65 79 27 2c 20 6e 75 6c 6c 2c 20 27 53 Argument('setting-key',.null,.'S
17780 65 74 74 69 6e 67 20 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 etting.key'),.new.InputArgument(
177a0 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 'setting-value',.InputArgument::
177c0 49 53 5f 41 52 52 41 59 2c 20 27 53 65 74 74 69 6e 67 20 76 61 6c 75 65 27 29 2c 0a 29 29 0a 2d IS_ARRAY,.'Setting.value'),.)).-
177e0 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 6c >setHelp(.<<<EOT.This.command.al
17800 6c 6f 77 73 20 79 6f 75 20 74 6f 20 65 64 69 74 20 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 lows.you.to.edit.composer.config
17820 20 73 65 74 74 69 6e 67 73 20 61 6e 64 20 72 65 70 6f 73 69 74 6f 72 69 65 73 0a 69 6e 20 65 69 .settings.and.repositories.in.ei
17840 74 68 65 72 20 74 68 65 20 6c 6f 63 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c ther.the.local.composer.json.fil
17860 65 20 6f 72 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 e.or.the.global.config.json.file
17880 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 69 74 20 6c 65 74 73 20 79 6f 75 20 65 64 69 74 ...Additionally.it.lets.you.edit
178a0 20 6d 6f 73 74 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 63 6f .most.properties.in.the.local.co
178c0 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 0a 0a 54 6f 20 73 65 74 20 61 20 63 6f 6e 66 69 67 20 73 65 mposer.json...To.set.a.config.se
178e0 74 74 69 6e 67 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 tting:......<comment>%command.fu
17900 6c 6c 5f 6e 61 6d 65 25 20 62 69 6e 2d 64 69 72 20 62 69 6e 2f 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a ll_name%.bin-dir.bin/</comment>.
17920 0a 54 6f 20 72 65 61 64 20 61 20 63 6f 6e 66 69 67 20 73 65 74 74 69 6e 67 3a 0a 0a 20 20 20 20 .To.read.a.config.setting:......
17940 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 62 69 6e <comment>%command.full_name%.bin
17960 2d 64 69 72 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 20 20 20 20 4f 75 74 70 75 74 73 3a 20 3c 69 6e 66 -dir</comment>.....Outputs:.<inf
17980 6f 3e 62 69 6e 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 67 6c 6f 62 61 6c o>bin</info>..To.edit.the.global
179a0 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 .config.json.file:......<comment
179c0 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 67 6c 6f 62 61 6c 3c 2f 63 >%command.full_name%.--global</c
179e0 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 61 64 64 20 61 20 72 65 70 6f 73 69 74 6f 72 79 3a 0a 0a 20 omment>..To.add.a.repository:...
17a00 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 ...<comment>%command.full_name%.
17a20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 73 3a 2f 2f 62 61 72 repositories.foo.vcs.https://bar
17a40 2e 63 6f 6d 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 72 65 6d 6f 76 65 20 61 20 72 65 70 6f .com</comment>..To.remove.a.repo
17a60 73 69 74 6f 72 79 20 28 72 65 70 6f 20 69 73 20 61 20 73 68 6f 72 74 20 61 6c 69 61 73 20 66 6f sitory.(repo.is.a.short.alias.fo
17a80 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 r.repositories):......<comment>%
17aa0 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 75 6e 73 65 74 20 72 65 70 6f 2e command.full_name%.--unset.repo.
17ac0 66 6f 6f 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 64 69 73 61 62 6c 65 20 70 61 63 6b 61 67 foo</comment>..To.disable.packag
17ae0 69 73 74 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c ist:......<comment>%command.full
17b00 5f 6e 61 6d 65 25 20 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 20 66 61 6c 73 65 3c 2f 63 6f 6d _name%.repo.packagist.false</com
17b20 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 74 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 ment>..You.can.alter.repositorie
17b40 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 s.in.the.global.config.json.file
17b60 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 74 68 65 0a 3c 69 6e 66 6f 3e 2d 2d 67 6c 6f 62 61 .by.passing.in.the.<info>--globa
17b80 6c 3c 2f 69 6e 66 6f 3e 20 6f 70 74 69 6f 6e 2e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 66 69 l</info>.option...To.edit.the.fi
17ba0 6c 65 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 65 64 69 74 6f 72 3a 0a 0a 20 20 20 20 3c le.in.an.external.editor:......<
17bc0 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 64 comment>%command.full_name%.--ed
17be0 69 74 6f 72 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 63 68 6f 6f 73 65 20 79 6f 75 72 20 65 itor</comment>..To.choose.your.e
17c00 64 69 74 6f 72 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 22 45 44 49 54 4f 52 22 20 65 ditor.you.can.set.the."EDITOR".e
17c20 6e 76 20 76 61 72 69 61 62 6c 65 2e 0a 0a 54 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 63 nv.variable...To.get.a.list.of.c
17c40 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 66 69 6c 65 3a onfiguration.values.in.the.file:
17c60 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d ......<comment>%command.full_nam
17c80 65 25 20 2d 2d 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 77 e%.--list</comment>..You.can.alw
17ca0 61 79 73 20 70 61 73 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6f 70 74 69 6f 6e 2e 20 41 ays.pass.more.than.one.option..A
17cc0 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 65 64 69 s.an.example,.if.you.want.to.edi
17ce0 74 20 74 68 65 0a 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a 0a t.the.global.config.json.file...
17d00 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 ....<comment>%command.full_name%
17d20 20 2d 2d 65 64 69 74 6f 72 20 2d 2d 67 6c 6f 62 61 6c 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 45 4f 54 .--editor.--global</comment>.EOT
17d40 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e .).;.}.....protected.function.in
17d60 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 itialize(InputInterface.$input,.
17d80 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 70 61 72 65 6e OutputInterface.$output).{.paren
17da0 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a t::initialize($input,.$output);.
17dc0 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 .if.($input->getOption('global')
17de0 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 .&&.null.!==.$input->getOption('
17e00 66 69 6c 65 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 file')).{.throw.new.\RuntimeExce
17e20 70 74 69 6f 6e 28 27 2d 2d 66 69 6c 65 20 61 6e 64 20 2d 2d 67 6c 6f 62 61 6c 20 63 61 6e 20 6e ption('--file.and.--global.can.n
17e40 6f 74 20 62 65 20 63 6f 6d 62 69 6e 65 64 27 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 ot.be.combined');.}..$io.=.$this
17e60 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f ->getIO();.$this->config.=.Facto
17e80 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 0a 0a 20 0a 20 24 63 6f 6e ry::createConfig($io);......$con
17ea0 66 69 67 46 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f figFile.=.$input->getOption('glo
17ec0 62 61 6c 27 29 0a 3f 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d bal').?.($this->config->get('hom
17ee0 65 27 29 20 2e 20 27 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 0a 3a 20 28 24 69 6e 70 75 74 2d e')...'/config.json').:.($input-
17f00 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 29 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 67 >getOption('file').?:.Factory::g
17f20 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a 0a 0a 20 69 66 20 28 0a 28 24 63 6f 6e etComposerFile());....if.(.($con
17f40 66 69 67 46 69 6c 65 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 figFile.===.'composer.json'.||.$
17f60 63 6f 6e 66 69 67 46 69 6c 65 20 3d 3d 3d 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 configFile.===.'./composer.json'
17f80 29 0a 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 0a 26 ).&&.!file_exists($configFile).&
17fa0 26 20 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 20 3d 3d 3d 20 72 65 61 6c 70 61 74 &.realpath(getcwd()).===.realpat
17fc0 68 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 0a 29 20 h($this->config->get('home')).).
17fe0 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c {.file_put_contents($configFile,
18000 20 22 7b 5c 6e 7d 5c 6e 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 ."{\n}\n");.}..$this->configFile
18020 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c 20 6e 75 6c .=.new.JsonFile($configFile,.nul
18040 6c 2c 20 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e l,.$io);.$this->configSource.=.n
18060 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ew.JsonConfigSource($this->confi
18080 67 46 69 6c 65 29 3b 0a 0a 24 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 20 3d 20 24 69 6e 70 75 gFile);..$authConfigFile.=.$inpu
180a0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 0a 3f 20 28 24 74 68 69 73 2d t->getOption('global').?.($this-
180c0 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 >config->get('home')...'/auth.js
180e0 6f 6e 27 29 0a 3a 20 64 69 72 6e 61 6d 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 46 on').:.dirname(realpath($configF
18100 69 6c 65 29 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 ile))...'/auth.json';..$this->au
18120 74 68 43 6f 6e 66 69 67 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 61 75 74 thConfigFile.=.new.JsonFile($aut
18140 68 43 6f 6e 66 69 67 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e hConfigFile,.null,.$io);.$this->
18160 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 authConfigSource.=.new.JsonConfi
18180 67 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2c 20 74 gSource($this->authConfigFile,.t
181a0 72 75 65 29 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 rue);....if.($input->getOption('
181c0 67 6c 6f 62 61 6c 27 29 20 26 26 20 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e global').&&.!$this->configFile->
181e0 65 78 69 73 74 73 28 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 exists()).{.touch($this->configF
18200 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 ile->getPath());.$this->configFi
18220 6c 65 2d 3e 77 72 69 74 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 6e 65 77 20 le->write(array('config'.=>.new.
18240 5c 41 72 72 61 79 4f 62 6a 65 63 74 29 29 3b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 \ArrayObject));.Silencer::call('
18260 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 chmod',.$this->configFile->getPa
18280 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 th(),.0600);.}.if.($input->getOp
182a0 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 75 74 68 43 6f tion('global').&&.!$this->authCo
182c0 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 nfigFile->exists()).{.touch($thi
182e0 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 24 s->authConfigFile->getPath());.$
18300 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 77 72 69 74 65 28 61 72 72 61 this->authConfigFile->write(arra
18320 79 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 y('bitbucket-oauth'.=>.new.\Arra
18340 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c yObject,.'github-oauth'.=>.new.\
18360 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e ArrayObject,.'gitlab-oauth'.=>.n
18380 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 20 ew.\ArrayObject,.'gitlab-token'.
183a0 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 68 74 74 70 2d 62 61 73 69 63 =>.new.\ArrayObject,.'http-basic
183c0 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 29 29 3b 0a 53 69 6c 65 6e 63 65 '.=>.new.\ArrayObject));.Silence
183e0 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 r::call('chmod',.$this->authConf
18400 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 0a 69 66 20 igFile->getPath(),.0600);.}..if.
18420 28 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b (!$this->configFile->exists()).{
18440 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 .throw.new.\RuntimeException(spr
18460 69 6e 74 66 28 27 46 69 6c 65 20 22 25 73 22 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 intf('File."%s".cannot.be.found.
18480 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 27 2c 20 24 63 6f 6e 66 in.the.current.directory',.$conf
184a0 69 67 46 69 6c 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 igFile));.}.}.....protected.func
184c0 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 tion.execute(InputInterface.$inp
184e0 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a ut,.OutputInterface.$output).{..
18500 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 65 64 69 74 6f 72 27 29 .if.($input->getOption('editor')
18520 29 20 7b 0a 24 65 64 69 74 6f 72 20 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 63 6d 64 28 67 65 74 ).{.$editor.=.escapeshellcmd(get
18540 65 6e 76 28 27 45 44 49 54 4f 52 27 29 29 3b 0a 69 66 20 28 21 24 65 64 69 74 6f 72 29 20 7b 0a env('EDITOR'));.if.(!$editor).{.
18560 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 65 64 if.(Platform::isWindows()).{.$ed
18580 69 74 6f 72 20 3d 20 27 6e 6f 74 65 70 61 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 itor.=.'notepad';.}.else.{.forea
185a0 63 68 20 28 61 72 72 61 79 28 27 65 64 69 74 6f 72 27 2c 20 27 76 69 6d 27 2c 20 27 76 69 27 2c ch.(array('editor',.'vim',.'vi',
185c0 20 27 6e 61 6e 6f 27 2c 20 27 70 69 63 6f 27 2c 20 27 65 64 27 29 20 61 73 20 24 63 61 6e 64 69 .'nano',.'pico',.'ed').as.$candi
185e0 64 61 74 65 29 20 7b 0a 69 66 20 28 65 78 65 63 28 27 77 68 69 63 68 20 27 2e 24 63 61 6e 64 69 date).{.if.(exec('which.'.$candi
18600 64 61 74 65 29 29 20 7b 0a 24 65 64 69 74 6f 72 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 date)).{.$editor.=.$candidate;.b
18620 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 reak;.}.}.}.}..$file.=.$input->g
18640 65 74 4f 70 74 69 6f 6e 28 27 61 75 74 68 27 29 20 3f 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f etOption('auth').?.$this->authCo
18660 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 6f 6e nfigFile->getPath().:.$this->con
18680 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 3b 0a 73 79 73 74 65 6d 28 24 65 64 69 74 figFile->getPath();.system($edit
186a0 6f 72 20 2e 20 27 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 or...'.'...$file...(Platform::is
186c0 57 69 6e 64 6f 77 73 28 29 20 3f 20 27 27 20 3a 20 27 20 3e 20 60 74 74 79 60 27 29 29 3b 0a 0a Windows().?.''.:.'.>.`tty`'));..
186e0 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 return.0;.}..if.(!$input->getOpt
18700 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e ion('global')).{.$this->config->
18720 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 merge($this->configFile->read())
18740 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f ;.$this->config->merge(array('co
18760 6e 66 69 67 27 20 3d 3e 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e nfig'.=>.$this->authConfigFile->
18780 65 78 69 73 74 73 28 29 20 3f 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 exists().?.$this->authConfigFile
187a0 2d 3e 72 65 61 64 28 29 20 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 ->read().:.array()));.}....if.($
187c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 24 74 68 69 input->getOption('list')).{.$thi
187e0 73 2d 3e 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 66 s->listConfiguration($this->conf
18800 69 67 2d 3e 61 6c 6c 28 29 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 72 61 77 28 29 2c ig->all(),.$this->config->raw(),
18820 20 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 73 65 74 74 69 6e .$output);..return.0;.}..$settin
18840 67 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 gKey.=.$input->getArgument('sett
18860 69 6e 67 2d 6b 65 79 27 29 3b 0a 69 66 20 28 21 24 73 65 74 74 69 6e 67 4b 65 79 29 20 7b 0a 72 ing-key');.if.(!$settingKey).{.r
18880 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 69 eturn.0;.}....if.(array().!==.$i
188a0 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 nput->getArgument('setting-value
188c0 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 ').&&.$input->getOption('unset')
188e0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
18900 27 59 6f 75 20 63 61 6e 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 20 61 20 73 65 74 74 69 6e 67 20 76 'You.can.not.combine.a.setting.v
18920 61 6c 75 65 20 77 69 74 68 20 2d 2d 75 6e 73 65 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 alue.with.--unset');.}....if.(ar
18940 72 61 79 28 29 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 ray().===.$input->getArgument('s
18960 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 etting-value').&&.!$input->getOp
18980 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 tion('unset')).{.$properties.=.a
189a0 72 72 61 79 28 27 6e 61 6d 65 27 2c 20 27 74 79 70 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f rray('name',.'type',.'descriptio
189c0 6e 27 2c 20 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 76 65 72 73 69 6f 6e 27 2c 20 27 6d 69 6e 69 n',.'homepage',.'version',.'mini
189e0 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 2c 20 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c mum-stability',.'prefer-stable',
18a00 20 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 6c 69 63 65 6e 73 65 27 2c 20 27 65 78 74 72 61 27 29 .'keywords',.'license',.'extra')
18a20 3b 0a 24 72 61 77 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e ;.$rawData.=.$this->configFile->
18a40 72 65 61 64 28 29 3b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 61 read();.$data.=.$this->config->a
18a60 6c 6c 28 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f ll();.if.(preg_match('/^repos?(?
18a80 3a 69 74 6f 72 69 65 73 29 3f 28 3f 3a 5c 2e 28 2e 2b 29 29 3f 2f 27 2c 20 24 73 65 74 74 69 6e :itories)?(?:\.(.+))?/',.$settin
18aa0 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d gKey,.$matches)).{.if.(!isset($m
18ac0 61 74 63 68 65 73 5b 31 5d 29 20 7c 7c 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 27 atches[1]).||.$matches[1].===.''
18ae0 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 72 65 70 6f 73 69 ).{.$value.=.isset($data['reposi
18b00 74 6f 72 69 65 73 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 tories']).?.$data['repositories'
18b20 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 69 73 73 65 74 ].:.array();.}.else.{.if.(!isset
18b40 28 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 6d 61 74 63 68 65 73 5b ($data['repositories'][$matches[
18b60 31 5d 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 1]])).{.throw.new.\InvalidArgume
18b80 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 72 65 20 69 73 20 6e 6f 20 27 2e 24 6d 61 74 63 ntException('There.is.no.'.$matc
18ba0 68 65 73 5b 31 5d 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d hes[1].'.repository.defined');.}
18bc0 0a 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d ..$value.=.$data['repositories']
18be0 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 70 6f [$matches[1]];.}.}.elseif.(strpo
18c00 73 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 27 2e 27 29 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 s($settingKey,.'.')).{.$bits.=.e
18c20 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 69 66 20 28 24 62 xplode('.',.$settingKey);.if.($b
18c40 69 74 73 5b 30 5d 20 3d 3d 3d 20 27 65 78 74 72 61 27 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 72 its[0].===.'extra').{.$data.=.$r
18c60 61 77 44 61 74 61 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 61 74 61 5b 27 awData;.}.else.{.$data.=.$data['
18c80 63 6f 6e 66 69 67 27 5d 3b 0a 7d 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 config'];.}.$match.=.false;.fore
18ca0 61 63 68 20 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a 24 6b 65 79 20 3d 20 69 73 73 ach.($bits.as.$bit).{.$key.=.iss
18cc0 65 74 28 24 6b 65 79 29 20 3f 20 24 6b 65 79 2e 27 2e 27 2e 24 62 69 74 20 3a 20 24 62 69 74 3b et($key).?.$key.'.'.$bit.:.$bit;
18ce0 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 .$match.=.false;.if.(isset($data
18d00 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 24 64 61 74 61 20 [$key])).{.$match.=.true;.$data.
18d20 3d 20 24 64 61 74 61 5b 24 6b 65 79 5d 3b 0a 75 6e 73 65 74 28 24 6b 65 79 29 3b 0a 7d 0a 7d 0a =.$data[$key];.unset($key);.}.}.
18d40 0a 69 66 20 28 21 24 6d 61 74 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 .if.(!$match).{.throw.new.\Runti
18d60 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e 6f 74 meException($settingKey.'.is.not
18d80 20 64 65 66 69 6e 65 64 2e 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 74 61 3b 0a .defined.');.}..$value.=.$data;.
18da0 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 5d 5b }.elseif.(isset($data['config'][
18dc0 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d $settingKey])).{.$value.=.$this-
18de0 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 69 6e 70 75 74 >config->get($settingKey,.$input
18e00 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 62 73 6f 6c 75 74 65 27 29 20 3f 20 30 20 3a 20 43 6f ->getOption('absolute').?.0.:.Co
18e20 6e 66 69 67 3a 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 3b 0a 7d 20 65 6c 73 65 69 66 20 nfig::RELATIVE_PATHS);.}.elseif.
18e40 28 69 6e 5f 61 72 72 61 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 70 72 6f 70 65 72 74 69 (in_array($settingKey,.$properti
18e60 65 73 2c 20 74 72 75 65 29 20 26 26 20 69 73 73 65 74 28 24 72 61 77 44 61 74 61 5b 24 73 65 74 es,.true).&&.isset($rawData[$set
18e80 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 72 61 77 44 61 74 61 5b 24 tingKey])).{.$value.=.$rawData[$
18ea0 73 65 74 74 69 6e 67 4b 65 79 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 settingKey];.}.else.{.throw.new.
18ec0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 \RuntimeException($settingKey.'.
18ee0 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 is.not.defined');.}..if.(is_arra
18f00 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 y($value)).{.$value.=.json_encod
18f20 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 e($value);.}..$this->getIO()->wr
18f40 69 74 65 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 76 61 6c 75 ite($value);..return.0;.}..$valu
18f60 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e es.=.$input->getArgument('settin
18f80 67 2d 76 61 6c 75 65 27 29 3b 20 0a 0a 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 20 3d g-value');...$booleanValidator.=
18fa0 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 .function.($val).{.return.in_arr
18fc0 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 ay($val,.array('true',.'false',.
18fe0 27 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 3b 0a 7d 3b 0a 24 62 6f 6f 6c 65 61 6e 4e 6f 72 '1',.'0'),.true);.};.$booleanNor
19000 6d 61 6c 69 7a 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 malizer.=.function.($val).{.retu
19020 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 rn.$val.!==.'false'.&&.(bool).$v
19040 61 6c 3b 0a 7d 3b 0a 0a 0a 20 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 al;.};....$uniqueConfigValues.=.
19060 61 72 72 61 79 28 0a 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 3d 3e 20 61 72 72 61 array(.'process-timeout'.=>.arra
19080 79 28 27 69 73 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 75 73 65 2d y('is_numeric',.'intval'),.'use-
190a0 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 include-path'.=>.array($booleanV
190c0 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 alidator,.$booleanNormalizer),.'
190e0 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e preferred-install'.=>.array(.fun
19100 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 ction.($val).{.return.in_array($
19120 76 61 6c 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 64 69 val,.array('auto',.'source',.'di
19140 73 74 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 st'),.true);.},.function.($val).
19160 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 73 74 6f 72 65 2d 61 75 74 68 {.return.$val;.},.),.'store-auth
19180 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 s'.=>.array(.function.($val).{.r
191a0 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 74 72 75 65 eturn.in_array($val,.array('true
191c0 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 70 72 6f 6d 70 74 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c ',.'false',.'prompt'),.true);.},
191e0 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 69 66 20 28 27 70 72 6f 6d 70 74 27 20 .function.($val).{.if.('prompt'.
19200 3d 3d 3d 20 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 6d 70 74 27 3b 0a 7d 0a 0a ===.$val).{.return.'prompt';.}..
19220 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c return.$val.!==.'false'.&&.(bool
19240 29 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c ).$val;.},.),.'notify-on-install
19260 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 '.=>.array($booleanValidator,.$b
19280 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 76 65 6e 64 6f 72 2d 64 69 72 27 20 ooleanNormalizer),.'vendor-dir'.
192a0 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 =>.array('is_string',.function.(
192c0 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 62 69 6e 2d 64 69 $val).{.return.$val;.}),.'bin-di
192e0 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f r'.=>.array('is_string',.functio
19300 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 61 72 63 n.($val).{.return.$val;.}),.'arc
19320 68 69 76 65 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 hive-dir'.=>.array('is_string',.
19340 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d function.($val).{.return.$val;.}
19360 29 2c 0a 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 ),.'archive-format'.=>.array('is
19380 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 _string',.function.($val).{.retu
193a0 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 rn.$val;.}),.'data-dir'.=>.array
193c0 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a ('is_string',.function.($val).{.
193e0 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 return.$val;.}),.'cache-dir'.=>.
19400 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 array('is_string',.function.($va
19420 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c l).{.return.$val;.}),.'cache-fil
19440 65 73 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 es-dir'.=>.array('is_string',.fu
19460 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c nction.($val).{.return.$val;.}),
19480 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 .'cache-repo-dir'.=>.array('is_s
194a0 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e tring',.function.($val).{.return
194c0 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 61 72 .$val;.}),.'cache-vcs-dir'.=>.ar
194e0 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 ray('is_string',.function.($val)
19500 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 .{.return.$val;.}),.'cache-ttl'.
19520 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 =>.array('is_numeric',.'intval')
19540 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 ,.'cache-files-ttl'.=>.array('is
19560 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c _numeric',.'intval'),.'cache-fil
19580 65 73 2d 6d 61 78 73 69 7a 65 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 es-maxsize'.=>.array(.function.(
195a0 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a $val).{.return.preg_match('/^\s*
195c0 28 5b 30 2d 39 2e 5d 2b 29 5c 73 2a 28 3f 3a 28 5b 6b 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f ([0-9.]+)\s*(?:([kmg])(?:i?b)?)?
195e0 5c 73 2a 24 2f 69 27 2c 20 24 76 61 6c 29 20 3e 20 30 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 \s*$/i',.$val).>.0;.},.function.
19600 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 62 69 6e ($val).{.return.$val;.},.),.'bin
19620 2d 63 6f 6d 70 61 74 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 -compat'.=>.array(.function.($va
19640 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 l).{.return.in_array($val,.array
19660 28 27 61 75 74 6f 27 2c 20 27 66 75 6c 6c 27 29 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 ('auto',.'full'));.},.function.(
19680 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 64 69 73 63 $val).{.return.$val;.},.),.'disc
196a0 61 72 64 2d 63 68 61 6e 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 ard-changes'.=>.array(.function.
196c0 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 ($val).{.return.in_array($val,.a
196e0 72 72 61 79 28 27 73 74 61 73 68 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 rray('stash',.'true',.'false',.'
19700 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 1',.'0'),.true);.},.function.($v
19720 61 6c 29 20 7b 0a 69 66 20 28 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 76 61 6c 29 20 7b 0a 72 65 al).{.if.('stash'.===.$val).{.re
19740 74 75 72 6e 20 27 73 74 61 73 68 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d turn.'stash';.}..return.$val.!==
19760 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 .'false'.&&.(bool).$val;.},.),.'
19780 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f autoloader-suffix'.=>.array('is_
197a0 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 string',.function.($val).{.retur
197c0 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b n.$val.===.'null'.?.null.:.$val;
197e0 0a 7d 29 2c 0a 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 24 62 .}),.'sort-packages'.=>.array($b
19800 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 ooleanValidator,.$booleanNormali
19820 7a 65 72 29 2c 0a 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 zer),.'optimize-autoloader'.=>.a
19840 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e rray($booleanValidator,.$boolean
19860 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 Normalizer),.'classmap-authorita
19880 74 69 76 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 tive'.=>.array($booleanValidator
198a0 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 61 70 63 75 2d 61 75 74 ,.$booleanNormalizer),.'apcu-aut
198c0 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 oloader'.=>.array($booleanValida
198e0 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 70 72 65 70 65 tor,.$booleanNormalizer),.'prepe
19900 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e nd-autoloader'.=>.array($boolean
19920 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a Validator,.$booleanNormalizer),.
19940 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 'disable-tls'.=>.array($booleanV
19960 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 alidator,.$booleanNormalizer),.'
19980 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 secure-http'.=>.array($booleanVa
199a0 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 63 lidator,.$booleanNormalizer),.'c
199c0 61 66 69 6c 65 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 afile'.=>.array(.function.($val)
199e0 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 76 61 6c 29 20 26 26 20 69 .{.return.file_exists($val).&&.i
19a00 73 5f 72 65 61 64 61 62 6c 65 28 24 76 61 6c 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 s_readable($val);.},.function.($
19a20 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 val).{.return.$val.===.'null'.?.
19a40 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 63 61 70 61 74 68 27 20 3d 3e 20 61 null.:.$val;.},.),.'capath'.=>.a
19a60 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 rray(.function.($val).{.return.i
19a80 73 5f 64 69 72 28 24 76 61 6c 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 76 61 6c 29 s_dir($val).&&.is_readable($val)
19aa0 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 ;.},.function.($val).{.return.$v
19ac0 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 2c 0a al.===.'null'.?.null.:.$val;.},.
19ae0 29 2c 0a 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 61 ),.'github-expose-hostname'.=>.a
19b00 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e rray($booleanValidator,.$boolean
19b20 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 20 Normalizer),.'htaccess-protect'.
19b40 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f =>.array($booleanValidator,.$boo
19b60 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 29 3b 0a 24 6d 75 6c 74 69 43 6f 6e 66 69 67 leanNormalizer),.);.$multiConfig
19b80 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c Values.=.array(.'github-protocol
19ba0 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a s'.=>.array(.function.($vals).{.
19bc0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 if.(!is_array($vals)).{.return.'
19be0 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 array.expected';.}..foreach.($va
19c00 6c 73 20 61 73 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 76 61 6c ls.as.$val).{.if.(!in_array($val
19c20 2c 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 74 74 70 73 27 2c 20 27 73 73 68 27 29 29 29 ,.array('git',.'https',.'ssh')))
19c40 20 7b 0a 72 65 74 75 72 6e 20 27 76 61 6c 69 64 20 70 72 6f 74 6f 63 6f 6c 73 20 69 6e 63 6c 75 .{.return.'valid.protocols.inclu
19c60 64 65 3a 20 67 69 74 2c 20 68 74 74 70 73 2c 20 73 73 68 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 de:.git,.https,.ssh';.}.}..retur
19c80 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 n.true;.},.function.($vals).{.re
19ca0 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e turn.$vals;.},.),.'github-domain
19cc0 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a s'.=>.array(.function.($vals).{.
19ce0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 if.(!is_array($vals)).{.return.'
19d00 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b array.expected';.}..return.true;
19d20 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 .},.function.($vals).{.return.$v
19d40 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 als;.},.),.'gitlab-domains'.=>.a
19d60 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 rray(.function.($vals).{.if.(!is
19d80 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 _array($vals)).{.return.'array.e
19da0 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e xpected';.}..return.true;.},.fun
19dc0 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c ction.($vals).{.return.$vals;.},
19de0 0a 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 .),.);..if.($input->getOption('u
19e00 6e 73 65 74 27 29 20 26 26 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 nset').&&.(isset($uniqueConfigVa
19e20 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c lues[$settingKey]).||.isset($mul
19e40 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 29 20 7b tiConfigValues[$settingKey]))).{
19e60 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d .return.$this->configSource->rem
19e80 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d oveConfigSetting($settingKey);.}
19ea0 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 .if.(isset($uniqueConfigValues[$
19ec0 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 settingKey])).{.return.$this->ha
19ee0 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 75 6e ndleSingleValue($settingKey,.$un
19f00 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 iqueConfigValues[$settingKey],.$
19f20 76 61 6c 75 65 73 2c 20 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 7d 0a 69 values,.'addConfigSetting');.}.i
19f40 66 20 28 69 73 73 65 74 28 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 f.(isset($multiConfigValues[$set
19f60 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c tingKey])).{.return.$this->handl
19f80 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 75 6c 74 69 43 eMultiValue($settingKey,.$multiC
19fa0 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 onfigValues[$settingKey],.$value
19fc0 73 2c 20 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 7d 0a 0a 0a 20 24 75 6e s,.'addConfigSetting');.}....$un
19fe0 69 71 75 65 50 72 6f 70 73 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 61 72 72 iqueProps.=.array(.'name'.=>.arr
1a000 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 ay('is_string',.function.($val).
1a020 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 74 79 70 65 27 20 3d 3e 20 61 72 72 {.return.$val;.}),.'type'.=>.arr
1a040 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 ay('is_string',.function.($val).
1a060 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 {.return.$val;.}),.'description'
1a080 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 .=>.array('is_string',.function.
1a0a0 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 68 6f 6d 65 70 ($val).{.return.$val;.}),.'homep
1a0c0 61 67 65 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 age'.=>.array('is_string',.funct
1a0e0 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 76 ion.($val).{.return.$val;.}),.'v
1a100 65 72 73 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 ersion'.=>.array('is_string',.fu
1a120 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c nction.($val).{.return.$val;.}),
1a140 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 .'minimum-stability'.=>.array(.f
1a160 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 42 61 unction.($val).{.return.isset(Ba
1a180 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 sePackage::$stabilities[VersionP
1a1a0 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 76 61 6c 29 5d arser::normalizeStability($val)]
1a1c0 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 56 );.},.function.($val).{.return.V
1a1e0 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 ersionParser::normalizeStability
1a200 28 24 76 61 6c 29 3b 0a 7d 2c 0a 29 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 20 3d 3e ($val);.},.),.'prefer-stable'.=>
1a220 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 .array($booleanValidator,.$boole
1a240 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 29 3b 0a 24 6d 75 6c 74 69 50 72 6f 70 73 20 3d 20 anNormalizer),.);.$multiProps.=.
1a260 61 72 72 61 79 28 0a 27 6b 65 79 77 6f 72 64 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 array(.'keywords'.=>.array(.func
1a280 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 tion.($vals).{.if.(!is_array($va
1a2a0 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a ls)).{.return.'array.expected';.
1a2c0 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 }..return.true;.},.function.($va
1a2e0 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 6c 69 63 65 6e ls).{.return.$vals;.},.),.'licen
1a300 73 65 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b se'.=>.array(.function.($vals).{
1a320 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 .if.(!is_array($vals)).{.return.
1a340 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 'array.expected';.}..return.true
1a360 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 ;.},.function.($vals).{.return.$
1a380 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f vals;.},.),.);..if.($input->getO
1a3a0 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 ption('global').&&.(isset($uniqu
1a3c0 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d eProps[$settingKey]).||.isset($m
1a3e0 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 73 75 62 73 74 ultiProps[$settingKey]).||.subst
1a400 72 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e r($settingKey,.0,.6).===.'extra.
1a420 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ')).{.throw.new.\InvalidArgument
1a440 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 27 2e 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 70 Exception('The.'.$settingKey.'.p
1a460 72 6f 70 65 72 74 79 20 63 61 6e 20 6e 6f 74 20 62 65 20 73 65 74 20 69 6e 20 74 68 65 20 67 6c roperty.can.not.be.set.in.the.gl
1a480 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 20 55 73 65 20 60 63 6f 6d 70 obal.config.json.file..Use.`comp
1a4a0 6f 73 65 72 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 60 20 74 6f 20 61 70 70 6c 79 20 63 68 61 oser.global.config`.to.apply.cha
1a4c0 6e 67 65 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e nges.to.the.global.composer.json
1a4e0 27 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 ');.}.if.($input->getOption('uns
1a500 65 74 27 29 20 26 26 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 et').&&.(isset($uniqueProps[$set
1a520 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 tingKey]).||.isset($multiProps[$
1a540 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 settingKey]))).{.return.$this->c
1a560 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 onfigSource->removeProperty($set
1a580 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f tingKey);.}.if.(isset($uniquePro
1a5a0 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ps[$settingKey])).{.return.$this
1a5c0 2d 3e 68 61 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c ->handleSingleValue($settingKey,
1a5e0 20 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c .$uniqueProps[$settingKey],.$val
1a600 75 65 73 2c 20 27 61 64 64 50 72 6f 70 65 72 74 79 27 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 ues,.'addProperty');.}.if.(isset
1a620 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 72 65 ($multiProps[$settingKey])).{.re
1a640 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 73 65 turn.$this->handleMultiValue($se
1a660 74 74 69 6e 67 4b 65 79 2c 20 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 ttingKey,.$multiProps[$settingKe
1a680 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 61 64 64 50 72 6f 70 65 72 74 79 27 29 3b 0a 7d 0a 0a y],.$values,.'addProperty');.}..
1a6a0 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f 3a 69 74 6f ..if.(preg_match('/^repos?(?:ito
1a6c0 72 69 65 73 29 3f 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 ries)?\.(.+)/',.$settingKey,.$ma
1a6e0 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 tches)).{.if.($input->getOption(
1a700 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 'unset')).{.return.$this->config
1a720 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 Source->removeRepository($matche
1a740 73 5b 31 5d 29 3b 0a 7d 0a 0a 69 66 20 28 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 s[1]);.}..if.(2.===.count($value
1a760 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 s)).{.return.$this->configSource
1a780 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 61 72 72 ->addRepository($matches[1],.arr
1a7a0 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 0a 27 75 72 6c 27 20 ay(.'type'.=>.$values[0],.'url'.
1a7c0 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 2c 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 =>.$values[1],.));.}..if.(1.===.
1a7e0 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 74 6f count($values)).{.$value.=.strto
1a800 6c 6f 77 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 lower($values[0]);.if.(true.===.
1a820 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 29 29 20 7b 0a 69 66 20 $booleanValidator($value)).{.if.
1a840 28 66 61 6c 73 65 20 3d 3d 3d 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 (false.===.$booleanNormalizer($v
1a860 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 alue)).{.return.$this->configSou
1a880 72 63 65 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 rce->addRepository($matches[1],.
1a8a0 66 61 6c 73 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 20 3d 20 4a 73 6f 6e false);.}.}.else.{.$value.=.Json
1a8c0 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 0a 72 65 File::parseJson($values[0]);..re
1a8e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 65 70 turn.$this->configSource->addRep
1a900 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a ository($matches[1],.$value);.}.
1a920 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 }..throw.new.\RuntimeException('
1a940 59 6f 75 20 6d 75 73 74 20 70 61 73 73 20 74 68 65 20 74 79 70 65 20 61 6e 64 20 61 20 75 72 6c You.must.pass.the.type.and.a.url
1a960 2e 20 45 78 61 6d 70 6c 65 3a 20 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 6f 6e ..Example:.php.composer.phar.con
1a980 66 69 67 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 73 3a 2f fig.repositories.foo.vcs.https:/
1a9a0 2f 62 61 72 2e 63 6f 6d 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 /bar.com');.}....if.(preg_match(
1a9c0 27 2f 5e 65 78 74 72 61 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 '/^extra\.(.+)/',.$settingKey,.$
1a9e0 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f matches)).{.if.($input->getOptio
1aa00 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 n('unset')).{.return.$this->conf
1aa20 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e igSource->removeProperty($settin
1aa40 67 4b 65 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f gKey);.}..return.$this->configSo
1aa60 75 72 63 65 2d 3e 61 64 64 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 urce->addProperty($settingKey,.$
1aa80 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 values[0]);.}....if.(preg_match(
1aaa0 27 2f 5e 70 6c 61 74 66 6f 72 6d 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 '/^platform\.(.+)/',.$settingKey
1aac0 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ,.$matches)).{.if.($input->getOp
1aae0 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 tion('unset')).{.return.$this->c
1ab00 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 onfigSource->removeConfigSetting
1ab20 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ($settingKey);.}..return.$this->
1ab40 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 configSource->addConfigSetting($
1ab60 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 7d 0a 69 66 20 28 24 settingKey,.$values[0]);.}.if.($
1ab80 73 65 74 74 69 6e 67 4b 65 79 20 3d 3d 3d 20 27 70 6c 61 74 66 6f 72 6d 27 20 26 26 20 24 69 6e settingKey.===.'platform'.&&.$in
1aba0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 put->getOption('unset')).{.retur
1abc0 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e n.$this->configSource->removeCon
1abe0 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 0a 20 69 66 figSetting($settingKey);.}....if
1ac00 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 .(preg_match('/^(bitbucket-oauth
1ac20 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 |github-oauth|gitlab-oauth|gitla
1ac40 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 29 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 b-token|http-basic)\.(.+)/',.$se
1ac60 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 ttingKey,.$matches)).{.if.($inpu
1ac80 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e t->getOption('unset')).{.$this->
1aca0 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 authConfigSource->removeConfigSe
1acc0 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 tting($matches[1].'.'.$matches[2
1ace0 5d 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 ]);.$this->configSource->removeC
1ad00 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 onfigSetting($matches[1].'.'.$ma
1ad20 74 63 68 65 73 5b 32 5d 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 tches[2]);..return;.}..if.($matc
1ad40 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 20 7b 0a hes[1].===.'bitbucket-oauth').{.
1ad60 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f if.(2.!==.count($values)).{.thro
1ad80 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 w.new.\RuntimeException('Expecte
1ada0 64 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 28 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 2c 20 63 d.two.arguments.(consumer-key,.c
1adc0 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e 74 28 24 76 61 onsumer-secret),.got.'.count($va
1ade0 6c 75 65 73 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 lues));.}.$this->configSource->r
1ae00 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 emoveConfigSetting($matches[1].'
1ae20 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 .'.$matches[2]);.$this->authConf
1ae40 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 igSource->addConfigSetting($matc
1ae60 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 61 79 28 27 63 hes[1].'.'.$matches[2],.array('c
1ae80 6f 6e 73 75 6d 65 72 2d 6b 65 79 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 63 6f 6e onsumer-key'.=>.$values[0],.'con
1aea0 73 75 6d 65 72 2d 73 65 63 72 65 74 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 29 29 3b 0a 7d sumer-secret'.=>.$values[1]));.}
1aec0 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 61 .elseif.(in_array($matches[1],.a
1aee0 72 72 61 79 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 6f 61 75 rray('github-oauth',.'gitlab-oau
1af00 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 69 th',.'gitlab-token'),.true)).{.i
1af20 66 20 28 31 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 f.(1.!==.count($values)).{.throw
1af40 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 6f 6f 20 6d 61 6e 79 .new.\RuntimeException('Too.many
1af60 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 6c 79 20 6f 6e 65 20 74 6f .arguments,.expected.only.one.to
1af80 6b 65 6e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 ken');.}.$this->configSource->re
1afa0 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e moveConfigSetting($matches[1].'.
1afc0 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 '.$matches[2]);.$this->authConfi
1afe0 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 gSource->addConfigSetting($match
1b000 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 76 61 6c 75 65 73 5b 30 es[1].'.'.$matches[2],.$values[0
1b020 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 68 ]);.}.elseif.($matches[1].===.'h
1b040 74 74 70 2d 62 61 73 69 63 27 29 20 7b 0a 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 ttp-basic').{.if.(2.!==.count($v
1b060 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 alues)).{.throw.new.\RuntimeExce
1b080 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 28 75 ption('Expected.two.arguments.(u
1b0a0 73 65 72 6e 61 6d 65 2c 20 70 61 73 73 77 6f 72 64 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e 74 28 sername,.password),.got.'.count(
1b0c0 24 76 61 6c 75 65 73 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 $values));.}.$this->configSource
1b0e0 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 ->removeConfigSetting($matches[1
1b100 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 ].'.'.$matches[2]);.$this->authC
1b120 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d onfigSource->addConfigSetting($m
1b140 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 61 79 atches[1].'.'.$matches[2],.array
1b160 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 70 61 73 73 ('username'.=>.$values[0],.'pass
1b180 77 6f 72 64 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e word'.=>.$values[1]));.}..return
1b1a0 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 73 63 72 69 70 74 73 ;.}....if.(preg_match('/^scripts
1b1c0 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 \.(.+)/',.$settingKey,.$matches)
1b1e0 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 ).{.if.($input->getOption('unset
1b200 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 ')).{.return.$this->configSource
1b220 2d 3e 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d ->removeProperty($settingKey);.}
1b240 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 ..return.$this->configSource->ad
1b260 64 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 63 6f 75 6e 74 28 24 76 61 dProperty($settingKey,.count($va
1b280 6c 75 65 73 29 20 3e 20 31 20 3f 20 24 76 61 6c 75 65 73 20 3a 20 24 76 61 6c 75 65 73 5b 30 5d lues).>.1.?.$values.:.$values[0]
1b2a0 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 );.}..throw.new.\InvalidArgument
1b2c0 45 78 63 65 70 74 69 6f 6e 28 27 53 65 74 74 69 6e 67 20 27 2e 24 73 65 74 74 69 6e 67 4b 65 79 Exception('Setting.'.$settingKey
1b2e0 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 20 73 75 70 70 .'.does.not.exist.or.is.not.supp
1b300 6f 72 74 65 64 20 62 79 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 27 29 3b 0a 7d 0a 0a 70 72 6f 74 orted.by.this.command');.}..prot
1b320 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 65 ected.function.handleSingleValue
1b340 28 24 6b 65 79 2c 20 61 72 72 61 79 20 24 63 61 6c 6c 62 61 63 6b 73 2c 20 61 72 72 61 79 20 24 ($key,.array.$callbacks,.array.$
1b360 76 61 6c 75 65 73 2c 20 24 6d 65 74 68 6f 64 29 0a 7b 0a 6c 69 73 74 28 24 76 61 6c 69 64 61 74 values,.$method).{.list($validat
1b380 6f 72 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 20 3d 20 24 63 61 6c 6c 62 61 63 6b 73 3b 0a 69 or,.$normalizer).=.$callbacks;.i
1b3a0 66 20 28 31 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 f.(1.!==.count($values)).{.throw
1b3c0 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 20 .new.\RuntimeException('You.can.
1b3e0 6f 6e 6c 79 20 70 61 73 73 20 6f 6e 65 20 76 61 6c 75 65 2e 20 45 78 61 6d 70 6c 65 3a 20 70 68 only.pass.one.value..Example:.ph
1b400 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 6f 6e 66 69 67 20 70 72 6f 63 65 73 73 2d 74 p.composer.phar.config.process-t
1b420 69 6d 65 6f 75 74 20 33 30 30 27 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 76 imeout.300');.}..if.(true.!==.$v
1b440 61 6c 69 64 61 74 69 6f 6e 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 73 5b 30 alidation.=.$validator($values[0
1b460 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ])).{.throw.new.\RuntimeExceptio
1b480 6e 28 73 70 72 69 6e 74 66 28 0a 27 22 25 73 22 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 n(sprintf(.'"%s".is.an.invalid.v
1b4a0 61 6c 75 65 27 2e 28 24 76 61 6c 69 64 61 74 69 6f 6e 20 3f 20 27 20 28 27 2e 24 76 61 6c 69 64 alue'.($validation.?.'.('.$valid
1b4c0 61 74 69 6f 6e 2e 27 29 27 20 3a 20 27 27 29 2c 0a 24 76 61 6c 75 65 73 5b 30 5d 0a 29 29 3b 0a ation.')'.:.''),.$values[0].));.
1b4e0 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 24 }..return.call_user_func(array($
1b500 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 6b this->configSource,.$method),.$k
1b520 65 79 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 29 3b 0a 7d 0a ey,.$normalizer($values[0]));.}.
1b540 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 4d 75 6c 74 69 56 .protected.function.handleMultiV
1b560 61 6c 75 65 28 24 6b 65 79 2c 20 61 72 72 61 79 20 24 63 61 6c 6c 62 61 63 6b 73 2c 20 61 72 72 alue($key,.array.$callbacks,.arr
1b580 61 79 20 24 76 61 6c 75 65 73 2c 20 24 6d 65 74 68 6f 64 29 0a 7b 0a 6c 69 73 74 28 24 76 61 6c ay.$values,.$method).{.list($val
1b5a0 69 64 61 74 6f 72 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 20 3d 20 24 63 61 6c 6c 62 61 63 6b idator,.$normalizer).=.$callback
1b5c0 73 3b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 3d 20 24 76 s;.if.(true.!==.$validation.=.$v
1b5e0 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c alidator($values)).{.throw.new.\
1b600 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 69 73 RuntimeException(sprintf(.'%s.is
1b620 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 27 2e 28 24 76 61 6c 69 64 61 74 69 6f 6e 20 .an.invalid.value'.($validation.
1b640 3f 20 27 20 28 27 2e 24 76 61 6c 69 64 61 74 69 6f 6e 2e 27 29 27 20 3a 20 27 27 29 2c 0a 6a 73 ?.'.('.$validation.')'.:.''),.js
1b660 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 75 65 73 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e on_encode($values).));.}..return
1b680 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e .call_user_func(array($this->con
1b6a0 66 69 67 53 6f 75 72 63 65 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 6b 65 79 2c 20 24 6e 6f 72 6d figSource,.$method),.$key,.$norm
1b6c0 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f alizer($values));.}..........pro
1b6e0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f tected.function.listConfiguratio
1b700 6e 28 61 72 72 61 79 20 24 63 6f 6e 74 65 6e 74 73 2c 20 61 72 72 61 79 20 24 72 61 77 43 6f 6e n(array.$contents,.array.$rawCon
1b720 74 65 6e 74 73 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 tents,.OutputInterface.$output,.
1b740 24 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6f 72 69 67 4b 20 3d 20 24 6b 3b 0a 24 69 6f 20 3d 20 $k.=.null).{.$origK.=.$k;.$io.=.
1b760 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e $this->getIO();.foreach.($conten
1b780 74 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 20 3d ts.as.$key.=>.$value).{.if.($k.=
1b7a0 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 ==.null.&&.!in_array($key,.array
1b7c0 28 27 63 6f 6e 66 69 67 27 2c 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 29 29 29 20 7b 0a 63 ('config',.'repositories'))).{.c
1b7e0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 61 77 56 61 6c 20 3d 20 69 73 73 65 74 28 24 72 61 77 ontinue;.}..$rawVal.=.isset($raw
1b800 43 6f 6e 74 65 6e 74 73 5b 24 6b 65 79 5d 29 20 3f 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 Contents[$key]).?.$rawContents[$
1b820 6b 65 79 5d 20 3a 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 key].:.null;..if.(is_array($valu
1b840 65 29 20 26 26 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 6b 65 79 28 24 76 61 6c 75 65 29 29 20 e).&&.(!is_numeric(key($value)).
1b860 7c 7c 20 28 24 6b 65 79 20 3d 3d 3d 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 26 26 20 6e ||.($key.===.'repositories'.&&.n
1b880 75 6c 6c 20 3d 3d 3d 20 24 6b 29 29 29 20 7b 0a 24 6b 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 ull.===.$k))).{.$k..=.preg_repla
1b8a0 63 65 28 27 7b 5e 63 6f 6e 66 69 67 5c 2e 7d 27 2c 20 27 27 2c 20 24 6b 65 79 20 2e 20 27 2e 27 ce('{^config\.}',.'',.$key...'.'
1b8c0 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 76 61 6c );.$this->listConfiguration($val
1b8e0 75 65 2c 20 24 72 61 77 56 61 6c 2c 20 24 6f 75 74 70 75 74 2c 20 24 6b 29 3b 0a 24 6b 20 3d 20 ue,.$rawVal,.$output,.$k);.$k.=.
1b900 24 6f 72 69 67 4b 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 $origK;..continue;.}..if.(is_arr
1b920 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 ay($value)).{.$value.=.array_map
1b940 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 (function.($val).{.return.is_arr
1b960 61 79 28 24 76 61 6c 29 20 3f 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 29 20 3a 20 24 ay($val).?.json_encode($val).:.$
1b980 76 61 6c 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 24 76 61 6c 75 65 20 3d 20 27 5b 27 2e 69 val;.},.$value);..$value.=.'['.i
1b9a0 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 76 61 6c 75 65 29 2e 27 5d 27 3b 0a 7d 0a 0a 69 66 20 mplode(',.',.$value).']';.}..if.
1b9c0 28 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 76 61 72 (is_bool($value)).{.$value.=.var
1b9e0 5f 65 78 70 6f 72 74 28 24 76 61 6c 75 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 _export($value,.true);.}..if.(is
1ba00 5f 73 74 72 69 6e 67 28 24 72 61 77 56 61 6c 29 20 26 26 20 24 72 61 77 56 61 6c 20 21 3d 20 24 _string($rawVal).&&.$rawVal.!=.$
1ba20 76 61 6c 75 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 value).{.$io->write('[<comment>'
1ba40 20 2e 20 24 6b 20 2e 20 24 6b 65 79 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 ...$k...$key...'</comment>].<inf
1ba60 6f 3e 27 20 2e 20 24 72 61 77 56 61 6c 20 2e 20 27 20 28 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 o>'...$rawVal...'.('...$value...
1ba80 27 29 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ')</info>');.}.else.{.$io->write
1baa0 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6b 20 2e 20 24 6b 65 79 20 2e 20 27 3c 2f 63 ('[<comment>'...$k...$key...'</c
1bac0 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 6f 3e 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 3c 2f 69 omment>].<info>'...$value...'</i
1bae0 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a nfo>');.}.}.}.}.<?php...........
1bb00 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 .namespace.Composer\Command;..us
1bb20 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c e.Composer\Config;.use.Composer\
1bb40 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b Factory;.use.Composer\Installer;
1bb60 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 72 6f 6a 65 63 74 49 .use.Composer\Installer\ProjectI
1bb80 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 nstaller;.use.Composer\Installer
1bba0 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \InstallationManager;.use.Compos
1bbc0 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 er\Installer\SuggestedPackagesRe
1bbe0 70 6f 72 74 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 porter;.use.Composer\IO\IOInterf
1bc00 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 ace;.use.Composer\Package\BasePa
1bc20 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 ckage;.use.Composer\DependencyRe
1bc40 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 solver\Pool;.use.Composer\Depend
1bc60 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 encyResolver\Operation\InstallOp
1bc80 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 eration;.use.Composer\Package\Ve
1bca0 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f rsion\VersionSelector;.use.Compo
1bcc0 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f ser\Package\AliasPackage;.use.Co
1bce0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 mposer\Repository\RepositoryFact
1bd00 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d ory;.use.Composer\Repository\Com
1bd20 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 positeRepository;.use.Composer\R
1bd40 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 epository\PlatformRepository;.us
1bd60 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 46 e.Composer\Repository\InstalledF
1bd80 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ilesystemRepository;.use.Compose
1bda0 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Script\ScriptEvents;.use.Compo
1bdc0 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ser\Util\Silencer;.use.Symfony\C
1bde0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 omponent\Console\Input\InputArgu
1be00 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ment;.use.Symfony\Component\Cons
1be20 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 ole\Input\InputInterface;.use.Sy
1be40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
1be60 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 putOption;.use.Symfony\Component
1be80 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
1bea0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 .use.Symfony\Component\Finder\Fi
1bec0 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 nder;.use.Composer\Json\JsonFile
1bee0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 ;.use.Composer\Config\JsonConfig
1bf00 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 Source;.use.Composer\Util\Filesy
1bf20 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 stem;.use.Composer\Package\Versi
1bf40 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 on\VersionParser;..........class
1bf60 20 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 .CreateProjectCommand.extends.Ba
1bf80 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 seCommand.{....protected.$sugges
1bfa0 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 tedPackagesReporter;..protected.
1bfc0 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 function.configure().{.$this.->s
1bfe0 65 74 4e 61 6d 65 28 27 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 27 29 0a 2d 3e 73 65 74 44 65 etName('create-project').->setDe
1c000 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 6e 65 77 20 70 72 6f 6a 65 63 74 20 66 scription('Creates.new.project.f
1c020 72 6f 6d 20 61 20 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f rom.a.package.into.given.directo
1c040 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 ry.').->setDefinition(array(.new
1c060 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 .InputArgument('package',.InputA
1c080 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 20 6e 61 6d 65 rgument::OPTIONAL,.'Package.name
1c0a0 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 .to.be.installed'),.new.InputArg
1c0c0 75 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 ument('directory',.InputArgument
1c0e0 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 44 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 ::OPTIONAL,.'Directory.where.the
1c100 20 66 69 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 74 65 64 27 29 2c 0a 6e 65 77 20 .files.should.be.created'),.new.
1c120 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e 70 75 74 41 72 InputArgument('version',.InputAr
1c140 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 73 69 6f 6e 2c 20 77 69 6c 6c gument::OPTIONAL,.'Version,.will
1c160 20 64 65 66 61 75 6c 74 20 74 6f 20 6c 61 74 65 73 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f .default.to.latest'),.new.InputO
1c180 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 ption('stability',.'s',.InputOpt
1c1a0 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4d 69 6e 69 6d 75 6d 2d 73 74 ion::VALUE_REQUIRED,.'Minimum-st
1c1c0 61 62 69 6c 69 74 79 20 61 6c 6c 6f 77 65 64 20 28 75 6e 6c 65 73 73 20 61 20 76 65 72 73 69 6f ability.allowed.(unless.a.versio
1c1e0 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 n.is.specified).'),.new.InputOpt
1c200 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 ion('prefer-source',.null,.Input
1c220 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 Option::VALUE_NONE,.'Forces.inst
1c240 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 allation.from.package.sources.wh
1c260 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 en.possible,.including.VCS.infor
1c280 6d 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 mation.'),.new.InputOption('pref
1c2a0 65 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c er-dist',.null,.InputOption::VAL
1c2c0 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 UE_NONE,.'Forces.installation.fr
1c2e0 6f 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 om.package.dist.even.for.dev.ver
1c300 73 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 sions.'),.new.InputOption('repos
1c320 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 itory',.null,.InputOption::VALUE
1c340 5f 52 45 51 55 49 52 45 44 2c 20 27 50 69 63 6b 20 61 20 64 69 66 66 65 72 65 6e 74 20 72 65 70 _REQUIRED,.'Pick.a.different.rep
1c360 6f 73 69 74 6f 72 79 20 28 61 73 20 75 72 6c 20 6f 72 20 6a 73 6f 6e 20 63 6f 6e 66 69 67 29 20 ository.(as.url.or.json.config).
1c380 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 to.look.for.the.package.'),.new.
1c3a0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 2c 20 6e 75 InputOption('repository-url',.nu
1c3c0 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c ll,.InputOption::VALUE_REQUIRED,
1c3e0 20 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 20 2d 2d 72 65 70 6f 73 69 74 6f 72 79 20 69 .'DEPRECATED:.Use.--repository.i
1c400 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 nstead.'),.new.InputOption('dev'
1c420 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
1c440 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 .'Enables.installation.of.requir
1c460 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 e-dev.packages.(enabled.by.defau
1c480 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 lt,.only.present.for.BC).'),.new
1c4a0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 .InputOption('no-dev',.null,.Inp
1c4c0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 utOption::VALUE_NONE,.'Disables.
1c4e0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b installation.of.require-dev.pack
1c500 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 ages.'),.new.InputOption('no-cus
1c520 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 tom-installers',.null,.InputOpti
1c540 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 on::VALUE_NONE,.'DEPRECATED:.Use
1c560 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 .no-plugins.instead.'),.new.Inpu
1c580 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 tOption('no-scripts',.null,.Inpu
1c5a0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f tOption::VALUE_NONE,.'Whether.to
1c5c0 20 70 72 65 76 65 6e 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 64 65 66 69 6e 65 .prevent.execution.of.all.define
1c5e0 64 20 73 63 72 69 70 74 73 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 2e 27 29 d.scripts.in.the.root.package.')
1c600 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c ,.new.InputOption('no-progress',
1c620 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
1c640 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 'Do.not.output.download.progress
1c660 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 65 63 75 72 65 2d .'),.new.InputOption('no-secure-
1c680 68 74 74 70 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f http',.null,.InputOption::VALUE_
1c6a0 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 20 74 68 65 20 73 65 63 75 72 65 2d 68 74 74 70 20 63 NONE,.'Disable.the.secure-http.c
1c6c0 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 77 68 69 6c 65 20 69 onfig.option.temporarily.while.i
1c6e0 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 2e 20 55 73 65 20 nstalling.the.root.package..Use.
1c700 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2e 20 55 73 69 6e 67 20 74 68 69 73 20 66 6c 61 at.your.own.risk..Using.this.fla
1c720 67 20 69 73 20 61 20 62 61 64 20 69 64 65 61 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 g.is.a.bad.idea.'),.new.InputOpt
1c740 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f ion('keep-vcs',.null,.InputOptio
1c760 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 76 65 n::VALUE_NONE,.'Whether.to.preve
1c780 6e 74 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 76 63 73 20 66 6f 6c 64 65 72 2e 27 29 2c 0a 6e nt.deleting.the.vcs.folder.'),.n
1c7a0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 6d 6f 76 65 2d 76 63 73 27 2c 20 6e 75 6c ew.InputOption('remove-vcs',.nul
1c7c0 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 l,.InputOption::VALUE_NONE,.'Whe
1c7e0 74 68 65 72 20 74 6f 20 66 6f 72 63 65 20 64 65 6c 65 74 69 6f 6e 20 6f 66 20 74 68 65 20 76 63 ther.to.force.deletion.of.the.vc
1c800 73 20 66 6f 6c 64 65 72 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 69 6e 67 2e 27 29 2c 0a 6e s.folder.without.prompting.'),.n
1c820 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 74 61 6c 6c 27 2c 20 6e 75 6c ew.InputOption('no-install',.nul
1c840 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 l,.InputOption::VALUE_NONE,.'Whe
1c860 74 68 65 72 20 74 6f 20 73 6b 69 70 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 ther.to.skip.installation.of.the
1c880 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e .package.dependencies.'),.new.In
1c8a0 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 putOption('ignore-platform-reqs'
1c8c0 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
1c8e0 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 28 .'Ignore.platform.requirements.(
1c900 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 php.&.ext-.packages).'),.)).->se
1c920 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 72 65 61 74 65 2d 70 tHelp(.<<<EOT.The.<info>create-p
1c940 72 6f 6a 65 63 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 20 roject</info>.command.creates.a.
1c960 6e 65 77 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 67 69 76 65 6e 0a 70 61 63 6b 61 67 65 new.project.from.a.given.package
1c980 20 69 6e 74 6f 20 61 20 6e 65 77 20 64 69 72 65 63 74 6f 72 79 2e 20 49 66 20 65 78 65 63 75 74 .into.a.new.directory..If.execut
1c9a0 65 64 20 77 69 74 68 6f 75 74 20 70 61 72 61 6d 73 20 61 6e 64 20 69 6e 20 61 20 64 69 72 65 63 ed.without.params.and.in.a.direc
1c9c0 74 6f 72 79 0a 77 69 74 68 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 tory.with.a.composer.json.file.i
1c9e0 74 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 66 6f 72 20 74 68 65 20 t.installs.the.packages.for.the.
1ca00 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 current.project...You.can.use.th
1ca20 69 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 6f 6f 74 73 74 72 61 70 20 6e 65 77 20 70 72 6f 6a is.command.to.bootstrap.new.proj
1ca40 65 63 74 73 20 6f 72 20 73 65 74 75 70 20 61 20 63 6c 65 61 6e 0a 76 65 72 73 69 6f 6e 2d 63 6f ects.or.setup.a.clean.version-co
1ca60 6e 74 72 6f 6c 6c 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 6f 72 20 64 65 76 65 6c 6f ntrolled.installation.for.develo
1ca80 70 65 72 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 pers.of.your.project...<info>php
1caa0 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 76 65 .composer.phar.create-project.ve
1cac0 6e 64 6f 72 2f 70 72 6f 6a 65 63 74 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 20 5b 76 ndor/project.target-directory.[v
1cae0 65 72 73 69 6f 6e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 70 65 ersion]</info>..You.can.also.spe
1cb00 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 77 69 74 68 20 74 68 65 20 70 61 63 6b 61 67 cify.the.version.with.the.packag
1cb20 65 20 6e 61 6d 65 20 75 73 69 6e 67 20 3d 20 6f 72 20 3a 20 61 73 20 73 65 70 61 72 61 74 6f 72 e.name.using.=.or.:.as.separator
1cb40 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 72 65 61 74 ...<info>php.composer.phar.creat
1cb60 65 2d 70 72 6f 6a 65 63 74 20 76 65 6e 64 6f 72 2f 70 72 6f 6a 65 63 74 3a 76 65 72 73 69 6f 6e e-project.vendor/project:version
1cb80 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 69 6e 73 .target-directory</info>..To.ins
1cba0 74 61 6c 6c 20 75 6e 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 2c 20 65 69 74 68 65 72 20 73 tall.unstable.packages,.either.s
1cbc0 70 65 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 20 77 61 6e 74 2c 20 6f 72 20 pecify.the.version.you.want,.or.
1cbe0 75 73 65 20 74 68 65 0a 2d 2d 73 74 61 62 69 6c 69 74 79 3d 64 65 76 20 28 77 68 65 72 65 20 64 use.the.--stability=dev.(where.d
1cc00 65 76 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 52 43 2c 20 62 65 74 61 2c 20 61 6c 70 68 61 ev.can.be.one.of.RC,.beta,.alpha
1cc20 20 6f 72 20 64 65 76 29 2e 0a 0a 54 6f 20 73 65 74 75 70 20 61 20 64 65 76 65 6c 6f 70 65 72 20 .or.dev)...To.setup.a.developer.
1cc40 77 6f 72 6b 61 62 6c 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 20 73 68 6f 75 6c 64 20 63 72 65 61 workable.version.you.should.crea
1cc60 74 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 0a te.the.project.using.the.source.
1cc80 63 6f 6e 74 72 6f 6c 6c 65 64 20 63 6f 64 65 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 74 68 65 controlled.code.by.appending.the
1cca0 20 3c 69 6e 66 6f 3e 27 2d 2d 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 3c 2f 69 6e 66 6f 3e 20 .<info>'--prefer-source'</info>.
1ccc0 66 6c 61 67 2e 0a 0a 54 6f 20 69 6e 73 74 61 6c 6c 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d flag...To.install.a.package.from
1cce0 20 61 6e 6f 74 68 65 72 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61 6e 20 74 68 65 20 64 65 66 .another.repository.than.the.def
1cd00 61 75 6c 74 20 6f 6e 65 20 79 6f 75 0a 63 61 6e 20 70 61 73 73 20 74 68 65 20 3c 69 6e 66 6f 3e ault.one.you.can.pass.the.<info>
1cd20 27 2d 2d 72 65 70 6f 73 69 74 6f 72 79 3d 68 74 74 70 73 3a 2f 2f 6d 79 72 65 70 6f 73 69 74 6f '--repository=https://myreposito
1cd40 72 79 2e 6f 72 67 27 3c 2f 69 6e 66 6f 3e 20 66 6c 61 67 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a ry.org'</info>.flag...EOT.).;.}.
1cd60 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
1cd80 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
1cda0 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a ce.$output).{.$config.=.Factory:
1cdc0 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 :createConfig();.$io.=.$this->ge
1cde0 74 49 4f 28 29 3b 0a 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 tIO();..list($preferSource,.$pre
1ce00 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 6e ferDist).=.$this->getPreferredIn
1ce20 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 2c 20 74 72 stallOptions($config,.$input,.tr
1ce40 75 65 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 ue);..if.($input->getOption('dev
1ce60 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e ')).{.$io->writeError('<warning>
1ce80 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 You.are.using.the.deprecated.opt
1cea0 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 ion."dev"..Dev.packages.are.inst
1cec0 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 alled.by.default.now.</warning>'
1cee0 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 );.}.if.($input->getOption('no-c
1cf00 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ustom-installers')).{.$io->write
1cf20 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 Error('<warning>You.are.using.th
1cf40 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d 63 75 73 74 6f 6d 2d 69 e.deprecated.option."no-custom-i
1cf60 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 69 6e 73 nstallers"..Use."no-plugins".ins
1cf80 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 tead.</warning>');.$input->setOp
1cfa0 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 72 65 74 tion('no-plugins',.true);.}..ret
1cfc0 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 74 28 0a 24 69 6f 2c 0a urn.$this->installProject(.$io,.
1cfe0 24 63 6f 6e 66 69 67 2c 0a 24 69 6e 70 75 74 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 $config,.$input,.$input->getArgu
1d000 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 ment('package'),.$input->getArgu
1d020 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 ment('directory'),.$input->getAr
1d040 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 gument('version'),.$input->getOp
1d060 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 2c 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 tion('stability'),.$preferSource
1d080 2c 0a 24 70 72 65 66 65 72 44 69 73 74 2c 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ,.$preferDist,.!$input->getOptio
1d0a0 6e 28 27 6e 6f 2d 64 65 76 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 n('no-dev'),.$input->getOption('
1d0c0 72 65 70 6f 73 69 74 6f 72 79 27 29 20 3f 3a 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f repository').?:.$input->getOptio
1d0e0 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 n('repository-url'),.$input->get
1d100 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 Option('no-plugins'),.$input->ge
1d120 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 tOption('no-scripts'),.$input->g
1d140 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 2c 0a 24 69 6e 70 75 74 2d etOption('no-progress'),.$input-
1d160 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 74 61 6c 6c 27 29 2c 0a 24 69 6e 70 75 74 >getOption('no-install'),.$input
1d180 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 ->getOption('ignore-platform-req
1d1a0 73 27 29 2c 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 65 63 75 s'),.!$input->getOption('no-secu
1d1c0 72 65 2d 68 74 74 70 27 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 re-http').);.}..public.function.
1d1e0 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 installProject(IOInterface.$io,.
1d200 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 Config.$config,.InputInterface.$
1d220 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 20 input,.$packageName,.$directory.
1d240 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 =.null,.$packageVersion.=.null,.
1d260 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 70 72 65 66 65 72 53 6f $stability.=.'stable',.$preferSo
1d280 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 urce.=.false,.$preferDist.=.fals
1d2a0 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 e,.$installDevPackages.=.false,.
1d2c0 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 $repository.=.null,.$disablePlug
1d2e0 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 69 70 74 73 20 3d 20 66 61 6c 73 65 2c ins.=.false,.$noScripts.=.false,
1d300 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 49 6e 73 74 61 6c 6c .$noProgress.=.false,.$noInstall
1d320 20 3d 20 66 61 6c 73 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 .=.false,.$ignorePlatformReqs.=.
1d340 66 61 6c 73 65 2c 20 24 73 65 63 75 72 65 48 74 74 70 20 3d 20 74 72 75 65 29 0a 7b 0a 24 6f 6c false,.$secureHttp.=.true).{.$ol
1d360 64 43 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e dCwd.=.getcwd();....$io->loadCon
1d380 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 75 67 figuration($config);..$this->sug
1d3a0 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 20 3d 20 6e 65 77 20 53 75 67 gestedPackagesReporter.=.new.Sug
1d3c0 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 24 69 6f 29 3b 0a 0a 69 66 gestedPackagesReporter($io);..if
1d3e0 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 69 6e 73 74 .($packageName.!==.null).{.$inst
1d400 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 52 6f 6f alledFromVcs.=.$this->installRoo
1d420 74 50 61 63 6b 61 67 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e tPackage($io,.$config,.$packageN
1d440 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e ame,.$directory,.$packageVersion
1d460 2c 20 24 73 74 61 62 69 6c 69 74 79 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 ,.$stability,.$preferSource,.$pr
1d480 65 66 65 72 44 69 73 74 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 2c 20 24 eferDist,.$installDevPackages,.$
1d4a0 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 2c 20 24 6e 6f repository,.$disablePlugins,.$no
1d4c0 53 63 72 69 70 74 73 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 2c 20 24 69 67 6e 6f 72 65 50 6c 61 Scripts,.$noProgress,.$ignorePla
1d4e0 74 66 6f 72 6d 52 65 71 73 2c 20 24 73 65 63 75 72 65 48 74 74 70 29 3b 0a 7d 20 65 6c 73 65 20 tformReqs,.$secureHttp);.}.else.
1d500 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a {.$installedFromVcs.=.false;.}..
1d520 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c $composer.=.Factory::create($io,
1d540 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 24 63 6f 6d 70 6f 73 .null,.$disablePlugins);.$compos
1d560 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 er->getDownloadManager()->setOut
1d580 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 72 65 73 73 29 3b 0a 0a 24 66 73 20 putProgress(!$noProgress);..$fs.
1d5a0 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 69 66 20 28 24 6e 6f 53 63 72 69 =.new.Filesystem();..if.($noScri
1d5c0 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 pts.===.false).{...$composer->ge
1d5e0 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 tEventDispatcher()->dispatchScri
1d600 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 pt(ScriptEvents::POST_ROOT_PACKA
1d620 47 45 5f 49 4e 53 54 41 4c 4c 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 GE_INSTALL,.$installDevPackages)
1d640 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 ;.}....$config.=.$composer->getC
1d660 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 onfig();.list($preferSource,.$pr
1d680 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 eferDist).=.$this->getPreferredI
1d6a0 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 29 3b 0a nstallOptions($config,.$input);.
1d6c0 0a 0a 20 69 66 20 28 24 6e 6f 49 6e 73 74 61 6c 6c 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 ...if.($noInstall.===.false).{.$
1d6e0 69 6e 73 74 61 6c 6c 65 72 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 installer.=.Installer::create($i
1d700 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 65 74 50 72 o,.$composer);.$installer->setPr
1d720 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 eferSource($preferSource).->setP
1d740 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 65 74 44 65 76 4d referDist($preferDist).->setDevM
1d760 6f 64 65 28 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 52 75 ode($installDevPackages).->setRu
1d780 6e 53 63 72 69 70 74 73 28 21 24 6e 6f 53 63 72 69 70 74 73 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 nScripts(!$noScripts).->setIgnor
1d7a0 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 67 6e 6f 72 65 50 6c 61 ePlatformRequirements($ignorePla
1d7c0 74 66 6f 72 6d 52 65 71 73 29 0a 2d 3e 73 65 74 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 tformReqs).->setSuggestedPackage
1d7e0 73 52 65 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 sReporter($this->suggestedPackag
1d800 65 73 52 65 70 6f 72 74 65 72 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 esReporter).->setOptimizeAutoloa
1d820 64 65 72 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c der($config->get('optimize-autol
1d840 6f 61 64 65 72 27 29 29 3b 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 oader'));..if.($disablePlugins).
1d860 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a {.$installer->disablePlugins();.
1d880 7d 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 72 75 6e 28 29 3b 0a }..$status.=.$installer->run();.
1d8a0 69 66 20 28 30 20 21 3d 3d 20 24 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 74 61 if.(0.!==.$status).{.return.$sta
1d8c0 74 75 73 3b 0a 7d 0a 7d 0a 0a 24 68 61 73 56 63 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 tus;.}.}..$hasVcs.=.$installedFr
1d8e0 6f 6d 56 63 73 3b 0a 69 66 20 28 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 omVcs;.if.(.!$input->getOption('
1d900 6b 65 65 70 2d 76 63 73 27 29 0a 26 26 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 0a keep-vcs').&&.$installedFromVcs.
1d920 26 26 20 28 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 6d 6f 76 65 2d 76 &&.(.$input->getOption('remove-v
1d940 63 73 27 29 0a 7c 7c 20 21 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7c 7c cs').||.!$io->isInteractive().||
1d960 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 3c 69 6e 66 6f 3e 44 6f 20 .$io->askConfirmation('<info>Do.
1d980 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 you.want.to.remove.the.existing.
1d9a0 56 43 53 20 28 2e 67 69 74 2c 20 2e 73 76 6e 2e 2e 29 20 68 69 73 74 6f 72 79 3f 3c 2f 69 6e 66 VCS.(.git,..svn..).history?</inf
1d9c0 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 59 2c 6e 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 o>.[<comment>Y,n</comment>]?.',.
1d9e0 74 72 75 65 29 0a 29 0a 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 46 69 6e 64 65 72 true).).).{.$finder.=.new.Finder
1da00 28 29 3b 0a 24 66 69 6e 64 65 72 2d 3e 64 65 70 74 68 28 30 29 2d 3e 64 69 72 65 63 74 6f 72 69 ();.$finder->depth(0)->directori
1da20 65 73 28 29 2d 3e 69 6e 28 67 65 74 63 77 64 28 29 29 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 61 es()->in(getcwd())->ignoreVCS(fa
1da40 6c 73 65 29 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 29 3b 0a 66 6f 72 lse)->ignoreDotFiles(false);.for
1da60 65 61 63 68 20 28 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 27 5f 73 76 6e 27 2c 20 27 43 56 53 each.(array('.svn',.'_svn',.'CVS
1da80 27 2c 20 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d 70 61 72 61 6d 73 27 2c 20 27 2e 6d ',.'_darcs',.'.arch-params',.'.m
1daa0 6f 6e 6f 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e 67 69 74 27 2c 20 27 2e 68 67 27 2c onotone',.'.bzr',.'.git',.'.hg',
1dac0 20 27 2e 66 73 6c 63 6b 6f 75 74 27 2c 20 27 5f 46 4f 53 53 49 4c 5f 27 29 20 61 73 20 24 76 63 .'.fslckout',.'_FOSSIL_').as.$vc
1dae0 73 4e 61 6d 65 29 20 7b 0a 24 66 69 6e 64 65 72 2d 3e 6e 61 6d 65 28 24 76 63 73 4e 61 6d 65 29 sName).{.$finder->name($vcsName)
1db00 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 64 69 72 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 ;.}..try.{.$dirs.=.iterator_to_a
1db20 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 75 6e 73 65 74 28 24 66 69 6e 64 65 72 29 3b 0a 66 rray($finder);.unset($finder);.f
1db40 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 21 24 66 oreach.($dirs.as.$dir).{.if.(!$f
1db60 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 29 20 7b 0a 74 68 72 6f s->removeDirectory($dir)).{.thro
1db80 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e w.new.\RuntimeException('Could.n
1dba0 6f 74 20 72 65 6d 6f 76 65 20 27 2e 24 64 69 72 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 ot.remove.'.$dir);.}.}.}.catch.(
1dbc0 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 \Exception.$e).{.$io->writeError
1dbe0 28 27 3c 65 72 72 6f 72 3e 41 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 69 6c 65 ('<error>An.error.occurred.while
1dc00 20 72 65 6d 6f 76 69 6e 67 20 74 68 65 20 56 43 53 20 6d 65 74 61 64 61 74 61 3a 20 27 2e 24 65 .removing.the.VCS.metadata:.'.$e
1dc20 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 ->getMessage().'</error>');.}..$
1dc40 68 61 73 56 63 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 68 61 73 56 63 hasVcs.=.false;.}....if.(!$hasVc
1dc60 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 s).{.$package.=.$composer->getPa
1dc80 63 6b 61 67 65 28 29 3b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a 73 6f ckage();.$configSource.=.new.Jso
1dca0 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 27 63 6f 6d 70 nConfigSource(new.JsonFile('comp
1dcc0 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 oser.json'));.foreach.(BasePacka
1dce0 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 ge::$supportedLinkTypes.as.$type
1dd00 20 3d 3e 20 24 6d 65 74 61 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e .=>.$meta).{.foreach.($package->
1dd20 7b 27 67 65 74 27 2e 24 6d 65 74 61 5b 27 6d 65 74 68 6f 64 27 5d 7d 28 29 20 61 73 20 24 6c 69 {'get'.$meta['method']}().as.$li
1dd40 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 nk).{.if.($link->getPrettyConstr
1dd60 61 69 6e 74 28 29 20 3d 3d 3d 20 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 29 20 7b 0a 24 63 6f aint().===.'self.version').{.$co
1dd80 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6c 69 6e 6b nfigSource->addLink($type,.$link
1dda0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 ->getTarget(),.$package->getPret
1ddc0 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 53 63 tyVersion());.}.}.}.}..if.($noSc
1dde0 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e ripts.===.false).{...$composer->
1de00 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 getEventDispatcher()->dispatchSc
1de20 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 ript(ScriptEvents::POST_CREATE_P
1de40 52 4f 4a 45 43 54 5f 43 4d 44 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 ROJECT_CMD,.$installDevPackages)
1de60 3b 0a 7d 0a 0a 63 68 64 69 72 28 24 6f 6c 64 43 77 64 29 3b 0a 24 76 65 6e 64 6f 72 43 6f 6d 70 ;.}..chdir($oldCwd);.$vendorComp
1de80 6f 73 65 72 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 oserDir.=.$config->get('vendor-d
1dea0 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 76 65 ir').'/composer';.if.(is_dir($ve
1dec0 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 20 26 26 20 24 66 73 2d 3e 69 73 44 69 72 45 6d ndorComposerDir).&&.$fs->isDirEm
1dee0 70 74 79 28 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e pty($vendorComposerDir)).{.Silen
1df00 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 cer::call('rmdir',.$vendorCompos
1df20 65 72 44 69 72 29 3b 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 erDir);.$vendorDir.=.$config->ge
1df40 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 76 65 6e t('vendor-dir');.if.(is_dir($ven
1df60 64 6f 72 44 69 72 29 20 26 26 20 24 66 73 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 76 65 6e 64 dorDir).&&.$fs->isDirEmpty($vend
1df80 6f 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 orDir)).{.Silencer::call('rmdir'
1dfa0 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a ,.$vendorDir);.}.}..return.0;.}.
1dfc0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 52 6f 6f 74 50 .protected.function.installRootP
1dfe0 61 63 6b 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 ackage(IOInterface.$io,.Config.$
1e000 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 config,.$packageName,.$directory
1e020 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c .=.null,.$packageVersion.=.null,
1e040 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 70 72 65 66 65 72 53 .$stability.=.'stable',.$preferS
1e060 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c ource.=.false,.$preferDist.=.fal
1e080 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c se,.$installDevPackages.=.false,
1e0a0 20 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 .$repository.=.null,.$disablePlu
1e0c0 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 69 70 74 73 20 3d 20 66 61 6c 73 65 gins.=.false,.$noScripts.=.false
1e0e0 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 2c 20 24 69 67 6e 6f 72 65 50 6c ,.$noProgress.=.false,.$ignorePl
1e100 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 65 63 75 72 65 48 74 74 70 20 atformReqs.=.false,.$secureHttp.
1e120 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 73 65 63 75 72 65 48 74 74 70 29 20 7b 0a 24 63 =.true).{.if.(!$secureHttp).{.$c
1e140 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 61 onfig->merge(array('config'.=>.a
1e160 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a rray('secure-http'.=>.false)));.
1e180 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 }..if.(null.===.$repository).{.$
1e1a0 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 sourceRepo.=.new.CompositeReposi
1e1c0 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 tory(RepositoryFactory::defaultR
1e1e0 65 70 6f 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 epos($io,.$config));.}.else.{.$s
1e200 6f 75 72 63 65 52 65 70 6f 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 66 ourceRepo.=.RepositoryFactory::f
1e220 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 romString($io,.$config,.$reposit
1e240 6f 72 79 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 ory,.true);.}..$parser.=.new.Ver
1e260 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 70 sionParser();.$requirements.=.$p
1e280 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 61 72 72 arser->parseNameVersionPairs(arr
1e2a0 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f ay($packageName));.$name.=.strto
1e2c0 6c 6f 77 65 72 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 3b lower($requirements[0]['name']);
1e2e0 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 26 26 20 69 73 73 65 74 28 24 .if.(!$packageVersion.&&.isset($
1e300 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 requirements[0]['version'])).{.$
1e320 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 packageVersion.=.$requirements[0
1e340 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 ]['version'];.}..if.(null.===.$s
1e360 74 61 62 69 6c 69 74 79 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e tability).{.if.(preg_match('{^[^
1e380 2c 5c 73 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6b 65 79 ,\s]*?@('.implode('|',.array_key
1e3a0 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 s(BasePackage::$stabilities)).')
1e3c0 24 7d 69 27 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 $}i',.$packageVersion,.$match)).
1e3e0 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 {.$stability.=.$match[1];.}.else
1e400 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 .{.$stability.=.VersionParser::p
1e420 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 29 3b 0a arseStability($packageVersion);.
1e440 7d 0a 7d 0a 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a }.}..$stability.=.VersionParser:
1e460 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 3b :normalizeStability($stability);
1e480 0a 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 ..if.(!isset(BasePackage::$stabi
1e4a0 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 lities[$stability])).{.throw.new
1e4c0 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 .\InvalidArgumentException('Inva
1e4e0 6c 69 64 20 73 74 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 20 28 27 2e 24 73 74 61 62 69 lid.stability.provided.('.$stabi
1e500 6c 69 74 79 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f lity.'),.must.be.one.of:.'.implo
1e520 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a de(',.',.array_keys(BasePackage:
1e540 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 29 3b 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 :$stabilities)));.}..$pool.=.new
1e560 20 50 6f 6f 6c 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 .Pool($stability);.$pool->addRep
1e580 6f 73 69 74 6f 72 79 28 24 73 6f 75 72 63 65 52 65 70 6f 29 3b 0a 0a 24 70 68 70 56 65 72 73 69 ository($sourceRepo);..$phpVersi
1e5a0 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e on.=.null;.$prettyPhpVersion.=.n
1e5c0 75 6c 6c 3b 0a 69 66 20 28 21 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 20 7b ull;.if.(!$ignorePlatformReqs).{
1e5e0 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 .$platformOverrides.=.$config->g
1e600 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 0a 20 24 70 6c et('platform').?:.array();...$pl
1e620 61 74 66 6f 72 6d 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 atform.=.new.PlatformRepository(
1e640 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 array(),.$platformOverrides);.$p
1e660 68 70 50 61 63 6b 61 67 65 20 3d 20 24 70 6c 61 74 66 6f 72 6d 2d 3e 66 69 6e 64 50 61 63 6b 61 hpPackage.=.$platform->findPacka
1e680 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 ge('php',.'*');.$phpVersion.=.$p
1e6a0 68 70 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 72 65 74 74 79 hpPackage->getVersion();.$pretty
1e6c0 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 PhpVersion.=.$phpPackage->getPre
1e6e0 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 ttyVersion();.}....$versionSelec
1e700 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 28 24 70 6f 6f 6c 29 tor.=.new.VersionSelector($pool)
1e720 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 ;.$package.=.$versionSelector->f
1e740 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 indBestCandidate($name,.$package
1e760 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 Version,.$phpVersion,.$stability
1e780 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 );..if.(!$package).{.$errorMessa
1e7a0 67 65 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 24 6e 61 ge.=."Could.not.find.package.$na
1e7c0 6d 65 20 77 69 74 68 20 22 20 2e 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3f 20 22 me.with."...($packageVersion.?."
1e7e0 76 65 72 73 69 6f 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 22 20 3a 20 22 73 74 61 62 version.$packageVersion".:."stab
1e800 69 6c 69 74 79 20 24 73 74 61 62 69 6c 69 74 79 22 29 3b 0a 69 66 20 28 24 70 68 70 56 65 72 73 ility.$stability");.if.($phpVers
1e820 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 ion.&&.$versionSelector->findBes
1e840 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f tCandidate($name,.$packageVersio
1e860 6e 2c 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 n,.null,.$stability)).{.throw.ne
1e880 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 w.\InvalidArgumentException($err
1e8a0 6f 72 4d 65 73 73 61 67 65 20 2e 27 20 69 6e 20 61 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c orMessage..'.in.a.version.instal
1e8c0 6c 61 62 6c 65 20 75 73 69 6e 67 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 27 2e 24 lable.using.your.PHP.version.'.$
1e8e0 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 2e 27 2e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 prettyPhpVersion.'.');.}..throw.
1e900 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 65 new.\InvalidArgumentException($e
1e920 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 27 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d rrorMessage..'.');.}..if.(null.=
1e940 3d 3d 20 24 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 ==.$directory).{.$parts.=.explod
1e960 65 28 22 2f 22 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 67 e("/",.$name,.2);.$directory.=.g
1e980 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 etcwd()...DIRECTORY_SEPARATOR...
1e9a0 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 75 6e 63 array_pop($parts);.}....if.(func
1e9c0 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 tion_exists('pcntl_async_signals
1e9e0 27 29 29 20 7b 0a 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 30 37 37 37 2c 20 74 ')).{.@mkdir($directory,.0777,.t
1ea00 72 75 65 29 3b 0a 69 66 20 28 24 72 65 61 6c 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 rue);.if.($realDir.=.realpath($d
1ea20 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 70 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 irectory)).{.pcntl_async_signals
1ea40 28 74 72 75 65 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 66 75 6e (true);.pcntl_signal(SIGINT,.fun
1ea60 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 72 65 61 6c 44 69 72 29 20 7b 0a 24 66 73 20 3d 20 ction.().use.($realDir).{.$fs.=.
1ea80 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 new.Filesystem();.$fs->removeDir
1eaa0 65 63 74 6f 72 79 28 24 72 65 61 6c 44 69 72 29 3b 0a 65 78 69 74 28 31 33 30 29 3b 0a 7d 29 3b ectory($realDir);.exit(130);.});
1eac0 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 .}.}..$io->writeError('<info>Ins
1eae0 74 61 6c 6c 69 6e 67 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 talling.'...$package->getName().
1eb00 2e 20 27 20 28 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 ..'.('...$package->getFullPretty
1eb20 56 65 72 73 69 6f 6e 28 66 61 6c 73 65 29 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 Version(false)...')</info>');..i
1eb40 66 20 28 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 f.($disablePlugins).{.$io->write
1eb60 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 6c 75 67 69 6e 73 20 68 61 76 65 20 62 65 65 6e 20 64 Error('<info>Plugins.have.been.d
1eb80 69 73 61 62 6c 65 64 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 isabled.</info>');.}..if.($packa
1eba0 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 ge.instanceof.AliasPackage).{.$p
1ebc0 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b ackage.=.$package->getAliasOf();
1ebe0 0a 7d 0a 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d .}..$dm.=.$this->createDownloadM
1ec00 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 64 6d 2d 3e 73 65 74 50 72 anager($io,.$config);.$dm->setPr
1ec20 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 eferSource($preferSource).->setP
1ec40 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 65 74 4f 75 74 70 referDist($preferDist).->setOutp
1ec60 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 72 65 73 73 29 3b 0a 0a 24 70 72 6f 6a utProgress(!$noProgress);..$proj
1ec80 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c ectInstaller.=.new.ProjectInstal
1eca0 6c 65 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 24 64 6d 29 3b 0a 24 69 6d 20 3d 20 24 74 68 69 ler($directory,.$dm);.$im.=.$thi
1ecc0 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a s->createInstallationManager();.
1ece0 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 24 70 72 6f 6a 65 63 74 49 6e 73 74 61 6c $im->addInstaller($projectInstal
1ed00 6c 65 72 29 3b 0a 24 69 6d 2d 3e 69 6e 73 74 61 6c 6c 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 ler);.$im->install(new.Installed
1ed20 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 4a 73 6f 6e 46 69 6c FilesystemRepository(new.JsonFil
1ed40 65 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 29 29 2c 20 6e 65 77 20 49 6e 73 74 61 6c 6c 4f e('php://memory')),.new.InstallO
1ed60 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 69 6d 2d 3e 6e 6f 74 69 66 79 peration($package));.$im->notify
1ed80 49 6e 73 74 61 6c 6c 73 28 24 69 6f 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 Installs($io);....$this->suggest
1eda0 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e 61 64 64 53 75 67 67 65 73 74 69 6f edPackagesReporter->addSuggestio
1edc0 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 69 6e 73 74 61 nsFromPackage($package);..$insta
1ede0 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 70 61 63 6b lledFromVcs.=.'source'.===.$pack
1ee00 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 24 age->getInstallationSource();..$
1ee20 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 72 65 61 74 65 64 20 70 72 io->writeError('<info>Created.pr
1ee40 6f 6a 65 63 74 20 69 6e 20 27 20 2e 20 24 64 69 72 65 63 74 6f 72 79 20 2e 20 27 3c 2f 69 6e 66 oject.in.'...$directory...'</inf
1ee60 6f 3e 27 29 3b 0a 63 68 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 24 5f 53 45 52 56 o>');.chdir($directory);..$_SERV
1ee80 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 5d 20 3d 20 24 70 ER['COMPOSER_ROOT_VERSION'].=.$p
1eea0 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 70 75 74 65 ackage->getPrettyVersion();.pute
1eec0 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 3d 27 2e 24 5f 53 45 nv('COMPOSER_ROOT_VERSION='.$_SE
1eee0 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 5d 29 3b 0a RVER['COMPOSER_ROOT_VERSION']);.
1ef00 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 3b 0a 7d 0a 0a 70 72 .return.$installedFromVcs;.}..pr
1ef20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d otected.function.createDownloadM
1ef40 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 anager(IOInterface.$io,.Config.$
1ef60 63 6f 6e 66 69 67 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 46 61 63 74 6f 72 79 config).{.$factory.=.new.Factory
1ef80 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 44 6f 77 6e ();..return.$factory->createDown
1efa0 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 70 72 loadManager($io,.$config);.}..pr
1efc0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 otected.function.createInstallat
1efe0 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 73 74 61 6c ionManager().{.return.new.Instal
1f000 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a lationManager();.}.}.<?php......
1f020 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 ......namespace.Composer\Command
1f040 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
1f060 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
1f080 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
1f0a0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 73 43 6f utInterface;.....class.DependsCo
1f0c0 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d mmand.extends.BaseDependencyComm
1f0e0 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 and.{....protected.function.conf
1f100 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a 0a igure().{.parent::configure();..
1f120 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 65 70 65 6e 64 73 27 29 0a 2d 3e 73 65 74 $this.->setName('depends').->set
1f140 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 Aliases(array('why')).->setDescr
1f160 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 68 69 63 68 20 70 61 63 6b 61 67 65 73 20 63 61 75 iption('Shows.which.packages.cau
1f180 73 65 20 74 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 se.the.given.package.to.be.insta
1f1a0 6c 6c 65 64 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 lled.').->setHelp(.<<<EOT.Displa
1f1c0 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 ys.detailed.information.about.wh
1f1e0 65 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 2e 0a 0a 3c 69 ere.a.package.is.referenced...<i
1f200 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 64 65 70 65 6e 64 73 20 63 6f nfo>php.composer.phar.depends.co
1f220 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a mposer/composer</info>..EOT.).;.
1f240 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 }.........protected.function.exe
1f260 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 cute(InputInterface.$input,.Outp
1f280 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 utInterface.$output).{.return.pa
1f2a0 72 65 6e 74 3a 3a 64 6f 45 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c rent::doExecute($input,.$output,
1f2c0 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 .false);.}.}.<?php............na
1f2e0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 mespace.Composer\Command;..use.C
1f300 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 omposer\Composer;.use.Composer\F
1f320 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 actory;.use.Composer\Config;.use
1f340 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 .Composer\Downloader\TransportEx
1f360 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ception;.use.Composer\Repository
1f380 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \PlatformRepository;.use.Compose
1f3a0 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Plugin\CommandEvent;.use.Compo
1f3c0 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d ser\Plugin\PluginEvents;.use.Com
1f3e0 70 6f 73 65 72 5c 55 74 69 6c 5c 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 poser\Util\ConfigValidator;.use.
1f400 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d Composer\Util\IniHelper;.use.Com
1f420 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
1f440 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a Composer\Util\RemoteFilesystem;.
1f460 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 use.Composer\Util\StreamContextF
1f480 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c actory;.use.Composer\SelfUpdate\
1f4a0 4b 65 79 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 56 65 Keys;.use.Composer\SelfUpdate\Ve
1f4c0 72 73 69 6f 6e 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a rsions;.use.Composer\IO\NullIO;.
1f4e0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
1f500 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
1f520 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
1f540 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 69 61 67 6e 6f 73 65 43 6f 6d 6d nterface;.....class.DiagnoseComm
1f560 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 70 72 6f 74 65 and.extends.BaseCommand.{..prote
1f580 63 74 65 64 20 24 72 66 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b cted.$rfs;...protected.$process;
1f5a0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 0a 70 72 6f ...protected.$exitCode.=.0;..pro
1f5c0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
1f5e0 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 69 61 67 6e 6f 73 65 27 29 0a 2d 3e 73 65 74 44 his.->setName('diagnose').->setD
1f600 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 61 67 6e 6f 73 65 73 20 74 68 65 20 73 79 73 74 65 6d escription('Diagnoses.the.system
1f620 20 74 6f 20 69 64 65 6e 74 69 66 79 20 63 6f 6d 6d 6f 6e 20 65 72 72 6f 72 73 2e 27 29 0a 2d 3e .to.identify.common.errors.').->
1f640 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 64 69 61 67 6e 6f setHelp(.<<<EOT.The.<info>diagno
1f660 73 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 68 65 63 6b 73 20 63 6f 6d 6d 6f 6e 20 se</info>.command.checks.common.
1f680 65 72 72 6f 72 73 20 74 6f 20 68 65 6c 70 20 64 65 62 75 67 67 69 6e 67 20 70 72 6f 62 6c 65 6d errors.to.help.debugging.problem
1f6a0 73 2e 0a 0a 54 68 65 20 70 72 6f 63 65 73 73 20 65 78 69 74 20 63 6f 64 65 20 77 69 6c 6c 20 62 s...The.process.exit.code.will.b
1f6c0 65 20 31 20 69 6e 20 63 61 73 65 20 6f 66 20 77 61 72 6e 69 6e 67 73 20 61 6e 64 20 32 20 66 6f e.1.in.case.of.warnings.and.2.fo
1f6e0 72 20 65 72 72 6f 72 73 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 r.errors...EOT.).;.}.....protect
1f700 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 ed.function.execute(InputInterfa
1f720 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 ce.$input,.OutputInterface.$outp
1f740 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 ut).{.$composer.=.$this->getComp
1f760 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 oser(false);.$io.=.$this->getIO(
1f780 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 );..if.($composer).{.$commandEve
1f7a0 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e nt.=.new.CommandEvent(PluginEven
1f7c0 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 64 69 61 67 6e 6f 73 65 27 2c 20 24 69 6e 70 75 74 2c ts::COMMAND,.'diagnose',.$input,
1f7e0 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 .$output);.$composer->getEventDi
1f800 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 spatcher()->dispatch($commandEve
1f820 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a nt->getName(),.$commandEvent);..
1f840 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 $io->write('Checking.composer.js
1f860 6f 6e 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 on:.',.false);.$this->outputResu
1f880 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 53 63 68 65 6d 61 28 29 29 lt($this->checkComposerSchema())
1f8a0 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 ;.}..if.($composer).{.$config.=.
1f8c0 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 7d 20 65 6c 73 65 20 7b $composer->getConfig();.}.else.{
1f8e0 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 .$config.=.Factory::createConfig
1f900 28 29 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e ();.}..$config->merge(array('con
1f920 66 69 67 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 66 fig'.=>.array('secure-http'.=>.f
1f940 61 6c 73 65 29 29 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 alse)));.$config->prohibitUrlByC
1f960 6f 6e 66 69 67 28 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 onfig('http://repo.packagist.org
1f980 27 2c 20 6e 65 77 20 4e 75 6c 6c 49 4f 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 46 61 ',.new.NullIO);..$this->rfs.=.Fa
1f9a0 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 ctory::createRemoteFilesystem($i
1f9c0 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 o,.$config);.$this->process.=.ne
1f9e0 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 24 69 6f 2d 3e 77 72 w.ProcessExecutor($io);..$io->wr
1fa00 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 70 6c 61 74 66 6f 72 6d 20 73 65 74 74 69 6e 67 73 3a ite('Checking.platform.settings:
1fa20 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 .',.false);.$this->outputResult(
1fa40 24 74 68 69 73 2d 3e 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 29 3b 0a 0a 24 69 6f 2d 3e 77 $this->checkPlatform());..$io->w
1fa60 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 67 69 74 20 73 65 74 74 69 6e 67 73 3a 20 27 2c 20 rite('Checking.git.settings:.',.
1fa80 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 false);.$this->outputResult($thi
1faa0 73 2d 3e 63 68 65 63 6b 47 69 74 28 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 s->checkGit());..$io->write('Che
1fac0 63 6b 69 6e 67 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 74 6f 20 70 61 63 6b 61 cking.http.connectivity.to.packa
1fae0 67 69 73 74 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 gist:.',.false);.$this->outputRe
1fb00 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 74 74 70 27 2c 20 24 63 sult($this->checkHttp('http',.$c
1fb20 6f 6e 66 69 67 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 68 onfig));..$io->write('Checking.h
1fb40 74 74 70 73 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 74 6f 20 70 61 63 6b 61 67 69 73 74 3a 20 ttps.connectivity.to.packagist:.
1fb60 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 ',.false);.$this->outputResult($
1fb80 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 74 74 70 73 27 2c 20 24 63 6f 6e 66 69 67 this->checkHttp('https',.$config
1fba0 29 29 3b 0a 0a 24 6f 70 74 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f ));..$opts.=.stream_context_get_
1fbc0 6f 70 74 69 6f 6e 73 28 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 options(StreamContextFactory::ge
1fbe0 74 43 6f 6e 74 65 78 74 28 27 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 6f 72 67 27 29 29 3b tContext('http://example.org'));
1fc00 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6f 70 74 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 .if.(!empty($opts['http']['proxy
1fc20 27 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 54 50 '])).{.$io->write('Checking.HTTP
1fc40 20 70 72 6f 78 79 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 .proxy:.',.false);.$this->output
1fc60 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 29 3b Result($this->checkHttpProxy());
1fc80 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 54 50 20 70 72 6f 78 79 .$io->write('Checking.HTTP.proxy
1fca0 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 3a 20 27 2c .support.for.request_fulluri:.',
1fcc0 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 .false);.$this->outputResult($th
1fce0 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 is->checkHttpProxyFullUriRequest
1fd00 50 61 72 61 6d 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 Param());.$io->write('Checking.H
1fd20 54 54 50 53 20 70 72 6f 78 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 TTPS.proxy.support.for.request_f
1fd40 75 6c 6c 75 72 69 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ulluri:.',.false);.$this->output
1fd60 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 6c Result($this->checkHttpsProxyFul
1fd80 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 61 75 lUriRequestParam());.}..if.($oau
1fda0 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 th.=.$config->get('github-oauth'
1fdc0 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 )).{.foreach.($oauth.as.$domain.
1fde0 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e =>.$token).{.$io->write('Checkin
1fe00 67 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 6f 61 75 74 68 20 61 63 63 65 73 73 3a 20 27 2c 20 66 g.'.$domain.'.oauth.access:.',.f
1fe20 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 alse);.$this->outputResult($this
1fe40 2d 3e 63 68 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b ->checkGithubOauth($domain,.$tok
1fe60 65 6e 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 en));.}.}.else.{.$io->write('Che
1fe80 63 6b 69 6e 67 20 67 69 74 68 75 62 2e 63 6f 6d 20 72 61 74 65 20 6c 69 6d 69 74 3a 20 27 2c 20 cking.github.com.rate.limit:.',.
1fea0 66 61 6c 73 65 29 3b 0a 74 72 79 20 7b 0a 24 72 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 false);.try.{.$rate.=.$this->get
1fec0 47 69 74 68 75 62 52 61 74 65 4c 69 6d 69 74 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 29 3b 0a 24 GithubRateLimit('github.com');.$
1fee0 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 74 72 75 65 29 3b 0a 69 66 20 28 31 30 this->outputResult(true);.if.(10
1ff00 20 3e 20 24 72 61 74 65 5b 27 72 65 6d 61 69 6e 69 6e 67 27 5d 29 20 7b 0a 24 69 6f 2d 3e 77 72 .>.$rate['remaining']).{.$io->wr
1ff20 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 72 6e 69 6e 67 3e 27 ite('<warning>WARNING</warning>'
1ff40 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 0a 27 3c 63 6f 6d 6d 65 6e 74 );.$io->write(sprintf(.'<comment
1ff60 3e 47 69 74 68 75 62 20 68 61 73 20 61 20 72 61 74 65 20 6c 69 6d 69 74 20 6f 6e 20 74 68 65 69 >Github.has.a.rate.limit.on.thei
1ff80 72 20 41 50 49 2e 20 27 0a 2e 20 27 59 6f 75 20 63 75 72 72 65 6e 74 6c 79 20 68 61 76 65 20 3c r.API..'...'You.currently.have.<
1ffa0 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 25 75 3c 2f 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 20 27 options=bold>%u</options=bold>.'
1ffc0 0a 2e 20 27 6f 75 74 20 6f 66 20 3c 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 25 75 3c 2f 6f 70 74 ...'out.of.<options=bold>%u</opt
1ffe0 69 6f 6e 73 3d 62 6f 6c 64 3e 20 72 65 71 75 65 73 74 73 20 6c 65 66 74 2e 27 20 2e 20 50 48 50 ions=bold>.requests.left.'...PHP
20000 5f 45 4f 4c 0a 2e 20 27 53 65 65 20 68 74 74 70 73 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 67 69 _EOL...'See.https://developer.gi
20020 74 68 75 62 2e 63 6f 6d 2f 76 33 2f 23 72 61 74 65 2d 6c 69 6d 69 74 69 6e 67 20 61 6e 64 20 61 thub.com/v3/#rate-limiting.and.a
20040 6c 73 6f 27 20 2e 20 50 48 50 5f 45 4f 4c 0a 2e 20 27 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 65 lso'...PHP_EOL...'....https://ge
20060 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 tcomposer.org/doc/articles/troub
20080 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 61 70 69 2d 72 61 74 65 2d 6c 69 6d 69 74 2d 61 6e 64 leshooting.md#api-rate-limit-and
200a0 2d 6f 61 75 74 68 2d 74 6f 6b 65 6e 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 0a 24 72 61 74 65 5b -oauth-tokens</comment>',.$rate[
200c0 27 72 65 6d 61 69 6e 69 6e 67 27 5d 2c 0a 24 72 61 74 65 5b 27 6c 69 6d 69 74 27 5d 0a 29 29 3b 'remaining'],.$rate['limit'].));
200e0 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 .}.}.catch.(\Exception.$e).{.if.
20100 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f ($e.instanceof.TransportExceptio
20120 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 24 74 n.&&.$e->getCode().===.401).{.$t
20140 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 54 68 65 20 his->outputResult('<comment>The.
20160 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 67 69 74 68 75 62 2e 63 6f 6d 20 73 65 65 6d 73 oauth.token.for.github.com.seems
20180 20 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d .invalid,.run."composer.config.-
201a0 2d 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 67 69 74 -global.--unset.github-oauth.git
201c0 68 75 62 2e 63 6f 6d 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 hub.com".to.remove.it</comment>'
201e0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 );.}.else.{.$this->outputResult(
20200 24 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 $e);.}.}.}..$io->write('Checking
20220 20 64 69 73 6b 20 66 72 65 65 20 73 70 61 63 65 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 .disk.free.space:.',.false);.$th
20240 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 44 69 73 is->outputResult($this->checkDis
20260 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 69 66 20 28 27 70 68 61 72 3a 27 20 3d kSpace($config));..if.('phar:'.=
20280 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 69 6f ==.substr(__FILE__,.0,.5)).{.$io
202a0 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 70 75 62 6b 65 79 73 3a 20 27 2c 20 66 61 ->write('Checking.pubkeys:.',.fa
202c0 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d lse);.$this->outputResult($this-
202e0 3e 63 68 65 63 6b 50 75 62 4b 65 79 73 28 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 24 69 6f 2d 3e 77 >checkPubKeys($config));..$io->w
20300 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 3a rite('Checking.composer.version:
20320 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 .',.false);.$this->outputResult(
20340 24 74 68 69 73 2d 3e 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 29 29 3b 0a 7d $this->checkVersion($config));.}
20360 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 70 6f 73 65 72 20 76 ..$io->write(sprintf('Composer.v
20380 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 ersion:.<comment>%s</comment>',.
203a0 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 29 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 4f Composer::VERSION));..$platformO
203c0 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 verrides.=.$config->get('platfor
203e0 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 m').?:.array();.$platformRepo.=.
20400 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 new.PlatformRepository(array(),.
20420 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 68 70 50 6b 67 20 3d 20 24 $platformOverrides);.$phpPkg.=.$
20440 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c platformRepo->findPackage('php',
20460 20 27 2a 27 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 6b 67 2d 3e 67 65 .'*');.$phpVersion.=.$phpPkg->ge
20480 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 tPrettyVersion();.if.(false.!==.
204a0 73 74 72 70 6f 73 28 24 70 68 70 50 6b 67 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 strpos($phpPkg->getDescription()
204c0 2c 20 27 6f 76 65 72 72 69 64 64 65 6e 27 29 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 2e ,.'overridden')).{.$phpVersion..
204e0 3d 20 27 20 2d 20 27 20 2e 20 24 70 68 70 50 6b 67 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f =.'.-.'...$phpPkg->getDescriptio
20500 6e 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 50 48 50 20 n();.}..$io->write(sprintf('PHP.
20520 76 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c version:.<comment>%s</comment>',
20540 20 24 70 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 .$phpVersion));..if.(defined('PH
20560 50 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 P_BINARY')).{.$io->write(sprintf
20580 28 27 50 48 50 20 62 69 6e 61 72 79 20 70 61 74 68 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f ('PHP.binary.path:.<comment>%s</
205a0 63 6f 6d 6d 65 6e 74 3e 27 2c 20 50 48 50 5f 42 49 4e 41 52 59 29 29 3b 0a 7d 0a 0a 72 65 74 75 comment>',.PHP_BINARY));.}..retu
205c0 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 rn.$this->exitCode;.}..private.f
205e0 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 53 63 68 65 6d 61 28 29 0a 7b 0a unction.checkComposerSchema().{.
20600 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 $validator.=.new.ConfigValidator
20620 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 ($this->getIO());.list($errors,.
20640 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 ,.$warnings).=.$validator->valid
20660 61 74 65 28 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b ate(Factory::getComposerFile());
20680 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 77 61 72 6e 69 6e 67 73 29 20 7b 0a 24 6d ..if.($errors.||.$warnings).{.$m
206a0 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 24 65 72 72 essages.=.array(.'error'.=>.$err
206c0 6f 72 73 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 72 6e 69 6e 67 73 2c 0a 29 3b 0a ors,.'warning'.=>.$warnings,.);.
206e0 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 .$output.=.'';.foreach.($message
20700 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 s.as.$style.=>.$msgs).{.foreach.
20720 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 27 3c 27 ($msgs.as.$msg).{.$output..=.'<'
20740 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 67 20 2e 20 27 3c 2f 27 20 2e 20 ...$style...'>'...$msg...'</'...
20760 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 0a 72 65 74 $style...'>'...PHP_EOL;.}.}..ret
20780 75 72 6e 20 72 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 urn.rtrim($output);.}..return.tr
207a0 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 47 69 74 ue;.}..private.function.checkGit
207c0 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 ().{.$this->process->execute('gi
207e0 74 20 63 6f 6e 66 69 67 20 63 6f 6c 6f 72 2e 75 69 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 69 66 t.config.color.ui',.$output);.if
20800 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 3d 3d 3d 20 .(strtolower(trim($output)).===.
20820 27 61 6c 77 61 79 73 27 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 59 6f 75 'always').{.return.'<comment>You
20840 72 20 67 69 74 20 63 6f 6c 6f 72 2e 75 69 20 73 65 74 74 69 6e 67 20 69 73 20 73 65 74 20 74 6f r.git.color.ui.setting.is.set.to
20860 20 61 6c 77 61 79 73 2c 20 74 68 69 73 20 69 73 20 6b 6e 6f 77 6e 20 74 6f 20 63 72 65 61 74 65 .always,.this.is.known.to.create
20880 20 69 73 73 75 65 73 2e 20 55 73 65 20 22 67 69 74 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 .issues..Use."git.config.--globa
208a0 6c 20 63 6f 6c 6f 72 2e 75 69 20 74 72 75 65 22 20 74 6f 20 73 65 74 20 69 74 20 63 6f 72 72 65 l.color.ui.true".to.set.it.corre
208c0 63 74 6c 79 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 ctly.</comment>';.}..return.true
208e0 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 28 ;.}..private.function.checkHttp(
20900 24 70 72 6f 74 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 64 69 73 61 62 $proto,.Config.$config).{.$disab
20920 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 leTls.=.false;.$result.=.array()
20940 3b 0a 69 66 20 28 24 70 72 6f 74 6f 20 3d 3d 3d 20 27 68 74 74 70 73 27 20 26 26 20 24 63 6f 6e ;.if.($proto.===.'https'.&&.$con
20960 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 fig->get('disable-tls').===.true
20980 29 20 7b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 24 72 65 73 75 6c 74 5b ).{.$disableTls.=.true;.$result[
209a0 5d 20 3d 20 27 3c 77 61 72 6e 69 6e 67 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 63 6f 6e 66 69 67 ].=.'<warning>Composer.is.config
209c0 75 72 65 64 20 74 6f 20 64 69 73 61 62 6c 65 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 ured.to.disable.SSL/TLS.protecti
209e0 6f 6e 2e 20 54 68 69 73 20 77 69 6c 6c 20 6c 65 61 76 65 20 72 65 6d 6f 74 65 20 48 54 54 50 53 on..This.will.leave.remote.HTTPS
20a00 20 72 65 71 75 65 73 74 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 4d 61 6e 2d 49 6e 2d 54 .requests.vulnerable.to.Man-In-T
20a20 68 65 2d 4d 69 64 64 6c 65 20 61 74 74 61 63 6b 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d he-Middle.attacks.</warning>';.}
20a40 0a 69 66 20 28 24 70 72 6f 74 6f 20 3d 3d 3d 20 27 68 74 74 70 73 27 20 26 26 20 21 65 78 74 65 .if.($proto.===.'https'.&&.!exte
20a60 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 21 24 64 69 73 nsion_loaded('openssl').&&.!$dis
20a80 61 62 6c 65 54 6c 73 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 43 ableTls).{.$result[].=.'<error>C
20aa0 6f 6d 70 6f 73 65 72 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 75 73 65 20 53 53 4c omposer.is.configured.to.use.SSL
20ac0 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 62 75 74 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 /TLS.protection.but.the.openssl.
20ae0 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 65 72 72 extension.is.not.available.</err
20b00 6f 72 3e 27 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f or>';.}..try.{.$this->rfs->getCo
20b20 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 20 2e ntents('packagist.org',.$proto..
20b40 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 .'://repo.packagist.org/packages
20b60 2e 6a 73 6f 6e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f .json',.false);.}.catch.(Transpo
20b80 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 rtException.$e).{.if.(false.!==.
20ba0 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 63 61 66 69 6c 65 strpos($e->getMessage(),.'cafile
20bc0 27 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 5b 27 20 2e 20 67 ')).{.$result[].=.'<error>['...g
20be0 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e 20 27 5d 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 et_class($e)...'].'...$e->getMes
20c00 73 61 67 65 28 29 20 2e 20 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d sage()...'</error>';.$result[].=
20c20 20 27 3c 65 72 72 6f 72 3e 55 6e 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 61 20 76 61 6c 69 .'<error>Unable.to.locate.a.vali
20c40 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 2e 20 59 6f 75 20 6d 75 73 74 20 d.CA.certificate.file..You.must.
20c60 73 65 74 20 61 20 76 61 6c 69 64 20 5c 27 63 61 66 69 6c 65 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f set.a.valid.\'cafile\'.option.</
20c80 65 72 72 6f 72 3e 27 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 59 6f 75 error>';.$result[].=.'<error>You
20ca0 20 63 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 .can.alternatively.disable.this.
20cc0 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 65 6e 61 62 error,.at.your.own.risk,.by.enab
20ce0 6c 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 2e ling.the.\'disable-tls\'.option.
20d00 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 </error>';.}.else.{.array_unshif
20d20 74 28 24 72 65 73 75 6c 74 2c 20 27 5b 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e t($result,.'['...get_class($e)..
20d40 20 27 5d 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 7d 0a 0a .'].'...$e->getMessage());.}.}..
20d60 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e if.(count($result).>.0).{.return
20d80 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 .$result;.}..return.true;.}..pri
20da0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 0a 7b vate.function.checkHttpProxy().{
20dc0 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f .$protocol.=.extension_loaded('o
20de0 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 74 72 79 penssl').?.'https'.:.'http';.try
20e00 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 72 66 .{.$json.=.json_decode($this->rf
20e20 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 s->getContents('packagist.org',.
20e40 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f $protocol...'://repo.packagist.o
20e60 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 2c 20 66 61 6c 73 65 29 2c 20 74 72 75 65 29 rg/packages.json',.false),.true)
20e80 3b 0a 24 68 61 73 68 20 3d 20 72 65 73 65 74 28 24 6a 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d ;.$hash.=.reset($json['provider-
20ea0 69 6e 63 6c 75 64 65 73 27 5d 29 3b 0a 24 68 61 73 68 20 3d 20 24 68 61 73 68 5b 27 73 68 61 32 includes']);.$hash.=.$hash['sha2
20ec0 35 36 27 5d 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 68 61 73 68 56'];.$path.=.str_replace('%hash
20ee0 25 27 2c 20 24 68 61 73 68 2c 20 6b 65 79 28 24 6a 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d 69 %',.$hash,.key($json['provider-i
20f00 6e 63 6c 75 64 65 73 27 5d 29 29 3b 0a 24 70 72 6f 76 69 64 65 72 20 3d 20 24 74 68 69 73 2d 3e ncludes']));.$provider.=.$this->
20f20 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 rfs->getContents('packagist.org'
20f40 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 ,.$protocol...'://repo.packagist
20f60 2e 6f 72 67 2f 27 2e 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 0a 69 66 20 28 68 61 73 68 28 .org/'.$path,.false);..if.(hash(
20f80 27 73 68 61 32 35 36 27 2c 20 24 70 72 6f 76 69 64 65 72 29 20 21 3d 3d 20 24 68 61 73 68 29 20 'sha256',.$provider).!==.$hash).
20fa0 7b 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 61 74 20 79 6f 75 72 20 70 72 6f {.return.'It.seems.that.your.pro
20fc0 78 79 20 69 73 20 6d 6f 64 69 66 79 69 6e 67 20 68 74 74 70 20 74 72 61 66 66 69 63 20 6f 6e 20 xy.is.modifying.http.traffic.on.
20fe0 74 68 65 20 66 6c 79 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 the.fly';.}.}.catch.(\Exception.
21000 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b $e).{.return.$e;.}..return.true;
21020 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 .}.........private.function.chec
21040 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 0a kHttpProxyFullUriRequestParam().
21060 7b 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e {.$url.=.'http://repo.packagist.
21080 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d org/packages.json';.try.{.$this-
210a0 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 >rfs->getContents('packagist.org
210c0 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 ',.$url,.false);.}.catch.(Transp
210e0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e ortException.$e).{.try.{.$this->
21100 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 rfs->getContents('packagist.org'
21120 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 ,.$url,.false,.array('http'.=>.a
21140 72 72 61 79 28 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 20 3d 3e 20 66 61 6c 73 65 29 rray('request_fulluri'.=>.false)
21160 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 ));.}.catch.(TransportException.
21180 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 73 73 20 74 $e).{.return.'Unable.to.assess.t
211a0 68 65 20 73 69 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 70 61 63 6b 61 67 69 73 74 2e 6f 72 he.situation,.maybe.packagist.or
211c0 67 20 69 73 20 64 6f 77 6e 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 g.is.down.('.$e->getMessage().')
211e0 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 69 73 20 ';.}..return.'It.seems.there.is.
21200 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 76 65 72 a.problem.with.your.proxy.server
21220 2c 20 74 72 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 22 48 54 54 50 5f 50 52 4f 58 59 5f 52 45 ,.try.setting.the."HTTP_PROXY_RE
21240 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 61 6e 64 20 22 48 54 54 50 53 5f 50 52 4f 58 59 5f QUEST_FULLURI".and."HTTPS_PROXY_
21260 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 REQUEST_FULLURI".environment.var
21280 69 61 62 6c 65 73 20 74 6f 20 22 66 61 6c 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 iables.to."false"';.}..return.tr
212a0 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 ue;.}.........private.function.c
212c0 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 heckHttpsProxyFullUriRequestPara
212e0 6d 28 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 m().{.if.(!extension_loaded('ope
21300 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6f nssl')).{.return.'You.need.the.o
21320 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 66 6f 72 20 74 penssl.extension.installed.for.t
21340 68 69 73 20 63 68 65 63 6b 27 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 his.check';.}..$url.=.'https://a
21360 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 53 65 6c 64 61 65 6b 2f 6a 73 6f 6e pi.github.com/repos/Seldaek/json
21380 6c 69 6e 74 2f 7a 69 70 62 61 6c 6c 2f 31 2e 30 2e 30 27 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 lint/zipball/1.0.0';.try.{.$this
213a0 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 2c ->rfs->getContents('github.com',
213c0 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 .$url,.false);.}.catch.(Transpor
213e0 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 tException.$e).{.try.{.$this->rf
21400 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 2c 20 24 75 72 s->getContents('github.com',.$ur
21420 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 l,.false,.array('http'.=>.array(
21440 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a 7d 'request_fulluri'.=>.false)));.}
21460 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b .catch.(TransportException.$e).{
21480 0a 72 65 74 75 72 6e 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 73 73 20 74 68 65 20 73 69 .return.'Unable.to.assess.the.si
214a0 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 67 69 74 68 75 62 20 69 73 20 64 6f 77 6e 20 28 27 tuation,.maybe.github.is.down.('
214c0 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e .$e->getMessage().')';.}..return
214e0 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 .'It.seems.there.is.a.problem.wi
21500 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 74 72 79 20 73 65 74 74 69 6e th.your.proxy.server,.try.settin
21520 67 20 74 68 65 20 22 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 g.the."HTTPS_PROXY_REQUEST_FULLU
21540 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 6f 20 22 66 61 6c RI".environment.variable.to."fal
21560 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 se"';.}..return.true;.}..private
21580 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 64 6f 6d 61 .function.checkGithubOauth($doma
215a0 69 6e 2c 20 24 74 6f 6b 65 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 73 65 in,.$token).{.$this->getIO()->se
215c0 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c tAuthentication($domain,.$token,
215e0 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 74 72 79 20 7b 0a 24 75 72 6c 20 3d 20 .'x-oauth-basic');.try.{.$url.=.
21600 24 64 6f 6d 61 69 6e 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3f 20 27 68 74 74 70 $domain.===.'github.com'.?.'http
21620 73 3a 2f 2f 61 70 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 27 20 3a 20 27 68 74 74 70 73 3a 2f s://api.'.$domain.'/'.:.'https:/
21640 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a 72 65 74 75 72 6e 20 24 /'.$domain.'/api/v3/';..return.$
21660 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 64 6f 6d 61 69 6e 2c 20 this->rfs->getContents($domain,.
21680 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d $url,.false,.array(.'retry-auth-
216a0 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 29 29 20 3f 20 74 72 75 65 20 3a 20 27 failure'.=>.false,.)).?.true.:.'
216c0 55 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 27 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 Unexpected.error';.}.catch.(\Exc
216e0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 eption.$e).{.if.($e.instanceof.T
21700 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 ransportException.&&.$e->getCode
21720 28 29 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 54 ().===.401).{.return.'<comment>T
21740 68 65 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 73 he.oauth.token.for.'.$domain.'.s
21760 65 65 6d 73 20 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 eems.invalid,.run."composer.conf
21780 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d 6f 61 75 74 68 ig.--global.--unset.github-oauth
217a0 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c 2f 63 6f 6d 6d .'.$domain.'".to.remove.it</comm
217c0 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ent>';.}..return.$e;.}.}........
217e0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 68 75 62 52 61 74 65 4c 69 private.function.getGithubRateLi
21800 6d 69 74 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 mit($domain,.$token.=.null).{.if
21820 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 73 65 74 41 .($token).{.$this->getIO()->setA
21840 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 uthentication($domain,.$token,.'
21860 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 24 64 6f 6d 61 x-oauth-basic');.}..$url.=.$doma
21880 69 6e 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3f 20 27 68 74 74 70 73 3a 2f 2f 61 in.===.'github.com'.?.'https://a
218a0 70 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 72 61 74 65 5f 6c 69 6d 69 74 27 20 3a 20 27 68 74 pi.'.$domain.'/rate_limit'.:.'ht
218c0 74 70 73 3a 2f 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 61 70 69 2f 72 61 74 65 5f 6c 69 6d 69 74 tps://'.$domain.'/api/rate_limit
218e0 27 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e ';.$json.=.$this->rfs->getConten
21900 74 73 28 24 64 6f 6d 61 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 ts($domain,.$url,.false,.array('
21920 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 29 29 3b 0a retry-auth-failure'.=>.false));.
21940 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 $data.=.json_decode($json,.true)
21960 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 5b 27 72 65 73 6f 75 72 63 65 73 27 5d 5b 27 63 6f ;..return.$data['resources']['co
21980 72 65 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 44 re'];.}..private.function.checkD
219a0 69 73 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 6d 69 6e 53 70 61 63 65 46 72 65 iskSpace($config).{.$minSpaceFre
219c0 65 20 3d 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 3d 20 40 64 69 e.=.1024.*.1024;.if.((($df.=.@di
219e0 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 sk_free_space($dir.=.$config->ge
21a00 74 28 27 68 6f 6d 65 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 t('home'))).!==.false.&&.$df.<.$
21a20 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 40 64 69 73 6b 5f 66 minSpaceFree).||.(($df.=.@disk_f
21a40 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 ree_space($dir.=.$config->get('v
21a60 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c endor-dir'))).!==.false.&&.$df.<
21a80 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 65 72 72 .$minSpaceFree).).{.return.'<err
21aa0 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 20 69 73 20 or>The.disk.hosting.'.$dir.'.is.
21ac0 66 75 6c 6c 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d full</error>';.}..return.true;.}
21ae0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 50 75 62 4b 65 79 73 28 ..private.function.checkPubKeys(
21b00 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 68 6f 6d 65 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 $config).{.$home.=.$config->get(
21b20 27 68 6f 6d 65 27 29 3b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f 20 'home');.$errors.=.array();.$io.
21b40 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 =.$this->getIO();..if.(file_exis
21b60 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 20 26 26 20 66 69 ts($home.'/keys.tags.pub').&&.fi
21b80 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 le_exists($home.'/keys.dev.pub')
21ba0 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f ).{.$io->write('');.}..if.(file_
21bc0 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 29 20 exists($home.'/keys.tags.pub')).
21be0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 54 61 67 73 20 50 75 62 6c 69 63 20 4b 65 79 20 46 69 {.$io->write('Tags.Public.Key.Fi
21c00 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 ngerprint:.'...Keys::fingerprint
21c20 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 29 3b 0a 7d 20 65 6c 73 ($home.'/keys.tags.pub'));.}.els
21c40 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 4d 69 73 73 69 6e 67 20 e.{.$errors[].=.'<error>Missing.
21c60 70 75 62 6b 65 79 20 66 6f 72 20 74 61 67 73 20 76 65 72 69 66 69 63 61 74 69 6f 6e 3c 2f 65 72 pubkey.for.tags.verification</er
21c80 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e ror>';.}..if.(file_exists($home.
21ca0 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 '/keys.dev.pub')).{.$io->write('
21cc0 44 65 76 20 50 75 62 6c 69 63 20 4b 65 79 20 46 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 Dev.Public.Key.Fingerprint:.'...
21ce0 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 Keys::fingerprint($home.'/keys.d
21d00 65 76 2e 70 75 62 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 ev.pub'));.}.else.{.$errors[].=.
21d20 27 3c 65 72 72 6f 72 3e 4d 69 73 73 69 6e 67 20 70 75 62 6b 65 79 20 66 6f 72 20 64 65 76 20 76 '<error>Missing.pubkey.for.dev.v
21d40 65 72 69 66 69 63 61 74 69 6f 6e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 erification</error>';.}..if.($er
21d60 72 6f 72 73 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 52 75 6e 20 rors).{.$errors[].=.'<error>Run.
21d80 63 6f 6d 70 6f 73 65 72 20 73 65 6c 66 2d 75 70 64 61 74 65 20 2d 2d 75 70 64 61 74 65 2d 6b 65 composer.self-update.--update-ke
21da0 79 73 20 74 6f 20 73 65 74 20 74 68 65 6d 20 75 70 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 72 ys.to.set.them.up</error>';.}..r
21dc0 65 74 75 72 6e 20 24 65 72 72 6f 72 73 20 3f 3a 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 eturn.$errors.?:.true;.}..privat
21de0 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 29 e.function.checkVersion($config)
21e00 0a 7b 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 73 28 .{.$versionsUtil.=.new.Versions(
21e20 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a 24 6c 61 74 65 73 74 20 3d 20 $config,.$this->rfs);.$latest.=.
21e40 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 28 29 3b 0a 0a 69 66 20 $versionsUtil->getLatest();..if.
21e60 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 24 6c 61 74 65 73 74 5b 27 (Composer::VERSION.!==.$latest['
21e80 76 65 72 73 69 6f 6e 27 5d 20 26 26 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 version'].&&.Composer::VERSION.!
21ea0 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 76 65 72 73 69 6f 6e 40 27 29 20 7b 0a 72 65 74 75 72 6e ==.'@package_version@').{.return
21ec0 20 27 3c 63 6f 6d 6d 65 6e 74 3e 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 75 6e 6e 69 6e 67 20 74 .'<comment>You.are.not.running.t
21ee0 68 65 20 6c 61 74 65 73 74 20 27 2e 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 he.latest.'.$versionsUtil->getCh
21f00 61 6e 6e 65 6c 28 29 2e 27 20 76 65 72 73 69 6f 6e 2c 20 72 75 6e 20 60 63 6f 6d 70 6f 73 65 72 annel().'.version,.run.`composer
21f20 20 73 65 6c 66 2d 75 70 64 61 74 65 60 20 74 6f 20 75 70 64 61 74 65 20 28 27 2e 43 6f 6d 70 6f .self-update`.to.update.('.Compo
21f40 73 65 72 3a 3a 56 45 52 53 49 4f 4e 2e 27 20 3d 3e 20 27 2e 24 6c 61 74 65 73 74 5b 27 76 65 72 ser::VERSION.'.=>.'.$latest['ver
21f60 73 69 6f 6e 27 5d 2e 27 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 sion'].')</comment>';.}..return.
21f80 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 true;.}.....private.function.out
21fa0 70 75 74 52 65 73 75 6c 74 28 24 72 65 73 75 6c 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 putResult($result).{.$io.=.$this
21fc0 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 ->getIO();.if.(true.===.$result)
21fe0 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 4f 4b 3c 2f 69 6e 66 6f 3e 27 29 .{.$io->write('<info>OK</info>')
22000 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 68 61 64 45 72 72 6f 72 20 3d 20 66 61 6c 73 65 3b ;..return;.}..$hadError.=.false;
22020 0a 69 66 20 28 24 72 65 73 75 6c 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 .if.($result.instanceof.\Excepti
22040 6f 6e 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 3c 65 72 72 6f 72 3e 5b 27 2e 67 65 74 5f 63 on).{.$result.=.'<error>['.get_c
22060 6c 61 73 73 28 24 72 65 73 75 6c 74 29 2e 27 5d 20 27 2e 24 72 65 73 75 6c 74 2d 3e 67 65 74 4d lass($result).'].'.$result->getM
22080 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 65 essage().'</error>';.}..if.(!$re
220a0 73 75 6c 74 29 20 7b 0a 0a 20 24 68 61 64 45 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c sult).{...$hadError.=.true;.}.el
220c0 73 65 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 24 se.{.if.(!is_array($result)).{.$
220e0 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 66 6f 72 65 61 result.=.array($result);.}.forea
22100 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 66 ch.($result.as.$message).{.if.(f
22120 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 3c 65 72 72 6f alse.!==.strpos($message,.'<erro
22140 72 3e 27 29 29 20 7b 0a 24 68 61 64 45 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a r>')).{.$hadError.=.true;.}.}.}.
22160 0a 69 66 20 28 24 68 61 64 45 72 72 6f 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 .if.($hadError).{.$io->write('<e
22180 72 72 6f 72 3e 46 41 49 4c 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 rror>FAIL</error>');.$this->exit
221a0 43 6f 64 65 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c Code.=.2;.}.else.{.$io->write('<
221c0 77 61 72 6e 69 6e 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 warning>WARNING</warning>');.$th
221e0 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 is->exitCode.=.1;.}..if.($result
22200 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 6d 65 73 73 61 67 65 ).{.foreach.($result.as.$message
22220 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a ).{.$io->write($message);.}.}.}.
22240 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 .private.function.checkPlatform(
22260 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 6f 75 74 20 3d 20 66 75 6e 63 74 69 6f ).{.$output.=.'';.$out.=.functio
22280 6e 20 28 24 6d 73 67 2c 20 24 73 74 79 6c 65 29 20 75 73 65 20 28 26 24 6f 75 74 70 75 74 29 20 n.($msg,.$style).use.(&$output).
222a0 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 27 3c 27 2e 24 73 74 79 6c 65 2e 27 3e 27 2e 24 6d 73 67 {.$output..=.'<'.$style.'>'.$msg
222c0 2e 27 3c 2f 27 2e 24 73 74 79 6c 65 2e 27 3e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 3b 0a 0a 0a 20 .'</'.$style.'>'.PHP_EOL;.};....
222e0 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 $errors.=.array();.$warnings.=.a
22300 72 72 61 79 28 29 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 66 61 6c rray();.$displayIniMessage.=.fal
22320 73 65 3b 0a 0a 24 69 6e 69 4d 65 73 73 61 67 65 20 3d 20 50 48 50 5f 45 4f 4c 2e 50 48 50 5f 45 se;..$iniMessage.=.PHP_EOL.PHP_E
22340 4f 4c 2e 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 69 6e 69 OL.IniHelper::getMessage();.$ini
22360 4d 65 73 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 4f 4c 2e 27 49 66 20 79 6f 75 20 63 61 6e 20 6e Message..=.PHP_EOL.'If.you.can.n
22380 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 69 6e 69 20 66 69 6c 65 2c 20 79 6f 75 20 63 61 6e 20 ot.modify.the.ini.file,.you.can.
223a0 61 6c 73 6f 20 72 75 6e 20 60 70 68 70 20 2d 64 20 6f 70 74 69 6f 6e 3d 76 61 6c 75 65 60 20 74 also.run.`php.-d.option=value`.t
223c0 6f 20 6d 6f 64 69 66 79 20 69 6e 69 20 76 61 6c 75 65 73 20 6f 6e 20 74 68 65 20 66 6c 79 2e 20 o.modify.ini.values.on.the.fly..
223e0 59 6f 75 20 63 61 6e 20 75 73 65 20 2d 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 27 3b You.can.use.-d.multiple.times.';
22400 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 64 65 63 ..if.(!function_exists('json_dec
22420 6f 64 65 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 6a 73 6f 6e 27 5d 20 3d 20 74 72 75 65 3b ode')).{.$errors['json'].=.true;
22440 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 50 68 61 72 27 .}..if.(!extension_loaded('Phar'
22460 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 70 68 61 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a )).{.$errors['phar'].=.true;.}..
22480 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 66 69 6c 74 65 72 27 29 29 if.(!extension_loaded('filter'))
224a0 20 7b 0a 24 65 72 72 6f 72 73 5b 27 66 69 6c 74 65 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a .{.$errors['filter'].=.true;.}..
224c0 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 68 61 73 68 27 29 29 20 7b if.(!extension_loaded('hash')).{
224e0 0a 24 65 72 72 6f 72 73 5b 27 68 61 73 68 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 .$errors['hash'].=.true;.}..if.(
22500 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 69 63 6f 6e 76 27 29 20 26 26 20 21 65 !extension_loaded('iconv').&&.!e
22520 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6d 62 73 74 72 69 6e 67 27 29 29 20 7b 0a 24 xtension_loaded('mbstring')).{.$
22540 65 72 72 6f 72 73 5b 27 69 63 6f 6e 76 5f 6d 62 73 74 72 69 6e 67 27 5d 20 3d 20 74 72 75 65 3b errors['iconv_mbstring'].=.true;
22560 0a 7d 0a 0a 69 66 20 28 21 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 .}..if.(!ini_get('allow_url_fope
22580 6e 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 n')).{.$errors['allow_url_fopen'
225a0 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 ].=.true;.}..if.(extension_loade
225c0 64 28 27 69 6f 6e 43 75 62 65 20 4c 6f 61 64 65 72 27 29 20 26 26 20 69 6f 6e 63 75 62 65 5f 6c d('ionCube.Loader').&&.ioncube_l
225e0 6f 61 64 65 72 5f 69 76 65 72 73 69 6f 6e 28 29 20 3c 20 34 30 30 30 39 29 20 7b 0a 24 65 72 72 oader_iversion().<.40009).{.$err
22600 6f 72 73 5b 27 69 6f 6e 63 75 62 65 27 5d 20 3d 20 69 6f 6e 63 75 62 65 5f 6c 6f 61 64 65 72 5f ors['ioncube'].=.ioncube_loader_
22620 76 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 version();.}..if.(PHP_VERSION_ID
22640 20 3c 20 35 30 33 30 32 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 .<.50302).{.$errors['php'].=.PHP
22660 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 65 72 72 6f 72 73 5b _VERSION;.}..if.(!isset($errors[
22680 27 70 68 70 27 5d 29 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 'php']).&&.PHP_VERSION_ID.<.5030
226a0 34 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 5f 56 45 52 53 4).{.$warnings['php'].=.PHP_VERS
226c0 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f ION;.}..if.(!extension_loaded('o
226e0 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 6f 70 65 6e 73 73 6c 27 5d 20 3d penssl')).{.$errors['openssl'].=
22700 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 .true;.}..if.(extension_loaded('
22720 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 4e 55 4d openssl').&&.OPENSSL_VERSION_NUM
22740 42 45 52 20 3c 20 30 78 31 30 30 30 31 30 30 66 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 6f BER.<.0x1000100f).{.$warnings['o
22760 70 65 6e 73 73 6c 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 penssl_version'].=.true;.}..if.(
22780 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 21 65 78 74 !defined('HHVM_VERSION').&&.!ext
227a0 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 61 70 63 75 27 29 20 26 26 20 69 6e 69 5f 67 65 74 ension_loaded('apcu').&&.ini_get
227c0 28 27 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b ('apc.enable_cli')).{.$warnings[
227e0 27 61 70 63 5f 63 6c 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 'apc_cli'].=.true;.}..if.(!exten
22800 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 sion_loaded('zlib')).{.$warnings
22820 5b 27 7a 6c 69 62 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a ['zlib'].=.true;.}..ob_start();.
22840 70 68 70 69 6e 66 6f 28 49 4e 46 4f 5f 47 45 4e 45 52 41 4c 29 3b 0a 24 70 68 70 69 6e 66 6f 20 phpinfo(INFO_GENERAL);.$phpinfo.
22860 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 =.ob_get_clean();.if.(preg_match
22880 28 27 7b 43 6f 6e 66 69 67 75 72 65 20 43 6f 6d 6d 61 6e 64 28 3f 3a 20 2a 3c 2f 74 64 3e 3c 74 ('{Configure.Command(?:.*</td><t
228a0 64 20 63 6c 61 73 73 3d 22 76 22 3e 7c 20 2a 3d 3e 20 2a 29 28 2e 2a 3f 29 28 3f 3a 3c 2f 74 64 d.class="v">|.*=>.*)(.*?)(?:</td
228c0 3e 7c 24 29 7d 6d 27 2c 20 24 70 68 70 69 6e 66 6f 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 >|$)}m',.$phpinfo,.$match)).{.$c
228e0 6f 6e 66 69 67 75 72 65 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 0a 69 66 20 28 66 61 6c 73 65 onfigure.=.$match[1];..if.(false
22900 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d 2d 65 6e 61 62 6c .!==.strpos($configure,.'--enabl
22920 65 2d 73 69 67 63 68 69 6c 64 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 73 69 67 63 68 e-sigchild')).{.$warnings['sigch
22940 69 6c 64 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 ild'].=.true;.}..if.(false.!==.s
22960 74 72 70 6f 73 28 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 trpos($configure,.'--with-curlwr
22980 61 70 70 65 72 73 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 63 75 72 6c 77 72 61 70 70 appers')).{.$warnings['curlwrapp
229a0 65 72 73 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 ers'].=.true;.}.}..if.(ini_get('
229c0 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 5f 65 6e 61 62 6c 65 64 27 29 29 20 7b 0a 24 77 61 xdebug.profiler_enabled')).{.$wa
229e0 72 6e 69 6e 67 73 5b 27 78 64 65 62 75 67 5f 70 72 6f 66 69 6c 65 27 5d 20 3d 20 74 72 75 65 3b rnings['xdebug_profile'].=.true;
22a00 0a 7d 20 65 6c 73 65 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 .}.elseif.(extension_loaded('xde
22a20 62 75 67 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 78 64 65 62 75 67 5f 6c 6f 61 64 65 bug')).{.$warnings['xdebug_loade
22a40 64 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 65 72 72 6f 72 d'].=.true;.}..if.(!empty($error
22a60 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 20 61 73 20 24 65 72 72 6f 72 s)).{.foreach.($errors.as.$error
22a80 20 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 74 63 68 20 28 24 65 72 72 6f 72 29 20 .=>.$current).{.switch.($error).
22aa0 7b 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 {.case.'json':.$text.=.PHP_EOL."
22ac0 54 68 65 20 6a 73 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e The.json.extension.is.missing.".
22ae0 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 PHP_EOL;.$text..=."Install.it.or
22b00 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 .recompile.php.without.--disable
22b20 2d 6a 73 6f 6e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 61 72 27 3a 0a 24 74 65 -json";.break;..case.'phar':.$te
22b40 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 70 68 61 72 20 65 78 74 65 6e 73 69 6f 6e xt.=.PHP_EOL."The.phar.extension
22b60 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 .is.missing.".PHP_EOL;.$text..=.
22b80 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 "Install.it.or.recompile.php.wit
22ba0 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 70 68 61 72 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 hout.--disable-phar";.break;..ca
22bc0 73 65 20 27 66 69 6c 74 65 72 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 se.'filter':.$text.=.PHP_EOL."Th
22be0 65 20 66 69 6c 74 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e e.filter.extension.is.missing.".
22c00 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 PHP_EOL;.$text..=."Install.it.or
22c20 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 .recompile.php.without.--disable
22c40 2d 66 69 6c 74 65 72 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 68 61 73 68 27 3a 0a 24 -filter";.break;..case.'hash':.$
22c60 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 68 61 73 68 20 65 78 74 65 6e 73 69 text.=.PHP_EOL."The.hash.extensi
22c80 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e on.is.missing.".PHP_EOL;.$text..
22ca0 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 =."Install.it.or.recompile.php.w
22cc0 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 68 61 73 68 22 3b 0a 62 72 65 61 6b 3b 0a 0a ithout.--disable-hash";.break;..
22ce0 63 61 73 65 20 27 69 63 6f 6e 76 5f 6d 62 73 74 72 69 6e 67 27 3a 0a 24 74 65 78 74 20 3d 20 50 case.'iconv_mbstring':.$text.=.P
22d00 48 50 5f 45 4f 4c 2e 22 54 68 65 20 69 63 6f 6e 76 20 4f 52 20 6d 62 73 74 72 69 6e 67 20 65 78 HP_EOL."The.iconv.OR.mbstring.ex
22d20 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 62 6f 74 68 20 61 72 65 tension.is.required.and.both.are
22d40 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e .missing.".PHP_EOL;.$text..=."In
22d60 73 74 61 6c 6c 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 6d 20 6f 72 20 72 65 63 6f 6d 70 69 6c stall.either.of.them.or.recompil
22d80 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 69 63 6f 6e 76 22 3b 0a e.php.without.--disable-iconv";.
22da0 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 69 63 6f 64 65 27 3a 0a 24 74 65 78 74 20 3d 20 break;..case.'unicode':.$text.=.
22dc0 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 64 65 74 65 63 74 5f 75 6e 69 63 6f 64 65 20 73 65 74 74 PHP_EOL."The.detect_unicode.sett
22de0 69 6e 67 20 6d 75 73 74 20 62 65 20 64 69 73 61 62 6c 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a ing.must.be.disabled.".PHP_EOL;.
22e00 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 $text..=."Add.the.following.to.t
22e20 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 he.end.of.your.`php.ini`:".PHP_E
22e40 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 64 65 74 65 63 74 5f 75 6e 69 63 6f 64 65 OL;.$text..=."....detect_unicode
22e60 20 3d 20 4f 66 66 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 .=.Off";.$displayIniMessage.=.tr
22e80 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 75 68 6f 73 69 6e 27 3a 0a 24 74 65 78 ue;.break;..case.'suhosin':.$tex
22ea0 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 73 75 68 6f 73 69 6e 2e 65 78 65 63 75 74 6f t.=.PHP_EOL."The.suhosin.executo
22ec0 72 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 20 73 65 74 74 69 6e 67 20 69 73 20 69 r.include.whitelist.setting.is.i
22ee0 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 ncorrect.".PHP_EOL;.$text..=."Ad
22f00 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f d.the.following.to.the.end.of.yo
22f20 75 72 20 60 70 68 70 2e 69 6e 69 60 20 6f 72 20 73 75 68 6f 73 69 6e 2e 69 6e 69 20 28 45 78 61 ur.`php.ini`.or.suhosin.ini.(Exa
22f40 6d 70 6c 65 20 70 61 74 68 20 5b 66 6f 72 20 44 65 62 69 61 6e 5d 3a 20 2f 65 74 63 2f 70 68 70 mple.path.[for.Debian]:./etc/php
22f60 35 2f 63 6c 69 2f 63 6f 6e 66 2e 64 2f 73 75 68 6f 73 69 6e 2e 69 6e 69 29 3a 22 2e 50 48 50 5f 5/cli/conf.d/suhosin.ini):".PHP_
22f80 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 73 75 68 6f 73 69 6e 2e 65 78 65 63 75 EOL;.$text..=."....suhosin.execu
22fa0 74 6f 72 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 20 3d 20 70 68 61 72 20 22 2e 24 tor.include.whitelist.=.phar.".$
22fc0 63 75 72 72 65 6e 74 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 current;.$displayIniMessage.=.tr
22fe0 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 ue;.break;..case.'php':.$text.=.
23000 50 48 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 50 48 50 20 28 7b 24 63 75 72 72 65 6e 74 7d 29 20 69 PHP_EOL."Your.PHP.({$current}).i
23020 73 20 74 6f 6f 20 6f 6c 64 2c 20 79 6f 75 20 6d 75 73 74 20 75 70 67 72 61 64 65 20 74 6f 20 50 s.too.old,.you.must.upgrade.to.P
23040 48 50 20 35 2e 33 2e 32 20 6f 72 20 68 69 67 68 65 72 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 HP.5.3.2.or.higher.";.break;..ca
23060 73 65 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 se.'allow_url_fopen':.$text.=.PH
23080 50 5f 45 4f 4c 2e 22 54 68 65 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 73 65 74 74 69 P_EOL."The.allow_url_fopen.setti
230a0 6e 67 20 69 73 20 69 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 ng.is.incorrect.".PHP_EOL;.$text
230c0 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e ..=."Add.the.following.to.the.en
230e0 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 d.of.your.`php.ini`:".PHP_EOL;.$
23100 74 65 78 74 20 2e 3d 20 22 20 20 20 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 3d 20 4f text..=."....allow_url_fopen.=.O
23120 6e 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 n";.$displayIniMessage.=.true;.b
23140 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6f 6e 63 75 62 65 27 3a 0a 24 74 65 78 74 20 3d 20 50 reak;..case.'ioncube':.$text.=.P
23160 48 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 69 6f 6e 43 75 62 65 20 4c 6f 61 64 65 72 20 65 78 74 65 HP_EOL."Your.ionCube.Loader.exte
23180 6e 73 69 6f 6e 20 28 24 63 75 72 72 65 6e 74 29 20 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 nsion.($current).is.incompatible
231a0 20 77 69 74 68 20 50 68 61 72 20 66 69 6c 65 73 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 .with.Phar.files.".PHP_EOL;.$tex
231c0 74 20 2e 3d 20 22 55 70 67 72 61 64 65 20 74 6f 20 69 6f 6e 43 75 62 65 20 34 2e 30 2e 39 20 6f t..=."Upgrade.to.ionCube.4.0.9.o
231e0 72 20 68 69 67 68 65 72 20 6f 72 20 72 65 6d 6f 76 65 20 74 68 69 73 20 6c 69 6e 65 20 28 70 61 r.higher.or.remove.this.line.(pa
23200 74 68 20 6d 61 79 20 62 65 20 64 69 66 66 65 72 65 6e 74 29 20 66 72 6f 6d 20 79 6f 75 72 20 60 th.may.be.different).from.your.`
23220 70 68 70 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 3a 22 2e 50 48 50 5f 45 4f 4c php.ini`.to.disable.it:".PHP_EOL
23240 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 7a 65 6e 64 5f 65 78 74 65 6e 73 69 6f 6e 20 3d ;.$text..=."....zend_extension.=
23260 20 2f 75 73 72 2f 6c 69 62 2f 70 68 70 35 2f 32 30 30 39 30 36 32 36 2b 6c 66 73 2f 69 6f 6e 63 ./usr/lib/php5/20090626+lfs/ionc
23280 75 62 65 5f 6c 6f 61 64 65 72 5f 6c 69 6e 5f 35 2e 33 2e 73 6f 22 3b 0a 24 64 69 73 70 6c 61 79 ube_loader_lin_5.3.so";.$display
232a0 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 IniMessage.=.true;.break;..case.
232c0 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 'openssl':.$text.=.PHP_EOL."The.
232e0 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2c 20 77 68 openssl.extension.is.missing,.wh
23300 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 73 65 63 75 72 65 20 48 54 54 50 53 20 74 72 61 6e ich.means.that.secure.HTTPS.tran
23320 73 66 65 72 73 20 61 72 65 20 69 6d 70 6f 73 73 69 62 6c 65 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a sfers.are.impossible.".PHP_EOL;.
23340 24 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f 73 73 69 62 6c 65 20 79 6f 75 20 73 68 6f 75 6c 64 $text..=."If.possible.you.should
23360 20 65 6e 61 62 6c 65 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 .enable.it.or.recompile.php.with
23380 20 2d 2d 77 69 74 68 2d 6f 70 65 6e 73 73 6c 22 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 .--with-openssl";.break;.}.$out(
233a0 24 74 65 78 74 2c 20 27 65 72 72 6f 72 27 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 2e 3d 20 50 $text,.'error');.}..$output..=.P
233c0 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 77 61 72 6e 69 6e 67 73 29 HP_EOL;.}..if.(!empty($warnings)
233e0 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 77 61 72 6e 69 6e 67 73 20 61 73 20 24 77 61 72 6e 69 ).{.foreach.($warnings.as.$warni
23400 6e 67 20 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 74 63 68 20 28 24 77 61 72 6e 69 ng.=>.$current).{.switch.($warni
23420 6e 67 29 20 7b 0a 63 61 73 65 20 27 61 70 63 5f 63 6c 69 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 ng).{.case.'apc_cli':.$text.=."T
23440 68 65 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 73 65 74 74 69 6e 67 20 69 73 20 69 6e 63 he.apc.enable_cli.setting.is.inc
23460 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 orrect.".PHP_EOL;.$text..=."Add.
23480 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 the.following.to.the.end.of.your
234a0 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 .`php.ini`:".PHP_EOL;.$text..=."
234c0 20 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 3d 20 4f 66 66 22 3b 0a 24 64 69 73 70 6c 61 ..apc.enable_cli.=.Off";.$displa
234e0 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 yIniMessage.=.true;.break;..case
23500 20 27 7a 6c 69 62 27 3a 0a 24 74 65 78 74 20 3d 20 27 54 68 65 20 7a 6c 69 62 20 65 78 74 65 6e .'zlib':.$text.=.'The.zlib.exten
23520 73 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 61 64 65 64 2c 20 74 68 69 73 20 63 61 6e 20 73 6c 6f sion.is.not.loaded,.this.can.slo
23540 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 6f 74 2e 27 2e 50 48 50 5f 45 4f 4c 3b w.down.Composer.a.lot.'.PHP_EOL;
23560 0a 24 74 65 78 74 20 2e 3d 20 27 49 66 20 70 6f 73 73 69 62 6c 65 2c 20 65 6e 61 62 6c 65 20 69 .$text..=.'If.possible,.enable.i
23580 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 7a t.or.recompile.php.with.--with-z
235a0 6c 69 62 27 2e 50 48 50 5f 45 4f 4c 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 lib'.PHP_EOL;.$displayIniMessage
235c0 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 69 67 63 68 69 6c 64 27 .=.true;.break;..case.'sigchild'
235e0 3a 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 :.$text.=."PHP.was.compiled.with
23600 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 20 77 68 69 63 68 20 63 61 6e 20 63 61 75 .--enable-sigchild.which.can.cau
23620 73 65 20 69 73 73 75 65 73 20 6f 6e 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 2e 22 2e 50 48 se.issues.on.some.platforms.".PH
23640 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 52 65 63 6f 6d 70 69 6c 65 20 69 74 20 77 69 P_EOL;.$text..=."Recompile.it.wi
23660 74 68 6f 75 74 20 74 68 69 73 20 66 6c 61 67 20 69 66 20 70 6f 73 73 69 62 6c 65 2c 20 73 65 65 thout.this.flag.if.possible,.see
23680 20 61 6c 73 6f 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 68 74 74 .also:".PHP_EOL;.$text..=."..htt
236a0 70 73 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 62 75 67 2e 70 68 70 3f 69 64 3d 32 32 39 ps://bugs.php.net/bug.php?id=229
236c0 39 39 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 75 72 6c 77 72 61 70 70 65 72 73 27 99";.break;..case.'curlwrappers'
236e0 3a 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 :.$text.=."PHP.was.compiled.with
23700 20 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 61 70 70 65 72 73 20 77 68 69 63 68 20 77 69 6c 6c 20 .--with-curlwrappers.which.will.
23720 63 61 75 73 65 20 69 73 73 75 65 73 20 77 69 74 68 20 48 54 54 50 20 61 75 74 68 65 6e 74 69 63 cause.issues.with.HTTP.authentic
23740 61 74 69 6f 6e 20 61 6e 64 20 47 69 74 48 75 62 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 ation.and.GitHub.".PHP_EOL;.$tex
23760 74 20 2e 3d 20 22 20 52 65 63 6f 6d 70 69 6c 65 20 69 74 20 77 69 74 68 6f 75 74 20 74 68 69 73 t..=.".Recompile.it.without.this
23780 20 66 6c 61 67 20 69 66 20 70 6f 73 73 69 62 6c 65 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 .flag.if.possible";.break;..case
237a0 20 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 22 59 6f 75 72 20 50 48 50 20 28 7b 24 63 75 72 .'php':.$text.=."Your.PHP.({$cur
237c0 72 65 6e 74 7d 29 20 69 73 20 71 75 69 74 65 20 6f 6c 64 2c 20 75 70 67 72 61 64 69 6e 67 20 74 rent}).is.quite.old,.upgrading.t
237e0 6f 20 50 48 50 20 35 2e 33 2e 34 20 6f 72 20 68 69 67 68 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 o.PHP.5.3.4.or.higher.is.recomme
23800 6e 64 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 43 6f 6d 70 6f nded.".PHP_EOL;.$text..=.".Compo
23820 73 65 72 20 77 6f 72 6b 73 20 77 69 74 68 20 35 2e 33 2e 32 2b 20 66 6f 72 20 6d 6f 73 74 20 70 ser.works.with.5.3.2+.for.most.p
23840 65 6f 70 6c 65 2c 20 62 75 74 20 74 68 65 72 65 20 6d 69 67 68 74 20 62 65 20 65 64 67 65 20 63 eople,.but.there.might.be.edge.c
23860 61 73 65 20 69 73 73 75 65 73 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e ase.issues.";.break;..case.'open
23880 73 73 6c 5f 76 65 72 73 69 6f 6e 27 3a 0a 0a 20 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 ssl_version':...$opensslVersion.
238a0 3d 20 73 74 72 73 74 72 28 74 72 69 6d 28 73 74 72 73 74 72 28 4f 50 45 4e 53 53 4c 5f 56 45 52 =.strstr(trim(strstr(OPENSSL_VER
238c0 53 49 4f 4e 5f 54 45 58 54 2c 20 27 20 27 29 29 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 24 6f SION_TEXT,.'.')),.'.',.true);.$o
238e0 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 3d 20 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 pensslVersion.=.$opensslVersion.
23900 3f 3a 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 3b 0a 0a 24 74 65 78 74 20 ?:.OPENSSL_VERSION_TEXT;..$text.
23920 3d 20 22 54 68 65 20 4f 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 79 20 28 7b 24 6f 70 65 6e 73 73 =."The.OpenSSL.library.({$openss
23940 6c 56 65 72 73 69 6f 6e 7d 29 20 75 73 65 64 20 62 79 20 50 48 50 20 64 6f 65 73 20 6e 6f 74 20 lVersion}).used.by.PHP.does.not.
23960 73 75 70 70 6f 72 74 20 54 4c 53 76 31 2e 32 20 6f 72 20 54 4c 53 76 31 2e 31 2e 22 2e 50 48 50 support.TLSv1.2.or.TLSv1.1.".PHP
23980 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f 73 73 69 62 6c 65 20 79 6f 75 20 _EOL;.$text..=."If.possible.you.
239a0 73 68 6f 75 6c 64 20 75 70 67 72 61 64 65 20 4f 70 65 6e 53 53 4c 20 74 6f 20 76 65 72 73 69 6f should.upgrade.OpenSSL.to.versio
239c0 6e 20 31 2e 30 2e 31 20 6f 72 20 61 62 6f 76 65 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 n.1.0.1.or.above.";.break;..case
239e0 20 27 78 64 65 62 75 67 5f 6c 6f 61 64 65 64 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 78 .'xdebug_loaded':.$text.=."The.x
23a00 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2c 20 74 68 69 73 20 debug.extension.is.loaded,.this.
23a20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 69 74 74 6c 65 2e can.slow.down.Composer.a.little.
23a40 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 44 69 73 61 62 6c 69 6e 67 20 ".PHP_EOL;.$text..=.".Disabling.
23a60 69 74 20 77 68 65 6e 20 75 73 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 69 73 20 72 65 63 6f 6d 6d it.when.using.Composer.is.recomm
23a80 65 6e 64 65 64 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 64 65 62 75 67 5f 70 72 ended.";.break;..case.'xdebug_pr
23aa0 6f 66 69 6c 65 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 78 64 65 62 75 67 2e 70 72 6f 66 ofile':.$text.=."The.xdebug.prof
23ac0 69 6c 65 72 5f 65 6e 61 62 6c 65 64 20 73 65 74 74 69 6e 67 20 69 73 20 65 6e 61 62 6c 65 64 2c iler_enabled.setting.is.enabled,
23ae0 20 74 68 69 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c .this.can.slow.down.Composer.a.l
23b00 6f 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 ot.".PHP_EOL;.$text..=."Add.the.
23b20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 following.to.the.end.of.your.`ph
23b40 70 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a p.ini`.to.disable.it:".PHP_EOL;.
23b60 24 74 65 78 74 20 2e 3d 20 22 20 20 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 5f 65 6e 61 62 $text..=."..xdebug.profiler_enab
23b80 6c 65 64 20 3d 20 30 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 led.=.0";.$displayIniMessage.=.t
23ba0 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 74 65 78 74 2c 20 27 63 6f 6d 6d 65 rue;.break;.}.$out($text,.'comme
23bc0 6e 74 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 nt');.}.}..if.($displayIniMessag
23be0 65 29 20 7b 0a 24 6f 75 74 28 24 69 6e 69 4d 65 73 73 61 67 65 2c 20 27 63 6f 6d 6d 65 6e 74 27 e).{.$out($iniMessage,.'comment'
23c00 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 77 61 72 6e 69 6e 67 73 20 26 26 20 21 24 65 72 72 );.}..return.!$warnings.&&.!$err
23c20 6f 72 73 20 3f 20 74 72 75 65 20 3a 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a ors.?.true.:.$output;.}.}.<?php.
23c40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f ...........namespace.Composer\Co
23c60 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d mmand;..use.Composer\Plugin\Comm
23c80 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c andEvent;.use.Composer\Plugin\Pl
23ca0 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e uginEvents;.use.Symfony\Componen
23cc0 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
23ce0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
23d00 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d put\InputOption;.use.Symfony\Com
23d20 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
23d40 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d rface;.....class.DumpAutoloadCom
23d60 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 mand.extends.BaseCommand.{.prote
23d80 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
23da0 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 27 29 0a 2d 3e 73 s.->setName('dump-autoload').->s
23dc0 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 64 75 6d 70 61 75 74 6f 6c 6f 61 64 27 29 29 etAliases(array('dumpautoload'))
23de0 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 75 6d 70 73 20 74 68 65 20 61 75 74 .->setDescription('Dumps.the.aut
23e00 6f 6c 6f 61 64 65 72 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 oloader.').->setDefinition(array
23e20 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 (.new.InputOption('no-scripts',.
23e40 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
23e60 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 Skips.the.execution.of.all.scrip
23e80 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 ts.defined.in.composer.json.file
23ea0 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 27 2c .'),.new.InputOption('optimize',
23ec0 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 .'o',.InputOption::VALUE_NONE,.'
23ee0 4f 70 74 69 6d 69 7a 65 73 20 50 53 52 30 20 61 6e 64 20 50 53 52 34 20 70 61 63 6b 61 67 65 73 Optimizes.PSR0.and.PSR4.packages
23f00 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 77 69 74 68 20 63 6c 61 73 73 6d 61 70 73 20 74 6f 6f .to.be.loaded.with.classmaps.too
23f20 2c 20 67 6f 6f 64 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e ,.good.for.production.'),.new.In
23f40 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 putOption('classmap-authoritativ
23f60 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 e',.'a',.InputOption::VALUE_NONE
23f80 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 ,.'Autoload.classes.from.the.cla
23fa0 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 ssmap.only..Implicitly.enables.`
23fc0 2d 2d 6f 70 74 69 6d 69 7a 65 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 --optimize`.'),.new.InputOption(
23fe0 27 61 70 63 75 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 'apcu',.null,.InputOption::VALUE
24000 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f _NONE,.'Use.APCu.to.cache.found/
24020 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f not-found.classes.'),.new.InputO
24040 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f ption('no-dev',.null,.InputOptio
24060 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 61 75 74 6f 6c 6f 61 n::VALUE_NONE,.'Disables.autoloa
24080 64 2d 64 65 76 20 72 75 6c 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c d-dev.rules.'),.)).->setHelp(.<<
240a0 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 64 75 6d <EOT.<info>php.composer.phar.dum
240c0 70 2d 61 75 74 6f 6c 6f 61 64 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f p-autoload</info>.EOT.).;.}..pro
240e0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 tected.function.execute(InputInt
24100 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
24120 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 output).{.$composer.=.$this->get
24140 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 Composer();..$commandEvent.=.new
24160 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d .CommandEvent(PluginEvents::COMM
24180 41 4e 44 2c 20 27 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f AND,.'dump-autoload',.$input,.$o
241a0 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 utput);.$composer->getEventDispa
241c0 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d tcher()->dispatch($commandEvent-
241e0 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e >getName(),.$commandEvent);..$in
24200 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 stallationManager.=.$composer->g
24220 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 24 6c 6f 63 61 6c 52 etInstallationManager();.$localR
24240 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 epo.=.$composer->getRepositoryMa
24260 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 nager()->getLocalRepository();.$
24280 70 61 63 6b 61 67 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 package.=.$composer->getPackage(
242a0 29 3b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 );.$config.=.$composer->getConfi
242c0 67 28 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 g();..$optimize.=.$input->getOpt
242e0 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 ion('optimize').||.$config->get(
24300 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 'optimize-autoloader');.$authori
24320 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 tative.=.$input->getOption('clas
24340 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d smap-authoritative').||.$config-
24360 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a >get('classmap-authoritative');.
24380 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 27 $apcu.=.$input->getOption('apcu'
243a0 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 ).||.$config->get('apcu-autoload
243c0 65 72 27 29 3b 0a 0a 69 66 20 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 74 68 er');..if.($authoritative).{.$th
243e0 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 is->getIO()->writeError('<info>G
24400 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c enerating.optimized.autoload.fil
24420 65 73 20 28 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 es.(authoritative)</info>');.}.e
24440 6c 73 65 69 66 20 28 24 6f 70 74 69 6d 69 7a 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f lseif.($optimize).{.$this->getIO
24460 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 ()->writeError('<info>Generating
24480 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e .optimized.autoload.files</info>
244a0 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 ');.}.else.{.$this->getIO()->wri
244c0 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 74 6f 6c 6f teError('<info>Generating.autolo
244e0 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 24 67 65 6e 65 72 61 74 6f 72 ad.files</info>');.}..$generator
24500 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 .=.$composer->getAutoloadGenerat
24520 6f 72 28 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 or();.$generator->setDevMode(!$i
24540 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 3b 0a 24 67 65 6e nput->getOption('no-dev'));.$gen
24560 65 72 61 74 6f 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 erator->setClassMapAuthoritative
24580 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 ($authoritative);.$generator->se
245a0 74 41 70 63 75 28 24 61 70 63 75 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 52 75 6e tApcu($apcu);.$generator->setRun
245c0 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 Scripts(!$input->getOption('no-s
245e0 63 72 69 70 74 73 27 29 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 64 75 6d 70 28 24 63 6f 6e cripts'));.$generator->dump($con
24600 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 fig,.$localRepo,.$package,.$inst
24620 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 6f 70 allationManager,.'composer',.$op
24640 74 69 6d 69 7a 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 timize);.}.}.<?php............na
24660 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 mespace.Composer\Command;..use.S
24680 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
246a0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
246c0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
246e0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
24700 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tput\OutputInterface;.use.Symfon
24720 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 y\Component\Console\Input\InputA
24740 72 67 75 6d 65 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 65 63 43 6f 6d 6d 61 6e 64 20 65 rgument;.....class.ExecCommand.e
24760 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 xtends.BaseCommand.{.protected.f
24780 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 unction.configure().{.$this.->se
247a0 74 4e 61 6d 65 28 27 65 78 65 63 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 tName('exec').->setDescription('
247c0 45 78 65 63 75 74 65 73 20 61 20 76 65 6e 64 6f 72 65 64 20 62 69 6e 61 72 79 2f 73 63 72 69 70 Executes.a.vendored.binary/scrip
247e0 74 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 t.').->setDefinition(array(.new.
24800 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 InputOption('list',.'l',.InputOp
24820 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 tion::VALUE_NONE),.new.InputArgu
24840 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 ment('binary',.InputArgument::OP
24860 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 62 69 6e 61 72 79 20 74 6f 20 72 75 6e 2c 20 65 2e 67 2e TIONAL,.'The.binary.to.run,.e.g.
24880 20 70 68 70 75 6e 69 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 0a 27 .phpunit'),.new.InputArgument(.'
248a0 61 72 67 73 27 2c 0a 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c args',.InputArgument::IS_ARRAY.|
248c0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 0a 27 41 72 67 75 6d .InputArgument::OPTIONAL,.'Argum
248e0 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 74 68 65 20 62 69 6e 61 72 79 2e 20 55 73 65 20 ents.to.pass.to.the.binary..Use.
24900 3c 69 6e 66 6f 3e 2d 2d 3c 2f 69 6e 66 6f 3e 20 74 6f 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d <info>--</info>.to.separate.from
24920 20 63 6f 6d 70 6f 73 65 72 20 61 72 67 75 6d 65 6e 74 73 27 0a 29 2c 0a 29 29 0a 3b 0a 7d 0a 0a .composer.arguments'.),.)).;.}..
24940 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 protected.function.execute(Input
24960 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
24980 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e e.$output).{.$composer.=.$this->
249a0 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 62 69 6e 44 69 72 20 3d 20 24 63 6f 6d 70 6f 73 getComposer();.$binDir.=.$compos
249c0 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 3b er->getConfig()->get('bin-dir');
249e0 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 20 7c .if.($input->getOption('list').|
24a00 7c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 29 |.!$input->getArgument('binary')
24a20 29 20 7b 0a 24 62 69 6e 73 20 3d 20 67 6c 6f 62 28 24 62 69 6e 44 69 72 20 2e 20 27 2f 2a 27 29 ).{.$bins.=.glob($binDir...'/*')
24a40 3b 0a 24 62 69 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 62 69 6e 73 2c 20 61 72 72 ;.$bins.=.array_merge($bins,.arr
24a60 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 24 ay_map(function.($e).{.return."$
24a80 65 20 28 6c 6f 63 61 6c 29 22 3b 0a 7d 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 e.(local)";.},.$composer->getPac
24aa0 6b 61 67 65 28 29 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 29 29 3b 0a 0a 69 66 20 28 21 24 kage()->getBinaries()));..if.(!$
24ac0 62 69 6e 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 bins).{.throw.new.\RuntimeExcept
24ae0 69 6f 6e 28 22 4e 6f 20 62 69 6e 61 72 69 65 73 20 66 6f 75 6e 64 20 69 6e 20 63 6f 6d 70 6f 73 ion("No.binaries.found.in.compos
24b00 65 72 2e 6a 73 6f 6e 20 6f 72 20 69 6e 20 62 69 6e 2d 64 69 72 20 28 24 62 69 6e 44 69 72 29 22 er.json.or.in.bin-dir.($binDir)"
24b20 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c );.}..$this->getIO()->write(.<<<
24b40 45 4f 54 0a 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 62 69 6e 61 72 69 65 73 3a EOT.<comment>Available.binaries:
24b60 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 45 4f 54 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e </comment>.EOT.);..foreach.($bin
24b80 73 20 61 73 20 24 62 69 6e 29 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 70 72 65 76 69 6f s.as.$bin).{...if.(isset($previo
24ba0 75 73 42 69 6e 29 20 26 26 20 24 62 69 6e 20 3d 3d 3d 20 24 70 72 65 76 69 6f 75 73 42 69 6e 2e usBin).&&.$bin.===.$previousBin.
24bc0 27 2e 62 61 74 27 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 72 65 76 69 6f 75 73 '.bat').{.continue;.}..$previous
24be0 42 69 6e 20 3d 20 24 62 69 6e 3b 0a 24 62 69 6e 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 62 69 6e Bin.=.$bin;.$bin.=.basename($bin
24c00 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 );.$this->getIO()->write(.<<<EOT
24c20 0a 3c 69 6e 66 6f 3e 2d 20 24 62 69 6e 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 72 .<info>-.$bin</info>.EOT.);.}..r
24c40 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 62 69 6e 61 72 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 eturn.0;.}..$binary.=.$input->ge
24c60 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 29 3b 0a 0a 24 64 69 73 70 61 74 63 68 65 tArgument('binary');..$dispatche
24c80 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 r.=.$composer->getEventDispatche
24ca0 72 28 29 3b 0a 24 64 69 73 70 61 74 63 68 65 72 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 27 5f r();.$dispatcher->addListener('_
24cc0 5f 65 78 65 63 5f 63 6f 6d 6d 61 6e 64 27 2c 20 24 62 69 6e 61 72 79 29 3b 0a 69 66 20 28 24 6f _exec_command',.$binary);.if.($o
24ce0 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3d 3d 3d 20 4f 75 74 70 75 74 utput->getVerbosity().===.Output
24d00 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 29 20 7b 0a 24 Interface::VERBOSITY_NORMAL).{.$
24d20 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 output->setVerbosity(OutputInter
24d40 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 face::VERBOSITY_QUIET);.}..retur
24d60 6e 20 24 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 27 5f n.$dispatcher->dispatchScript('_
24d80 5f 65 78 65 63 5f 63 6f 6d 6d 61 6e 64 27 2c 20 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 _exec_command',.true,.$input->ge
24da0 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a tArgument('args'));.}.}.<?php...
24dc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d .........namespace.Composer\Comm
24de0 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 and;..use.Composer\Factory;.use.
24e00 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 Composer\Util\Filesystem;.use.Sy
24e20 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
24e40 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
24e60 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b ent\Console\Input\InputArgument;
24e80 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
24ea0 6e 70 75 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\StringInput;.use.Symfony\Co
24ec0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
24ee0 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 20 erface;.....class.GlobalCommand.
24f00 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 extends.BaseCommand.{.protected.
24f20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 function.configure().{.$this.->s
24f40 65 74 4e 61 6d 65 28 27 67 6c 6f 62 61 6c 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f etName('global').->setDescriptio
24f60 6e 28 27 41 6c 6c 6f 77 73 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 n('Allows.running.commands.in.th
24f80 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f 73 65 72 20 64 69 72 20 28 24 43 4f 4d 50 4f 53 45 52 e.global.composer.dir.($COMPOSER
24fa0 5f 48 4f 4d 45 29 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 _HOME).').->setDefinition(array(
24fc0 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 2d 6e 61 6d 65 .new.InputArgument('command-name
24fe0 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 27 29 2c ',.InputArgument::REQUIRED,.''),
25000 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 .new.InputArgument('args',.Input
25020 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 Argument::IS_ARRAY.|.InputArgume
25040 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 nt::OPTIONAL,.''),.)).->setHelp(
25060 0a 3c 3c 3c 45 4f 54 0a 55 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 73 20 61 20 77 72 .<<<EOT.Use.this.command.as.a.wr
25080 61 70 70 65 72 20 74 6f 20 72 75 6e 20 6f 74 68 65 72 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d apper.to.run.other.Composer.comm
250a0 61 6e 64 73 0a 77 69 74 68 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 74 65 78 74 20 6f ands.within.the.global.context.o
250c0 66 20 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 2e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 f.COMPOSER_HOME...You.can.use.th
250e0 69 73 20 74 6f 20 69 6e 73 74 61 6c 6c 20 43 4c 49 20 75 74 69 6c 69 74 69 65 73 20 67 6c 6f 62 is.to.install.CLI.utilities.glob
25100 61 6c 6c 79 2c 20 61 6c 6c 20 79 6f 75 20 6e 65 65 64 0a 69 73 20 74 6f 20 61 64 64 20 74 68 65 ally,.all.you.need.is.to.add.the
25120 20 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 2f 76 65 6e 64 6f 72 2f 62 69 6e 20 64 69 72 20 74 6f .COMPOSER_HOME/vendor/bin.dir.to
25140 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 20 76 61 72 2e 0a 0a 43 4f 4d 50 4f 53 45 52 5f 48 4f .your.PATH.env.var...COMPOSER_HO
25160 4d 45 20 69 73 20 63 3a 5c 55 73 65 72 73 5c 3c 75 73 65 72 3e 5c 41 70 70 44 61 74 61 5c 52 6f ME.is.c:\Users\<user>\AppData\Ro
25180 61 6d 69 6e 67 5c 43 6f 6d 70 6f 73 65 72 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 61 6e 64 20 2f 68 aming\Composer.on.Windows.and./h
251a0 6f 6d 65 2f 3c 75 73 65 72 3e 2f 2e 63 6f 6d 70 6f 73 65 72 20 6f 6e 20 75 6e 69 78 20 73 79 73 ome/<user>/.composer.on.unix.sys
251c0 74 65 6d 73 2e 0a 0a 49 66 20 79 6f 75 72 20 73 79 73 74 65 6d 20 75 73 65 73 20 66 72 65 65 64 tems...If.your.system.uses.freed
251e0 65 73 6b 74 6f 70 2e 6f 72 67 20 73 74 61 6e 64 61 72 64 73 2c 20 74 68 65 6e 20 69 74 20 77 69 esktop.org.standards,.then.it.wi
25200 6c 6c 20 66 69 72 73 74 20 63 68 65 63 6b 0a 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 20 6f ll.first.check.XDG_CONFIG_HOME.o
25220 72 20 64 65 66 61 75 6c 74 20 74 6f 20 2f 68 6f 6d 65 2f 3c 75 73 65 72 3e 2f 2e 63 6f 6e 66 69 r.default.to./home/<user>/.confi
25240 67 2f 63 6f 6d 70 6f 73 65 72 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 70 61 74 68 20 6d 61 79 20 g/composer..Note:.This.path.may.
25260 76 61 72 79 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 73 vary.depending.on.customizations
25280 20 74 6f 20 62 69 6e 2d 64 69 72 20 69 6e 0a 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 .to.bin-dir.in.composer.json.or.
252a0 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 76 61 72 69 61 62 6c 65 20 43 4f 4d 50 4f the.environmental.variable.COMPO
252c0 53 45 52 5f 42 49 4e 5f 44 49 52 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 SER_BIN_DIR...EOT.).;.}..public.
252e0 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 function.run(InputInterface.$inp
25300 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a ut,.OutputInterface.$output).{..
25320 20 24 74 6f 6b 65 6e 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 .$tokens.=.preg_split('{\s+}',.$
25340 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 input->__toString());.$args.=.ar
25360 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 ray();.foreach.($tokens.as.$toke
25380 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 24 74 6f 6b 65 6e 5b 30 5d 20 21 3d 3d n).{.if.($token.&&.$token[0].!==
253a0 20 27 2d 27 29 20 7b 0a 24 61 72 67 73 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a 69 66 20 28 63 6f .'-').{.$args[].=.$token;.if.(co
253c0 75 6e 74 28 24 61 72 67 73 29 20 3e 3d 20 32 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a unt($args).>=.2).{.break;.}.}.}.
253e0 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 61 72 67 73 29 20 3c 20 32 29 20 7b 0a 72 65 74 75 72 ...if.(count($args).<.2).{.retur
25400 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a n.parent::run($input,.$output);.
25420 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f }....$config.=.Factory::createCo
25440 6e 66 69 67 28 29 3b 0a 24 68 6f 6d 65 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f nfig();.$home.=.$config->get('ho
25460 6d 65 27 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 68 6f 6d 65 29 29 20 7b 0a 24 66 73 me');..if.(!is_dir($home)).{.$fs
25480 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 .=.new.Filesystem();.$fs->ensure
254a0 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 68 6f 6d 65 29 3b 0a 69 66 20 28 21 69 73 5f DirectoryExists($home);.if.(!is_
254c0 64 69 72 28 24 68 6f 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 dir($home)).{.throw.new.\Runtime
254e0 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 68 6f 6d 65 Exception('Could.not.create.home
25500 20 64 69 72 65 63 74 6f 72 79 27 29 3b 0a 7d 0a 7d 0a 0a 74 72 79 20 7b 0a 63 68 64 69 72 28 24 .directory');.}.}..try.{.chdir($
25520 68 6f 6d 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b home);.}.catch.(\Exception.$e).{
25540 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f .throw.new.\RuntimeException('Co
25560 75 6c 64 20 6e 6f 74 20 73 77 69 74 63 68 20 74 6f 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 uld.not.switch.to.home.directory
25580 20 22 27 2e 24 68 6f 6d 65 2e 27 22 27 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e ."'.$home.'"',.0,.$e);.}.$this->
255a0 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 68 61 6e 67 getIO()->writeError('<info>Chang
255c0 65 64 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 27 2e 24 68 6f 6d 65 2e ed.current.directory.to.'.$home.
255e0 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 '</info>');....$input.=.new.Stri
25600 6e 67 49 6e 70 75 74 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 62 67 28 3f 3a 6c 28 3f ngInput(preg_replace('{\bg(?:l(?
25620 3a 6f 28 3f 3a 62 28 3f 3a 61 28 3f 3a 6c 29 3f 29 3f 29 3f 29 3f 29 3f 5c 62 7d 27 2c 20 27 27 :o(?:b(?:a(?:l)?)?)?)?)?\b}',.''
25640 2c 20 24 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 2c 20 31 29 29 3b 0a 24 74 68 ,.$input->__toString(),.1));.$th
25660 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 65 73 65 74 43 6f 6d 70 6f is->getApplication()->resetCompo
25680 73 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 ser();..return.$this->getApplica
256a0 74 69 6f 6e 28 29 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a tion()->run($input,.$output);.}.
256c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 ....public.function.isProxyComma
256e0 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a nd().{.return.true;.}.}.<?php...
25700 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d .........namespace.Composer\Comm
25720 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c and;..use.Composer\Package\Compl
25740 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 etePackageInterface;.use.Compose
25760 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 r\Repository\RepositoryInterface
25780 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 ;.use.Composer\Repository\ArrayR
257a0 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f epository;.use.Composer\Reposito
257c0 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 ry\RepositoryFactory;.use.Compos
257e0 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 er\Util\Platform;.use.Composer\U
25800 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 til\ProcessExecutor;.use.Symfony
25820 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 \Component\Console\Input\InputAr
25840 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f gument;.use.Symfony\Component\Co
25860 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d nsole\Input\InputOption;.use.Sym
25880 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
258a0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utInterface;.use.Symfony\Compone
258c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 nt\Console\Output\OutputInterfac
258e0 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 6f 6d 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 e;.....class.HomeCommand.extends
25900 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 .BaseCommand.{....protected.func
25920 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 tion.configure().{.$this.->setNa
25940 6d 65 28 27 62 72 6f 77 73 65 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 me('browse').->setAliases(array(
25960 27 68 6f 6d 65 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 4f 70 65 6e 73 'home')).->setDescription('Opens
25980 20 74 68 65 20 70 61 63 6b 61 67 65 5c 27 73 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f .the.package\'s.repository.URL.o
259a0 72 20 68 6f 6d 65 70 61 67 65 20 69 6e 20 79 6f 75 72 20 62 72 6f 77 73 65 72 2e 27 29 0a 2d 3e r.homepage.in.your.browser.').->
259c0 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 setDefinition(array(.new.InputAr
259e0 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 gument('packages',.InputArgument
25a00 3a 3a 49 53 5f 41 52 52 41 59 2c 20 27 50 61 63 6b 61 67 65 28 73 29 20 74 6f 20 62 72 6f 77 73 ::IS_ARRAY,.'Package(s).to.brows
25a20 65 20 74 6f 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 e.to.'),.new.InputOption('homepa
25a40 67 65 27 2c 20 27 48 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e ge',.'H',.InputOption::VALUE_NON
25a60 45 2c 20 27 4f 70 65 6e 20 74 68 65 20 68 6f 6d 65 70 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 E,.'Open.the.homepage.instead.of
25a80 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 .the.repository.URL.'),.new.Inpu
25aa0 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 2c 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e tOption('show',.'s',.InputOption
25ac0 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 73 68 6f 77 20 74 68 65 20 68 6f 6d ::VALUE_NONE,.'Only.show.the.hom
25ae0 65 70 61 67 65 20 6f 72 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 2e 27 29 2c 0a 29 29 0a 2d epage.or.repository.URL.'),.)).-
25b00 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 68 6f 6d 65 20 63 6f 6d 6d 61 6e >setHelp(.<<<EOT.The.home.comman
25b20 64 20 6f 70 65 6e 73 20 6f 72 20 73 68 6f 77 73 20 61 20 70 61 63 6b 61 67 65 27 73 20 72 65 70 d.opens.or.shows.a.package's.rep
25b40 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f 72 0a 68 6f 6d 65 70 61 67 65 20 69 6e 20 79 6f 75 72 20 ository.URL.or.homepage.in.your.
25b60 64 65 66 61 75 6c 74 20 62 72 6f 77 73 65 72 2e 0a 0a 54 6f 20 6f 70 65 6e 20 74 68 65 20 68 6f default.browser...To.open.the.ho
25b80 6d 65 70 61 67 65 20 62 79 20 64 65 66 61 75 6c 74 2c 20 75 73 65 20 2d 48 20 6f 72 20 2d 2d 68 mepage.by.default,.use.-H.or.--h
25ba0 6f 6d 65 70 61 67 65 2e 0a 54 6f 20 73 68 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 70 65 6e omepage..To.show.instead.of.open
25bc0 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6f 72 20 68 6f 6d 65 70 61 67 65 20 55 52 4c 2c .the.repository.or.homepage.URL,
25be0 20 75 73 65 20 2d 73 20 6f 72 20 2d 2d 73 68 6f 77 2e 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 0a 0a 0a .use.-s.or.--show..EOT.);.}.....
25c00 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 protected.function.execute(Input
25c20 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
25c40 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 72 65 70 6f 73 20 3d 20 24 74 68 69 73 2d 3e 69 6e 69 e.$output).{.$repos.=.$this->ini
25c60 74 69 61 6c 69 7a 65 52 65 70 6f 73 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 tializeRepos();.$io.=.$this->get
25c80 49 4f 28 29 3b 0a 24 72 65 74 75 72 6e 20 3d 20 30 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 IO();.$return.=.0;..$packages.=.
25ca0 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b $input->getArgument('packages');
25cc0 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 .if.(!$packages).{.$io->writeErr
25ce0 6f 72 28 27 4e 6f 20 70 61 63 6b 61 67 65 20 73 70 65 63 69 66 69 65 64 2c 20 6f 70 65 6e 69 6e or('No.package.specified,.openin
25d00 67 20 68 6f 6d 65 70 61 67 65 20 66 6f 72 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 g.homepage.for.the.root.package'
25d20 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 43 );.$packages.=.array($this->getC
25d40 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4e 61 6d 65 omposer()->getPackage()->getName
25d60 28 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 ());.}..foreach.($packages.as.$p
25d80 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 68 61 6e 64 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a ackageName).{.$handled.=.false;.
25da0 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 $packageExists.=.false;.foreach.
25dc0 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 ($repos.as.$repo).{.foreach.($re
25de0 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 61 po->findPackages($packageName).a
25e00 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 20 3d 20 74 s.$package).{.$packageExists.=.t
25e20 72 75 65 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d rue;.if.($package.instanceof.Com
25e40 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 26 26 20 24 74 68 69 73 2d 3e pletePackageInterface.&&.$this->
25e60 68 61 6e 64 6c 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 70 75 74 2d 3e handlePackage($package,.$input->
25e80 67 65 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 29 2c 20 24 69 6e 70 75 74 2d 3e 67 getOption('homepage'),.$input->g
25ea0 65 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 29 29 29 20 7b 0a 24 68 61 6e 64 6c 65 64 20 3d 20 etOption('show'))).{.$handled.=.
25ec0 74 72 75 65 3b 0a 62 72 65 61 6b 20 32 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 70 61 63 6b true;.break.2;.}.}.}..if.(!$pack
25ee0 61 67 65 45 78 69 73 74 73 29 20 7b 0a 24 72 65 74 75 72 6e 20 3d 20 31 3b 0a 24 69 6f 2d 3e 77 ageExists).{.$return.=.1;.$io->w
25f00 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 61 63 6b 61 67 65 20 27 2e 24 70 riteError('<warning>Package.'.$p
25f20 61 63 6b 61 67 65 4e 61 6d 65 2e 27 20 6e 6f 74 20 66 6f 75 6e 64 3c 2f 77 61 72 6e 69 6e 67 3e ackageName.'.not.found</warning>
25f40 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 64 29 20 7b 0a 24 72 65 74 75 72 6e 20 ');.}..if.(!$handled).{.$return.
25f60 3d 20 31 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 =.1;.$io->writeError('<warning>'
25f80 2e 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 29 20 .($input->getOption('homepage').
25fa0 3f 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 68 6f 6d 65 70 61 67 65 27 20 ?.'Invalid.or.missing.homepage'.
25fc0 3a 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 79 :.'Invalid.or.missing.repository
25fe0 20 55 52 4c 27 29 2e 27 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 3c 2f 77 .URL').'.for.'.$packageName.'</w
26000 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a arning>');.}.}..return.$return;.
26020 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 50 61 63 6b 61 67 }..private.function.handlePackag
26040 65 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b e(CompletePackageInterface.$pack
26060 61 67 65 2c 20 24 73 68 6f 77 48 6f 6d 65 70 61 67 65 2c 20 24 73 68 6f 77 4f 6e 6c 79 29 0a 7b age,.$showHomepage,.$showOnly).{
26080 0a 24 73 75 70 70 6f 72 74 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 .$support.=.$package->getSupport
260a0 28 29 3b 0a 24 75 72 6c 20 3d 20 69 73 73 65 74 28 24 73 75 70 70 6f 72 74 5b 27 73 6f 75 72 63 ();.$url.=.isset($support['sourc
260c0 65 27 5d 29 20 3f 20 24 73 75 70 70 6f 72 74 5b 27 73 6f 75 72 63 65 27 5d 20 3a 20 24 70 61 63 e']).?.$support['source'].:.$pac
260e0 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 69 66 20 28 21 24 75 72 6c 20 kage->getSourceUrl();.if.(!$url.
26100 7c 7c 20 24 73 68 6f 77 48 6f 6d 65 70 61 67 65 29 20 7b 0a 24 75 72 6c 20 3d 20 24 70 61 63 6b ||.$showHomepage).{.$url.=.$pack
26120 61 67 65 2d 3e 67 65 74 48 6f 6d 65 70 61 67 65 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 72 6c age->getHomepage();.}..if.(!$url
26140 20 7c 7c 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 75 72 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c .||.!filter_var($url,.FILTER_VAL
26160 49 44 41 54 45 5f 55 52 4c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 IDATE_URL)).{.return.false;.}..i
26180 66 20 28 24 73 68 6f 77 4f 6e 6c 79 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e f.($showOnly).{.$this->getIO()->
261a0 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c write(sprintf('<info>%s</info>',
261c0 20 24 75 72 6c 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 65 6e 42 72 6f .$url));.}.else.{.$this->openBro
261e0 77 73 65 72 28 24 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a wser($url);.}..return.true;.}...
26200 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 42 72 6f 77 73 65 72 ....private.function.openBrowser
26220 28 24 75 72 6c 29 0a 7b 0a 24 75 72 6c 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a ($url).{.$url.=.ProcessExecutor:
26240 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 :escape($url);..$process.=.new.P
26260 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a rocessExecutor($this->getIO());.
26280 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 72 65 74 if.(Platform::isWindows()).{.ret
262a0 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 74 61 72 74 20 22 77 65 urn.$process->execute('start."we
262c0 62 22 20 65 78 70 6c 6f 72 65 72 20 22 27 20 2e 20 24 75 72 6c 20 2e 20 27 22 27 2c 20 24 6f 75 b".explorer."'...$url...'"',.$ou
262e0 74 70 75 74 29 3b 0a 7d 0a 0a 24 6c 69 6e 75 78 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 tput);.}..$linux.=.$process->exe
26300 63 75 74 65 28 27 77 68 69 63 68 20 78 64 67 2d 6f 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 3b cute('which.xdg-open',.$output);
26320 0a 24 6f 73 78 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 77 68 69 63 68 .$osx.=.$process->execute('which
26340 20 6f 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 .open',.$output);..if.(0.===.$li
26360 6e 75 78 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 78 64 67 2d 6f 70 nux).{.$process->execute('xdg-op
26380 65 6e 20 27 20 2e 20 24 75 72 6c 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 en.'...$url,.$output);.}.elseif.
263a0 28 30 20 3d 3d 3d 20 24 6f 73 78 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 (0.===.$osx).{.$process->execute
263c0 28 27 6f 70 65 6e 20 27 20 2e 20 24 75 72 6c 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 ('open.'...$url,.$output);.}.els
263e0 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 e.{.$this->getIO()->writeError('
26400 4e 6f 20 73 75 69 74 61 62 6c 65 20 62 72 6f 77 73 65 72 20 6f 70 65 6e 69 6e 67 20 63 6f 6d 6d No.suitable.browser.opening.comm
26420 61 6e 64 20 66 6f 75 6e 64 2c 20 6f 70 65 6e 20 79 6f 75 72 73 65 6c 66 3a 20 27 20 2e 20 24 75 and.found,.open.yourself:.'...$u
26440 72 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f rl);.}.}.........private.functio
26460 6e 20 69 6e 69 74 69 61 6c 69 7a 65 52 65 70 6f 73 28 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 n.initializeRepos().{.$composer.
26480 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 0a 69 66 =.$this->getComposer(false);..if
264a0 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 .($composer).{.return.array_merg
264c0 65 28 0a 61 72 72 61 79 28 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 e(.array(new.ArrayRepository(arr
264e0 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 29 2c 20 0a ay($composer->getPackage()))),..
26500 20 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d .array($composer->getRepositoryM
26520 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 29 2c anager()->getLocalRepository()),
26540 20 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 ...$composer->getRepositoryManag
26560 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 20 0a 20 29 3b 0a 7d 0a 0a er()->getRepositories()...);.}..
26580 72 65 74 75 72 6e 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c return.RepositoryFactory::defaul
265a0 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 tRepos($this->getIO());.}.}.<?ph
265c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
265e0 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 Command;..use.Composer\Dependenc
26600 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 yResolver\Pool;.use.Composer\Fac
26620 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 tory;.use.Composer\Json\JsonFile
26640 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 ;.use.Composer\Package\BasePacka
26660 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e ge;.use.Composer\Package\Version
26680 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 \VersionParser;.use.Composer\Pac
266a0 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 kage\Version\VersionSelector;.us
266c0 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 e.Composer\Repository\CompositeR
266e0 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f epository;.use.Composer\Reposito
26700 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f ry\PlatformRepository;.use.Compo
26720 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 ser\Repository\RepositoryFactory
26740 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 ;.use.Composer\Util\ProcessExecu
26760 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f tor;.use.Symfony\Component\Conso
26780 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d le\Input\InputInterface;.use.Sym
267a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
267c0 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c utOption;.use.Symfony\Component\
267e0 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
26800 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
26820 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ecutableFinder;.use.Symfony\Comp
26840 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 onent\Process\Process;......clas
26860 73 20 49 6e 69 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e s.InitCommand.extends.BaseComman
26880 64 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 3b 0a 0a 0a 70 72 69 76 61 74 65 d.{..protected.$repos;...private
268a0 20 24 67 69 74 43 6f 6e 66 69 67 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 73 3b 0a 0a .$gitConfig;...private.$pools;..
268c0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 ...protected.function.configure(
268e0 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 69 74 27 29 0a 2d 3e 73 65 ).{.$this.->setName('init').->se
26900 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f tDescription('Creates.a.basic.co
26920 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 6e 20 63 75 72 72 65 6e 74 20 64 69 72 65 mposer.json.file.in.current.dire
26940 63 74 6f 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a ctory.').->setDefinition(array(.
26960 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e new.InputOption('name',.null,.In
26980 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4e 61 6d 65 putOption::VALUE_REQUIRED,.'Name
269a0 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 .of.the.package'),.new.InputOpti
269c0 6f 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 on('description',.null,.InputOpt
269e0 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 44 65 73 63 72 69 70 74 69 6f ion::VALUE_REQUIRED,.'Descriptio
26a00 6e 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 n.of.package'),.new.InputOption(
26a20 27 61 75 74 68 6f 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 'author',.null,.InputOption::VAL
26a40 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 41 75 74 68 6f 72 20 6e 61 6d 65 20 6f 66 20 70 61 63 UE_REQUIRED,.'Author.name.of.pac
26a60 6b 61 67 65 27 29 2c 0a 0a 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 kage'),...new.InputOption('type'
26a80 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f ,.null,.InputOption::VALUE_OPTIO
26aa0 4e 41 4c 2c 20 27 54 79 70 65 20 6f 66 20 70 61 63 6b 61 67 65 20 28 65 2e 67 2e 20 6c 69 62 72 NAL,.'Type.of.package.(e.g..libr
26ac0 61 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 74 61 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f ary,.project,.metapackage,.compo
26ae0 73 65 72 2d 70 6c 75 67 69 6e 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 ser-plugin)'),.new.InputOption('
26b00 68 6f 6d 65 70 61 67 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 homepage',.null,.InputOption::VA
26b20 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 48 6f 6d 65 70 61 67 65 20 6f 66 20 70 61 63 6b 61 LUE_REQUIRED,.'Homepage.of.packa
26b40 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 27 2c ge'),.new.InputOption('require',
26b60 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 .null,.InputOption::VALUE_IS_ARR
26b80 41 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 AY.|.InputOption::VALUE_REQUIRED
26ba0 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 77 69 74 68 20 61 20 76 65 72 ,.'Package.to.require.with.a.ver
26bc0 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e sion.constraint,.e.g..foo/bar:1.
26be0 30 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 0.0.or.foo/bar=1.0.0.or."foo/bar
26c00 20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 .1.0.0"'),.new.InputOption('requ
26c20 69 72 65 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ire-dev',.null,.InputOption::VAL
26c40 55 45 5f 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 UE_IS_ARRAY.|.InputOption::VALUE
26c60 5f 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 66 _REQUIRED,.'Package.to.require.f
26c80 6f 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 63 6f or.development.with.a.version.co
26ca0 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 nstraint,.e.g..foo/bar:1.0.0.or.
26cc0 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 foo/bar=1.0.0.or."foo/bar.1.0.0"
26ce0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c '),.new.InputOption('stability',
26d00 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 .'s',.InputOption::VALUE_REQUIRE
26d20 44 2c 20 27 4d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 28 65 6d 70 74 79 20 6f 72 20 D,.'Minimum.stability.(empty.or.
26d40 6f 6e 65 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 one.of:.'.implode(',.',.array_ke
26d60 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 ys(BasePackage::$stabilities)).'
26d80 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 )'),.new.InputOption('license',.
26da0 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 'l',.InputOption::VALUE_REQUIRED
26dc0 2c 20 27 4c 69 63 65 6e 73 65 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 ,.'License.of.package'),.new.Inp
26de0 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 utOption('repository',.null,.Inp
26e00 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 6e 70 75 74 utOption::VALUE_REQUIRED.|.Input
26e20 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 41 64 64 20 63 75 73 Option::VALUE_IS_ARRAY,.'Add.cus
26e40 74 6f 6d 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 65 69 74 68 65 72 20 62 79 20 55 52 4c 20 tom.repositories,.either.by.URL.
26e60 6f 72 20 75 73 69 6e 67 20 4a 53 4f 4e 20 61 72 72 61 79 73 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 or.using.JSON.arrays'),.)).->set
26e80 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 69 74 3c 2f 69 6e 66 Help(.<<<EOT.The.<info>init</inf
26ea0 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f 6d 70 6f o>.command.creates.a.basic.compo
26ec0 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 0a 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 ser.json.file.in.the.current.dir
26ee0 65 63 74 6f 72 79 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 ectory...<info>php.composer.phar
26f00 20 69 6e 69 74 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 .init</info>..EOT.).;.}.....prot
26f20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 ected.function.execute(InputInte
26f40 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f rface.$input,.OutputInterface.$o
26f60 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a utput).{.$io.=.$this->getIO();..
26f80 24 77 68 69 74 65 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 2c 20 27 64 65 73 63 $whitelist.=.array('name',.'desc
26fa0 72 69 70 74 69 6f 6e 27 2c 20 27 61 75 74 68 6f 72 27 2c 20 27 74 79 70 65 27 2c 20 27 68 6f 6d ription',.'author',.'type',.'hom
26fc0 65 70 61 67 65 27 2c 20 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 epage',.'require',.'require-dev'
26fe0 2c 20 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 6c 69 63 65 6e 73 65 27 29 3b 0a 24 6f 70 74 69 ,.'stability',.'license');.$opti
27000 6f 6e 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 ons.=.array_filter(array_interse
27020 63 74 5f 6b 65 79 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 2c 20 61 72 72 ct_key($input->getOptions(),.arr
27040 61 79 5f 66 6c 69 70 28 24 77 68 69 74 65 6c 69 73 74 29 29 29 3b 0a 0a 69 66 20 28 69 73 73 65 ay_flip($whitelist)));..if.(isse
27060 74 28 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e t($options['author'])).{.$option
27080 73 5b 27 61 75 74 68 6f 72 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 75 74 68 s['authors'].=.$this->formatAuth
270a0 6f 72 73 28 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 75 6e 73 65 74 28 24 ors($options['author']);.unset($
270c0 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 69 74 6f options['author']);.}..$reposito
270e0 72 69 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 ries.=.$input->getOption('reposi
27100 74 6f 72 79 27 29 3b 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f tory');.if.($repositories).{.$co
27120 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f nfig.=.Factory::createConfig($io
27140 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 );.foreach.($repositories.as.$re
27160 70 6f 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 5d po).{.$options['repositories'][]
27180 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 63 6f 6e 66 69 67 46 72 6f 6d .=.RepositoryFactory::configFrom
271a0 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b 0a 7d 0a 7d String($io,.$config,.$repo);.}.}
271c0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 ..if.(isset($options['stability'
271e0 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 ])).{.$options['minimum-stabilit
27200 79 27 5d 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 3b 0a 75 6e 73 y'].=.$options['stability'];.uns
27220 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 29 3b 0a 7d 0a 0a 24 6f et($options['stability']);.}..$o
27240 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f ptions['require'].=.isset($optio
27260 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 52 65 ns['require']).?.$this->formatRe
27280 71 75 69 72 65 6d 65 6e 74 73 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 quirements($options['require']).
272a0 3a 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d :.new.\stdClass;.if.(array().===
272c0 20 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 .$options['require']).{.$options
272e0 5b 27 72 65 71 75 69 72 65 27 5d 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 7d 0a 0a ['require'].=.new.\stdClass;.}..
27300 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 if.(isset($options['require-dev'
27320 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 ])).{.$options['require-dev'].=.
27340 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 6f 70 74 69 6f $this->formatRequirements($optio
27360 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 ns['require-dev']);.if.(array().
27380 3d 3d 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 7b 0a 24 ===.$options['require-dev']).{.$
273a0 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 6e 65 77 20 5c 73 74 options['require-dev'].=.new.\st
273c0 64 43 6c 61 73 73 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c dClass;.}.}..$file.=.new.JsonFil
273e0 65 28 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a 24 e(Factory::getComposerFile());.$
27400 6a 73 6f 6e 20 3d 20 24 66 69 6c 65 2d 3e 65 6e 63 6f 64 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a json.=.$file->encode($options);.
27420 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a .if.($input->isInteractive()).{.
27440 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 24 6a 73 6f 6e 2c $io->writeError(array('',.$json,
27460 20 27 27 29 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e .''));.if.(!$io->askConfirmation
27480 28 27 44 6f 20 79 6f 75 20 63 6f 6e 66 69 72 6d 20 67 65 6e 65 72 61 74 69 6f 6e 20 5b 3c 63 6f ('Do.you.confirm.generation.[<co
274a0 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 mment>yes</comment>]?.',.true)).
274c0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 6f 6d 6d 61 6e {.$io->writeError('<error>Comman
274e0 64 20 61 62 6f 72 74 65 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a d.aborted</error>');..return.1;.
27500 7d 0a 7d 0a 0a 24 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 }.}..$file->write($options);..if
27520 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 69 73 5f .($input->isInteractive().&&.is_
27540 64 69 72 28 27 2e 67 69 74 27 29 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d 20 72 65 61 dir('.git')).{.$ignoreFile.=.rea
27560 6c 70 61 74 68 28 27 2e 67 69 74 69 67 6e 6f 72 65 27 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 lpath('.gitignore');..if.(false.
27580 3d 3d 3d 20 24 69 67 6e 6f 72 65 46 69 6c 65 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d ===.$ignoreFile).{.$ignoreFile.=
275a0 20 72 65 61 6c 70 61 74 68 28 27 2e 27 29 20 2e 20 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 3b 0a .realpath('.')...'/.gitignore';.
275c0 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 }..if.(!$this->hasVendorIgnore($
275e0 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c ignoreFile)).{.$question.=.'Woul
27600 64 20 79 6f 75 20 6c 69 6b 65 20 74 68 65 20 3c 69 6e 66 6f 3e 76 65 6e 64 6f 72 3c 2f 69 6e 66 d.you.like.the.<info>vendor</inf
27620 6f 3e 20 64 69 72 65 63 74 6f 72 79 20 61 64 64 65 64 20 74 6f 20 79 6f 75 72 20 3c 69 6e 66 6f o>.directory.added.to.your.<info
27640 3e 2e 67 69 74 69 67 6e 6f 72 65 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 >.gitignore</info>.[<comment>yes
27660 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e </comment>]?.';..if.($io->askCon
27680 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 firmation($question,.true)).{.$t
276a0 68 69 73 2d 3e 61 64 64 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 his->addVendorIgnore($ignoreFile
276c0 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f );.}.}.}.}.....protected.functio
276e0 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 n.interact(InputInterface.$input
27700 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 67 69 ,.OutputInterface.$output).{.$gi
27720 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 47 69 74 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 3d t.=.$this->getGitConfig();.$io.=
27740 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 .$this->getIO();.$formatter.=.$t
27760 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 66 6f 72 6d 61 74 his->getHelperSet()->get('format
27780 74 65 72 27 29 3b 0a 0a 0a 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 69 6e 70 75 74 ter');....$repositories.=.$input
277a0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 69 66 20 28 24 ->getOption('repository');.if.($
277c0 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 repositories).{.$config.=.Factor
277e0 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 24 72 65 70 6f 73 20 3d 20 61 y::createConfig($io);.$repos.=.a
27800 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 66 6f rray(new.PlatformRepository);.fo
27820 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 7b reach.($repositories.as.$repo).{
27840 0a 24 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 66 .$repos[].=.RepositoryFactory::f
27860 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b 0a romString($io,.$config,.$repo);.
27880 7d 0a 24 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a }.$repos[].=.RepositoryFactory::
278a0 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 61 72 72 61 79 28 0a createRepo($io,.$config,.array(.
278c0 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 'type'.=>.'composer',.'url'.=>.'
278e0 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 0a 29 29 3b https://repo.packagist.org',.));
27900 0a 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 ..$this->repos.=.new.CompositeRe
27920 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 75 6e 73 65 74 28 24 72 65 70 6f 73 2c 20 pository($repos);.unset($repos,.
27940 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 7d 0a 0a 24 69 6f 2d $config,.$repositories);.}..$io-
27960 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 24 66 6f 72 6d 61 74 74 65 >writeError(array(.'',.$formatte
27980 72 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 27 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 43 r->formatBlock('Welcome.to.the.C
279a0 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 67 65 6e 65 72 61 74 6f 72 27 2c 20 27 62 67 3d 62 omposer.config.generator',.'bg=b
279c0 6c 75 65 3b 66 67 3d 77 68 69 74 65 27 2c 20 74 72 75 65 29 2c 0a 27 27 2c 0a 29 29 3b 0a 0a 0a lue;fg=white',.true),.'',.));...
279e0 20 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 27 54 68 69 .$io->writeError(array(.'',.'Thi
27a00 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 68 s.command.will.guide.you.through
27a20 20 63 72 65 61 74 69 6e 67 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 63 6f 6e .creating.your.composer.json.con
27a40 66 69 67 2e 27 2c 0a 27 27 2c 0a 29 29 3b 0a 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 fig.',.'',.));..$cwd.=.realpath(
27a60 22 2e 22 29 3b 0a 0a 69 66 20 28 21 24 6e 61 6d 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f ".");..if.(!$name.=.$input->getO
27a80 70 74 69 6f 6e 28 27 6e 61 6d 65 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 62 61 73 65 6e 61 6d ption('name')).{.$name.=.basenam
27aa0 65 28 24 63 77 64 29 3b 0a 24 6e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b e($cwd);.$name.=.preg_replace('{
27ac0 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 5b 41 2d 5a 5d 5b (?:([a-z])([A-Z])|([A-Z])([A-Z][
27ae0 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c 20 24 6e 61 6d 65 a-z]))}',.'\\1\\3-\\2\\4',.$name
27b00 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 69 66 );.$name.=.strtolower($name);.if
27b20 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 .(!empty($_SERVER['COMPOSER_DEFA
27b40 55 4c 54 5f 56 45 4e 44 4f 52 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 45 ULT_VENDOR'])).{.$name.=.$_SERVE
27b60 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 56 45 4e 44 4f 52 27 5d 20 2e 20 27 R['COMPOSER_DEFAULT_VENDOR']...'
27b80 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 69 74 /'...$name;.}.elseif.(isset($git
27ba0 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 67 69 74 ['github.user'])).{.$name.=.$git
27bc0 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d ['github.user']...'/'...$name;.}
27be0 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 4e 41 .elseif.(!empty($_SERVER['USERNA
27c00 4d 45 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 4e ME'])).{.$name.=.$_SERVER['USERN
27c20 41 4d 45 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 AME']...'/'...$name;.}.elseif.(!
27c40 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 empty($_SERVER['USER'])).{.$name
27c60 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d .=.$_SERVER['USER']...'/'...$nam
27c80 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 29 e;.}.elseif.(get_current_user())
27ca0 20 7b 0a 24 6e 61 6d 65 20 3d 20 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 20 2e 20 .{.$name.=.get_current_user()...
27cc0 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 '/'...$name;.}.else.{...$name.=.
27ce0 24 6e 61 6d 65 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 24 6e 61 6d 65 20 3d 20 73 $name...'/'...$name;.}.$name.=.s
27d00 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 trtolower($name);.}.else.{.if.(!
27d20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 preg_match('{^[a-z0-9_.-]+/[a-z0
27d40 2d 39 5f 2e 2d 5d 2b 24 7d 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 -9_.-]+$}',.$name)).{.throw.new.
27d60 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 54 68 65 20 \InvalidArgumentException(.'The.
27d80 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 package.name.'.$name.'.is.invali
27da0 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 77 65 72 63 61 73 65 20 61 6e 64 20 68 61 d,.it.should.be.lowercase.and.ha
27dc0 76 65 20 61 20 76 65 6e 64 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 ve.a.vendor.name,.a.forward.slas
27de0 68 2c 20 61 6e 64 20 61 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 6d 61 74 63 68 69 6e 67 3a h,.and.a.package.name,.matching:
27e00 20 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a 29 3b 0a 7d .[a-z0-9_.-]+/[a-z0-9_.-]+'.);.}
27e20 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 .}..$name.=.$io->askAndValidate(
27e40 0a 27 50 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 29 .'Package.name.(<vendor>/<name>)
27e60 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6e 61 6d 65 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a .[<comment>'.$name.'</comment>]:
27e80 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 6e 61 6d 65 .',.function.($value).use.($name
27ea0 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 ).{.if.(null.===.$value).{.retur
27ec0 6e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b n.$name;.}..if.(!preg_match('{^[
27ee0 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 24 7d 27 2c 20 24 76 61 a-z0-9_.-]+/[a-z0-9_.-]+$}',.$va
27f00 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 lue)).{.throw.new.\InvalidArgume
27f20 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 54 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 ntException(.'The.package.name.'
27f40 2e 24 76 61 6c 75 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 .$value.'.is.invalid,.it.should.
27f60 62 65 20 6c 6f 77 65 72 63 61 73 65 20 61 6e 64 20 68 61 76 65 20 61 20 76 65 6e 64 6f 72 20 6e be.lowercase.and.have.a.vendor.n
27f80 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 2c 20 61 6e 64 20 61 20 70 61 63 6b ame,.a.forward.slash,.and.a.pack
27fa0 61 67 65 20 6e 61 6d 65 2c 20 6d 61 74 63 68 69 6e 67 3a 20 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b age.name,.matching:.[a-z0-9_.-]+
27fc0 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c /[a-z0-9_.-]+'.);.}..return.$val
27fe0 75 65 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 24 6e 61 6d 65 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 ue;.},.null,.$name.);.$input->se
28000 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 24 64 65 73 63 72 69 tOption('name',.$name);..$descri
28020 70 74 69 6f 6e 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 73 63 72 ption.=.$input->getOption('descr
28040 69 70 74 69 6f 6e 27 29 20 3f 3a 20 66 61 6c 73 65 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 iption').?:.false;.$description.
28060 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 44 65 73 63 72 69 70 74 69 6f 6e 20 5b 3c 63 6f 6d 6d 65 =.$io->ask(.'Description.[<comme
28080 6e 74 3e 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 nt>'.$description.'</comment>]:.
280a0 27 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 ',.$description.);.$input->setOp
280c0 74 69 6f 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e tion('description',.$description
280e0 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 68 6f 72 20 3d 20 24 69 6e 70 75 );..if.(null.===.$author.=.$inpu
28100 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 75 74 68 6f 72 27 29 29 20 7b 0a 69 66 20 28 21 65 t->getOption('author')).{.if.(!e
28120 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f mpty($_SERVER['COMPOSER_DEFAULT_
28140 41 55 54 48 4f 52 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d 20 24 5f 53 45 AUTHOR'])).{.$author_name.=.$_SE
28160 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 41 55 54 48 4f 52 27 5d 3b RVER['COMPOSER_DEFAULT_AUTHOR'];
28180 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 2e 6e 61 6d 65 .}.elseif.(isset($git['user.name
281a0 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d 20 24 67 69 74 5b 27 75 73 65 72 '])).{.$author_name.=.$git['user
281c0 2e 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b .name'];.}..if.(!empty($_SERVER[
281e0 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 29 29 20 7b 0a 24 61 'COMPOSER_DEFAULT_EMAIL'])).{.$a
28200 75 74 68 6f 72 5f 65 6d 61 69 6c 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 uthor_email.=.$_SERVER['COMPOSER
28220 5f 44 45 46 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 _DEFAULT_EMAIL'];.}.elseif.(isse
28240 74 28 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 t($git['user.email'])).{.$author
28260 5f 65 6d 61 69 6c 20 3d 20 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d 3b 0a 7d 0a 0a _email.=.$git['user.email'];.}..
28280 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5f 6e 61 6d 65 29 20 26 26 20 69 73 73 65 74 if.(isset($author_name).&&.isset
282a0 28 24 61 75 74 68 6f 72 5f 65 6d 61 69 6c 29 29 20 7b 0a 24 61 75 74 68 6f 72 20 3d 20 73 70 72 ($author_email)).{.$author.=.spr
282c0 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5f 6e 61 6d 65 2c 20 24 61 intf('%s.<%s>',.$author_name,.$a
282e0 75 74 68 6f 72 5f 65 6d 61 69 6c 29 3b 0a 7d 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 uthor_email);.}.}..$self.=.$this
28300 3b 0a 24 61 75 74 68 6f 72 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 ;.$author.=.$io->askAndValidate(
28320 0a 27 41 75 74 68 6f 72 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 61 75 74 68 6f 72 2e 27 3c 2f .'Author.[<comment>'.$author.'</
28340 63 6f 6d 6d 65 6e 74 3e 2c 20 6e 20 74 6f 20 73 6b 69 70 5d 3a 20 27 2c 0a 66 75 6e 63 74 69 6f comment>,.n.to.skip]:.',.functio
28360 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 61 75 74 68 6f 72 29 20 n.($value).use.($self,.$author).
28380 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 6e 27 20 7c 7c 20 24 76 61 6c 75 65 20 3d {.if.($value.===.'n'.||.$value.=
283a0 3d 3d 20 27 6e 6f 27 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 24 76 ==.'no').{.return;.}.$value.=.$v
283c0 61 6c 75 65 20 3f 3a 20 24 61 75 74 68 6f 72 3b 0a 24 61 75 74 68 6f 72 20 3d 20 24 73 65 6c 66 alue.?:.$author;.$author.=.$self
283e0 2d 3e 70 61 72 73 65 41 75 74 68 6f 72 53 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 ->parseAuthorString($value);..re
28400 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5b turn.sprintf('%s.<%s>',.$author[
28420 27 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 2c 0a 6e 'name'],.$author['email']);.},.n
28440 75 6c 6c 2c 0a 24 61 75 74 68 6f 72 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f ull,.$author.);.$input->setOptio
28460 6e 28 27 61 75 74 68 6f 72 27 2c 20 24 61 75 74 68 6f 72 29 3b 0a 0a 24 6d 69 6e 69 6d 75 6d 53 n('author',.$author);..$minimumS
28480 74 61 62 69 6c 69 74 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 tability.=.$input->getOption('st
284a0 61 62 69 6c 69 74 79 27 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 ability').?:.null;.$minimumStabi
284c0 6c 69 74 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 4d 69 6e lity.=.$io->askAndValidate(.'Min
284e0 69 6d 75 6d 20 53 74 61 62 69 6c 69 74 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6d 69 6e 69 imum.Stability.[<comment>'.$mini
28500 6d 75 6d 53 74 61 62 69 6c 69 74 79 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 66 75 mumStability.'</comment>]:.',.fu
28520 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 nction.($value).use.($minimumSta
28540 62 69 6c 69 74 79 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b bility).{.if.(null.===.$value).{
28560 0a 72 65 74 75 72 6e 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 69 66 .return.$minimumStability;.}..if
28580 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 .(!isset(BasePackage::$stabiliti
285a0 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 es[$value])).{.throw.new.\Invali
285c0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 6c 69 64 20 6d 69 6e dArgumentException(.'Invalid.min
285e0 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 22 27 2e 24 76 61 6c 75 65 2e 27 22 2e 20 4d 75 73 imum.stability."'.$value.'"..Mus
28600 74 20 62 65 20 65 6d 70 74 79 20 6f 72 20 6f 6e 65 20 6f 66 3a 20 27 2e 0a 69 6d 70 6c 6f 64 65 t.be.empty.or.one.of:.'..implode
28620 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 (',.',.array_keys(BasePackage::$
28640 73 74 61 62 69 6c 69 74 69 65 73 29 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 stabilities)).);.}..return.$valu
28660 65 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 0a 29 3b e;.},.null,.$minimumStability.);
28680 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 .$input->setOption('stability',.
286a0 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 74 79 70 65 20 3d 20 24 69 6e $minimumStability);..$type.=.$in
286c0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 29 20 3f 3a 20 66 61 6c 73 65 3b put->getOption('type').?:.false;
286e0 0a 24 74 79 70 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 50 61 63 6b 61 67 65 20 54 79 70 65 .$type.=.$io->ask(.'Package.Type
28700 20 28 65 2e 67 2e 20 6c 69 62 72 61 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 74 61 70 61 63 .(e.g..library,.project,.metapac
28720 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 29 20 5b 3c 63 6f 6d 6d 65 6e 74 kage,.composer-plugin).[<comment
28740 3e 27 2e 24 74 79 70 65 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 74 79 70 65 0a >'.$type.'</comment>]:.',.$type.
28760 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 2c 20 24 74 79 );.$input->setOption('type',.$ty
28780 70 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 20 3d 20 24 69 pe);..if.(null.===.$license.=.$i
287a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 29 29 20 7b 0a 69 66 nput->getOption('license')).{.if
287c0 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 .(!empty($_SERVER['COMPOSER_DEFA
287e0 55 4c 54 5f 4c 49 43 45 4e 53 45 27 5d 29 29 20 7b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 5f 53 ULT_LICENSE'])).{.$license.=.$_S
28800 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 4c 49 43 45 4e 53 45 27 ERVER['COMPOSER_DEFAULT_LICENSE'
28820 5d 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 4c 69 ];.}.}..$license.=.$io->ask(.'Li
28840 63 65 6e 73 65 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6c 69 63 65 6e 73 65 2e 27 3c 2f 63 6f cense.[<comment>'.$license.'</co
28860 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e mment>]:.',.$license.);.$input->
28880 73 65 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a setOption('license',.$license);.
288a0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 27 44 65 66 69 .$io->writeError(array('',.'Defi
288c0 6e 65 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 2c 20 27 27 29 29 3b 0a 0a 0a ne.your.dependencies.',.''));...
288e0 20 24 72 65 70 6f 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 3b 0a 24 70 72 .$repos.=.$this->getRepos();.$pr
28900 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 eferredStability.=.$minimumStabi
28920 6c 69 74 79 20 3f 3a 20 27 73 74 61 62 6c 65 27 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 lity.?:.'stable';.$phpVersion.=.
28940 24 72 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d $repos->findPackage('php',.'*')-
28960 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 24 71 75 65 73 74 69 6f 6e 20 >getPrettyVersion();..$question.
28980 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 =.'Would.you.like.to.define.your
289a0 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 72 65 29 20 69 6e 74 65 72 61 63 74 .dependencies.(require).interact
289c0 69 76 65 6c 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 ively.[<comment>yes</comment>]?.
289e0 27 3b 0a 24 72 65 71 75 69 72 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ';.$require.=.$input->getOption(
28a00 27 72 65 71 75 69 72 65 27 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 'require');.$requirements.=.arra
28a20 79 28 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e y();.if.($require.||.$io->askCon
28a40 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 72 firmation($question,.true)).{.$r
28a60 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 equirements.=.$this->determineRe
28a80 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 quirements($input,.$output,.$req
28aa0 75 69 72 65 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 uire,.$phpVersion,.$preferredSta
28ac0 62 69 6c 69 74 79 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 72 65 bility);.}.$input->setOption('re
28ae0 71 75 69 72 65 27 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 0a 24 71 75 65 73 74 69 quire',.$requirements);..$questi
28b00 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 79 on.=.'Would.you.like.to.define.y
28b20 6f 75 72 20 64 65 76 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 72 65 2d 64 65 our.dev.dependencies.(require-de
28b40 76 29 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f v).interactively.[<comment>yes</
28b60 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d 20 24 69 6e 70 comment>]?.';.$requireDev.=.$inp
28b80 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 3b 0a 24 64 ut->getOption('require-dev');.$d
28ba0 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 72 evRequirements.=.array();.if.($r
28bc0 65 71 75 69 72 65 44 65 76 20 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f equireDev.||.$io->askConfirmatio
28be0 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 64 65 76 52 65 71 75 69 72 n($question,.true)).{.$devRequir
28c00 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 ements.=.$this->determineRequire
28c20 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 75 69 72 65 44 ments($input,.$output,.$requireD
28c40 65 76 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 ev,.$phpVersion,.$preferredStabi
28c60 6c 69 74 79 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 lity);.}.$input->setOption('requ
28c80 69 72 65 2d 64 65 76 27 2c 20 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a ire-dev',.$devRequirements);.}..
28ca0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 68 6f 72 .....public.function.parseAuthor
28cc0 53 74 72 69 6e 67 28 24 61 75 74 68 6f 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 String($author).{.if.(preg_match
28ce0 28 27 2f 5e 28 3f 50 3c 6e 61 6d 65 3e 5b 2d 20 2e 2c 5c 70 7b 4c 7d 5c 70 7b 4e 7d 5c 70 7b 4d ('/^(?P<name>[-..,\p{L}\p{N}\p{M
28d00 6e 7d 5c 27 e2 80 99 22 28 29 5d 2b 29 20 3c 28 3f 50 3c 65 6d 61 69 6c 3e 2e 2b 3f 29 3e 24 2f n}\'..."()]+).<(?P<email>.+?)>$/
28d20 75 27 2c 20 24 61 75 74 68 6f 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 74 68 69 u',.$author,.$match)).{.if.($thi
28d40 73 2d 3e 69 73 56 61 6c 69 64 45 6d 61 69 6c 28 24 6d 61 74 63 68 5b 27 65 6d 61 69 6c 27 5d 29 s->isValidEmail($match['email'])
28d60 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 74 72 69 6d ).{.return.array(.'name'.=>.trim
28d80 28 24 6d 61 74 63 68 5b 27 6e 61 6d 65 27 5d 29 2c 0a 27 65 6d 61 69 6c 27 20 3d 3e 20 24 6d 61 ($match['name']),.'email'.=>.$ma
28da0 74 63 68 5b 27 65 6d 61 69 6c 27 5d 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 tch['email'],.);.}.}..throw.new.
28dc0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 \InvalidArgumentException(.'Inva
28de0 6c 69 64 20 61 75 74 68 6f 72 20 73 74 72 69 6e 67 2e 20 20 4d 75 73 74 20 62 65 20 69 6e 20 74 lid.author.string...Must.be.in.t
28e00 68 65 20 66 6f 72 6d 61 74 3a 20 27 2e 0a 27 4a 6f 68 6e 20 53 6d 69 74 68 20 3c 6a 6f 68 6e 40 he.format:.'..'John.Smith.<john@
28e20 65 78 61 6d 70 6c 65 2e 63 6f 6d 3e 27 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 example.com>'.);.}..protected.fu
28e40 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 nction.findPackages($name).{.ret
28e60 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 2d 3e 73 65 61 72 63 68 28 24 6e urn.$this->getRepos()->search($n
28e80 61 6d 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 ame);.}..protected.function.getR
28ea0 65 70 6f 73 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 70 6f 73 29 20 7b 0a 24 74 epos().{.if.(!$this->repos).{.$t
28ec0 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 his->repos.=.new.CompositeReposi
28ee0 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 tory(array_merge(.array(new.Plat
28f00 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 29 2c 0a 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f formRepository),.RepositoryFacto
28f20 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 ry::defaultRepos($this->getIO())
28f40 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 3b 0a 7d 0a 0a .));.}..return.$this->repos;.}..
28f60 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 52 65 71 75 protected.function.determineRequ
28f80 69 72 65 6d 65 6e 74 73 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 irements(InputInterface.$input,.
28fa0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 75 69 72 OutputInterface.$output,.$requir
28fc0 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c es.=.array(),.$phpVersion.=.null
28fe0 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 ,.$preferredStability.=.'stable'
29000 29 0a 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d ).{.if.($requires).{.$requires.=
29020 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 .$this->normalizeRequirements($r
29040 65 71 75 69 72 65 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f equires);.$result.=.array();.$io
29060 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 .=.$this->getIO();..foreach.($re
29080 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 69 66 20 28 21 69 quires.as.$requirement).{.if.(!i
290a0 73 73 65 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b sset($requirement['version'])).{
290c0 0a 0a 20 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 24 74 68 69 73 ...list($name,.$version).=.$this
290e0 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 ->findBestVersionAndNameForPacka
29100 67 65 28 24 69 6e 70 75 74 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2c ge($input,.$requirement['name'],
29120 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 .$phpVersion,.$preferredStabilit
29140 79 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 76 y);.$requirement['version'].=.$v
29160 65 72 73 69 6f 6e 3b 0a 0a 0a 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 ersion;....$requirement['name'].
29180 3d 20 24 6e 61 6d 65 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 =.$name;..$io->writeError(sprint
291a0 66 28 0a 27 55 73 69 6e 67 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f f(.'Using.version.<info>%s</info
291c0 3e 20 66 6f 72 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 72 65 71 75 69 72 65 >.for.<info>%s</info>',.$require
291e0 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e ment['version'],.$requirement['n
29200 61 6d 65 27 5d 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 6c 69 73 74 28 24 6e 61 6d 65 2c ame'].));.}.else.{...list($name,
29220 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 .$version).=.$this->findBestVers
29240 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c 20 24 72 65 ionAndNameForPackage($input,.$re
29260 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 quirement['name'],.$phpVersion,.
29280 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 2c 20 24 72 65 71 75 69 72 65 6d 65 6e $preferredStability,.$requiremen
292a0 74 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 27 64 65 76 27 29 3b 0a 0a 0a 20 24 72 65 71 75 69 72 t['version'],.'dev');....$requir
292c0 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 73 75 6c ement['name'].=.$name;.}..$resul
292e0 74 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 2e 20 27 20 27 t[].=.$requirement['name']...'.'
29300 20 2e 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 72 ...$requirement['version'];.}..r
29320 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 eturn.$result;.}..$versionParser
29340 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 69 6f 20 3d 20 24 74 .=.new.VersionParser();.$io.=.$t
29360 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 his->getIO();.while.(null.!==.$p
29380 61 63 6b 61 67 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 53 65 61 72 63 68 20 66 6f 72 20 61 20 ackage.=.$io->ask('Search.for.a.
293a0 70 61 63 6b 61 67 65 3a 20 27 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 74 68 69 73 2d package:.')).{.$matches.=.$this-
293c0 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 63 6f >findPackages($package);..if.(co
293e0 75 6e 74 28 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 6e unt($matches)).{.$exactMatch.=.n
29400 75 6c 6c 3b 0a 24 63 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 ull;.$choices.=.array();.foreach
29420 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 66 6f 75 6e .($matches.as.$position.=>.$foun
29440 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 27 27 3b 0a 69 66 20 dPackage).{.$abandoned.=.'';.if.
29460 28 69 73 73 65 74 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 (isset($foundPackage['abandoned'
29480 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 ])).{.if.(is_string($foundPackag
294a0 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 e['abandoned'])).{.$replacement.
294c0 3d 20 73 70 72 69 6e 74 66 28 27 55 73 65 20 25 73 20 69 6e 73 74 65 61 64 27 2c 20 24 66 6f 75 =.sprintf('Use.%s.instead',.$fou
294e0 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 ndPackage['abandoned']);.}.else.
29500 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 {.$replacement.=.'No.replacement
29520 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 7d 0a 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 .was.suggested';.}.$abandoned.=.
29540 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 41 62 61 6e 64 6f 6e 65 64 2e 20 25 73 2e sprintf('<warning>Abandoned..%s.
29560 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 </warning>',.$replacement);.}..$
29580 63 68 6f 69 63 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 35 73 3c choices[].=.sprintf('.<info>%5s<
295a0 2f 69 6e 66 6f 3e 20 25 73 20 25 73 27 2c 20 22 5b 24 70 6f 73 69 74 69 6f 6e 5d 22 2c 20 24 66 /info>.%s.%s',."[$position]",.$f
295c0 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 61 62 61 6e 64 6f 6e 65 64 29 oundPackage['name'],.$abandoned)
295e0 3b 0a 69 66 20 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 20 3d 3d 3d 20 ;.if.($foundPackage['name'].===.
29600 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a $package).{.$exactMatch.=.true;.
29620 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 78 61 63 74 4d 61 74 63 68 29 20 break;.}.}....if.(!$exactMatch).
29640 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 73 70 72 {.$io->writeError(array(.'',.spr
29660 69 6e 74 66 28 27 46 6f 75 6e 64 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 70 61 63 6b intf('Found.<info>%s</info>.pack
29680 61 67 65 73 20 6d 61 74 63 68 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 ages.matching.<info>%s</info>',.
296a0 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 2c 20 24 70 61 63 6b 61 67 65 29 2c 0a 27 27 2c 0a count($matches),.$package),.'',.
296c0 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 6f 69 63 65 73 29 3b 0a ));..$io->writeError($choices);.
296e0 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 $io->writeError('');..$validator
29700 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 75 73 65 20 28 24 6d .=.function.($selection).use.($m
29720 61 74 63 68 65 73 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 69 66 20 28 27 27 atches,.$versionParser).{.if.(''
29740 20 3d 3d 3d 20 24 73 65 6c 65 63 74 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b .===.$selection).{.return.false;
29760 0a 7d 0a 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 26 .}..if.(is_numeric($selection).&
29780 26 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 28 69 6e 74 29 20 24 73 65 6c 65 63 74 69 6f &.isset($matches[(int).$selectio
297a0 6e 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 28 69 6e 74 29 n])).{.$package.=.$matches[(int)
297c0 20 24 73 65 6c 65 63 74 69 6f 6e 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 5b 27 .$selection];..return.$package['
297e0 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a name'];.}..if.(preg_match('{^\s*
29800 28 3f 50 3c 6e 61 6d 65 3e 5b 5c 53 2f 5d 2b 29 28 3f 3a 5c 73 2b 28 3f 50 3c 76 65 72 73 69 6f (?P<name>[\S/]+)(?:\s+(?P<versio
29820 6e 3e 5c 53 2b 29 29 3f 5c 73 2a 24 7d 27 2c 20 24 73 65 6c 65 63 74 69 6f 6e 2c 20 24 70 61 63 n>\S+))?\s*$}',.$selection,.$pac
29840 6b 61 67 65 4d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 kageMatches)).{.if.(isset($packa
29860 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 0a 0a 0a 20 24 76 65 geMatches['version'])).{.....$ve
29880 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 70 rsionParser->parseConstraints($p
298a0 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 0a 72 65 74 75 ackageMatches['version']);..retu
298c0 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 2e 27 20 27 2e 24 rn.$packageMatches['name'].'.'.$
298e0 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 0a 20 packageMatches['version'];.}....
29900 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 3b 0a return.$packageMatches['name'];.
29920 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 20 61 20 76 }..throw.new.\Exception('Not.a.v
29940 61 6c 69 64 20 73 65 6c 65 63 74 69 6f 6e 27 29 3b 0a 7d 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d alid.selection');.};..$package.=
29960 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 20 70 61 63 .$io->askAndValidate(.'Enter.pac
29980 6b 61 67 65 20 23 20 74 6f 20 61 64 64 2c 20 6f 72 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 70 kage.#.to.add,.or.the.complete.p
299a0 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 6c 69 73 74 65 64 3a ackage.name.if.it.is.not.listed:
299c0 20 27 2c 0a 24 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c 0a 66 61 6c 73 65 0a 29 3b 0a 7d 0a 0a 0a .',.$validator,.3,.false.);.}...
299e0 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 20 26 26 20 66 61 6c 73 65 .if.(false.!==.$package.&&.false
29a00 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2c 20 27 20 27 29 29 20 7b 0a 24 76 .===.strpos($package,.'.')).{.$v
29a20 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 69 6e 70 75 74 29 20 7b 0a 24 alidator.=.function.($input).{.$
29a40 69 6e 70 75 74 20 3d 20 74 72 69 6d 28 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 input.=.trim($input);..return.$i
29a60 6e 70 75 74 20 3f 3a 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d nput.?:.false;.};..$constraint.=
29a80 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 20 74 68 65 .$io->askAndValidate(.'Enter.the
29aa0 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 72 65 71 75 69 72 65 20 28 .version.constraint.to.require.(
29ac0 6f 72 20 6c 65 61 76 65 20 62 6c 61 6e 6b 20 74 6f 20 75 73 65 20 74 68 65 20 6c 61 74 65 73 74 or.leave.blank.to.use.the.latest
29ae0 20 76 65 72 73 69 6f 6e 29 3a 20 27 2c 0a 24 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c 0a 66 61 6c .version):.',.$validator,.3,.fal
29b00 73 65 0a 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 se.);..if.(false.===.$constraint
29b20 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 3d 20 24 ).{.list($name,.$constraint).=.$
29b40 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 this->findBestVersionAndNameForP
29b60 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 70 68 70 56 65 72 ackage($input,.$package,.$phpVer
29b80 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 69 6f sion,.$preferredStability);..$io
29ba0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 76 65 72 ->writeError(sprintf(.'Using.ver
29bc0 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 66 6f 72 20 3c 69 6e 66 6f 3e 25 sion.<info>%s</info>.for.<info>%
29be0 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 70 61 63 6b 61 67 65 s</info>',.$constraint,.$package
29c00 0a 29 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 2e 3d 20 27 20 27 2e 24 63 6f 6e 73 74 72 61 .));.}..$package..=.'.'.$constra
29c20 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 int;.}..if.(false.!==.$package).
29c40 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a {.$requires[].=.$package;.}.}.}.
29c60 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 .return.$requires;.}..protected.
29c80 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 41 75 74 68 6f 72 73 28 24 61 75 74 68 6f 72 29 0a function.formatAuthors($author).
29ca0 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 68 6f {.return.array($this->parseAutho
29cc0 72 53 74 72 69 6e 67 28 24 61 75 74 68 6f 72 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 rString($author));.}..protected.
29ce0 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 61 72 72 61 function.formatRequirements(arra
29d00 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 y.$requirements).{.$requires.=.a
29d20 72 72 61 79 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6e rray();.$requirements.=.$this->n
29d40 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 65 6d 65 6e ormalizeRequirements($requiremen
29d60 74 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 73 20 24 ts);.foreach.($requirements.as.$
29d80 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 requirement).{.$requires[$requir
29da0 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 ement['name']].=.$requirement['v
29dc0 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 73 3b 0a 7d ersion'];.}..return.$requires;.}
29de0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 43 6f 6e 66 69 ..protected.function.getGitConfi
29e00 67 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e g().{.if.(null.!==.$this->gitCon
29e20 66 69 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 3b 0a fig).{.return.$this->gitConfig;.
29e40 7d 0a 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 }..$finder.=.new.ExecutableFinde
29e60 72 28 29 3b 0a 24 67 69 74 42 69 6e 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 67 69 r();.$gitBin.=.$finder->find('gi
29e80 74 27 29 3b 0a 0a 24 63 6d 64 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 73 70 72 69 6e 74 66 t');..$cmd.=.new.Process(sprintf
29ea0 28 27 25 73 20 63 6f 6e 66 69 67 20 2d 6c 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 ('%s.config.-l',.ProcessExecutor
29ec0 3a 3a 65 73 63 61 70 65 28 24 67 69 74 42 69 6e 29 29 29 3b 0a 24 63 6d 64 2d 3e 72 75 6e 28 29 ::escape($gitBin)));.$cmd->run()
29ee0 3b 0a 0a 69 66 20 28 24 63 6d 64 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 24 ;..if.($cmd->isSuccessful()).{.$
29f00 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 65 67 5f this->gitConfig.=.array();.preg_
29f20 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 5e 28 5b 5e 3d 5d 2b 29 3d 28 2e 2a 29 24 7d 6d 27 2c 20 24 match_all('{^([^=]+)=(.*)$}m',.$
29f40 63 6d 64 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 2c 20 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 cmd->getOutput(),.$matches,.PREG
29f60 5f 53 45 54 5f 4f 52 44 45 52 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 _SET_ORDER);.foreach.($matches.a
29f80 73 20 24 6d 61 74 63 68 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 5b 24 6d 61 s.$match).{.$this->gitConfig[$ma
29fa0 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 tch[1]].=.$match[2];.}..return.$
29fc0 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 this->gitConfig;.}..return.$this
29fe0 2d 3e 67 69 74 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ->gitConfig.=.array();.}........
2a000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 ..........protected.function.has
2a020 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 24 76 65 6e 64 6f VendorIgnore($ignoreFile,.$vendo
2a040 72 20 3d 20 27 76 65 6e 64 6f 72 27 29 0a 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 r.=.'vendor').{.if.(!file_exists
2a060 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ($ignoreFile)).{.return.false;.}
2a080 0a 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 70 72 69 6e 74 66 28 27 7b 5e 2f 3f 25 73 28 2f 5c 2a ..$pattern.=.sprintf('{^/?%s(/\*
2a0a0 3f 29 3f 24 7d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 76 65 6e 64 6f 72 29 29 3b 0a 0a 24 ?)?$}',.preg_quote($vendor));..$
2a0c0 6c 69 6e 65 73 20 3d 20 66 69 6c 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 46 49 4c 45 5f 49 lines.=.file($ignoreFile,.FILE_I
2a0e0 47 4e 4f 52 45 5f 4e 45 57 5f 4c 49 4e 45 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 GNORE_NEW_LINES);.foreach.($line
2a100 73 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 s.as.$line).{.if.(preg_match($pa
2a120 74 74 65 72 6e 2c 20 24 6c 69 6e 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a ttern,.$line)).{.return.true;.}.
2a140 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 }..return.false;.}..protected.fu
2a160 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 61 72 72 nction.normalizeRequirements(arr
2a180 61 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 ay.$requirements).{.$parser.=.ne
2a1a0 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 72 73 w.VersionParser();..return.$pars
2a1c0 65 72 2d 3e 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 24 72 65 71 75 69 er->parseNameVersionPairs($requi
2a1e0 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 rements);.}..protected.function.
2a200 61 64 64 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 24 76 65 addVendorIgnore($ignoreFile,.$ve
2a220 6e 64 6f 72 20 3d 20 27 2f 76 65 6e 64 6f 72 2f 27 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d ndor.=.'/vendor/').{.$contents.=
2a240 20 22 22 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 ."";.if.(file_exists($ignoreFile
2a260 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e )).{.$contents.=.file_get_conten
2a280 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 3b 0a 0a 69 66 20 28 22 5c 6e 22 20 21 3d 3d 20 73 ts($ignoreFile);..if.("\n".!==.s
2a2a0 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 2c 20 2d 31 29 29 20 7b 0a 24 63 6f 6e 74 ubstr($contents,.0,.-1)).{.$cont
2a2c0 65 6e 74 73 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 ents..=."\n";.}.}..file_put_cont
2a2e0 65 6e 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 20 2e 20 24 76 ents($ignoreFile,.$contents...$v
2a300 65 6e 64 6f 72 2e 20 22 5c 6e 22 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 endor.."\n");.}..protected.funct
2a320 69 6f 6e 20 69 73 56 61 6c 69 64 45 6d 61 69 6c 28 24 65 6d 61 69 6c 29 0a 7b 0a 0a 20 69 66 20 ion.isValidEmail($email).{...if.
2a340 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 66 69 6c 74 65 72 5f 76 61 72 27 29 29 (!function_exists('filter_var'))
2a360 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 50 48 50 5f 56 45 52 .{.return.true;.}....if.(PHP_VER
2a380 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 33 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a SION_ID.<.50303).{.return.true;.
2a3a0 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 }..return.false.!==.filter_var($
2a3c0 65 6d 61 69 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 3b 0a 7d email,.FILTER_VALIDATE_EMAIL);.}
2a3e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 49 6e 70 75 74 ..private.function.getPool(Input
2a400 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c Interface.$input,.$minimumStabil
2a420 69 74 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6b 65 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 ity.=.null).{.$key.=.$minimumSta
2a440 62 69 6c 69 74 79 20 3f 3a 20 27 64 65 66 61 75 6c 74 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 bility.?:.'default';..if.(!isset
2a460 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 ($this->pools[$key])).{.$this->p
2a480 6f 6f 6c 73 5b 24 6b 65 79 5d 20 3d 20 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 6d ools[$key].=.$pool.=.new.Pool($m
2a4a0 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3f 3a 20 24 74 68 69 73 2d 3e 67 65 74 4d 69 6e inimumStability.?:.$this->getMin
2a4c0 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 imumStability($input));.$pool->a
2a4e0 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 29 3b ddRepository($this->getRepos());
2a500 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 5d 3b 0a 7d .}..return.$this->pools[$key];.}
2a520 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 ..private.function.getMinimumSta
2a540 62 69 6c 69 74 79 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a bility(InputInterface.$input).{.
2a560 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 if.($input->hasOption('stability
2a580 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ')).{.return.$input->getOption('
2a5a0 73 74 61 62 69 6c 69 74 79 27 29 20 3f 3a 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 24 66 69 6c stability').?:.'stable';.}..$fil
2a5c0 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a e.=.Factory::getComposerFile();.
2a5e0 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c if.(is_file($file).&&.is_readabl
2a600 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 20 3d e($file).&&.is_array($composer.=
2a620 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 .json_decode(file_get_contents($
2a640 66 69 6c 65 29 2c 20 74 72 75 65 29 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6d file),.true))).{.if.(!empty($com
2a660 70 6f 73 65 72 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 72 poser['minimum-stability'])).{.r
2a680 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 eturn.$composer['minimum-stabili
2a6a0 74 79 27 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 0a ty'];.}.}..return.'stable';.}...
2a6c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 .............private.function.fi
2a6e0 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 49 ndBestVersionAndNameForPackage(I
2a700 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 6e 61 6d 65 2c 20 24 70 68 nputInterface.$input,.$name,.$ph
2a720 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 pVersion,.$preferredStability.=.
2a740 27 73 74 61 62 6c 65 27 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 'stable',.$requiredVersion.=.nul
2a760 6c 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a l,.$minimumStability.=.null).{..
2a780 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 .$versionSelector.=.new.VersionS
2a7a0 65 6c 65 63 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 50 6f 6f 6c 28 24 69 6e 70 75 74 2c 20 24 elector($this->getPool($input,.$
2a7c0 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 minimumStability));.$package.=.$
2a7e0 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 versionSelector->findBestCandida
2a800 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 te($name,.$requiredVersion,.$php
2a820 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a Version,.$preferredStability);..
2a840 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d ..if.($input->hasOption('ignore-
2a860 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 platform-reqs').&&.$input->getOp
2a880 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 20 7b 0a tion('ignore-platform-reqs')).{.
2a8a0 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 $phpVersion.=.null;.$package.=.$
2a8c0 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 versionSelector->findBestCandida
2a8e0 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 te($name,.$requiredVersion,.$php
2a900 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d Version,.$preferredStability);.}
2a920 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 69 66 20 28 24 70 68 70 56 65 72 ..if.(!$package).{...if.($phpVer
2a940 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 sion.&&.$versionSelector->findBe
2a960 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 stCandidate($name,.$requiredVers
2a980 69 6f 6e 2c 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 29 ion,.null,.$preferredStability))
2a9a0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 .{.throw.new.\InvalidArgumentExc
2a9c0 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 20 61 74 20 76 eption(sprintf(.'Package.%s.at.v
2a9e0 65 72 73 69 6f 6e 20 25 73 20 68 61 73 20 61 20 50 48 50 20 72 65 71 75 69 72 65 6d 65 6e 74 20 ersion.%s.has.a.PHP.requirement.
2aa00 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 incompatible.with.your.PHP.versi
2aa20 6f 6e 20 28 25 73 29 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f on.(%s)',.$name,.$requiredVersio
2aa40 6e 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 72 65 71 75 n,.$phpVersion.));.}...if.($requ
2aa60 69 72 65 64 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d iredVersion.&&.$versionSelector-
2aa80 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 2c 20 >findBestCandidate($name,.null,.
2aaa0 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 $phpVersion,.$preferredStability
2aac0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 )).{.throw.new.\InvalidArgumentE
2aae0 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e xception(sprintf(.'Could.not.fin
2ab00 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 20 76 65 72 73 69 6f 6e 20 6d 61 74 63 68 69 d.package.%s.in.a.version.matchi
2ab20 6e 67 20 25 73 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 0a ng.%s',.$name,.$requiredVersion.
2ab40 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 70 68 70 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 ));.}...if.($phpVersion.&&.$vers
2ab60 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 ionSelector->findBestCandidate($
2ab80 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d name)).{.throw.new.\InvalidArgum
2aba0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 entException(sprintf(.'Could.not
2abc0 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 .find.package.%s.in.any.version.
2abe0 6d 61 74 63 68 69 6e 67 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 25 73 29 27 2c matching.your.PHP.version.(%s)',
2ac00 0a 24 6e 61 6d 65 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 73 69 .$name,.$phpVersion.));.}....$si
2ac20 6d 69 6c 61 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 69 6d 69 6c 61 72 28 24 6e 61 6d 65 milar.=.$this->findSimilar($name
2ac40 29 3b 0a 69 66 20 28 24 73 69 6d 69 6c 61 72 29 20 7b 0a 0a 20 69 66 20 28 24 72 65 71 75 69 72 );.if.($similar).{...if.($requir
2ac60 65 64 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 edVersion.===.null.&&.in_array($
2ac80 6e 61 6d 65 2c 20 24 73 69 6d 69 6c 61 72 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e name,.$similar,.true)).{.throw.n
2aca0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ew.\InvalidArgumentException(spr
2acc0 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 76 65 72 73 69 6f 6e 20 intf(.'Could.not.find.a.version.
2ace0 6f 66 20 70 61 63 6b 61 67 65 20 25 73 20 6d 61 74 63 68 69 6e 67 20 79 6f 75 72 20 6d 69 6e 69 of.package.%s.matching.your.mini
2ad00 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 28 25 73 29 2e 20 52 65 71 75 69 72 65 20 69 74 20 77 mum-stability.(%s)..Require.it.w
2ad20 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 ith.an.explicit.version.constrai
2ad40 6e 74 20 61 6c 6c 6f 77 69 6e 67 20 69 74 73 20 64 65 73 69 72 65 64 20 73 74 61 62 69 6c 69 74 nt.allowing.its.desired.stabilit
2ad60 79 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 y.',.$name,.$this->getMinimumSta
2ad80 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 bility($input).));.}..throw.new.
2ada0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 \InvalidArgumentException(sprint
2adc0 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 2e 5c 6e f(."Could.not.find.package.%s.\n
2ade0 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 22 20 2e 20 28 63 6f 75 6e 74 28 24 73 69 6d 69 6c \nDid.you.mean."...(count($simil
2ae00 61 72 29 20 3e 20 31 20 3f 20 27 6f 6e 65 20 6f 66 20 74 68 65 73 65 27 20 3a 20 27 74 68 69 73 ar).>.1.?.'one.of.these'.:.'this
2ae20 27 29 20 2e 20 22 3f 5c 6e 20 20 20 20 25 73 22 2c 0a 24 6e 61 6d 65 2c 0a 69 6d 70 6c 6f 64 65 ')..."?\n....%s",.$name,.implode
2ae40 28 22 5c 6e 20 20 20 20 22 2c 20 24 73 69 6d 69 6c 61 72 29 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f ("\n....",.$similar).));.}..thro
2ae60 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
2ae80 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 6d 61 74 63 68 sprintf(.'Could.not.find.a.match
2aea0 69 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 20 25 73 2e 20 43 68 65 63 6b ing.version.of.package.%s..Check
2aec0 20 74 68 65 20 70 61 63 6b 61 67 65 20 73 70 65 6c 6c 69 6e 67 2c 20 79 6f 75 72 20 76 65 72 73 .the.package.spelling,.your.vers
2aee0 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 61 6e 64 20 74 68 61 74 20 74 68 65 20 70 61 63 6b ion.constraint.and.that.the.pack
2af00 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 73 74 61 62 69 6c 69 74 79 20 age.is.available.in.a.stability.
2af20 77 68 69 63 68 20 6d 61 74 63 68 65 73 20 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 which.matches.your.minimum-stabi
2af40 6c 69 74 79 20 28 25 73 29 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4d 69 lity.(%s).',.$name,.$this->getMi
2af60 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a 29 29 3b 0a 7d 0a 0a 72 65 nimumStability($input).));.}..re
2af80 74 75 72 6e 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e turn.array(.$package->getPrettyN
2afa0 61 6d 65 28 29 2c 0a 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 52 65 63 ame(),.$versionSelector->findRec
2afc0 6f 6d 6d 65 6e 64 65 64 52 65 71 75 69 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 ommendedRequireVersion($package)
2afe0 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 69 6d ,.);.}..private.function.findSim
2b000 69 6c 61 72 28 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 73 20 ilar($package).{.try.{.$results.
2b020 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 24 70 61 63 6b 61 67 65 29 =.$this->repos->search($package)
2b040 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 ;.}.catch.(\Exception.$e).{...re
2b060 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 turn.array();.}.$similarPackages
2b080 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 .=.array();..foreach.($results.a
2b0a0 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 5b 24 72 s.$result).{.$similarPackages[$r
2b0c0 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 70 61 esult['name']].=.levenshtein($pa
2b0e0 63 6b 61 67 65 2c 20 24 72 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 61 73 6f 72 74 ckage,.$result['name']);.}.asort
2b100 28 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 ($similarPackages);..return.arra
2b120 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 y_keys(array_slice($similarPacka
2b140 67 65 73 2c 20 30 2c 20 35 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ges,.0,.5));.}.}.<?php..........
2b160 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
2b180 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f se.Composer\Installer;.use.Compo
2b1a0 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d ser\Plugin\CommandEvent;.use.Com
2b1c0 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 poser\Plugin\PluginEvents;.use.S
2b1e0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
2b200 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
2b220 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
2b240 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
2b260 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 put\InputArgument;.use.Symfony\C
2b280 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
2b2a0 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 43 6f 6d terface;........class.InstallCom
2b2c0 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 mand.extends.BaseCommand.{.prote
2b2e0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
2b300 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 73 74 61 6c 6c 27 29 0a 2d 3e 73 65 74 41 6c 69 61 s.->setName('install').->setAlia
2b320 73 65 73 28 61 72 72 61 79 28 27 69 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e ses(array('i')).->setDescription
2b340 28 27 49 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 65 70 65 6e 64 65 6e 63 ('Installs.the.project.dependenc
2b360 69 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 20 ies.from.the.composer.lock.file.
2b380 69 66 20 70 72 65 73 65 6e 74 2c 20 6f 72 20 66 61 6c 6c 73 20 62 61 63 6b 20 6f 6e 20 74 68 65 if.present,.or.falls.back.on.the
2b3a0 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f .composer.json.').->setDefinitio
2b3c0 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 n(array(.new.InputOption('prefer
2b3e0 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c -source',.null,.InputOption::VAL
2b400 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 UE_NONE,.'Forces.installation.fr
2b420 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 om.package.sources.when.possible
2b440 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 29 2c 0a ,.including.VCS.information.'),.
2b460 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 2c 20 6e new.InputOption('prefer-dist',.n
2b480 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 ull,.InputOption::VALUE_NONE,.'F
2b4a0 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 orces.installation.from.package.
2b4c0 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 6f 6e 73 2e 27 29 2c 0a 6e dist.even.for.dev.versions.'),.n
2b4e0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 2c 20 6e 75 6c 6c 2c 20 ew.InputOption('dry-run',.null,.
2b500 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 75 74 70 75 74 InputOption::VALUE_NONE,.'Output
2b520 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 65 78 s.the.operations.but.will.not.ex
2b540 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c ecute.anything.(implicitly.enabl
2b560 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f es.--verbose).'),.new.InputOptio
2b580 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 n('dev',.null,.InputOption::VALU
2b5a0 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 E_NONE,.'Enables.installation.of
2b5c0 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 20 62 .require-dev.packages.(enabled.b
2b5e0 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e y.default,.only.present.for.BC).
2b600 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 '),.new.InputOption('no-dev',.nu
2b620 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 ll,.InputOption::VALUE_NONE,.'Di
2b640 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 sables.installation.of.require-d
2b660 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 ev.packages.'),.new.InputOption(
2b680 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 'no-custom-installers',.null,.In
2b6a0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 putOption::VALUE_NONE,.'DEPRECAT
2b6c0 45 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e ED:.Use.no-plugins.instead.'),.n
2b6e0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 ew.InputOption('no-autoloader',.
2b700 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
2b720 53 6b 69 70 73 20 61 75 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 27 29 2c 0a 6e Skips.autoloader.generation'),.n
2b740 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c ew.InputOption('no-scripts',.nul
2b760 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 l,.InputOption::VALUE_NONE,.'Ski
2b780 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 ps.the.execution.of.all.scripts.
2b7a0 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 defined.in.composer.json.file.')
2b7c0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c ,.new.InputOption('no-progress',
2b7e0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
2b800 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 'Do.not.output.download.progress
2b820 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 .'),.new.InputOption('no-suggest
2b840 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
2b860 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 6f ,.'Do.not.show.package.suggestio
2b880 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 ns.'),.new.InputOption('verbose'
2b8a0 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ,.'v|vv|vvv',.InputOption::VALUE
2b8c0 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 69 6e 63 6c 75 _NONE,.'Shows.more.details.inclu
2b8e0 64 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 20 69 6e 20 77 68 65 6e 20 ding.new.commits.pulled.in.when.
2b900 75 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f updating.packages.'),.new.InputO
2b920 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 27 6f 27 ption('optimize-autoloader',.'o'
2b940 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 ,.InputOption::VALUE_NONE,.'Opti
2b960 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 mize.autoloader.during.autoloade
2b980 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 r.dump'),.new.InputOption('class
2b9a0 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 map-authoritative',.'a',.InputOp
2b9c0 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 tion::VALUE_NONE,.'Autoload.clas
2b9e0 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c ses.from.the.classmap.only..Impl
2ba00 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c icitly.enables.`--optimize-autol
2ba20 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 oader`.'),.new.InputOption('apcu
2ba40 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a -autoloader',.null,.InputOption:
2ba60 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 :VALUE_NONE,.'Use.APCu.to.cache.
2ba80 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 found/not-found.classes.'),.new.
2baa0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 InputOption('ignore-platform-req
2bac0 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
2bae0 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 E,.'Ignore.platform.requirements
2bb00 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 .(php.&.ext-.packages).'),.new.I
2bb20 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 nputArgument('packages',.InputAr
2bb40 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 gument::IS_ARRAY.|.InputArgument
2bb60 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 53 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 70 72 6f 76 69 ::OPTIONAL,.'Should.not.be.provi
2bb80 64 65 64 2c 20 75 73 65 20 63 6f 6d 70 6f 73 65 72 20 72 65 71 75 69 72 65 20 69 6e 73 74 65 61 ded,.use.composer.require.instea
2bba0 64 20 74 6f 20 61 64 64 20 61 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 74 6f 20 63 6f 6d 70 d.to.add.a.given.package.to.comp
2bbc0 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 oser.json.'),.)).->setHelp(.<<<E
2bbe0 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d OT.The.<info>install</info>.comm
2bc00 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 and.reads.the.composer.lock.file
2bc20 20 66 72 6f 6d 0a 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f .from.the.current.directory,.pro
2bc40 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 64 6f 77 6e 6c 6f 61 64 73 20 61 6e 64 20 69 6e 73 cesses.it,.and.downloads.and.ins
2bc60 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 65 70 65 talls.all.the.libraries.and.depe
2bc80 6e 64 65 6e 63 69 65 73 20 6f 75 74 6c 69 6e 65 64 20 69 6e 20 74 68 61 74 20 66 69 6c 65 2e 20 ndencies.outlined.in.that.file..
2bca0 49 66 20 74 68 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 0a 65 78 69 73 74 20 69 74 20 77 69 If.the.file.does.not.exist.it.wi
2bcc0 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 64 6f ll.look.for.composer.json.and.do
2bce0 20 74 68 65 20 73 61 6d 65 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 .the.same...<info>php.composer.p
2bd00 68 61 72 20 69 6e 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 har.install</info>..EOT.).;.}..p
2bd20 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 rotected.function.execute(InputI
2bd40 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 nterface.$input,.OutputInterface
2bd60 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 .$output).{.$io.=.$this->getIO()
2bd80 3b 0a 69 66 20 28 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e ;.if.($args.=.$input->getArgumen
2bda0 74 28 27 70 61 63 6b 61 67 65 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 t('packages')).{.$io->writeError
2bdc0 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 27 2e 69 6d 70 6c ('<error>Invalid.argument.'.impl
2bde0 6f 64 65 28 27 20 27 2c 20 24 61 72 67 73 29 2e 27 2e 20 55 73 65 20 22 63 6f 6d 70 6f 73 65 72 ode('.',.$args).'..Use."composer
2be00 20 72 65 71 75 69 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 61 72 67 73 29 2e 27 .require.'.implode('.',.$args).'
2be20 22 20 69 6e 73 74 65 61 64 20 74 6f 20 61 64 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 79 6f 75 ".instead.to.add.packages.to.you
2be40 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 r.composer.json.</error>');..ret
2be60 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 urn.1;.}..if.($input->getOption(
2be80 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 'no-custom-installers')).{.$io->
2bea0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 writeError('<warning>You.are.usi
2bec0 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d 63 75 73 ng.the.deprecated.option."no-cus
2bee0 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 69 6e 73 tom-installers"..Use."no-plugins
2bf00 22 20 69 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e ".instead.</warning>');.$input->
2bf20 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 3b 0a 7d setOption('no-plugins',.true);.}
2bf40 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 29 20 ..if.($input->getOption('dev')).
2bf60 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 {.$io->writeError('<warning>You.
2bf80 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 are.using.the.deprecated.option.
2bfa0 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 "dev"..Dev.packages.are.installe
2bfc0 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d d.by.default.now.</warning>');.}
2bfe0 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 ..$composer.=.$this->getComposer
2c000 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 (true,.$input->getOption('no-plu
2c020 67 69 6e 73 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d gins'));.$composer->getDownloadM
2c040 61 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e anager()->setOutputProgress(!$in
2c060 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a put->getOption('no-progress'));.
2c080 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e .$commandEvent.=.new.CommandEven
2c0a0 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 69 6e 73 74 61 6c t(PluginEvents::COMMAND,.'instal
2c0c0 6c 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d l',.$input,.$output);.$composer-
2c0e0 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 >getEventDispatcher()->dispatch(
2c100 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 $commandEvent->getName(),.$comma
2c120 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a ndEvent);..$install.=.Installer:
2c140 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 63 6f 6e 66 69 :create($io,.$composer);..$confi
2c160 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 g.=.$composer->getConfig();.list
2c180 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 ($preferSource,.$preferDist).=.$
2c1a0 74 68 69 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 this->getPreferredInstallOptions
2c1c0 28 24 63 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 ($config,.$input);..$optimize.=.
2c1e0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f $input->getOption('optimize-auto
2c200 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 loader').||.$config->get('optimi
2c220 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 ze-autoloader');.$authoritative.
2c240 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 =.$input->getOption('classmap-au
2c260 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 thoritative').||.$config->get('c
2c280 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d lassmap-authoritative');.$apcu.=
2c2a0 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 .$input->getOption('apcu-autoloa
2c2c0 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f der').||.$config->get('apcu-auto
2c2e0 6c 6f 61 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 6e 28 loader');..$install.->setDryRun(
2c300 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 29 29 0a 2d 3e $input->getOption('dry-run')).->
2c320 73 65 74 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 setVerbose($input->getOption('ve
2c340 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 rbose')).->setPreferSource($pref
2c360 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 erSource).->setPreferDist($prefe
2c380 72 44 69 73 74 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 rDist).->setDevMode(!$input->get
2c3a0 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 44 75 6d 70 41 75 74 6f 6c Option('no-dev')).->setDumpAutol
2c3c0 6f 61 64 65 72 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 oader(!$input->getOption('no-aut
2c3e0 6f 6c 6f 61 64 65 72 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 oloader')).->setRunScripts(!$inp
2c400 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 ut->getOption('no-scripts')).->s
2c420 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 etSkipSuggest($input->getOption(
2c440 27 6e 6f 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 'no-suggest')).->setOptimizeAuto
2c460 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 loader($optimize).->setClassMapA
2c480 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 uthoritative($authoritative).->s
2c4a0 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 49 67 6e etApcuAutoloader($apcu).->setIgn
2c4c0 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e orePlatformRequirements($input->
2c4e0 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 getOption('ignore-platform-reqs'
2c500 29 29 0a 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d )).;..if.($input->getOption('no-
2c520 70 6c 75 67 69 6e 73 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 50 6c plugins')).{.$install->disablePl
2c540 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e ugins();.}..return.$install->run
2c560 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ();.}.}.<?php............namespa
2c580 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ce.Composer\Command;..use.Compos
2c5a0 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 er\Json\JsonFile;.use.Composer\P
2c5c0 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\CommandEvent;.use.Composer
2c5e0 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \Plugin\PluginEvents;.use.Compos
2c600 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 er\Package\PackageInterface;.use
2c620 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 .Composer\Repository\RepositoryI
2c640 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
2c660 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Console\Helper\Table;.use.Symfon
2c680 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 y\Component\Console\Input\InputI
2c6a0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
2c6c0 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 Console\Input\InputOption;.use.S
2c6e0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
2c700 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 63 65 6e OutputInterface;.....class.Licen
2c720 73 65 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b sesCommand.extends.BaseCommand.{
2c740 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a .protected.function.configure().
2c760 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6c 69 63 65 6e 73 65 73 27 29 0a 2d 3e {.$this.->setName('licenses').->
2c780 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e 66 6f 72 6d 61 74 69 6f setDescription('Shows.informatio
2c7a0 6e 20 61 62 6f 75 74 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 n.about.licenses.of.dependencies
2c7c0 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 .').->setDefinition(array(.new.I
2c7e0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f nputOption('format',.'f',.InputO
2c800 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f ption::VALUE_REQUIRED,.'Format.o
2c820 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 74 65 f.the.output:.text.or.json',.'te
2c840 78 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 xt'),.new.InputOption('no-dev',.
2c860 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
2c880 44 69 73 61 62 6c 65 73 20 73 65 61 72 63 68 20 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 Disables.search.in.require-dev.p
2c8a0 61 63 6b 61 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 ackages.'),.)).->setHelp(.<<<EOT
2c8c0 0a 54 68 65 20 6c 69 63 65 6e 73 65 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 64 65 .The.license.command.displays.de
2c8e0 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 69 63 tailed.information.about.the.lic
2c900 65 6e 73 65 73 20 6f 66 0a 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 64 65 70 65 6e 64 65 6e 63 enses.of.the.installed.dependenc
2c920 69 65 73 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ies...EOT.).;.}..protected.funct
2c940 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 ion.execute(InputInterface.$inpu
2c960 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 t,.OutputInterface.$output).{.$c
2c980 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a omposer.=.$this->getComposer();.
2c9a0 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e .$commandEvent.=.new.CommandEven
2c9c0 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 6c 69 63 65 6e 73 t(PluginEvents::COMMAND,.'licens
2c9e0 65 73 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 es',.$input,.$output);.$composer
2ca00 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 ->getEventDispatcher()->dispatch
2ca20 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d ($commandEvent->getName(),.$comm
2ca40 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 72 6f 6f 74 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 andEvent);..$root.=.$composer->g
2ca60 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 72 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e etPackage();.$repo.=.$composer->
2ca80 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c getRepositoryManager()->getLocal
2caa0 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 Repository();..if.($input->getOp
2cac0 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 tion('no-dev')).{.$packages.=.$t
2cae0 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 his->filterRequiredPackages($rep
2cb00 6f 2c 20 24 72 6f 6f 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 o,.$root);.}.else.{.$packages.=.
2cb20 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2d 3e 67 65 74 $this->appendPackages($repo->get
2cb40 50 61 63 6b 61 67 65 73 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 Packages(),.array());.}..ksort($
2cb60 70 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b packages);.$io.=.$this->getIO();
2cb80 0a 0a 73 77 69 74 63 68 20 28 24 66 6f 72 6d 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f ..switch.($format.=.$input->getO
2cba0 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 29 20 7b 0a 63 61 73 65 20 27 74 65 78 74 27 3a 0a ption('format')).{.case.'text':.
2cbc0 24 69 6f 2d 3e 77 72 69 74 65 28 27 4e 61 6d 65 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 72 6f $io->write('Name:.<comment>'.$ro
2cbe0 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 ot->getPrettyName().'</comment>'
2cc00 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 56 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 );.$io->write('Version:.<comment
2cc20 3e 27 2e 24 72 6f 6f 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 >'.$root->getFullPrettyVersion()
2cc40 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4c 69 63 65 .'</comment>');.$io->write('Lice
2cc60 6e 73 65 73 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 nses:.<comment>'.(implode(',.',.
2cc80 24 72 6f 6f 74 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 20 3f 3a 20 27 6e 6f 6e 65 27 29 2e $root->getLicense()).?:.'none').
2cca0 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 44 65 70 65 6e '</comment>');.$io->write('Depen
2ccc0 64 65 6e 63 69 65 73 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 0a 24 74 61 dencies:');.$io->write('');..$ta
2cce0 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 62 6c 65 ble.=.new.Table($output);.$table
2cd00 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 74 61 62 6c 65 53 74 79 ->setStyle('compact');.$tableSty
2cd20 6c 65 20 3d 20 24 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 74 61 62 6c 65 53 le.=.$table->getStyle();.$tableS
2cd40 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b tyle->setVerticalBorderChar('');
2cd60 0a 24 74 61 62 6c 65 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 .$tableStyle->setCellRowContentF
2cd80 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 ormat('%s..');.$table->setHeader
2cda0 73 28 61 72 72 61 79 28 27 4e 61 6d 65 27 2c 20 27 56 65 72 73 69 6f 6e 27 2c 20 27 4c 69 63 65 s(array('Name',.'Version',.'Lice
2cdc0 6e 73 65 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 nse'));.foreach.($packages.as.$p
2cde0 61 63 6b 61 67 65 29 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 72 61 79 28 0a ackage).{.$table->addRow(array(.
2ce00 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b $package->getPrettyName(),.$pack
2ce20 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 69 6d 70 age->getFullPrettyVersion(),.imp
2ce40 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 lode(',.',.$package->getLicense(
2ce60 29 29 20 3f 3a 20 27 6e 6f 6e 65 27 2c 0a 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 )).?:.'none',.));.}.$table->rend
2ce80 65 72 28 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 64 65 70 65 er();.break;..case.'json':.$depe
2cea0 6e 64 65 6e 63 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 ndencies.=.array();.foreach.($pa
2cec0 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 ckages.as.$package).{.$dependenc
2cee0 69 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 20 3d ies[$package->getPrettyName()].=
2cf00 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 .array(.'version'.=>.$package->g
2cf20 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 65 27 etFullPrettyVersion(),.'license'
2cf40 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 29 3b 0a 7d .=>.$package->getLicense(),.);.}
2cf60 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 ..$io->write(JsonFile::encode(ar
2cf80 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e ray(.'name'.=>.$root->getPrettyN
2cfa0 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 46 75 ame(),.'version'.=>.$root->getFu
2cfc0 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d 3e 20 llPrettyVersion(),.'license'.=>.
2cfe0 24 72 6f 6f 74 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 27 64 65 70 65 6e 64 65 6e 63 69 $root->getLicense(),.'dependenci
2d000 65 73 27 20 3d 3e 20 24 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 0a 29 29 29 3b 0a 62 72 65 61 6b es'.=>.$dependencies,.)));.break
2d020 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ;..default:.throw.new.\RuntimeEx
2d040 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 ception(sprintf('Unsupported.for
2d060 6d 61 74 20 22 25 73 22 2e 20 20 53 65 65 20 68 65 6c 70 20 66 6f 72 20 73 75 70 70 6f 72 74 65 mat."%s"...See.help.for.supporte
2d080 64 20 66 6f 72 6d 61 74 73 2e 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a d.formats.',.$format));.}.}.....
2d0a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 52 65 71 75 .....private.function.filterRequ
2d0c0 69 72 65 64 50 61 63 6b 61 67 65 73 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 iredPackages(RepositoryInterface
2d0e0 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 .$repo,.PackageInterface.$packag
2d100 65 2c 20 24 62 75 63 6b 65 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 65 71 75 69 72 65 e,.$bucket.=.array()).{.$require
2d120 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 s.=.array_keys($package->getRequ
2d140 69 72 65 73 28 29 29 3b 0a 0a 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 20 3d 20 61 72 ires());..$packageListNames.=.ar
2d160 72 61 79 5f 6b 65 79 73 28 24 62 75 63 6b 65 74 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 ray_keys($bucket);.$packages.=.a
2d180 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 rray_filter(.$repo->getPackages(
2d1a0 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 63 6b 61 67 65 29 20 75 73 65 20 28 24 72 65 71 ),.function.($package).use.($req
2d1c0 75 69 72 65 73 2c 20 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 29 20 7b 0a 72 65 74 75 uires,.$packageListNames).{.retu
2d1e0 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c rn.in_array($package->getName(),
2d200 20 24 72 65 71 75 69 72 65 73 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 .$requires).&&.!in_array($packag
2d220 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 4c 69 73 74 4e 61 6d 65 73 29 e->getName(),.$packageListNames)
2d240 3b 0a 7d 0a 29 3b 0a 0a 24 62 75 63 6b 65 74 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 50 ;.}.);..$bucket.=.$this->appendP
2d260 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 73 2c 20 24 62 75 63 6b 65 74 29 3b 0a 0a 66 6f ackages($packages,.$bucket);..fo
2d280 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a reach.($packages.as.$package).{.
2d2a0 24 62 75 63 6b 65 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 $bucket.=.$this->filterRequiredP
2d2c0 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 62 75 63 6b 65 74 ackages($repo,.$package,.$bucket
2d2e0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 63 6b 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a );.}..return.$bucket;.}.........
2d300 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 61 public.function.appendPackages(a
2d320 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 62 75 63 6b 65 74 29 0a 7b rray.$packages,.array.$bucket).{
2d340 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 .foreach.($packages.as.$package)
2d360 20 7b 0a 24 62 75 63 6b 65 74 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 .{.$bucket[$package->getName()].
2d380 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 63 6b 65 74 3b 0a 7d =.$package;.}..return.$bucket;.}
2d3a0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
2d3c0 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d mposer\Command;..use.Symfony\Com
2d3e0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 ponent\Console\Input\InputInterf
2d400 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
2d420 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 le\Input\InputArgument;.use.Symf
2d440 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 ony\Component\Console\Input\Arra
2d460 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f yInput;.use.Symfony\Component\Co
2d480 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d nsole\Input\InputOption;.use.Sym
2d4a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
2d4c0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 64 61 74 65 tputInterface;.....class.Outdate
2d4e0 64 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 53 68 6f 77 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 dCommand.extends.ShowCommand.{.p
2d500 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
2d520 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6f 75 74 64 61 74 65 64 27 29 0a 2d 3e 73 65 $this.->setName('outdated').->se
2d540 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 61 20 6c 69 73 74 20 6f 66 20 69 6e tDescription('Shows.a.list.of.in
2d560 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 20 75 70 64 61 74 stalled.packages.that.have.updat
2d580 65 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 69 72 20 6c 61 es.available,.including.their.la
2d5a0 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 test.version.').->setDefinition(
2d5c0 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 array(.new.InputArgument('packag
2d5e0 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 e',.InputArgument::OPTIONAL,.'Pa
2d600 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 2e 20 4f 72 20 61 20 6e 61 6d 65 20 69 6e 63 6c ckage.to.inspect..Or.a.name.incl
2d620 75 64 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64 20 28 2a 29 20 74 6f 20 66 69 6c 74 65 72 20 6c uding.a.wildcard.(*).to.filter.l
2d640 69 73 74 73 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 ists.of.packages.instead.'),.new
2d660 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 2c 20 27 6f 27 2c 20 49 6e .InputOption('outdated',.'o',.In
2d680 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6f 6e 6c putOption::VALUE_NONE,.'Show.onl
2d6a0 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 28 74 68 y.packages.that.are.outdated.(th
2d6c0 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 70 72 65 73 65 6e 74 20 68 is.is.the.default,.but.present.h
2d6e0 65 72 65 20 66 6f 72 20 63 6f 6d 70 61 74 20 77 69 74 68 20 60 73 68 6f 77 60 27 29 2c 0a 6e 65 ere.for.compat.with.`show`'),.ne
2d700 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f w.InputOption('all',.'a',.InputO
2d720 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 61 6c 6c 20 69 6e 73 ption::VALUE_NONE,.'Show.all.ins
2d740 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 77 69 74 68 20 74 68 65 69 72 20 6c 61 74 65 73 talled.packages.with.their.lates
2d760 74 20 76 65 72 73 69 6f 6e 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 t.versions'),.new.InputOption('d
2d780 69 72 65 63 74 27 2c 20 27 44 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f irect',.'D',.InputOption::VALUE_
2d7a0 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 NONE,.'Shows.only.packages.that.
2d7c0 61 72 65 20 64 69 72 65 63 74 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f are.directly.required.by.the.roo
2d7e0 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 t.package'),.new.InputOption('st
2d800 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f rict',.null,.InputOption::VALUE_
2d820 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f NONE,.'Return.a.non-zero.exit.co
2d840 64 65 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 70 61 63 6b 61 de.when.there.are.outdated.packa
2d860 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e ges'),.new.InputOption('minor-on
2d880 6c 79 27 2c 20 27 6d 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e ly',.'m',.InputOption::VALUE_NON
2d8a0 45 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 E,.'Show.only.packages.that.have
2d8c0 20 6d 69 6e 6f 72 20 53 65 6d 56 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 75 70 64 61 74 65 73 .minor.SemVer-compatible.updates
2d8e0 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e ..Use.with.the.--outdated.option
2d900 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 .'),.new.InputOption('format',.'
2d920 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c f',.InputOption::VALUE_REQUIRED,
2d940 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 .'Format.of.the.output:.text.or.
2d960 6a 73 6f 6e 27 2c 20 27 74 65 78 74 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c json',.'text'),.)).->setHelp(.<<
2d980 3c 45 4f 54 0a 54 68 65 20 6f 75 74 64 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6a 75 73 <EOT.The.outdated.command.is.jus
2d9a0 74 20 61 20 70 72 6f 78 79 20 66 6f 72 20 60 63 6f 6d 70 6f 73 65 72 20 73 68 6f 77 20 2d 6c 60 t.a.proxy.for.`composer.show.-l`
2d9c0 0a 0a 54 68 65 20 63 6f 6c 6f 72 20 63 6f 64 69 6e 67 20 28 6f 72 20 73 69 67 6e 61 67 65 20 69 ..The.color.coding.(or.signage.i
2d9e0 66 20 79 6f 75 20 68 61 76 65 20 41 4e 53 49 20 63 6f 6c 6f 72 73 20 64 69 73 61 62 6c 65 64 29 f.you.have.ANSI.colors.disabled)
2da00 20 66 6f 72 20 64 65 70 65 6e 64 65 6e 63 79 20 76 65 72 73 69 6f 6e 73 20 69 73 20 61 73 20 73 .for.dependency.versions.is.as.s
2da20 75 63 68 3a 0a 0a 2d 20 3c 69 6e 66 6f 3e 67 72 65 65 6e 3c 2f 69 6e 66 6f 3e 20 28 3d 29 3a 20 uch:..-.<info>green</info>.(=):.
2da40 44 65 70 65 6e 64 65 6e 63 79 20 69 73 20 69 6e 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 Dependency.is.in.the.latest.vers
2da60 69 6f 6e 20 61 6e 64 20 69 73 20 75 70 20 74 6f 20 64 61 74 65 2e 0a 2d 20 3c 63 6f 6d 6d 65 6e ion.and.is.up.to.date..-.<commen
2da80 74 3e 79 65 6c 6c 6f 77 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 28 7e 29 3a 20 44 65 70 65 6e 64 65 6e t>yellow</comment>.(~):.Dependen
2daa0 63 79 20 68 61 73 20 61 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 cy.has.a.new.version.available.t
2dac0 68 61 74 20 69 6e 63 6c 75 64 65 73 20 62 61 63 6b 77 61 72 64 73 0a 20 20 63 6f 6d 70 61 74 69 hat.includes.backwards...compati
2dae0 62 69 6c 69 74 79 20 62 72 65 61 6b 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 73 65 6d 76 65 bility.breaks.according.to.semve
2db00 72 2c 20 73 6f 20 75 70 67 72 61 64 65 20 77 68 65 6e 20 79 6f 75 20 63 61 6e 20 62 75 74 20 69 r,.so.upgrade.when.you.can.but.i
2db20 74 0a 20 20 6d 61 79 20 69 6e 76 6f 6c 76 65 20 77 6f 72 6b 2e 0a 2d 20 3c 68 69 67 68 6c 69 67 t...may.involve.work..-.<highlig
2db40 68 74 3e 72 65 64 3c 2f 68 69 67 68 6c 69 67 68 74 3e 20 28 21 29 3a 20 44 65 70 65 6e 64 65 6e ht>red</highlight>.(!):.Dependen
2db60 63 79 20 68 61 73 20 61 20 6e 65 77 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 69 73 20 73 65 6d cy.has.a.new.version.that.is.sem
2db80 76 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 61 6e 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 70 ver-compatible.and.you.should.up
2dba0 67 72 61 64 65 20 69 74 2e 0a 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 grade.it....EOT.).;.}..protected
2dbc0 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 .function.execute(InputInterface
2dbe0 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 .$input,.OutputInterface.$output
2dc00 29 0a 7b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 0a 27 73 68 6f 77 27 2c 0a 27 2d 2d 6c 61 ).{.$args.=.array(.'show',.'--la
2dc20 74 65 73 74 27 20 3d 3e 20 74 72 75 65 2c 0a 29 3b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 test'.=>.true,.);.if.(!$input->g
2dc40 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6f 75 74 64 etOption('all')).{.$args['--outd
2dc60 61 74 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 ated'].=.true;.}.if.($input->get
2dc80 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 64 69 72 Option('direct')).{.$args['--dir
2dca0 65 63 74 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 41 ect'].=.true;.}.if.($input->getA
2dcc0 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 70 61 63 rgument('package')).{.$args['pac
2dce0 6b 61 67 65 27 5d 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 kage'].=.$input->getArgument('pa
2dd00 63 6b 61 67 65 27 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ckage');.}.if.($input->getOption
2dd20 28 27 73 74 72 69 63 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 73 74 72 69 63 74 27 5d 20 ('strict')).{.$args['--strict'].
2dd40 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 =.true;.}.if.($input->getOption(
2dd60 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6d 69 6e 6f 72 2d 'minor-only')).{.$args['--minor-
2dd80 6f 6e 6c 79 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 24 61 72 67 73 5b 27 2d 2d 66 6f 72 6d 61 74 only'].=.true;.}.$args['--format
2dda0 27 5d 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 '].=.$input->getOption('format')
2ddc0 3b 0a 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 24 61 72 67 73 ;..$input.=.new.ArrayInput($args
2dde0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e );..return.$this->getApplication
2de00 28 29 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a ()->run($input,.$output);.}.....
2de20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 public.function.isProxyCommand()
2de40 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a .{.return.true;.}.}.<?php.......
2de60 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b .....namespace.Composer\Command;
2de80 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
2dea0 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Input\InputInterface;.use.Symfon
2dec0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 y\Component\Console\Output\Outpu
2dee0 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 68 69 62 69 74 73 43 tInterface;.....class.ProhibitsC
2df00 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d ommand.extends.BaseDependencyCom
2df20 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e mand.{....protected.function.con
2df40 66 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a figure().{.parent::configure();.
2df60 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 70 72 6f 68 69 62 69 74 73 27 29 0a 2d 3e .$this.->setName('prohibits').->
2df80 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 2d 6e 6f 74 27 29 29 0a 2d 3e 73 setAliases(array('why-not')).->s
2dfa0 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 68 69 63 68 20 70 61 63 6b 61 etDescription('Shows.which.packa
2dfc0 67 65 73 20 70 72 65 76 65 6e 74 20 74 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 66 72 ges.prevent.the.given.package.fr
2dfe0 6f 6d 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 om.being.installed.').->setHelp(
2e000 0a 3c 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d .<<<EOT.Displays.detailed.inform
2e020 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 79 20 61 20 70 61 63 6b 61 67 65 20 63 61 6e 6e 6f 74 ation.about.why.a.package.cannot
2e040 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 .be.installed...<info>php.compos
2e060 65 72 2e 70 68 61 72 20 70 72 6f 68 69 62 69 74 73 20 63 6f 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f er.phar.prohibits.composer/compo
2e080 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ser</info>..EOT.).;.}.........pr
2e0a0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e otected.function.execute(InputIn
2e0c0 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 terface.$input,.OutputInterface.
2e0e0 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 45 78 65 63 $output).{.return.parent::doExec
2e100 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a ute($input,.$output,.true);.}.}.
2e120 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
2e140 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 ser\Command;..use.Composer\Confi
2e160 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 g\JsonConfigSource;.use.Composer
2e180 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c \Installer;.use.Composer\Plugin\
2e1a0 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 CommandEvent;.use.Composer\Plugi
2e1c0 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f n\PluginEvents;.use.Composer\Jso
2e1e0 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 n\JsonFile;.use.Composer\Factory
2e200 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
2e220 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Input\InputInterface;.use.Symfon
2e240 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f y\Component\Console\Input\InputO
2e260 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
2e280 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 sole\Input\InputArgument;.use.Sy
2e2a0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f mfony\Component\Console\Output\O
2e2c0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6d 6f 76 utputInterface;......class.Remov
2e2e0 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 eCommand.extends.BaseCommand.{.p
2e300 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
2e320 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 72 65 6d 6f 76 65 27 29 0a 2d 3e 73 65 74 44 $this.->setName('remove').->setD
2e340 65 73 63 72 69 70 74 69 6f 6e 28 27 52 65 6d 6f 76 65 73 20 61 20 70 61 63 6b 61 67 65 20 66 72 escription('Removes.a.package.fr
2e360 6f 6d 20 74 68 65 20 72 65 71 75 69 72 65 20 6f 72 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 om.the.require.or.require-dev.')
2e380 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .->setDefinition(array(.new.Inpu
2e3a0 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d tArgument('packages',.InputArgum
2e3c0 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 ent::IS_ARRAY.|.InputArgument::R
2e3e0 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 EQUIRED,.'Packages.that.should.b
2e400 65 20 72 65 6d 6f 76 65 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 e.removed.'),.new.InputOption('d
2e420 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ev',.null,.InputOption::VALUE_NO
2e440 4e 45 2c 20 27 52 65 6d 6f 76 65 73 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 NE,.'Removes.a.package.from.the.
2e460 72 65 71 75 69 72 65 2d 64 65 76 20 73 65 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 require-dev.section.'),.new.Inpu
2e480 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 tOption('no-progress',.null,.Inp
2e4a0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 utOption::VALUE_NONE,.'Do.not.ou
2e4c0 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 tput.download.progress.'),.new.I
2e4e0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e nputOption('no-update',.null,.In
2e500 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 putOption::VALUE_NONE,.'Disables
2e520 20 74 68 65 20 61 75 74 6f 6d 61 74 69 63 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 .the.automatic.update.of.the.dep
2e540 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e endencies.'),.new.InputOption('n
2e560 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 o-scripts',.null,.InputOption::V
2e580 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 ALUE_NONE,.'Skips.the.execution.
2e5a0 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 of.all.scripts.defined.in.compos
2e5c0 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e er.json.file.'),.new.InputOption
2e5e0 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ('update-no-dev',.null,.InputOpt
2e600 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 ion::VALUE_NONE,.'Run.the.depend
2e620 65 6e 63 79 20 75 70 64 61 74 65 20 77 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 ency.update.with.the.--no-dev.op
2e640 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 tion.'),.new.InputOption('update
2e660 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 -with-dependencies',.null,.Input
2e680 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 Option::VALUE_NONE,.'Allows.inhe
2e6a0 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 rited.dependencies.to.be.updated
2e6c0 20 77 69 74 68 20 65 78 70 6c 69 63 69 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 28 44 65 .with.explicit.dependencies..(De
2e6e0 70 72 65 63 72 61 74 65 64 2c 20 69 73 20 6e 6f 77 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 precrated,.is.now.default.behavi
2e700 6f 72 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 or)'),.new.InputOption('no-updat
2e720 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 e-with-dependencies',.null,.Inpu
2e740 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 65 73 20 6e 6f 74 20 61 tOption::VALUE_NONE,.'Does.not.a
2e760 6c 6c 6f 77 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 llow.inherited.dependencies.to.b
2e780 65 20 75 70 64 61 74 65 64 20 77 69 74 68 20 65 78 70 6c 69 63 69 74 20 64 65 70 65 6e 64 65 6e e.updated.with.explicit.dependen
2e7a0 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 cies.'),.new.InputOption('ignore
2e7c0 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 -platform-reqs',.null,.InputOpti
2e7e0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d on::VALUE_NONE,.'Ignore.platform
2e800 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 .requirements.(php.&.ext-.packag
2e820 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a es).'),.new.InputOption('optimiz
2e840 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a e-autoloader',.'o',.InputOption:
2e860 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 :VALUE_NONE,.'Optimize.autoloade
2e880 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 r.during.autoloader.dump'),.new.
2e8a0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 InputOption('classmap-authoritat
2e8c0 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ive',.'a',.InputOption::VALUE_NO
2e8e0 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 NE,.'Autoload.classes.from.the.c
2e900 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 lassmap.only..Implicitly.enables
2e920 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 .`--optimize-autoloader`.'),.new
2e940 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 .InputOption('apcu-autoloader',.
2e960 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
2e980 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e Use.APCu.to.cache.found/not-foun
2e9a0 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 d.classes.'),.)).->setHelp(.<<<E
2e9c0 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 65 6d 6f 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 OT.The.<info>remove</info>.comma
2e9e0 6e 64 20 72 65 6d 6f 76 65 73 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 63 75 nd.removes.a.package.from.the.cu
2ea00 72 72 65 6e 74 0a 6c 69 73 74 20 6f 66 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 rrent.list.of.installed.packages
2ea20 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 65 6d 6f 76 65 ..<info>php.composer.phar.remove
2ea40 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 </info>..EOT.).;.}..protected.fu
2ea60 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 nction.execute(InputInterface.$i
2ea80 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b nput,.OutputInterface.$output).{
2eaa0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 .$packages.=.$input->getArgument
2eac0 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f ('packages');.$packages.=.array_
2eae0 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 0a 24 map('strtolower',.$packages);..$
2eb00 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 file.=.Factory::getComposerFile(
2eb20 29 3b 0a 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 66 69 );..$jsonFile.=.new.JsonFile($fi
2eb40 6c 65 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 6a 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 le);.$composer.=.$jsonFile->read
2eb60 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 ();.$composerBackup.=.file_get_c
2eb80 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 0a ontents($jsonFile->getPath());..
2eba0 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 6a 73 $json.=.new.JsonConfigSource($js
2ebc0 6f 6e 46 69 6c 65 29 3b 0a 0a 24 74 79 70 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 onFile);..$type.=.$input->getOpt
2ebe0 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 ion('dev').?.'require-dev'.:.'re
2ec00 71 75 69 72 65 27 3b 0a 24 61 6c 74 54 79 70 65 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f quire';.$altType.=.!$input->getO
2ec20 70 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3a 20 27 ption('dev').?.'require-dev'.:.'
2ec40 72 65 71 75 69 72 65 27 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a require';.$io.=.$this->getIO();.
2ec60 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 .if.($input->getOption('update-w
2ec80 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ith-dependencies')).{.$io->write
2eca0 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 Error('<warning>You.are.using.th
2ecc0 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 75 70 64 61 74 65 2d 77 69 74 68 e.deprecated.option."update-with
2ece0 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2e 20 54 68 69 73 20 69 73 20 6e 6f 77 20 64 65 66 61 -dependencies"..This.is.now.defa
2ed00 75 6c 74 20 62 65 68 61 76 69 6f 75 72 2e 20 54 68 65 20 2d 2d 6e 6f 2d 75 70 64 61 74 65 2d 77 ult.behaviour..The.--no-update-w
2ed20 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 70 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 ith-dependencies.option.can.be.u
2ed40 73 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 61 20 70 61 63 6b 61 67 65 20 77 69 74 68 6f 75 74 20 sed.to.remove.a.package.without.
2ed60 69 74 73 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d its.dependencies.</warning>');.}
2ed80 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 72 65 71 75 69 72 65 27 2c 20 27 72 ....foreach.(array('require',.'r
2eda0 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 24 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 equire-dev').as.$linkType).{.if.
2edc0 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a (isset($composer[$linkType])).{.
2ede0 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 70 6f 73 65 72 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 foreach.($composer[$linkType].as
2ee00 20 24 6e 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b .$name.=>.$version).{.$composer[
2ee20 24 6c 69 6e 6b 54 79 70 65 5d 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 $linkType][strtolower($name)].=.
2ee40 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 $name;.}.}.}..foreach.($packages
2ee60 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f .as.$package).{.if.(isset($compo
2ee80 73 65 72 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e ser[$type][$package])).{.$json->
2eea0 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 removeLink($type,.$composer[$typ
2eec0 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 e][$package]);.}.elseif.(isset($
2eee0 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 29 20 7b composer[$altType][$package])).{
2ef00 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 63 6f .$io->writeError('<warning>'.$co
2ef20 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 2e 27 20 63 6f 75 mposer[$altType][$package].'.cou
2ef40 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 27 2e 24 74 79 70 65 2e 27 20 62 75 74 ld.not.be.found.in.'.$type.'.but
2ef60 20 69 74 20 69 73 20 70 72 65 73 65 6e 74 20 69 6e 20 27 2e 24 61 6c 74 54 79 70 65 2e 27 3c 2f .it.is.present.in.'.$altType.'</
2ef80 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 warning>');.if.($io->isInteracti
2efa0 76 65 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e ve()).{.if.($io->askConfirmation
2efc0 28 27 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 20 66 72 6f 6d 20 ('Do.you.want.to.remove.it.from.
2efe0 27 2e 24 61 6c 74 54 79 70 65 2e 27 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d '.$altType.'.[<comment>yes</comm
2f000 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 ent>]?.',.true)).{.$json->remove
2f020 4c 69 6e 6b 28 24 61 6c 74 54 79 70 65 2c 20 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 Link($altType,.$composer[$altTyp
2f040 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d e][$package]);.}.}.}.else.{.$io-
2f060 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 70 61 63 6b 61 67 65 >writeError('<warning>'.$package
2f080 2e 27 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 69 6e 20 79 6f 75 72 20 63 6f 6d 70 6f .'.is.not.required.in.your.compo
2f0a0 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 72 65 6d 6f 76 65 ser.json.and.has.not.been.remove
2f0c0 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e d</warning>');.}.}..if.($input->
2f0e0 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 27 29 29 20 7b 0a 72 65 74 75 72 6e getOption('no-update')).{.return
2f100 20 30 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b .0;.}....$this->resetComposer();
2f120 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 .$composer.=.$this->getComposer(
2f140 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 true,.$input->getOption('no-plug
2f160 69 6e 73 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 ins'));.$composer->getDownloadMa
2f180 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 nager()->setOutputProgress(!$inp
2f1a0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a ut->getOption('no-progress'));..
2f1c0 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 $commandEvent.=.new.CommandEvent
2f1e0 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 72 65 6d 6f 76 65 27 (PluginEvents::COMMAND,.'remove'
2f200 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ,.$input,.$output);.$composer->g
2f220 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 etEventDispatcher()->dispatch($c
2f240 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 ommandEvent->getName(),.$command
2f260 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 Event);..$install.=.Installer::c
2f280 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 75 70 64 61 74 65 44 reate($io,.$composer);..$updateD
2f2a0 65 76 4d 6f 64 65 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 evMode.=.!$input->getOption('upd
2f2c0 61 74 65 2d 6e 6f 2d 64 65 76 27 29 3b 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 ate-no-dev');.$optimize.=.$input
2f2e0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 ->getOption('optimize-autoloader
2f300 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 ').||.$composer->getConfig()->ge
2f320 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f t('optimize-autoloader');.$autho
2f340 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c ritative.=.$input->getOption('cl
2f360 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f assmap-authoritative').||.$compo
2f380 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d ser->getConfig()->get('classmap-
2f3a0 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d authoritative');.$apcu.=.$input-
2f3c0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c >getOption('apcu-autoloader').||
2f3e0 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 .$composer->getConfig()->get('ap
2f400 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 cu-autoloader');..$install.->set
2f420 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f Verbose($input->getOption('verbo
2f440 73 65 27 29 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 75 70 64 61 74 65 44 65 76 4d 6f 64 se')).->setDevMode($updateDevMod
2f460 65 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 e).->setOptimizeAutoloader($opti
2f480 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 mize).->setClassMapAuthoritative
2f4a0 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f ($authoritative).->setApcuAutolo
2f4c0 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a 2d 3e ader($apcu).->setUpdate(true).->
2f4e0 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 2d 3e setUpdateWhitelist($packages).->
2f500 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 setWhitelistTransitiveDependenci
2f520 65 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 es(!$input->getOption('no-update
2f540 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 -with-dependencies')).->setIgnor
2f560 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 ePlatformRequirements($input->ge
2f580 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 tOption('ignore-platform-reqs'))
2f5a0 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 .->setRunScripts(!$input->getOpt
2f5c0 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 20 3d 20 ion('no-scripts')).;..$status.=.
2f5e0 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 20 21 3d 3d $install->run();.if.($status.!==
2f600 20 30 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 .0).{.$io->writeError("\n".'<err
2f620 6f 72 3e 52 65 6d 6f 76 61 6c 20 66 61 69 6c 65 64 2c 20 72 65 76 65 72 74 69 6e 67 20 27 2e 24 or>Removal.failed,.reverting.'.$
2f640 66 69 6c 65 2e 27 20 74 6f 20 69 74 73 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 6e 74 2e 3c file.'.to.its.original.content.<
2f660 2f 65 72 72 6f 72 3e 27 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 /error>');.file_put_contents($js
2f680 6f 6e 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b onFile->getPath(),.$composerBack
2f6a0 75 70 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 up);.}..return.$status;.}.}.<?ph
2f6c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
2f6e0 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Command;..use.Symfony\Component\
2f700 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
2f720 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
2f740 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d t\InputArgument;.use.Symfony\Com
2f760 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e ponent\Console\Input\InputOption
2f780 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
2f7a0 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 Output\OutputInterface;.use.Comp
2f7c0 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 oser\Factory;.use.Composer\Insta
2f7e0 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 ller;.use.Composer\Json\JsonFile
2f800 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 ;.use.Composer\Json\JsonManipula
2f820 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f tor;.use.Composer\Package\Versio
2f840 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c n\VersionParser;.use.Composer\Pl
2f860 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ugin\CommandEvent;.use.Composer\
2f880 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 Plugin\PluginEvents;.use.Compose
2f8a0 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 r\Repository\CompositeRepository
2f8c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f ;.use.Composer\Repository\Platfo
2f8e0 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 71 75 69 72 65 rmRepository;......class.Require
2f900 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 49 6e 69 74 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 Command.extends.InitCommand.{.pr
2f920 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 otected.function.configure().{.$
2f940 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 72 65 71 75 69 72 65 27 29 0a 2d 3e 73 65 74 44 this.->setName('require').->setD
2f960 65 73 63 72 69 70 74 69 6f 6e 28 27 41 64 64 73 20 72 65 71 75 69 72 65 64 20 70 61 63 6b 61 67 escription('Adds.required.packag
2f980 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 69 6e 73 es.to.your.composer.json.and.ins
2f9a0 74 61 6c 6c 73 20 74 68 65 6d 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 talls.them.').->setDefinition(ar
2f9c0 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 ray(.new.InputArgument('packages
2f9e0 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 ',.InputArgument::IS_ARRAY.|.Inp
2fa00 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 4f 70 74 69 6f 6e 61 6c 20 utArgument::OPTIONAL,.'Optional.
2fa20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75 64 65 20 61 20 package.name.can.also.include.a.
2fa40 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 version.constraint,.e.g..foo/bar
2fa60 20 6f 72 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e 30 .or.foo/bar:1.0.0.or.foo/bar=1.0
2fa80 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 70 .0.or."foo/bar.1.0.0"'),.new.Inp
2faa0 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f utOption('dev',.null,.InputOptio
2fac0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 72 65 71 75 69 72 65 6d 65 6e 74 20 n::VALUE_NONE,.'Add.requirement.
2fae0 74 6f 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 to.require-dev.'),.new.InputOpti
2fb00 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f on('prefer-source',.null,.InputO
2fb20 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 ption::VALUE_NONE,.'Forces.insta
2fb40 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 llation.from.package.sources.whe
2fb60 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d n.possible,.including.VCS.inform
2fb80 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 ation.'),.new.InputOption('prefe
2fba0 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 r-dist',.null,.InputOption::VALU
2fbc0 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f E_NONE,.'Forces.installation.fro
2fbe0 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 m.package.dist.even.for.dev.vers
2fc00 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f ions.'),.new.InputOption('no-pro
2fc20 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 gress',.null,.InputOption::VALUE
2fc40 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 _NONE,.'Do.not.output.download.p
2fc60 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d rogress.'),.new.InputOption('no-
2fc80 73 75 67 67 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c suggest',.null,.InputOption::VAL
2fca0 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 UE_NONE,.'Do.not.show.package.su
2fcc0 67 67 65 73 74 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e ggestions.'),.new.InputOption('n
2fce0 6f 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 o-update',.null,.InputOption::VA
2fd00 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69 LUE_NONE,.'Disables.the.automati
2fd20 63 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c c.update.of.the.dependencies.'),
2fd40 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e .new.InputOption('no-scripts',.n
2fd60 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 ull,.InputOption::VALUE_NONE,.'S
2fd80 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 kips.the.execution.of.all.script
2fda0 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e s.defined.in.composer.json.file.
2fdc0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 '),.new.InputOption('update-no-d
2fde0 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ev',.null,.InputOption::VALUE_NO
2fe00 4e 45 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 79 20 75 70 64 61 74 65 20 77 NE,.'Run.the.dependency.update.w
2fe20 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 ith.the.--no-dev.option.'),.new.
2fe40 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 InputOption('update-with-depende
2fe60 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ncies',.null,.InputOption::VALUE
2fe80 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 _NONE,.'Allows.inherited.depende
2fea0 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 2c 20 65 78 63 65 70 74 20 74 68 6f 73 ncies.to.be.updated,.except.thos
2fec0 65 20 74 68 61 74 20 61 72 65 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c e.that.are.root.requirements.'),
2fee0 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 61 6c .new.InputOption('update-with-al
2ff00 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 l-dependencies',.null,.InputOpti
2ff20 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 61 6c 6c 20 69 6e 68 65 on::VALUE_NONE,.'Allows.all.inhe
2ff40 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 rited.dependencies.to.be.updated
2ff60 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 20 72 6f 6f 74 20 ,.including.those.that.are.root.
2ff80 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e requirements.'),.new.InputOption
2ffa0 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 ('ignore-platform-reqs',.null,.I
2ffc0 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 nputOption::VALUE_NONE,.'Ignore.
2ffe0 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 platform.requirements.(php.&.ext
30000 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 -.packages).'),.new.InputOption(
30020 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 'prefer-stable',.null,.InputOpti
30040 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 73 74 61 62 6c 65 20 76 on::VALUE_NONE,.'Prefer.stable.v
30060 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 ersions.of.dependencies.'),.new.
30080 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 2c 20 6e 75 6c InputOption('prefer-lowest',.nul
300a0 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 l,.InputOption::VALUE_NONE,.'Pre
300c0 66 65 72 20 6c 6f 77 65 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 fer.lowest.versions.of.dependenc
300e0 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6f 72 74 2d 70 61 ies.'),.new.InputOption('sort-pa
30100 63 6b 61 67 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 ckages',.null,.InputOption::VALU
30120 45 5f 4e 4f 4e 45 2c 20 27 53 6f 72 74 73 20 70 61 63 6b 61 67 65 73 20 77 68 65 6e 20 61 64 64 E_NONE,.'Sorts.packages.when.add
30140 69 6e 67 2f 75 70 64 61 74 69 6e 67 20 61 20 6e 65 77 20 64 65 70 65 6e 64 65 6e 63 79 27 29 2c ing/updating.a.new.dependency'),
30160 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c .new.InputOption('optimize-autol
30180 6f 61 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f oader',.'o',.InputOption::VALUE_
301a0 4e 4f 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e NONE,.'Optimize.autoloader.durin
301c0 67 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 g.autoloader.dump'),.new.InputOp
301e0 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 tion('classmap-authoritative',.'
30200 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 a',.InputOption::VALUE_NONE,.'Au
30220 74 6f 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 toload.classes.from.the.classmap
30240 20 6f 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 .only..Implicitly.enables.`--opt
30260 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f imize-autoloader`.'),.new.InputO
30280 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 ption('apcu-autoloader',.null,.I
302a0 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 nputOption::VALUE_NONE,.'Use.APC
302c0 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 u.to.cache.found/not-found.class
302e0 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 es.'),.)).->setHelp(.<<<EOT.The.
30300 72 65 71 75 69 72 65 20 63 6f 6d 6d 61 6e 64 20 61 64 64 73 20 72 65 71 75 69 72 65 64 20 70 61 require.command.adds.required.pa
30320 63 6b 61 67 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 ckages.to.your.composer.json.and
30340 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 6d 2e 0a 0a 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 73 .installs.them...If.you.do.not.s
30360 70 65 63 69 66 79 20 61 20 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 pecify.a.package,.composer.will.
30380 70 72 6f 6d 70 74 20 79 6f 75 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 61 20 70 61 63 6b 61 prompt.you.to.search.for.a.packa
303a0 67 65 2c 20 61 6e 64 20 67 69 76 65 6e 20 72 65 73 75 6c 74 73 2c 20 70 72 6f 76 69 64 65 20 61 ge,.and.given.results,.provide.a
303c0 20 6c 69 73 74 20 6f 66 20 0a 6d 61 74 63 68 65 73 20 74 6f 20 72 65 71 75 69 72 65 2e 0a 0a 49 .list.of..matches.to.require...I
303e0 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 63 f.you.do.not.specify.a.version.c
30400 6f 6e 73 74 72 61 69 6e 74 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 63 68 6f 6f 73 65 20 onstraint,.composer.will.choose.
30420 61 20 73 75 69 74 61 62 6c 65 20 6f 6e 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 76 61 69 a.suitable.one.based.on.the.avai
30440 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 49 66 20 79 6f 75 20 lable.package.versions...If.you.
30460 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6e 65 77 20 64 do.not.want.to.install.the.new.d
30480 65 70 65 6e 64 65 6e 63 69 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 79 6f 75 20 63 61 6e 20 ependencies.immediately.you.can.
304a0 63 61 6c 6c 20 69 74 20 77 69 74 68 20 2d 2d 6e 6f 2d 75 70 64 61 74 65 0a 0a 45 4f 54 0a 29 0a call.it.with.--no-update..EOT.).
304c0 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 ;.}..protected.function.execute(
304e0 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 InputInterface.$input,.OutputInt
30500 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 erface.$output).{.$file.=.Factor
30520 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 y::getComposerFile();.$io.=.$thi
30540 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 24 6e 65 77 6c 79 43 72 65 61 74 65 64 20 3d 20 21 66 69 s->getIO();..$newlyCreated.=.!fi
30560 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 6e 65 77 6c 79 43 72 65 61 le_exists($file);.if.($newlyCrea
30580 74 65 64 20 26 26 20 21 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 2c ted.&&.!file_put_contents($file,
305a0 20 22 7b 5c 6e 7d 5c 6e 22 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ."{\n}\n")).{.$io->writeError('<
305c0 65 72 72 6f 72 3e 27 2e 24 66 69 6c 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 error>'.$file.'.could.not.be.cre
305e0 61 74 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 69 66 ated.</error>');..return.1;.}.if
30600 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 .(!is_readable($file)).{.$io->wr
30620 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 66 69 6c 65 2e 27 20 69 73 20 6e 6f iteError('<error>'.$file.'.is.no
30640 74 20 72 65 61 64 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 t.readable.</error>');..return.1
30660 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 ;.}.if.(!is_writable($file)).{.$
30680 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 66 69 6c 65 2e 27 io->writeError('<error>'.$file.'
306a0 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 .is.not.writable.</error>');..re
306c0 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 73 69 7a 65 28 24 66 69 6c 65 29 20 3d turn.1;.}..if.(filesize($file).=
306e0 3d 3d 20 30 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 2c ==.0).{.file_put_contents($file,
30700 20 22 7b 5c 6e 7d 5c 6e 22 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 ."{\n}\n");.}..$json.=.new.JsonF
30720 69 6c 65 28 24 66 69 6c 65 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 20 3d 20 66 69 ile($file);.$composerBackup.=.fi
30740 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 le_get_contents($json->getPath()
30760 29 3b 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 );..$composer.=.$this->getCompos
30780 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 er(true,.$input->getOption('no-p
307a0 6c 75 67 69 6e 73 27 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 lugins'));.$repos.=.$composer->g
307c0 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 etRepositoryManager()->getReposi
307e0 74 6f 72 69 65 73 28 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 tories();..$platformOverrides.=.
30800 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 $composer->getConfig()->get('pla
30820 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 72 65 70 tform').?:.array();...$this->rep
30840 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 os.=.new.CompositeRepository(arr
30860 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f ay_merge(.array(new.PlatformRepo
30880 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 sitory(array(),.$platformOverrid
308a0 65 73 29 29 2c 0a 24 72 65 70 6f 73 0a 29 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 2d es)),.$repos.));..if.($composer-
308c0 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 >getPackage()->getPreferStable()
308e0 29 20 7b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c ).{.$preferredStability.=.'stabl
30900 65 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 e';.}.else.{.$preferredStability
30920 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d .=.$composer->getPackage()->getM
30940 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 24 70 68 70 56 65 72 73 69 6f inimumStability();.}..$phpVersio
30960 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 n.=.$this->repos->findPackage('p
30980 68 70 27 2c 20 27 2a 27 29 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 hp',.'*')->getPrettyVersion();.$
309a0 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 requirements.=.$this->determineR
309c0 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 69 6e equirements($input,.$output,.$in
309e0 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 2c 20 24 70 put->getArgument('packages'),.$p
30a00 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b hpVersion,.$preferredStability);
30a20 0a 0a 24 72 65 71 75 69 72 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ..$requireKey.=.$input->getOptio
30a40 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 n('dev').?.'require-dev'.:.'requ
30a60 69 72 65 27 3b 0a 24 72 65 6d 6f 76 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ire';.$removeKey.=.$input->getOp
30a80 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 27 20 3a 20 27 72 65 71 75 69 tion('dev').?.'require'.:.'requi
30aa0 72 65 2d 64 65 76 27 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e re-dev';.$requirements.=.$this->
30ac0 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 formatRequirements($requirements
30ae0 29 3b 0a 0a 0a 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 );....$versionParser.=.new.Versi
30b00 6f 6e 50 61 72 73 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e onParser();.foreach.($requiremen
30b20 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 ts.as.$constraint).{.$versionPar
30b40 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e ser->parseConstraints($constrain
30b60 74 29 3b 0a 7d 0a 0a 24 73 6f 72 74 50 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 t);.}..$sortPackages.=.$input->g
30b80 65 74 4f 70 74 69 6f 6e 28 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 29 20 7c 7c 20 24 63 6f etOption('sort-packages').||.$co
30ba0 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 73 6f 72 74 2d 70 mposer->getConfig()->get('sort-p
30bc0 61 63 6b 61 67 65 73 27 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 46 69 ackages');..if.(!$this->updateFi
30be0 6c 65 43 6c 65 61 6e 6c 79 28 24 6a 73 6f 6e 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 leCleanly($json,.$requirements,.
30c00 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 73 6f 72 74 50 61 $requireKey,.$removeKey,.$sortPa
30c20 63 6b 61 67 65 73 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 20 3d ckages)).{.$composerDefinition.=
30c40 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 .$json->read();.foreach.($requir
30c60 65 6d 65 6e 74 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 ements.as.$package.=>.$version).
30c80 7b 0a 24 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 71 75 69 72 65 4b 65 {.$composerDefinition[$requireKe
30ca0 79 5d 5b 24 70 61 63 6b 61 67 65 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 75 6e 73 65 74 28 24 y][$package].=.$version;.unset($
30cc0 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 6d 6f 76 65 4b 65 79 5d 5b 24 composerDefinition[$removeKey][$
30ce0 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 24 6a 73 6f 6e 2d 3e 77 72 69 74 65 28 24 63 6f 6d 70 6f package]);.}.$json->write($compo
30d00 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 serDefinition);.}..$io->writeErr
30d20 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 66 69 6c 65 2e 27 20 68 61 73 20 62 65 65 6e 20 27 2e 28 or('<info>'.$file.'.has.been.'.(
30d40 24 6e 65 77 6c 79 43 72 65 61 74 65 64 20 3f 20 27 63 72 65 61 74 65 64 27 20 3a 20 27 75 70 64 $newlyCreated.?.'created'.:.'upd
30d60 61 74 65 64 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e ated').'</info>');..if.($input->
30d80 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 27 29 29 20 7b 0a 72 65 74 75 72 6e getOption('no-update')).{.return
30da0 20 30 3b 0a 7d 0a 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 20 3d 20 21 24 69 6e 70 75 74 2d 3e .0;.}.$updateDevMode.=.!$input->
30dc0 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 27 29 3b 0a 24 6f 70 74 getOption('update-no-dev');.$opt
30de0 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d imize.=.$input->getOption('optim
30e00 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ize-autoloader').||.$composer->g
30e20 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f etConfig()->get('optimize-autolo
30e40 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d ader');.$authoritative.=.$input-
30e60 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 >getOption('classmap-authoritati
30e80 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e ve').||.$composer->getConfig()->
30ea0 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 get('classmap-authoritative');.$
30ec0 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 apcu.=.$input->getOption('apcu-a
30ee0 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e utoloader').||.$composer->getCon
30f00 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a fig()->get('apcu-autoloader');..
30f20 0a 20 24 74 68 69 73 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f ..$this->resetComposer();.$compo
30f40 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 ser.=.$this->getComposer(true,.$
30f60 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b input->getOption('no-plugins'));
30f80 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 .$composer->getDownloadManager()
30fa0 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 ->setOutputProgress(!$input->get
30fc0 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e Option('no-progress'));..$comman
30fe0 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e dEvent.=.new.CommandEvent(Plugin
31000 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 72 65 71 75 69 72 65 27 2c 20 24 69 6e 70 Events::COMMAND,.'require',.$inp
31020 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e ut,.$output);.$composer->getEven
31040 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 tDispatcher()->dispatch($command
31060 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 Event->getName(),.$commandEvent)
31080 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 ;..$install.=.Installer::create(
310a0 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 $io,.$composer);..$install.->set
310c0 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f Verbose($input->getOption('verbo
310e0 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 69 6e 70 75 74 2d 3e se')).->setPreferSource($input->
31100 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 29 0a 2d 3e 73 65 getOption('prefer-source')).->se
31120 74 50 72 65 66 65 72 44 69 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 tPreferDist($input->getOption('p
31140 72 65 66 65 72 2d 64 69 73 74 27 29 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 75 70 64 61 refer-dist')).->setDevMode($upda
31160 74 65 44 65 76 4d 6f 64 65 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 teDevMode).->setRunScripts(!$inp
31180 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 ut->getOption('no-scripts')).->s
311a0 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 etSkipSuggest($input->getOption(
311c0 27 6e 6f 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 'no-suggest')).->setOptimizeAuto
311e0 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 loader($optimize).->setClassMapA
31200 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 uthoritative($authoritative).->s
31220 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 etApcuAutoloader($apcu).->setUpd
31240 61 74 65 28 74 72 75 65 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 61 ate(true).->setUpdateWhitelist(a
31260 72 72 61 79 5f 6b 65 79 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 29 0a 2d 3e 73 65 74 57 rray_keys($requirements)).->setW
31280 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 hitelistTransitiveDependencies($
312a0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 input->getOption('update-with-de
312c0 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c 6c 44 pendencies')).->setWhitelistAllD
312e0 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 ependencies($input->getOption('u
31300 70 64 61 74 65 2d 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d pdate-with-all-dependencies')).-
31320 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 >setIgnorePlatformRequirements($
31340 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 input->getOption('ignore-platfor
31360 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 69 6e 70 m-reqs')).->setPreferStable($inp
31380 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 29 29 0a ut->getOption('prefer-stable')).
313a0 2d 3e 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ->setPreferLowest($input->getOpt
313c0 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 ion('prefer-lowest')).;..$status
313e0 20 3d 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 20 .=.$install->run();.if.($status.
31400 21 3d 3d 20 30 29 20 7b 0a 69 66 20 28 24 6e 65 77 6c 79 43 72 65 61 74 65 64 29 20 7b 0a 24 69 !==.0).{.if.($newlyCreated).{.$i
31420 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 49 6e 73 74 61 o->writeError("\n".'<error>Insta
31440 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 64 65 6c 65 74 69 6e 67 20 27 2e 24 66 69 6c 65 llation.failed,.deleting.'.$file
31460 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 75 6e 6c 69 6e 6b 28 24 6a 73 6f 6e 2d 3e 67 65 74 .'.</error>');.unlink($json->get
31480 50 61 74 68 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f Path());.}.else.{.$io->writeErro
314a0 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c r("\n".'<error>Installation.fail
314c0 65 64 2c 20 72 65 76 65 72 74 69 6e 67 20 27 2e 24 66 69 6c 65 2e 27 20 74 6f 20 69 74 73 20 6f ed,.reverting.'.$file.'.to.its.o
314e0 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 6e 74 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 66 69 6c 65 riginal.content.</error>');.file
31500 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 _put_contents($json->getPath(),.
31520 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 $composerBackup);.}.}..return.$s
31540 74 61 74 75 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 tatus;.}..private.function.updat
31560 65 46 69 6c 65 43 6c 65 61 6e 6c 79 28 24 6a 73 6f 6e 2c 20 61 72 72 61 79 20 24 6e 65 77 2c 20 eFileCleanly($json,.array.$new,.
31580 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 73 6f 72 74 50 61 $requireKey,.$removeKey,.$sortPa
315a0 63 6b 61 67 65 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 ckages).{.$contents.=.file_get_c
315c0 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 0a 24 6d 61 6e ontents($json->getPath());..$man
315e0 69 70 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 28 24 ipulator.=.new.JsonManipulator($
31600 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 20 61 73 20 24 70 61 contents);..foreach.($new.as.$pa
31620 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 24 6d 61 ckage.=>.$constraint).{.if.(!$ma
31640 6e 69 70 75 6c 61 74 6f 72 2d 3e 61 64 64 4c 69 6e 6b 28 24 72 65 71 75 69 72 65 4b 65 79 2c 20 nipulator->addLink($requireKey,.
31660 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 73 6f 72 74 50 61 63 6b $package,.$constraint,.$sortPack
31680 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 24 6d ages)).{.return.false;.}.if.(!$m
316a0 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 24 72 65 6d 6f 76 anipulator->removeSubNode($remov
316c0 65 4b 65 79 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b eKey,.$package)).{.return.false;
316e0 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 .}.}..file_put_contents($json->g
31700 65 74 50 61 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 67 65 74 43 6f 6e 74 65 etPath(),.$manipulator->getConte
31720 6e 74 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 nts());..return.true;.}..protect
31740 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 ed.function.interact(InputInterf
31760 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ace.$input,.OutputInterface.$out
31780 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a put).{.return;.}.}.<?php........
317a0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a ....namespace.Composer\Command;.
317c0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 20 61 73 20 53 63 .use.Composer\Script\Event.as.Sc
317e0 72 69 70 74 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 riptEvent;.use.Composer\Script\S
31800 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 criptEvents;.use.Composer\Util\P
31820 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 rocessExecutor;.use.Symfony\Comp
31840 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
31860 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
31880 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 e\Input\InputOption;.use.Symfony
318a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 \Component\Console\Input\InputAr
318c0 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f gument;.use.Symfony\Component\Co
318e0 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 nsole\Output\OutputInterface;.us
31900 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 e.Symfony\Component\Console\Help
31920 65 72 5c 54 61 62 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 53 63 72 69 70 74 43 6f 6d er\Table;.....class.RunScriptCom
31940 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 mand.extends.BaseCommand.{....pr
31960 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 45 76 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 53 otected.$scriptEvents.=.array(.S
31980 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 2c 0a 53 63 criptEvents::PRE_INSTALL_CMD,.Sc
319a0 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 2c 0a 53 63 riptEvents::POST_INSTALL_CMD,.Sc
319c0 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 2c 0a 53 63 72 69 riptEvents::PRE_UPDATE_CMD,.Scri
319e0 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 2c 0a 53 63 72 69 70 ptEvents::POST_UPDATE_CMD,.Scrip
31a00 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 tEvents::PRE_STATUS_CMD,.ScriptE
31a20 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 vents::POST_STATUS_CMD,.ScriptEv
31a40 65 6e 74 73 3a 3a 50 4f 53 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 2c ents::POST_ROOT_PACKAGE_INSTALL,
31a60 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 .ScriptEvents::POST_CREATE_PROJE
31a80 43 54 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 52 43 48 49 56 CT_CMD,.ScriptEvents::PRE_ARCHIV
31aa0 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 52 43 48 49 56 E_CMD,.ScriptEvents::POST_ARCHIV
31ac0 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 55 54 4f 4c 4f 41 E_CMD,.ScriptEvents::PRE_AUTOLOA
31ae0 44 5f 44 55 4d 50 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 55 54 4f 4c D_DUMP,.ScriptEvents::POST_AUTOL
31b00 4f 41 44 5f 44 55 4d 50 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e OAD_DUMP,.);..protected.function
31b20 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 .configure().{.$this.->setName('
31b40 72 75 6e 2d 73 63 72 69 70 74 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 52 run-script').->setDescription('R
31b60 75 6e 73 20 74 68 65 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f uns.the.scripts.defined.in.compo
31b80 73 65 72 2e 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 ser.json.').->setDefinition(arra
31ba0 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 2c 20 49 y(.new.InputArgument('script',.I
31bc0 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 53 63 72 69 70 74 20 nputArgument::OPTIONAL,.'Script.
31be0 6e 61 6d 65 20 74 6f 20 72 75 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e name.to.run.'),.new.InputArgumen
31c00 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 t('args',.InputArgument::IS_ARRA
31c20 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 27 29 Y.|.InputArgument::OPTIONAL,.'')
31c40 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 69 6d 65 6f 75 74 27 2c 20 6e 75 6c ,.new.InputOption('timeout',.nul
31c60 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 l,.InputOption::VALUE_REQUIRED,.
31c80 27 53 65 74 73 20 73 63 72 69 70 74 20 74 69 6d 65 6f 75 74 20 69 6e 20 73 65 63 6f 6e 64 73 2c 'Sets.script.timeout.in.seconds,
31ca0 20 6f 72 20 30 20 66 6f 72 20 6e 65 76 65 72 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 .or.0.for.never.'),.new.InputOpt
31cc0 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 ion('dev',.null,.InputOption::VA
31ce0 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 65 74 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c LUE_NONE,.'Sets.the.dev.mode.'),
31d00 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c .new.InputOption('no-dev',.null,
31d20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 .InputOption::VALUE_NONE,.'Disab
31d40 6c 65 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 les.the.dev.mode.'),.new.InputOp
31d60 74 69 6f 6e 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('list',.'l',.InputOption::V
31d80 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 73 63 72 69 70 74 73 2e 27 29 2c 0a 29 29 0a ALUE_NONE,.'List.scripts.'),.)).
31da0 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 75 6e 2d ->setHelp(.<<<EOT.The.<info>run-
31dc0 73 63 72 69 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 73 20 73 63 72 69 70 script</info>.command.runs.scrip
31de0 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3a 0a 0a 3c 69 ts.defined.in.composer.json:..<i
31e00 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 75 6e 2d 73 63 72 69 70 74 nfo>php.composer.phar.run-script
31e20 20 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a .post-update-cmd</info>.EOT.).;.
31e40 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e }..protected.function.execute(In
31e60 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 putInterface.$input,.OutputInter
31e80 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f face.$output).{.if.($input->getO
31ea0 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c ption('list')).{.return.$this->l
31ec0 69 73 74 53 63 72 69 70 74 73 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 istScripts($output);.}.elseif.(!
31ee0 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 29 29 20 7b $input->getArgument('script')).{
31f00 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 .throw.new.\RuntimeException('Mi
31f20 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 20 22 73 63 72 69 70 74 22 ssing.required.argument."script"
31f40 27 29 3b 0a 7d 0a 0a 24 73 63 72 69 70 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 ');.}..$script.=.$input->getArgu
31f60 6d 65 6e 74 28 27 73 63 72 69 70 74 27 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 73 ment('script');.if.(!in_array($s
31f80 63 72 69 70 74 2c 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 45 76 65 6e 74 73 29 29 20 7b 0a 69 cript,.$this->scriptEvents)).{.i
31fa0 66 20 28 64 65 66 69 6e 65 64 28 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 f.(defined('Composer\Script\Scri
31fc0 70 74 45 76 65 6e 74 73 3a 3a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2d 27 2c 20 27 5f 27 ptEvents::'.str_replace('-',.'_'
31fe0 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 63 72 69 70 74 29 29 29 29 20 7b 0a 74 68 72 6f 77 ,.strtoupper($script)))).{.throw
32000 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 .new.\InvalidArgumentException(s
32020 70 72 69 6e 74 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 63 61 6e 6e 6f 74 20 62 65 20 72 75 printf('Script."%s".cannot.be.ru
32040 6e 20 77 69 74 68 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 27 2c 20 24 73 63 72 69 70 74 29 29 3b n.with.this.command',.$script));
32060 0a 7d 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 .}.}..$composer.=.$this->getComp
32080 6f 73 65 72 28 29 3b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 oser();.$devMode.=.$input->getOp
320a0 74 69 6f 6e 28 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f tion('dev').||.!$input->getOptio
320c0 6e 28 27 6e 6f 2d 64 65 76 27 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 53 63 72 69 70 74 n('no-dev');.$event.=.new.Script
320e0 45 76 65 6e 74 28 24 73 63 72 69 70 74 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d Event($script,.$composer,.$this-
32100 3e 67 65 74 49 4f 28 29 2c 20 24 64 65 76 4d 6f 64 65 29 3b 0a 24 68 61 73 4c 69 73 74 65 6e 65 >getIO(),.$devMode);.$hasListene
32120 72 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 rs.=.$composer->getEventDispatch
32140 65 72 28 29 2d 3e 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b er()->hasEventListeners($event);
32160 0a 69 66 20 28 21 24 68 61 73 4c 69 73 74 65 6e 65 72 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 .if.(!$hasListeners).{.throw.new
32180 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e .\InvalidArgumentException(sprin
321a0 74 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 tf('Script."%s".is.not.defined.i
321c0 6e 20 74 68 69 73 20 70 61 63 6b 61 67 65 27 2c 20 24 73 63 72 69 70 74 29 29 3b 0a 7d 0a 0a 24 n.this.package',.$script));.}..$
321e0 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 args.=.$input->getArgument('args
32200 27 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 6f 75 74 20 3d 20 24 69 6e ');..if.(null.!==.$timeout.=.$in
32220 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 69 6d 65 6f 75 74 27 29 29 20 7b 0a 69 66 20 put->getOption('timeout')).{.if.
32240 28 21 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 69 6d 65 6f 75 74 29 29 20 7b 0a 74 68 72 6f 77 (!ctype_digit($timeout)).{.throw
32260 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 69 6d 65 6f 75 74 20 .new.\RuntimeException('Timeout.
32280 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 6e 75 6d 65 72 69 63 20 61 6e 64 20 70 6f 73 69 74 69 value.must.be.numeric.and.positi
322a0 76 65 20 69 66 20 64 65 66 69 6e 65 64 2c 20 6f 72 20 30 20 66 6f 72 20 66 6f 72 65 76 65 72 27 ve.if.defined,.or.0.for.forever'
322c0 29 3b 0a 7d 0a 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 54 69 6d 65 6f );.}...ProcessExecutor::setTimeo
322e0 75 74 28 28 69 6e 74 29 20 24 74 69 6d 65 6f 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 ut((int).$timeout);.}..return.$c
32300 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 omposer->getEventDispatcher()->d
32320 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 73 63 72 69 70 74 2c 20 24 64 65 76 4d 6f 64 65 2c ispatchScript($script,.$devMode,
32340 20 24 61 72 67 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c .$args);.}..protected.function.l
32360 69 73 74 53 63 72 69 70 74 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 istScripts(OutputInterface.$outp
32380 75 74 29 0a 7b 0a 24 73 63 72 69 70 74 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f ut).{.$scripts.=.$this->getCompo
323a0 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 63 72 69 70 74 73 28 ser()->getPackage()->getScripts(
323c0 29 3b 0a 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 73 63 72 69 70 74 73 29 29 20 7b 0a 72 65 74 75 );..if.(!count($scripts)).{.retu
323e0 72 6e 20 30 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 rn.0;.}..$io.=.$this->getIO();.$
32400 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 73 63 72 69 70 74 73 3a 3c 2f io->writeError('<info>scripts:</
32420 69 6e 66 6f 3e 27 29 3b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 info>');.$table.=.array();.forea
32440 63 68 20 28 24 73 63 72 69 70 74 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 73 63 72 69 70 74 ch.($scripts.as.$name.=>.$script
32460 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 3b 0a 74 72 79 20 7b 0a 24 63 6d ).{.$description.=.'';.try.{.$cm
32480 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e d.=.$this->getApplication()->fin
324a0 64 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 24 63 6d 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 63 d($name);.if.($cmd.instanceof.Sc
324c0 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e riptAliasCommand).{.$description
324e0 20 3d 20 24 63 6d 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 7d 20 63 .=.$cmd->getDescription();.}.}.c
32500 61 74 63 68 20 28 5c 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 atch.(\Symfony\Component\Console
32520 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 \Exception\CommandNotFoundExcept
32540 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 24 74 61 62 6c 65 5b 5d 20 3d 20 61 72 72 61 79 28 27 ion.$e).{...}.$table[].=.array('
32560 20 20 27 2e 24 6e 61 6d 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 72 65 ..'.$name,.$description);.}..$re
32580 6e 64 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 65 nderer.=.new.Table($output);.$re
325a0 6e 64 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 65 nderer->setStyle('compact');.$re
325c0 6e 64 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 6c ndererStyle.=.$renderer->getStyl
325e0 65 28 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c e();.$rendererStyle->setVertical
32600 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e BorderChar('');.$rendererStyle->
32620 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b setCellRowContentFormat('%s..');
32640 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 6e .$renderer->setRows($table)->ren
32660 64 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a der();..return.0;.}.}.<?php.....
32680 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e .......namespace.Composer\Comman
326a0 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c d;..use.Symfony\Component\Consol
326c0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
326e0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
32700 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
32720 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 onsole\Input\InputArgument;.use.
32740 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
32760 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 \OutputInterface;.....class.Scri
32780 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 ptAliasCommand.extends.BaseComma
327a0 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b 0a 70 72 69 76 61 74 65 20 24 64 nd.{.private.$script;.private.$d
327c0 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 escription;..public.function.__c
327e0 6f 6e 73 74 72 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 0a onstruct($script,.$description).
32800 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 73 63 72 69 70 74 3b 0a 24 74 68 69 73 {.$this->script.=.$script;.$this
32820 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 65 6d 70 74 79 28 24 64 65 73 63 72 69 70 74 69 ->description.=.empty($descripti
32840 6f 6e 29 20 3f 20 27 52 75 6e 73 20 74 68 65 20 27 2e 24 73 63 72 69 70 74 2e 27 20 73 63 72 69 on).?.'Runs.the.'.$script.'.scri
32860 70 74 20 61 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 pt.as.defined.in.composer.json.'
32880 20 3a 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 .:.$description;..parent::__cons
328a0 74 72 75 63 74 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 truct();.}..protected.function.c
328c0 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 24 74 68 onfigure().{.$this.->setName($th
328e0 69 73 2d 3e 73 63 72 69 70 74 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 74 68 is->script).->setDescription($th
32900 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e is->description).->setDefinition
32920 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e (array(.new.InputOption('dev',.n
32940 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 ull,.InputOption::VALUE_NONE,.'S
32960 65 74 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 ets.the.dev.mode.'),.new.InputOp
32980 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e tion('no-dev',.null,.InputOption
329a0 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 64 65 76 20 ::VALUE_NONE,.'Disables.the.dev.
329c0 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 mode.'),.new.InputArgument('args
329e0 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 ',.InputArgument::IS_ARRAY.|.Inp
32a00 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 27 29 2c 0a 29 29 0a 2d 3e utArgument::OPTIONAL,.''),.)).->
32a20 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 75 6e 2d 73 63 setHelp(.<<<EOT.The.<info>run-sc
32a40 72 69 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 73 20 73 63 72 69 70 74 73 ript</info>.command.runs.scripts
32a60 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3a 0a 0a 3c 69 6e 66 .defined.in.composer.json:..<inf
32a80 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 75 6e 2d 73 63 72 69 70 74 20 70 o>php.composer.phar.run-script.p
32aa0 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a ost-update-cmd</info>.EOT.).;.}.
32ac0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
32ae0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
32b00 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d ce.$output).{.$composer.=.$this-
32b20 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d >getComposer();..$args.=.$input-
32b40 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 >getArguments();..return.$compos
32b60 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 er->getEventDispatcher()->dispat
32b80 63 68 53 63 72 69 70 74 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 2c 20 24 69 6e 70 75 74 2d 3e chScript($this->script,.$input->
32ba0 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 getOption('dev').||.!$input->get
32bc0 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 2c 20 24 61 72 67 73 5b 27 61 72 67 73 27 5d 29 Option('no-dev'),.$args['args'])
32be0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
32c00 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 .Composer\Command;..use.Composer
32c20 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c \Factory;.use.Symfony\Component\
32c40 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
32c60 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
32c80 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d t\InputArgument;.use.Symfony\Com
32ca0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e ponent\Console\Input\InputOption
32cc0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
32ce0 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 Output\OutputInterface;.use.Comp
32d00 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 oser\Repository\CompositeReposit
32d20 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 ory;.use.Composer\Repository\Pla
32d40 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 tformRepository;.use.Composer\Re
32d60 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 pository\RepositoryInterface;.us
32d80 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a e.Composer\Plugin\CommandEvent;.
32da0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 use.Composer\Plugin\PluginEvents
32dc0 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 ;.....class.SearchCommand.extend
32de0 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 s.BaseCommand.{.protected.$match
32e00 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 77 4d 61 74 63 68 65 73 20 3d 20 61 72 72 61 es;.protected.$lowMatches.=.arra
32e20 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 6f 6b 65 6e 73 3b 0a 70 72 6f 74 65 63 74 65 y();.protected.$tokens;.protecte
32e40 64 20 24 6f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 6e 6c 79 4e 61 6d 65 3b 0a d.$output;.protected.$onlyName;.
32e60 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a .protected.function.configure().
32e80 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 61 72 63 68 27 29 0a 2d 3e 73 65 {.$this.->setName('search').->se
32ea0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 61 72 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 tDescription('Searches.for.packa
32ec0 67 65 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 ges.').->setDefinition(array(.ne
32ee0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 6e 6c 79 2d 6e 61 6d 65 27 2c 20 27 4e 27 2c 20 w.InputOption('only-name',.'N',.
32f00 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 65 61 72 63 68 InputOption::VALUE_NONE,.'Search
32f20 20 6f 6e 6c 79 20 69 6e 20 6e 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e .only.in.name'),.new.InputOption
32f40 28 27 74 79 70 65 27 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('type',.'t',.InputOption::VALUE
32f60 5f 52 45 51 55 49 52 45 44 2c 20 27 53 65 61 72 63 68 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 _REQUIRED,.'Search.for.a.specifi
32f80 63 20 70 61 63 6b 61 67 65 20 74 79 70 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d c.package.type'),.new.InputArgum
32fa0 65 6e 74 28 27 74 6f 6b 65 6e 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f ent('tokens',.InputArgument::IS_
32fc0 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c ARRAY.|.InputArgument::REQUIRED,
32fe0 20 27 74 6f 6b 65 6e 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 27 29 2c 0a 29 29 0a 2d 3e 73 .'tokens.to.search.for'),.)).->s
33000 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 65 61 72 63 68 20 63 6f 6d 6d 61 6e etHelp(.<<<EOT.The.search.comman
33020 64 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 62 79 20 69 74 73 20 6e d.searches.for.packages.by.its.n
33040 61 6d 65 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 73 65 61 72 ame.<info>php.composer.phar.sear
33060 63 68 20 73 79 6d 66 6f 6e 79 20 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 45 4f 54 0a ch.symfony.composer</info>..EOT.
33080 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 ).;.}..protected.function.execut
330a0 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 e(InputInterface.$input,.OutputI
330c0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 52 nterface.$output).{...$platformR
330e0 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 24 69 epo.=.new.PlatformRepository;.$i
33100 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 28 24 63 6f 6d 70 6f o.=.$this->getIO();.if.(!($compo
33120 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 ser.=.$this->getComposer(false))
33140 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 ).{.$composer.=.Factory::create(
33160 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 20 61 72 72 61 79 28 29 2c 20 24 69 6e 70 75 74 2d $this->getIO(),.array(),.$input-
33180 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e >hasParameterOption('--no-plugin
331a0 73 27 29 29 3b 0a 7d 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e s'));.}.$localRepo.=.$composer->
331c0 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c getRepositoryManager()->getLocal
331e0 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e Repository();.$installedRepo.=.n
33200 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 6c 6f ew.CompositeRepository(array($lo
33220 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 29 3b 0a 24 72 65 70 6f 73 calRepo,.$platformRepo));.$repos
33240 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 .=.new.CompositeRepository(array
33260 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 63 _merge(array($installedRepo),.$c
33280 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d omposer->getRepositoryManager()-
332a0 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 >getRepositories()));..$commandE
332c0 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 vent.=.new.CommandEvent(PluginEv
332e0 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 65 61 72 63 68 27 2c 20 24 69 6e 70 75 74 2c ents::COMMAND,.'search',.$input,
33300 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 .$output);.$composer->getEventDi
33320 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 spatcher()->dispatch($commandEve
33340 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a nt->getName(),.$commandEvent);..
33360 24 6f 6e 6c 79 4e 61 6d 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f $onlyName.=.$input->getOption('o
33380 6e 6c 79 2d 6e 61 6d 65 27 29 3b 0a 24 74 79 70 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f nly-name');.$type.=.$input->getO
333a0 70 74 69 6f 6e 28 27 74 79 70 65 27 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 0a 24 66 6c 61 67 73 20 3d ption('type').?:.null;..$flags.=
333c0 20 24 6f 6e 6c 79 4e 61 6d 65 20 3f 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 .$onlyName.?.RepositoryInterface
333e0 3a 3a 53 45 41 52 43 48 5f 4e 41 4d 45 20 3a 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 ::SEARCH_NAME.:.RepositoryInterf
33400 61 63 65 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 3b 0a 24 72 65 73 75 6c 74 73 20 3d ace::SEARCH_FULLTEXT;.$results.=
33420 20 24 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 69 6e .$repos->search(implode('.',.$in
33440 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 29 29 2c 20 24 66 6c put->getArgument('tokens')),.$fl
33460 61 67 73 2c 20 24 74 79 70 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 ags,.$type);..foreach.($results.
33480 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 72 65 73 75 6c 74 as.$result).{.$io->write($result
334a0 5b 27 6e 61 6d 65 27 5d 20 2e 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 64 65 73 63 72 ['name']...(isset($result['descr
334c0 69 70 74 69 6f 6e 27 5d 29 20 3f 20 27 20 27 2e 20 24 72 65 73 75 6c 74 5b 27 64 65 73 63 72 69 iption']).?.'.'..$result['descri
334e0 70 74 69 6f 6e 27 5d 20 3a 20 27 27 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ption'].:.''));.}.}.}.<?php.....
33500 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e .......namespace.Composer\Comman
33520 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 d;..use.Composer\Composer;.use.C
33540 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f omposer\Factory;.use.Composer\Co
33560 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 nfig;.use.Composer\Util\Filesyst
33580 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 4b 65 79 73 em;.use.Composer\SelfUpdate\Keys
335a0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 56 65 72 73 69 6f ;.use.Composer\SelfUpdate\Versio
335c0 6e 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b ns;.use.Composer\IO\IOInterface;
335e0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 69 6c 65 73 79 73 .use.Composer\Downloader\Filesys
33600 74 65 6d 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e temException;.use.Symfony\Compon
33620 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 ent\Console\Input\InputInterface
33640 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
33660 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Input\InputOption;.use.Symfony\C
33680 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 omponent\Console\Input\InputArgu
336a0 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ment;.use.Symfony\Component\Cons
336c0 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ole\Output\OutputInterface;.use.
336e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b Symfony\Component\Finder\Finder;
33700 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 65 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 .......class.SelfUpdateCommand.e
33720 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 48 4f 4d 45 50 xtends.BaseCommand.{.const.HOMEP
33740 41 47 45 20 3d 20 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 3b 0a 63 6f 6e 73 74 20 4f AGE.=.'getcomposer.org';.const.O
33760 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 20 3d 20 27 2d 6f 6c 64 2e 70 68 61 72 27 3b 0a 0a 70 LD_INSTALL_EXT.=.'-old.phar';..p
33780 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a rotected.function.configure().{.
337a0 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 6c 66 2d 75 70 64 61 74 65 27 29 0a 2d $this.->setName('self-update').-
337c0 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 73 65 6c 66 75 70 64 61 74 65 27 29 29 >setAliases(array('selfupdate'))
337e0 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 64 61 74 65 73 20 63 6f 6d 70 6f .->setDescription('Updates.compo
33800 73 65 72 2e 70 68 61 72 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 27 ser.phar.to.the.latest.version.'
33820 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 ).->setDefinition(array(.new.Inp
33840 75 74 4f 70 74 69 6f 6e 28 27 72 6f 6c 6c 62 61 63 6b 27 2c 20 27 72 27 2c 20 49 6e 70 75 74 4f utOption('rollback',.'r',.InputO
33860 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 76 65 72 74 20 74 6f 20 61 6e ption::VALUE_NONE,.'Revert.to.an
33880 20 6f 6c 64 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 72 27 .older.installation.of.composer'
338a0 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 65 61 6e 2d 62 61 63 6b 75 70 ),.new.InputOption('clean-backup
338c0 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
338e0 45 2c 20 27 44 65 6c 65 74 65 20 6f 6c 64 20 62 61 63 6b 75 70 73 20 64 75 72 69 6e 67 20 61 6e E,.'Delete.old.backups.during.an
33900 20 75 70 64 61 74 65 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 .update..This.makes.the.current.
33920 76 65 72 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 74 68 65 20 6f 6e 6c 79 20 62 61 63 version.of.composer.the.only.bac
33940 6b 75 70 20 61 76 61 69 6c 61 62 6c 65 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 27 29 kup.available.after.the.update')
33960 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 ,.new.InputArgument('version',.I
33980 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 76 65 72 nputArgument::OPTIONAL,.'The.ver
339a0 73 69 6f 6e 20 74 6f 20 75 70 64 61 74 65 20 74 6f 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 sion.to.update.to'),.new.InputOp
339c0 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f tion('no-progress',.null,.InputO
339e0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 ption::VALUE_NONE,.'Do.not.outpu
33a00 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 t.download.progress.'),.new.Inpu
33a20 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6b 65 79 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 tOption('update-keys',.null,.Inp
33a40 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 6f 6d 70 74 20 75 73 utOption::VALUE_NONE,.'Prompt.us
33a60 65 72 20 66 6f 72 20 61 20 6b 65 79 20 75 70 64 61 74 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 er.for.a.key.update'),.new.Input
33a80 4f 70 74 69 6f 6e 28 27 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 Option('stable',.null,.InputOpti
33aa0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 75 70 64 61 74 65 on::VALUE_NONE,.'Force.an.update
33ac0 20 74 6f 20 74 68 65 20 73 74 61 62 6c 65 20 63 68 61 6e 6e 65 6c 27 29 2c 0a 6e 65 77 20 49 6e .to.the.stable.channel'),.new.In
33ae0 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 76 69 65 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 putOption('preview',.null,.Input
33b00 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 75 70 Option::VALUE_NONE,.'Force.an.up
33b20 64 61 74 65 20 74 6f 20 74 68 65 20 70 72 65 76 69 65 77 20 63 68 61 6e 6e 65 6c 27 29 2c 0a 6e date.to.the.preview.channel'),.n
33b40 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6e 61 70 73 68 6f 74 27 2c 20 6e 75 6c 6c 2c ew.InputOption('snapshot',.null,
33b60 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 .InputOption::VALUE_NONE,.'Force
33b80 20 61 6e 20 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 73 6e 61 70 73 68 6f 74 20 63 68 61 6e 6e .an.update.to.the.snapshot.chann
33ba0 65 6c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 65 74 2d 63 68 61 6e 6e el'),.new.InputOption('set-chann
33bc0 65 6c 2d 6f 6e 6c 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c el-only',.null,.InputOption::VAL
33be0 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 73 74 6f 72 65 20 74 68 65 20 63 68 61 6e 6e 65 6c UE_NONE,.'Only.store.the.channel
33c00 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 20 61 6e 64 20 74 68 65 6e 20 65 78 69 .as.the.default.one.and.then.exi
33c20 74 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 t'),.)).->setHelp(.<<<EOT.The.<i
33c40 6e 66 6f 3e 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 nfo>self-update</info>.command.c
33c60 68 65 63 6b 73 20 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 20 66 6f 72 20 6e 65 77 65 72 0a hecks.getcomposer.org.for.newer.
33c80 76 65 72 73 69 6f 6e 73 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 61 6e 64 20 69 66 20 66 6f 75 6e versions.of.composer.and.if.foun
33ca0 64 2c 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 6c 61 74 65 73 74 2e 0a 0a 3c 69 6e 66 6f 3e 70 d,.installs.the.latest...<info>p
33cc0 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f 69 6e hp.composer.phar.self-update</in
33ce0 66 6f 3e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 fo>..EOT.).;.}..protected.functi
33d00 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 on.execute(InputInterface.$input
33d20 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f ,.OutputInterface.$output).{.$co
33d40 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a nfig.=.Factory::createConfig();.
33d60 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 .if.($config->get('disable-tls')
33d80 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f .===.true).{.$baseUrl.=.'http://
33da0 27 20 2e 20 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 62 61 '...self::HOMEPAGE;.}.else.{.$ba
33dc0 73 65 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 48 4f 4d 45 50 seUrl.=.'https://'...self::HOMEP
33de0 41 47 45 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 72 AGE;.}..$io.=.$this->getIO();.$r
33e00 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 emoteFilesystem.=.Factory::creat
33e20 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b eRemoteFilesystem($io,.$config);
33e40 0a 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 73 28 24 ..$versionsUtil.=.new.Versions($
33e60 63 6f 6e 66 69 67 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 0a 20 66 config,.$remoteFilesystem);....f
33e80 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 oreach.(array('stable',.'preview
33ea0 27 2c 20 27 73 6e 61 70 73 68 6f 74 27 29 20 61 73 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 69 66 ',.'snapshot').as.$channel).{.if
33ec0 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 63 68 61 6e 6e 65 6c 29 29 20 7b .($input->getOption($channel)).{
33ee0 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 73 65 74 43 68 61 6e 6e 65 6c 28 24 63 68 61 6e .$versionsUtil->setChannel($chan
33f00 6e 65 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e nel);.}.}..if.($input->getOption
33f20 28 27 73 65 74 2d 63 68 61 6e 6e 65 6c 2d 6f 6e 6c 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 ('set-channel-only')).{.return.0
33f40 3b 0a 7d 0a 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 ;.}..$cacheDir.=.$config->get('c
33f60 61 63 68 65 2d 64 69 72 27 29 3b 0a 24 72 6f 6c 6c 62 61 63 6b 44 69 72 20 3d 20 24 63 6f 6e 66 ache-dir');.$rollbackDir.=.$conf
33f80 69 67 2d 3e 67 65 74 28 27 64 61 74 61 2d 64 69 72 27 29 3b 0a 24 68 6f 6d 65 20 3d 20 24 63 6f ig->get('data-dir');.$home.=.$co
33fa0 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d nfig->get('home');.$localFilenam
33fc0 65 20 3d 20 72 65 61 6c 70 61 74 68 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d e.=.realpath($_SERVER['argv'][0]
33fe0 29 20 3f 3a 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 3b 0a 0a 69 66 20 28 24 ).?:.$_SERVER['argv'][0];..if.($
34000 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6b 65 79 73 27 29 29 input->getOption('update-keys'))
34020 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 65 74 63 68 4b 65 79 73 28 24 69 6f 2c 20 .{.return.$this->fetchKeys($io,.
34040 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 74 6d 70 44 69 72 20 3d 20 69 73 5f 77 72 69 74 $config);.}....$tmpDir.=.is_writ
34060 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 20 3f 20 able(dirname($localFilename)).?.
34080 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 20 3a 20 24 63 61 63 68 65 dirname($localFilename).:.$cache
340a0 44 69 72 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 6d 70 44 69 72 Dir;....if.(!is_writable($tmpDir
340c0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 )).{.throw.new.FilesystemExcepti
340e0 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 66 61 69 6c 65 64 3a 20 74 68 65 20 on('Composer.update.failed:.the.
34100 22 27 2e 24 74 6d 70 44 69 72 2e 27 22 20 64 69 72 65 63 74 6f 72 79 20 75 73 65 64 20 74 6f 20 "'.$tmpDir.'".directory.used.to.
34120 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 74 65 6d 70 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 download.the.temp.file.could.not
34140 20 62 65 20 77 72 69 74 74 65 6e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 75 6e 63 74 69 6f 6e .be.written');.}....if.(function
34160 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 27 29 20 26 26 20 66 75 6e _exists('posix_getpwuid').&&.fun
34180 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 65 75 69 64 27 29 29 20 7b ction_exists('posix_geteuid')).{
341a0 0a 24 63 6f 6d 70 6f 73 65 55 73 65 72 20 3d 20 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 28 70 .$composeUser.=.posix_getpwuid(p
341c0 6f 73 69 78 5f 67 65 74 65 75 69 64 28 29 29 3b 0a 24 68 6f 6d 65 4f 77 6e 65 72 20 3d 20 70 6f osix_geteuid());.$homeOwner.=.po
341e0 73 69 78 5f 67 65 74 70 77 75 69 64 28 66 69 6c 65 6f 77 6e 65 72 28 24 68 6f 6d 65 29 29 3b 0a six_getpwuid(fileowner($home));.
34200 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 6e 61 6d 65 27 5d 29 20 if.(isset($composeUser['name']).
34220 26 26 20 69 73 73 65 74 28 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 &&.isset($homeOwner['name']).&&.
34240 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 6e 61 6d 65 27 5d 20 21 3d 3d 20 24 68 6f 6d 65 4f 77 $composeUser['name'].!==.$homeOw
34260 6e 65 72 5b 27 6e 61 6d 65 27 5d 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 ner['name']).{.$io->writeError('
34280 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 <warning>You.are.running.compose
342a0 72 20 61 73 20 22 27 2e 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 6e 61 6d 65 27 5d 2e 27 22 2c r.as."'.$composeUser['name'].'",
342c0 20 77 68 69 6c 65 20 22 27 2e 24 68 6f 6d 65 2e 27 22 20 69 73 20 6f 77 6e 65 64 20 62 79 20 22 .while."'.$home.'".is.owned.by."
342e0 27 2e 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 5d 2e 27 22 3c 2f 77 61 72 6e 69 6e 67 '.$homeOwner['name'].'"</warning
34300 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 >');.}.}..if.($input->getOption(
34320 27 72 6f 6c 6c 62 61 63 6b 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6c 'rollback')).{.return.$this->rol
34340 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 6c 6f lback($output,.$rollbackDir,.$lo
34360 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 24 6c 61 74 65 73 74 20 3d 20 24 76 65 72 73 calFilename);.}..$latest.=.$vers
34380 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 28 29 3b 0a 24 6c 61 74 65 73 74 56 65 ionsUtil->getLatest();.$latestVe
343a0 72 73 69 6f 6e 20 3d 20 24 6c 61 74 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 75 70 64 rsion.=.$latest['version'];.$upd
343c0 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 ateVersion.=.$input->getArgument
343e0 28 27 76 65 72 73 69 6f 6e 27 29 20 3f 3a 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 3b 0a 0a ('version').?:.$latestVersion;..
34400 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d if.(preg_match('{^[0-9a-f]{40}$}
34420 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 20 26 26 20 24 75 70 64 61 74 65 56 65 72 ',.$updateVersion).&&.$updateVer
34440 73 69 6f 6e 20 21 3d 3d 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e sion.!==.$latestVersion).{.$io->
34460 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 63 61 6e 20 6e 6f 74 20 75 writeError('<error>You.can.not.u
34480 70 64 61 74 65 20 74 6f 20 61 20 73 70 65 63 69 66 69 63 20 53 48 41 2d 31 20 61 73 20 74 68 6f pdate.to.a.specific.SHA-1.as.tho
344a0 73 65 20 70 68 61 72 73 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 64 se.phars.are.not.available.for.d
344c0 6f 77 6e 6c 6f 61 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a ownload</error>');..return.1;.}.
344e0 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 3d 3d 3d 20 24 75 70 64 61 .if.(Composer::VERSION.===.$upda
34500 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 teVersion).{.$io->writeError(spr
34520 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 59 6f 75 20 61 72 65 20 61 6c 72 65 61 64 79 20 75 73 69 6e intf('<info>You.are.already.usin
34540 67 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 25 73 20 28 25 73 20 63 68 61 6e 6e 65 g.composer.version.%s.(%s.channe
34560 6c 29 2e 3c 2f 69 6e 66 6f 3e 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 2c 20 24 76 65 l).</info>',.$updateVersion,.$ve
34580 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 29 29 3b 0a 0a 0a 20 69 rsionsUtil->getChannel()));....i
345a0 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 65 61 6e 2d 62 61 63 6b f.($input->getOption('clean-back
345c0 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 42 61 63 6b 75 70 73 28 24 72 6f ups')).{.$this->cleanBackups($ro
345e0 6c 6c 62 61 63 6b 44 69 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 61 73 74 42 61 63 6b 75 70 56 llbackDir,.$this->getLastBackupV
34600 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ersion($rollbackDir));.}..return
34620 20 30 3b 0a 7d 0a 0a 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 20 3d 20 24 74 6d 70 44 69 72 20 2e .0;.}..$tempFilename.=.$tmpDir..
34640 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 .'/'...basename($localFilename,.
34660 27 2e 70 68 61 72 27 29 2e 27 2d 74 65 6d 70 2e 70 68 61 72 27 3b 0a 24 62 61 63 6b 75 70 46 69 '.phar').'-temp.phar';.$backupFi
34680 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 2f 25 73 2d 25 73 25 73 27 2c 0a 24 72 6f 6c le.=.sprintf(.'%s/%s-%s%s',.$rol
346a0 6c 62 61 63 6b 44 69 72 2c 0a 73 74 72 74 72 28 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 lbackDir,.strtr(Composer::RELEAS
346c0 45 5f 44 41 54 45 2c 20 27 20 3a 27 2c 20 27 5f 2d 27 29 2c 0a 70 72 65 67 5f 72 65 70 6c 61 63 E_DATE,.'.:',.'_-'),.preg_replac
346e0 65 28 27 7b 5e 28 5b 30 2d 39 61 2d 66 5d 7b 37 7d 29 5b 30 2d 39 61 2d 66 5d 7b 33 33 7d 24 7d e('{^([0-9a-f]{7})[0-9a-f]{33}$}
34700 27 2c 20 27 24 31 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 29 2c 0a 73 65 6c ',.'$1',.Composer::VERSION),.sel
34720 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 0a 29 3b 0a 0a 24 75 70 64 61 74 69 6e 67 f::OLD_INSTALL_EXT.);..$updating
34740 54 6f 54 61 67 20 3d 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b ToTag.=.!preg_match('{^[0-9a-f]{
34760 34 30 7d 24 7d 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 3b 0a 0a 24 69 6f 2d 3e 77 40}$}',.$updateVersion);..$io->w
34780 72 69 74 65 28 73 70 72 69 6e 74 66 28 22 55 70 64 61 74 69 6e 67 20 74 6f 20 76 65 72 73 69 6f rite(sprintf("Updating.to.versio
347a0 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 25 73 20 63 68 61 6e 6e 65 6c 29 2e 22 n.<info>%s</info>.(%s.channel)."
347c0 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d ,.$updateVersion,.$versionsUtil-
347e0 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 29 29 3b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 >getChannel()));.$remoteFilename
34800 20 3d 20 24 62 61 73 65 55 72 6c 20 2e 20 28 24 75 70 64 61 74 69 6e 67 54 6f 54 61 67 20 3f 20 .=.$baseUrl...($updatingToTag.?.
34820 22 2f 64 6f 77 6e 6c 6f 61 64 2f 7b 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 7d 2f 63 6f 6d 70 "/download/{$updateVersion}/comp
34840 6f 73 65 72 2e 70 68 61 72 22 20 3a 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 27 29 3b 0a oser.phar".:.'/composer.phar');.
34860 24 73 69 67 6e 61 74 75 72 65 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e $signature.=.$remoteFilesystem->
34880 67 65 74 43 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 2c 20 24 72 65 6d getContents(self::HOMEPAGE,.$rem
348a0 6f 74 65 46 69 6c 65 6e 61 6d 65 2e 27 2e 73 69 67 27 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d oteFilename.'.sig',.false);.$io-
348c0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 72 65 6d 6f >writeError('...',.false);.$remo
348e0 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 63 6f 70 79 28 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 teFilesystem->copy(self::HOMEPAG
34900 45 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 2c 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d E,.$remoteFilename,.$tempFilenam
34920 65 2c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 e,.!$input->getOption('no-progre
34940 73 73 27 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 0a 69 66 20 ss'));.$io->writeError('');..if.
34960 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 20 7c 7c 20 (!file_exists($tempFilename).||.
34980 21 24 73 69 67 6e 61 74 75 72 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 !$signature).{.$io->writeError('
349a0 3c 65 72 72 6f 72 3e 54 68 65 20 64 6f 77 6e 6c 6f 61 64 20 6f 66 20 74 68 65 20 6e 65 77 20 63 <error>The.download.of.the.new.c
349c0 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 66 61 69 6c 65 64 20 66 6f 72 20 61 6e 20 75 6e omposer.version.failed.for.an.un
349e0 65 78 70 65 63 74 65 64 20 72 65 61 73 6f 6e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 expected.reason</error>');..retu
34a00 72 6e 20 31 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 rn.1;.}....if.(!extension_loaded
34a20 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 ('openssl').&&.$config->get('dis
34a40 61 62 6c 65 2d 74 6c 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c able-tls')).{.$io->writeError('<
34a60 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 69 6e 67 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 20 warning>Skipping.phar.signature.
34a80 76 65 72 69 66 69 63 61 74 69 6f 6e 20 61 73 20 79 6f 75 20 68 61 76 65 20 64 69 73 61 62 6c 65 verification.as.you.have.disable
34aa0 64 20 4f 70 65 6e 53 53 4c 20 76 69 61 20 63 6f 6e 66 69 67 2e 64 69 73 61 62 6c 65 2d 74 6c 73 d.OpenSSL.via.config.disable-tls
34ac0 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 65 78 74 65 </warning>');.}.else.{.if.(!exte
34ae0 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 nsion_loaded('openssl')).{.throw
34b00 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6f 70 65 6e .new.\RuntimeException('The.open
34b20 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 70 68 ssl.extension.is.required.for.ph
34b40 61 72 20 73 69 67 6e 61 74 75 72 65 73 20 74 6f 20 62 65 20 76 65 72 69 66 69 65 64 20 62 75 74 ar.signatures.to.be.verified.but
34b60 20 69 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 27 0a 2e 20 27 49 66 20 79 6f .it.is.not.available..'...'If.yo
34b80 75 20 63 61 6e 20 6e 6f 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 u.can.not.enable.the.openssl.ext
34ba0 65 6e 73 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 ension,.you.can.disable.this.err
34bc0 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 or,.at.your.own.risk,.by.setting
34be0 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 .the.\'disable-tls\'.option.to.t
34c00 72 75 65 2e 27 29 3b 0a 7d 0a 0a 24 73 69 67 46 69 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 2e rue.');.}..$sigFile.=.'file://'.
34c20 24 68 6f 6d 65 2e 27 2f 27 20 2e 20 28 24 75 70 64 61 74 69 6e 67 54 6f 54 61 67 20 3f 20 27 6b $home.'/'...($updatingToTag.?.'k
34c40 65 79 73 2e 74 61 67 73 2e 70 75 62 27 20 3a 20 27 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 3b eys.tags.pub'.:.'keys.dev.pub');
34c60 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 69 67 46 69 6c 65 29 29 20 7b 0a 66 .if.(!file_exists($sigFile)).{.f
34c80 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 0a 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 ile_put_contents(.$home.'/keys.d
34ca0 65 76 2e 70 75 62 27 2c 0a 3c 3c 3c 44 45 56 50 55 42 4b 45 59 0a 2d 2d 2d 2d 2d 42 45 47 49 4e ev.pub',.<<<DEVPUBKEY.-----BEGIN
34cc0 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 .PUBLIC.KEY-----.MIICIjANBgkqhki
34ce0 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 6e 42 44 G9w0BAQEFAAOCAg8AMIICCgKCAgEAnBD
34d00 48 6a 5a 53 36 65 30 5a 4d 6f 4b 33 78 54 44 37 66 0a 46 4e 43 7a 6c 58 6a 58 2f 41 69 65 32 64 HjZS6e0ZMoK3xTD7f.FNCzlXjX/Aie2d
34d20 69 74 38 51 58 41 30 33 70 53 72 4f 54 62 61 4d 6e 78 4f 4e 33 68 55 4c 34 37 4c 7a 33 67 31 53 it8QXA03pSrOTbaMnxON3hUL47Lz3g1S
34d40 43 36 59 4a 45 4d 56 48 72 30 7a 59 71 34 65 6c 57 69 0a 69 33 65 63 46 45 67 7a 4c 63 6a 2b 70 C6YJEMVHr0zYq4elWi.i3ecFEgzLcj+p
34d60 5a 4d 35 58 36 71 57 75 32 4f 7a 7a 34 76 57 78 33 4a 59 6f 31 2f 61 2f 48 59 64 4f 75 57 39 65 ZM5X6qWu2Ozz4vWx3JYo1/a/HYdOuW9e
34d80 33 6c 77 53 38 56 74 53 30 41 56 4a 41 2b 55 38 58 30 41 0a 68 5a 6e 42 6d 47 70 6c 74 48 68 4f 3lwS8VtS0AVJA+U8X0A.hZnBmGpltHhO
34da0 38 68 50 4b 48 67 6b 4a 74 6b 54 55 78 43 68 65 54 63 62 71 6e 34 77 47 48 6c 38 5a 32 53 65 64 8hPKHgkJtkTUxCheTcbqn4wGHl8Z2Sed
34dc0 69 44 63 50 54 4c 77 71 65 7a 57 4b 55 66 72 59 7a 75 31 66 0a 6f 2f 6a 33 57 46 77 46 73 36 47 iDcPTLwqezWKUfrYzu1f.o/j3WFwFs6G
34de0 74 4b 34 77 64 59 74 69 58 72 2b 79 73 70 42 5a 48 4f 33 79 31 75 64 66 38 65 46 46 47 63 62 32 tK4wdYtiXr+yspBZHO3y1udf8eFFGcb2
34e00 56 33 45 61 4c 4f 72 74 66 75 72 36 58 51 56 69 7a 6a 4f 75 6b 0a 38 6c 77 35 7a 7a 73 65 31 51 V3EaLOrtfur6XQVizjOuk.8lw5zzse1Q
34e20 70 2f 6b 6c 48 71 62 44 52 73 6a 53 7a 4a 36 69 4c 36 46 34 61 79 6e 42 63 36 45 75 71 74 2f 38 p/klHqbDRsjSzJ6iL6F4aynBc6Euqt/8
34e40 63 63 4e 41 49 7a 30 72 4c 6a 4c 68 4f 72 61 65 79 6a 34 65 4e 6e 0a 38 69 6f 6b 77 4d 4b 69 58 ccNAIz0rLjLhOraeyj4eNn.8iokwMKiX
34e60 70 63 72 51 4c 54 4b 48 2b 52 48 31 4a 43 75 4f 56 78 51 34 33 36 62 4a 77 62 53 73 70 31 56 77 pcrQLTKH+RH1JCuOVxQ436bJwbSsp1Vw
34e80 69 71 66 74 50 51 69 65 4e 2b 74 7a 71 79 2b 45 69 48 4a 4a 6d 47 66 0a 54 42 41 62 57 63 6e 63 iqftPQieN+tzqy+EiHJJmGf.TBAbWcnc
34ea0 69 63 43 6b 39 71 32 6d 64 2b 41 6d 68 4e 62 76 48 4f 34 50 57 62 62 7a 39 54 7a 43 37 48 4a 62 icCk9q2md+AmhNbvHO4PWbbz9TzC7HJb
34ec0 34 36 30 6a 79 57 65 75 4d 45 76 77 33 67 4e 49 70 45 6f 32 6a 59 61 39 0a 70 4d 56 36 63 56 71 460jyWeuMEvw3gNIpEo2jYa9.pMV6cVq
34ee0 6e 53 61 2b 77 4f 63 30 44 37 70 43 39 61 36 62 6e 65 30 62 76 4c 63 6d 33 53 2b 77 36 49 35 69 nSa+wOc0D7pC9a6bne0bvLcm3S+w6I5i
34f00 44 42 33 6c 5a 73 62 33 41 39 55 74 52 69 53 50 37 61 47 53 6f 37 44 37 32 0a 38 74 43 38 2b 63 DB3lZsb3A9UtRiSP7aGSo7D72.8tC8+c
34f20 49 67 5a 63 49 37 6b 39 76 6a 76 4f 71 48 2b 64 37 73 64 4f 55 32 79 50 43 6e 52 59 36 77 46 68 IgZcI7k9vjvOqH+d7sdOU2yPCnRY6wFh
34f40 36 32 2f 67 38 62 44 6e 55 70 72 35 36 6e 5a 4e 31 47 38 39 47 77 4d 34 64 34 0a 72 2f 54 55 37 62/g8bDnUpr56nZN1G89GwM4d4.r/TU7
34f60 42 51 51 49 7a 73 5a 67 41 69 71 4f 47 58 76 56 6b 6c 49 67 41 4d 69 56 30 69 75 63 67 66 33 72 BQQIzsZgAiqOGXvVklIgAMiV0iucgf3r
34f80 4e 42 4c 6a 6a 65 4e 45 77 4e 53 54 54 47 39 46 30 43 74 51 2b 37 4a 4c 77 61 45 0a 77 53 45 75 NBLjjeNEwNSTTG9F0CtQ+7JLwaE.wSEu
34fa0 41 75 52 6d 2b 70 52 71 69 38 42 52 6e 51 2f 47 4b 55 63 43 41 77 45 41 41 51 3d 3d 0a 2d 2d 2d AuRm+pRqi8BRnQ/GKUcCAwEAAQ==.---
34fc0 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 44 45 56 50 55 42 4b 45 59 0a --END.PUBLIC.KEY-----.DEVPUBKEY.
34fe0 29 3b 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 0a 24 68 6f 6d 65 2e 27 2f 6b );..file_put_contents(.$home.'/k
35000 65 79 73 2e 74 61 67 73 2e 70 75 62 27 2c 0a 3c 3c 3c 54 41 47 53 50 55 42 4b 45 59 0a 2d 2d 2d eys.tags.pub',.<<<TAGSPUBKEY.---
35020 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 4d 49 49 43 49 6a 41 4e --BEGIN.PUBLIC.KEY-----.MIICIjAN
35040 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
35060 41 67 45 41 30 56 69 2f 32 4b 36 61 70 43 56 6a 37 36 6e 43 6e 43 6c 32 0a 4d 51 55 50 64 4b 2b AgEA0Vi/2K6apCVj76nCnCl2.MQUPdK+
35080 41 39 65 71 6b 59 42 61 63 58 6f 32 77 51 42 59 6d 79 56 6c 58 6d 32 2f 6e 2f 5a 73 58 36 70 43 A9eqkYBacXo2wQBYmyVlXm2/n/ZsX6pC
350a0 4c 59 50 51 54 48 79 72 35 6a 58 62 6b 51 7a 42 77 38 53 4b 71 50 64 6c 68 0a 76 41 37 4e 70 62 LYPQTHyr5jXbkQzBw8SKqPdlh.vA7Npb
350c0 4d 65 4e 43 7a 37 77 50 2f 41 6f 62 76 55 58 4d 38 78 51 75 58 4b 62 4d 44 54 59 32 75 5a 34 4f MeNCz7wP/AobvUXM8xQuXKbMDTY2uZ4O
350e0 37 73 4d 2b 50 66 47 62 70 74 4b 50 42 47 4c 65 38 5a 38 64 32 73 55 6e 54 4f 0a 62 58 74 58 36 7sM+PfGbptKPBGLe8Z8d2sUnTO.bXtX6
35100 4c 72 6a 31 33 77 6b 52 74 6f 37 73 74 2f 77 2f 59 70 33 33 52 48 65 39 53 6c 71 6b 69 69 53 34 Lrj13wkRto7st/w/Yp33RHe9SlqkiiS4
35120 4d 73 48 31 6a 42 6b 63 49 6b 45 48 73 52 61 76 65 5a 7a 65 64 55 61 78 59 30 4d 0a 6d 62 61 30 MsH1jBkcIkEHsRaveZzedUaxY0M.mba0
35140 75 50 68 47 55 49 6e 70 50 7a 45 48 77 72 59 71 42 42 45 74 57 76 50 39 37 74 32 76 74 66 78 38 uPhGUInpPzEHwrYqBBEtWvP97t2vtfx8
35160 49 35 71 76 32 38 6b 68 30 59 36 74 2b 6a 6e 6a 4c 31 55 72 69 64 32 69 75 51 5a 66 0a 6e 6f 43 I5qv28kh0Y6t+jnjL1Urid2iuQZf.noC
35180 4d 46 49 4f 75 34 76 6b 73 4b 35 48 78 4a 78 78 72 4e 30 47 4f 6d 47 6d 77 56 51 6a 4f 4f 74 78 MFIOu4vksK5HxJxxrN0GOmGmwVQjOOtx
351a0 6b 77 69 6b 4e 69 6f 74 5a 47 50 52 34 4b 73 56 6a 38 4e 6e 42 72 4c 58 37 6f 47 75 4d 0a 6e 51 kwikNiotZGPR4KsVj8NnBrLX7oGuM.nQ
351c0 76 47 63 69 69 75 2b 4b 6f 43 32 72 33 48 44 42 72 70 44 65 42 56 64 4f 57 78 44 7a 54 35 52 34 vGciiu+KoC2r3HDBrpDeBVdOWxDzT5R4
351e0 69 49 30 4b 6f 4c 7a 46 68 32 70 4b 71 77 62 59 2b 6f 62 4e 50 53 32 62 6a 2b 32 64 67 4a 0a 72 iI0KoLzFh2pKqwbY+obNPS2bj+2dgJ.r
35200 56 33 56 35 4a 6a 72 79 34 32 51 4f 43 42 4e 33 63 38 38 77 55 31 50 4b 66 74 4f 4c 6a 32 45 43 V3V5Jjry42QOCBN3c88wU1PKftOLj2EC
35220 70 65 77 59 36 76 6e 45 34 37 38 49 69 70 69 45 75 37 45 41 64 4b 38 5a 77 6a 32 4c 6d 54 72 0a pewY6vnE478IipiEu7EAdK8Zwj2LmTr.
35240 52 4b 51 55 53 61 39 6b 37 67 67 42 6b 59 5a 57 41 65 4f 2f 32 41 67 30 65 79 33 67 32 62 67 37 RKQUSa9k7ggBkYZWAeO/2Ag0ey3g2bg7
35260 65 71 6b 2b 73 48 45 71 35 79 6e 49 58 64 35 6c 68 76 36 74 43 35 50 42 64 48 6c 57 69 70 44 4b eqk+sHEq5ynIXd5lhv6tC5PBdHlWipDK
35280 0a 74 6c 32 49 78 69 45 6e 65 6a 6e 4f 6d 41 7a 47 56 69 76 45 31 59 47 64 75 59 42 6a 4e 2b 6d .tl2IxiEnejnOmAzGVivE1YGduYBjN+m
352a0 6a 78 44 56 79 38 4b 47 42 72 6a 6e 7a 31 4a 50 67 41 76 67 64 77 4a 32 64 59 77 34 52 73 63 2f jxDVy8KGBrjnz1JPgAvgdwJ2dYw4Rsc/
352c0 65 0a 54 7a 43 46 57 47 6b 2f 48 4d 36 61 34 66 30 49 7a 42 57 62 4a 35 6f 74 30 50 49 69 34 61 e.TzCFWGk/HM6a4f0IzBWbJ5ot0PIi4a
352e0 6d 6b 30 37 49 6f 74 42 58 44 57 77 71 44 69 51 54 77 79 75 47 43 79 6d 35 45 71 57 51 32 42 44 mk07IotBXDWwqDiQTwyuGCym5EqWQ2BD
35300 39 35 0a 52 47 76 38 39 42 50 44 2b 32 44 4c 6e 4a 79 73 6e 67 73 76 56 61 55 43 41 77 45 41 41 95.RGv89BPD+2DLnJysngsvVaUCAwEAA
35320 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 54 41 47 Q==.-----END.PUBLIC.KEY-----.TAG
35340 53 50 55 42 4b 45 59 0a 29 3b 0a 7d 0a 0a 24 70 75 62 6b 65 79 69 64 20 3d 20 6f 70 65 6e 73 73 SPUBKEY.);.}..$pubkeyid.=.openss
35360 6c 5f 70 6b 65 79 5f 67 65 74 5f 70 75 62 6c 69 63 28 24 73 69 67 46 69 6c 65 29 3b 0a 24 61 6c l_pkey_get_public($sigFile);.$al
35380 67 6f 20 3d 20 64 65 66 69 6e 65 64 28 27 4f 50 45 4e 53 53 4c 5f 41 4c 47 4f 5f 53 48 41 33 38 go.=.defined('OPENSSL_ALGO_SHA38
353a0 34 27 29 20 3f 20 4f 50 45 4e 53 53 4c 5f 41 4c 47 4f 5f 53 48 41 33 38 34 20 3a 20 27 53 48 41 4').?.OPENSSL_ALGO_SHA384.:.'SHA
353c0 33 38 34 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 53 48 41 33 38 34 27 2c 20 6f 70 384';.if.(!in_array('SHA384',.op
353e0 65 6e 73 73 6c 5f 67 65 74 5f 6d 64 5f 6d 65 74 68 6f 64 73 28 29 29 29 20 7b 0a 74 68 72 6f 77 enssl_get_md_methods())).{.throw
35400 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 48 41 33 38 34 20 69 .new.\RuntimeException('SHA384.i
35420 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 79 6f 75 72 20 6f 70 65 6e 73 73 6c 20 s.not.supported.by.your.openssl.
35440 65 78 74 65 6e 73 69 6f 6e 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 76 65 72 69 66 79 20 74 68 65 20 extension,.could.not.verify.the.
35460 70 68 61 72 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 27 29 3b 0a 7d 0a 24 73 69 67 6e 61 74 phar.file.integrity');.}.$signat
35480 75 72 65 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 73 69 67 6e 61 74 75 72 65 2c 20 74 72 ure.=.json_decode($signature,.tr
354a0 75 65 29 3b 0a 24 73 69 67 6e 61 74 75 72 65 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 ue);.$signature.=.base64_decode(
354c0 24 73 69 67 6e 61 74 75 72 65 5b 27 73 68 61 33 38 34 27 5d 29 3b 0a 24 76 65 72 69 66 69 65 64 $signature['sha384']);.$verified
354e0 20 3d 20 31 20 3d 3d 3d 20 6f 70 65 6e 73 73 6c 5f 76 65 72 69 66 79 28 66 69 6c 65 5f 67 65 74 .=.1.===.openssl_verify(file_get
35500 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 2c 20 24 73 69 67 6e 61 _contents($tempFilename),.$signa
35520 74 75 72 65 2c 20 24 70 75 62 6b 65 79 69 64 2c 20 24 61 6c 67 6f 29 3b 0a 6f 70 65 6e 73 73 6c ture,.$pubkeyid,.$algo);.openssl
35540 5f 66 72 65 65 5f 6b 65 79 28 24 70 75 62 6b 65 79 69 64 29 3b 0a 69 66 20 28 21 24 76 65 72 69 _free_key($pubkeyid);.if.(!$veri
35560 66 69 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 fied).{.throw.new.\RuntimeExcept
35580 69 6f 6e 28 27 54 68 65 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 20 64 69 64 20 6e 6f 74 20 ion('The.phar.signature.did.not.
355a0 6d 61 74 63 68 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 74 match.the.file.you.downloaded,.t
355c0 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 72 20 70 75 62 6c 69 63 20 6b 65 79 73 20 61 72 65 20 6f his.means.your.public.keys.are.o
355e0 75 74 64 61 74 65 64 20 6f 72 20 74 68 61 74 20 74 68 65 20 70 68 61 72 20 66 69 6c 65 20 69 73 utdated.or.that.the.phar.file.is
35600 20 63 6f 72 72 75 70 74 2f 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 27 29 3b 0a 7d 0a .corrupt/has.been.modified');.}.
35620 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 65 61 }....if.($input->getOption('clea
35640 6e 2d 62 61 63 6b 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 42 61 63 6b 75 n-backups')).{.$this->cleanBacku
35660 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 20 3d 20 ps($rollbackDir);.}..if.($err.=.
35680 24 74 68 69 73 2d 3e 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 $this->setLocalPhar($localFilena
356a0 6d 65 2c 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 46 69 6c 65 29 29 me,.$tempFilename,.$backupFile))
356c0 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 3b 0a 24 69 6f 2d 3e .{.@unlink($tempFilename);.$io->
356e0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 69 6c 65 20 69 73 20 63 writeError('<error>The.file.is.c
35700 6f 72 72 75 70 74 65 64 20 28 27 2e 24 65 72 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 orrupted.('.$err->getMessage().'
35720 29 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ).</error>');.$io->writeError('<
35740 65 72 72 6f 72 3e 50 6c 65 61 73 65 20 72 65 2d 72 75 6e 20 74 68 65 20 73 65 6c 66 2d 75 70 64 error>Please.re-run.the.self-upd
35760 61 74 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 72 79 20 61 67 61 69 6e 2e 3c 2f 65 72 72 6f 72 ate.command.to.try.again.</error
35780 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 >');..return.1;.}..if.(file_exis
357a0 74 73 28 24 62 61 63 6b 75 70 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 ts($backupFile)).{.$io->writeErr
357c0 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 65 20 3c 69 6e 66 6f 3e 63 6f 6d 70 6f 73 65 72 20 or(sprintf(.'Use.<info>composer.
357e0 73 65 6c 66 2d 75 70 64 61 74 65 20 2d 2d 72 6f 6c 6c 62 61 63 6b 3c 2f 69 6e 66 6f 3e 20 74 6f self-update.--rollback</info>.to
35800 20 72 65 74 75 72 6e 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f .return.to.version.<comment>%s</
35820 63 6f 6d 6d 65 6e 74 3e 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 0a 29 29 3b comment>',.Composer::VERSION.));
35840 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e .}.else.{.$io->writeError('<warn
35860 69 6e 67 3e 41 20 62 61 63 6b 75 70 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 65 72 73 ing>A.backup.of.the.current.vers
35880 69 6f 6e 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 27 2e 24 62 ion.could.not.be.written.to.'.$b
358a0 61 63 6b 75 70 46 69 6c 65 2e 27 2c 20 6e 6f 20 72 6f 6c 6c 62 61 63 6b 20 70 6f 73 73 69 62 6c ackupFile.',.no.rollback.possibl
358c0 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 e</warning>');.}.}..protected.fu
358e0 6e 63 74 69 6f 6e 20 66 65 74 63 68 4b 65 79 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f nction.fetchKeys(IOInterface.$io
35900 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 ,.Config.$config).{.if.(!$io->is
35920 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 Interactive()).{.throw.new.\Runt
35940 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 75 62 6c 69 63 20 6b 65 79 73 20 63 61 6e 20 6e 6f imeException('Public.keys.can.no
35960 74 20 62 65 20 66 65 74 63 68 65 64 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 t.be.fetched.in.non-interactive.
35980 6d 6f 64 65 2c 20 70 6c 65 61 73 65 20 72 75 6e 20 43 6f 6d 70 6f 73 65 72 20 69 6e 74 65 72 61 mode,.please.run.Composer.intera
359a0 63 74 69 76 65 6c 79 27 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4f 70 65 6e 20 3c ctively');.}..$io->write('Open.<
359c0 69 6e 66 6f 3e 68 74 74 70 73 3a 2f 2f 63 6f 6d 70 6f 73 65 72 2e 67 69 74 68 75 62 2e 69 6f 2f info>https://composer.github.io/
359e0 70 75 62 6b 65 79 73 2e 68 74 6d 6c 3c 2f 69 6e 66 6f 3e 20 74 6f 20 66 69 6e 64 20 74 68 65 20 pubkeys.html</info>.to.find.the.
35a00 6c 61 74 65 73 74 20 6b 65 79 73 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e latest.keys');..$validator.=.fun
35a20 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 ction.($value).{.if.(!preg_match
35a40 28 27 7b 5e 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 24 7d ('{^-----BEGIN.PUBLIC.KEY-----$}
35a60 27 2c 20 74 72 69 6d 28 24 76 61 6c 75 65 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 ',.trim($value))).{.throw.new.\U
35a80 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 nexpectedValueException('Invalid
35aa0 20 69 6e 70 75 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 76 61 6c 75 65 29 .input');.}..return.trim($value)
35ac0 2e 22 5c 6e 22 3b 0a 7d 3b 0a 0a 24 64 65 76 4b 65 79 20 3d 20 27 27 3b 0a 77 68 69 6c 65 20 28 ."\n";.};..$devKey.=.'';.while.(
35ae0 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 !preg_match('{(-----BEGIN.PUBLIC
35b00 20 4b 45 59 2d 2d 2d 2d 2d 2e 2b 3f 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d .KEY-----.+?-----END.PUBLIC.KEY-
35b20 2d 2d 2d 2d 29 7d 73 27 2c 20 24 64 65 76 4b 65 79 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 64 ----)}s',.$devKey,.$match)).{.$d
35b40 65 76 4b 65 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 27 45 6e 74 evKey.=.$io->askAndValidate('Ent
35b60 65 72 20 44 65 76 20 2f 20 53 6e 61 70 73 68 6f 74 20 50 75 62 6c 69 63 20 4b 65 79 20 28 69 6e er.Dev./.Snapshot.Public.Key.(in
35b80 63 6c 75 64 69 6e 67 20 6c 69 6e 65 73 20 77 69 74 68 20 2d 2d 2d 2d 2d 29 3a 20 27 2c 20 24 76 cluding.lines.with.-----):.',.$v
35ba0 61 6c 69 64 61 74 6f 72 29 3b 0a 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 3d 20 24 69 6f 2d 3e 61 alidator);.while.($line.=.$io->a
35bc0 73 6b 28 27 27 29 29 20 7b 0a 24 64 65 76 4b 65 79 20 2e 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 sk('')).{.$devKey..=.trim($line)
35be0 2e 22 5c 6e 22 3b 0a 69 66 20 28 74 72 69 6d 28 24 6c 69 6e 65 29 20 3d 3d 3d 20 27 2d 2d 2d 2d ."\n";.if.(trim($line).===.'----
35c00 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 29 20 7b 0a 62 72 65 61 6b 3b 0a -END.PUBLIC.KEY-----').{.break;.
35c20 7d 0a 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6b 65 79 50 61 74 68 }.}.}.file_put_contents($keyPath
35c40 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 6b 65 79 73 2e 64 .=.$config->get('home').'/keys.d
35c60 65 76 2e 70 75 62 27 2c 20 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 ev.pub',.$match[0]);.$io->write(
35c80 27 53 74 6f 72 65 64 20 6b 65 79 20 77 69 74 68 20 66 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 'Stored.key.with.fingerprint:.'.
35ca0 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 6b 65 79 50 61 74 68 29 29 3b 0a ..Keys::fingerprint($keyPath));.
35cc0 0a 24 74 61 67 73 4b 65 79 20 3d 20 27 27 3b 0a 77 68 69 6c 65 20 28 21 70 72 65 67 5f 6d 61 74 .$tagsKey.=.'';.while.(!preg_mat
35ce0 63 68 28 27 7b 28 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d ch('{(-----BEGIN.PUBLIC.KEY-----
35d00 2e 2b 3f 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 29 7d 73 27 2c .+?-----END.PUBLIC.KEY-----)}s',
35d20 20 24 74 61 67 73 4b 65 79 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 61 67 73 4b 65 79 20 3d .$tagsKey,.$match)).{.$tagsKey.=
35d40 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 27 45 6e 74 65 72 20 54 61 67 73 .$io->askAndValidate('Enter.Tags
35d60 20 50 75 62 6c 69 63 20 4b 65 79 20 28 69 6e 63 6c 75 64 69 6e 67 20 6c 69 6e 65 73 20 77 69 74 .Public.Key.(including.lines.wit
35d80 68 20 2d 2d 2d 2d 2d 29 3a 20 27 2c 20 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 77 68 69 6c 65 20 h.-----):.',.$validator);.while.
35da0 28 24 6c 69 6e 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 27 29 29 20 7b 0a 24 74 61 67 73 4b 65 ($line.=.$io->ask('')).{.$tagsKe
35dc0 79 20 2e 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 2e 22 5c 6e 22 3b 0a 69 66 20 28 74 72 69 6d 28 y..=.trim($line)."\n";.if.(trim(
35de0 24 6c 69 6e 65 29 20 3d 3d 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d $line).===.'-----END.PUBLIC.KEY-
35e00 2d 2d 2d 2d 27 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 ----').{.break;.}.}.}.file_put_c
35e20 6f 6e 74 65 6e 74 73 28 24 6b 65 79 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 ontents($keyPath.=.$config->get(
35e40 27 68 6f 6d 65 27 29 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 2c 20 24 6d 61 74 63 68 'home').'/keys.tags.pub',.$match
35e60 5b 30 5d 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 74 6f 72 65 64 20 6b 65 79 20 77 69 74 [0]);.$io->write('Stored.key.wit
35e80 68 20 66 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 h.fingerprint:.'...Keys::fingerp
35ea0 72 69 6e 74 28 24 6b 65 79 50 61 74 68 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 50 75 rint($keyPath));..$io->write('Pu
35ec0 62 6c 69 63 20 6b 65 79 73 20 73 74 6f 72 65 64 20 69 6e 20 27 2e 24 63 6f 6e 66 69 67 2d 3e 67 blic.keys.stored.in.'.$config->g
35ee0 65 74 28 27 68 6f 6d 65 27 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 et('home'));.}..protected.functi
35f00 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 on.rollback(OutputInterface.$out
35f20 70 75 74 2c 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d put,.$rollbackDir,.$localFilenam
35f40 65 29 0a 7b 0a 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 e).{.$rollbackVersion.=.$this->g
35f60 65 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 etLastBackupVersion($rollbackDir
35f80 29 3b 0a 69 66 20 28 21 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 29 20 7b 0a 74 68 72 6f );.if.(!$rollbackVersion).{.thro
35fa0 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 w.new.\UnexpectedValueException(
35fc0 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a 20 6e 6f 20 69 6e 'Composer.rollback.failed:.no.in
35fe0 73 74 61 6c 6c 61 74 69 6f 6e 20 74 6f 20 72 6f 6c 6c 20 62 61 63 6b 20 74 6f 20 69 6e 20 22 27 stallation.to.roll.back.to.in."'
36000 2e 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2e 27 22 27 29 3b 0a 7d 0a 0a 24 6f 6c 64 46 69 6c 65 20 .$rollbackDir.'"');.}..$oldFile.
36020 3d 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 20 2e 20 27 2f 27 20 2e 20 24 72 6f 6c 6c 62 61 63 6b =.$rollbackDir...'/'...$rollback
36040 56 65 72 73 69 6f 6e 20 2e 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 3b Version...self::OLD_INSTALL_EXT;
36060 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 6f 6c 64 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f ..if.(!is_file($oldFile)).{.thro
36080 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f w.new.FilesystemException('Compo
360a0 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 6f 6c 64 46 69 6c 65 ser.rollback.failed:."'.$oldFile
360c0 2e 27 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 69 66 20 28 .'".could.not.be.found');.}.if.(
360e0 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 6f 6c 64 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 !is_readable($oldFile)).{.throw.
36100 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 new.FilesystemException('Compose
36120 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 6f 6c 64 46 69 6c 65 2e 27 r.rollback.failed:."'.$oldFile.'
36140 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 27 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 ".could.not.be.read');.}..$io.=.
36160 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 $this->getIO();.$io->writeError(
36180 73 70 72 69 6e 74 66 28 22 52 6f 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 76 65 72 73 69 6f 6e sprintf("Rolling.back.to.version
361a0 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 2e 22 2c 20 24 72 6f 6c 6c 62 61 63 6b 56 65 72 .<info>%s</info>.",.$rollbackVer
361c0 73 69 6f 6e 29 29 3b 0a 69 66 20 28 24 65 72 72 20 3d 20 24 74 68 69 73 2d 3e 73 65 74 4c 6f 63 sion));.if.($err.=.$this->setLoc
361e0 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 6f 6c 64 46 69 6c 65 29 alPhar($localFilename,.$oldFile)
36200 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 ).{.$io->writeError('<error>The.
36220 62 61 63 6b 75 70 20 66 69 6c 65 20 77 61 73 20 63 6f 72 72 75 70 74 65 64 20 28 27 2e 24 65 72 backup.file.was.corrupted.('.$er
36240 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a r->getMessage().').</error>');..
36260 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a return.1;.}..return.0;.}........
36280 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 61 6c 50 68 61 72 .protected.function.setLocalPhar
362a0 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 24 ($localFilename,.$newFilename,.$
362c0 62 61 63 6b 75 70 54 61 72 67 65 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 74 72 79 20 7b 0a 40 63 68 backupTarget.=.null).{.try.{.@ch
362e0 6d 6f 64 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 66 69 6c 65 70 65 72 6d 73 28 24 6c 6f 63 mod($newFilename,.fileperms($loc
36300 61 6c 46 69 6c 65 6e 61 6d 65 29 29 3b 0a 69 66 20 28 21 69 6e 69 5f 67 65 74 28 27 70 68 61 72 alFilename));.if.(!ini_get('phar
36320 2e 72 65 61 64 6f 6e 6c 79 27 29 29 20 7b 0a 0a 20 24 70 68 61 72 20 3d 20 6e 65 77 20 5c 50 68 .readonly')).{...$phar.=.new.\Ph
36340 61 72 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 20 75 6e 73 65 74 28 24 70 68 61 72 29 ar($newFilename);...unset($phar)
36360 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 61 63 6b 75 70 54 61 72 67 65 74 20 26 26 20 66 69 6c 65 ;.}....if.($backupTarget.&&.file
36380 5f 65 78 69 73 74 73 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 40 63 6f 70 79 _exists($localFilename)).{.@copy
363a0 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 54 61 72 67 65 74 29 3b ($localFilename,.$backupTarget);
363c0 0a 7d 0a 0a 72 65 6e 61 6d 65 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 24 6c 6f 63 61 6c 46 .}..rename($newFilename,.$localF
363e0 69 6c 65 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 20 63 61 74 63 68 20 ilename);..return.null;.}.catch.
36400 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 65 20 69 6e 73 74 61 6e (\Exception.$e).{.if.(!$e.instan
36420 63 65 6f 66 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 26 ceof.\UnexpectedValueException.&
36440 26 20 21 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 68 61 72 45 78 63 65 70 74 69 6f 6e 29 &.!$e.instanceof.\PharException)
36460 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a .{.throw.$e;.}..return.$e;.}.}..
36480 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 42 61 63 6b 75 70 73 28 protected.function.cleanBackups(
364a0 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 65 78 63 65 70 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a $rollbackDir,.$except.=.null).{.
364c0 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 $finder.=.$this->getOldInstallat
364e0 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 24 69 6f 20 3d 20 24 ionFinder($rollbackDir);.$io.=.$
36500 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 this->getIO();.$fs.=.new.Filesys
36520 74 65 6d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 66 69 6c 65 29 tem;..foreach.($finder.as.$file)
36540 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 20 26 26 20 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 .{.if.($except.&&.$file->getBase
36560 6e 61 6d 65 28 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 29 20 3d 3d 3d 20 name(self::OLD_INSTALL_EXT).===.
36580 24 65 78 63 65 70 74 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 66 69 6c 65 20 3d 20 28 $except).{.continue;.}.$file.=.(
365a0 73 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 string).$file;.$io->writeError('
365c0 3c 69 6e 66 6f 3e 52 65 6d 6f 76 69 6e 67 3a 20 27 2e 24 66 69 6c 65 2e 27 3c 2f 69 6e 66 6f 3e <info>Removing:.'.$file.'</info>
365e0 27 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f ');.$fs->remove($file);.}.}..pro
36600 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 tected.function.getLastBackupVer
36620 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 24 sion($rollbackDir).{.$finder.=.$
36640 74 68 69 73 2d 3e 67 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 this->getOldInstallationFinder($
36660 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 24 66 69 6e 64 65 72 2d 3e 73 6f 72 74 42 79 4e 61 6d rollbackDir);.$finder->sortByNam
36680 65 28 29 3b 0a 24 66 69 6c 65 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 e();.$files.=.iterator_to_array(
366a0 24 66 69 6e 64 65 72 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 66 69 6c 65 73 29 29 20 7b 0a $finder);..if.(count($files)).{.
366c0 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 65 6e 64 28 24 66 69 6c 65 73 29 2c 20 73 65 6c return.basename(end($files),.sel
366e0 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 f::OLD_INSTALL_EXT);.}..return.f
36700 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f alse;.}..protected.function.getO
36720 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 ldInstallationFinder($rollbackDi
36740 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a r).{.$finder.=.Finder::create().
36760 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 66 69 6c 65 73 28 29 0a 2d 3e 6e 61 6d 65 28 27 2a 27 20 ->depth(0).->files().->name('*'.
36780 2e 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 29 0a 2d 3e 69 6e 28 24 72 ..self::OLD_INSTALL_EXT).->in($r
367a0 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 69 6e 64 65 72 3b 0a 7d 0a ollbackDir);..return.$finder;.}.
367c0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
367e0 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d poser\Command;..use.Composer\Com
36800 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 poser;.use.Composer\DependencyRe
36820 73 6f 6c 76 65 72 5c 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 solver\DefaultPolicy;.use.Compos
36840 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 er\DependencyResolver\Pool;.use.
36860 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 Composer\Json\JsonFile;.use.Comp
36880 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f oser\Package\BasePackage;.use.Co
368a0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e mposer\Package\CompletePackageIn
368c0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 terface;.use.Composer\Package\Pa
368e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ckageInterface;.use.Composer\Pac
36900 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 kage\Version\VersionParser;.use.
36920 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e Composer\Package\Version\Version
36940 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f Selector;.use.Composer\Plugin\Co
36960 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c mmandEvent;.use.Composer\Plugin\
36980 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 PluginEvents;.use.Composer\Repos
369a0 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f itory\ArrayRepository;.use.Compo
369c0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 ser\Repository\ComposerRepositor
369e0 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f y;.use.Composer\Repository\Compo
36a00 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 siteRepository;.use.Composer\Rep
36a20 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 ository\PlatformRepository;.use.
36a40 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 Composer\Repository\RepositoryFa
36a60 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 ctory;.use.Composer\Repository\R
36a80 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 epositoryInterface;.use.Composer
36aa0 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 \Semver\Constraint\ConstraintInt
36ac0 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 53 65 6d 76 erface;.use.Composer\Semver\Semv
36ae0 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 er;.use.Composer\Spdx\SpdxLicens
36b00 65 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a es;.use.Composer\Util\Platform;.
36b20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f use.Symfony\Component\Console\Fo
36b40 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 rmatter\OutputFormatterStyle;.us
36b60 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
36b80 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d t\InputArgument;.use.Symfony\Com
36ba0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 ponent\Console\Input\InputInterf
36bc0 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
36be0 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e le\Input\InputOption;.use.Symfon
36c00 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 y\Component\Console\Output\Outpu
36c20 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tInterface;.use.Symfony\Componen
36c40 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 t\Console\Terminal;........class
36c60 20 53 68 6f 77 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 .ShowCommand.extends.BaseCommand
36c80 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 .{..protected.$versionParser;.pr
36ca0 6f 74 65 63 74 65 64 20 24 63 6f 6c 6f 72 73 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c otected.$colors;...private.$pool
36cc0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 ;..protected.function.configure(
36ce0 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 68 6f 77 27 29 0a 2d 3e 73 65 ).{.$this.->setName('show').->se
36d00 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 69 6e 66 6f 27 29 29 0a 2d 3e 73 65 74 44 65 73 tAliases(array('info')).->setDes
36d20 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 cription('Shows.information.abou
36d40 74 20 70 61 63 6b 61 67 65 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 t.packages.').->setDefinition(ar
36d60 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 ray(.new.InputArgument('package'
36d80 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b ,.InputArgument::OPTIONAL,.'Pack
36da0 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 2e 20 4f 72 20 61 20 6e 61 6d 65 20 69 6e 63 6c 75 64 age.to.inspect..Or.a.name.includ
36dc0 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64 20 28 2a 29 20 74 6f 20 66 69 6c 74 65 72 20 6c 69 73 ing.a.wildcard.(*).to.filter.lis
36de0 74 73 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 ts.of.packages.instead.'),.new.I
36e00 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e 70 75 74 41 72 67 nputArgument('version',.InputArg
36e20 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 73 69 6f 6e 20 6f 72 20 76 65 72 ument::OPTIONAL,.'Version.or.ver
36e40 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 69 6e 73 70 65 63 74 27 29 2c 0a 6e 65 sion.constraint.to.inspect'),.ne
36e60 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 w.InputOption('all',.null,.Input
36e80 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 61 6c 6c 20 70 61 Option::VALUE_NONE,.'List.all.pa
36ea0 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 ckages'),.new.InputOption('insta
36ec0 6c 6c 65 64 27 2c 20 27 69 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e lled',.'i',.InputOption::VALUE_N
36ee0 4f 4e 45 2c 20 27 4c 69 73 74 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 6f 6e ONE,.'List.installed.packages.on
36f00 6c 79 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 ly.(enabled.by.default,.only.pre
36f20 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e sent.for.BC).'),.new.InputOption
36f40 28 27 70 6c 61 74 66 6f 72 6d 27 2c 20 27 70 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ('platform',.'p',.InputOption::V
36f60 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 70 6c 61 74 66 6f 72 6d 20 70 61 63 6b 61 67 ALUE_NONE,.'List.platform.packag
36f80 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 es.only'),.new.InputOption('avai
36fa0 6c 61 62 6c 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f lable',.'a',.InputOption::VALUE_
36fc0 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 73 20 6f NONE,.'List.available.packages.o
36fe0 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 65 6c 66 27 2c 20 27 nly'),.new.InputOption('self',.'
37000 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 s',.InputOption::VALUE_NONE,.'Sh
37020 6f 77 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 ow.the.root.package.information'
37040 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 2c 20 ),.new.InputOption('name-only',.
37060 27 4e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 'N',.InputOption::VALUE_NONE,.'L
37080 69 73 74 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e ist.package.names.only'),.new.In
370a0 70 75 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 27 50 27 2c 20 49 6e 70 75 74 4f 70 74 69 putOption('path',.'P',.InputOpti
370c0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 70 61 63 6b 61 67 65 20 70 61 on::VALUE_NONE,.'Show.package.pa
370e0 74 68 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 2c 20 27 ths'),.new.InputOption('tree',.'
37100 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 t',.InputOption::VALUE_NONE,.'Li
37120 73 74 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 61 20 74 72 65 65 27 29 2c st.the.dependencies.as.a.tree'),
37140 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 27 6c 27 2c 20 .new.InputOption('latest',.'l',.
37160 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 74 InputOption::VALUE_NONE,.'Show.t
37180 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 he.latest.version'),.new.InputOp
371a0 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f tion('outdated',.'o',.InputOptio
371c0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 74 68 65 20 6c 61 74 65 73 74 20 n::VALUE_NONE,.'Show.the.latest.
371e0 76 65 72 73 69 6f 6e 20 62 75 74 20 6f 6e 6c 79 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 74 68 version.but.only.for.packages.th
37200 61 74 20 61 72 65 20 6f 75 74 64 61 74 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 at.are.outdated'),.new.InputOpti
37220 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 2c 20 27 6d 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f on('minor-only',.'m',.InputOptio
37240 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 67 n::VALUE_NONE,.'Show.only.packag
37260 65 73 20 74 68 61 74 20 68 61 76 65 20 6d 69 6e 6f 72 20 53 65 6d 56 65 72 2d 63 6f 6d 70 61 74 es.that.have.minor.SemVer-compat
37280 69 62 6c 65 20 75 70 64 61 74 65 73 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 ible.updates..Use.with.the.--out
372a0 64 61 74 65 64 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e dated.option.'),.new.InputOption
372c0 28 27 64 69 72 65 63 74 27 2c 20 27 44 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ('direct',.'D',.InputOption::VAL
372e0 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 UE_NONE,.'Shows.only.packages.th
37300 61 74 20 61 72 65 20 64 69 72 65 63 74 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 at.are.directly.required.by.the.
37320 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 root.package'),.new.InputOption(
37340 27 73 74 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 'strict',.null,.InputOption::VAL
37360 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 UE_NONE,.'Return.a.non-zero.exit
37380 20 63 6f 64 65 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 70 61 .code.when.there.are.outdated.pa
373a0 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 ckages'),.new.InputOption('forma
373c0 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 t',.'f',.InputOption::VALUE_REQU
373e0 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 IRED,.'Format.of.the.output:.tex
37400 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 74 65 78 74 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c t.or.json',.'text'),.)).->setHel
37420 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 68 6f 77 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c p(.<<<EOT.The.show.command.displ
37440 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 ays.detailed.information.about.a
37460 20 70 61 63 6b 61 67 65 2c 20 6f 72 0a 6c 69 73 74 73 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 .package,.or.lists.all.packages.
37480 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 available...EOT.).;.}..protected
374a0 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 .function.execute(InputInterface
374c0 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 .$input,.OutputInterface.$output
374e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 ).{.$this->versionParser.=.new.V
37500 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ersionParser;.if.($input->getOpt
37520 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 53 74 79 6c 65 73 ion('tree')).{.$this->initStyles
37540 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d ($output);.}..$composer.=.$this-
37560 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 >getComposer(false);.$io.=.$this
37580 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ->getIO();..if.($input->getOptio
375a0 6e 28 27 69 6e 73 74 61 6c 6c 65 64 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f n('installed')).{.$io->writeErro
375c0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 r('<warning>You.are.using.the.de
375e0 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 69 6e 73 74 61 6c 6c 65 64 22 2e 20 4f 6e 6c precated.option."installed"..Onl
37600 79 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 73 68 6f 77 6e 20 62 y.installed.packages.are.shown.b
37620 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 20 54 68 65 20 2d 2d 61 6c 6c 20 6f 70 74 69 6f 6e 20 y.default.now..The.--all.option.
37640 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 68 6f 77 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 can.be.used.to.show.all.packages
37660 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 .</warning>');.}..if.($input->ge
37680 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 tOption('outdated')).{.$input->s
376a0 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 etOption('latest',.true);.}..if.
376c0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 29 20 26 26 20 ($input->getOption('direct').&&.
376e0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 7c 7c 20 24 69 6e ($input->getOption('all').||.$in
37700 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 20 7c 7c 20 24 put->getOption('available').||.$
37720 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 29 29 29 20 7b input->getOption('platform'))).{
37740 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 20 2d 2d 64 69 72 65 63 74 20 28 .$io->writeError('The.--direct.(
37760 2d 44 29 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 -D).option.is.not.usable.in.comb
37780 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d 2d 61 6c 6c 2c 20 2d 2d 70 6c 61 74 66 6f 72 6d 20 28 ination.with.--all,.--platform.(
377a0 2d 70 29 20 6f 72 20 2d 2d 61 76 61 69 6c 61 62 6c 65 20 28 2d 61 29 27 29 3b 0a 0a 72 65 74 75 -p).or.--available.(-a)');..retu
377c0 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 rn.1;.}..if.($input->getOption('
377e0 74 72 65 65 27 29 20 26 26 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c tree').&&.($input->getOption('al
37800 6c 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 l').||.$input->getOption('availa
37820 62 6c 65 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 20 2d ble'))).{.$io->writeError('The.-
37840 2d 74 72 65 65 20 28 2d 74 29 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 62 6c 65 20 -tree.(-t).option.is.not.usable.
37860 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d 2d 61 6c 6c 20 6f 72 20 2d 2d 61 in.combination.with.--all.or.--a
37880 76 61 69 6c 61 62 6c 65 20 28 2d 61 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 vailable.(-a)');..return.1;.}..i
378a0 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 20 26 26 20 f.($input->getOption('tree').&&.
378c0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 29 20 7b 0a 24 $input->getOption('latest')).{.$
378e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 20 2d 2d 74 72 65 65 20 28 2d 74 29 20 io->writeError('The.--tree.(-t).
37900 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 option.is.not.usable.in.combinat
37920 69 6f 6e 20 77 69 74 68 20 2d 2d 6c 61 74 65 73 74 20 28 2d 6c 29 27 29 3b 0a 0a 72 65 74 75 72 ion.with.--latest.(-l)');..retur
37940 6e 20 31 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 n.1;.}..$format.=.$input->getOpt
37960 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 6f ion('format');.if.(!in_array($fo
37980 72 6d 61 74 2c 20 61 72 72 61 79 28 27 74 65 78 74 27 2c 20 27 6a 73 6f 6e 27 29 29 29 20 7b 0a rmat,.array('text',.'json'))).{.
379a0 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f $io->writeError(sprintf('Unsuppo
379c0 72 74 65 64 20 66 6f 72 6d 61 74 20 22 25 73 22 2e 20 53 65 65 20 68 65 6c 70 20 66 6f 72 20 73 rted.format."%s"..See.help.for.s
379e0 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 73 2e 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 0a upported.formats.',.$format));..
37a00 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 return.1;.}....$platformOverride
37a20 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 s.=.array();.if.($composer).{.$p
37a40 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 latformOverrides.=.$composer->ge
37a60 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 tConfig()->get('platform').?:.ar
37a80 72 61 79 28 29 3b 0a 7d 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 ray();.}.$platformRepo.=.new.Pla
37aa0 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f tformRepository(array(),.$platfo
37ac0 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 6c 61 rmOverrides);.$phpVersion.=.$pla
37ae0 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a tformRepo->findPackage('php',.'*
37b00 27 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 ')->getVersion();..if.($input->g
37b20 65 74 4f 70 74 69 6f 6e 28 27 73 65 6c 66 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 etOption('self')).{.$package.=.$
37b40 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 this->getComposer()->getPackage(
37b60 29 3b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 );.$repos.=.$installedRepo.=.new
37b80 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 29 .ArrayRepository(array($package)
37ba0 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 );.}.elseif.($input->getOption('
37bc0 70 6c 61 74 66 6f 72 6d 27 29 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 platform')).{.$repos.=.$installe
37be0 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 7d 20 65 6c 73 65 69 66 20 dRepo.=.$platformRepo;.}.elseif.
37c00 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 29 ($input->getOption('available'))
37c20 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 .{.$installedRepo.=.$platformRep
37c40 6f 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 o;.if.($composer).{.$repos.=.new
37c60 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e .CompositeRepository($composer->
37c80 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 getRepositoryManager()->getRepos
37ca0 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 itories());.}.else.{.$defaultRep
37cc0 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 os.=.RepositoryFactory::defaultR
37ce0 65 70 6f 73 28 24 69 6f 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 epos($io);.$repos.=.new.Composit
37d00 65 52 65 70 6f 73 69 74 6f 72 79 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 3b 0a 24 69 6f 2d eRepository($defaultRepos);.$io-
37d20 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f >writeError('No.composer.json.fo
37d40 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 68 und.in.the.current.directory,.sh
37d60 6f 77 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 owing.available.packages.from.'.
37d80 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 61 ..implode(',.',.array_keys($defa
37da0 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d ultRepos)));.}.}.elseif.($input-
37dc0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 29 20 >getOption('all').&&.$composer).
37de0 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 {.$localRepo.=.$composer->getRep
37e00 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 ositoryManager()->getLocalReposi
37e20 74 6f 72 79 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d tory();.$installedRepo.=.new.Com
37e40 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 6c 6f 63 61 6c 52 65 70 positeRepository(array($localRep
37e60 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 o,.$platformRepo));.$repos.=.new
37e80 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 .CompositeRepository(array_merge
37ea0 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 65 (array($installedRepo),.$compose
37ec0 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 r->getRepositoryManager()->getRe
37ee0 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 positories()));.}.elseif.($input
37f00 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 ->getOption('all')).{.$defaultRe
37f20 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 pos.=.RepositoryFactory::default
37f40 52 65 70 6f 73 28 24 69 6f 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 Repos($io);.$io->writeError('No.
37f60 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 composer.json.found.in.the.curre
37f80 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 68 6f 77 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 nt.directory,.showing.available.
37fa0 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 packages.from.'...implode(',.',.
37fc0 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 24 69 6e array_keys($defaultRepos)));.$in
37fe0 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 24 72 65 stalledRepo.=.$platformRepo;.$re
38000 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 pos.=.new.CompositeRepository(ar
38020 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c ray_merge(array($installedRepo),
38040 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f .$defaultRepos));.}.else.{.$repo
38060 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 s.=.$installedRepo.=.$this->getC
38080 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 omposer()->getRepositoryManager(
380a0 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 6f 6f 74 50 6b )->getLocalRepository();.$rootPk
380c0 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 g.=.$this->getComposer()->getPac
380e0 6b 61 67 65 28 29 3b 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 kage();.if.(!$installedRepo->get
38100 50 61 63 6b 61 67 65 73 28 29 20 26 26 20 28 24 72 6f 6f 74 50 6b 67 2d 3e 67 65 74 52 65 71 75 Packages().&&.($rootPkg->getRequ
38120 69 72 65 73 28 29 20 7c 7c 20 24 72 6f 6f 74 50 6b 67 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 ires().||.$rootPkg->getDevRequir
38140 65 73 28 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 es())).{.$io->writeError('<warni
38160 6e 67 3e 4e 6f 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 69 6e 73 74 61 6c 6c 65 64 2e 20 54 72 ng>No.dependencies.installed..Tr
38180 79 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 20 6f 72 20 75 70 y.running.composer.install.or.up
381a0 64 61 74 65 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d date.</warning>');.}.}..if.($com
381c0 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d poser).{.$commandEvent.=.new.Com
381e0 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c mandEvent(PluginEvents::COMMAND,
38200 20 27 73 68 6f 77 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 .'show',.$input,.$output);.$comp
38220 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 oser->getEventDispatcher()->disp
38240 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 atch($commandEvent->getName(),.$
38260 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 commandEvent);.}..if.($input->ge
38280 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 63 tOption('latest').&&.null.===.$c
382a0 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 omposer).{.$io->writeError('No.c
382c0 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e omposer.json.found.in.the.curren
382e0 74 20 64 69 72 65 63 74 6f 72 79 2c 20 64 69 73 61 62 6c 69 6e 67 20 22 6c 61 74 65 73 74 22 20 t.directory,.disabling."latest".
38300 6f 70 74 69 6f 6e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 option');.$input->setOption('lat
38320 65 73 74 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 est',.false);.}..$packageFilter.
38340 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 =.$input->getArgument('package')
38360 3b 0a 0a 0a 20 69 66 20 28 28 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 26 26 20 66 61 6c 73 ;....if.(($packageFilter.&&.fals
38380 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 2c 20 27 2a 27 e.===.strpos($packageFilter,.'*'
383a0 29 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 69 66 20 28 65 6d )).||.!empty($package)).{.if.(em
383c0 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 pty($package)).{.list($package,.
383e0 24 76 65 72 73 69 6f 6e 73 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 24 $versions).=.$this->getPackage($
38400 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 2c 20 24 69 6e 70 75 74 2d 3e 67 installedRepo,.$repos,.$input->g
38420 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 20 24 69 6e 70 75 74 2d 3e 67 etArgument('package'),.$input->g
38440 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 29 3b 0a 0a 69 66 20 28 65 6d 70 etArgument('version'));..if.(emp
38460 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 69 6e 70 75 ty($package)).{.$options.=.$inpu
38480 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 t->getOptions();.if.(!isset($opt
384a0 69 6f 6e 73 5b 27 77 6f 72 6b 69 6e 67 2d 64 69 72 27 5d 29 20 7c 7c 20 21 66 69 6c 65 5f 65 78 ions['working-dir']).||.!file_ex
384c0 69 73 74 73 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e ists('composer.json')).{.throw.n
384e0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 ew.\InvalidArgumentException('Pa
38500 63 6b 61 67 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 2e 20 27 20 6e 6f 74 ckage.'...$packageFilter...'.not
38520 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 50 61 .found');.}..$io->writeError('Pa
38540 63 6b 61 67 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 2e 20 27 20 6e 6f 74 ckage.'...$packageFilter...'.not
38560 20 66 6f 75 6e 64 20 69 6e 20 27 20 2e 20 24 6f 70 74 69 6f 6e 73 5b 27 77 6f 72 6b 69 6e 67 2d .found.in.'...$options['working-
38580 64 69 72 27 5d 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 72 65 74 75 dir']...'/composer.json');..retu
385a0 72 6e 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 rn.1;.}.}.else.{.$versions.=.arr
385c0 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 ay($package->getPrettyVersion().
385e0 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 24 =>.$package->getVersion());.}..$
38600 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 exitCode.=.0;.if.($input->getOpt
38620 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 61 72 72 61 79 54 72 65 65 20 3d 20 24 74 68 69 ion('tree')).{.$arrayTree.=.$thi
38640 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 24 70 61 63 6b 61 67 65 2c s->generatePackageTree($package,
38660 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 29 3b 0a 0a 69 66 20 28 27 .$installedRepo,.$repos);..if.('
38680 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 json'.===.$format).{.$io->write(
386a0 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 72 61 79 28 27 69 6e 73 74 61 6c 6c 65 JsonFile::encode(array('installe
386c0 64 27 20 3d 3e 20 61 72 72 61 79 28 24 61 72 72 61 79 54 72 65 65 29 29 29 29 3b 0a 7d 20 65 6c d'.=>.array($arrayTree))));.}.el
386e0 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 65 65 28 61 se.{.$this->displayPackageTree(a
38700 72 72 61 79 28 24 61 72 72 61 79 54 72 65 65 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c rray($arrayTree));.}.}.else.{.$l
38720 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d atestPackage.=.null;.if.($input-
38740 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 >getOption('latest')).{.$latestP
38760 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4c 61 74 65 73 74 50 61 63 6b 61 67 ackage.=.$this->findLatestPackag
38780 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 70 68 70 56 65 72 73 69 e($package,.$composer,.$phpVersi
387a0 6f 6e 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 on);.}.if.($input->getOption('ou
387c0 74 64 61 74 65 64 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 tdated').&&.$input->getOption('s
387e0 74 72 69 63 74 27 29 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 trict').&&.$latestPackage.&&.$la
38800 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f testPackage->getFullPrettyVersio
38820 6e 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 n().!==.$package->getFullPrettyV
38840 65 72 73 69 6f 6e 28 29 20 26 26 20 21 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 ersion().&&.!$latestPackage->isA
38860 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 24 bandoned()).{.$exitCode.=.1;.}.$
38880 74 68 69 73 2d 3e 70 72 69 6e 74 4d 65 74 61 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 this->printMeta($package,.$versi
388a0 6f 6e 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 61 74 65 73 74 50 61 63 6b ons,.$installedRepo,.$latestPack
388c0 61 67 65 20 3f 3a 20 6e 75 6c 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 age.?:.null);.$this->printLinks(
388e0 24 70 61 63 6b 61 67 65 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 $package,.'requires');.$this->pr
38900 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 intLinks($package,.'devRequires'
38920 2c 20 27 72 65 71 75 69 72 65 73 20 28 64 65 76 29 27 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 ,.'requires.(dev)');.if.($packag
38940 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 e->getSuggests()).{.$io->write("
38960 5c 6e 3c 69 6e 66 6f 3e 73 75 67 67 65 73 74 73 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 \n<info>suggests</info>");.forea
38980 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 ch.($package->getSuggests().as.$
389a0 73 75 67 67 65 73 74 65 64 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 suggested.=>.$reason).{.$io->wri
389c0 74 65 28 24 73 75 67 67 65 73 74 65 64 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 te($suggested...'.<comment>'...$
389e0 72 65 61 73 6f 6e 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 24 74 68 69 reason...'</comment>');.}.}.$thi
38a00 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 70 72 6f 76 69 64 65 s->printLinks($package,.'provide
38a20 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c s');.$this->printLinks($package,
38a40 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 .'conflicts');.$this->printLinks
38a60 28 24 70 61 63 6b 61 67 65 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 ($package,.'replaces');.}..retur
38a80 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 n.$exitCode;.}....if.($input->ge
38aa0 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 tOption('tree')).{.$rootRequires
38ac0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 52 65 71 75 69 72 65 73 28 29 3b 0a 24 70 61 .=.$this->getRootRequires();.$pa
38ae0 63 6b 61 67 65 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b ckages.=.$installedRepo->getPack
38b00 61 67 65 73 28 29 3b 0a 75 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 2c 20 27 73 74 72 63 6d 70 ages();.usort($packages,.'strcmp
38b20 27 29 3b 0a 24 61 72 72 61 79 54 72 65 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 ');.$arrayTree.=.array();.foreac
38b40 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 h.($packages.as.$package).{.if.(
38b60 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 in_array($package->getName(),.$r
38b80 6f 6f 74 52 65 71 75 69 72 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 24 61 72 72 61 79 54 72 65 65 ootRequires,.true)).{.$arrayTree
38ba0 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 [].=.$this->generatePackageTree(
38bc0 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 $package,.$installedRepo,.$repos
38be0 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 );.}.}..if.('json'.===.$format).
38c00 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 {.$io->write(JsonFile::encode(ar
38c20 72 61 79 28 27 69 6e 73 74 61 6c 6c 65 64 27 20 3d 3e 20 24 61 72 72 61 79 54 72 65 65 29 29 29 ray('installed'.=>.$arrayTree)))
38c40 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 ;.}.else.{.$this->displayPackage
38c60 54 72 65 65 28 24 61 72 72 61 79 54 72 65 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d Tree($arrayTree);.}..return.0;.}
38c80 0a 0a 69 66 20 28 24 72 65 70 6f 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 ..if.($repos.instanceof.Composit
38ca0 65 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 73 2d 3e eRepository).{.$repos.=.$repos->
38cc0 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 getRepositories();.}.elseif.(!is
38ce0 5f 61 72 72 61 79 28 24 72 65 70 6f 73 29 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 _array($repos)).{.$repos.=.array
38d00 28 24 72 65 70 6f 73 29 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 ($repos);.}....$packages.=.array
38d20 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 29 ();.if.(null.!==.$packageFilter)
38d40 20 7b 0a 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 3d 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 .{.$packageFilter.=.'{^'.str_rep
38d60 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 2e 2a 3f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 lace('\\*',.'.*?',.preg_quote($p
38d80 61 63 6b 61 67 65 46 69 6c 74 65 72 29 29 2e 27 24 7d 69 27 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 ackageFilter)).'$}i';.}..$packag
38da0 65 4c 69 73 74 46 69 6c 74 65 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 eListFilter.=.array();.if.($inpu
38dc0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 70 61 63 6b 61 t->getOption('direct')).{.$packa
38de0 67 65 4c 69 73 74 46 69 6c 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 52 65 71 geListFilter.=.$this->getRootReq
38e00 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 uires();.}..if.(class_exists('Sy
38e20 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c mfony\Component\Console\Terminal
38e40 27 29 29 20 7b 0a 24 74 65 72 6d 69 6e 61 6c 20 3d 20 6e 65 77 20 54 65 72 6d 69 6e 61 6c 28 29 ')).{.$terminal.=.new.Terminal()
38e60 3b 0a 24 77 69 64 74 68 20 3d 20 24 74 65 72 6d 69 6e 61 6c 2d 3e 67 65 74 57 69 64 74 68 28 29 ;.$width.=.$terminal->getWidth()
38e80 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 6c 69 73 74 28 24 77 69 64 74 68 29 20 3d 20 24 74 68 69 ;.}.else.{...list($width).=.$thi
38ea0 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c s->getApplication()->getTerminal
38ec0 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 77 69 Dimensions();.}.if.(null.===.$wi
38ee0 64 74 68 29 20 7b 0a 0a 20 0a 20 24 77 69 64 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b dth).{.....$width.=.PHP_INT_MAX;
38f00 0a 7d 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a .}.if.(Platform::isWindows()).{.
38f20 24 77 69 64 74 68 2d 2d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 $width--;.}.else.{.$width.=.max(
38f40 38 30 2c 20 24 77 69 64 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 80,.$width);.}..if.($input->getO
38f60 70 74 69 6f 6e 28 27 70 61 74 68 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f ption('path').&&.null.===.$compo
38f80 73 65 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f ser).{.$io->writeError('No.compo
38fa0 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 ser.json.found.in.the.current.di
38fc0 72 65 63 74 6f 72 79 2c 20 64 69 73 61 62 6c 69 6e 67 20 22 70 61 74 68 22 20 6f 70 74 69 6f 6e rectory,.disabling."path".option
38fe0 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 66 61 ');.$input->setOption('path',.fa
39000 6c 73 65 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 lse);.}..foreach.($repos.as.$rep
39020 6f 29 20 7b 0a 69 66 20 28 24 72 65 70 6f 20 3d 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f o).{.if.($repo.===.$platformRepo
39040 29 20 7b 0a 24 74 79 70 65 20 3d 20 27 70 6c 61 74 66 6f 72 6d 27 3b 0a 7d 20 65 6c 73 65 69 66 ).{.$type.=.'platform';.}.elseif
39060 20 28 0a 24 72 65 70 6f 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 0a 7c 7c 20 28 .(.$repo.===.$installedRepo.||.(
39080 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 $installedRepo.instanceof.Compos
390a0 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 72 65 70 6f 2c iteRepository.&&.in_array($repo,
390c0 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 .$installedRepo->getRepositories
390e0 28 29 2c 20 74 72 75 65 29 29 0a 29 20 7b 0a 24 74 79 70 65 20 3d 20 27 69 6e 73 74 61 6c 6c 65 (),.true)).).{.$type.=.'installe
39100 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 79 70 65 20 3d 20 27 61 76 61 69 6c 61 62 6c 65 27 d';.}.else.{.$type.=.'available'
39120 3b 0a 7d 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 ;.}.if.($repo.instanceof.Compose
39140 72 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f 76 69 64 65 rRepository.&&.$repo->hasProvide
39160 72 73 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 72 6f 76 69 rs()).{.foreach.($repo->getProvi
39180 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 21 24 70 61 63 derNames().as.$name).{.if.(!$pac
391a0 6b 61 67 65 46 69 6c 74 65 72 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 63 6b 61 67 kageFilter.||.preg_match($packag
391c0 65 46 69 6c 74 65 72 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 74 79 eFilter,.$name)).{.$packages[$ty
391e0 70 65 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b pe][$name].=.$name;.}.}.}.else.{
39200 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 .foreach.($repo->getPackages().a
39220 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 s.$package).{.if.(!isset($packag
39240 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a es[$type][$package->getName()]).
39260 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 ||.!is_object($packages[$type][$
39280 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 76 65 72 73 69 6f 6e 5f package->getName()]).||.version_
392a0 63 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 compare($packages[$type][$packag
392c0 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 e->getName()]->getVersion(),.$pa
392e0 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 0a 29 20 7b 0a 69 66 ckage->getVersion(),.'<').).{.if
39300 20 28 21 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 .(!$packageFilter.||.preg_match(
39320 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d $packageFilter,.$package->getNam
39340 65 28 29 29 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 20 e())).{.if.(!$packageListFilter.
39360 7c 7c 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c ||.in_array($package->getName(),
39380 20 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 2c 20 74 72 75 65 29 29 20 7b 0a 24 70 .$packageListFilter,.true)).{.$p
393a0 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 ackages[$type][$package->getName
393c0 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 73 68 ()].=.$package;.}.}.}.}.}.}..$sh
393e0 6f 77 41 6c 6c 54 79 70 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 owAllTypes.=.$input->getOption('
39400 61 6c 6c 27 29 3b 0a 24 73 68 6f 77 4c 61 74 65 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 all');.$showLatest.=.$input->get
39420 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 3b 0a 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 Option('latest');.$showMinorOnly
39440 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 .=.$input->getOption('minor-only
39460 27 29 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 20 3f 20 27 20 ');.$indent.=.$showAllTypes.?.'.
39480 20 27 20 3a 20 27 27 3b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 .'.:.'';.$latestPackages.=.array
394a0 28 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 24 76 69 65 77 44 61 74 61 20 3d 20 61 ();.$exitCode.=.0;.$viewData.=.a
394c0 72 72 61 79 28 29 3b 0a 24 76 69 65 77 4d 65 74 61 44 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b rray();.$viewMetaData.=.array();
394e0 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 70 6c 61 74 66 6f 72 6d 27 20 3d 3e 20 74 72 .foreach.(array('platform'.=>.tr
39500 75 65 2c 20 27 61 76 61 69 6c 61 62 6c 65 27 20 3d 3e 20 66 61 6c 73 65 2c 20 27 69 6e 73 74 61 ue,.'available'.=>.false,.'insta
39520 6c 6c 65 64 27 20 3d 3e 20 74 72 75 65 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 73 68 6f 77 lled'.=>.true).as.$type.=>.$show
39540 56 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 Version).{.if.(isset($packages[$
39560 74 79 70 65 5d 29 29 20 7b 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d type])).{.ksort($packages[$type]
39580 29 3b 0a 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 );..$nameLength.=.$versionLength
395a0 20 3d 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 69 66 20 28 24 73 68 6f 77 .=.$latestLength.=.0;..if.($show
395c0 4c 61 74 65 73 74 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 Latest.&&.$showVersion).{.foreac
395e0 68 20 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 h.($packages[$type].as.$package)
39600 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6c .{.if.(is_object($package)).{.$l
39620 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4c 61 74 65 73 74 atestPackage.=.$this->findLatest
39640 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 70 68 Package($package,.$composer,.$ph
39660 70 56 65 72 73 69 6f 6e 2c 20 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 29 3b 0a 69 66 20 28 24 pVersion,.$showMinorOnly);.if.($
39680 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 63 6f 6e 74 69 latestPackage.===.false).{.conti
396a0 6e 75 65 3b 0a 7d 0a 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 nue;.}..$latestPackages[$package
396c0 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b ->getPrettyName()].=.$latestPack
396e0 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 77 72 69 74 65 50 61 74 68 20 3d 20 21 24 69 6e 70 75 74 age;.}.}.}..$writePath.=.!$input
39700 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 24 69 6e 70 ->getOption('name-only').&&.$inp
39720 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 24 77 72 69 74 65 56 65 72 ut->getOption('path');.$writeVer
39740 73 69 6f 6e 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d sion.=.!$input->getOption('name-
39760 6f 6e 6c 79 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 only').&&.!$input->getOption('pa
39780 74 68 27 29 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 3b 0a 24 77 72 69 74 65 4c 61 74 65 th').&&.$showVersion;.$writeLate
397a0 73 74 20 3d 20 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 26 26 20 24 73 68 6f 77 4c 61 74 65 73 st.=.$writeVersion.&&.$showLates
397c0 74 3b 0a 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 21 24 69 6e 70 75 74 2d 3e t;.$writeDescription.=.!$input->
397e0 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 21 24 69 6e 70 75 getOption('name-only').&&.!$inpu
39800 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 0a 24 68 61 73 4f 75 74 64 61 t->getOption('path');..$hasOutda
39820 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 76 69 65 77 44 61 74 61 5b tedPackages.=.false;..$viewData[
39840 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b $type].=.array();.foreach.($pack
39860 61 67 65 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b ages[$type].as.$package).{.$pack
39880 61 67 65 56 69 65 77 44 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 69 73 5f 6f 62 ageViewData.=.array();.if.(is_ob
398a0 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 ject($package)).{.$latestPackage
398c0 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 73 68 6f 77 4c 61 74 65 73 74 20 26 26 20 69 73 73 65 .=.null;.if.($showLatest.&&.isse
398e0 74 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 t($latestPackages[$package->getP
39900 72 65 74 74 79 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 rettyName()])).{.$latestPackage.
39920 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 =.$latestPackages[$package->getP
39940 72 65 74 74 79 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f rettyName()];.}.if.($input->getO
39960 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b ption('outdated').&&.$latestPack
39980 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 age.&&.$latestPackage->getFullPr
399a0 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 ettyVersion().===.$package->getF
399c0 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 26 26 20 21 24 6c 61 74 65 73 74 50 61 ullPrettyVersion().&&.!$latestPa
399e0 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 ckage->isAbandoned()).{.continue
39a00 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f ;.}.elseif.($input->getOption('o
39a20 75 74 64 61 74 65 64 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 utdated').||.$input->getOption('
39a40 73 74 72 69 63 74 27 29 29 20 7b 0a 24 68 61 73 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 strict')).{.$hasOutdatedPackages
39a60 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6e 61 .=.true;.}..$packageViewData['na
39a80 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 me'].=.$package->getPrettyName()
39aa0 3b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c ;.$nameLength.=.max($nameLength,
39ac0 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 .strlen($package->getPrettyName(
39ae0 29 29 29 3b 0a 69 66 20 28 24 77 72 69 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 )));.if.($writeVersion).{.$packa
39b00 67 65 56 69 65 77 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 geViewData['version'].=.$package
39b20 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 76 65 72 73 69 ->getFullPrettyVersion();.$versi
39b40 6f 6e 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 73 onLength.=.max($versionLength,.s
39b60 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 trlen($package->getFullPrettyVer
39b80 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 sion()));.}.if.($writeLatest.&&.
39ba0 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 $latestPackage).{.$packageViewDa
39bc0 74 61 5b 27 6c 61 74 65 73 74 27 5d 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 ta['latest'].=.$latestPackage->g
39be0 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 56 etFullPrettyVersion();.$packageV
39c00 69 65 77 44 61 74 61 5b 27 6c 61 74 65 73 74 2d 73 74 61 74 75 73 27 5d 20 3d 20 24 74 68 69 73 iewData['latest-status'].=.$this
39c20 2d 3e 67 65 74 55 70 64 61 74 65 53 74 61 74 75 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 ->getUpdateStatus($latestPackage
39c40 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 6d 61 78 ,.$package);.$latestLength.=.max
39c60 28 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 6c 61 74 65 73 74 50 61 ($latestLength,.strlen($latestPa
39c80 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 29 3b ckage->getFullPrettyVersion()));
39ca0 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 70 61 63 .}.if.($writeDescription).{.$pac
39cc0 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 20 3d 20 24 70 kageViewData['description'].=.$p
39ce0 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 69 66 20 28 ackage->getDescription();.}.if.(
39d00 24 77 72 69 74 65 50 61 74 68 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 $writePath).{.$packageViewData['
39d20 70 61 74 68 27 5d 20 3d 20 73 74 72 74 6f 6b 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 path'].=.strtok(realpath($compos
39d40 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 er->getInstallationManager()->ge
39d60 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 2c 20 22 5c 72 5c 6e 22 29 tInstallPath($package)),."\r\n")
39d80 3b 0a 7d 0a 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 74 65 ;.}..if.($latestPackage.&&.$late
39da0 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 72 65 70 stPackage->isAbandoned()).{.$rep
39dc0 6c 61 63 65 6d 65 6e 74 20 3d 20 69 73 5f 73 74 72 69 6e 67 28 24 6c 61 74 65 73 74 50 61 63 6b lacement.=.is_string($latestPack
39de0 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 29 0a 3f 20 age->getReplacementPackage()).?.
39e00 27 55 73 65 20 27 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 'Use.'...$latestPackage->getRepl
39e20 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 2e 20 27 20 69 6e 73 74 65 61 64 27 0a 3a 20 acementPackage()...'.instead'.:.
39e40 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 'No.replacement.was.suggested';.
39e60 24 70 61 63 6b 61 67 65 57 61 72 6e 69 6e 67 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b $packageWarning.=.sprintf(.'Pack
39e80 61 67 65 20 25 73 20 69 73 20 61 62 61 6e 64 6f 6e 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 age.%s.is.abandoned,.you.should.
39ea0 61 76 6f 69 64 20 75 73 69 6e 67 20 69 74 2e 20 25 73 2e 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e avoid.using.it..%s.',.$package->
39ec0 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 3b getPrettyName(),.$replacement.);
39ee0 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 77 61 72 6e 69 6e 67 27 5d 20 3d 20 24 .$packageViewData['warning'].=.$
39f00 70 61 63 6b 61 67 65 57 61 72 6e 69 6e 67 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b packageWarning;.}.}.else.{.$pack
39f20 61 67 65 56 69 65 77 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a ageViewData['name'].=.$package;.
39f40 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 73 $nameLength.=.max($nameLength,.s
39f60 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 24 76 69 65 77 44 61 74 61 5b 24 74 trlen($package));.}.$viewData[$t
39f80 79 70 65 5d 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 3b 0a 7d 0a 24 76 69 ype][].=.$packageViewData;.}.$vi
39fa0 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 ewMetaData[$type].=.array(.'name
39fc0 4c 65 6e 67 74 68 27 20 3d 3e 20 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 0a 27 76 65 72 73 69 6f 6e Length'.=>.$nameLength,.'version
39fe0 4c 65 6e 67 74 68 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 0a 27 6c 61 74 65 Length'.=>.$versionLength,.'late
3a000 73 74 4c 65 6e 67 74 68 27 20 3d 3e 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 2c 0a 29 3b 0a 69 stLength'.=>.$latestLength,.);.i
3a020 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 20 26 f.($input->getOption('strict').&
3a040 26 20 24 68 61 73 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 65 78 69 74 43 &.$hasOutdatedPackages).{.$exitC
3a060 6f 64 65 20 3d 20 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 27 6a 73 6f 6e ode.=.1;.break;.}.}.}..if.('json
3a080 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e '.===.$format).{.$io->write(Json
3a0a0 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 76 69 65 77 44 61 74 61 29 29 3b 0a 7d 20 65 6c 73 65 File::encode($viewData));.}.else
3a0c0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 69 65 77 44 61 74 61 20 61 73 20 24 74 79 70 65 20 3d .{.foreach.($viewData.as.$type.=
3a0e0 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 69 >.$packages).{.$nameLength.=.$vi
3a100 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 6e 61 6d 65 4c 65 6e 67 74 68 27 5d 3b ewMetaData[$type]['nameLength'];
3a120 0a 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b .$versionLength.=.$viewMetaData[
3a140 24 74 79 70 65 5d 5b 27 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 27 5d 3b 0a 24 6c 61 74 65 73 74 $type]['versionLength'];.$latest
3a160 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 6c Length.=.$viewMetaData[$type]['l
3a180 61 74 65 73 74 4c 65 6e 67 74 68 27 5d 3b 0a 0a 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 3d 20 atestLength'];..$writeVersion.=.
3a1a0 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 33 $nameLength.+.$versionLength.+.3
3a1c0 20 3c 3d 20 24 77 69 64 74 68 3b 0a 24 77 72 69 74 65 4c 61 74 65 73 74 20 3d 20 24 6e 61 6d 65 .<=.$width;.$writeLatest.=.$name
3a1e0 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 24 6c 61 74 65 73 Length.+.$versionLength.+.$lates
3a200 74 4c 65 6e 67 74 68 20 2b 20 33 20 3c 3d 20 24 77 69 64 74 68 3b 0a 24 77 72 69 74 65 44 65 73 tLength.+.3.<=.$width;.$writeDes
3a220 63 72 69 70 74 69 6f 6e 20 3d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f cription.=.$nameLength.+.$versio
3a240 6e 4c 65 6e 67 74 68 20 2b 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 2b 20 32 34 20 3c 3d 20 nLength.+.$latestLength.+.24.<=.
3a260 24 77 69 64 74 68 3b 0a 0a 69 66 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 21 24 69 $width;..if.($writeLatest.&&.!$i
3a280 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 o->isDecorated()).{.$latestLengt
3a2a0 68 20 2b 3d 20 32 3b 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a h.+=.2;.}..if.($showAllTypes).{.
3a2c0 69 66 20 28 27 61 76 61 69 6c 61 62 6c 65 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 69 6f if.('available'.===.$type).{.$io
3a2e0 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c ->write('<comment>'...$type...'<
3a300 2f 63 6f 6d 6d 65 6e 74 3e 3a 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 /comment>:');.}.else.{.$io->writ
3a320 65 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 3a 27 29 e('<info>'...$type...'</info>:')
3a340 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 ;.}.}..foreach.($packages.as.$pa
3a360 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 20 2e 20 73 74 ckage).{.$io->write($indent...st
3a380 72 5f 70 61 64 28 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 6e 61 6d 65 4c 65 6e r_pad($package['name'],.$nameLen
3a3a0 67 74 68 2c 20 27 20 27 29 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 gth,.'.'),.false);.if.(isset($pa
3a3c0 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 26 26 20 24 77 72 69 74 65 56 65 72 73 69 ckage['version']).&&.$writeVersi
3a3e0 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 5f 70 61 64 28 24 on).{.$io->write('.'...str_pad($
3a400 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 package['version'],.$versionLeng
3a420 74 68 2c 20 27 20 27 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 th,.'.'),.false);.}.if.(isset($p
3a440 61 63 6b 61 67 65 5b 27 6c 61 74 65 73 74 27 5d 29 20 26 26 20 24 77 72 69 74 65 4c 61 74 65 73 ackage['latest']).&&.$writeLates
3a460 74 29 20 7b 0a 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 t).{.$latestVersion.=.$package['
3a480 6c 61 74 65 73 74 27 5d 3b 0a 24 75 70 64 61 74 65 53 74 61 74 75 73 20 3d 20 24 70 61 63 6b 61 latest'];.$updateStatus.=.$packa
3a4a0 67 65 5b 27 6c 61 74 65 73 74 2d 73 74 61 74 75 73 27 5d 3b 0a 24 73 74 79 6c 65 20 3d 20 24 74 ge['latest-status'];.$style.=.$t
3a4c0 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 his->updateStatusToVersionStyle(
3a4e0 24 75 70 64 61 74 65 53 74 61 74 75 73 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f $updateStatus);.if.(!$io->isDeco
3a500 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 73 74 72 5f rated()).{.$latestVersion.=.str_
3a520 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 75 70 2d 74 6f 2d 64 61 74 65 27 2c 20 27 73 65 6d replace(array('up-to-date',.'sem
3a540 76 65 72 2d 73 61 66 65 2d 75 70 64 61 74 65 27 2c 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 ver-safe-update',.'update-possib
3a560 6c 65 27 29 2c 20 61 72 72 61 79 28 27 3d 27 2c 20 27 21 27 2c 20 27 7e 27 29 2c 20 24 75 70 64 le'),.array('=',.'!',.'~'),.$upd
3a580 61 74 65 53 74 61 74 75 73 29 20 2e 20 27 20 27 20 2e 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f ateStatus)...'.'...$latestVersio
3a5a0 6e 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 n;.}.$io->write('.<'...$style...
3a5c0 27 3e 27 20 2e 20 73 74 72 5f 70 61 64 28 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 2c 20 24 6c '>'...str_pad($latestVersion,.$l
3a5e0 61 74 65 73 74 4c 65 6e 67 74 68 2c 20 27 20 27 29 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c atestLength,.'.')...'</'...$styl
3a600 65 20 2e 20 27 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 e...'>',.false);.}.if.(isset($pa
3a620 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 26 26 20 24 77 72 69 74 65 44 ckage['description']).&&.$writeD
3a640 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 73 74 72 escription).{.$description.=.str
3a660 74 6f 6b 28 24 70 61 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 20 22 5c 72 tok($package['description'],."\r
3a680 5c 6e 22 29 3b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 24 77 69 64 74 68 20 2d 20 24 6e 61 6d \n");.$remaining.=.$width.-.$nam
3a6a0 65 4c 65 6e 67 74 68 20 2d 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2d 20 34 3b 0a 69 66 eLength.-.$versionLength.-.4;.if
3a6c0 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 29 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 2d 3d 20 .($writeLatest).{.$remaining.-=.
3a6e0 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 3b 0a 7d 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 64 65 73 $latestLength;.}.if.(strlen($des
3a700 63 72 69 70 74 69 6f 6e 29 20 3e 20 24 72 65 6d 61 69 6e 69 6e 67 29 20 7b 0a 24 64 65 73 63 72 cription).>.$remaining).{.$descr
3a720 69 70 74 69 6f 6e 20 3d 20 73 75 62 73 74 72 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 30 2c iption.=.substr($description,.0,
3a740 20 24 72 65 6d 61 69 6e 69 6e 67 20 2d 20 33 29 20 2e 20 27 2e 2e 2e 27 3b 0a 7d 0a 24 69 6f 2d .$remaining.-.3)...'...';.}.$io-
3a760 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 66 61 6c 73 65 >write('.'...$description,.false
3a780 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 70 61 74 68 27 5d 29 );.}.if.(isset($package['path'])
3a7a0 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 70 ).{.$io->write('.'...$package['p
3a7c0 61 74 68 27 5d 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b ath'],.false);.}.$io->write('');
3a7e0 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 77 61 72 6e 69 6e 67 27 5d 29 29 .if.(isset($package['warning']))
3a800 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 20 2e .{.$io->writeError('<warning>'..
3a820 20 24 70 61 63 6b 61 67 65 5b 27 77 61 72 6e 69 6e 67 27 5d 20 2e 20 27 3c 2f 77 61 72 6e 69 6e .$package['warning']...'</warnin
3a840 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a g>');.}.}..if.($showAllTypes).{.
3a860 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 $io->write('');.}.}.}..return.$e
3a880 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 xitCode;.}..protected.function.g
3a8a0 65 74 52 6f 6f 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 etRootRequires().{.$rootPackage.
3a8c0 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 =.$this->getComposer()->getPacka
3a8e0 67 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 0a 27 73 74 72 74 6f 6c ge();..return.array_map(.'strtol
3a900 6f 77 65 72 27 2c 0a 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 ower',.array_keys(array_merge($r
3a920 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 6f 6f 74 ootPackage->getRequires(),.$root
3a940 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 29 0a 29 3b 0a 7d Package->getDevRequires())).);.}
3a960 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 53 ..protected.function.getVersionS
3a980 74 79 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 tyle(PackageInterface.$latestPac
3a9a0 6b 61 67 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 kage,.PackageInterface.$package)
3a9c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 .{.return.$this->updateStatusToV
3a9e0 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 74 68 69 73 2d 3e 67 65 74 55 70 64 61 74 65 53 74 61 74 ersionStyle($this->getUpdateStat
3aa00 75 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d us($latestPackage,.$package));.}
3aa20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 ............protected.function.g
3aa40 65 74 50 61 63 6b 61 67 65 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 etPackage(RepositoryInterface.$i
3aa60 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 nstalledRepo,.RepositoryInterfac
3aa80 65 20 24 72 65 70 6f 73 2c 20 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c e.$repos,.$name,.$version.=.null
3aaa0 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 ).{.$name.=.strtolower($name);.$
3aac0 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 69 73 5f 73 74 72 69 6e 67 28 24 76 65 72 73 69 6f 6e 29 constraint.=.is_string($version)
3aae0 20 3f 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f .?.$this->versionParser->parseCo
3ab00 6e 73 74 72 61 69 6e 74 73 28 24 76 65 72 73 69 6f 6e 29 20 3a 20 24 76 65 72 73 69 6f 6e 3b 0a nstraints($version).:.$version;.
3ab20 0a 24 70 6f 6c 69 63 79 20 3d 20 6e 65 77 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 28 29 3b 0a .$policy.=.new.DefaultPolicy();.
3ab40 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e $pool.=.new.Pool('dev');.$pool->
3ab60 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 0a 24 6d 61 74 63 68 65 64 addRepository($repos);..$matched
3ab80 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 Package.=.null;.$versions.=.arra
3aba0 79 28 29 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 y();.$matches.=.$pool->whatProvi
3abc0 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 des($name,.$constraint);.foreach
3abe0 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 70 61 63 6b 61 67 65 .($matches.as.$index.=>.$package
3ac00 29 20 7b 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d ).{...if.($package->getName().!=
3ac20 3d 20 24 6e 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 =.$name).{.unset($matches[$index
3ac40 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 ]);.continue;.}....if.(null.===.
3ac60 24 76 65 72 73 69 6f 6e 20 26 26 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 $version.&&.$installedRepo->hasP
3ac80 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6d 61 74 63 68 65 64 50 61 63 6b ackage($package)).{.$matchedPack
3aca0 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 5b 24 70 61 age.=.$package;.}..$versions[$pa
3acc0 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 ckage->getPrettyVersion()].=.$pa
3ace0 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 6d 61 74 63 68 65 73 5b 24 69 ckage->getVersion();.$matches[$i
3ad00 6e 64 65 78 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 ndex].=.$package->getId();.}....
3ad20 69 66 20 28 21 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 26 26 20 24 6d 61 74 63 68 65 73 if.(!$matchedPackage.&&.$matches
3ad40 20 26 26 20 24 70 72 65 66 65 72 72 65 64 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 .&&.$preferred.=.$policy->select
3ad60 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 PreferredPackages($pool,.array()
3ad80 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d ,.$matches)).{.$matchedPackage.=
3ada0 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 72 65 66 65 72 .$pool->literalToPackage($prefer
3adc0 72 65 64 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6d 61 74 63 68 65 red[0]);.}..return.array($matche
3ade0 64 50 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a dPackage,.$versions);.}.........
3ae00 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4d 65 74 61 28 43 6f 6d protected.function.printMeta(Com
3ae20 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 pletePackageInterface.$package,.
3ae40 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 array.$versions,.RepositoryInter
3ae60 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 face.$installedRepo,.PackageInte
3ae80 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 rface.$latestPackage.=.null).{.$
3aea0 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 io.=.$this->getIO();.$io->write(
3aec0 27 3c 69 6e 66 6f 3e 6e 61 6d 65 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 '<info>name</info>.....:.'...$pa
3aee0 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 ckage->getPrettyName());.$io->wr
3af00 69 74 65 28 27 3c 69 6e 66 6f 3e 64 65 73 63 72 69 70 2e 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e ite('<info>descrip.</info>.:.'..
3af20 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 69 .$package->getDescription());.$i
3af40 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6b 65 79 77 6f 72 64 73 3c 2f 69 6e 66 6f 3e 20 o->write('<info>keywords</info>.
3af60 3a 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 :.'...implode(',.',.$package->ge
3af80 74 4b 65 79 77 6f 72 64 73 28 29 20 3f 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 24 74 68 69 73 2d tKeywords().?:.array()));.$this-
3afa0 3e 70 72 69 6e 74 56 65 72 73 69 6f 6e 73 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f >printVersions($package,.$versio
3afc0 6e 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a 69 66 20 28 24 6c 61 74 65 73 74 ns,.$installedRepo);.if.($latest
3afe0 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 Package).{.$style.=.$this->getVe
3b000 72 73 69 6f 6e 53 74 79 6c 65 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b rsionStyle($latestPackage,.$pack
3b020 61 67 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6c 61 74 65 73 74 3c 2f age);.$io->write('<info>latest</
3b040 69 6e 66 6f 3e 20 20 20 3a 20 3c 27 2e 24 73 74 79 6c 65 2e 27 3e 27 20 2e 20 24 6c 61 74 65 73 info>...:.<'.$style.'>'...$lates
3b060 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 tPackage->getPrettyVersion()...'
3b080 3c 2f 27 2e 24 73 74 79 6c 65 2e 27 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 61 74 65 73 </'.$style.'>');.}.else.{.$lates
3b0a0 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 tPackage.=.$package;.}.$io->writ
3b0c0 65 28 27 3c 69 6e 66 6f 3e 74 79 70 65 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 e('<info>type</info>.....:.'...$
3b0e0 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e package->getType());.$this->prin
3b100 74 4c 69 63 65 6e 73 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 tLicenses($package);.$io->write(
3b120 27 3c 69 6e 66 6f 3e 73 6f 75 72 63 65 3c 2f 69 6e 66 6f 3e 20 20 20 3a 20 27 20 2e 20 73 70 72 '<info>source</info>...:.'...spr
3b140 69 6e 74 66 28 27 5b 25 73 5d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e intf('[%s].<comment>%s</comment>
3b160 20 25 73 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c .%s',.$package->getSourceType(),
3b180 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 2c 20 24 70 61 63 6b .$package->getSourceUrl(),.$pack
3b1a0 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 24 69 6f age->getSourceReference()));.$io
3b1c0 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 64 69 73 74 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a ->write('<info>dist</info>.....:
3b1e0 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f .'...sprintf('[%s].<comment>%s</
3b200 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 comment>.%s',.$package->getDistT
3b220 79 70 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 24 ype(),.$package->getDistUrl(),.$
3b240 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 24 package->getDistReference()));.$
3b260 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6e 61 6d 65 73 3c 2f 69 6e 66 6f 3e 20 20 20 io->write('<info>names</info>...
3b280 20 3a 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 .:.'...implode(',.',.$package->g
3b2a0 65 74 4e 61 6d 65 73 28 29 29 29 3b 0a 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 etNames()));..if.($latestPackage
3b2c0 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 ->isAbandoned()).{.$replacement.
3b2e0 3d 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e =.($latestPackage->getReplacemen
3b300 74 50 61 63 6b 61 67 65 28 29 20 21 3d 3d 20 6e 75 6c 6c 29 0a 3f 20 27 20 54 68 65 20 61 75 74 tPackage().!==.null).?.'.The.aut
3b320 68 6f 72 20 73 75 67 67 65 73 74 73 20 75 73 69 6e 67 20 74 68 65 20 27 20 2e 20 24 6c 61 74 65 hor.suggests.using.the.'...$late
3b340 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 stPackage->getReplacementPackage
3b360 28 29 2e 20 27 20 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 64 2e 27 0a 3a 20 6e 75 6c 6c 3b 0a ()..'.package.instead.'.:.null;.
3b380 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e .$io->writeError(.sprintf('<warn
3b3a0 69 6e 67 3e 41 74 74 65 6e 74 69 6f 6e 3a 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 61 ing>Attention:.This.package.is.a
3b3c0 62 61 6e 64 6f 6e 65 64 20 61 6e 64 20 6e 6f 20 6c 6f 6e 67 65 72 20 6d 61 69 6e 74 61 69 6e 65 bandoned.and.no.longer.maintaine
3b3e0 64 2e 25 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 29 d.%s</warning>',.$replacement).)
3b400 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 29 ;.}..if.($package->getSupport())
3b420 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 73 75 70 70 6f 72 74 3c 2f .{.$io->write("\n<info>support</
3b440 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 info>");.foreach.($package->getS
3b460 75 70 70 6f 72 74 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 upport().as.$type.=>.$value).{.$
3b480 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 io->write('<comment>'...$type...
3b4a0 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3a 20 27 2e 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 '</comment>.:.'.$value);.}.}..if
3b4c0 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 29 20 7b 0a 24 69 6f .($package->getAutoload()).{.$io
3b4e0 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 61 75 74 6f 6c 6f 61 64 3c 2f 69 6e 66 6f 3e ->write("\n<info>autoload</info>
3b500 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f ");.foreach.($package->getAutolo
3b520 61 64 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 61 75 74 6f 6c 6f 61 64 73 29 20 7b 0a 24 ad().as.$type.=>.$autoloads).{.$
3b540 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 io->write('<comment>'...$type...
3b560 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 70 '</comment>');..if.($type.===.'p
3b580 73 72 2d 30 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 20 61 73 20 sr-0').{.foreach.($autoloads.as.
3b5a0 24 6e 61 6d 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 28 24 6e $name.=>.$path).{.$io->write(($n
3b5c0 61 6d 65 20 3f 3a 20 27 2a 27 29 20 2e 20 27 20 3d 3e 20 27 20 2e 20 28 69 73 5f 61 72 72 61 79 ame.?:.'*')...'.=>.'...(is_array
3b5e0 28 24 70 61 74 68 29 20 3f 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 74 68 29 20 3a ($path).?.implode(',.',.$path).:
3b600 20 28 24 70 61 74 68 20 3f 3a 20 27 2e 27 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 .($path.?:.'.')));.}.}.elseif.($
3b620 74 79 70 65 20 3d 3d 3d 20 27 70 73 72 2d 34 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 type.===.'psr-4').{.foreach.($au
3b640 74 6f 6c 6f 61 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 69 6f toloads.as.$name.=>.$path).{.$io
3b660 2d 3e 77 72 69 74 65 28 28 24 6e 61 6d 65 20 3f 3a 20 27 2a 27 29 20 2e 20 27 20 3d 3e 20 27 20 ->write(($name.?:.'*')...'.=>.'.
3b680 2e 20 28 69 73 5f 61 72 72 61 79 28 24 70 61 74 68 29 20 3f 20 69 6d 70 6c 6f 64 65 28 27 2c 20 ..(is_array($path).?.implode(',.
3b6a0 27 2c 20 24 70 61 74 68 29 20 3a 20 28 24 70 61 74 68 20 3f 3a 20 27 2e 27 29 29 29 3b 0a 7d 0a ',.$path).:.($path.?:.'.')));.}.
3b6c0 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 29 20 }.elseif.($type.===.'classmap').
3b6e0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 61 75 74 6f {.$io->write(implode(',.',.$auto
3b700 6c 6f 61 64 73 29 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e loads));.}.}.if.($package->getIn
3b720 63 6c 75 64 65 50 61 74 68 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d cludePaths()).{.$io->write('<com
3b740 6d 65 6e 74 3e 69 6e 63 6c 75 64 65 2d 70 61 74 68 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 ment>include-path</comment>');.$
3b760 69 6f 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 io->write(implode(',.',.$package
3b780 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a ->getIncludePaths()));.}.}.}....
3b7a0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 56 65 72 .....protected.function.printVer
3b7c0 73 69 6f 6e 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 sions(CompletePackageInterface.$
3b7e0 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 52 65 70 6f 73 69 package,.array.$versions,.Reposi
3b800 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 0a 7b 0a toryInterface.$installedRepo).{.
3b820 75 61 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 27 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 uasort($versions,.'version_compa
3b840 72 65 27 29 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 re');.$versions.=.array_keys(arr
3b860 61 79 5f 72 65 76 65 72 73 65 28 24 76 65 72 73 69 6f 6e 73 29 29 3b 0a 0a 0a 20 69 66 20 28 24 ay_reverse($versions));....if.($
3b880 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 installedRepo->hasPackage($packa
3b8a0 67 65 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b ge)).{.$installedVersion.=.$pack
3b8c0 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 6b 65 79 20 3d 20 age->getPrettyVersion();.$key.=.
3b8e0 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 2c 20 array_search($installedVersion,.
3b900 24 76 65 72 73 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6b 65 79 29 20 $versions);.if.(false.!==.$key).
3b920 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 24 6b 65 79 5d 20 3d 20 27 3c 69 6e 66 6f 3e 2a 20 27 20 2e {.$versions[$key].=.'<info>*.'..
3b940 20 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 3b 0a .$installedVersion...'</info>';.
3b960 7d 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 }.}..$versions.=.implode(',.',.$
3b980 76 65 72 73 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 versions);..$this->getIO()->writ
3b9a0 65 28 27 3c 69 6e 66 6f 3e 76 65 72 73 69 6f 6e 73 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 e('<info>versions</info>.:.'...$
3b9c0 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 versions);.}.........protected.f
3b9e0 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4c 69 6e 6b 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 unction.printLinks(CompletePacka
3ba00 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 54 79 70 65 2c geInterface.$package,.$linkType,
3ba20 20 24 74 69 74 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 69 74 6c 65 20 3d 20 24 74 69 74 6c .$title.=.null).{.$title.=.$titl
3ba40 65 20 3f 3a 20 24 6c 69 6e 6b 54 79 70 65 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 e.?:.$linkType;.$io.=.$this->get
3ba60 49 4f 28 29 3b 0a 69 66 20 28 24 6c 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 IO();.if.($links.=.$package->{'g
3ba80 65 74 27 2e 75 63 66 69 72 73 74 28 24 6c 69 6e 6b 54 79 70 65 29 7d 28 29 29 20 7b 0a 24 69 6f et'.ucfirst($linkType)}()).{.$io
3baa0 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 6e 66 6f 3e 22 20 2e 20 24 74 69 74 6c 65 20 2e 20 22 3c ->write("\n<info>"...$title..."<
3bac0 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c /info>");..foreach.($links.as.$l
3bae0 69 6e 6b 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 ink).{.$io->write($link->getTarg
3bb00 65 74 28 29 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6c 69 6e 6b 2d 3e 67 65 74 et()...'.<comment>'...$link->get
3bb20 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e PrettyConstraint()...'</comment>
3bb40 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ');.}.}.}.......protected.functi
3bb60 6f 6e 20 70 72 69 6e 74 4c 69 63 65 6e 73 65 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 on.printLicenses(CompletePackage
3bb80 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 70 64 78 4c 69 63 65 6e Interface.$package).{.$spdxLicen
3bba0 73 65 73 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 0a 24 6c 69 63 65 ses.=.new.SpdxLicenses();..$lice
3bbc0 6e 73 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 3b 0a 24 nses.=.$package->getLicense();.$
3bbe0 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 io.=.$this->getIO();..foreach.($
3bc00 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 49 64 29 20 7b 0a 24 6c 69 63 65 6e licenses.as.$licenseId).{.$licen
3bc20 73 65 20 3d 20 24 73 70 64 78 4c 69 63 65 6e 73 65 73 2d 3e 67 65 74 4c 69 63 65 6e 73 65 42 79 se.=.$spdxLicenses->getLicenseBy
3bc40 49 64 65 6e 74 69 66 69 65 72 28 24 6c 69 63 65 6e 73 65 49 64 29 3b 20 0a 0a 69 66 20 28 21 24 Identifier($licenseId);...if.(!$
3bc60 6c 69 63 65 6e 73 65 29 20 7b 0a 24 6f 75 74 20 3d 20 24 6c 69 63 65 6e 73 65 49 64 3b 0a 7d 20 license).{.$out.=.$licenseId;.}.
3bc80 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 24 6c 69 63 65 6e 73 65 5b 31 5d 20 3d 3d 3d 20 74 72 75 else.{...if.($license[1].===.tru
3bca0 65 29 20 7b 0a 24 6f 75 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 28 25 73 29 20 28 4f 53 e).{.$out.=.sprintf('%s.(%s).(OS
3bcc0 49 20 61 70 70 72 6f 76 65 64 29 20 25 73 27 2c 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c I.approved).%s',.$license[0],.$l
3bce0 69 63 65 6e 73 65 49 64 2c 20 24 6c 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b icenseId,.$license[2]);.}.else.{
3bd00 0a 24 6f 75 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 28 25 73 29 20 25 73 27 2c 20 24 6c .$out.=.sprintf('%s.(%s).%s',.$l
3bd20 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 65 6e 73 65 49 64 2c 20 24 6c 69 63 65 6e 73 65 5b icense[0],.$licenseId,.$license[
3bd40 32 5d 29 3b 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6c 69 63 65 2]);.}.}..$io->write('<info>lice
3bd60 6e 73 65 3c 2f 69 6e 66 6f 3e 20 20 3a 20 27 20 2e 20 24 6f 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a nse</info>..:.'...$out);.}.}....
3bd80 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 73 ...protected.function.initStyles
3bda0 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 (OutputInterface.$output).{.$thi
3bdc0 73 2d 3e 63 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 67 72 65 65 6e 27 2c 0a 27 79 65 6c s->colors.=.array(.'green',.'yel
3bde0 6c 6f 77 27 2c 0a 27 63 79 61 6e 27 2c 0a 27 6d 61 67 65 6e 74 61 27 2c 0a 27 62 6c 75 65 27 2c low',.'cyan',.'magenta',.'blue',
3be00 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 61 73 20 24 .);..foreach.($this->colors.as.$
3be20 63 6f 6c 6f 72 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d color).{.$style.=.new.OutputForm
3be40 61 74 74 65 72 53 74 79 6c 65 28 24 63 6f 6c 6f 72 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 67 65 74 atterStyle($color);.$output->get
3be60 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 24 63 6f 6c 6f 72 2c 20 24 73 Formatter()->setStyle($color,.$s
3be80 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 tyle);.}.}.......protected.funct
3bea0 69 6f 6e 20 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 65 65 28 61 72 72 61 79 20 24 61 72 ion.displayPackageTree(array.$ar
3bec0 72 61 79 54 72 65 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b rayTree).{.$io.=.$this->getIO();
3bee0 0a 66 6f 72 65 61 63 68 20 28 24 61 72 72 61 79 54 72 65 65 20 61 73 20 24 70 61 63 6b 61 67 65 .foreach.($arrayTree.as.$package
3bf00 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 ).{.$io->write(sprintf('<info>%s
3bf20 3c 2f 69 6e 66 6f 3e 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 2c 20 66 61 6c </info>',.$package['name']),.fal
3bf40 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 se);.$io->write('.'...$package['
3bf60 76 65 72 73 69 6f 6e 27 5d 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 version'],.false);.$io->write('.
3bf80 27 20 2e 20 73 74 72 74 6f 6b 28 24 70 61 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 74 69 6f 6e '...strtok($package['description
3bfa0 27 5d 2c 20 22 5c 72 5c 6e 22 29 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 '],."\r\n"));..if.(isset($packag
3bfc0 65 5b 27 72 65 71 75 69 72 65 73 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 e['requires'])).{.$requires.=.$p
3bfe0 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 3b 0a 24 74 72 65 65 42 61 72 20 3d 20 27 ackage['requires'];.$treeBar.=.'
3c000 e2 94 9c 27 3b 0a 24 6a 20 3d 20 30 3b 0a 24 74 6f 74 61 6c 20 3d 20 63 6f 75 6e 74 28 24 72 65 ...';.$j.=.0;.$total.=.count($re
3c020 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 quires);.foreach.($requires.as.$
3c040 72 65 71 75 69 72 65 29 20 7b 0a 24 72 65 71 75 69 72 65 4e 61 6d 65 20 3d 20 24 72 65 71 75 69 require).{.$requireName.=.$requi
3c060 72 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 6a 2b 2b 3b 0a 69 66 20 28 24 6a 20 3d 3d 3d 20 24 74 6f re['name'];.$j++;.if.($j.===.$to
3c080 74 61 6c 29 20 7b 0a 24 74 72 65 65 42 61 72 20 3d 20 27 e2 94 94 27 3b 0a 7d 0a 24 6c 65 76 65 tal).{.$treeBar.=.'...';.}.$leve
3c0a0 6c 20 3d 20 31 3b 0a 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 6c l.=.1;.$color.=.$this->colors[$l
3c0c0 65 76 65 6c 5d 3b 0a 24 69 6e 66 6f 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 e2 94 80 e2 94 evel];.$info.=.sprintf(.'%s.....
3c0e0 80 3c 25 73 3e 25 73 3c 2f 25 73 3e 20 25 73 27 2c 0a 24 74 72 65 65 42 61 72 2c 0a 24 63 6f 6c .<%s>%s</%s>.%s',.$treeBar,.$col
3c100 6f 72 2c 0a 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 or,.$requireName,.$color,.$requi
3c120 72 65 5b 27 76 65 72 73 69 6f 6e 27 5d 0a 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 72 65 re['version'].);.$this->writeTre
3c140 65 4c 69 6e 65 28 24 69 6e 66 6f 29 3b 0a 0a 24 74 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 eLine($info);..$treeBar.=.str_re
3c160 70 6c 61 63 65 28 27 e2 94 94 27 2c 20 27 20 27 2c 20 24 74 72 65 65 42 61 72 29 3b 0a 24 70 61 place('...',.'.',.$treeBar);.$pa
3c180 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 5b 27 6e ckagesInTree.=.array($package['n
3c1a0 61 6d 65 27 5d 2c 20 24 72 65 71 75 69 72 65 4e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 ame'],.$requireName);..$this->di
3c1c0 73 70 6c 61 79 54 72 65 65 28 24 72 65 71 75 69 72 65 2c 20 24 70 61 63 6b 61 67 65 73 49 6e 54 splayTree($require,.$packagesInT
3c1e0 72 65 65 2c 20 24 74 72 65 65 42 61 72 2c 20 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a ree,.$treeBar,.$level.+.1);.}.}.
3c200 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 }.}..........protected.function.
3c220 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 0a 50 61 63 6b 61 67 65 49 6e 74 65 generatePackageTree(.PackageInte
3c240 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 rface.$package,.RepositoryInterf
3c260 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e ace.$installedRepo,.RepositoryIn
3c280 74 65 72 66 61 63 65 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 0a 29 20 7b 0a 69 66 20 28 69 73 terface.$distantRepos.).{.if.(is
3c2a0 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d _object($package)).{.$requires.=
3c2c0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 6b 73 6f 72 74 28 .$package->getRequires();.ksort(
3c2e0 24 72 65 71 75 69 72 65 73 29 3b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 61 72 72 61 79 28 29 3b $requires);.$children.=.array();
3c300 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 4e .foreach.($requires.as.$requireN
3c320 61 6d 65 20 3d 3e 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 ame.=>.$require).{.$packagesInTr
3c340 65 65 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 ee.=.array($package->getName(),.
3c360 24 72 65 71 75 69 72 65 4e 61 6d 65 29 3b 0a 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 20 3d $requireName);..$treeChildDesc.=
3c380 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a .array(.'name'.=>.$requireName,.
3c3a0 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 50 72 65 74 74 79 'version'.=>.$require->getPretty
3c3c0 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 0a 29 3b 0a 0a 24 64 65 65 70 43 68 69 6c 64 72 65 6e 20 Constraint(),.);..$deepChildren.
3c3e0 3d 20 24 74 68 69 73 2d 3e 61 64 64 54 72 65 65 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 =.$this->addTree($requireName,.$
3c400 72 65 71 75 69 72 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 64 69 73 74 61 6e require,.$installedRepo,.$distan
3c420 74 52 65 70 6f 73 2c 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 29 3b 0a 0a 69 66 20 28 24 tRepos,.$packagesInTree);..if.($
3c440 64 65 65 70 43 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 5b 27 deepChildren).{.$treeChildDesc['
3c460 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 64 65 65 70 43 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 24 requires'].=.$deepChildren;.}..$
3c480 63 68 69 6c 64 72 65 6e 5b 5d 20 3d 20 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 3b 0a 7d 0a 24 children[].=.$treeChildDesc;.}.$
3c4a0 74 72 65 65 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 tree.=.array(.'name'.=>.$package
3c4c0 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 ->getPrettyName(),.'version'.=>.
3c4e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 64 $package->getPrettyVersion(),.'d
3c500 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 escription'.=>.$package->getDesc
3c520 72 69 70 74 69 6f 6e 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a ription(),.);..if.($children).{.
3c540 24 74 72 65 65 5b 27 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d $tree['requires'].=.$children;.}
3c560 0a 0a 72 65 74 75 72 6e 20 24 74 72 65 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f ..return.$tree;.}.}..........pro
3c580 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 54 72 65 65 28 0a 24 70 61 tected.function.displayTree(.$pa
3c5a0 63 6b 61 67 65 2c 0a 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 2c 0a 24 70 ckage,.array.$packagesInTree,.$p
3c5c0 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 3d 20 27 e2 94 9c 27 2c 0a 24 6c 65 76 65 6c 20 3d reviousTreeBar.=.'...',.$level.=
3c5e0 20 31 0a 29 20 7b 0a 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 .1.).{.$previousTreeBar.=.str_re
3c600 70 6c 61 63 65 28 27 e2 94 9c 27 2c 20 27 e2 94 82 27 2c 20 24 70 72 65 76 69 6f 75 73 54 72 65 place('...',.'...',.$previousTre
3c620 65 42 61 72 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 eBar);.if.(isset($package['requi
3c640 72 65 73 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 res'])).{.$requires.=.$package['
3c660 72 65 71 75 69 72 65 73 27 5d 3b 0a 24 74 72 65 65 42 61 72 20 3d 20 24 70 72 65 76 69 6f 75 73 requires'];.$treeBar.=.$previous
3c680 54 72 65 65 42 61 72 20 2e 20 27 20 20 e2 94 9c 27 3b 0a 24 69 20 3d 20 30 3b 0a 24 74 6f 74 61 TreeBar...'.....';.$i.=.0;.$tota
3c6a0 6c 20 3d 20 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 l.=.count($requires);.foreach.($
3c6c0 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 requires.as.$require).{.$current
3c6e0 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 3b 0a 24 69 2b 2b 3b 0a 69 66 Tree.=.$packagesInTree;.$i++;.if
3c700 20 28 24 69 20 3d 3d 3d 20 24 74 6f 74 61 6c 29 20 7b 0a 24 74 72 65 65 42 61 72 20 3d 20 24 70 .($i.===.$total).{.$treeBar.=.$p
3c720 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 2e 20 27 20 20 e2 94 94 27 3b 0a 7d 0a 24 63 6f 6c reviousTreeBar...'.....';.}.$col
3c740 6f 72 49 64 65 6e 74 20 3d 20 24 6c 65 76 65 6c 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e orIdent.=.$level.%.count($this->
3c760 63 6f 6c 6f 72 73 29 3b 0a 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b colors);.$color.=.$this->colors[
3c780 24 63 6f 6c 6f 72 49 64 65 6e 74 5d 3b 0a 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 20 3d 20 69 $colorIdent];..$circularWarn.=.i
3c7a0 6e 5f 61 72 72 61 79 28 0a 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 2c 0a 24 63 75 72 72 n_array(.$require['name'],.$curr
3c7c0 65 6e 74 54 72 65 65 2c 0a 74 72 75 65 0a 29 20 3f 20 27 28 63 69 72 63 75 6c 61 72 20 64 65 70 entTree,.true.).?.'(circular.dep
3c7e0 65 6e 64 65 6e 63 79 20 61 62 6f 72 74 65 64 20 68 65 72 65 29 27 20 3a 20 27 27 3b 0a 24 69 6e endency.aborted.here)'.:.'';.$in
3c800 66 6f 20 3d 20 72 74 72 69 6d 28 73 70 72 69 6e 74 66 28 0a 27 25 73 e2 94 80 e2 94 80 3c 25 73 fo.=.rtrim(sprintf(.'%s......<%s
3c820 3e 25 73 3c 2f 25 73 3e 20 25 73 20 25 73 27 2c 0a 24 74 72 65 65 42 61 72 2c 0a 24 63 6f 6c 6f >%s</%s>.%s.%s',.$treeBar,.$colo
3c840 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 r,.$require['name'],.$color,.$re
3c860 71 75 69 72 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 0a quire['version'],.$circularWarn.
3c880 29 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 69 6e 66 6f 29 3b ));.$this->writeTreeLine($info);
3c8a0 0a 0a 24 74 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 94 27 2c 20 ..$treeBar.=.str_replace('...',.
3c8c0 27 20 27 2c 20 24 74 72 65 65 42 61 72 29 3b 0a 0a 24 63 75 72 72 65 6e 74 54 72 65 65 5b 5d 20 '.',.$treeBar);..$currentTree[].
3c8e0 3d 20 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c =.$require['name'];.$this->displ
3c900 61 79 54 72 65 65 28 24 72 65 71 75 69 72 65 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 2c 20 24 ayTree($require,.$currentTree,.$
3c920 74 72 65 65 42 61 72 2c 20 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a treeBar,.$level.+.1);.}.}.}.....
3c940 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 54 72 65 .......protected.function.addTre
3c960 65 28 0a 24 6e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e e(.$name,.$package,.RepositoryIn
3c980 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a 52 65 70 6f 73 69 74 6f terface.$installedRepo,.Reposito
3c9a0 72 79 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 0a 61 72 72 61 79 ryInterface.$distantRepos,.array
3c9c0 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 0a 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d .$packagesInTree.).{.$children.=
3c9e0 20 61 72 72 61 79 28 29 3b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f .array();.list($package,.$versio
3ca00 6e 73 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 0a 24 69 6e 73 74 61 6c ns).=.$this->getPackage(.$instal
3ca20 6c 65 64 52 65 70 6f 2c 0a 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 0a 24 6e 61 6d 65 2c 0a 24 ledRepo,.$distantRepos,.$name,.$
3ca40 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3d package->getPrettyConstraint().=
3ca60 3d 3d 20 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ==.'self.version'.?.$package->ge
3ca80 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 tConstraint().:.$package->getPre
3caa0 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 ttyConstraint().);.if.(is_object
3cac0 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 ($package)).{.$requires.=.$packa
3cae0 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 ge->getRequires();.ksort($requir
3cb00 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 es);.foreach.($requires.as.$requ
3cb20 69 72 65 4e 61 6d 65 20 3d 3e 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 ireName.=>.$require).{.$currentT
3cb40 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 3b 0a 0a 24 74 72 65 65 43 68 69 ree.=.$packagesInTree;..$treeChi
3cb60 6c 64 44 65 73 63 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 65 71 75 69 ldDesc.=.array(.'name'.=>.$requi
3cb80 72 65 4e 61 6d 65 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 65 71 75 69 72 65 2d 3e 67 reName,.'version'.=>.$require->g
3cba0 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 21 69 etPrettyConstraint(),.);..if.(!i
3cbc0 6e 5f 61 72 72 61 79 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 63 75 72 72 65 6e 74 54 72 n_array($requireName,.$currentTr
3cbe0 65 65 2c 20 74 72 75 65 29 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 5b 5d 20 3d 20 24 72 ee,.true)).{.$currentTree[].=.$r
3cc00 65 71 75 69 72 65 4e 61 6d 65 3b 0a 24 64 65 65 70 43 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 equireName;.$deepChildren.=.$thi
3cc20 73 2d 3e 61 64 64 54 72 65 65 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 s->addTree($requireName,.$requir
3cc40 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 e,.$installedRepo,.$distantRepos
3cc60 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 29 3b 0a 69 66 20 28 24 64 65 65 70 43 68 69 6c 64 72 ,.$currentTree);.if.($deepChildr
3cc80 65 6e 29 20 7b 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 5b 27 72 65 71 75 69 72 65 73 27 5d en).{.$treeChildDesc['requires']
3cca0 20 3d 20 24 64 65 65 70 43 68 69 6c 64 72 65 6e 3b 0a 7d 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e .=.$deepChildren;.}.}..$children
3ccc0 5b 5d 20 3d 20 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e [].=.$treeChildDesc;.}.}..return
3cce0 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 .$children;.}..private.function.
3cd00 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 75 70 64 61 updateStatusToVersionStyle($upda
3cd20 74 65 53 74 61 74 75 73 29 0a 7b 0a 0a 20 0a 20 0a 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 teStatus).{.......return.str_rep
3cd40 6c 61 63 65 28 61 72 72 61 79 28 27 75 70 2d 74 6f 2d 64 61 74 65 27 2c 20 27 73 65 6d 76 65 72 lace(array('up-to-date',.'semver
3cd60 2d 73 61 66 65 2d 75 70 64 61 74 65 27 2c 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 -safe-update',.'update-possible'
3cd80 29 2c 20 61 72 72 61 79 28 27 69 6e 66 6f 27 2c 20 27 68 69 67 68 6c 69 67 68 74 27 2c 20 27 63 ),.array('info',.'highlight',.'c
3cda0 6f 6d 6d 65 6e 74 27 29 2c 20 24 75 70 64 61 74 65 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 70 72 69 omment'),.$updateStatus);.}..pri
3cdc0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 70 64 61 74 65 53 74 61 74 75 73 28 50 61 vate.function.getUpdateStatus(Pa
3cde0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 50 ckageInterface.$latestPackage,.P
3ce00 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 ackageInterface.$package).{.if.(
3ce20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 $latestPackage->getFullPrettyVer
3ce40 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 sion().===.$package->getFullPret
3ce60 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 75 70 2d 74 6f 2d 64 61 74 tyVersion()).{.return.'up-to-dat
3ce80 65 27 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 e';.}..$constraint.=.$package->g
3cea0 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 etVersion();.if.(0.!==.strpos($c
3cec0 6f 6e 73 74 72 61 69 6e 74 2c 20 27 64 65 76 2d 27 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e onstraint,.'dev-')).{.$constrain
3cee0 74 20 3d 20 27 5e 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 69 66 20 28 24 6c 61 74 65 t.=.'^'.$constraint;.}.if.($late
3cf00 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 26 26 20 53 65 6d 76 65 stPackage->getVersion().&&.Semve
3cf20 72 3a 3a 73 61 74 69 73 66 69 65 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 r::satisfies($latestPackage->get
3cf40 56 65 72 73 69 6f 6e 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 0a 20 72 65 74 Version(),.$constraint)).{...ret
3cf60 75 72 6e 20 27 73 65 6d 76 65 72 2d 73 61 66 65 2d 75 70 64 61 74 65 27 3b 0a 7d 0a 0a 0a 20 72 urn.'semver-safe-update';.}....r
3cf80 65 74 75 72 6e 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 3b 0a 7d 0a 0a 70 72 69 76 eturn.'update-possible';.}..priv
3cfa0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 6c 69 6e 65 ate.function.writeTreeLine($line
3cfc0 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 24 ).{.$io.=.$this->getIO();.if.(!$
3cfe0 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 74 72 io->isDecorated()).{.$line.=.str
3d000 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 e2 94 94 27 2c 20 27 e2 94 9c 27 2c 20 27 e2 94 _replace(array('...',.'...',.'..
3d020 80 e2 94 80 27 2c 20 27 e2 94 82 27 29 2c 20 61 72 72 61 79 28 27 60 2d 27 2c 20 27 7c 2d 27 2c ....',.'...'),.array('`-',.'|-',
3d040 20 27 2d 27 2c 20 27 7c 27 29 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 .'-',.'|'),.$line);.}..$io->writ
3d060 65 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 e($line);.}............private.f
3d080 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4c 61 74 65 73 74 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 unction.findLatestPackage(Packag
3d0a0 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 eInterface.$package,.Composer.$c
3d0c0 6f 6d 70 6f 73 65 72 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 6d 69 6e 6f 72 4f 6e 6c 79 omposer,.$phpVersion,.$minorOnly
3d0e0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e .=.false).{...$name.=.$package->
3d100 67 65 74 4e 61 6d 65 28 29 3b 0a 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 getName();.$versionSelector.=.ne
3d120 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 50 6f 6f 6c w.VersionSelector($this->getPool
3d140 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 63 6f 6d 70 ($composer));.$stability.=.$comp
3d160 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 oser->getPackage()->getMinimumSt
3d180 61 62 69 6c 69 74 79 28 29 3b 0a 24 66 6c 61 67 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ability();.$flags.=.$composer->g
3d1a0 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 etPackage()->getStabilityFlags()
3d1c0 3b 0a 69 66 20 28 69 73 73 65 74 28 24 66 6c 61 67 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 73 ;.if.(isset($flags[$name])).{.$s
3d1e0 74 61 62 69 6c 69 74 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 66 6c 61 67 73 5b 24 tability.=.array_search($flags[$
3d200 6e 61 6d 65 5d 2c 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 name],.BasePackage::$stabilities
3d220 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 20 3d 20 24 73 74 ,.true);.}..$bestStability.=.$st
3d240 61 62 69 6c 69 74 79 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 ability;.if.($composer->getPacka
3d260 67 65 28 29 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 29 20 7b 0a 24 62 65 73 74 ge()->getPreferStable()).{.$best
3d280 53 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 Stability.=.$package->getStabili
3d2a0 74 79 28 29 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a ty();.}..$targetVersion.=.null;.
3d2c0 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 if.(0.===.strpos($package->getVe
3d2e0 72 73 69 6f 6e 28 29 2c 20 27 64 65 76 2d 27 29 29 20 7b 0a 24 74 61 72 67 65 74 56 65 72 73 69 rsion(),.'dev-')).{.$targetVersi
3d300 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a on.=.$package->getVersion();.}..
3d320 69 66 20 28 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 24 if.($targetVersion.===.null.&&.$
3d340 6d 69 6e 6f 72 4f 6e 6c 79 29 20 7b 0a 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 27 5e minorOnly).{.$targetVersion.=.'^
3d360 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 '...$package->getVersion();.}..r
3d380 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 eturn.$versionSelector->findBest
3d3a0 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 2c Candidate($name,.$targetVersion,
3d3c0 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d .$phpVersion,.$bestStability);.}
3d3e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 43 6f 6d 70 6f ..private.function.getPool(Compo
3d400 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f ser.$composer).{.if.(!$this->poo
3d420 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 63 6f 6d l).{.$this->pool.=.new.Pool($com
3d440 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 poser->getPackage()->getMinimumS
3d460 74 61 62 69 6c 69 74 79 28 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 tability(),.$composer->getPackag
3d480 65 28 29 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 29 3b 0a 24 74 68 69 73 e()->getStabilityFlags());.$this
3d4a0 2d 3e 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 43 6f 6d 70 6f 73 ->pool->addRepository(new.Compos
3d4c0 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f iteRepository($composer->getRepo
3d4e0 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 sitoryManager()->getRepositories
3d500 28 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 7d ()));.}..return.$this->pool;.}.}
3d520 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
3d540 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f oser\Command;..use.Symfony\Compo
3d560 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 nent\Console\Input\InputInterfac
3d580 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
3d5a0 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c \Input\InputOption;.use.Symfony\
3d5c0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
3d5e0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 nterface;.use.Composer\Downloade
3d600 72 5c 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d r\ChangeReportInterface;.use.Com
3d620 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 poser\Downloader\DvcsDownloaderI
3d640 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 nterface;.use.Composer\Downloade
3d660 72 5c 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b r\VcsCapableDownloaderInterface;
3d680 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 .use.Composer\Package\Dumper\Arr
3d6a0 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 ayDumper;.use.Composer\Package\V
3d6c0 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f ersion\VersionGuesser;.use.Compo
3d6e0 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 ser\Package\Version\VersionParse
3d700 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 r;.use.Composer\Plugin\CommandEv
3d720 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 ent;.use.Composer\Plugin\PluginE
3d740 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 vents;.use.Composer\Script\Scrip
3d760 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 tEvents;.use.Composer\Util\Proce
3d780 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 75 73 43 6f 6d ssExecutor;......class.StatusCom
3d7a0 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 mand.extends.BaseCommand.{.const
3d7c0 20 45 58 49 54 5f 43 4f 44 45 5f 45 52 52 4f 52 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 45 58 49 .EXIT_CODE_ERRORS.=.1;.const.EXI
3d7e0 54 5f 43 4f 44 45 5f 55 4e 50 55 53 48 45 44 5f 43 48 41 4e 47 45 53 20 3d 20 32 3b 0a 63 6f 6e T_CODE_UNPUSHED_CHANGES.=.2;.con
3d800 73 74 20 45 58 49 54 5f 43 4f 44 45 5f 56 45 52 53 49 4f 4e 5f 43 48 41 4e 47 45 53 20 3d 20 34 st.EXIT_CODE_VERSION_CHANGES.=.4
3d820 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 ;.....protected.function.configu
3d840 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 74 61 74 75 73 27 29 re().{.$this.->setName('status')
3d860 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 61 20 6c 69 73 74 20 .->setDescription('Shows.a.list.
3d880 6f 66 20 6c 6f 63 61 6c 6c 79 20 6d 6f 64 69 66 69 65 64 20 70 61 63 6b 61 67 65 73 2c 20 66 6f of.locally.modified.packages,.fo
3d8a0 72 20 70 61 63 6b 61 67 65 73 20 69 6e 73 74 61 6c 6c 65 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 r.packages.installed.from.source
3d8c0 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 .').->setDefinition(array(.new.I
3d8e0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 nputOption('verbose',.'v|vv|vvv'
3d900 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 ,.InputOption::VALUE_NONE,.'Show
3d920 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 66 6f 72 20 65 61 63 68 20 64 69 72 65 63 74 6f .modified.files.for.each.directo
3d940 72 79 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 63 68 61 6e 67 65 73 2e 27 29 2c 0a 29 29 0a ry.that.contains.changes.'),.)).
3d960 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 74 61 74 75 73 20 63 6f 6d ->setHelp(.<<<EOT.The.status.com
3d980 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 61 20 6c 69 73 74 20 6f 66 20 64 65 70 65 6e 64 65 6e mand.displays.a.list.of.dependen
3d9a0 63 69 65 73 20 74 68 61 74 20 68 61 76 65 0a 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6c 6f 63 cies.that.have.been.modified.loc
3d9c0 61 6c 6c 79 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ally...EOT.).;.}.......protected
3d9e0 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 .function.execute(InputInterface
3da00 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 .$input,.OutputInterface.$output
3da20 29 0a 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 ).{...$composer.=.$this->getComp
3da40 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d oser();..$commandEvent.=.new.Com
3da60 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c mandEvent(PluginEvents::COMMAND,
3da80 20 27 73 74 61 74 75 73 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f .'status',.$input,.$output);.$co
3daa0 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 mposer->getEventDispatcher()->di
3dac0 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c spatch($commandEvent->getName(),
3dae0 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f .$commandEvent);..$installedRepo
3db00 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 .=.$composer->getRepositoryManag
3db20 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 64 6d er()->getLocalRepository();..$dm
3db40 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 .=.$composer->getDownloadManager
3db60 28 29 3b 0a 24 69 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 ();.$im.=.$composer->getInstalla
3db80 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 tionManager();....$composer->get
3dba0 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 EventDispatcher()->dispatchScrip
3dbc0 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 2c 20 t(ScriptEvents::PRE_STATUS_CMD,.
3dbe0 74 72 75 65 29 3b 0a 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f 20 3d true);..$errors.=.array();.$io.=
3dc00 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 .$this->getIO();.$unpushedChange
3dc20 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 s.=.array();.$vcsVersionChanges.
3dc40 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f =.array();..$parser.=.new.Versio
3dc60 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 nParser;.$guesser.=.new.VersionG
3dc80 75 65 73 73 65 72 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 20 6e uesser($composer->getConfig(),.n
3dca0 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 2c 20 24 70 61 72 73 65 72 ew.ProcessExecutor($io),.$parser
3dcc0 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 0a );.$dumper.=.new.ArrayDumper;...
3dce0 20 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 43 61 6e .foreach.($installedRepo->getCan
3dd00 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a onicalPackages().as.$package).{.
3dd20 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 64 6d 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 $downloader.=.$dm->getDownloader
3dd40 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 ForInstalledPackage($package);.$
3dd60 74 61 72 67 65 74 44 69 72 20 3d 20 24 69 6d 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 targetDir.=.$im->getInstallPath(
3dd80 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 $package);..if.($downloader.inst
3dda0 61 6e 63 65 6f 66 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a anceof.ChangeReportInterface).{.
3ddc0 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 24 65 72 72 6f if.(is_link($targetDir)).{.$erro
3dde0 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 20 rs[$targetDir].=.$targetDir...'.
3de00 69 73 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 68 is.a.symbolic.link.';.}..if.($ch
3de20 61 6e 67 65 73 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 anges.=.$downloader->getLocalCha
3de40 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 24 65 nges($package,.$targetDir)).{.$e
3de60 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 63 68 61 6e 67 65 73 3b 0a 7d 0a rrors[$targetDir].=.$changes;.}.
3de80 7d 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 }..if.($downloader.instanceof.Vc
3dea0 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 sCapableDownloaderInterface).{.i
3dec0 66 20 28 24 63 75 72 72 65 6e 74 52 65 66 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 f.($currentRef.=.$downloader->ge
3dee0 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 tVcsReference($package,.$targetD
3df00 69 72 29 29 20 7b 0a 73 77 69 74 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 ir)).{.switch.($package->getInst
3df20 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 29 20 7b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 allationSource()).{.case.'source
3df40 27 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 ':.$previousRef.=.$package->getS
3df60 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 64 ourceReference();.break;.case.'d
3df80 69 73 74 27 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ist':.$previousRef.=.$package->g
3dfa0 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c etDistReference();.break;.defaul
3dfc0 74 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 75 72 72 t:.$previousRef.=.null;.}..$curr
3dfe0 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 entVersion.=.$guesser->guessVers
3e000 69 6f 6e 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 2c 20 24 74 61 ion($dumper->dump($package),.$ta
3e020 72 67 65 74 44 69 72 29 3b 0a 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 52 65 66 20 26 26 20 24 rgetDir);..if.($previousRef.&&.$
3e040 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 26 26 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f currentVersion.&&.$currentVersio
3e060 6e 5b 27 63 6f 6d 6d 69 74 27 5d 20 21 3d 3d 20 24 70 72 65 76 69 6f 75 73 52 65 66 29 20 7b 0a n['commit'].!==.$previousRef).{.
3e080 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d $vcsVersionChanges[$targetDir].=
3e0a0 20 61 72 72 61 79 28 0a 27 70 72 65 76 69 6f 75 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 76 65 .array(.'previous'.=>.array(.'ve
3e0c0 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 rsion'.=>.$package->getPrettyVer
3e0e0 73 69 6f 6e 28 29 2c 0a 27 72 65 66 27 20 3d 3e 20 24 70 72 65 76 69 6f 75 73 52 65 66 2c 0a 29 sion(),.'ref'.=>.$previousRef,.)
3e100 2c 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 ,.'current'.=>.array(.'version'.
3e120 3d 3e 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 =>.$currentVersion['pretty_versi
3e140 6f 6e 27 5d 2c 0a 27 72 65 66 27 20 3d 3e 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5b 27 on'],.'ref'.=>.$currentVersion['
3e160 63 6f 6d 6d 69 74 27 5d 2c 0a 29 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 6f 77 6e commit'],.),.);.}.}.}..if.($down
3e180 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 loader.instanceof.DvcsDownloader
3e1a0 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 24 75 6e 70 75 73 68 65 64 20 3d 20 24 64 6f Interface).{.if.($unpushed.=.$do
3e1c0 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 24 70 61 wnloader->getUnpushedChanges($pa
3e1e0 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 24 75 6e 70 75 73 68 65 64 43 ckage,.$targetDir)).{.$unpushedC
3e200 68 61 6e 67 65 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 75 6e 70 75 73 68 65 64 3b 0a hanges[$targetDir].=.$unpushed;.
3e220 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 24 75 6e 70 75 73 }.}.}....if.(!$errors.&&.!$unpus
3e240 68 65 64 43 68 61 6e 67 65 73 20 26 26 20 21 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 hedChanges.&&.!$vcsVersionChange
3e260 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4e 6f 20 6c s).{.$io->writeError('<info>No.l
3e280 6f 63 61 6c 20 63 68 61 6e 67 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 30 ocal.changes</info>');..return.0
3e2a0 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 ;.}..if.($errors).{.$io->writeEr
3e2c0 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 68 61 76 65 20 63 68 61 6e 67 65 73 20 69 6e 20 ror('<error>You.have.changes.in.
3e2e0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 65 72 72 the.following.dependencies:</err
3e300 6f 72 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 20 61 73 20 24 70 61 74 or>');..foreach.($errors.as.$pat
3e320 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 h.=>.$changes).{.if.($input->get
3e340 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 69 6e 64 65 6e 74 65 64 43 68 Option('verbose')).{.$indentedCh
3e360 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 61 70 28 anges.=.implode("\n",.array_map(
3e380 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 function.($line).{.return.'....'
3e3a0 20 2e 20 6c 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 ...ltrim($line);.},.explode("\n"
3e3c0 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f ,.$changes)));.$io->write('<info
3e3e0 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 >'.$path.'</info>:');.$io->write
3e400 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f ($indentedChanges);.}.else.{.$io
3e420 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 75 6e 70 75 ->write($path);.}.}.}..if.($unpu
3e440 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 shedChanges).{.$io->writeError('
3e460 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 68 61 76 65 20 75 6e 70 75 73 68 65 64 20 63 68 61 6e 67 <warning>You.have.unpushed.chang
3e480 65 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 61 6e 63 68 20 69 6e 20 74 68 65 20 es.on.the.current.branch.in.the.
3e4a0 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 77 61 72 6e 69 6e 67 following.dependencies:</warning
3e4c0 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 >');..foreach.($unpushedChanges.
3e4e0 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 6e 70 as.$path.=>.$changes).{.if.($inp
3e500 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 69 6e 64 ut->getOption('verbose')).{.$ind
3e520 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 entedChanges.=.implode("\n",.arr
3e540 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e ay_map(function.($line).{.return
3e560 20 27 20 20 20 20 27 20 2e 20 6c 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 7d 2c 20 65 78 70 6c 6f .'....'...ltrim($line);.},.explo
3e580 64 65 28 22 5c 6e 22 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 de("\n",.$changes)));.$io->write
3e5a0 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 69 6f ('<info>'.$path.'</info>:');.$io
3e5c0 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 29 3b 0a 7d 20 65 6c 73 ->write($indentedChanges);.}.els
3e5e0 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 e.{.$io->write($path);.}.}.}..if
3e600 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 .($vcsVersionChanges).{.$io->wri
3e620 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 68 61 76 65 20 76 65 72 73 69 teError('<warning>You.have.versi
3e640 6f 6e 20 76 61 72 69 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 on.variations.in.the.following.d
3e660 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 66 6f 72 65 61 ependencies:</warning>');..forea
3e680 63 68 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 61 73 20 24 70 61 74 68 20 ch.($vcsVersionChanges.as.$path.
3e6a0 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 =>.$changes).{.if.($input->getOp
3e6c0 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 0a 20 24 63 75 72 72 65 6e 74 56 65 72 tion('verbose')).{...$currentVer
3e6e0 73 69 6f 6e 20 3d 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 76 65 72 73 sion.=.$changes['current']['vers
3e700 69 6f 6e 27 5d 20 3f 3a 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 72 65 ion'].?:.$changes['current']['re
3e720 66 27 5d 3b 0a 24 70 72 65 76 69 6f 75 73 56 65 72 73 69 6f 6e 20 3d 20 24 63 68 61 6e 67 65 73 f'];.$previousVersion.=.$changes
3e740 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 24 63 68 61 6e ['previous']['version'].?:.$chan
3e760 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 72 65 66 27 5d 3b 0a 0a 69 66 20 28 24 69 6f ges['previous']['ref'];..if.($io
3e780 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 0a 20 24 63 75 72 72 65 6e 74 56 ->isVeryVerbose()).{...$currentV
3e7a0 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 28 25 73 29 27 2c 20 24 63 68 61 6e ersion..=.sprintf('.(%s)',.$chan
3e7c0 67 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 72 65 66 27 5d 29 3b 0a 24 70 72 65 76 69 6f 75 ges['current']['ref']);.$previou
3e7e0 73 56 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 28 25 73 29 27 2c 20 24 63 68 sVersion..=.sprintf('.(%s)',.$ch
3e800 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 72 65 66 27 5d 29 3b 0a 7d 0a 0a 24 69 anges['previous']['ref']);.}..$i
3e820 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e o->write('<info>'.$path.'</info>
3e840 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 46 72 6f :');.$io->write(sprintf('....Fro
3e860 6d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 74 6f 20 3c 63 6f 6d 6d m.<comment>%s</comment>.to.<comm
3e880 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 70 72 65 76 69 6f 75 73 56 65 72 73 ent>%s</comment>',.$previousVers
3e8a0 69 6f 6e 2c 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 29 29 3b 0a 7d 20 65 6c 73 65 20 7b ion,.$currentVersion));.}.else.{
3e8c0 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 28 .$io->write($path);.}.}.}..if.((
3e8e0 24 65 72 72 6f 72 73 20 7c 7c 20 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 7c 7c 20 24 $errors.||.$unpushedChanges.||.$
3e900 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 vcsVersionChanges).&&.!$input->g
3e920 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 etOption('verbose')).{.$io->writ
3e940 65 45 72 72 6f 72 28 27 55 73 65 20 2d 2d 76 65 72 62 6f 73 65 20 28 2d 76 29 20 74 6f 20 73 65 eError('Use.--verbose.(-v).to.se
3e960 65 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 27 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 70 6f e.a.list.of.files');.}....$compo
3e980 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 ser->getEventDispatcher()->dispa
3e9a0 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 tchScript(ScriptEvents::POST_STA
3e9c0 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 65 72 72 6f 72 73 TUS_CMD,.true);..return.($errors
3e9e0 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 45 52 52 4f 52 53 20 3a 20 30 29 20 2b .?.self::EXIT_CODE_ERRORS.:.0).+
3ea00 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f .($unpushedChanges.?.self::EXIT_
3ea20 43 4f 44 45 5f 55 4e 50 55 53 48 45 44 5f 43 48 41 4e 47 45 53 20 3a 20 30 29 20 2b 20 28 24 76 CODE_UNPUSHED_CHANGES.:.0).+.($v
3ea40 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 4f csVersionChanges.?.self::EXIT_CO
3ea60 44 45 5f 56 45 52 53 49 4f 4e 5f 43 48 41 4e 47 45 53 20 3a 20 30 29 3b 0a 7d 0a 7d 0a 3c 3f 70 DE_VERSION_CHANGES.:.0);.}.}.<?p
3ea80 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
3eaa0 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f \Command;..use.Composer\Reposito
3eac0 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f ry\PlatformRepository;.use.Symfo
3eae0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
3eb00 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Argument;.use.Symfony\Component\
3eb20 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
3eb40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
3eb60 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f t\InputOption;.use.Symfony\Compo
3eb80 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 nent\Console\Output\OutputInterf
3eba0 61 63 65 3b 0a 0a 63 6c 61 73 73 20 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 ace;..class.SuggestsCommand.exte
3ebc0 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 nds.BaseCommand.{.protected.func
3ebe0 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 tion.configure().{.$this.->setNa
3ec00 6d 65 28 27 73 75 67 67 65 73 74 73 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 me('suggests').->setDescription(
3ec20 27 53 68 6f 77 73 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 6f 6e 73 2e 27 29 0a 2d 3e 'Shows.package.suggestions.').->
3ec40 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 setDefinition(array(.new.InputOp
3ec60 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b 61 67 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 tion('by-package',.null,.InputOp
3ec80 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 47 72 6f 75 70 73 20 6f 75 74 70 75 74 tion::VALUE_NONE,.'Groups.output
3eca0 20 62 79 20 73 75 67 67 65 73 74 69 6e 67 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e .by.suggesting.package'),.new.In
3ecc0 70 75 74 4f 70 74 69 6f 6e 28 27 62 79 2d 73 75 67 67 65 73 74 69 6f 6e 27 2c 20 6e 75 6c 6c 2c putOption('by-suggestion',.null,
3ece0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 47 72 6f 75 70 .InputOption::VALUE_NONE,.'Group
3ed00 73 20 6f 75 74 70 75 74 20 62 79 20 73 75 67 67 65 73 74 65 64 20 70 61 63 6b 61 67 65 27 29 2c s.output.by.suggested.package'),
3ed20 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c .new.InputOption('no-dev',.null,
3ed40 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 78 63 6c 75 .InputOption::VALUE_NONE,.'Exclu
3ed60 64 65 20 73 75 67 67 65 73 74 69 6f 6e 73 20 66 72 6f 6d 20 72 65 71 75 69 72 65 2d 64 65 76 20 de.suggestions.from.require-dev.
3ed80 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 packages'),.new.InputArgument('p
3eda0 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 ackages',.InputArgument::IS_ARRA
3edc0 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 Y.|.InputArgument::OPTIONAL,.'Pa
3ede0 63 6b 61 67 65 73 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6c 69 73 74 20 73 75 67 ckages.that.you.want.to.list.sug
3ee00 67 65 73 74 69 6f 6e 73 20 66 72 6f 6d 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a gestions.from.'),.)).->setHelp(.
3ee20 3c 3c 3c 45 4f 54 0a 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 <<<EOT..The.<info>%command.name%
3ee40 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 73 68 6f 77 73 20 61 20 73 6f 72 74 65 64 20 6c </info>.command.shows.a.sorted.l
3ee60 69 73 74 20 6f 66 20 73 75 67 67 65 73 74 65 64 20 70 61 63 6b 61 67 65 73 2e 0a 0a 45 6e 61 62 ist.of.suggested.packages...Enab
3ee80 6c 69 6e 67 20 3c 69 6e 66 6f 3e 2d 76 3c 2f 69 6e 66 6f 3e 20 69 6d 70 6c 69 65 73 20 3c 69 6e ling.<info>-v</info>.implies.<in
3eea0 66 6f 3e 2d 2d 62 79 2d 70 61 63 6b 61 67 65 20 2d 2d 62 79 2d 73 75 67 67 65 73 74 69 6f 6e 3c fo>--by-package.--by-suggestion<
3eec0 2f 69 6e 66 6f 3e 2c 20 73 68 6f 77 69 6e 67 20 62 6f 74 68 20 6c 69 73 74 73 2e 0a 0a 45 4f 54 /info>,.showing.both.lists...EOT
3eee0 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 .).;.}..protected.function.execu
3ef00 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 te(InputInterface.$input,.Output
3ef20 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 24 74 68 Interface.$output).{.$lock.=.$th
3ef40 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2d 3e is->getComposer()->getLocker()->
3ef60 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6c 6f 63 6b 29 getLockData();..if.(empty($lock)
3ef80 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
3efa0 27 4c 6f 63 6b 66 69 6c 65 20 73 65 65 6d 73 20 74 6f 20 62 65 20 65 6d 70 74 79 3f 27 29 3b 0a 'Lockfile.seems.to.be.empty?');.
3efc0 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d }..$packages.=.$lock['packages']
3efe0 3b 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 ;..if.(!$input->getOption('no-de
3f000 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 2b 3d 20 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 v')).{.$packages.+=.$lock['packa
3f020 67 65 73 2d 64 65 76 27 5d 3b 0a 7d 0a 0a 24 66 69 6c 74 65 72 20 3d 20 24 69 6e 70 75 74 2d 3e ges-dev'];.}..$filter.=.$input->
3f040 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 0a 0a 20 24 69 6e 73 getArgument('packages');....$ins
3f060 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b talled.=.array();.foreach.($pack
3f080 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 5b 5d ages.as.$package).{.$installed[]
3f0a0 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 .=.$package['name'];..if.(!empty
3f0c0 28 24 70 61 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 20 7b 0a 24 69 6e 73 74 61 6c ($package['provide'])).{.$instal
3f0e0 6c 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 69 6e 73 74 61 6c 6c 65 64 2c 20 61 72 led.=.array_merge($installed,.ar
3f100 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 3b 0a ray_keys($package['provide']));.
3f120 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 6c 61 63 65 27 }..if.(!empty($package['replace'
3f140 5d 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 ])).{.$installed.=.array_merge($
3f160 69 6e 73 74 61 6c 6c 65 64 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 5b 27 installed,.array_keys($package['
3f180 72 65 70 6c 61 63 65 27 5d 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 69 6e 73 74 61 6c 6c 65 64 20 3d replace']));.}.}....$installed.=
3f1a0 20 61 72 72 61 79 5f 66 6c 69 70 28 24 69 6e 73 74 61 6c 6c 65 64 29 3b 0a 6b 73 6f 72 74 28 24 .array_flip($installed);.ksort($
3f1c0 69 6e 73 74 61 6c 6c 65 64 29 3b 0a 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 20 3d 20 6e 65 77 20 50 installed);....$platform.=.new.P
3f1e0 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 74 68 69 73 latformRepository(array(),.$this
3f200 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 ->getComposer()->getConfig()->ge
3f220 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 20 24 73 t('platform').?:.array());....$s
3f240 75 67 67 65 73 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 73 74 65 64 20 uggesters.=.array();.$suggested.
3f260 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 =.array();.foreach.($packages.as
3f280 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 .$package).{.$packageName.=.$pac
3f2a0 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 28 21 65 6d 70 74 79 28 24 66 69 6c 74 65 kage['name'];.if.((!empty($filte
3f2c0 72 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 66 r).&&.!in_array($packageName,.$f
3f2e0 69 6c 74 65 72 29 29 20 7c 7c 20 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 73 75 67 67 65 ilter)).||.empty($package['sugge
3f300 73 74 27 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 st'])).{.continue;.}.foreach.($p
3f320 61 63 6b 61 67 65 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e ackage['suggest'].as.$suggestion
3f340 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 .=>.$reason).{.if.(false.===.str
3f360 70 6f 73 28 27 2f 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 20 26 26 20 6e 75 6c 6c 20 21 3d pos('/',.$suggestion).&&.null.!=
3f380 3d 20 24 70 6c 61 74 66 6f 72 6d 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 73 75 67 67 65 73 =.$platform->findPackage($sugges
3f3a0 74 69 6f 6e 2c 20 27 2a 27 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 21 69 tion,.'*')).{.continue;.}.if.(!i
3f3c0 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 5b 24 73 75 67 67 65 73 74 69 6f 6e 5d 29 29 20 7b sset($installed[$suggestion])).{
3f3e0 0a 24 73 75 67 67 65 73 74 65 72 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 5b 24 73 75 67 67 .$suggesters[$packageName][$sugg
3f400 65 73 74 69 6f 6e 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 24 73 75 67 67 65 73 74 65 64 5b 24 73 estion].=.$reason;.$suggested[$s
3f420 75 67 67 65 73 74 69 6f 6e 5d 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 24 72 65 61 73 uggestion][$packageName].=.$reas
3f440 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 73 75 67 67 65 73 74 65 72 73 29 3b 0a 6b 73 on;.}.}.}.ksort($suggesters);.ks
3f460 6f 72 74 28 24 73 75 67 67 65 73 74 65 64 29 3b 0a 0a 0a 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 24 ort($suggested);....$mode.=.0;.$
3f480 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d io.=.$this->getIO();.if.($input-
3f4a0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b 61 67 65 27 29 20 7c 7c 20 24 69 6f 2d >getOption('by-package').||.$io-
3f4c0 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 6d 6f 64 65 20 7c 3d 20 31 3b 0a 7d 0a 69 66 >isVerbose()).{.$mode.|=.1;.}.if
3f4e0 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 62 79 2d 73 75 67 67 65 73 74 69 .($input->getOption('by-suggesti
3f500 6f 6e 27 29 29 20 7b 0a 24 6d 6f 64 65 20 7c 3d 20 32 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f on')).{.$mode.|=.2;.}....if.($mo
3f520 64 65 20 3d 3d 3d 20 30 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 de.===.0).{.foreach.(array_keys(
3f540 24 73 75 67 67 65 73 74 65 64 29 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 29 20 7b 0a 24 69 $suggested).as.$suggestion).{.$i
3f560 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f o->write(sprintf('<info>%s</info
3f580 3e 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a >',.$suggestion));.}..return;.}.
3f5a0 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 31 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 75 ...if.($mode.&.1).{.foreach.($su
3f5c0 67 67 65 73 74 65 72 73 20 61 73 20 24 73 75 67 67 65 73 74 65 72 20 3d 3e 20 24 73 75 67 67 65 ggesters.as.$suggester.=>.$sugge
3f5e0 73 74 69 6f 6e 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 63 stions).{.$io->write(sprintf('<c
3f600 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 73 75 67 67 65 73 74 73 3a 27 2c 20 omment>%s</comment>.suggests:',.
3f620 24 73 75 67 67 65 73 74 65 72 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 $suggester));..foreach.($suggest
3f640 69 6f 6e 73 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 ions.as.$suggestion.=>.$reason).
3f660 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 20 2d 20 3c 69 6e 66 6f 3e 25 {.$io->write(sprintf('.-.<info>%
3f680 73 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 2c 20 24 72 65 61 s</info>:.%s',.$suggestion,.$rea
3f6a0 73 6f 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a son.?:.'*'));.}.$io->write('');.
3f6c0 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 32 29 20 7b 0a 0a 20 69 66 20 28 24 6d }.}....if.($mode.&.2).{...if.($m
3f6e0 6f 64 65 20 26 20 31 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 ode.&.1).{.$io->write(str_repeat
3f700 28 27 2d 27 2c 20 37 38 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 ('-',.78));.}.foreach.($suggeste
3f720 64 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 3d 3e 20 24 73 75 67 67 65 73 74 65 72 73 29 d.as.$suggestion.=>.$suggesters)
3f740 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e .{.$io->write(sprintf('<comment>
3f760 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 69 73 20 73 75 67 67 65 73 74 65 64 20 62 79 3a 27 2c 20 %s</comment>.is.suggested.by:',.
3f780 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 $suggestion));..foreach.($sugges
3f7a0 74 65 72 73 20 61 73 20 24 73 75 67 67 65 73 74 65 72 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b ters.as.$suggester.=>.$reason).{
3f7c0 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 20 2d 20 3c 69 6e 66 6f 3e 25 73 .$io->write(sprintf('.-.<info>%s
3f7e0 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 75 67 67 65 73 74 65 72 2c 20 24 72 65 61 73 6f </info>:.%s',.$suggester,.$reaso
3f800 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a n.?:.'*'));.}.$io->write('');.}.
3f820 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 }.}.}.<?php............namespace
3f840 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 .Composer\Command;..use.Composer
3f860 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 \Composer;.use.Composer\Installe
3f880 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a r;.use.Composer\IO\IOInterface;.
3f8a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 use.Composer\Plugin\CommandEvent
3f8c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e ;.use.Composer\Plugin\PluginEven
3f8e0 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ts;.use.Symfony\Component\Consol
3f900 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 e\Helper\Table;.use.Symfony\Comp
3f920 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 onent\Console\Input\InputInterfa
3f940 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
3f960 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 e\Input\InputOption;.use.Symfony
3f980 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 \Component\Console\Input\InputAr
3f9a0 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f gument;.use.Symfony\Component\Co
3f9c0 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 nsole\Output\OutputInterface;.us
3f9e0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 e.Symfony\Component\Console\Ques
3fa00 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 tion\Question;......class.Update
3fa20 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 Command.extends.BaseCommand.{.pr
3fa40 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 otected.function.configure().{.$
3fa60 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 75 70 64 61 74 65 27 29 0a 2d 3e 73 65 74 41 6c this.->setName('update').->setAl
3fa80 69 61 73 65 73 28 61 72 72 61 79 28 27 75 27 2c 20 27 75 70 67 72 61 64 65 27 29 29 0a 2d 3e 73 iases(array('u',.'upgrade')).->s
3faa0 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 67 72 61 64 65 73 20 79 6f 75 72 20 64 65 70 etDescription('Upgrades.your.dep
3fac0 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 endencies.to.the.latest.version.
3fae0 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2c 20 61 6e 64 20 according.to.composer.json,.and.
3fb00 75 70 64 61 74 65 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 2e 27 updates.the.composer.lock.file.'
3fb20 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 ).->setDefinition(array(.new.Inp
3fb40 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 utArgument('packages',.InputArgu
3fb60 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a ment::IS_ARRAY.|.InputArgument::
3fb80 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 OPTIONAL,.'Packages.that.should.
3fba0 62 65 20 75 70 64 61 74 65 64 2c 20 69 66 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 61 6c 6c 20 be.updated,.if.not.provided.all.
3fbc0 70 61 63 6b 61 67 65 73 20 61 72 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e packages.are.'),.new.InputOption
3fbe0 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ('prefer-source',.null,.InputOpt
3fc00 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c ion::VALUE_NONE,.'Forces.install
3fc20 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e 20 ation.from.package.sources.when.
3fc40 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 possible,.including.VCS.informat
3fc60 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d ion.'),.new.InputOption('prefer-
3fc80 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f dist',.null,.InputOption::VALUE_
3fca0 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 NONE,.'Forces.installation.from.
3fcc0 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 6f package.dist.even.for.dev.versio
3fce0 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 ns.'),.new.InputOption('dry-run'
3fd00 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
3fd20 20 27 4f 75 74 70 75 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 74 20 77 69 6c .'Outputs.the.operations.but.wil
3fd40 6c 20 6e 6f 74 20 65 78 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 6c 69 63 69 74 l.not.execute.anything.(implicit
3fd60 6c 79 20 65 6e 61 62 6c 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e 65 77 20 49 6e ly.enables.--verbose).'),.new.In
3fd80 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 putOption('dev',.null,.InputOpti
3fda0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c on::VALUE_NONE,.'Enables.install
3fdc0 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 ation.of.require-dev.packages.(e
3fde0 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 nabled.by.default,.only.present.
3fe00 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d for.BC).'),.new.InputOption('no-
3fe20 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e dev',.null,.InputOption::VALUE_N
3fe40 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 ONE,.'Disables.installation.of.r
3fe60 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 equire-dev.packages.'),.new.Inpu
3fe80 74 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f tOption('lock',.null,.InputOptio
3fea0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 75 70 64 61 74 65 73 20 74 68 65 n::VALUE_NONE,.'Only.updates.the
3fec0 20 6c 6f 63 6b 20 66 69 6c 65 20 68 61 73 68 20 74 6f 20 73 75 70 70 72 65 73 73 20 77 61 72 6e .lock.file.hash.to.suppress.warn
3fee0 69 6e 67 20 61 62 6f 75 74 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 62 65 69 6e 67 20 6f 75 ing.about.the.lock.file.being.ou
3ff00 74 20 6f 66 20 64 61 74 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e t.of.date.'),.new.InputOption('n
3ff20 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 o-custom-installers',.null,.Inpu
3ff40 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 45 44 tOption::VALUE_NONE,.'DEPRECATED
3ff60 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 :.Use.no-plugins.instead.'),.new
3ff80 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 .InputOption('no-autoloader',.nu
3ffa0 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b ll,.InputOption::VALUE_NONE,.'Sk
3ffc0 69 70 73 20 61 75 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 27 29 2c 0a 6e 65 77 ips.autoloader.generation'),.new
3ffe0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c 2c .InputOption('no-scripts',.null,
40000 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 .InputOption::VALUE_NONE,.'Skips
40020 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 64 65 .the.execution.of.all.scripts.de
40040 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 2c 0a fined.in.composer.json.file.'),.
40060 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e new.InputOption('no-progress',.n
40080 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 ull,.InputOption::VALUE_NONE,.'D
400a0 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 o.not.output.download.progress.'
400c0 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 27 2c ),.new.InputOption('no-suggest',
400e0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
40100 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 6f 6e 73 'Do.not.show.package.suggestions
40120 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e .'),.new.InputOption('with-depen
40140 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c dencies',.null,.InputOption::VAL
40160 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 61 6c 73 6f 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 UE_NONE,.'Add.also.dependencies.
40180 6f 66 20 77 68 69 74 65 6c 69 73 74 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 20 77 of.whitelisted.packages.to.the.w
401a0 68 69 74 65 6c 69 73 74 2c 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 hitelist,.except.those.defined.i
401c0 6e 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 n.root.package.'),.new.InputOpti
401e0 6f 6e 28 27 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c on('with-all-dependencies',.null
40200 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 ,.InputOption::VALUE_NONE,.'Add.
40220 61 6c 73 6f 20 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 77 68 69 74 65 6c 69 also.all.dependencies.of.whiteli
40240 73 74 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 20 77 68 69 74 65 6c 69 73 74 2c 20 sted.packages.to.the.whitelist,.
40260 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 72 6f 6f 74 20 including.those.defined.in.root.
40280 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 package.'),.new.InputOption('ver
402a0 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a bose',.'v|vv|vvv',.InputOption::
402c0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 VALUE_NONE,.'Shows.more.details.
402e0 69 6e 63 6c 75 64 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 20 69 6e 20 including.new.commits.pulled.in.
40300 77 68 65 6e 20 75 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 when.updating.packages.'),.new.I
40320 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 nputOption('optimize-autoloader'
40340 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 ,.'o',.InputOption::VALUE_NONE,.
40360 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 'Optimize.autoloader.during.auto
40380 6c 6f 61 64 65 72 20 64 75 6d 70 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 loader.dump.'),.new.InputOption(
403a0 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 'classmap-authoritative',.'a',.I
403c0 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 nputOption::VALUE_NONE,.'Autoloa
403e0 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 d.classes.from.the.classmap.only
40400 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 ..Implicitly.enables.`--optimize
40420 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e -autoloader`.'),.new.InputOption
40440 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f ('apcu-autoloader',.null,.InputO
40460 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 ption::VALUE_NONE,.'Use.APCu.to.
40480 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 cache.found/not-found.classes.')
404a0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f ,.new.InputOption('ignore-platfo
404c0 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c rm-reqs',.null,.InputOption::VAL
404e0 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 UE_NONE,.'Ignore.platform.requir
40500 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c ements.(php.&.ext-.packages).'),
40520 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 .new.InputOption('prefer-stable'
40540 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
40560 20 27 50 72 65 66 65 72 20 73 74 61 62 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 .'Prefer.stable.versions.of.depe
40580 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 ndencies.'),.new.InputOption('pr
405a0 65 66 65 72 2d 6c 6f 77 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a efer-lowest',.null,.InputOption:
405c0 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 6c 6f 77 65 73 74 20 76 65 72 73 :VALUE_NONE,.'Prefer.lowest.vers
405e0 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 ions.of.dependencies.'),.new.Inp
40600 75 74 4f 70 74 69 6f 6e 28 27 69 6e 74 65 72 61 63 74 69 76 65 27 2c 20 27 69 27 2c 20 49 6e 70 utOption('interactive',.'i',.Inp
40620 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 74 65 72 61 63 74 69 utOption::VALUE_NONE,.'Interacti
40640 76 65 20 69 6e 74 65 72 66 61 63 65 20 77 69 74 68 20 61 75 74 6f 63 6f 6d 70 6c 65 74 69 6f 6e ve.interface.with.autocompletion
40660 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 6f 20 75 70 64 61 74 .to.select.the.packages.to.updat
40680 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 6f 6f 74 2d 72 65 71 73 e.'),.new.InputOption('root-reqs
406a0 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
406c0 2c 20 27 52 65 73 74 72 69 63 74 73 20 74 68 65 20 75 70 64 61 74 65 20 74 6f 20 79 6f 75 72 20 ,.'Restricts.the.update.to.your.
406e0 66 69 72 73 74 20 64 65 67 72 65 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 29 29 first.degree.dependencies.'),.))
40700 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 75 70 64 .->setHelp(.<<<EOT.The.<info>upd
40720 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 6f 6d ate</info>.command.reads.the.com
40740 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 66 72 6f 6d 20 74 68 65 0a 63 75 72 72 65 6e 74 poser.json.file.from.the.current
40760 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 75 70 .directory,.processes.it,.and.up
40780 64 61 74 65 73 2c 20 72 65 6d 6f 76 65 73 20 6f 72 20 69 6e 73 74 61 6c 6c 73 20 61 6c 6c 20 74 dates,.removes.or.installs.all.t
407a0 68 65 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 he.dependencies...<info>php.comp
407c0 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 6c 69 6d 69 oser.phar.update</info>..To.limi
407e0 74 20 74 68 65 20 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 61 20 66 65 77 20 t.the.update.operation.to.a.few.
40800 70 61 63 6b 61 67 65 73 2c 20 79 6f 75 20 63 61 6e 20 6c 69 73 74 20 74 68 65 20 70 61 63 6b 61 packages,.you.can.list.the.packa
40820 67 65 28 73 29 0a 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 70 64 61 74 65 20 61 73 20 73 75 63 68 ge(s).you.want.to.update.as.such
40840 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 :..<info>php.composer.phar.updat
40860 65 20 76 65 6e 64 6f 72 2f 70 61 63 6b 61 67 65 31 20 66 6f 6f 2f 6d 79 70 61 63 6b 61 67 65 20 e.vendor/package1.foo/mypackage.
40880 5b 2e 2e 2e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 75 73 65 20 61 [...]</info>..You.may.also.use.a
408a0 6e 20 61 73 74 65 72 69 73 6b 20 28 2a 29 20 70 61 74 74 65 72 6e 20 74 6f 20 6c 69 6d 69 74 20 n.asterisk.(*).pattern.to.limit.
408c0 74 68 65 20 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 70 61 63 6b 61 67 65 28 the.update.operation.to.package(
408e0 73 29 0a 66 72 6f 6d 20 61 20 73 70 65 63 69 66 69 63 20 76 65 6e 64 6f 72 3a 0a 0a 3c 69 6e 66 s).from.a.specific.vendor:..<inf
40900 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 20 76 65 6e 64 6f o>php.composer.phar.update.vendo
40920 72 2f 70 61 63 6b 61 67 65 31 20 66 6f 6f 2f 2a 20 5b 2e 2e 2e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 54 r/package1.foo/*.[...]</info>..T
40940 6f 20 73 65 6c 65 63 74 20 70 61 63 6b 61 67 65 73 20 6e 61 6d 65 73 20 69 6e 74 65 72 61 63 74 o.select.packages.names.interact
40960 69 76 65 6c 79 20 77 69 74 68 20 61 75 74 6f 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 75 73 65 20 3c ively.with.auto-completion.use.<
40980 69 6e 66 6f 3e 2d 69 3c 2f 69 6e 66 6f 3e 2e 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 info>-i</info>...EOT.).;.}..prot
409a0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 ected.function.execute(InputInte
409c0 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f rface.$input,.OutputInterface.$o
409e0 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 utput).{.$io.=.$this->getIO();.i
40a00 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d f.($input->getOption('no-custom-
40a20 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 installers')).{.$io->writeError(
40a40 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 '<warning>You.are.using.the.depr
40a60 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c ecated.option."no-custom-install
40a80 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 69 6e 73 74 65 61 64 2e 3c ers"..Use."no-plugins".instead.<
40aa0 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 /warning>');.$input->setOption('
40ac0 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 no-plugins',.true);.}..if.($inpu
40ae0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 t->getOption('dev')).{.$io->writ
40b00 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 eError('<warning>You.are.using.t
40b20 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 he.deprecated.option."dev"..Dev.
40b40 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c packages.are.installed.by.defaul
40b60 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 t.now.</warning>');.}..$composer
40b80 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 .=.$this->getComposer(true,.$inp
40ba0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 0a 24 ut->getOption('no-plugins'));..$
40bc0 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 packages.=.$input->getArgument('
40be0 70 61 63 6b 61 67 65 73 27 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 packages');..if.($input->getOpti
40c00 6f 6e 28 27 69 6e 74 65 72 61 63 74 69 76 65 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d on('interactive')).{.$packages.=
40c20 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 61 63 74 69 76 65 6c 79 .$this->getPackagesInteractively
40c40 28 24 69 6f 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f 6d 70 6f 73 65 72 ($io,.$input,.$output,.$composer
40c60 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 ,.$packages);.}..if.($input->get
40c80 4f 70 74 69 6f 6e 28 27 72 6f 6f 74 2d 72 65 71 73 27 29 29 20 7b 0a 24 72 65 71 75 69 72 65 20 Option('root-reqs')).{.$require.
40ca0 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 =.array_keys($composer->getPacka
40cc0 67 65 28 29 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 69 66 20 28 21 24 69 6e 70 75 ge()->getRequires());.if.(!$inpu
40ce0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 72 65 71 75 69 t->getOption('no-dev')).{.$requi
40d00 72 65 44 65 76 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 reDev.=.array_keys($composer->ge
40d20 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 tPackage()->getDevRequires());.$
40d40 72 65 71 75 69 72 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 2c 20 require.=.array_merge($require,.
40d60 24 72 65 71 75 69 72 65 44 65 76 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 $requireDev);.}..if.(!empty($pac
40d80 6b 61 67 65 73 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 kages)).{.$packages.=.array_inte
40da0 72 73 65 63 74 28 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 71 75 69 72 65 29 3b 0a 7d 20 65 6c rsect($packages,.$require);.}.el
40dc0 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 71 75 69 72 65 3b 0a 7d 0a 7d 0a 0a se.{.$packages.=.$require;.}.}..
40de0 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d $composer->getDownloadManager()-
40e00 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f >setOutputProgress(!$input->getO
40e20 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 ption('no-progress'));..$command
40e40 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 Event.=.new.CommandEvent(PluginE
40e60 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 75 70 64 61 74 65 27 2c 20 24 69 6e 70 75 74 vents::COMMAND,.'update',.$input
40e80 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 ,.$output);.$composer->getEventD
40ea0 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 ispatcher()->dispatch($commandEv
40ec0 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a ent->getName(),.$commandEvent);.
40ee0 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 .$install.=.Installer::create($i
40f00 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f o,.$composer);..$config.=.$compo
40f20 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f ser->getConfig();.list($preferSo
40f40 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 urce,.$preferDist).=.$this->getP
40f60 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 referredInstallOptions($config,.
40f80 24 69 6e 70 75 74 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 $input);..$optimize.=.$input->ge
40fa0 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c tOption('optimize-autoloader').|
40fc0 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 |.$config->get('optimize-autoloa
40fe0 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e der');.$authoritative.=.$input->
41000 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 getOption('classmap-authoritativ
41020 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 e').||.$config->get('classmap-au
41040 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 thoritative');.$apcu.=.$input->g
41060 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 etOption('apcu-autoloader').||.$
41080 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a config->get('apcu-autoloader');.
410a0 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 6e 28 24 69 6e 70 75 74 2d 3e 67 65 .$install.->setDryRun($input->ge
410c0 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 29 29 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 tOption('dry-run')).->setVerbose
410e0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d ($input->getOption('verbose')).-
41100 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a >setPreferSource($preferSource).
41120 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 ->setPreferDist($preferDist).->s
41140 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f etDevMode(!$input->getOption('no
41160 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 28 21 24 69 6e -dev')).->setDumpAutoloader(!$in
41180 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 29 put->getOption('no-autoloader'))
411a0 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 .->setRunScripts(!$input->getOpt
411c0 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 67 ion('no-scripts')).->setSkipSugg
411e0 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 est($input->getOption('no-sugges
41200 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 t')).->setOptimizeAutoloader($op
41220 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 timize).->setClassMapAuthoritati
41240 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f ve($authoritative).->setApcuAuto
41260 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a loader($apcu).->setUpdate(true).
41280 2d 3e 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 ->setUpdateWhitelist($input->get
412a0 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 29 20 3f 20 61 72 72 61 79 28 27 6c 6f 63 6b 27 29 20 3a Option('lock').?.array('lock').:
412c0 20 24 70 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 .$packages).->setWhitelistTransi
412e0 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 tiveDependencies($input->getOpti
41300 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 57 68 on('with-dependencies')).->setWh
41320 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 itelistAllDependencies($input->g
41340 65 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 etOption('with-all-dependencies'
41360 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e )).->setIgnorePlatformRequiremen
41380 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 ts($input->getOption('ignore-pla
413a0 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 tform-reqs')).->setPreferStable(
413c0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 $input->getOption('prefer-stable
413e0 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 ')).->setPreferLowest($input->ge
41400 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 29 29 0a 3b 0a 0a 69 66 20 tOption('prefer-lowest')).;..if.
41420 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 ($input->getOption('no-plugins')
41440 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a ).{.$install->disablePlugins();.
41460 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b 0a 7d 0a 0a 70 72 }..return.$install->run();.}..pr
41480 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 61 ivate.function.getPackagesIntera
414a0 63 74 69 76 65 6c 79 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 49 6e 70 75 74 49 6e ctively(IOInterface.$io,.InputIn
414c0 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 terface.$input,.OutputInterface.
414e0 24 6f 75 74 70 75 74 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 61 72 72 $output,.Composer.$composer,.arr
41500 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 73 49 ay.$packages).{.if.(!$input->isI
41520 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c nteractive()).{.throw.new.\Inval
41540 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 2d 2d 69 6e 74 65 72 61 63 74 69 idArgumentException('--interacti
41560 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 ve.cannot.be.used.in.non-interac
41580 74 69 76 65 20 74 65 72 6d 69 6e 61 6c 73 2e 27 29 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 73 20 tive.terminals.');.}..$requires.
415a0 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 =.array_merge(.$composer->getPac
415c0 6b 61 67 65 28 29 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 kage()->getRequires(),.$composer
415e0 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 ->getPackage()->getDevRequires()
41600 0a 29 3b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 .);.$autocompleterValues.=.array
41620 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 ();.foreach.($requires.as.$requi
41640 72 65 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 re).{.$target.=.$require->getTar
41660 67 65 74 28 29 3b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 73 74 72 74 get();.$autocompleterValues[strt
41680 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 24 olower($target)].=.$target;.}..$
416a0 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 installedPackages.=.$composer->g
416c0 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 etRepositoryManager()->getLocalR
416e0 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 66 6f 72 65 epository()->getPackages();.fore
41700 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b ach.($installedPackages.as.$pack
41720 61 67 65 29 20 7b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 24 70 61 63 age).{.$autocompleterValues[$pac
41740 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 kage->getName()].=.$package->get
41760 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 PrettyName();.}..$helper.=.$this
41780 2d 3e 67 65 74 48 65 6c 70 65 72 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 ->getHelper('question');.$questi
417a0 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 45 6e 74 65 on.=.new.Question('<comment>Ente
417c0 72 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 3a 20 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 6e 75 6c r.package.name:.</comment>',.nul
417e0 6c 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 72 65 73 l);..$io->writeError('<info>Pres
41800 73 20 65 6e 74 65 72 20 77 69 74 68 6f 75 74 20 76 61 6c 75 65 20 74 6f 20 65 6e 64 20 73 75 62 s.enter.without.value.to.end.sub
41820 6d 69 73 73 69 6f 6e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 64 6f 20 7b 0a 24 61 75 74 6f 63 6f 6d mission</info>');..do.{.$autocom
41840 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 61 75 74 6f 63 pleterValues.=.array_diff($autoc
41860 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 71 75 65 ompleterValues,.$packages);.$que
41880 73 74 69 6f 6e 2d 3e 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 24 61 stion->setAutocompleterValues($a
418a0 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 29 3b 0a 24 61 64 64 65 64 50 61 63 6b 61 utocompleterValues);.$addedPacka
418c0 67 65 20 3d 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 ge.=.$helper->ask($input,.$outpu
418e0 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 t,.$question);..if.(!is_string($
41900 61 64 64 65 64 50 61 63 6b 61 67 65 29 20 7c 7c 20 65 6d 70 74 79 28 24 61 64 64 65 64 50 61 63 addedPackage).||.empty($addedPac
41920 6b 61 67 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 61 64 64 65 64 50 61 63 6b 61 67 65 kage)).{.break;.}..$addedPackage
41940 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 29 3b 0a 69 66 .=.strtolower($addedPackage);.if
41960 20 28 21 69 6e 5f 61 72 72 61 79 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b .(!in_array($addedPackage,.$pack
41980 61 67 65 73 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 64 64 65 64 50 61 63 ages)).{.$packages[].=.$addedPac
419a0 6b 61 67 65 3b 0a 7d 0a 7d 20 77 68 69 6c 65 20 28 74 72 75 65 29 3b 0a 0a 24 70 61 63 6b 61 67 kage;.}.}.while.(true);..$packag
419c0 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 69 66 es.=.array_filter($packages);.if
419e0 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c .(!$packages).{.throw.new.\Inval
41a00 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e idArgumentException('You.must.en
41a20 74 65 72 20 6d 69 6e 69 6d 75 6d 20 6f 6e 65 20 70 61 63 6b 61 67 65 2e 27 29 3b 0a 7d 0a 0a 24 ter.minimum.one.package.');.}..$
41a40 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 62 table.=.new.Table($output);.$tab
41a60 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 28 27 53 65 6c 65 63 74 65 64 20 70 le->setHeaders(array('Selected.p
41a80 61 63 6b 61 67 65 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 ackages'));.foreach.($packages.a
41aa0 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 72 s.$package).{.$table->addRow(arr
41ac0 61 79 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 ay($package));.}.$table->render(
41ae0 29 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 73 70 72 );..if.($io->askConfirmation(spr
41b00 69 6e 74 66 28 0a 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 63 6f 6e 74 69 6e 75 intf(.'Would.you.like.to.continu
41b20 65 20 61 6e 64 20 75 70 64 61 74 65 20 74 68 65 20 61 62 6f 76 65 20 70 61 63 6b 61 67 65 25 73 e.and.update.the.above.package%s
41b40 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 0a 31 20 .[<comment>yes</comment>]?.',.1.
41b60 3d 3d 3d 20 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 27 27 20 3a 20 27 73 27 0a ===.count($packages).?.''.:.'s'.
41b80 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a ),.true)).{.return.$packages;.}.
41ba0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e .throw.new.\RuntimeException('In
41bc0 73 74 61 6c 6c 61 74 69 6f 6e 20 61 62 6f 72 74 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 stallation.aborted.');.}.}.<?php
41be0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 ............namespace.Composer\C
41c00 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 ommand;..use.Composer\Factory;.u
41c20 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 se.Composer\Package\Loader\Valid
41c40 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 atingArrayLoader;.use.Composer\P
41c60 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\CommandEvent;.use.Composer
41c80 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \Plugin\PluginEvents;.use.Compos
41ca0 65 72 5c 55 74 69 6c 5c 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d er\Util\ConfigValidator;.use.Sym
41cc0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
41ce0 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e utArgument;.use.Symfony\Componen
41d00 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
41d20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
41d40 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d put\InputOption;.use.Symfony\Com
41d60 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
41d80 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 65 43 6f 6d 6d rface;........class.ValidateComm
41da0 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f and.extends.BaseCommand.{....pro
41dc0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
41de0 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 76 61 6c 69 64 61 74 65 27 29 0a 2d 3e 73 65 74 44 his.->setName('validate').->setD
41e00 65 73 63 72 69 70 74 69 6f 6e 28 27 56 61 6c 69 64 61 74 65 73 20 61 20 63 6f 6d 70 6f 73 65 72 escription('Validates.a.composer
41e20 2e 6a 73 6f 6e 20 61 6e 64 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 2e 27 29 0a 2d 3e 73 65 74 .json.and.composer.lock.').->set
41e40 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f Definition(array(.new.InputOptio
41e60 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 61 6c 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 n('no-check-all',.null,.InputOpt
41e80 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6d 61 6b 65 20 61 20 ion::VALUE_NONE,.'Do.not.make.a.
41ea0 63 6f 6d 70 6c 65 74 65 20 76 61 6c 69 64 61 74 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 complete.validation'),.new.Input
41ec0 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e Option('no-check-lock',.null,.In
41ee0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 63 putOption::VALUE_NONE,.'Do.not.c
41f00 68 65 63 6b 20 69 66 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 75 70 20 74 6f 20 64 61 74 65 27 heck.if.lock.file.is.up.to.date'
41f20 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 70 75 62 ),.new.InputOption('no-check-pub
41f40 6c 69 73 68 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f lish',.null,.InputOption::VALUE_
41f60 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 63 68 65 63 6b 20 66 6f 72 20 70 75 62 6c 69 73 68 20 NONE,.'Do.not.check.for.publish.
41f80 65 72 72 6f 72 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d errors'),.new.InputOption('with-
41fa0 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 27 41 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a dependencies',.'A',.InputOption:
41fc0 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 73 6f 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 :VALUE_NONE,.'Also.validate.the.
41fe0 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 65 64 20 64 composer.json.of.all.installed.d
42000 65 70 65 6e 64 65 6e 63 69 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 ependencies'),.new.InputOption('
42020 73 74 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 strict',.null,.InputOption::VALU
42040 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 E_NONE,.'Return.a.non-zero.exit.
42060 63 6f 64 65 20 66 6f 72 20 77 61 72 6e 69 6e 67 73 20 61 73 20 77 65 6c 6c 20 61 73 20 65 72 72 code.for.warnings.as.well.as.err
42080 6f 72 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 2c ors'),.new.InputArgument('file',
420a0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 70 61 74 68 20 .InputArgument::OPTIONAL,.'path.
420c0 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 to.composer.json.file'),.)).->se
420e0 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 76 61 6c 69 64 61 74 65 20 63 6f 6d 6d 61 tHelp(.<<<EOT.The.validate.comma
42100 6e 64 20 76 61 6c 69 64 61 74 65 73 20 61 20 67 69 76 65 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 nd.validates.a.given.composer.js
42120 6f 6e 20 61 6e 64 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 0a 0a 45 78 69 74 20 63 6f 64 65 73 on.and.composer.lock..Exit.codes
42140 20 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 73 20 61 72 65 3a 0a 31 20 76 61 6c 69 64 61 .in.case.of.errors.are:.1.valida
42160 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 73 29 2c 20 6f 6e 6c 79 20 77 68 65 6e 20 2d 2d 73 74 72 tion.warning(s),.only.when.--str
42180 69 63 74 20 69 73 20 67 69 76 65 6e 0a 32 20 76 61 6c 69 64 61 74 69 6f 6e 20 65 72 72 6f 72 28 ict.is.given.2.validation.error(
421a0 73 29 0a 33 20 66 69 6c 65 20 75 6e 72 65 61 64 61 62 6c 65 20 6f 72 20 6d 69 73 73 69 6e 67 0a s).3.file.unreadable.or.missing.
421c0 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .EOT.);.}........protected.funct
421e0 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 ion.execute(InputInterface.$inpu
42200 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 t,.OutputInterface.$output).{.$f
42220 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 ile.=.$input->getArgument('file'
42240 29 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b ).?:.Factory::getComposerFile();
42260 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c .$io.=.$this->getIO();..if.(!fil
42280 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 e_exists($file)).{.$io->writeErr
422a0 6f 72 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 6e 6f 74 20 66 6f 75 or('<error>'...$file...'.not.fou
422c0 6e 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 33 3b 0a 7d 0a 69 66 20 28 nd.</error>');..return.3;.}.if.(
422e0 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 !is_readable($file)).{.$io->writ
42300 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 69 73 20 eError('<error>'...$file...'.is.
42320 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e not.readable.</error>');..return
42340 20 33 3b 0a 7d 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 56 61 .3;.}..$validator.=.new.ConfigVa
42360 6c 69 64 61 74 6f 72 28 24 69 6f 29 3b 0a 24 63 68 65 63 6b 41 6c 6c 20 3d 20 24 69 6e 70 75 74 lidator($io);.$checkAll.=.$input
42380 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 61 6c 6c 27 29 20 3f 20 30 20 ->getOption('no-check-all').?.0.
423a0 3a 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 43 48 45 43 4b 5f 41 :.ValidatingArrayLoader::CHECK_A
423c0 4c 4c 3b 0a 24 63 68 65 63 6b 50 75 62 6c 69 73 68 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 LL;.$checkPublish.=.!$input->get
423e0 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 70 75 62 6c 69 73 68 27 29 3b 0a 24 63 68 65 Option('no-check-publish');.$che
42400 63 6b 4c 6f 63 6b 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d ckLock.=.!$input->getOption('no-
42420 63 68 65 63 6b 2d 6c 6f 63 6b 27 29 3b 0a 24 69 73 53 74 72 69 63 74 20 3d 20 24 69 6e 70 75 74 check-lock');.$isStrict.=.$input
42440 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 3b 0a 6c 69 73 74 28 24 65 72 72 ->getOption('strict');.list($err
42460 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 ors,.$publishErrors,.$warnings).
42480 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 63 =.$validator->validate($file,.$c
424a0 68 65 63 6b 41 6c 6c 29 3b 0a 0a 24 6c 6f 63 6b 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 heckAll);..$lockErrors.=.array()
424c0 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 24 69 ;.$composer.=.Factory::create($i
424e0 6f 2c 20 24 66 69 6c 65 2c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 o,.$file,.$input->hasParameterOp
42500 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 6c 6f 63 6b 65 72 20 3d tion('--no-plugins'));.$locker.=
42520 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 3b 0a 69 66 20 28 24 6c 6f .$composer->getLocker();.if.($lo
42540 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 20 26 26 20 21 24 6c 6f 63 6b 65 72 2d 3e 69 73 cker->isLocked().&&.!$locker->is
42560 46 72 65 73 68 28 29 29 20 7b 0a 24 6c 6f 63 6b 45 72 72 6f 72 73 5b 5d 20 3d 20 27 54 68 65 20 Fresh()).{.$lockErrors[].=.'The.
42580 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 75 70 20 74 6f 20 64 61 74 65 20 77 69 74 68 lock.file.is.not.up.to.date.with
425a0 20 74 68 65 20 6c 61 74 65 73 74 20 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e .the.latest.changes.in.composer.
425c0 6a 73 6f 6e 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 79 6f 75 json,.it.is.recommended.that.you
425e0 20 72 75 6e 20 60 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 60 2e 27 3b 0a 7d 0a 0a 24 74 68 .run.`composer.update`.';.}..$th
42600 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 66 69 6c 65 2c 20 24 65 72 is->outputResult($io,.$file,.$er
42620 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 2c 20 rors,.$warnings,.$checkPublish,.
42640 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 63 68 65 63 6b 4c 6f 63 6b 2c 20 24 6c 6f 63 $publishErrors,.$checkLock,.$loc
42660 6b 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 65 72 kErrors,.true);..$exitCode.=.$er
42680 72 6f 72 73 20 7c 7c 20 28 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 26 26 20 24 63 68 65 63 rors.||.($publishErrors.&&.$chec
426a0 6b 50 75 62 6c 69 73 68 29 20 7c 7c 20 28 24 6c 6f 63 6b 45 72 72 6f 72 73 20 26 26 20 24 63 68 kPublish).||.($lockErrors.&&.$ch
426c0 65 63 6b 4c 6f 63 6b 29 20 3f 20 32 20 3a 20 28 24 69 73 53 74 72 69 63 74 20 26 26 20 24 77 61 eckLock).?.2.:.($isStrict.&&.$wa
426e0 72 6e 69 6e 67 73 20 3f 20 31 20 3a 20 30 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 rnings.?.1.:.0);..if.($input->ge
42700 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 20 7b 0a tOption('with-dependencies')).{.
42720 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 $localRepo.=.$composer->getRepos
42740 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f itoryManager()->getLocalReposito
42760 72 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 ry();.foreach.($localRepo->getPa
42780 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 74 68 20 3d 20 ckages().as.$package).{.$path.=.
427a0 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 $composer->getInstallationManage
427c0 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 r()->getInstallPath($package);.$
427e0 66 69 6c 65 20 3d 20 24 70 61 74 68 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b file.=.$path...'/composer.json';
42800 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 .if.(is_dir($path).&&.file_exist
42820 73 28 24 66 69 6c 65 29 29 20 7b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 s($file)).{.list($errors,.$publi
42840 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 6f shErrors,.$warnings).=.$validato
42860 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 63 68 65 63 6b 41 6c 6c 29 3b 0a 24 r->validate($file,.$checkAll);.$
42880 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 this->outputResult($io,.$package
428a0 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 65 72 72 6f 72 73 2c 20 24 77 61 72 ->getPrettyName(),.$errors,.$war
428c0 6e 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 2c 20 24 70 75 62 6c 69 73 68 45 72 nings,.$checkPublish,.$publishEr
428e0 72 6f 72 73 29 3b 0a 0a 24 64 65 70 43 6f 64 65 20 3d 20 24 65 72 72 6f 72 73 20 7c 7c 20 28 24 rors);..$depCode.=.$errors.||.($
42900 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 26 26 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 29 20 publishErrors.&&.$checkPublish).
42920 3f 20 32 20 3a 20 28 24 69 73 53 74 72 69 63 74 20 26 26 20 24 77 61 72 6e 69 6e 67 73 20 3f 20 ?.2.:.($isStrict.&&.$warnings.?.
42940 31 20 3a 20 30 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 64 65 70 43 6f 64 65 1.:.0);.$exitCode.=.max($depCode
42960 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 ,.$exitCode);.}.}.}..$commandEve
42980 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e nt.=.new.CommandEvent(PluginEven
429a0 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 76 61 6c 69 64 61 74 65 27 2c 20 24 69 6e 70 75 74 2c ts::COMMAND,.'validate',.$input,
429c0 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 76 65 6e 74 43 6f 64 65 20 3d 20 24 63 6f 6d 70 6f 73 65 .$output);.$eventCode.=.$compose
429e0 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 r->getEventDispatcher()->dispatc
42a00 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d h($commandEvent->getName(),.$com
42a20 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 76 65 mandEvent);.$exitCode.=.max($eve
42a40 6e 74 43 6f 64 65 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 ntCode,.$exitCode);..return.$exi
42a60 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 tCode;.}..private.function.outpu
42a80 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 6e 61 6d 65 2c 20 26 24 65 72 72 6f 72 73 2c 20 26 24 tResult($io,.$name,.&$errors,.&$
42aa0 77 61 72 6e 69 6e 67 73 2c 20 24 63 68 65 63 6b 50 75 62 6c 69 73 68 20 3d 20 66 61 6c 73 65 2c warnings,.$checkPublish.=.false,
42ac0 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 68 65 63 .$publishErrors.=.array(),.$chec
42ae0 6b 4c 6f 63 6b 20 3d 20 66 61 6c 73 65 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 20 3d 20 61 72 72 kLock.=.false,.$lockErrors.=.arr
42b00 61 79 28 29 2c 20 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 20 3d 20 66 61 6c 73 65 29 0a 7b ay(),.$printSchemaUrl.=.false).{
42b20 0a 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 .if.(!$errors.&&.!$publishErrors
42b40 20 26 26 20 21 24 77 61 72 6e 69 6e 67 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 .&&.!$warnings).{.$io->write('<i
42b60 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 3c 2f 69 6e 66 6f nfo>'...$name...'.is.valid</info
42b80 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 >');.}.elseif.(!$errors.&&.!$pub
42ba0 6c 69 73 68 45 72 72 6f 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c lishErrors).{.$io->writeError('<
42bc0 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 2c 20 62 75 74 info>'...$name...'.is.valid,.but
42be0 20 77 69 74 68 20 61 20 66 65 77 20 77 61 72 6e 69 6e 67 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 .with.a.few.warnings</info>');.i
42c00 66 20 28 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 f.($printSchemaUrl).{.$io->write
42c20 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 Error('<warning>See.https://getc
42c40 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 20 66 6f 72 omposer.org/doc/04-schema.md.for
42c60 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 63 68 65 6d 61 3c 2f 77 61 72 6e 69 6e 67 3e .details.on.the.schema</warning>
42c80 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 65 72 72 6f 72 73 29 20 7b 0a 24 69 6f 2d ');.}.}.elseif.(!$errors).{.$io-
42ca0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 >writeError('<info>'...$name...'
42cc0 20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 73 69 6d 70 6c 65 20 75 73 61 67 65 20 77 69 74 68 20 .is.valid.for.simple.usage.with.
42ce0 63 6f 6d 70 6f 73 65 72 20 62 75 74 20 68 61 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 69 6f 2d 3e composer.but.has</info>');.$io->
42d00 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 73 74 72 69 63 74 20 65 72 72 6f 72 73 20 writeError('<info>strict.errors.
42d20 74 68 61 74 20 6d 61 6b 65 20 69 74 20 75 6e 61 62 6c 65 20 74 6f 20 62 65 20 70 75 62 6c 69 73 that.make.it.unable.to.be.publis
42d40 68 65 64 20 61 73 20 61 20 70 61 63 6b 61 67 65 3a 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 hed.as.a.package:</info>');.if.(
42d60 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 $printSchemaUrl).{.$io->writeErr
42d80 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 or('<warning>See.https://getcomp
42da0 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 20 66 6f 72 20 64 65 oser.org/doc/04-schema.md.for.de
42dc0 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 63 68 65 6d 61 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b tails.on.the.schema</warning>');
42de0 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 .}.}.else.{.$io->writeError('<er
42e00 72 6f 72 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 74 68 ror>'...$name...'.is.invalid,.th
42e20 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 73 2f 77 61 72 6e 69 6e 67 73 20 77 65 72 65 e.following.errors/warnings.were
42e40 20 66 6f 75 6e 64 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 63 68 65 .found:</error>');.}....if.($che
42e60 63 6b 50 75 62 6c 69 73 68 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 ckPublish).{.$errors.=.array_mer
42e80 67 65 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 7d 20 65 ge($errors,.$publishErrors);.}.e
42ea0 6c 73 65 20 7b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 lse.{.$warnings.=.array_merge($w
42ec0 61 72 6e 69 6e 67 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 7d 0a 0a 0a 20 69 arnings,.$publishErrors);.}....i
42ee0 66 20 28 24 63 68 65 63 6b 4c 6f 63 6b 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 f.($checkLock).{.$errors.=.array
42f00 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 29 3b 0a 7d 20 _merge($errors,.$lockErrors);.}.
42f20 65 6c 73 65 20 7b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 else.{.$warnings.=.array_merge($
42f40 77 61 72 6e 69 6e 67 73 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 29 3b 0a 7d 0a 0a 24 6d 65 73 73 warnings,.$lockErrors);.}..$mess
42f60 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 24 65 72 72 6f 72 73 ages.=.array(.'error'.=>.$errors
42f80 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 72 6e 69 6e 67 73 2c 0a 29 3b 0a 0a 66 6f ,.'warning'.=>.$warnings,.);..fo
42fa0 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d reach.($messages.as.$style.=>.$m
42fc0 73 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b sgs).{.foreach.($msgs.as.$msg).{
42fe0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 .$io->writeError('<'...$style...
43000 27 3e 27 20 2e 20 24 6d 73 67 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 '>'...$msg...'</'...$style...'>'
43020 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 );.}.}.}.}.<?php............name
43040 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 space.Composer;..use.Composer\Pa
43060 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ckage\RootPackageInterface;.use.
43080 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 65 20 43 6f 6d Composer\Package\Locker;.use.Com
430a0 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 poser\Repository\RepositoryManag
430c0 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 er;.use.Composer\Installer\Insta
430e0 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 llationManager;.use.Composer\Plu
43100 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c gin\PluginManager;.use.Composer\
43120 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 Downloader\DownloadManager;.use.
43140 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 Composer\EventDispatcher\EventDi
43160 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c spatcher;.use.Composer\Autoload\
43180 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c AutoloadGenerator;.use.Composer\
431a0 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b Package\Archiver\ArchiveManager;
431c0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 0a 7b 0a 63 6f 6e 73 74 20 56 45 .......class.Composer.{.const.VE
431e0 52 53 49 4f 4e 20 3d 20 27 31 2e 37 2e 32 27 3b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 41 4c RSION.=.'1.7.2';.const.BRANCH_AL
43200 49 41 53 5f 56 45 52 53 49 4f 4e 20 3d 20 27 27 3b 0a 63 6f 6e 73 74 20 52 45 4c 45 41 53 45 5f IAS_VERSION.=.'';.const.RELEASE_
43220 44 41 54 45 20 3d 20 27 32 30 31 38 2d 30 38 2d 31 36 20 31 36 3a 35 37 3a 31 32 27 3b 0a 0a 0a DATE.=.'2018-08-16.16:57:12';...
43240 0a 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ..private.$package;.....private.
43260 24 6c 6f 63 6b 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 $locker;.....private.$repository
43280 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 Manager;.....private.$downloadMa
432a0 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e nager;.....private.$installation
432c0 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6c 75 67 69 6e 4d 61 6e 61 Manager;.....private.$pluginMana
432e0 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 ger;.....private.$config;.....pr
43300 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 ivate.$eventDispatcher;.....priv
43320 61 74 65 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 70 72 69 76 ate.$autoloadGenerator;.....priv
43340 61 74 65 20 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ate.$archiveManager;......public
43360 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 63 6b 61 67 65 28 52 6f 6f 74 50 61 63 6b 61 67 65 .function.setPackage(RootPackage
43380 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 Interface.$package).{.$this->pac
433a0 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 kage.=.$package;.}.....public.fu
433c0 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getPackage().{.return.$th
433e0 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 is->package;.}.....public.functi
43400 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 on.setConfig(Config.$config).{.$
43420 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 this->config.=.$config;.}.....pu
43440 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 blic.function.getConfig().{.retu
43460 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 rn.$this->config;.}.....public.f
43480 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 6b 65 72 28 4c 6f 63 6b 65 72 20 24 6c 6f 63 6b 65 72 unction.setLocker(Locker.$locker
434a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a ).{.$this->locker.=.$locker;.}..
434c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 65 72 28 29 0a 7b ...public.function.getLocker().{
434e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 .return.$this->locker;.}.....pub
43500 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 lic.function.setRepositoryManage
43520 72 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a r(RepositoryManager.$manager).{.
43540 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 $this->repositoryManager.=.$mana
43560 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 ger;.}.....public.function.getRe
43580 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 positoryManager().{.return.$this
435a0 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ->repositoryManager;.}.....publi
435c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 44 6f c.function.setDownloadManager(Do
435e0 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d wnloadManager.$manager).{.$this-
43600 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a >downloadManager.=.$manager;.}..
43620 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 ...public.function.getDownloadMa
43640 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 nager().{.return.$this->download
43660 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 Manager;.}.....public.function.s
43680 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 etArchiveManager(ArchiveManager.
436a0 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 4d 61 6e 61 67 65 $manager).{.$this->archiveManage
436c0 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 r.=.$manager;.}.....public.funct
436e0 69 6f 6e 20 67 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e ion.getArchiveManager().{.return
43700 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .$this->archiveManager;.}.....pu
43720 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e blic.function.setInstallationMan
43740 61 67 65 72 28 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 ager(InstallationManager.$manage
43760 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 r).{.$this->installationManager.
43780 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f =.$manager;.}.....public.functio
437a0 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 n.getInstallationManager().{.ret
437c0 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a urn.$this->installationManager;.
437e0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 75 67 69 6e 4d }.....public.function.setPluginM
43800 61 6e 61 67 65 72 28 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b anager(PluginManager.$manager).{
43820 0a 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 .$this->pluginManager.=.$manager
43840 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 ;.}.....public.function.getPlugi
43860 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6c 75 67 69 nManager().{.return.$this->plugi
43880 6e 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nManager;.}.....public.function.
438a0 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 setEventDispatcher(EventDispatch
438c0 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 76 er.$eventDispatcher).{.$this->ev
438e0 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 entDispatcher.=.$eventDispatcher
43900 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 76 65 6e 74 ;.}.....public.function.getEvent
43920 44 69 73 70 61 74 63 68 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 76 65 Dispatcher().{.return.$this->eve
43940 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ntDispatcher;.}.....public.funct
43960 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 41 75 74 6f 6c 6f 61 ion.setAutoloadGenerator(Autoloa
43980 64 47 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b dGenerator.$autoloadGenerator).{
439a0 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 3d 20 24 61 75 74 .$this->autoloadGenerator.=.$aut
439c0 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e oloadGenerator;.}.....public.fun
439e0 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 0a 7b 0a 72 ction.getAutoloadGenerator().{.r
43a00 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a eturn.$this->autoloadGenerator;.
43a20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
43a40 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 43 6f omposer;..use.Composer\Config\Co
43a60 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 nfigSourceInterface;.use.Compose
43a80 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b r\Downloader\TransportException;
43aa0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Composer\IO\IOInterface;.us
43ac0 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 0a 0a 0a 0a 63 6c e.Composer\Util\Platform;.....cl
43ae0 61 73 73 20 43 6f 6e 66 69 67 0a 7b 0a 63 6f 6e 73 74 20 52 45 4c 41 54 49 56 45 5f 50 41 54 48 ass.Config.{.const.RELATIVE_PATH
43b00 53 20 3d 20 31 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 61 75 6c 74 43 6f S.=.1;..public.static.$defaultCo
43b20 6e 66 69 67 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 nfig.=.array(.'process-timeout'.
43b40 3d 3e 20 33 30 30 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 20 3d 3e 20 66 61 =>.300,.'use-include-path'.=>.fa
43b60 6c 73 65 2c 0a 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 27 61 75 74 lse,.'preferred-install'.=>.'aut
43b80 6f 27 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 74 72 75 65 2c o',.'notify-on-install'.=>.true,
43ba0 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e 20 61 72 72 61 79 28 27 68 74 .'github-protocols'.=>.array('ht
43bc0 74 70 73 27 2c 20 27 73 73 68 27 2c 20 27 67 69 74 27 29 2c 0a 27 76 65 6e 64 6f 72 2d 64 69 72 tps',.'ssh',.'git'),.'vendor-dir
43be0 27 20 3d 3e 20 27 76 65 6e 64 6f 72 27 2c 0a 27 62 69 6e 2d 64 69 72 27 20 3d 3e 20 27 7b 24 76 '.=>.'vendor',.'bin-dir'.=>.'{$v
43c00 65 6e 64 6f 72 2d 64 69 72 7d 2f 62 69 6e 27 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 endor-dir}/bin',.'cache-dir'.=>.
43c20 27 7b 24 68 6f 6d 65 7d 2f 63 61 63 68 65 27 2c 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 27 '{$home}/cache',.'data-dir'.=>.'
43c40 7b 24 68 6f 6d 65 7d 27 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 27 {$home}',.'cache-files-dir'.=>.'
43c60 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 27 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f {$cache-dir}/files',.'cache-repo
43c80 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 72 65 70 6f 27 2c 0a 27 63 -dir'.=>.'{$cache-dir}/repo',.'c
43ca0 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 76 ache-vcs-dir'.=>.'{$cache-dir}/v
43cc0 63 73 27 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d 3e 20 31 35 35 35 32 30 30 30 2c 20 0a 20 cs',.'cache-ttl'.=>.15552000,...
43ce0 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 20 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 27 63 61 'cache-files-ttl'.=>.null,...'ca
43d00 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 20 3d 3e 20 27 33 30 30 4d 69 42 27 2c 0a che-files-maxsize'.=>.'300MiB',.
43d20 27 62 69 6e 2d 63 6f 6d 70 61 74 27 20 3d 3e 20 27 61 75 74 6f 27 2c 0a 27 64 69 73 63 61 72 64 'bin-compat'.=>.'auto',.'discard
43d40 2d 63 68 61 6e 67 65 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 75 74 6f 6c 6f 61 64 65 72 2d -changes'.=>.false,.'autoloader-
43d60 73 75 66 66 69 78 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 suffix'.=>.null,.'sort-packages'
43d80 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 .=>.false,.'optimize-autoloader'
43da0 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 .=>.false,.'classmap-authoritati
43dc0 76 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 ve'.=>.false,.'apcu-autoloader'.
43de0 3d 3e 20 66 61 6c 73 65 2c 0a 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d =>.false,.'prepend-autoloader'.=
43e00 3e 20 74 72 75 65 2c 0a 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 >.true,.'github-domains'.=>.arra
43e20 79 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 29 2c 0a 27 62 69 74 62 75 63 6b 65 74 2d 65 78 70 6f y('github.com'),.'bitbucket-expo
43e40 73 65 2d 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 74 72 75 65 2c 0a 27 64 69 73 61 62 6c 65 2d 74 se-hostname'.=>.true,.'disable-t
43e60 6c 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 74 ls'.=>.false,.'secure-http'.=>.t
43e80 72 75 65 2c 0a 27 63 61 66 69 6c 65 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 63 61 70 61 74 68 27 20 rue,.'cafile'.=>.null,.'capath'.
43ea0 3d 3e 20 6e 75 6c 6c 2c 0a 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 =>.null,.'github-expose-hostname
43ec0 27 20 3d 3e 20 74 72 75 65 2c 0a 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 '.=>.true,.'gitlab-domains'.=>.a
43ee0 72 72 61 79 28 27 67 69 74 6c 61 62 2e 63 6f 6d 27 29 2c 0a 27 73 74 6f 72 65 2d 61 75 74 68 73 rray('gitlab.com'),.'store-auths
43f00 27 20 3d 3e 20 27 70 72 6f 6d 70 74 27 2c 0a 27 70 6c 61 74 66 6f 72 6d 27 20 3d 3e 20 61 72 72 '.=>.'prompt',.'platform'.=>.arr
43f20 61 79 28 29 2c 0a 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 20 3d 3e 20 27 74 61 72 27 2c ay(),.'archive-format'.=>.'tar',
43f40 0a 27 61 72 63 68 69 76 65 2d 64 69 72 27 20 3d 3e 20 27 2e 27 2c 0a 27 68 74 61 63 63 65 73 73 .'archive-dir'.=>.'.',.'htaccess
43f60 2d 70 72 6f 74 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 29 -protect'.=>.true,.............)
43f80 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 69 74 ;..public.static.$defaultReposit
43fa0 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 20 3d ories.=.array(.'packagist.org'.=
43fc0 3e 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 0a 27 >.array(.'type'.=>.'composer',.'
43fe0 75 72 6c 27 20 3d 3e 20 27 68 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 url'.=>.'https?://repo.packagist
44000 2e 6f 72 67 27 2c 0a 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 20 3d 3e 20 .org',.'allow_ssl_downgrade'.=>.
44020 74 72 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 true,.),.);..private.$config;.pr
44040 69 76 61 74 65 20 24 62 61 73 65 44 69 72 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 ivate.$baseDir;.private.$reposit
44060 6f 72 69 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 0a ories;..private.$configSource;..
44080 70 72 69 76 61 74 65 20 24 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 70 72 69 76 61 private.$authConfigSource;.priva
440a0 74 65 20 24 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 77 61 72 te.$useEnvironment;.private.$war
440c0 6e 65 64 48 6f 73 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 nedHosts.=.array();......public.
440e0 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 75 73 65 45 6e 76 69 72 6f 6e function.__construct($useEnviron
44100 6d 65 6e 74 20 3d 20 74 72 75 65 2c 20 24 62 61 73 65 44 69 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ment.=.true,.$baseDir.=.null).{.
44120 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 ..$this->config.=.static::$defau
44140 6c 74 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 ltConfig;.$this->repositories.=.
44160 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 24 74 static::$defaultRepositories;.$t
44180 68 69 73 2d 3e 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 3d 20 28 62 6f 6f 6c 29 20 24 75 73 his->useEnvironment.=.(bool).$us
441a0 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 20 24 eEnvironment;.$this->baseDir.=.$
441c0 62 61 73 65 44 69 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 baseDir;.}..public.function.setC
441e0 6f 6e 66 69 67 53 6f 75 72 63 65 28 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 onfigSource(ConfigSourceInterfac
44200 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 e.$source).{.$this->configSource
44220 20 3d 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .=.$source;.}..public.function.g
44240 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d etConfigSource().{.return.$this-
44260 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >configSource;.}..public.functio
44280 6e 20 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 43 6f 6e 66 69 67 53 6f 75 72 n.setAuthConfigSource(ConfigSour
442a0 63 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 ceInterface.$source).{.$this->au
442c0 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 thConfigSource.=.$source;.}..pub
442e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 lic.function.getAuthConfigSource
44300 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 ().{.return.$this->authConfigSou
44320 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 rce;.}.......public.function.mer
44340 67 65 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 ge($config).{...if.(!empty($conf
44360 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 ig['config']).&&.is_array($confi
44380 67 5b 27 63 6f 6e 66 69 67 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 g['config'])).{.foreach.($config
443a0 5b 27 63 6f 6e 66 69 67 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 ['config'].as.$key.=>.$val).{.if
443c0 20 28 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 62 69 74 62 75 63 6b 65 .(in_array($key,.array('bitbucke
443e0 74 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 t-oauth',.'github-oauth',.'gitla
44400 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 2c 20 27 68 74 74 70 2d b-oauth',.'gitlab-token',.'http-
44420 62 61 73 69 63 27 29 29 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b basic')).&&.isset($this->config[
44440 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 $key])).{.$this->config[$key].=.
44460 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c array_merge($this->config[$key],
44480 20 24 76 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 .$val);.}.elseif.('preferred-ins
444a0 74 61 6c 6c 27 20 3d 3d 3d 20 24 6b 65 79 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 tall'.===.$key.&&.isset($this->c
444c0 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 onfig[$key])).{.if.(is_array($va
444e0 6c 29 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 l).||.is_array($this->config[$ke
44500 79 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 29 29 20 7b 0a 24 76 y])).{.if.(is_string($val)).{.$v
44520 61 6c 20 3d 20 61 72 72 61 79 28 27 2a 27 20 3d 3e 20 24 76 61 6c 29 3b 0a 7d 0a 69 66 20 28 69 al.=.array('*'.=>.$val);.}.if.(i
44540 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b s_string($this->config[$key])).{
44560 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 2a 27 .$this->config[$key].=.array('*'
44580 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 24 74 68 69 .=>.$this->config[$key]);.}.$thi
445a0 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 s->config[$key].=.array_merge($t
445c0 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 76 61 6c 29 3b 0a 0a 20 69 66 20 28 his->config[$key],.$val);...if.(
445e0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 29 29 isset($this->config[$key]['*']))
44600 20 7b 0a 24 77 69 6c 64 63 61 72 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 .{.$wildcard.=.$this->config[$ke
44620 79 5d 5b 27 2a 27 5d 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 y]['*'];.unset($this->config[$ke
44640 79 5d 5b 27 2a 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a y]['*']);.$this->config[$key]['*
44660 27 5d 20 3d 20 24 77 69 6c 64 63 61 72 64 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 '].=.$wildcard;.}.}.else.{.$this
44680 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 20 65 6c 73 65 20 ->config[$key].=.$val;.}.}.else.
446a0 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a {.$this->config[$key].=.$val;.}.
446c0 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 }.}..if.(!empty($config['reposit
446e0 6f 72 69 65 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 72 65 ories']).&&.is_array($config['re
44700 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f positories'])).{.$this->reposito
44720 72 69 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 6f ries.=.array_reverse($this->repo
44740 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 24 6e 65 77 52 65 70 6f 73 20 3d 20 61 72 72 sitories,.true);.$newRepos.=.arr
44760 61 79 5f 72 65 76 65 72 73 65 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 ay_reverse($config['repositories
44780 27 5d 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 52 65 70 6f 73 20 61 73 '],.true);.foreach.($newRepos.as
447a0 20 24 6e 61 6d 65 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 20 69 66 20 28 66 .$name.=>.$repository).{...if.(f
447c0 61 6c 73 65 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 64 alse.===.$repository).{.$this->d
447e0 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 63 6f 6e 74 69 6e 75 isableRepoByName($name);.continu
44800 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f 73 69 74 6f 72 79 e;.}....if.(is_array($repository
44820 29 20 26 26 20 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 26 26 ).&&.1.===.count($repository).&&
44840 20 66 61 6c 73 65 20 3d 3d 3d 20 63 75 72 72 65 6e 74 28 24 72 65 70 6f 73 69 74 6f 72 79 29 29 .false.===.current($repository))
44860 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 6b 65 79 28 .{.$this->disableRepoByName(key(
44880 24 72 65 70 6f 73 69 74 6f 72 79 29 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 $repository));.continue;.}....if
448a0 20 28 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 .(is_int($name)).{.$this->reposi
448c0 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 65 6c 73 65 20 7b tories[].=.$repository;.}.else.{
448e0 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 27 70 61 63 6b 61 67 69 73 74 27 29 20 7b 20 0a 20 .if.($name.===.'packagist').{...
44900 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 20 2e 20 27 2e 6f 72 $this->repositories[$name...'.or
44920 67 27 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 g'].=.$repository;.}.else.{.$thi
44940 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 72 65 70 6f 73 69 s->repositories[$name].=.$reposi
44960 74 6f 72 79 3b 0a 7d 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 tory;.}.}.}.$this->repositories.
44980 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 =.array_reverse($this->repositor
449a0 69 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ies,.true);.}.}.....public.funct
449c0 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getRepositories().{.return.$
449e0 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 this->repositories;.}..........p
44a00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6b 65 79 2c 20 24 66 6c 61 67 73 20 ublic.function.get($key,.$flags.
44a20 3d 20 30 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6b 65 79 29 20 7b 0a 63 61 73 65 20 27 76 65 6e =.0).{.switch.($key).{.case.'ven
44a40 64 6f 72 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 62 69 6e 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 dor-dir':.case.'bin-dir':.case.'
44a60 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 3a 0a 63 61 73 65 20 27 64 61 74 61 2d 64 69 72 process-timeout':.case.'data-dir
44a80 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 ':.case.'cache-dir':.case.'cache
44aa0 2d 66 69 6c 65 73 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 -files-dir':.case.'cache-repo-di
44ac0 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 r':.case.'cache-vcs-dir':.case.'
44ae0 63 61 66 69 6c 65 27 3a 0a 63 61 73 65 20 27 63 61 70 61 74 68 27 3a 0a 63 61 73 65 20 27 68 74 cafile':.case.'capath':.case.'ht
44b00 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 3a 0a 0a 20 24 65 6e 76 20 3d 20 27 43 4f 4d 50 4f access-protect':...$env.=.'COMPO
44b20 53 45 52 5f 27 20 2e 20 73 74 72 74 6f 75 70 70 65 72 28 73 74 72 74 72 28 24 6b 65 79 2c 20 27 SER_'...strtoupper(strtr($key,.'
44b40 2d 27 2c 20 27 5f 27 29 29 3b 0a 0a 24 76 61 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d -',.'_'));..$val.=.$this->getCom
44b60 70 6f 73 65 72 45 6e 76 28 24 65 6e 76 29 3b 0a 24 76 61 6c 20 3d 20 72 74 72 69 6d 28 28 73 74 poserEnv($env);.$val.=.rtrim((st
44b80 72 69 6e 67 29 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 66 61 6c 73 65 20 21 3d 3d 20 24 ring).$this->process(false.!==.$
44ba0 76 61 6c 20 3f 20 24 76 61 6c 20 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d val.?.$val.:.$this->config[$key]
44bc0 2c 20 24 66 6c 61 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a 24 76 61 6c 20 3d 20 50 6c 61 74 66 6f ,.$flags),.'/\\');.$val.=.Platfo
44be0 72 6d 3a 3a 65 78 70 61 6e 64 50 61 74 68 28 24 76 61 6c 29 3b 0a 0a 69 66 20 28 73 75 62 73 74 rm::expandPath($val);..if.(subst
44c00 72 28 24 6b 65 79 2c 20 2d 34 29 20 21 3d 3d 20 27 2d 64 69 72 27 29 20 7b 0a 72 65 74 75 72 6e r($key,.-4).!==.'-dir').{.return
44c20 20 24 76 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 28 24 66 6c 61 67 73 20 26 20 73 65 6c 66 .$val;.}..return.(($flags.&.self
44c40 3a 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 20 3d 3d 20 73 65 6c 66 3a 3a 52 45 4c 41 54 ::RELATIVE_PATHS).==.self::RELAT
44c60 49 56 45 5f 50 41 54 48 53 29 20 3f 20 24 76 61 6c 20 3a 20 24 74 68 69 73 2d 3e 72 65 61 6c 70 IVE_PATHS).?.$val.:.$this->realp
44c80 61 74 68 28 24 76 61 6c 29 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 74 74 6c 27 3a 0a 72 65 ath($val);..case.'cache-ttl':.re
44ca0 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a turn.(int).$this->config[$key];.
44cc0 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 3a 0a 69 66 20 .case.'cache-files-maxsize':.if.
44ce0 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 5c 73 2a 28 (!preg_match('/^\s*([0-9.]+)\s*(
44d00 3f 3a 28 5b 6b 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f 69 27 2c 20 24 74 68 69 ?:([kmg])(?:i?b)?)?\s*$/i',.$thi
44d20 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 s->config[$key],.$matches)).{.th
44d40 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 43 6f 75 6c row.new.\RuntimeException(."Coul
44d60 64 20 6e 6f 74 20 70 61 72 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 27 63 61 63 68 65 2d d.not.parse.the.value.of.'cache-
44d80 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 3a 20 7b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 files-maxsize':.{$this->config[$
44da0 6b 65 79 5d 7d 22 0a 29 3b 0a 7d 0a 24 73 69 7a 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b key]}".);.}.$size.=.$matches[1];
44dc0 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 73 77 69 74 63 .if.(isset($matches[2])).{.switc
44de0 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 63 61 h.(strtolower($matches[2])).{.ca
44e00 73 65 20 27 67 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 0a 20 63 61 73 65 20 se.'g':.$size.*=.1024;.....case.
44e20 27 6d 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 0a 20 63 61 73 65 20 27 6b 27 'm':.$size.*=.1024;.....case.'k'
44e40 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 :.$size.*=.1024;.break;.}.}..ret
44e60 75 72 6e 20 24 73 69 7a 65 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 urn.$size;..case.'cache-files-tt
44e80 6c 27 3a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 l':.if.(isset($this->config[$key
44ea0 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ])).{.return.(int).$this->config
44ec0 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 [$key];.}..return.(int).$this->c
44ee0 6f 6e 66 69 67 5b 27 63 61 63 68 65 2d 74 74 6c 27 5d 3b 0a 0a 63 61 73 65 20 27 68 6f 6d 65 27 onfig['cache-ttl'];..case.'home'
44f00 3a 0a 24 76 61 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 28 5c 24 48 4f 4d 45 :.$val.=.preg_replace('#^(\$HOME
44f20 7c 7e 29 28 2f 7c 24 29 23 27 2c 20 72 74 72 69 6d 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 |~)(/|$)#',.rtrim(getenv('HOME')
44f40 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 2c 20 27 2f 5c 5c 27 .?:.getenv('USERPROFILE'),.'/\\'
44f60 29 20 2e 20 27 2f 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 0a )...'/',.$this->config[$key]);..
44f80 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 24 76 61 6c return.rtrim($this->process($val
44fa0 2c 20 24 66 6c 61 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a 0a 63 61 73 65 20 27 62 69 6e 2d 63 6f ,.$flags),.'/\\');..case.'bin-co
44fc0 6d 70 61 74 27 3a 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 mpat':.$value.=.$this->getCompos
44fe0 65 72 45 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 5f 43 4f 4d 50 41 54 27 29 20 3f 3a 20 erEnv('COMPOSER_BIN_COMPAT').?:.
45000 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 69 66 20 28 21 69 6e 5f 61 72 $this->config[$key];..if.(!in_ar
45020 72 61 79 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 66 75 6c 6c 27 ray($value,.array('auto',.'full'
45040 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ))).{.throw.new.\RuntimeExceptio
45060 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 27 62 69 6e 2d 63 6f 6d 70 61 n(."Invalid.value.for.'bin-compa
45080 74 27 3a 20 7b 24 76 61 6c 75 65 7d 2e 20 45 78 70 65 63 74 65 64 20 61 75 74 6f 2c 20 66 75 6c t':.{$value}..Expected.auto,.ful
450a0 6c 22 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 0a 63 61 73 65 20 27 64 l".);.}..return.$value;..case.'d
450c0 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a 0a 69 66 20 28 24 65 6e 76 20 3d 20 24 74 68 69 iscard-changes':.if.($env.=.$thi
450e0 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 s->getComposerEnv('COMPOSER_DISC
45100 41 52 44 5f 43 48 41 4e 47 45 53 27 29 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 ARD_CHANGES')).{.if.(!in_array($
45120 65 6e 76 2c 20 61 72 72 61 79 28 27 73 74 61 73 68 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c env,.array('stash',.'true',.'fal
45140 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e se',.'1',.'0'),.true)).{.throw.n
45160 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 ew.\RuntimeException(."Invalid.v
45180 61 6c 75 65 20 66 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 41 52 44 5f 43 48 41 4e 47 45 alue.for.COMPOSER_DISCARD_CHANGE
451a0 53 3a 20 7b 24 65 6e 76 7d 2e 20 45 78 70 65 63 74 65 64 20 31 2c 20 30 2c 20 74 72 75 65 2c 20 S:.{$env}..Expected.1,.0,.true,.
451c0 66 61 6c 73 65 20 6f 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 69 66 20 28 27 73 74 61 73 68 27 false.or.stash".);.}.if.('stash'
451e0 20 3d 3d 3d 20 24 65 6e 76 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 74 61 73 68 27 3b 0a 7d 0a 0a .===.$env).{.return.'stash';.}..
45200 0a 20 72 65 74 75 72 6e 20 24 65 6e 76 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f ..return.$env.!==.'false'.&&.(bo
45220 6f 6c 29 20 24 65 6e 76 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 ol).$env;.}..if.(!in_array($this
45240 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 61 72 72 61 79 28 74 72 75 65 2c 20 66 61 6c 73 ->config[$key],.array(true,.fals
45260 65 2c 20 27 73 74 61 73 68 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 e,.'stash'),.true)).{.throw.new.
45280 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 \RuntimeException(."Invalid.valu
452a0 65 20 66 6f 72 20 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a 20 7b 24 74 68 69 73 2d e.for.'discard-changes':.{$this-
452c0 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 7d 2e 20 45 78 70 65 63 74 65 64 20 74 72 75 65 2c 20 66 >config[$key]}..Expected.true,.f
452e0 61 6c 73 65 20 6f 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 alse.or.stash".);.}..return.$thi
45300 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 27 67 69 74 68 75 62 2d 70 s->config[$key];..case.'github-p
45320 72 6f 74 6f 63 6f 6c 73 27 3a 0a 24 70 72 6f 74 6f 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 rotocols':.$protos.=.$this->conf
45340 69 67 5b 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 5d 3b 0a 69 66 20 28 24 74 68 69 ig['github-protocols'];.if.($thi
45360 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 20 26 26 20 66 61 6c 73 s->config['secure-http'].&&.fals
45380 65 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 27 67 69 e.!==.($index.=.array_search('gi
453a0 74 27 2c 20 24 70 72 6f 74 6f 73 29 29 29 20 7b 0a 75 6e 73 65 74 28 24 70 72 6f 74 6f 73 5b 24 t',.$protos))).{.unset($protos[$
453c0 69 6e 64 65 78 5d 29 3b 0a 7d 0a 69 66 20 28 72 65 73 65 74 28 24 70 72 6f 74 6f 73 29 20 3d 3d index]);.}.if.(reset($protos).==
453e0 3d 20 27 68 74 74 70 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 =.'http').{.throw.new.\RuntimeEx
45400 63 65 70 74 69 6f 6e 28 27 54 68 65 20 68 74 74 70 20 70 72 6f 74 6f 63 6f 6c 20 66 6f 72 20 67 ception('The.http.protocol.for.g
45420 69 74 68 75 62 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 79 6d 6f 72 65 2c 20 ithub.is.not.available.anymore,.
45440 75 70 64 61 74 65 20 79 6f 75 72 20 63 6f 6e 66 69 67 5c 27 73 20 67 69 74 68 75 62 2d 70 72 6f update.your.config\'s.github-pro
45460 74 6f 63 6f 6c 73 20 74 6f 20 75 73 65 20 22 68 74 74 70 73 22 2c 20 22 67 69 74 22 20 6f 72 20 tocols.to.use."https",."git".or.
45480 22 73 73 68 22 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 74 6f 73 3b 0a 0a 63 61 73 "ssh"');.}..return.$protos;..cas
454a0 65 20 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 e.'disable-tls':.return.$this->c
454c0 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c onfig[$key].!==.'false'.&&.(bool
454e0 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 27 73 65 ).$this->config[$key];..case.'se
45500 63 75 72 65 2d 68 74 74 70 27 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 cure-http':.return.$this->config
45520 5b 24 6b 65 79 5d 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 74 68 [$key].!==.'false'.&&.(bool).$th
45540 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 is->config[$key];..default:.if.(
45560 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 !isset($this->config[$key])).{.r
45580 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f eturn.null;.}..return.$this->pro
455a0 63 65 73 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 66 6c 61 67 73 cess($this->config[$key],.$flags
455c0 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 66 6c 61 );.}.}..public.function.all($fla
455e0 67 73 20 3d 20 30 29 0a 7b 0a 24 61 6c 6c 20 3d 20 61 72 72 61 79 28 0a 27 72 65 70 6f 73 69 74 gs.=.0).{.$all.=.array(.'reposit
45600 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 ories'.=>.$this->getRepositories
45620 28 29 2c 0a 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 (),.);.foreach.(array_keys($this
45640 2d 3e 63 6f 6e 66 69 67 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 24 61 6c 6c 5b 27 63 6f 6e 66 69 ->config).as.$key).{.$all['confi
45660 67 27 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6b 65 79 2c 20 24 66 6c g'][$key].=.$this->get($key,.$fl
45680 61 67 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ags);.}..return.$all;.}..public.
456a0 66 75 6e 63 74 69 6f 6e 20 72 61 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 function.raw().{.return.array(.'
456c0 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 repositories'.=>.$this->getRepos
456e0 69 74 6f 72 69 65 73 28 29 2c 0a 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f itories(),.'config'.=>.$this->co
45700 6e 66 69 67 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f nfig,.);.}........public.functio
45720 6e 20 68 61 73 28 24 6b 65 79 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 5f 65 n.has($key).{.return.array_key_e
45740 78 69 73 74 73 28 24 6b 65 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a xists($key,.$this->config);.}...
45760 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 28 24 ......private.function.process($
45780 76 61 6c 75 65 2c 20 24 66 6c 61 67 73 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 value,.$flags).{.$config.=.$this
457a0 3b 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 ;..if.(!is_string($value)).{.ret
457c0 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 urn.$value;.}..return.preg_repla
457e0 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 23 5c 7b 5c 24 28 2e 2b 29 5c 7d 23 27 2c 20 66 75 6e 63 ce_callback('#\{\$(.+)\}#',.func
45800 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 75 73 65 20 28 24 63 6f 6e 66 69 67 2c 20 24 66 6c 61 tion.($match).use.($config,.$fla
45820 67 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 6d 61 74 63 68 gs).{.return.$config->get($match
45840 5b 31 5d 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a [1],.$flags);.},.$value);.}.....
45860 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 6c 70 61 74 68 28 24 .....private.function.realpath($
45880 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 2f 7c 5b path).{.if.(preg_match('{^(?:/|[
458a0 61 2d 7a 5d 3a 7c 5b 61 2d 7a 30 2d 39 2e 5d 2b 3a 2f 2f 29 7d 69 27 2c 20 24 70 61 74 68 29 29 a-z]:|[a-z0-9.]+://)}i',.$path))
458c0 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .{.return.$path;.}..return.$this
458e0 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a ->baseDir...'/'...$path;.}......
45900 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 .....private.function.getCompose
45920 72 45 6e 76 28 24 76 61 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 73 65 45 6e 76 69 72 rEnv($var).{.if.($this->useEnvir
45940 6f 6e 6d 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 67 65 74 65 6e 76 28 24 76 61 72 29 3b 0a 7d onment).{.return.getenv($var);.}
45960 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ..return.false;.}..private.funct
45980 69 6f 6e 20 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 ion.disableRepoByName($name).{.i
459a0 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 f.(isset($this->repositories[$na
459c0 6d 65 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 me])).{.unset($this->repositorie
459e0 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 27 s[$name]);.}.elseif.($name.===.'
45a00 70 61 63 6b 61 67 69 73 74 27 29 20 7b 20 0a 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 packagist').{...unset($this->rep
45a20 6f 73 69 74 6f 72 69 65 73 5b 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 5d 29 3b 0a 7d 0a 7d ositories['packagist.org']);.}.}
45a40 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 68 69 62 69 74 ........public.function.prohibit
45a60 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 UrlByConfig($url,.IOInterface.$i
45a80 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 66 69 6c 74 o.=.null).{...if.(false.===.filt
45aa0 65 72 5f 76 61 72 28 24 75 72 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c er_var($url,.FILTER_VALIDATE_URL
45ac0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 73 63 68 65 6d 65 20 3d 20 70 61 72 73 )).{.return;.}....$scheme.=.pars
45ae0 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 69 66 20 e_url($url,.PHP_URL_SCHEME);.if.
45b00 28 69 6e 5f 61 72 72 61 79 28 24 73 63 68 65 6d 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 2c (in_array($scheme,.array('http',
45b20 20 27 67 69 74 27 2c 20 27 66 74 70 27 2c 20 27 73 76 6e 27 29 29 29 20 7b 0a 69 66 20 28 24 74 .'git',.'ftp',.'svn'))).{.if.($t
45b40 68 69 73 2d 3e 67 65 74 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 29 29 20 7b 0a 74 68 72 6f 77 his->get('secure-http')).{.throw
45b60 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 59 6f 75 72 20 63 6f .new.TransportException("Your.co
45b80 6e 66 69 67 75 72 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 63 6f 6e 6e 65 nfiguration.does.not.allow.conne
45ba0 63 74 69 6f 6e 73 20 74 6f 20 24 75 72 6c 2e 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 ctions.to.$url..See.https://getc
45bc0 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 36 2d 63 6f 6e 66 69 67 2e 6d 64 23 73 65 63 omposer.org/doc/06-config.md#sec
45be0 75 72 65 2d 68 74 74 70 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 22 29 3b 0a 7d 20 65 6c 73 65 69 ure-http.for.details.");.}.elsei
45c00 66 20 28 24 69 6f 29 20 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c f.($io).{.$host.=.parse_url($url
45c20 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 ,.PHP_URL_HOST);.if.(!isset($thi
45c40 73 2d 3e 77 61 72 6e 65 64 48 6f 73 74 73 5b 24 68 6f 73 74 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 s->warnedHosts[$host])).{.$io->w
45c60 72 69 74 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 63 63 riteError("<warning>Warning:.Acc
45c80 65 73 73 69 6e 67 20 24 68 6f 73 74 20 6f 76 65 72 20 24 73 63 68 65 6d 65 20 77 68 69 63 68 20 essing.$host.over.$scheme.which.
45ca0 69 73 20 61 6e 20 69 6e 73 65 63 75 72 65 20 70 72 6f 74 6f 63 6f 6c 2e 3c 2f 77 61 72 6e 69 6e is.an.insecure.protocol.</warnin
45cc0 67 3e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 61 72 6e 65 64 48 6f 73 74 73 5b 24 68 6f 73 74 g>");.}.$this->warnedHosts[$host
45ce0 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ].=.true;.}.}.}.}.<?php.........
45d00 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a ...namespace.Composer\Config;...
45d20 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 .....interface.ConfigSourceInter
45d40 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 face.{.......public.function.add
45d60 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 0a 0a 0a Repository($name,.$config);.....
45d80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f ..public.function.removeReposito
45da0 72 79 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ry($name);........public.functio
45dc0 6e 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 n.addConfigSetting($name,.$value
45de0 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 );.......public.function.removeC
45e00 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c onfigSetting($name);........publ
45e20 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 ic.function.addProperty($name,.$
45e40 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 value);.......public.function.re
45e60 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 moveProperty($name);.........pub
45e80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d lic.function.addLink($type,.$nam
45ea0 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e,.$value);........public.functi
45ec0 6f 6e 20 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 29 3b 0a 0a 0a 0a on.removeLink($type,.$name);....
45ee0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a ...public.function.getName();.}.
45f00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
45f20 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a ser\Config;..use.Composer\Json\J
45f40 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d sonFile;.use.Composer\Json\JsonM
45f60 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 anipulator;.use.Composer\Util\Si
45f80 6c 65 6e 63 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 lencer;........class.JsonConfigS
45fa0 6f 75 72 63 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 ource.implements.ConfigSourceInt
45fc0 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 0a 0a 0a 70 erface.{....private.$file;.....p
45fe0 72 69 76 61 74 65 20 24 61 75 74 68 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rivate.$authConfig;........publi
46000 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4a 73 6f 6e 46 69 6c 65 20 c.function.__construct(JsonFile.
46020 24 66 69 6c 65 2c 20 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 $file,.$authConfig.=.false).{.$t
46040 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f his->file.=.$file;.$this->authCo
46060 6e 66 69 67 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 nfig.=.$authConfig;.}.....public
46080 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.getName().{.return.$th
460a0 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 is->file->getPath();.}.....publi
460c0 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 c.function.addRepository($name,.
460e0 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e $config).{.$this->manipulateJson
46100 28 27 61 64 64 52 65 70 6f 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 ('addRepository',.$name,.$config
46120 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 2c 20 24 72 65 ,.function.(&$config,.$repo,.$re
46140 70 6f 43 6f 6e 66 69 67 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 poConfig).{.....if.(isset($confi
46160 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 g['repositories'])).{.foreach.($
46180 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 20 61 73 20 24 69 6e 64 65 78 config['repositories'].as.$index
461a0 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 24 72 65 70 6f .=>.$val).{.if.($index.===.$repo
461c0 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 ).{.continue;.}.if.(is_numeric($
461e0 69 6e 64 65 78 29 20 26 26 20 28 24 76 61 6c 20 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 index).&&.($val.===.array('packa
46200 67 69 73 74 27 20 3d 3e 20 66 61 6c 73 65 29 20 7c 7c 20 24 76 61 6c 20 3d 3d 3d 20 61 72 72 61 gist'.=>.false).||.$val.===.arra
46220 79 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 20 7b 0a y('packagist.org'.=>.false))).{.
46240 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 69 unset($config['repositories'][$i
46260 6e 64 65 78 5d 29 3b 0a 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b ndex]);.$config['repositories'][
46280 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 5d 20 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 'packagist.org'].=.false;.break;
462a0 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b .}.}.}..$config['repositories'][
462c0 24 72 65 70 6f 5d 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a $repo].=.$repoConfig;.});.}.....
462e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 public.function.removeRepository
46300 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 ($name).{.$this->manipulateJson(
46320 27 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 'removeRepository',.$name,.funct
46340 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 20 7b 0a 75 6e 73 65 74 28 24 63 ion.(&$config,.$repo).{.unset($c
46360 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 72 65 70 6f 5d 29 3b 0a 7d onfig['repositories'][$repo]);.}
46380 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 );.}.....public.function.addConf
463a0 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 61 75 74 68 igSetting($name,.$value).{.$auth
463c0 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 Config.=.$this->authConfig;.$thi
463e0 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 s->manipulateJson('addConfigSett
46400 69 6e 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 ing',.$name,.$value,.function.(&
46420 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 2c 20 24 76 61 6c 29 20 75 73 65 20 28 24 61 75 74 68 43 $config,.$key,.$val).use.($authC
46440 6f 6e 66 69 67 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 62 69 74 62 onfig).{.if.(preg_match('{^(bitb
46460 75 63 6b 65 74 2d 6f 61 75 74 68 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d ucket-oauth|github-oauth|gitlab-
46480 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 7c 70 6c oauth|gitlab-token|http-basic|pl
464a0 61 74 66 6f 72 6d 29 5c 2e 7d 27 2c 20 24 6b 65 79 29 29 20 7b 0a 6c 69 73 74 28 24 6b 65 79 2c atform)\.}',.$key)).{.list($key,
464c0 20 24 68 6f 73 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 2c 20 32 29 3b .$host).=.explode('.',.$key,.2);
464e0 0a 69 66 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 24 6b 65 79 .if.($authConfig).{.$config[$key
46500 5d 5b 24 68 6f 73 74 5d 20 3d 20 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 ][$host].=.$val;.}.else.{.$confi
46520 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 20 3d 20 24 76 61 6c 3b g['config'][$key][$host].=.$val;
46540 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b .}.}.else.{.$config['config'][$k
46560 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ey].=.$val;.}.});.}.....public.f
46580 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d unction.removeConfigSetting($nam
465a0 65 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f e).{.$authConfig.=.$this->authCo
465c0 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d nfig;.$this->manipulateJson('rem
465e0 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 oveConfigSetting',.$name,.functi
46600 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 29 20 75 73 65 20 28 24 61 75 74 68 43 6f on.(&$config,.$key).use.($authCo
46620 6e 66 69 67 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 62 69 74 62 75 nfig).{.if.(preg_match('{^(bitbu
46640 63 6b 65 74 2d 6f 61 75 74 68 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 6f cket-oauth|github-oauth|gitlab-o
46660 61 75 74 68 7c 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 7c 70 6c 61 auth|gitlab-token|http-basic|pla
46680 74 66 6f 72 6d 29 5c 2e 7d 27 2c 20 24 6b 65 79 29 29 20 7b 0a 6c 69 73 74 28 24 6b 65 79 2c 20 tform)\.}',.$key)).{.list($key,.
466a0 24 68 6f 73 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 2c 20 32 29 3b 0a $host).=.explode('.',.$key,.2);.
466c0 69 66 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 if.($authConfig).{.unset($config
466e0 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 [$key][$host]);.}.else.{.unset($
46700 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 29 3b 0a config['config'][$key][$host]);.
46720 7d 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 }.}.else.{.unset($config['config
46740 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 '][$key]);.}.});.}.....public.fu
46760 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 nction.addProperty($name,.$value
46780 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 50 72 ).{.$this->manipulateJson('addPr
467a0 6f 70 65 72 74 79 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e operty',.$name,.$value,.function
467c0 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 2c 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 73 75 .(&$config,.$key,.$val).{.if.(su
467e0 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 20 7c 7c bstr($key,.0,.6).===.'extra.'.||
46800 20 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 .substr($key,.0,.8).===.'scripts
46820 2e 27 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 29 .').{.$bits.=.explode('.',.$key)
46840 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 62 69 74 73 29 3b 0a 24 61 72 72 ;.$last.=.array_pop($bits);.$arr
46860 20 3d 20 26 24 63 6f 6e 66 69 67 5b 72 65 73 65 74 28 24 62 69 74 73 29 5d 3b 0a 66 6f 72 65 61 .=.&$config[reset($bits)];.forea
46880 63 68 20 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 ch.($bits.as.$bit).{.if.(!isset(
468a0 24 61 72 72 5b 24 62 69 74 5d 29 29 20 7b 0a 24 61 72 72 5b 24 62 69 74 5d 20 3d 20 61 72 72 61 $arr[$bit])).{.$arr[$bit].=.arra
468c0 79 28 29 3b 0a 7d 0a 24 61 72 72 20 3d 20 26 24 61 72 72 5b 24 62 69 74 5d 3b 0a 7d 0a 24 61 72 y();.}.$arr.=.&$arr[$bit];.}.$ar
468e0 72 5b 24 6c 61 73 74 5d 20 3d 20 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 r[$last].=.$val;.}.else.{.$confi
46900 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c g[$key].=.$val;.}.});.}.....publ
46920 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 ic.function.removeProperty($name
46940 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e ).{.$authConfig.=.$this->authCon
46960 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f fig;.$this->manipulateJson('remo
46980 76 65 50 72 6f 70 65 72 74 79 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 veProperty',.$name,.function.(&$
469a0 63 6f 6e 66 69 67 2c 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c config,.$key).{.if.(substr($key,
469c0 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6b .0,.6).===.'extra.'.||.substr($k
469e0 65 79 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 24 62 69 74 ey,.0,.8).===.'scripts.').{.$bit
46a00 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 29 3b 0a 24 6c 61 73 74 20 3d 20 s.=.explode('.',.$key);.$last.=.
46a20 61 72 72 61 79 5f 70 6f 70 28 24 62 69 74 73 29 3b 0a 24 61 72 72 20 3d 20 26 24 63 6f 6e 66 69 array_pop($bits);.$arr.=.&$confi
46a40 67 5b 72 65 73 65 74 28 24 62 69 74 73 29 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 73 20 g[reset($bits)];.foreach.($bits.
46a60 61 73 20 24 62 69 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 61 72 72 5b 24 62 69 74 5d as.$bit).{.if.(!isset($arr[$bit]
46a80 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 61 72 72 20 3d 20 26 24 61 72 72 5b 24 62 69 74 )).{.return;.}.$arr.=.&$arr[$bit
46aa0 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 61 72 72 5b 24 6c 61 73 74 5d 29 3b 0a 7d 20 65 6c 73 65 20 ];.}.unset($arr[$last]);.}.else.
46ac0 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 29 3b 0a 7d 0a {.unset($config[$key]);.}.});.}.
46ae0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 ....public.function.addLink($typ
46b00 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 e,.$name,.$value).{.$this->manip
46b20 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 4c 69 6e 6b 27 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d ulateJson('addLink',.$type,.$nam
46b40 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 e,.$value,.function.(&$config,.$
46b60 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 24 type,.$name,.$value).{.$config[$
46b80 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a type][$name].=.$value;.});.}....
46ba0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 .public.function.removeLink($typ
46bc0 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f e,.$name).{.$this->manipulateJso
46be0 6e 28 27 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 27 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c n('removeSubNode',.$type,.$name,
46c00 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d .function.(&$config,.$type,.$nam
46c20 65 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d e).{.unset($config[$type][$name]
46c40 29 3b 0a 7d 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e );.});.}..protected.function.man
46c60 69 70 75 6c 61 74 65 4a 73 6f 6e 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 2c 20 24 66 61 6c ipulateJson($method,.$args,.$fal
46c80 6c 62 61 63 6b 29 0a 7b 0a 24 61 72 67 73 20 3d 20 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 lback).{.$args.=.func_get_args()
46ca0 3b 0a 0a 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 67 73 29 3b 0a 24 66 61 6c 6c 62 61 63 ;...array_shift($args);.$fallbac
46cc0 6b 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 61 72 67 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 k.=.array_pop($args);..if.($this
46ce0 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 77 72 69 74 ->file->exists()).{.if.(!is_writ
46d00 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b 0a able($this->file->getPath())).{.
46d20 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 throw.new.\RuntimeException(spri
46d40 6e 74 66 28 27 54 68 65 20 66 69 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 ntf('The.file."%s".is.not.writab
46d60 6c 65 2e 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 3b 0a le.',.$this->file->getPath()));.
46d80 7d 0a 0a 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d }..if.(!is_readable($this->file-
46da0 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d >getPath())).{.throw.new.\Runtim
46dc0 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 66 69 6c 65 20 22 25 73 eException(sprintf('The.file."%s
46de0 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 ".is.not.readable.',.$this->file
46e00 2d 3e 67 65 74 50 61 74 68 28 29 29 29 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 ->getPath()));.}..$contents.=.fi
46e20 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 le_get_contents($this->file->get
46e40 50 61 74 68 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f Path());.}.elseif.($this->authCo
46e60 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 7d 5c 6e 22 3b 0a 7d 20 nfig).{.$contents.=."{\n}\n";.}.
46e80 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 20 20 20 20 5c 22 63 6f 6e else.{.$contents.=."{\n....\"con
46ea0 66 69 67 5c 22 3a 20 7b 5c 6e 20 20 20 20 7d 5c 6e 7d 5c 6e 22 3b 0a 7d 0a 0a 24 6d 61 6e 69 70 fig\":.{\n....}\n}\n";.}..$manip
46ec0 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 28 24 63 6f ulator.=.new.JsonManipulator($co
46ee0 6e 74 65 6e 74 73 29 3b 0a 0a 24 6e 65 77 46 69 6c 65 20 3d 20 21 24 74 68 69 73 2d 3e 66 69 6c ntents);..$newFile.=.!$this->fil
46f00 65 2d 3e 65 78 69 73 74 73 28 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 e->exists();....if.($this->authC
46f20 6f 6e 66 69 67 20 26 26 20 24 6d 65 74 68 6f 64 20 3d 3d 3d 20 27 61 64 64 43 6f 6e 66 69 67 53 onfig.&&.$method.===.'addConfigS
46f40 65 74 74 69 6e 67 27 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 61 64 64 53 75 62 4e 6f 64 65 etting').{.$method.=.'addSubNode
46f60 27 3b 0a 6c 69 73 74 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 20 3d 20 65 78 70 6c ';.list($mainNode,.$name).=.expl
46f80 6f 64 65 28 27 2e 27 2c 20 24 61 72 67 73 5b 30 5d 2c 20 32 29 3b 0a 24 61 72 67 73 20 3d 20 61 ode('.',.$args[0],.2);.$args.=.a
46fa0 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 61 72 67 73 5b 31 5d 29 rray($mainNode,.$name,.$args[1])
46fc0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 26 26 ;.}.elseif.($this->authConfig.&&
46fe0 20 24 6d 65 74 68 6f 64 20 3d 3d 3d 20 27 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e .$method.===.'removeConfigSettin
47000 67 27 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 27 3b g').{.$method.=.'removeSubNode';
47020 0a 6c 69 73 74 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 .list($mainNode,.$name).=.explod
47040 65 28 27 2e 27 2c 20 24 61 72 67 73 5b 30 5d 2c 20 32 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 e('.',.$args[0],.2);.$args.=.arr
47060 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 ay($mainNode,.$name);.}....if.(c
47080 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 79 28 24 6d 61 6e 69 70 all_user_func_array(array($manip
470a0 75 6c 61 74 6f 72 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 61 72 67 73 29 29 20 7b 0a 66 69 6c 65 ulator,.$method),.$args)).{.file
470c0 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 _put_contents($this->file->getPa
470e0 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 th(),.$manipulator->getContents(
47100 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e ));.}.else.{...$config.=.$this->
47120 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 24 74 68 69 73 2d 3e 61 72 72 61 79 55 6e 73 68 69 66 file->read();.$this->arrayUnshif
47140 74 52 65 66 28 24 61 72 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 63 61 6c 6c 5f 75 73 65 72 5f tRef($args,.$config);.call_user_
47160 66 75 6e 63 5f 61 72 72 61 79 28 24 66 61 6c 6c 62 61 63 6b 2c 20 24 61 72 67 73 29 3b 0a 24 74 func_array($fallback,.$args);.$t
47180 68 69 73 2d 3e 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 69 66 his->file->write($config);.}..if
471a0 20 28 24 6e 65 77 46 69 6c 65 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 .($newFile).{.Silencer::call('ch
471c0 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 30 36 mod',.$this->file->getPath(),.06
471e0 30 30 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 00);.}.}.........private.functio
47200 6e 20 61 72 72 61 79 55 6e 73 68 69 66 74 52 65 66 28 26 24 61 72 72 61 79 2c 20 26 24 76 61 6c n.arrayUnshiftRef(&$array,.&$val
47220 75 65 29 0a 7b 0a 24 72 65 74 75 72 6e 20 3d 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 61 ue).{.$return.=.array_unshift($a
47240 72 72 61 79 2c 20 27 27 29 3b 0a 24 61 72 72 61 79 5b 30 5d 20 3d 20 26 24 76 61 6c 75 65 3b 0a rray,.'');.$array[0].=.&$value;.
47260 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .return.$return;.}.}.<?php......
47280 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 ......namespace.Composer\Console
472a0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 ;..use.Composer\IO\NullIO;.use.C
472c0 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Util\Platform;.use.Compo
472e0 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ser\Util\Silencer;.use.Symfony\C
47300 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 20 61 73 20 omponent\Console\Application.as.
47320 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d BaseApplication;.use.Symfony\Com
47340 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 ponent\Console\Input\InputInterf
47360 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
47380 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e le\Input\InputOption;.use.Symfon
473a0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 y\Component\Console\Output\Outpu
473c0 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 tInterface;.use.Composer\Command
473e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d ;.use.Composer\Composer;.use.Com
47400 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 poser\Factory;.use.Composer\IO\I
47420 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 43 6f 6e 73 OInterface;.use.Composer\IO\Cons
47440 6f 6c 65 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 56 61 6c oleIO;.use.Composer\Json\JsonVal
47460 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 idationException;.use.Composer\U
47480 74 69 6c 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 til\ErrorHandler;.use.Composer\E
474a0 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 ventDispatcher\ScriptExecutionEx
474c0 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c ception;.use.Composer\Exception\
474e0 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 NoSslException;.........class.Ap
47500 70 6c 69 63 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f plication.extends.BaseApplicatio
47520 6e 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a n.{....protected.$composer;.....
47540 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 protected.$io;..private.static.$
47560 6c 6f 67 6f 20 3d 20 27 20 20 20 5f 5f 5f 5f 5f 5f 0a 20 20 2f 20 5f 5f 5f 5f 2f 5f 5f 5f 20 20 logo.=.'...______.../.____/___..
47580 5f 5f 5f 5f 20 5f 5f 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 5f 5f 5f 20 20 ____.___..____..____..________..
475a0 5f 5f 5f 5f 5f 0a 20 2f 20 2f 20 20 20 2f 20 5f 5f 20 5c 2f 20 5f 5f 20 60 5f 5f 20 5c 2f 20 5f _____.././.../.__.\/.__.`__.\/._
475c0 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f 5f 2f 20 5f 20 5c 2f 20 5f 5f 5f 2f 0a 2f 20 2f 5f 5f 5f _.\/.__.\/.___/._.\/.___/././___
475e0 2f 20 2f 5f 2f 20 2f 20 2f 20 2f 20 2f 20 2f 20 2f 20 2f 5f 2f 20 2f 20 2f 5f 2f 20 28 5f 5f 20 /./_/./././././././_/././_/.(__.
47600 20 29 20 20 5f 5f 2f 20 2f 0a 5c 5f 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f 5f 2f 20 2f 5f 2f 20 2f 5f 2f .)..__/./.\____/\____/_/./_/./_/
47620 20 2e 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f 5f 5f 5f 5f 2f 5c 5f 5f 5f 2f 5f 2f 0a 20 20 20 20 20 20 20 ..___/\____/____/\___/_/........
47640 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 5f 2f 0a 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 68 61 ............./_/.';..private.$ha
47660 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 sPluginCommands.=.false;.private
47680 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 .$disablePluginsByDefault.=.fals
476a0 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 e;..public.function.__construct(
476c0 29 0a 7b 0a 73 74 61 74 69 63 20 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 72 65 64 20 3d ).{.static.$shutdownRegistered.=
476e0 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 69 6e .false;..if.(function_exists('in
47700 69 5f 73 65 74 27 29 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 i_set').&&.extension_loaded('xde
47720 62 75 67 27 29 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 78 64 65 62 75 67 2e 73 68 6f 77 5f 65 78 bug')).{.ini_set('xdebug.show_ex
47740 63 65 70 74 69 6f 6e 5f 74 72 61 63 65 27 2c 20 66 61 6c 73 65 29 3b 0a 69 6e 69 5f 73 65 74 28 ception_trace',.false);.ini_set(
47760 27 78 64 65 62 75 67 2e 73 63 72 65 61 6d 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 'xdebug.scream',.false);.}..if.(
47780 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 function_exists('date_default_ti
477a0 6d 65 7a 6f 6e 65 5f 73 65 74 27 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 mezone_set').&&.function_exists(
477c0 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 67 65 74 27 29 29 20 7b 0a 'date_default_timezone_get')).{.
477e0 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 73 65 74 28 53 69 6c 65 6e 63 date_default_timezone_set(Silenc
47800 65 72 3a 3a 63 61 6c 6c 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f er::call('date_default_timezone_
47820 67 65 74 27 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 get'));.}..if.(!$shutdownRegiste
47840 72 65 64 29 20 7b 0a 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 72 65 64 20 3d 20 74 72 75 red).{.$shutdownRegistered.=.tru
47860 65 3b 0a 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 66 e;..register_shutdown_function(f
47880 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f unction.().{.$lastError.=.error_
478a0 67 65 74 5f 6c 61 73 74 28 29 3b 0a 0a 69 66 20 28 24 6c 61 73 74 45 72 72 6f 72 20 26 26 20 24 get_last();..if.($lastError.&&.$
478c0 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 20 26 26 0a 28 73 74 72 70 6f 73 28 lastError['message'].&&.(strpos(
478e0 24 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 41 6c 6c 6f 77 65 64 20 $lastError['message'],.'Allowed.
47900 6d 65 6d 6f 72 79 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 20 7c 7c 0a 73 74 72 70 6f 73 28 24 6c memory').!==.false..||.strpos($l
47920 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 65 78 63 65 65 64 65 64 20 6d astError['message'],.'exceeded.m
47940 65 6d 6f 72 79 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 29 29 20 7b 0a 65 63 68 6f 20 22 5c 6e 22 emory').!==.false.)).{.echo."\n"
47960 2e 20 27 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 ..'Check.https://getcomposer.org
47980 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 /doc/articles/troubleshooting.md
479a0 23 6d 65 6d 6f 72 79 2d 6c 69 6d 69 74 2d 65 72 72 6f 72 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e #memory-limit-errors.for.more.in
479c0 66 6f 20 6f 6e 20 68 6f 77 20 74 6f 20 68 61 6e 64 6c 65 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 fo.on.how.to.handle.out.of.memor
479e0 79 20 65 72 72 6f 72 73 2e 27 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d y.errors.';.}.});.}..$this->io.=
47a00 20 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 .new.NullIO();..parent::__constr
47a20 75 63 74 28 27 43 6f 6d 70 6f 73 65 72 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f uct('Composer',.Composer::VERSIO
47a40 4e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e N);.}.....public.function.run(In
47a60 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 putInterface.$input.=.null,.Outp
47a80 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 utInterface.$output.=.null).{.if
47aa0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 .(null.===.$output).{.$output.=.
47ac0 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 Factory::createOutput();.}..retu
47ae0 72 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b rn.parent::run($input,.$output);
47b00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 .}.....public.function.doRun(Inp
47b20 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
47b40 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 ace.$output).{.$this->disablePlu
47b60 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d ginsByDefault.=.$input->hasParam
47b80 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 3b 0a 0a 24 69 6f eterOption('--no-plugins');..$io
47ba0 20 3d 20 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 49 4f 28 24 69 6e .=.$this->io.=.new.ConsoleIO($in
47bc0 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 put,.$output,.$this->getHelperSe
47be0 74 28 29 29 3b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 24 69 6f t());.ErrorHandler::register($io
47c00 29 3b 0a 0a 0a 20 69 66 20 28 24 6e 65 77 57 6f 72 6b 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 );....if.($newWorkDir.=.$this->g
47c20 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 6f 6c 64 57 etNewWorkingDir($input)).{.$oldW
47c40 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 6e 65 77 orkingDir.=.getcwd();.chdir($new
47c60 57 6f 72 6b 44 69 72 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 68 61 6e 67 WorkDir);.$io->writeError('Chang
47c80 65 64 20 43 57 44 20 74 6f 20 27 20 2e 20 67 65 74 63 77 64 28 29 2c 20 74 72 75 65 2c 20 49 4f ed.CWD.to.'...getcwd(),.true,.IO
47ca0 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 Interface::DEBUG);.}....$command
47cc0 4e 61 6d 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 Name.=.'';.if.($name.=.$this->ge
47ce0 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 74 72 79 20 7b 0a 24 63 tCommandName($input)).{.try.{.$c
47d00 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 2d ommandName.=.$this->find($name)-
47d20 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 >getName();.}.catch.(\InvalidArg
47d40 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 umentException.$e).{.}.}....if.(
47d60 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 21 24 6e 65 77 57 6f 72 $io->isInteractive().&&.!$newWor
47d80 6b 44 69 72 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 kDir.&&.!in_array($commandName,.
47da0 61 72 72 61 79 28 27 27 2c 20 27 6c 69 73 74 27 2c 20 27 69 6e 69 74 27 2c 20 27 61 62 6f 75 74 array('',.'list',.'init',.'about
47dc0 27 2c 20 27 68 65 6c 70 27 2c 20 27 64 69 61 67 6e 6f 73 65 27 2c 20 27 73 65 6c 66 2d 75 70 64 ',.'help',.'diagnose',.'self-upd
47de0 61 74 65 27 2c 20 27 67 6c 6f 62 61 6c 27 2c 20 27 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 27 ate',.'global',.'create-project'
47e00 29 2c 20 74 72 75 65 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 46 61 63 74 6f 72 79 ),.true).&&.!file_exists(Factory
47e20 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 29 20 7b 0a 24 64 69 72 20 3d 20 64 ::getComposerFile())).{.$dir.=.d
47e40 69 72 6e 61 6d 65 28 67 65 74 63 77 64 28 29 29 3b 0a 24 68 6f 6d 65 20 3d 20 72 65 61 6c 70 61 irname(getcwd());.$home.=.realpa
47e60 74 68 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 th(getenv('HOME').?:.getenv('USE
47e80 52 50 52 4f 46 49 4c 45 27 29 20 3f 3a 20 27 2f 27 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 64 69 RPROFILE').?:.'/');....while.(di
47ea0 72 6e 61 6d 65 28 24 64 69 72 29 20 21 3d 3d 20 24 64 69 72 20 26 26 20 24 64 69 72 20 21 3d 3d rname($dir).!==.$dir.&&.$dir.!==
47ec0 20 24 68 6f 6d 65 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 2e 27 .$home).{.if.(file_exists($dir.'
47ee0 2f 27 2e 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 29 20 /'.Factory::getComposerFile())).
47f00 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 3c 69 6e 66 {.if.($io->askConfirmation('<inf
47f20 6f 3e 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 69 6e 20 63 75 72 72 65 6e 74 20 64 69 o>No.composer.json.in.current.di
47f40 72 65 63 74 6f 72 79 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 20 rectory,.do.you.want.to.use.the.
47f60 6f 6e 65 20 61 74 20 27 2e 24 64 69 72 2e 27 3f 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e one.at.'.$dir.'?</info>.[<commen
47f80 74 3e 59 2c 6e 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6f t>Y,n</comment>]?.',.true)).{.$o
47fa0 6c 64 57 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 ldWorkingDir.=.getcwd();.chdir($
47fc0 64 69 72 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 24 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 dir);.}.break;.}.$dir.=.dirname(
47fe0 24 64 69 72 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 $dir);.}.}..if.(!$this->disableP
48000 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 26 26 20 21 24 74 68 69 73 2d 3e 68 61 73 50 6c luginsByDefault.&&.!$this->hasPl
48020 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 26 26 20 27 67 6c 6f 62 61 6c 27 20 21 3d 3d 20 24 63 6f uginCommands.&&.'global'.!==.$co
48040 6d 6d 61 6e 64 4e 61 6d 65 29 20 7b 0a 74 72 79 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 mmandName).{.try.{.foreach.($thi
48060 73 2d 3e 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 s->getPluginCommands().as.$comma
48080 6e 64 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 nd).{.if.($this->has($command->g
480a0 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 etName())).{.$io->writeError('<w
480c0 61 72 6e 69 6e 67 3e 50 6c 75 67 69 6e 20 63 6f 6d 6d 61 6e 64 20 27 2e 24 63 6f 6d 6d 61 6e 64 arning>Plugin.command.'.$command
480e0 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 28 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 6f 6d 6d ->getName().'.('.get_class($comm
48100 61 6e 64 29 2e 27 29 20 77 6f 75 6c 64 20 6f 76 65 72 72 69 64 65 20 61 20 43 6f 6d 70 6f 73 65 and).').would.override.a.Compose
48120 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 68 61 73 20 62 65 65 6e 20 73 6b 69 70 70 65 64 3c 2f r.command.and.has.been.skipped</
48140 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 28 warning>');.}.else.{.$this->add(
48160 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 4e 6f 53 73 6c 45 78 63 $command);.}.}.}.catch.(NoSslExc
48180 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 50 6c 75 67 eption.$e).{...}..$this->hasPlug
481a0 69 6e 43 6f 6d 6d 61 6e 64 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 69 73 50 72 6f 78 79 inCommands.=.true;.}....$isProxy
481c0 43 6f 6d 6d 61 6e 64 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 20 24 74 68 Command.=.false;.if.($name.=.$th
481e0 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 74 72 is->getCommandName($input)).{.tr
48200 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 y.{.$command.=.$this->find($name
48220 29 3b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e );.$commandName.=.$command->getN
48240 61 6d 65 28 29 3b 0a 24 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 20 3d 20 28 24 63 6f 6d 6d 61 ame();.$isProxyCommand.=.($comma
48260 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 5c 42 61 73 65 43 6f 6d 6d 61 6e nd.instanceof.Command\BaseComman
48280 64 20 26 26 20 24 63 6f 6d 6d 61 6e 64 2d 3e 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 29 d.&&.$command->isProxyCommand())
482a0 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 ;.}.catch.(\InvalidArgumentExcep
482c0 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 73 50 72 6f 78 79 43 6f 6d tion.$e).{.}.}..if.(!$isProxyCom
482e0 6d 61 6e 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 mand).{.$io->writeError(sprintf(
48300 0a 27 52 75 6e 6e 69 6e 67 20 25 73 20 28 25 73 29 20 77 69 74 68 20 25 73 20 6f 6e 20 25 73 27 .'Running.%s.(%s).with.%s.on.%s'
48320 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 52 ,.Composer::VERSION,.Composer::R
48340 45 4c 45 41 53 45 5f 44 41 54 45 2c 0a 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 ELEASE_DATE,.defined('HHVM_VERSI
48360 4f 4e 27 29 20 3f 20 27 48 48 56 4d 20 27 2e 48 48 56 4d 5f 56 45 52 53 49 4f 4e 20 3a 20 27 50 ON').?.'HHVM.'.HHVM_VERSION.:.'P
48380 48 50 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2c 0a 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 HP.'.PHP_VERSION,.function_exist
483a0 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 20 s('php_uname').?.php_uname('s').
483c0 2e 20 27 20 2f 20 27 20 2e 20 70 68 70 5f 75 6e 61 6d 65 28 27 72 27 29 20 3a 20 27 55 6e 6b 6e ..'./.'...php_uname('r').:.'Unkn
483e0 6f 77 6e 20 4f 53 27 0a 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 own.OS'.),.true,.IOInterface::DE
48400 42 55 47 29 3b 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 BUG);..if.(PHP_VERSION_ID.<.5030
48420 32 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 2).{.$io->writeError('<warning>C
48440 6f 6d 70 6f 73 65 72 20 6f 6e 6c 79 20 6f 66 66 69 63 69 61 6c 6c 79 20 73 75 70 70 6f 72 74 73 omposer.only.officially.supports
48460 20 50 48 50 20 35 2e 33 2e 32 20 61 6e 64 20 61 62 6f 76 65 2c 20 79 6f 75 20 77 69 6c 6c 20 6d .PHP.5.3.2.and.above,.you.will.m
48480 6f 73 74 20 6c 69 6b 65 6c 79 20 65 6e 63 6f 75 6e 74 65 72 20 70 72 6f 62 6c 65 6d 73 20 77 69 ost.likely.encounter.problems.wi
484a0 74 68 20 79 6f 75 72 20 50 48 50 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2e 27 2c 20 75 70 67 th.your.PHP.'.PHP_VERSION.',.upg
484c0 72 61 64 69 6e 67 20 69 73 20 73 74 72 6f 6e 67 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 3c rading.is.strongly.recommended.<
484e0 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f /warning>');.}..if.(extension_lo
48500 61 64 65 64 28 27 78 64 65 62 75 67 27 29 20 26 26 20 21 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f aded('xdebug').&&.!getenv('COMPO
48520 53 45 52 5f 44 49 53 41 42 4c 45 5f 58 44 45 42 55 47 5f 57 41 52 4e 27 29 29 20 7b 0a 24 69 6f SER_DISABLE_XDEBUG_WARN')).{.$io
48540 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 ->writeError('<warning>You.are.r
48560 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 78 64 65 62 75 67 20 65 6e 61 62 unning.composer.with.xdebug.enab
48580 6c 65 64 2e 20 54 68 69 73 20 68 61 73 20 61 20 6d 61 6a 6f 72 20 69 6d 70 61 63 74 20 6f 6e 20 led..This.has.a.major.impact.on.
485a0 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 20 53 65 65 20 68 74 74 70 73 3a 2f runtime.performance..See.https:/
485c0 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 78 64 65 62 75 67 3c 2f 77 61 72 6e 69 6e 67 /getcomposer.org/xdebug</warning
485e0 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 43 4f 4d 50 4f 53 45 52 5f 44 45 >');.}..if.(defined('COMPOSER_DE
48600 56 5f 57 41 52 4e 49 4e 47 5f 54 49 4d 45 27 29 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 V_WARNING_TIME').&&.$commandName
48620 20 21 3d 3d 20 27 73 65 6c 66 2d 75 70 64 61 74 65 27 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 .!==.'self-update'.&&.$commandNa
48640 6d 65 20 21 3d 3d 20 27 73 65 6c 66 75 70 64 61 74 65 27 20 26 26 20 74 69 6d 65 28 29 20 3e 20 me.!==.'selfupdate'.&&.time().>.
48660 43 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 4e 47 5f 54 49 4d 45 29 20 7b 0a 24 69 6f COMPOSER_DEV_WARNING_TIME).{.$io
48680 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 57 ->writeError(sprintf('<warning>W
486a0 61 72 6e 69 6e 67 3a 20 54 68 69 73 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 62 75 69 6c 64 20 6f arning:.This.development.build.o
486c0 66 20 63 6f 6d 70 6f 73 65 72 20 69 73 20 6f 76 65 72 20 36 30 20 64 61 79 73 20 6f 6c 64 2e 20 f.composer.is.over.60.days.old..
486e0 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 70 64 61 74 65 20 69 74 20 62 It.is.recommended.to.update.it.b
48700 79 20 72 75 6e 6e 69 6e 67 20 22 25 73 20 73 65 6c 66 2d 75 70 64 61 74 65 22 20 74 6f 20 67 65 y.running."%s.self-update".to.ge
48720 74 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 t.the.latest.version.</warning>'
48740 2c 20 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 ,.$_SERVER['PHP_SELF']));.}..if.
48760 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 4e 4f 5f 49 4e 54 45 52 41 43 54 49 4f 4e (getenv('COMPOSER_NO_INTERACTION
48780 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c ')).{.$input->setInteractive(fal
487a0 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 se);.}..if.(!Platform::isWindows
487c0 28 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 65 78 65 63 27 29 20 26 26 ().&&.function_exists('exec').&&
487e0 20 21 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 41 4c 4c 4f 57 5f 53 55 50 45 52 55 53 .!getenv('COMPOSER_ALLOW_SUPERUS
48800 45 52 27 29 29 20 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 ER')).{.if.(function_exists('pos
48820 69 78 5f 67 65 74 75 69 64 27 29 20 26 26 20 70 6f 73 69 78 5f 67 65 74 75 69 64 28 29 20 3d 3d ix_getuid').&&.posix_getuid().==
48840 3d 20 30 29 20 7b 0a 69 66 20 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c =.0).{.if.($commandName.!==.'sel
48860 66 2d 75 70 64 61 74 65 27 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 f-update'.&&.$commandName.!==.'s
48880 65 6c 66 75 70 64 61 74 65 27 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c elfupdate').{.$io->writeError('<
488a0 77 61 72 6e 69 6e 67 3e 44 6f 20 6e 6f 74 20 72 75 6e 20 43 6f 6d 70 6f 73 65 72 20 61 73 20 72 warning>Do.not.run.Composer.as.r
488c0 6f 6f 74 2f 73 75 70 65 72 20 75 73 65 72 21 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 oot/super.user!.See.https://getc
488e0 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 72 6f 6f 74 20 66 6f 72 20 64 65 74 61 69 6c 73 3c 2f 77 61 omposer.org/root.for.details</wa
48900 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 24 75 69 64 20 3d 20 28 69 6e 74 29 20 67 65 74 rning>');.}.if.($uid.=.(int).get
48920 65 6e 76 28 27 53 55 44 4f 5f 55 49 44 27 29 29 20 7b 0a 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a env('SUDO_UID')).{.....Silencer:
48940 3a 63 61 6c 6c 28 27 65 78 65 63 27 2c 20 22 73 75 64 6f 20 2d 75 20 5c 5c 23 7b 24 75 69 64 7d :call('exec',."sudo.-u.\\#{$uid}
48960 20 73 75 64 6f 20 2d 4b 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 22 29 3b 0a 7d 0a 7d .sudo.-K.>./dev/null.2>&1");.}.}
48980 0a 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 65 78 65 63 27 2c 20 27 73 75 64 6f 20 ...Silencer::call('exec',.'sudo.
489a0 2d 4b 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 27 29 3b 0a 7d 0a 0a 0a 20 53 69 6c 65 -K.>./dev/null.2>&1');.}....Sile
489c0 6e 63 65 72 3a 3a 63 61 6c 6c 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 69 6f 29 ncer::call(function.().use.($io)
489e0 20 7b 0a 24 74 65 6d 70 66 69 6c 65 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 .{.$tempfile.=.sys_get_temp_dir(
48a00 29 20 2e 20 27 2f 74 65 6d 70 2d 27 20 2e 20 6d 64 35 28 6d 69 63 72 6f 74 69 6d 65 28 29 29 3b )...'/temp-'...md5(microtime());
48a20 0a 69 66 20 28 21 28 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 66 69 .if.(!(file_put_contents($tempfi
48a40 6c 65 2c 20 5f 5f 46 49 4c 45 5f 5f 29 20 26 26 20 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 le,.__FILE__).&&.(file_get_conte
48a60 6e 74 73 28 24 74 65 6d 70 66 69 6c 65 29 20 3d 3d 20 5f 5f 46 49 4c 45 5f 5f 29 20 26 26 20 75 nts($tempfile).==.__FILE__).&&.u
48a80 6e 6c 69 6e 6b 28 24 74 65 6d 70 66 69 6c 65 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 nlink($tempfile).&&.!file_exists
48aa0 28 24 74 65 6d 70 66 69 6c 65 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ($tempfile))).{.$io->writeError(
48ac0 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 50 48 50 20 74 65 6d 70 20 64 69 72 65 63 74 6f sprintf('<error>PHP.temp.directo
48ae0 72 79 20 28 25 73 29 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 ry.(%s).does.not.exist.or.is.not
48b00 20 77 72 69 74 61 62 6c 65 20 74 6f 20 43 6f 6d 70 6f 73 65 72 2e 20 53 65 74 20 73 79 73 5f 74 .writable.to.Composer..Set.sys_t
48b20 65 6d 70 5f 64 69 72 20 69 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 3c 2f 65 72 72 6f 72 3e 27 emp_dir.in.your.php.ini</error>'
48b40 2c 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 29 29 3b 0a 7d 0a 7d 29 3b 0a 0a 0a ,.sys_get_temp_dir()));.}.});...
48b60 20 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c .$file.=.Factory::getComposerFil
48b80 65 28 29 3b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 72 65 e();.if.(is_file($file).&&.is_re
48ba0 61 64 61 62 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f adable($file).&&.is_array($compo
48bc0 73 65 72 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 ser.=.json_decode(file_get_conte
48be0 6e 74 73 28 24 66 69 6c 65 29 2c 20 74 72 75 65 29 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 nts($file),.true))).{.if.(isset(
48c00 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 $composer['scripts']).&&.is_arra
48c20 79 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 y($composer['scripts'])).{.forea
48c40 63 68 20 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 73 63 72 ch.($composer['scripts'].as.$scr
48c60 69 70 74 20 3d 3e 20 24 64 75 6d 6d 79 29 20 7b 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 43 ipt.=>.$dummy).{.if.(!defined('C
48c80 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 27 2e 73 omposer\Script\ScriptEvents::'.s
48ca0 74 72 5f 72 65 70 6c 61 63 65 28 27 2d 27 2c 20 27 5f 27 2c 20 73 74 72 74 6f 75 70 70 65 72 28 tr_replace('-',.'_',.strtoupper(
48cc0 24 73 63 72 69 70 74 29 29 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 28 24 73 63 $script)))).{.if.($this->has($sc
48ce0 72 69 70 74 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 ript)).{.$io->writeError('<warni
48d00 6e 67 3e 41 20 73 63 72 69 70 74 20 6e 61 6d 65 64 20 27 2e 24 73 63 72 69 70 74 2e 27 20 77 6f ng>A.script.named.'.$script.'.wo
48d20 75 6c 64 20 6f 76 65 72 72 69 64 65 20 61 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 20 uld.override.a.Composer.command.
48d40 61 6e 64 20 68 61 73 20 62 65 65 6e 20 73 6b 69 70 70 65 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 and.has.been.skipped</warning>')
48d60 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a ;.}.else.{.$description.=.null;.
48d80 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 .if.(isset($composer['scripts-de
48da0 73 63 72 69 70 74 69 6f 6e 73 27 5d 5b 24 73 63 72 69 70 74 5d 29 29 20 7b 0a 24 64 65 73 63 72 scriptions'][$script])).{.$descr
48dc0 69 70 74 69 6f 6e 20 3d 20 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 iption.=.$composer['scripts-desc
48de0 72 69 70 74 69 6f 6e 73 27 5d 5b 24 73 63 72 69 70 74 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 riptions'][$script];.}..$this->a
48e00 64 64 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e dd(new.Command\ScriptAliasComman
48e20 64 28 24 73 63 72 69 70 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 29 3b 0a 7d 0a 7d 0a 7d d($script,.$description));.}.}.}
48e40 0a 7d 0a 7d 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 .}.}.}..try.{.if.($input->hasPar
48e60 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 70 72 6f 66 69 6c 65 27 29 29 20 7b 0a 24 73 74 ameterOption('--profile')).{.$st
48e80 61 72 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 68 69 73 artTime.=.microtime(true);.$this
48ea0 2d 3e 69 6f 2d 3e 65 6e 61 62 6c 65 44 65 62 75 67 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d 65 ->io->enableDebugging($startTime
48ec0 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 52 75 6e 28 24 69 );.}..$result.=.parent::doRun($i
48ee0 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 6c 64 57 nput,.$output);..if.(isset($oldW
48f00 6f 72 6b 69 6e 67 44 69 72 29 29 20 7b 0a 63 68 64 69 72 28 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 orkingDir)).{.chdir($oldWorkingD
48f20 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 74 61 72 74 54 69 6d 65 29 29 20 7b ir);.}..if.(isset($startTime)).{
48f40 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4d 65 6d 6f 72 79 20 75 .$io->writeError('<info>Memory.u
48f60 73 61 67 65 3a 20 27 2e 72 6f 75 6e 64 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 29 sage:.'.round(memory_get_usage()
48f80 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 42 20 28 70 65 61 6b 3a 20 27 2e ./.1024./.1024,.2).'MB.(peak:.'.
48fa0 72 6f 75 6e 64 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 70 65 61 6b 5f 75 73 61 67 65 28 29 20 2f 20 round(memory_get_peak_usage()./.
48fc0 31 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 42 29 2c 20 74 69 6d 65 3a 20 27 2e 72 6f 1024./.1024,.2).'MB),.time:.'.ro
48fe0 75 6e 64 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 73 74 61 72 74 54 69 6d 65 und(microtime(true).-.$startTime
49000 2c 20 32 29 2e 27 73 27 29 3b 0a 7d 0a 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 ,.2).'s');.}..restore_error_hand
49020 6c 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 ler();..return.$result;.}.catch.
49040 28 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a (ScriptExecutionException.$e).{.
49060 72 65 74 75 72 6e 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c return.$e->getCode();.}.catch.(\
49080 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 68 69 6e 74 43 6f 6d 6d 6f Exception.$e).{.$this->hintCommo
490a0 6e 45 72 72 6f 72 73 28 24 65 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c nErrors($e);.restore_error_handl
490c0 65 72 28 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 er();.throw.$e;.}.}.......privat
490e0 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 49 6e 70 75 e.function.getNewWorkingDir(Inpu
49100 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 24 77 6f 72 6b 69 6e 67 44 69 72 tInterface.$input).{.$workingDir
49120 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 .=.$input->getParameterOption(ar
49140 72 61 79 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 27 2c 20 27 2d 64 27 29 29 3b 0a 69 66 20 ray('--working-dir',.'-d'));.if.
49160 28 66 61 6c 73 65 20 21 3d 3d 20 24 77 6f 72 6b 69 6e 67 44 69 72 20 26 26 20 21 69 73 5f 64 69 (false.!==.$workingDir.&&.!is_di
49180 72 28 24 77 6f 72 6b 69 6e 67 44 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e r($workingDir)).{.throw.new.\Run
491a0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 77 6f 72 6b 69 6e 67 20 64 timeException('Invalid.working.d
491c0 69 72 65 63 74 6f 72 79 20 73 70 65 63 69 66 69 65 64 2c 20 27 2e 24 77 6f 72 6b 69 6e 67 44 69 irectory.specified,.'.$workingDi
491e0 72 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e r.'.does.not.exist.');.}..return
49200 20 24 77 6f 72 6b 69 6e 67 44 69 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 .$workingDir;.}.....private.func
49220 74 69 6f 6e 20 68 69 6e 74 43 6f 6d 6d 6f 6e 45 72 72 6f 72 73 28 24 65 78 63 65 70 74 69 6f 6e tion.hintCommonErrors($exception
49240 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 53 69 6c 65 6e ).{.$io.=.$this->getIO();..Silen
49260 63 65 72 3a 3a 73 75 70 70 72 65 73 73 28 29 3b 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 cer::suppress();.try.{.$composer
49280 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 74 72 75 .=.$this->getComposer(false,.tru
492a0 65 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 e);.if.($composer).{.$config.=.$
492c0 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 6d 69 6e 53 70 61 63 composer->getConfig();..$minSpac
492e0 65 46 72 65 65 20 3d 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 3d eFree.=.1024.*.1024;.if.((($df.=
49300 20 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d .disk_free_space($dir.=.$config-
49320 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 >get('home'))).!==.false.&&.$df.
49340 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 6b <.$minSpaceFree).||.(($df.=.disk
49360 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 _free_space($dir.=.$config->get(
49380 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 'vendor-dir'))).!==.false.&&.$df
493a0 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 .<.$minSpaceFree).||.(($df.=.dis
493c0 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 k_free_space($dir.=.sys_get_temp
493e0 5f 64 69 72 28 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e _dir())).!==.false.&&.$df.<.$min
49400 53 70 61 63 65 46 72 65 65 29 0a 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 SpaceFree).).{.$io->writeError('
49420 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 <error>The.disk.hosting.'.$dir.'
49440 20 69 73 20 66 75 6c 6c 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 74 68 65 20 63 61 75 73 65 20 .is.full,.this.may.be.the.cause.
49460 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 3c 2f 65 72 72 6f of.the.following.exception</erro
49480 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a r>',.true,.IOInterface::QUIET);.
494a0 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a }.}.}.catch.(\Exception.$e).{.}.
494c0 53 69 6c 65 6e 63 65 72 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 0a 69 66 20 28 50 6c 61 74 66 6f Silencer::restore();..if.(Platfo
494e0 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 rm::isWindows().&&.false.!==.str
49500 70 6f 73 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 54 pos($exception->getMessage(),.'T
49520 68 65 20 73 79 73 74 65 6d 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 70 61 74 68 20 73 he.system.cannot.find.the.path.s
49540 70 65 63 69 66 69 65 64 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c pecified')).{.$io->writeError('<
49560 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 20 6d 61 error>The.following.exception.ma
49580 79 20 62 65 20 63 61 75 73 65 64 20 62 79 20 61 20 73 74 61 6c 65 20 65 6e 74 72 79 20 69 6e 20 y.be.caused.by.a.stale.entry.in.
495a0 79 6f 75 72 20 63 6d 64 2e 65 78 65 20 41 75 74 6f 52 75 6e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 your.cmd.exe.AutoRun</error>',.t
495c0 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 69 6f 2d 3e 77 rue,.IOInterface::QUIET);.$io->w
495e0 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f riteError('<error>Check.https://
49600 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f getcomposer.org/doc/articles/tro
49620 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 2d 74 68 65 2d 73 79 73 74 65 6d 2d 63 61 6e 6e ubleshooting.md#-the-system-cann
49640 6f 74 2d 66 69 6e 64 2d 74 68 65 2d 70 61 74 68 2d 73 70 65 63 69 66 69 65 64 2d 77 69 6e 64 6f ot-find-the-path-specified-windo
49660 77 73 2d 20 66 6f 72 20 64 65 74 61 69 6c 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 ws-.for.details</error>',.true,.
49680 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 IOInterface::QUIET);.}..if.(fals
496a0 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 e.!==.strpos($exception->getMess
496c0 61 67 65 28 29 2c 20 27 66 6f 72 6b 20 66 61 69 6c 65 64 20 2d 20 43 61 6e 6e 6f 74 20 61 6c 6c age(),.'fork.failed.-.Cannot.all
496e0 6f 63 61 74 65 20 6d 65 6d 6f 72 79 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ocate.memory')).{.$io->writeErro
49700 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f r('<error>The.following.exceptio
49720 6e 20 69 73 20 63 61 75 73 65 64 20 62 79 20 61 20 6c 61 63 6b 20 6f 66 20 6d 65 6d 6f 72 79 20 n.is.caused.by.a.lack.of.memory.
49740 6f 72 20 73 77 61 70 2c 20 6f 72 20 6e 6f 74 20 68 61 76 69 6e 67 20 73 77 61 70 20 63 6f 6e 66 or.swap,.or.not.having.swap.conf
49760 69 67 75 72 65 64 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 igured</error>',.true,.IOInterfa
49780 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 ce::QUIET);.$io->writeError('<er
497a0 72 6f 72 3e 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 ror>Check.https://getcomposer.or
497c0 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d g/doc/articles/troubleshooting.m
497e0 64 23 70 72 6f 63 2d 6f 70 65 6e 2d 66 6f 72 6b 2d 66 61 69 6c 65 64 2d 65 72 72 6f 72 73 20 66 d#proc-open-fork-failed-errors.f
49800 6f 72 20 64 65 74 61 69 6c 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 or.details</error>',.true,.IOInt
49820 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 erface::QUIET);.}.}........publi
49840 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 c.function.getComposer($required
49860 20 3d 20 74 72 75 65 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 6e 75 6c 6c 29 .=.true,.$disablePlugins.=.null)
49880 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 .{.if.(null.===.$disablePlugins)
498a0 20 7b 0a 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 61 .{.$disablePlugins.=.$this->disa
498c0 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c blePluginsByDefault;.}..if.(null
498e0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 72 79 20 7b 0a 24 74 .===.$this->composer).{.try.{.$t
49900 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 his->composer.=.Factory::create(
49920 24 74 68 69 73 2d 3e 69 6f 2c 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 $this->io,.null,.$disablePlugins
49940 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 );.}.catch.(\InvalidArgumentExce
49960 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 29 20 7b 0a 24 74 68 ption.$e).{.if.($required).{.$th
49980 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 is->io->writeError($e->getMessag
499a0 65 28 29 29 3b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 4a 73 6f 6e 56 61 e());.exit(1);.}.}.catch.(JsonVa
499c0 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 20 lidationException.$e).{.$errors.
499e0 3d 20 27 20 2d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 20 2e 20 27 20 2d 20 =.'.-.'...implode(PHP_EOL...'.-.
49a00 27 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 ',.$e->getErrors());.$message.=.
49a20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3a 27 20 2e 20 50 48 50 5f 45 4f 4c $e->getMessage()...':'...PHP_EOL
49a40 20 2e 20 24 65 72 72 6f 72 73 3b 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 61 6c 69 64 61 ...$errors;.throw.new.JsonValida
49a60 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 tionException($message);.}.}..re
49a80 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c turn.$this->composer;.}.....publ
49aa0 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 24 74 ic.function.resetComposer().{.$t
49ac0 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c his->composer.=.null;.}.....publ
49ae0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ic.function.getIO().{.return.$th
49b00 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 is->io;.}..public.function.getHe
49b20 6c 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 67 6f 20 2e 20 70 61 72 65 lp().{.return.self::$logo...pare
49b40 6e 74 3a 3a 67 65 74 48 65 6c 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 nt::getHelp();.}.....protected.f
49b60 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 24 unction.getDefaultCommands().{.$
49b80 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 70 61 72 65 6e 74 3a 3a 67 commands.=.array_merge(parent::g
49ba0 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 2c 20 61 72 72 61 79 28 0a 6e 65 77 20 etDefaultCommands(),.array(.new.
49bc0 43 6f 6d 6d 61 6e 64 5c 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d Command\AboutCommand(),.new.Comm
49be0 61 6e 64 5c 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 and\ConfigCommand(),.new.Command
49c00 5c 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 50 \DependsCommand(),.new.Command\P
49c20 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 rohibitsCommand(),.new.Command\I
49c40 6e 69 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 73 74 61 6c nitCommand(),.new.Command\Instal
49c60 6c 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 72 65 61 74 65 50 72 lCommand(),.new.Command\CreatePr
49c80 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 55 70 64 61 ojectCommand(),.new.Command\Upda
49ca0 74 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 61 72 63 68 43 teCommand(),.new.Command\SearchC
49cc0 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 56 61 6c 69 64 61 74 65 43 6f ommand(),.new.Command\ValidateCo
49ce0 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 68 6f 77 43 6f 6d 6d 61 6e 64 mmand(),.new.Command\ShowCommand
49d00 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 28 (),.new.Command\SuggestsCommand(
49d20 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 28 29 2c ),.new.Command\RequireCommand(),
49d40 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e 64 .new.Command\DumpAutoloadCommand
49d60 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 28 29 2c (),.new.Command\StatusCommand(),
49d80 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e .new.Command\ArchiveCommand(),.n
49da0 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 ew.Command\DiagnoseCommand(),.ne
49dc0 77 20 43 6f 6d 6d 61 6e 64 5c 52 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 w.Command\RunScriptCommand(),.ne
49de0 77 20 43 6f 6d 6d 61 6e 64 5c 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 w.Command\LicensesCommand(),.new
49e00 20 43 6f 6d 6d 61 6e 64 5c 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f .Command\GlobalCommand(),.new.Co
49e20 6d 6d 61 6e 64 5c 43 6c 65 61 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 mmand\ClearCacheCommand(),.new.C
49e40 6f 6d 6d 61 6e 64 5c 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d ommand\RemoveCommand(),.new.Comm
49e60 61 6e 64 5c 48 6f 6d 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 45 and\HomeCommand(),.new.Command\E
49e80 78 65 63 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 4f 75 74 64 61 74 xecCommand(),.new.Command\Outdat
49ea0 65 64 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 68 65 63 6b 50 6c edCommand(),.new.Command\CheckPl
49ec0 61 74 66 6f 72 6d 52 65 71 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 29 29 3b 0a 0a 69 66 20 28 27 70 atformReqsCommand(),.));..if.('p
49ee0 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 har:'.===.substr(__FILE__,.0,.5)
49f00 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 ).{.$commands[].=.new.Command\Se
49f20 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f lfUpdateCommand();.}..return.$co
49f40 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 mmands;.}.....public.function.ge
49f60 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 42 tLongVersion().{.if.(Composer::B
49f80 52 41 4e 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 RANCH_ALIAS_VERSION).{.return.sp
49fa0 72 69 6e 74 66 28 0a 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 76 65 72 73 69 6f 6e 20 rintf(.'<info>%s</info>.version.
49fc0 3c 63 6f 6d 6d 65 6e 74 3e 25 73 20 28 25 73 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 0a <comment>%s.(%s)</comment>.%s',.
49fe0 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e $this->getName(),.Composer::BRAN
4a000 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 2c 0a 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 CH_ALIAS_VERSION,.$this->getVers
4a020 69 6f 6e 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 0a 29 3b ion(),.Composer::RELEASE_DATE.);
4a040 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f .}..return.parent::getLongVersio
4a060 6e 28 29 20 2e 20 27 20 27 20 2e 20 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 n()...'.'...Composer::RELEASE_DA
4a080 54 45 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 TE;.}.....protected.function.get
4a0a0 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 24 64 65 66 69 DefaultInputDefinition().{.$defi
4a0c0 6e 69 74 69 6f 6e 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 nition.=.parent::getDefaultInput
4a0e0 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 Definition();.$definition->addOp
4a100 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 70 72 6f 66 69 6c 65 27 tion(new.InputOption('--profile'
4a120 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
4a140 20 27 44 69 73 70 6c 61 79 20 74 69 6d 69 6e 67 20 61 6e 64 20 6d 65 6d 6f 72 79 20 75 73 61 67 .'Display.timing.and.memory.usag
4a160 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 e.information'));.$definition->a
4a180 64 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 ddOption(new.InputOption('--no-p
4a1a0 6c 75 67 69 6e 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 lugins',.null,.InputOption::VALU
4a1c0 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 61 62 6c 65 20 70 6c 75 67 E_NONE,.'Whether.to.disable.plug
4a1e0 69 6e 73 2e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 ins.'));.$definition->addOption(
4a200 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 27 2c new.InputOption('--working-dir',
4a220 20 27 2d 64 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 .'-d',.InputOption::VALUE_REQUIR
4a240 45 44 2c 20 27 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 75 73 65 20 74 68 65 20 67 69 76 65 6e ED,.'If.specified,.use.the.given
4a260 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2e .directory.as.working.directory.
4a280 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 70 72 69 '));..return.$definition;.}..pri
4a2a0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 28 vate.function.getPluginCommands(
4a2c0 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 6f 6d 70 6f ).{.$commands.=.array();..$compo
4a2e0 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 ser.=.$this->getComposer(false,.
4a300 66 61 6c 73 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 false);.if.(null.===.$composer).
4a320 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 47 6c 6f {.$composer.=.Factory::createGlo
4a340 62 61 6c 28 24 74 68 69 73 2d 3e 69 6f 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 bal($this->io,.false);.}..if.(nu
4a360 6c 6c 20 21 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 6d 20 3d 20 24 63 6f 6d 70 6f ll.!==.$composer).{.$pm.=.$compo
4a380 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 ser->getPluginManager();.foreach
4a3a0 20 28 24 70 6d 2d 3e 67 65 74 50 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 69 65 73 28 27 43 6f .($pm->getPluginCapabilities('Co
4a3c0 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 6f 6d 6d 61 6e 64 mposer\Plugin\Capability\Command
4a3e0 50 72 6f 76 69 64 65 72 27 2c 20 61 72 72 61 79 28 27 63 6f 6d 70 6f 73 65 72 27 20 3d 3e 20 24 Provider',.array('composer'.=>.$
4a400 63 6f 6d 70 6f 73 65 72 2c 20 27 69 6f 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 29 29 20 61 73 composer,.'io'.=>.$this->io)).as
4a420 20 24 63 61 70 61 62 69 6c 69 74 79 29 20 7b 0a 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 20 3d 20 24 .$capability).{.$newCommands.=.$
4a440 63 61 70 61 62 69 6c 69 74 79 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 69 66 20 28 21 capability->getCommands();.if.(!
4a460 69 73 5f 61 72 72 61 79 28 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 29 29 20 7b 0a 74 68 72 6f 77 20 is_array($newCommands)).{.throw.
4a480 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 new.\UnexpectedValueException('P
4a4a0 6c 75 67 69 6e 20 63 61 70 61 62 69 6c 69 74 79 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 61 lugin.capability.'.get_class($ca
4a4c0 70 61 62 69 6c 69 74 79 29 2e 27 20 66 61 69 6c 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 pability).'.failed.to.return.an.
4a4e0 61 72 72 61 79 20 66 72 6f 6d 20 67 65 74 43 6f 6d 6d 61 6e 64 73 27 29 3b 0a 7d 0a 66 6f 72 65 array.from.getCommands');.}.fore
4a500 61 63 68 20 28 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b ach.($newCommands.as.$command).{
4a520 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e .if.(!$command.instanceof.Comman
4a540 64 5c 42 61 73 65 43 6f 6d 6d 61 6e 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 d\BaseCommand).{.throw.new.\Unex
4a560 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 63 61 70 pectedValueException('Plugin.cap
4a580 61 62 69 6c 69 74 79 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 61 70 61 62 69 6c 69 74 79 29 ability.'.get_class($capability)
4a5a0 2e 27 20 72 65 74 75 72 6e 65 64 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 77 65 .'.returned.an.invalid.value,.we
4a5c0 20 65 78 70 65 63 74 65 64 20 61 6e 20 61 72 72 61 79 20 6f 66 20 43 6f 6d 70 6f 73 65 72 5c 43 .expected.an.array.of.Composer\C
4a5e0 6f 6d 6d 61 6e 64 5c 42 61 73 65 43 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63 74 73 27 29 3b 0a 7d 0a ommand\BaseCommand.objects');.}.
4a600 7d 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6f 6d 6d 61 }.$commands.=.array_merge($comma
4a620 6e 64 73 2c 20 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 nds,.$newCommands);.}.}..return.
4a640 24 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $commands;.}.}.<?php............
4a660 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 namespace.Composer\Console;..use
4a680 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
4a6a0 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 tter\OutputFormatter;.....class.
4a6c0 48 74 6d 6c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 20 65 78 74 65 6e 64 73 20 4f 75 74 70 HtmlOutputFormatter.extends.Outp
4a6e0 75 74 46 6f 72 6d 61 74 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 utFormatter.{.private.static.$av
4a700 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 ailableForegroundColors.=.array(
4a720 0a 33 30 20 3d 3e 20 27 62 6c 61 63 6b 27 2c 0a 33 31 20 3d 3e 20 27 72 65 64 27 2c 0a 33 32 20 .30.=>.'black',.31.=>.'red',.32.
4a740 3d 3e 20 27 67 72 65 65 6e 27 2c 0a 33 33 20 3d 3e 20 27 79 65 6c 6c 6f 77 27 2c 0a 33 34 20 3d =>.'green',.33.=>.'yellow',.34.=
4a760 3e 20 27 62 6c 75 65 27 2c 0a 33 35 20 3d 3e 20 27 6d 61 67 65 6e 74 61 27 2c 0a 33 36 20 3d 3e >.'blue',.35.=>.'magenta',.36.=>
4a780 20 27 63 79 61 6e 27 2c 0a 33 37 20 3d 3e 20 27 77 68 69 74 65 27 2c 0a 29 3b 0a 70 72 69 76 61 .'cyan',.37.=>.'white',.);.priva
4a7a0 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f te.static.$availableBackgroundCo
4a7c0 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 34 30 20 3d 3e 20 27 62 6c 61 63 6b 27 2c 0a 34 31 20 lors.=.array(.40.=>.'black',.41.
4a7e0 3d 3e 20 27 72 65 64 27 2c 0a 34 32 20 3d 3e 20 27 67 72 65 65 6e 27 2c 0a 34 33 20 3d 3e 20 27 =>.'red',.42.=>.'green',.43.=>.'
4a800 79 65 6c 6c 6f 77 27 2c 0a 34 34 20 3d 3e 20 27 62 6c 75 65 27 2c 0a 34 35 20 3d 3e 20 27 6d 61 yellow',.44.=>.'blue',.45.=>.'ma
4a820 67 65 6e 74 61 27 2c 0a 34 36 20 3d 3e 20 27 63 79 61 6e 27 2c 0a 34 37 20 3d 3e 20 27 77 68 69 genta',.46.=>.'cyan',.47.=>.'whi
4a840 74 65 27 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c te',.);.private.static.$availabl
4a860 65 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 31 20 3d 3e 20 27 62 6f 6c 64 27 2c 0a 34 eOptions.=.array(.1.=>.'bold',.4
4a880 20 3d 3e 20 27 75 6e 64 65 72 73 63 6f 72 65 27 2c 0a 0a 20 0a 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 .=>.'underscore',.......);.....p
4a8a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 ublic.function.__construct(array
4a8c0 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f .$styles.=.array()).{.parent::__
4a8e0 63 6f 6e 73 74 72 75 63 74 28 74 72 75 65 2c 20 24 73 74 79 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 construct(true,.$styles);.}..pub
4a900 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a lic.function.format($message).{.
4a920 24 66 6f 72 6d 61 74 74 65 64 20 3d 20 70 61 72 65 6e 74 3a 3a 66 6f 72 6d 61 74 28 24 6d 65 73 $formatted.=.parent::format($mes
4a940 73 61 67 65 29 3b 0a 0a 24 63 6c 65 61 72 45 73 63 61 70 65 43 6f 64 65 73 20 3d 20 27 28 3f 3a sage);..$clearEscapeCodes.=.'(?:
4a960 33 39 7c 34 39 7c 30 7c 32 32 7c 32 34 7c 32 35 7c 32 37 7c 32 38 29 27 3b 0a 0a 72 65 74 75 72 39|49|0|22|24|25|27|28)';..retur
4a980 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 5c 30 33 33 5c 5b n.preg_replace_callback("{\033\[
4a9a0 28 5b 30 2d 39 3b 5d 2b 29 6d 28 2e 2a 3f 29 5c 30 33 33 5c 5b 28 3f 3a 22 2e 24 63 6c 65 61 72 ([0-9;]+)m(.*?)\033\[(?:".$clear
4a9c0 45 73 63 61 70 65 43 6f 64 65 73 2e 22 3b 29 2a 3f 22 2e 24 63 6c 65 61 72 45 73 63 61 70 65 43 EscapeCodes.";)*?".$clearEscapeC
4a9e0 6f 64 65 73 2e 22 6d 7d 73 22 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 66 6f 72 6d 61 74 odes."m}s",.array($this,.'format
4aa00 48 74 6d 6c 27 29 2c 20 24 66 6f 72 6d 61 74 74 65 64 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 Html'),.$formatted);.}..private.
4aa20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 48 74 6d 6c 28 24 6d 61 74 63 68 65 73 29 0a 7b 0a function.formatHtml($matches).{.
4aa40 24 6f 75 74 20 3d 20 27 3c 73 70 61 6e 20 73 74 79 6c 65 3d 22 27 3b 0a 66 6f 72 65 61 63 68 20 $out.=.'<span.style="';.foreach.
4aa60 28 65 78 70 6c 6f 64 65 28 27 3b 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 61 73 20 24 63 (explode(';',.$matches[1]).as.$c
4aa80 6f 64 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c ode).{.if.(isset(self::$availabl
4aaa0 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 eForegroundColors[$code])).{.$ou
4aac0 74 20 2e 3d 20 27 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f t..=.'color:'.self::$availableFo
4aae0 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a 7d 20 65 6c 73 regroundColors[$code].';';.}.els
4ab00 65 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 eif.(isset(self::$availableBackg
4ab20 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 roundColors[$code])).{.$out..=.'
4ab40 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 background-color:'.self::$availa
4ab60 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a bleBackgroundColors[$code].';';.
4ab80 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 }.elseif.(isset(self::$available
4aba0 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 73 77 69 74 63 68 20 28 73 65 6c 66 3a Options[$code])).{.switch.(self:
4abc0 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 20 7b 0a 63 61 73 :$availableOptions[$code]).{.cas
4abe0 65 20 27 62 6f 6c 64 27 3a 0a 24 6f 75 74 20 2e 3d 20 27 66 6f 6e 74 2d 77 65 69 67 68 74 3a 62 e.'bold':.$out..=.'font-weight:b
4ac00 6f 6c 64 3b 27 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 64 65 72 73 63 6f 72 65 27 old;';.break;..case.'underscore'
4ac20 3a 0a 24 6f 75 74 20 2e 3d 20 27 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 :.$out..=.'text-decoration:under
4ac40 6c 69 6e 65 3b 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 line;';.break;.}.}.}..return.$ou
4ac60 74 2e 27 22 3e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 3c 2f 73 70 61 6e 3e 27 3b 0a 7d 0a t.'">'.$matches[2].'</span>';.}.
4ac80 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
4aca0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a poser\DependencyResolver;.......
4acc0 63 6c 61 73 73 20 44 65 63 69 73 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 class.Decisions.implements.\Iter
4ace0 61 74 6f 72 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f ator,.\Countable.{.const.DECISIO
4ad00 4e 5f 4c 49 54 45 52 41 4c 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f 4e 5f 52 45 N_LITERAL.=.0;.const.DECISION_RE
4ad20 41 53 4f 4e 20 3d 20 31 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 ASON.=.1;..protected.$pool;.prot
4ad40 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 ected.$decisionMap;.protected.$d
4ad60 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 ecisionQueue.=.array();..public.
4ad80 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6f 6c 29 0a 7b 0a 24 74 function.__construct($pool).{.$t
4ada0 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 his->pool.=.$pool;.$this->decisi
4adc0 6f 6e 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 onMap.=.array();.}..public.funct
4ade0 69 6f 6e 20 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 77 68 ion.decide($literal,.$level,.$wh
4ae00 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 72 61 6c y).{.$this->addDecision($literal
4ae20 2c 20 24 6c 65 76 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b ,.$level);.$this->decisionQueue[
4ae40 5d 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 ].=.array(.self::DECISION_LITERA
4ae60 4c 20 3d 3e 20 24 6c 69 74 65 72 61 6c 2c 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 L.=>.$literal,.self::DECISION_RE
4ae80 41 53 4f 4e 20 3d 3e 20 24 77 68 79 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ASON.=>.$why,.);.}..public.funct
4aea0 69 6f 6e 20 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 ion.satisfy($literal).{.$package
4aec0 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 28 0a 24 6c Id.=.abs($literal);..return.(.$l
4aee0 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 iteral.>.0.&&.isset($this->decis
4af00 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 ionMap[$packageId]).&&.$this->de
4af20 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 7c 7c 0a 24 6c 69 cisionMap[$packageId].>.0.||.$li
4af40 74 65 72 61 6c 20 3c 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 teral.<.0.&&.isset($this->decisi
4af60 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 onMap[$packageId]).&&.$this->dec
4af80 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 0a 29 3b 0a 7d 0a 0a 70 isionMap[$packageId].<.0.);.}..p
4afa0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 28 24 6c 69 74 65 72 61 6c ublic.function.conflict($literal
4afc0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a ).{.$packageId.=.abs($literal);.
4afe0 0a 72 65 74 75 72 6e 20 28 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e .return.(.(isset($this->decision
4b000 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 Map[$packageId]).&&.$this->decis
4b020 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 26 26 20 24 6c 69 74 65 72 ionMap[$packageId].>.0.&&.$liter
4b040 61 6c 20 3c 20 30 29 20 7c 7c 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f al.<.0).||.(isset($this->decisio
4b060 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 nMap[$packageId]).&&.$this->deci
4b080 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 20 26 26 20 24 6c 69 74 65 sionMap[$packageId].<.0.&&.$lite
4b0a0 72 61 6c 20 3e 20 30 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ral.>.0).);.}..public.function.d
4b0c0 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 ecided($literalOrPackageId).{.re
4b0e0 74 75 72 6e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 turn.!empty($this->decisionMap[a
4b100 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 5d 29 3b 0a 7d 0a 0a 70 75 bs($literalOrPackageId)]);.}..pu
4b120 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c blic.function.undecided($literal
4b140 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 74 68 69 OrPackageId).{.return.empty($thi
4b160 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 s->decisionMap[abs($literalOrPac
4b180 6b 61 67 65 49 64 29 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 kageId)]);.}..public.function.de
4b1a0 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 cidedInstall($literalOrPackageId
4b1c0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 ).{.$packageId.=.abs($literalOrP
4b1e0 61 63 6b 61 67 65 49 64 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e ackageId);..return.isset($this->
4b200 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 decisionMap[$packageId]).&&.$thi
4b220 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 3b 0a s->decisionMap[$packageId].>.0;.
4b240 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c }..public.function.decisionLevel
4b260 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 6b 61 67 65 ($literalOrPackageId).{.$package
4b280 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 3b 0a 69 Id.=.abs($literalOrPackageId);.i
4b2a0 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 f.(isset($this->decisionMap[$pac
4b2c0 6b 61 67 65 49 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 62 73 28 24 74 68 69 73 2d 3e 64 65 kageId])).{.return.abs($this->de
4b2e0 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 cisionMap[$packageId]);.}..retur
4b300 6e 20 30 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e n.0;.}..public.function.decision
4b320 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 Rule($literalOrPackageId).{.$pac
4b340 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 kageId.=.abs($literalOrPackageId
4b360 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 );..foreach.($this->decisionQueu
4b380 65 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 69 66 20 28 24 70 61 63 e.as.$i.=>.$decision).{.if.($pac
4b3a0 6b 61 67 65 49 64 20 3d 3d 3d 20 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 kageId.===.abs($decision[self::D
4b3c0 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 63 ECISION_LITERAL])).{.return.$dec
4b3e0 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a ision[self::DECISION_REASON];.}.
4b400 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 }..return.null;.}..public.functi
4b420 6f 6e 20 61 74 4f 66 66 73 65 74 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 on.atOffset($queueOffset).{.retu
4b440 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 24 71 75 65 75 65 4f 66 rn.$this->decisionQueue[$queueOf
4b460 66 73 65 74 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 4f fset];.}..public.function.validO
4b480 66 66 73 65 74 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 71 75 ffset($queueOffset).{.return.$qu
4b4a0 65 75 65 4f 66 66 73 65 74 20 3e 3d 20 30 20 26 26 20 24 71 75 65 75 65 4f 66 66 73 65 74 20 3c eueOffset.>=.0.&&.$queueOffset.<
4b4c0 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a .count($this->decisionQueue);.}.
4b4e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 61 73 74 52 65 61 73 6f 6e 28 29 0a 7b 0a .public.function.lastReason().{.
4b500 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e return.$this->decisionQueue[coun
4b520 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c t($this->decisionQueue).-.1][sel
4b540 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 f::DECISION_REASON];.}..public.f
4b560 75 6e 63 74 69 6f 6e 20 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.lastLiteral().{.return.$
4b580 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d this->decisionQueue[count($this-
4b5a0 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 44 45 43 49 53 >decisionQueue).-.1][self::DECIS
4b5c0 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ION_LITERAL];.}..public.function
4b5e0 20 72 65 73 65 74 28 29 0a 7b 0a 77 68 69 6c 65 20 28 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 72 .reset().{.while.($decision.=.ar
4b600 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b ray_pop($this->decisionQueue)).{
4b620 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 64 65 63 69 73 69 6f .$this->decisionMap[abs($decisio
4b640 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 5d 20 3d 20 30 3b n[self::DECISION_LITERAL])].=.0;
4b660 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 54 6f 4f 66 66 .}.}..public.function.resetToOff
4b680 73 65 74 28 24 6f 66 66 73 65 74 29 0a 7b 0a 77 68 69 6c 65 20 28 63 6f 75 6e 74 28 24 74 68 69 set($offset).{.while.(count($thi
4b6a0 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3e 20 24 6f 66 66 73 65 74 20 2b 20 31 29 s->decisionQueue).>.$offset.+.1)
4b6c0 20 7b 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e .{.$decision.=.array_pop($this->
4b6e0 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d decisionQueue);.$this->decisionM
4b700 61 70 5b 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f ap[abs($decision[self::DECISION_
4b720 4c 49 54 45 52 41 4c 5d 29 5d 20 3d 20 30 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 LITERAL])].=.0;.}.}..public.func
4b740 74 69 6f 6e 20 72 65 76 65 72 74 4c 61 73 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 tion.revertLast().{.$this->decis
4b760 69 6f 6e 4d 61 70 5b 61 62 73 28 24 74 68 69 73 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 29 ionMap[abs($this->lastLiteral())
4b780 5d 20 3d 20 30 3b 0a 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ].=.0;.array_pop($this->decision
4b7a0 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 Queue);.}..public.function.count
4b7c0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f ().{.return.count($this->decisio
4b7e0 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 nQueue);.}..public.function.rewi
4b800 6e 64 28 29 0a 7b 0a 65 6e 64 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 nd().{.end($this->decisionQueue)
4b820 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b ;.}..public.function.current().{
4b840 0a 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 .return.current($this->decisionQ
4b860 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a ueue);.}..public.function.key().
4b880 7b 0a 72 65 74 75 72 6e 20 6b 65 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 {.return.key($this->decisionQueu
4b8a0 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a e);.}..public.function.next().{.
4b8c0 72 65 74 75 72 6e 20 70 72 65 76 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 return.prev($this->decisionQueue
4b8e0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a );.}..public.function.valid().{.
4b900 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e return.false.!==.current($this->
4b920 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 decisionQueue);.}..public.functi
4b940 6f 6e 20 69 73 45 6d 70 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 on.isEmpty().{.return.count($thi
4b960 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 72 6f 74 s->decisionQueue).===.0;.}..prot
4b980 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 ected.function.addDecision($lite
4b9a0 72 61 6c 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 ral,.$level).{.$packageId.=.abs(
4b9c0 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 20 3d 20 $literal);..$previousDecision.=.
4b9e0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 isset($this->decisionMap[$packag
4ba00 65 49 64 5d 29 20 3f 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b eId]).?.$this->decisionMap[$pack
4ba20 61 67 65 49 64 5d 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 44 65 63 69 ageId].:.null;.if.($previousDeci
4ba40 73 69 6f 6e 20 21 3d 20 30 29 20 7b 0a 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 3d 20 24 74 sion.!=.0).{.$literalString.=.$t
4ba60 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 53 74 72 69 6e 67 28 24 6c 69 74 65 his->pool->literalToString($lite
4ba80 72 61 6c 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 ral);.$package.=.$this->pool->li
4baa0 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 74 68 72 6f 77 20 teralToPackage($literal);.throw.
4bac0 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 54 72 79 69 6e 67 20 new.SolverBugException(."Trying.
4bae0 74 6f 20 64 65 63 69 64 65 20 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 6f 6e 20 6c 65 76 65 to.decide.$literalString.on.leve
4bb00 6c 20 24 6c 65 76 65 6c 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 24 70 61 63 6b 61 67 65 20 77 l.$level,.even.though.$package.w
4bb20 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 64 65 63 69 64 65 64 20 61 73 20 22 2e 28 69 6e 74 29 as.previously.decided.as.".(int)
4bb40 20 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 2e 22 2e 22 0a 29 3b 0a 7d 0a 0a 69 66 20 .$previousDecision.".".);.}..if.
4bb60 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ($literal.>.0).{.$this->decision
4bb80 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 20 65 6c 73 65 Map[$packageId].=.$level;.}.else
4bba0 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 .{.$this->decisionMap[$packageId
4bbc0 5d 20 3d 20 2d 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ].=.-$level;.}.}.}.<?php........
4bbe0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 ....namespace.Composer\Dependenc
4bc00 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 yResolver;..use.Composer\Package
4bc20 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
4bc40 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 Package\AliasPackage;.use.Compos
4bc60 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 er\Package\BasePackage;.use.Comp
4bc80 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e oser\Semver\Constraint\Constrain
4bca0 74 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 20 69 6d 70 6c t;......class.DefaultPolicy.impl
4bcc0 65 6d 65 6e 74 73 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 ements.PolicyInterface.{.private
4bce0 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 4c .$preferStable;.private.$preferL
4bd00 6f 77 65 73 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 owest;..public.function.__constr
4bd20 75 63 74 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 uct($preferStable.=.false,.$pref
4bd40 65 72 4c 6f 77 65 73 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 erLowest.=.false).{.$this->prefe
4bd60 72 53 74 61 62 6c 65 20 3d 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 24 74 68 69 73 2d 3e rStable.=.$preferStable;.$this->
4bd80 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 7d 0a preferLowest.=.$preferLowest;.}.
4bda0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 .public.function.versionCompare(
4bdc0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 PackageInterface.$a,.PackageInte
4bde0 72 66 61 63 65 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 rface.$b,.$operator).{.if.($this
4be00 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 26 26 20 28 24 73 74 61 62 41 20 3d 20 24 61 2d 3e ->preferStable.&&.($stabA.=.$a->
4be20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 20 21 3d 3d 20 28 24 73 74 61 62 42 20 3d 20 24 62 getStability()).!==.($stabB.=.$b
4be40 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 42 61 73 65 ->getStability())).{.return.Base
4be60 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 41 5d 20 3c 20 Package::$stabilities[$stabA].<.
4be80 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 42 BasePackage::$stabilities[$stabB
4bea0 5d 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 ];.}..$constraint.=.new.Constrai
4bec0 6e 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 62 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b nt($operator,.$b->getVersion());
4bee0 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c .$version.=.new.Constraint('==',
4bf00 20 24 61 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e .$a->getVersion());..return.$con
4bf20 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 63 28 24 76 65 72 73 69 6f 6e 2c straint->matchSpecific($version,
4bf40 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 .true);.}..public.function.findU
4bf60 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 pdatePackages(Pool.$pool,.array.
4bf80 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 $installedMap,.PackageInterface.
4bfa0 24 70 61 63 6b 61 67 65 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 $package,.$mustMatchName.=.false
4bfc0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 ).{.$packages.=.array();..foreac
4bfe0 68 20 28 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d h.($pool->whatProvides($package-
4c000 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 >getName(),.null,.$mustMatchName
4c020 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 ).as.$candidate).{.if.($candidat
4c040 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 e.!==.$package).{.$packages[].=.
4c060 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 $candidate;.}.}..return.$package
4c080 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 69 6f 72 69 74 s;.}..public.function.getPriorit
4c0a0 79 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 y(Pool.$pool,.PackageInterface.$
4c0c0 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 6f 6f 6c 2d 3e 67 65 74 50 72 69 6f package).{.return.$pool->getPrio
4c0e0 72 69 74 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 3b rity($package->getRepository());
4c100 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 72 65 66 65 72 .}..public.function.selectPrefer
4c120 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 redPackages(Pool.$pool,.array.$i
4c140 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 nstalledMap,.array.$literals,.$r
4c160 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 equiredPackage.=.null).{.$packag
4c180 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 72 6f 75 70 4c 69 74 65 72 61 6c 73 42 79 4e 61 6d 65 50 es.=.$this->groupLiteralsByNameP
4c1a0 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 referInstalled($pool,.$installed
4c1c0 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b Map,.$literals);..foreach.($pack
4c1e0 61 67 65 73 20 61 73 20 26 24 6c 69 74 65 72 61 6c 73 29 20 7b 0a 24 70 6f 6c 69 63 79 20 3d 20 ages.as.&$literals).{.$policy.=.
4c200 24 74 68 69 73 3b 0a 75 73 6f 72 74 28 24 6c 69 74 65 72 61 6c 73 2c 20 66 75 6e 63 74 69 6f 6e $this;.usort($literals,.function
4c220 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 .($a,.$b).use.($policy,.$pool,.$
4c240 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 29 20 installedMap,.$requiredPackage).
4c260 7b 0a 72 65 74 75 72 6e 20 24 70 6f 6c 69 63 79 2d 3e 63 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 {.return.$policy->compareByPrior
4c280 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 ityPreferInstalled($pool,.$insta
4c2a0 6c 6c 65 64 4d 61 70 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 lledMap,.$pool->literalToPackage
4c2c0 28 24 61 29 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 62 ($a),.$pool->literalToPackage($b
4c2e0 29 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c 20 74 72 75 65 29 3b 0a 7d 29 3b 0a ),.$requiredPackage,.true);.});.
4c300 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 26 24 6c 69 74 65 72 }..foreach.($packages.as.&$liter
4c320 61 6c 73 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 54 als).{.$literals.=.$this->pruneT
4c340 6f 48 69 67 68 65 73 74 50 72 69 6f 72 69 74 79 4f 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f oHighestPriorityOrInstalled($poo
4c360 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 l,.$installedMap,.$literals);..$
4c380 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 54 6f 42 65 73 74 56 65 72 literals.=.$this->pruneToBestVer
4c3a0 73 69 6f 6e 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 6c 69 74 65 72 61 sion($pool,.$literals);..$litera
4c3c0 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 52 65 6d 6f 74 65 41 6c 69 61 73 65 73 28 24 ls.=.$this->pruneRemoteAliases($
4c3e0 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 20 3d pool,.$literals);.}..$selected.=
4c400 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 .call_user_func_array('array_mer
4c420 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 0a 0a 20 75 73 6f 72 74 28 24 73 65 6c 65 63 ge',.$packages);....usort($selec
4c440 74 65 64 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 6f 6c ted,.function.($a,.$b).use.($pol
4c460 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 72 65 71 75 icy,.$pool,.$installedMap,.$requ
4c480 69 72 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 6f 6c 69 63 79 2d 3e 63 iredPackage).{.return.$policy->c
4c4a0 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 ompareByPriorityPreferInstalled(
4c4c0 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 $pool,.$installedMap,.$pool->lit
4c4e0 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 61 29 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 eralToPackage($a),.$pool->litera
4c500 6c 54 6f 50 61 63 6b 61 67 65 28 24 62 29 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 lToPackage($b),.$requiredPackage
4c520 29 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 0a 70 72 6f );.});..return.$selected;.}..pro
4c540 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 72 6f 75 70 4c 69 74 65 72 61 6c 73 42 79 4e tected.function.groupLiteralsByN
4c560 61 6d 65 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 amePreferInstalled(Pool.$pool,.a
4c580 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b rray.$installedMap,.$literals).{
4c5a0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 .$packages.=.array();.foreach.($
4c5c0 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 literals.as.$literal).{.$package
4c5e0 4e 61 6d 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 Name.=.$pool->literalToPackage($
4c600 6c 69 74 65 72 61 6c 29 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 literal)->getName();..if.(!isset
4c620 28 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 29 29 20 7b 0a 24 70 61 ($packages[$packageName])).{.$pa
4c640 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a ckages[$packageName].=.array();.
4c660 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 61 62 73 28 24 }..if.(isset($installedMap[abs($
4c680 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 61 63 literal)])).{.array_unshift($pac
4c6a0 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 2c 20 24 6c 69 74 65 72 61 6c 29 3b 0a kages[$packageName],.$literal);.
4c6c0 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d }.else.{.$packages[$packageName]
4c6e0 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b [].=.$literal;.}.}..return.$pack
4c700 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 ages;.}.....public.function.comp
4c720 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f 6f areByPriorityPreferInstalled(Poo
4c740 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 l.$pool,.array.$installedMap,.Pa
4c760 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ckageInterface.$a,.PackageInterf
4c780 61 63 65 20 24 62 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 2c ace.$b,.$requiredPackage.=.null,
4c7a0 20 24 69 67 6e 6f 72 65 52 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 .$ignoreReplace.=.false).{.if.($
4c7c0 61 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 20 3d 3d 3d 20 24 62 2d 3e 67 65 74 52 65 a->getRepository().===.$b->getRe
4c7e0 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 0a 20 69 66 20 28 24 61 2d 3e 67 65 74 4e 61 6d 65 28 pository()).{...if.($a->getName(
4c800 29 20 3d 3d 3d 20 24 62 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 61 41 6c 69 61 73 65 64 ).===.$b->getName()).{.$aAliased
4c820 20 3d 20 24 61 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 24 .=.$a.instanceof.AliasPackage;.$
4c840 62 41 6c 69 61 73 65 64 20 3d 20 24 62 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 bAliased.=.$b.instanceof.AliasPa
4c860 63 6b 61 67 65 3b 0a 69 66 20 28 24 61 41 6c 69 61 73 65 64 20 26 26 20 21 24 62 41 6c 69 61 73 ckage;.if.($aAliased.&&.!$bAlias
4c880 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 20 0a 20 7d 0a 69 66 20 28 21 24 61 41 6c 69 61 ed).{.return.-1;...}.if.(!$aAlia
4c8a0 73 65 64 20 26 26 20 24 62 41 6c 69 61 73 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 20 0a 20 sed.&&.$bAliased).{.return.1;...
4c8c0 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 67 6e 6f 72 65 52 65 70 6c 61 63 65 29 20 7b 0a 0a 20 69 66 }.}..if.(!$ignoreReplace).{...if
4c8e0 20 28 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 28 24 61 2c 20 24 62 29 29 20 7b 0a 72 65 74 .($this->replaces($a,.$b)).{.ret
4c900 75 72 6e 20 31 3b 20 0a 20 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 28 24 urn.1;...}.if.($this->replaces($
4c920 62 2c 20 24 61 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 20 0a 20 7d 0a 0a 0a 20 0a 20 69 66 b,.$a)).{.return.-1;...}......if
4c940 20 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 .($requiredPackage.&&.false.!==.
4c960 28 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c ($pos.=.strpos($requiredPackage,
4c980 20 27 2f 27 29 29 29 20 7b 0a 24 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 .'/'))).{.$requiredVendor.=.subs
4c9a0 74 72 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 0a tr($requiredPackage,.0,.$pos);..
4c9c0 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 61 2d 3e 67 65 74 4e $aIsSameVendor.=.substr($a->getN
4c9e0 61 6d 65 28 29 2c 20 30 2c 20 24 70 6f 73 29 20 3d 3d 3d 20 24 72 65 71 75 69 72 65 64 56 65 6e ame(),.0,.$pos).===.$requiredVen
4ca00 64 6f 72 3b 0a 24 62 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 62 2d dor;.$bIsSameVendor.=.substr($b-
4ca20 3e 67 65 74 4e 61 6d 65 28 29 2c 20 30 2c 20 24 70 6f 73 29 20 3d 3d 3d 20 24 72 65 71 75 69 72 >getName(),.0,.$pos).===.$requir
4ca40 65 64 56 65 6e 64 6f 72 3b 0a 0a 69 66 20 28 24 62 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 21 3d edVendor;..if.($bIsSameVendor.!=
4ca60 3d 20 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 49 73 53 =.$aIsSameVendor).{.return.$aIsS
4ca80 61 6d 65 56 65 6e 64 6f 72 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 ameVendor.?.-1.:.1;.}.}.}....if.
4caa0 28 24 61 2d 3e 69 64 20 3d 3d 3d 20 24 62 2d 3e 69 64 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a ($a->id.===.$b->id).{.return.0;.
4cac0 7d 0a 0a 72 65 74 75 72 6e 20 28 24 61 2d 3e 69 64 20 3c 20 24 62 2d 3e 69 64 29 20 3f 20 2d 31 }..return.($a->id.<.$b->id).?.-1
4cae0 20 3a 20 31 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 .:.1;.}..if.(isset($installedMap
4cb00 5b 24 61 2d 3e 69 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 69 [$a->id])).{.return.-1;.}..if.(i
4cb20 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 62 2d 3e 69 64 5d 29 29 20 7b 0a 72 sset($installedMap[$b->id])).{.r
4cb40 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 eturn.1;.}..return.($this->getPr
4cb60 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 61 29 20 3e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 iority($pool,.$a).>.$this->getPr
4cb80 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 62 29 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a iority($pool,.$b)).?.-1.:.1;.}..
4cba0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 ..........protected.function.rep
4cbc0 6c 61 63 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 2c 20 laces(PackageInterface.$source,.
4cbe0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 66 6f 72 65 PackageInterface.$target).{.fore
4cc00 61 63 68 20 28 24 73 6f 75 72 63 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 ach.($source->getReplaces().as.$
4cc20 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d link).{.if.($link->getTarget().=
4cc40 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 0a 0a 20 29 20 7b 0a 72 65 74 ==.$target->getName()....).{.ret
4cc60 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a urn.true;.}.}..return.false;.}..
4cc80 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 75 6e 65 54 6f 42 65 73 74 56 65 protected.function.pruneToBestVe
4cca0 72 73 69 6f 6e 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 rsion(Pool.$pool,.$literals).{.$
4ccc0 6f 70 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3f operator.=.$this->preferLowest.?
4cce0 20 27 3c 27 20 3a 20 27 3e 27 3b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 .'<'.:.'>';.$bestLiterals.=.arra
4cd00 79 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 y($literals[0]);.$bestPackage.=.
4cd20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c $pool->literalToPackage($literal
4cd40 73 5b 30 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 s[0]);.foreach.($literals.as.$i.
4cd60 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 63 =>.$literal).{.if.(0.===.$i).{.c
4cd80 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 ontinue;.}..$package.=.$pool->li
4cda0 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 teralToPackage($literal);..if.($
4cdc0 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 this->versionCompare($package,.$
4cde0 62 65 73 74 50 61 63 6b 61 67 65 2c 20 24 6f 70 65 72 61 74 6f 72 29 29 20 7b 0a 24 62 65 73 74 bestPackage,.$operator)).{.$best
4ce00 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c Package.=.$package;.$bestLiteral
4ce20 73 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 s.=.array($literal);.}.elseif.($
4ce40 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 this->versionCompare($package,.$
4ce60 62 65 73 74 50 61 63 6b 61 67 65 2c 20 27 3d 3d 27 29 29 20 7b 0a 24 62 65 73 74 4c 69 74 65 72 bestPackage,.'==')).{.$bestLiter
4ce80 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 als[].=.$literal;.}.}..return.$b
4cea0 65 73 74 4c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e estLiterals;.}.....protected.fun
4cec0 63 74 69 6f 6e 20 70 72 75 6e 65 54 6f 48 69 67 68 65 73 74 50 72 69 6f 72 69 74 79 4f 72 49 6e ction.pruneToHighestPriorityOrIn
4cee0 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 stalled(Pool.$pool,.array.$insta
4cf00 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 73 65 6c lledMap,.array.$literals).{.$sel
4cf20 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 70 72 69 6f 72 69 74 79 20 3d 20 6e 75 ected.=.array();..$priority.=.nu
4cf40 6c 6c 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 ll;..foreach.($literals.as.$lite
4cf60 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c ral).{.$package.=.$pool->literal
4cf80 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 ToPackage($literal);..if.(isset(
4cfa0 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a $installedMap[$package->id])).{.
4cfc0 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 63 6f 6e 74 69 6e 75 65 $selected[].=.$literal;.continue
4cfe0 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 24 ;.}..if.(null.===.$priority).{.$
4d000 70 72 69 6f 72 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 priority.=.$this->getPriority($p
4d020 6f 6f 6c 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 ool,.$package);.}..if.($this->ge
4d040 74 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 70 61 63 6b 61 67 65 29 20 21 3d 20 24 70 tPriority($pool,.$package).!=.$p
4d060 72 69 6f 72 69 74 79 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 5b 5d riority).{.break;.}..$selected[]
4d080 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 .=.$literal;.}..return.$selected
4d0a0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 75 ;.}.......protected.function.pru
4d0c0 6e 65 52 65 6d 6f 74 65 41 6c 69 61 73 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 neRemoteAliases(Pool.$pool,.arra
4d0e0 79 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 20 3d 20 y.$literals).{.$hasLocalAlias.=.
4d100 66 61 6c 73 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c false;..foreach.($literals.as.$l
4d120 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 iteral).{.$package.=.$pool->lite
4d140 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 61 ralToPackage($literal);..if.($pa
4d160 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 26 ckage.instanceof.AliasPackage.&&
4d180 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 29 .$package->isRootPackageAlias())
4d1a0 20 7b 0a 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b .{.$hasLocalAlias.=.true;.break;
4d1c0 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 29 20 7b 0a 72 65 74 .}.}..if.(!$hasLocalAlias).{.ret
4d1e0 75 72 6e 20 24 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 24 73 65 6c 65 63 74 65 64 20 3d 20 61 72 urn.$literals;.}..$selected.=.ar
4d200 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 ray();.foreach.($literals.as.$li
4d220 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 teral).{.$package.=.$pool->liter
4d240 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 61 63 alToPackage($literal);..if.($pac
4d260 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 26 20 kage.instanceof.AliasPackage.&&.
4d280 24 70 61 63 6b 61 67 65 2d 3e 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 29 20 $package->isRootPackageAlias()).
4d2a0 7b 0a 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 {.$selected[].=.$literal;.}.}..r
4d2c0 65 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a eturn.$selected;.}.}.<?php......
4d2e0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 ......namespace.Composer\Depende
4d300 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ncyResolver;..use.Composer\Packa
4d320 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ge\PackageInterface;.use.Compose
4d340 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 65 6e 65 72 69 r\Package\Link;.....class.Generi
4d360 63 52 75 6c 65 20 65 78 74 65 6e 64 73 20 52 75 6c 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 cRule.extends.Rule.{.protected.$
4d380 6c 69 74 65 72 61 6c 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e literals;........public.function
4d3a0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 .__construct(array.$literals,.$r
4d3c0 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 eason,.$reasonData,.$job.=.null)
4d3e0 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 .{.parent::__construct($reason,.
4d400 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 29 3b 0a 0a 0a 20 73 6f 72 74 28 24 6c 69 74 $reasonData,.$job);....sort($lit
4d420 65 72 61 6c 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 3d 20 24 6c 69 74 65 erals);..$this->literals.=.$lite
4d440 72 61 6c 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 rals;.}..public.function.getLite
4d460 72 61 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 3b rals().{.return.$this->literals;
4d480 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 0a 7b 0a .}..public.function.getHash().{.
4d4a0 24 64 61 74 61 20 3d 20 75 6e 70 61 63 6b 28 27 69 68 61 73 68 27 2c 20 6d 64 35 28 69 6d 70 6c $data.=.unpack('ihash',.md5(impl
4d4c0 6f 64 65 28 27 2c 27 2c 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 2c 20 74 72 75 65 29 ode(',',.$this->literals),.true)
4d4e0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a );..return.$data['hash'];.}.....
4d500 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 .....public.function.equals(Rule
4d520 20 24 72 75 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 .$rule).{.return.$this->literals
4d540 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 7d 0a 0a 70 75 .===.$rule->getLiterals();.}..pu
4d560 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 65 72 74 69 6f 6e 28 29 0a 7b 0a 72 65 blic.function.isAssertion().{.re
4d580 74 75 72 6e 20 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 turn.1.===.count($this->literals
4d5a0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 );.}.......public.function.__toS
4d5c0 74 72 69 6e 67 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 73 tring().{.$result.=.$this->isDis
4d5e0 61 62 6c 65 64 28 29 20 3f 20 27 64 69 73 61 62 6c 65 64 28 27 20 3a 20 27 28 27 3b 0a 0a 66 6f abled().?.'disabled('.:.'(';..fo
4d600 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 reach.($this->literals.as.$i.=>.
4d620 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d 20 30 29 20 7b 0a 24 72 65 73 75 $literal).{.if.($i.!=.0).{.$resu
4d640 6c 74 20 2e 3d 20 27 7c 27 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 6c 69 74 65 72 61 6c lt..=.'|';.}.$result..=.$literal
4d660 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 27 29 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 ;.}..$result..=.')';..return.$re
4d680 73 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 sult;.}.}.<?php............names
4d6a0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 pace.Composer\DependencyResolver
4d6c0 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 \Operation;..use.Composer\Packag
4d6e0 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 e\PackageInterface;.......class.
4d700 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f InstallOperation.extends.SolverO
4d720 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a peration.{.protected.$package;..
4d740 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
4d760 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 t(PackageInterface.$package,.$re
4d780 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 ason.=.null).{.parent::__constru
4d7a0 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 ct($reason);..$this->package.=.$
4d7c0 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e package;.}.......public.function
4d7e0 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 .getPackage().{.return.$this->pa
4d800 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ckage;.}.......public.function.g
4d820 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 69 6e 73 74 61 6c 6c 27 3b 0a etJobType().{.return.'install';.
4d840 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 }.....public.function.__toString
4d860 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 49 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 68 69 73 2d ().{.return.'Installing.'.$this-
4d880 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 >package->getPrettyName().'.('.$
4d8a0 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 this->formatVersion($this->packa
4d8c0 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 ge).')';.}.}.<?php............na
4d8e0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
4d900 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ver\Operation;..use.Composer\Pac
4d920 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c kage\AliasPackage;.use.Composer\
4d940 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a Package\PackageInterface;.......
4d960 63 6c 61 73 73 20 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f class.MarkAliasInstalledOperatio
4d980 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 n.extends.SolverOperation.{.prot
4d9a0 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ected.$package;........public.fu
4d9c0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 nction.__construct(AliasPackage.
4d9e0 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 $package,.$reason.=.null).{.pare
4da00 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 nt::__construct($reason);..$this
4da20 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ->package.=.$package;.}.......pu
4da40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 blic.function.getPackage().{.ret
4da60 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c urn.$this->package;.}.......publ
4da80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getJobType().{.retur
4daa0 6e 20 27 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 n.'markAliasInstalled';.}.....pu
4dac0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 blic.function.__toString().{.ret
4dae0 75 72 6e 20 27 4d 61 72 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 urn.'Marking.'.$this->package->g
4db00 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 etPrettyName().'.('.$this->forma
4db20 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 69 tVersion($this->package).').as.i
4db40 6e 73 74 61 6c 6c 65 64 2c 20 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b nstalled,.alias.of.'.$this->pack
4db60 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 age->getAliasOf()->getPrettyName
4db80 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 ().'.('.$this->formatVersion($th
4dba0 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a is->package->getAliasOf()).')';.
4dbc0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
4dbe0 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 omposer\DependencyResolver\Opera
4dc00 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 tion;..use.Composer\Package\Alia
4dc20 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 sPackage;.use.Composer\Package\P
4dc40 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 ackageInterface;.......class.Mar
4dc60 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e kAliasUninstalledOperation.exten
4dc80 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 ds.SolverOperation.{.protected.$
4dca0 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 package;........public.function.
4dcc0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 __construct(AliasPackage.$packag
4dce0 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 e,.$reason.=.null).{.parent::__c
4dd00 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 onstruct($reason);..$this->packa
4dd20 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ge.=.$package;.}.......public.fu
4dd40 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getPackage().{.return.$th
4dd60 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->package;.}.......public.func
4dd80 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 6d 61 72 6b tion.getJobType().{.return.'mark
4dda0 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 AliasUninstalled';.}.....public.
4ddc0 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 function.__toString().{.return.'
4dde0 4d 61 72 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 Marking.'.$this->package->getPre
4de00 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 ttyName().'.('.$this->formatVers
4de20 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 75 6e 69 6e 73 74 ion($this->package).').as.uninst
4de40 61 6c 6c 65 64 2c 20 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 alled,.alias.of.'.$this->package
4de60 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e ->getAliasOf()->getPrettyName().
4de80 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d '.('.$this->formatVersion($this-
4dea0 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d >package->getAliasOf()).')';.}.}
4dec0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
4dee0 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f oser\DependencyResolver\Operatio
4df00 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 n;.......interface.OperationInte
4df20 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rface.{......public.function.get
4df40 4a 6f 62 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e JobType();.......public.function
4df60 20 67 65 74 52 65 61 73 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .getReason();.......public.funct
4df80 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ion.__toString();.}.<?php.......
4dfa0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e .....namespace.Composer\Dependen
4dfc0 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f cyResolver\Operation;..use.Compo
4dfe0 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a ser\Package\PackageInterface;...
4e000 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 ....abstract.class.SolverOperati
4e020 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 on.implements.OperationInterface
4e040 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .{.protected.$reason;.......publ
4e060 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 20 ic.function.__construct($reason.
4e080 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 20 3d 20 24 72 65 61 73 6f =.null).{.$this->reason.=.$reaso
4e0a0 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 n;.}.......public.function.getRe
4e0c0 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 3b 0a 7d ason().{.return.$this->reason;.}
4e0e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 56 65 72 73 69 ..protected.function.formatVersi
4e100 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a on(PackageInterface.$package).{.
4e120 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 return.$package->getFullPrettyVe
4e140 72 73 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 rsion();.}.}.<?php............na
4e160 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
4e180 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ver\Operation;..use.Composer\Pac
4e1a0 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 kage\PackageInterface;.......cla
4e1c0 73 73 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f ss.UninstallOperation.extends.So
4e1e0 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 lverOperation.{.protected.$packa
4e200 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e ge;........public.function.__con
4e220 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 struct(PackageInterface.$package
4e240 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f ,.$reason.=.null).{.parent::__co
4e260 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 nstruct($reason);..$this->packag
4e280 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e e.=.$package;.}.......public.fun
4e2a0 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.getPackage().{.return.$thi
4e2c0 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->package;.}.......public.funct
4e2e0 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 75 6e 69 6e 73 ion.getJobType().{.return.'unins
4e300 74 61 6c 6c 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 tall';.}.....public.function.__t
4e320 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 55 6e 69 6e 73 74 61 6c 6c 69 6e 67 oString().{.return.'Uninstalling
4e340 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 .'.$this->package->getPrettyName
4e360 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 ().'.('.$this->formatVersion($th
4e380 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a is->package).')';.}.}.<?php.....
4e3a0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 .......namespace.Composer\Depend
4e3c0 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d encyResolver\Operation;..use.Com
4e3e0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
4e400 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 ......class.UpdateOperation.exte
4e420 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 nds.SolverOperation.{.protected.
4e440 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 $initialPackage;.protected.$targ
4e460 65 74 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 etPackage;.........public.functi
4e480 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 on.__construct(PackageInterface.
4e4a0 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 $initial,.PackageInterface.$targ
4e4c0 65 74 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f et,.$reason.=.null).{.parent::__
4e4e0 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 construct($reason);..$this->init
4e500 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 24 69 6e 69 74 69 61 6c 3b 0a 24 74 68 69 73 2d 3e 74 61 ialPackage.=.$initial;.$this->ta
4e520 72 67 65 74 50 61 63 6b 61 67 65 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 rgetPackage.=.$target;.}.......p
4e540 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 ublic.function.getInitialPackage
4e560 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 ().{.return.$this->initialPackag
4e580 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 e;.}.......public.function.getTa
4e5a0 72 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 rgetPackage().{.return.$this->ta
4e5c0 72 67 65 74 50 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rgetPackage;.}.......public.func
4e5e0 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 75 70 64 61 tion.getJobType().{.return.'upda
4e600 74 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 te';.}.....public.function.__toS
4e620 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 55 70 64 61 74 69 6e 67 20 27 2e 24 74 68 tring().{.return.'Updating.'.$th
4e640 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d is->initialPackage->getPrettyNam
4e660 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 e().'.('.$this->formatVersion($t
4e680 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 29 2e 27 29 20 74 6f 20 27 2e 0a 24 74 his->initialPackage).').to.'..$t
4e6a0 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d his->targetPackage->getPrettyNam
4e6c0 65 28 29 2e 20 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 e()..'.('.$this->formatVersion($
4e6e0 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f this->targetPackage).')';.}.}.<?
4e700 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
4e720 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f r\DependencyResolver;..use.Compo
4e740 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a ser\Package\PackageInterface;...
4e760 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 ..interface.PolicyInterface.{.pu
4e780 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 50 61 63 blic.function.versionCompare(Pac
4e7a0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 kageInterface.$a,.PackageInterfa
4e7c0 63 65 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ce.$b,.$operator);..public.funct
4e7e0 69 6f 6e 20 66 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f ion.findUpdatePackages(Pool.$poo
4e800 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 l,.array.$installedMap,.PackageI
4e820 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 nterface.$package);..public.func
4e840 74 69 6f 6e 20 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f tion.selectPreferredPackages(Poo
4e860 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 72 l.$pool,.array.$installedMap,.ar
4e880 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 ray.$literals,.$requiredPackage.
4e8a0 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 =.null);.}.<?php............name
4e8c0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 space.Composer\DependencyResolve
4e8e0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 r;..use.Composer\Package\BasePac
4e900 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 kage;.use.Composer\Package\Alias
4e920 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 Package;.use.Composer\Package\Ve
4e940 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 rsion\VersionParser;.use.Compose
4e960 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e r\Semver\Constraint\ConstraintIn
4e980 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e terface;.use.Composer\Semver\Con
4e9a0 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 straint\Constraint;.use.Composer
4e9c0 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 \Semver\Constraint\EmptyConstrai
4e9e0 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f nt;.use.Composer\Repository\Repo
4ea00 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 sitoryInterface;.use.Composer\Re
4ea20 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 pository\CompositeRepository;.us
4ea40 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 e.Composer\Repository\ComposerRe
4ea60 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 pository;.use.Composer\Repositor
4ea80 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a y\InstalledRepositoryInterface;.
4eaa0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d use.Composer\Repository\Platform
4eac0 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 Repository;.use.Composer\Package
4eae0 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 \PackageInterface;........class.
4eb00 50 6f 6f 6c 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e Pool.implements.\Countable.{.con
4eb20 73 74 20 4d 41 54 43 48 5f 4e 41 4d 45 20 3d 20 2d 31 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f st.MATCH_NAME.=.-1;.const.MATCH_
4eb40 4e 4f 4e 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 20 3d 20 31 3b 0a 63 6f 6e 73 74 NONE.=.0;.const.MATCH.=.1;.const
4eb60 20 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f .MATCH_PROVIDE.=.2;.const.MATCH_
4eb80 52 45 50 4c 41 43 45 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 REPLACE.=.3;.const.MATCH_FILTERE
4eba0 44 20 3d 20 34 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 D.=.4;..protected.$repositories.
4ebc0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 52 65 =.array();.protected.$providerRe
4ebe0 70 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 pos.=.array();.protected.$packag
4ec00 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 es.=.array();.protected.$package
4ec20 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 ByName.=.array();.protected.$pac
4ec40 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 kageByExactName.=.array();.prote
4ec60 63 74 65 64 20 24 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 3b 0a 70 72 6f cted.$acceptableStabilities;.pro
4ec80 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 tected.$stabilityFlags;.protecte
4eca0 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f d.$versionParser;.protected.$pro
4ecc0 76 69 64 65 72 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 viderCache.=.array();.protected.
4ece0 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 $filterRequires;.protected.$whit
4ed00 65 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 64 20 3d 20 31 3b elist.=.null;.protected.$id.=.1;
4ed20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d ..public.function.__construct($m
4ed40 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 61 72 72 61 inimumStability.=.'stable',.arra
4ed60 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 y.$stabilityFlags.=.array(),.arr
4ed80 61 79 20 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a ay.$filterRequires.=.array()).{.
4eda0 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 $this->versionParser.=.new.Versi
4edc0 6f 6e 50 61 72 73 65 72 3b 0a 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 onParser;.$this->acceptableStabi
4ede0 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 lities.=.array();.foreach.(BaseP
4ee00 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 20 61 73 20 24 73 74 61 62 69 6c 69 ackage::$stabilities.as.$stabili
4ee20 74 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3c 3d 20 42 61 ty.=>.$value).{.if.($value.<=.Ba
4ee40 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 6d 69 6e 69 6d 75 6d sePackage::$stabilities[$minimum
4ee60 53 74 61 62 69 6c 69 74 79 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 Stability]).{.$this->acceptableS
4ee80 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 20 3d 20 24 76 61 6c 75 65 3b tabilities[$stability].=.$value;
4eea0 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 73 74 .}.}.$this->stabilityFlags.=.$st
4eec0 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 abilityFlags;.$this->filterRequi
4eee0 72 65 73 20 3d 20 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 3b 0a 66 6f 72 65 61 63 68 20 28 res.=.$filterRequires;.foreach.(
4ef00 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6e $filterRequires.as.$name.=>.$con
4ef20 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f straint).{.if.(preg_match(Platfo
4ef40 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 rmRepository::PLATFORM_PACKAGE_R
4ef60 45 47 45 58 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c EGEX,.$name)).{.unset($this->fil
4ef80 74 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c terRequires[$name]);.}.}.}..publ
4efa0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 28 24 77 68 69 74 65 6c ic.function.setWhitelist($whitel
4efc0 69 73 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 3d 20 24 77 68 69 74 65 ist).{.$this->whitelist.=.$white
4efe0 6c 69 73 74 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 20 3d 20 61 72 72 list;.$this->providerCache.=.arr
4f000 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 ay();.}........public.function.a
4f020 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ddRepository(RepositoryInterface
4f040 20 24 72 65 70 6f 2c 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a .$repo,.$rootAliases.=.array()).
4f060 7b 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 {.if.($repo.instanceof.Composite
4f080 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 2d 3e 67 65 Repository).{.$repos.=.$repo->ge
4f0a0 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 tRepositories();.}.else.{.$repos
4f0c0 20 3d 20 61 72 72 61 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 .=.array($repo);.}..foreach.($re
4f0e0 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 pos.as.$repo).{.$this->repositor
4f100 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 3b 0a 0a 24 65 78 65 6d 70 74 20 3d 20 24 72 65 70 6f 20 ies[].=.$repo;..$exempt.=.$repo.
4f120 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 7c 7c instanceof.PlatformRepository.||
4f140 20 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 .$repo.instanceof.InstalledRepos
4f160 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 itoryInterface;..if.($repo.insta
4f180 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 nceof.ComposerRepository.&&.$rep
4f1a0 6f 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 o->hasProviders()).{.$this->prov
4f1c0 69 64 65 72 52 65 70 6f 73 5b 5d 20 3d 20 24 72 65 70 6f 3b 0a 24 72 65 70 6f 2d 3e 73 65 74 52 iderRepos[].=.$repo;.$repo->setR
4f1e0 6f 6f 74 41 6c 69 61 73 65 73 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 29 3b 0a 24 72 65 70 6f 2d ootAliases($rootAliases);.$repo-
4f200 3e 72 65 73 65 74 50 61 63 6b 61 67 65 49 64 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 >resetPackageIds();.}.else.{.for
4f220 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 each.($repo->getPackages().as.$p
4f240 61 63 6b 61 67 65 29 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ackage).{.$names.=.$package->get
4f260 4e 61 6d 65 73 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e Names();.$stability.=.$package->
4f280 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 69 66 20 28 24 65 78 65 6d 70 74 20 7c 7c 20 24 getStability();.if.($exempt.||.$
4f2a0 74 68 69 73 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 6e 61 6d 65 73 this->isPackageAcceptable($names
4f2c0 2c 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 ,.$stability)).{.$package->setId
4f2e0 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d ($this->id++);.$this->packages[]
4f300 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 .=.$package;.$this->packageByExa
4f320 63 74 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 ctName[$package->getName()][$pac
4f340 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 kage->id].=.$package;..foreach.(
4f360 24 6e 61 6d 65 73 20 61 73 20 24 70 72 6f 76 69 64 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 $names.as.$provided).{.$this->pa
4f380 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 70 72 6f 76 69 64 65 64 5d 5b 5d 20 3d 20 24 70 61 63 6b ckageByName[$provided][].=.$pack
4f3a0 61 67 65 3b 0a 7d 0a 0a 0a 20 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e age;.}....$name.=.$package->getN
4f3c0 61 6d 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e ame();.if.(isset($rootAliases[$n
4f3e0 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 29 29 20 7b ame][$package->getVersion()])).{
4f400 0a 24 61 6c 69 61 73 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 .$alias.=.$rootAliases[$name][$p
4f420 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 69 66 20 28 24 70 61 63 6b ackage->getVersion()];.if.($pack
4f440 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 age.instanceof.AliasPackage).{.$
4f460 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 package.=.$package->getAliasOf()
4f480 3b 0a 7d 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 ;.}.$aliasPackage.=.new.AliasPac
4f4a0 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 kage($package,.$alias['alias_nor
4f4c0 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 29 3b 0a 24 61 6c malized'],.$alias['alias']);.$al
4f4e0 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 iasPackage->setRootPackageAlias(
4f500 74 72 75 65 29 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 28 24 74 68 69 true);.$aliasPackage->setId($thi
4f520 73 2d 3e 69 64 2b 2b 29 3b 0a 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f s->id++);..$package->getReposito
4f540 72 79 28 29 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 29 3b ry()->addPackage($aliasPackage);
4f560 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 .$this->packages[].=.$aliasPacka
4f580 67 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 61 ge;.$this->packageByExactName[$a
4f5a0 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 61 6c 69 61 73 50 61 liasPackage->getName()][$aliasPa
4f5c0 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 66 6f 72 ckage->id].=.$aliasPackage;..for
4f5e0 65 61 63 68 20 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 20 each.($aliasPackage->getNames().
4f600 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 as.$name).{.$this->packageByName
4f620 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d [$name][].=.$aliasPackage;.}.}.}
4f640 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 69 .}.}.}.}..public.function.getPri
4f660 6f 72 69 74 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 29 ority(RepositoryInterface.$repo)
4f680 0a 7b 0a 24 70 72 69 6f 72 69 74 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 72 65 70 .{.$priority.=.array_search($rep
4f6a0 6f 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 0a o,.$this->repositories,.true);..
4f6c0 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 74 68 72 6f 77 if.(false.===.$priority).{.throw
4f6e0 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f .new.\RuntimeException("Could.no
4f700 74 20 64 65 74 65 72 6d 69 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 20 70 72 69 6f 72 69 74 79 2e t.determine.repository.priority.
4f720 20 54 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 77 61 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 .The.repository.was.not.register
4f740 65 64 20 69 6e 20 74 68 65 20 70 6f 6f 6c 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 2d 24 70 ed.in.the.pool.");.}..return.-$p
4f760 72 69 6f 72 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f riority;.}........public.functio
4f780 6e 20 70 61 63 6b 61 67 65 42 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 n.packageById($id).{.return.$thi
4f7a0 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 69 64 20 2d 20 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c s->packages[$id.-.1];.}.....publ
4f7c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 ic.function.count().{.return.cou
4f7e0 6e 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a nt($this->packages);.}..........
4f800 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 ...public.function.whatProvides(
4f820 24 6e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 $name,.ConstraintInterface.$cons
4f840 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 traint.=.null,.$mustMatchName.=.
4f860 66 61 6c 73 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b false,.$bypassFilters.=.false).{
4f880 0a 69 66 20 28 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 .if.($bypassFilters).{.return.$t
4f8a0 68 69 73 2d 3e 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 his->computeWhatProvides($name,.
4f8c0 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 2c 20 74 72 75 $constraint,.$mustMatchName,.tru
4f8e0 65 29 3b 0a 7d 0a 0a 24 6b 65 79 20 3d 20 28 28 69 6e 74 29 20 24 6d 75 73 74 4d 61 74 63 68 4e e);.}..$key.=.((int).$mustMatchN
4f900 61 6d 65 29 2e 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 ame).$constraint;.if.(isset($thi
4f920 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d 29 29 20 s->providerCache[$name][$key])).
4f940 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b 24 6e {.return.$this->providerCache[$n
4f960 61 6d 65 5d 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f ame][$key];.}..return.$this->pro
4f980 76 69 64 65 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d viderCache[$name][$key].=.$this-
4f9a0 3e 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e >computeWhatProvides($name,.$con
4f9c0 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 2c 20 24 62 79 70 61 73 73 straint,.$mustMatchName,.$bypass
4f9e0 46 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e Filters);.}.....private.function
4fa00 20 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e .computeWhatProvides($name,.$con
4fa20 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 2c straint,.$mustMatchName.=.false,
4fa40 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 61 6e 64 .$bypassFilters.=.false).{.$cand
4fa60 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 idates.=.array();..foreach.($thi
4fa80 73 2d 3e 70 72 6f 76 69 64 65 72 52 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 66 6f 72 s->providerRepos.as.$repo).{.for
4faa0 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 68 69 73 2c each.($repo->whatProvides($this,
4fac0 20 24 6e 61 6d 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 61 73 20 24 63 61 6e 64 .$name,.$bypassFilters).as.$cand
4fae0 69 64 61 74 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 idate).{.$candidates[].=.$candid
4fb00 61 74 65 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 2d 3e 69 64 20 3c 20 31 29 20 7b 0a 24 ate;.if.($candidate->id.<.1).{.$
4fb20 63 61 6e 64 69 64 61 74 65 2d 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a 24 candidate->setId($this->id++);.$
4fb40 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 74 68 69 73 2d 3e 69 64 20 2d 20 32 5d 20 3d 20 this->packages[$this->id.-.2].=.
4fb60 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 75 73 74 4d 61 74 63 $candidate;.}.}.}..if.($mustMatc
4fb80 68 4e 61 6d 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c hName).{.$candidates.=.array_fil
4fba0 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 63 61 6e 64 ter($candidates,.function.($cand
4fbc0 69 64 61 74 65 29 20 75 73 65 20 28 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 6e idate).use.($name).{.return.$can
4fbe0 64 69 64 61 74 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 6e 61 6d 65 3b 0a 7d 29 3b 0a didate->getName().==.$name;.});.
4fc00 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e if.(isset($this->packageByExactN
4fc20 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 ame[$name])).{.$candidates.=.arr
4fc40 61 79 5f 6d 65 72 67 65 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 24 74 68 69 73 2d 3e 70 61 63 ay_merge($candidates,.$this->pac
4fc60 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 7d 20 65 6c 73 kageByExactName[$name]);.}.}.els
4fc80 65 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b eif.(isset($this->packageByName[
4fca0 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 6d $name])).{.$candidates.=.array_m
4fcc0 65 72 67 65 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 erge($candidates,.$this->package
4fce0 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 70 ByName[$name]);.}..$matches.=.$p
4fd00 72 6f 76 69 64 65 4d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 61 6d 65 4d 61 rovideMatches.=.array();.$nameMa
4fd20 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 tch.=.false;..foreach.($candidat
4fd40 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 61 6c 69 61 73 4f 66 43 61 6e 64 es.as.$candidate).{.$aliasOfCand
4fd60 69 64 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 idate.=.null;......if.($candidat
4fd80 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c e.instanceof.AliasPackage).{.$al
4fda0 69 61 73 4f 66 43 61 6e 64 69 64 61 74 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 iasOfCandidate.=.$candidate->get
4fdc0 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 AliasOf();.}..if.($this->whiteli
4fde0 73 74 20 21 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 26 st.!==.null.&&.!$bypassFilters.&
4fe00 26 20 28 0a 28 21 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 &.(.(!($candidate.instanceof.Ali
4fe20 61 73 50 61 63 6b 61 67 65 29 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 asPackage).&&.!isset($this->whit
4fe40 65 6c 69 73 74 5b 24 63 61 6e 64 69 64 61 74 65 2d 3e 69 64 5d 29 29 20 7c 7c 0a 28 24 63 61 6e elist[$candidate->id])).||.($can
4fe60 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 26 didate.instanceof.AliasPackage.&
4fe80 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 5b 24 61 6c 69 61 73 &.!isset($this->whitelist[$alias
4fea0 4f 66 43 61 6e 64 69 64 61 74 65 2d 3e 69 64 5d 29 29 0a 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 OfCandidate->id])).)).{.continue
4fec0 3b 0a 7d 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 28 24 63 61 6e 64 69 64 ;.}.switch.($this->match($candid
4fee0 61 74 65 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 62 79 70 61 73 73 ate,.$name,.$constraint,.$bypass
4ff00 46 69 6c 74 65 72 73 29 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e Filters)).{.case.self::MATCH_NON
4ff20 45 3a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 41 4d 45 E:.break;..case.self::MATCH_NAME
4ff40 3a 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 :.$nameMatch.=.true;.break;..cas
4ff60 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 3a 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 e.self::MATCH:.$nameMatch.=.true
4ff80 3b 0a 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b ;.$matches[].=.$candidate;.break
4ffa0 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 3a 0a 24 70 72 ;..case.self::MATCH_PROVIDE:.$pr
4ffc0 6f 76 69 64 65 4d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 ovideMatches[].=.$candidate;.bre
4ffe0 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 3a 0a 24 ak;..case.self::MATCH_REPLACE:.$
50000 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a matches[].=.$candidate;.break;..
50020 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3a 0a 62 72 65 61 6b case.self::MATCH_FILTERED:.break
50040 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 ;..default:.throw.new.\Unexpecte
50060 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 65 78 70 65 63 74 65 64 20 6d 61 74 63 dValueException('Unexpected.matc
50080 68 20 74 79 70 65 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6e 61 6d 65 4d 61 74 63 68 29 h.type');.}.}....if.($nameMatch)
500a0 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 .{.return.$matches;.}..return.ar
500c0 72 61 79 5f 6d 65 72 67 65 28 24 6d 61 74 63 68 65 73 2c 20 24 70 72 6f 76 69 64 65 4d 61 74 63 ray_merge($matches,.$provideMatc
500e0 68 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c hes);.}..public.function.literal
50100 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 ToPackage($literal).{.$packageId
50120 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .=.abs($literal);..return.$this-
50140 3e 70 61 63 6b 61 67 65 42 79 49 64 28 24 70 61 63 6b 61 67 65 49 64 29 3b 0a 7d 0a 0a 70 75 62 >packageById($packageId);.}..pub
50160 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c 54 6f 50 72 65 74 74 79 53 74 72 69 lic.function.literalToPrettyStri
50180 6e 67 28 24 6c 69 74 65 72 61 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 0a 7b 0a 24 70 ng($literal,.$installedMap).{.$p
501a0 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 ackage.=.$this->literalToPackage
501c0 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 ($literal);..if.(isset($installe
501e0 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 70 72 65 66 69 78 20 3d dMap[$package->id])).{.$prefix.=
50200 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 3f 20 27 6b 65 65 70 27 20 3a 20 27 72 65 6d 6f 76 .($literal.>.0.?.'keep'.:.'remov
50220 65 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 28 24 6c 69 74 65 72 61 e');.}.else.{.$prefix.=.($litera
50240 6c 20 3e 20 30 20 3f 20 27 69 6e 73 74 61 6c 6c 27 20 3a 20 27 64 6f 6e 5c 27 74 20 69 6e 73 74 l.>.0.?.'install'.:.'don\'t.inst
50260 61 6c 6c 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 66 69 78 2e 27 20 27 2e 24 70 61 all');.}..return.$prefix.'.'.$pa
50280 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 70 75 62 ckage->getPrettyString();.}..pub
502a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 lic.function.isPackageAcceptable
502c0 28 24 6e 61 6d 65 2c 20 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 28 ($name,.$stability).{.foreach.((
502e0 61 72 72 61 79 29 20 24 6e 61 6d 65 20 61 73 20 24 6e 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 array).$name.as.$n).{...if.(!iss
50300 65 74 28 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 20 26 26 et($this->stabilityFlags[$n]).&&
50320 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 .isset($this->acceptableStabilit
50340 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b ies[$stability])).{.return.true;
50360 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 .}....if.(isset($this->stability
50380 46 6c 61 67 73 5b 24 6e 5d 29 20 26 26 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 Flags[$n]).&&.BasePackage::$stab
503a0 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 20 3c 3d 20 24 74 68 69 73 2d 3e 73 74 ilities[$stability].<=.$this->st
503c0 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b abilityFlags[$n]).{.return.true;
503e0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .}.}..return.false;.}...........
50400 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 28 24 63 61 6e 64 69 64 61 74 private.function.match($candidat
50420 65 2c 20 24 6e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 e,.$name,.ConstraintInterface.$c
50440 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 onstraint.=.null,.$bypassFilters
50460 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d ).{.$candidateName.=.$candidate-
50480 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 >getName();.$candidateVersion.=.
504a0 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 69 73 44 65 76 $candidate->getVersion();.$isDev
504c0 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 20 3d 3d .=.$candidate->getStability().==
504e0 3d 20 27 64 65 76 27 3b 0a 24 69 73 41 6c 69 61 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 20 69 =.'dev';.$isAlias.=.$candidate.i
50500 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 21 24 62 nstanceof.AliasPackage;..if.(!$b
50520 79 70 61 73 73 46 69 6c 74 65 72 73 20 26 26 20 21 24 69 73 44 65 76 20 26 26 20 21 24 69 73 41 ypassFilters.&&.!$isDev.&&.!$isA
50540 6c 69 61 73 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 lias.&&.isset($this->filterRequi
50560 72 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 20 3d 20 res[$name])).{.$requireFilter.=.
50580 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 20 $this->filterRequires[$name];.}.
505a0 65 6c 73 65 20 7b 0a 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 20 3d 20 6e 65 77 20 45 6d 70 74 else.{.$requireFilter.=.new.Empt
505c0 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 4e 61 yConstraint;.}..if.($candidateNa
505e0 6d 65 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d me.===.$name).{.$pkgConstraint.=
50600 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 63 61 6e 64 69 64 61 74 65 .new.Constraint('==',.$candidate
50620 56 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e Version);..if.($constraint.===.n
50640 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 ull.||.$constraint->matches($pkg
50660 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 Constraint)).{.return.$requireFi
50680 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 20 3f 20 lter->matches($pkgConstraint).?.
506a0 73 65 6c 66 3a 3a 4d 41 54 43 48 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 self::MATCH.:.self::MATCH_FILTER
506c0 45 44 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 41 4d 45 3b 0a ED;.}..return.self::MATCH_NAME;.
506e0 7d 0a 0a 24 70 72 6f 76 69 64 65 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 50 72 }..$provides.=.$candidate->getPr
50700 6f 76 69 64 65 73 28 29 3b 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 ovides();.$replaces.=.$candidate
50720 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 72 ->getReplaces();....if.(isset($r
50740 65 70 6c 61 63 65 73 5b 30 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 30 eplaces[0]).||.isset($provides[0
50760 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 65 73 20 61 73 20 24 6c 69 6e ])).{.foreach.($provides.as.$lin
50780 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 k).{.if.($link->getTarget().===.
507a0 24 6e 61 6d 65 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c $name.&&.($constraint.===.null.|
507c0 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 |.$constraint->matches($link->ge
507e0 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 tConstraint()))).{.return.$requi
50800 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 reFilter->matches($link->getCons
50820 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 traint()).?.self::MATCH_PROVIDE.
50840 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 7d 0a 0a 66 6f 72 :.self::MATCH_FILTERED;.}.}..for
50860 65 61 63 68 20 28 24 72 65 70 6c 61 63 65 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 each.($replaces.as.$link).{.if.(
50880 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 $link->getTarget().===.$name.&&.
508a0 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 ($constraint.===.null.||.$constr
508c0 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 aint->matches($link->getConstrai
508e0 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d nt()))).{.return.$requireFilter-
50900 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 >matches($link->getConstraint())
50920 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 20 3a 20 73 65 6c 66 3a 3a 4d .?.self::MATCH_REPLACE.:.self::M
50940 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a ATCH_FILTERED;.}.}..return.self:
50960 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 76 69 :MATCH_NONE;.}..if.(isset($provi
50980 64 65 73 5b 24 6e 61 6d 65 5d 29 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 des[$name]).&&.($constraint.===.
509a0 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 null.||.$constraint->matches($pr
509c0 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 ovides[$name]->getConstraint()))
509e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 ).{.return.$requireFilter->match
50a00 65 73 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 es($provides[$name]->getConstrai
50a20 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3a 20 73 65 nt()).?.self::MATCH_PROVIDE.:.se
50a40 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 lf::MATCH_FILTERED;.}..if.(isset
50a60 28 24 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 29 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 ($replaces[$name]).&&.($constrai
50a80 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 nt.===.null.||.$constraint->matc
50aa0 68 65 73 28 24 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 hes($replaces[$name]->getConstra
50ac0 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 int()))).{.return.$requireFilter
50ae0 2d 3e 6d 61 74 63 68 65 73 28 24 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 ->matches($replaces[$name]->getC
50b00 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 onstraint()).?.self::MATCH_REPLA
50b20 43 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 72 65 CE.:.self::MATCH_FILTERED;.}..re
50b40 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 turn.self::MATCH_NONE;.}.}.<?php
50b60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 ............namespace.Composer\D
50b80 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ependencyResolver;..use.Composer
50ba0 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 \Package\CompletePackageInterfac
50bc0 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 62 6c 65 6d 0a 7b 0a 0a 0a 0a 0a 70 72 6f e;.......class.Problem.{.....pro
50be0 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 53 65 65 6e 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 tected.$reasonSeen;......protect
50c00 65 64 20 24 72 65 61 73 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 ed.$reasons.=.array();..protecte
50c20 64 20 24 73 65 63 74 69 6f 6e 20 3d 20 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c d.$section.=.0;..protected.$pool
50c40 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 ;..public.function.__construct(P
50c60 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c ool.$pool).{.$this->pool.=.$pool
50c80 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c ;.}.......public.function.addRul
50ca0 65 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 61 73 6f 6e e(Rule.$rule).{.$this->addReason
50cc0 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 72 75 6c 65 29 2c 20 61 72 72 61 79 28 0a (spl_object_hash($rule),.array(.
50ce0 27 72 75 6c 65 27 20 3d 3e 20 24 72 75 6c 65 2c 0a 27 6a 6f 62 27 20 3d 3e 20 24 72 75 6c 65 2d 'rule'.=>.$rule,.'job'.=>.$rule-
50d00 3e 67 65 74 4a 6f 62 28 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 >getJob(),.));.}.......public.fu
50d20 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getReasons().{.return.$th
50d40 69 73 2d 3e 72 65 61 73 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e is->reasons;.}........public.fun
50d60 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 61 72 72 61 79 20 24 69 6e 73 ction.getPrettyString(array.$ins
50d80 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 65 61 73 6f 6e 73 20 talledMap.=.array()).{.$reasons.
50da0 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 =.call_user_func_array('array_me
50dc0 72 67 65 27 2c 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 61 73 6f rge',.array_reverse($this->reaso
50de0 6e 73 29 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 61 73 6f 6e 73 29 20 3d 3d 3d 20 31 ns));..if.(count($reasons).===.1
50e00 29 20 7b 0a 72 65 73 65 74 28 24 72 65 61 73 6f 6e 73 29 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 63 ).{.reset($reasons);.$reason.=.c
50e20 75 72 72 65 6e 74 28 24 72 65 61 73 6f 6e 73 29 3b 0a 0a 24 72 75 6c 65 20 3d 20 24 72 65 61 73 urrent($reasons);..$rule.=.$reas
50e40 6f 6e 5b 27 72 75 6c 65 27 5d 3b 0a 24 6a 6f 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 on['rule'];.$job.=.$reason['job'
50e60 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d ];..if.(isset($job['constraint']
50e80 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 )).{.$packages.=.$this->pool->wh
50ea0 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 atProvides($job['packageName'],.
50ec0 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 $job['constraint']);.}.else.{.$p
50ee0 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 6a 6f 62 20 26 ackages.=.array();.}..if.($job.&
50f00 26 20 24 6a 6f 62 5b 27 63 6d 64 27 5d 20 3d 3d 3d 20 27 69 6e 73 74 61 6c 6c 27 20 26 26 20 65 &.$job['cmd'].===.'install'.&&.e
50f20 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 0a 0a 20 69 66 20 28 24 6a 6f 62 5b 27 mpty($packages)).{....if.($job['
50f40 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 6a 6f 62 5b packageName'].===.'php'.||.$job[
50f60 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 20 3d 3d 3d 20 27 70 68 70 2d 36 34 62 69 74 27 20 7c 'packageName'].===.'php-64bit'.|
50f80 7c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 20 3d 3d 3d 20 27 68 68 76 6d 27 |.$job['packageName'].===.'hhvm'
50fa0 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 70 68 70 76 65 72 73 69 6f 6e 28 29 3b 0a 24 61 76 ).{.$version.=.phpversion();.$av
50fc0 61 69 6c 61 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 ailable.=.$this->pool->whatProvi
50fe0 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 3b 0a 0a 69 66 20 28 63 des($job['packageName']);..if.(c
51000 6f 75 6e 74 28 24 61 76 61 69 6c 61 62 6c 65 29 29 20 7b 0a 24 66 69 72 73 74 41 76 61 69 6c 61 ount($available)).{.$firstAvaila
51020 62 6c 65 20 3d 20 72 65 73 65 74 28 24 61 76 61 69 6c 61 62 6c 65 29 3b 0a 24 76 65 72 73 69 6f ble.=.reset($available);.$versio
51040 6e 20 3d 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 n.=.$firstAvailable->getPrettyVe
51060 72 73 69 6f 6e 28 29 3b 0a 24 65 78 74 72 61 20 3d 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c rsion();.$extra.=.$firstAvailabl
51080 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 24 66 69 72 73 74 41 76 61 69 6c 61 62 e->getExtra();.if.($firstAvailab
510a0 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 le.instanceof.CompletePackageInt
510c0 65 72 66 61 63 65 20 26 26 20 69 73 73 65 74 28 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e 70 erface.&&.isset($extra['config.p
510e0 6c 61 74 66 6f 72 6d 27 5d 29 20 26 26 20 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e 70 6c 61 latform']).&&.$extra['config.pla
51100 74 66 6f 72 6d 27 5d 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 tform'].===.true).{.$version..=.
51120 27 3b 20 27 20 2e 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 44 65 73 63 72 ';.'...$firstAvailable->getDescr
51140 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 0a 24 6d 73 67 20 3d 20 22 5c 6e 20 20 20 20 2d 20 54 iption();.}.}..$msg.=."\n....-.T
51160 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 73 20 22 2e 24 6a 6f 62 5b 27 70 61 63 his.package.requires.".$job['pac
51180 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 kageName'].$this->constraintToTe
511a0 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 62 75 74 20 27 3b 0a xt($job['constraint']).'.but.';.
511c0 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a .if.(defined('HHVM_VERSION')).{.
511e0 72 65 74 75 72 6e 20 24 6d 73 67 20 2e 20 27 79 6f 75 72 20 48 48 56 4d 20 76 65 72 73 69 6f 6e return.$msg...'your.HHVM.version
51200 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 .does.not.satisfy.that.requireme
51220 6e 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d nt.';.}..if.($job['packageName']
51240 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e 20 27 79 6f .===.'hhvm').{.return.$msg...'yo
51260 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 50 48 50 20 61 6e 64 20 u.are.running.this.with.PHP.and.
51280 6e 6f 74 20 48 48 56 4d 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e 20 27 79 6f not.HHVM.';.}..return.$msg...'yo
512a0 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 20 24 76 65 72 73 69 6f 6e 20 2e 27 29 20 ur.PHP.version.('..$version..').
512c0 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e does.not.satisfy.that.requiremen
512e0 74 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6a 6f 62 t.';.}....if.(0.===.stripos($job
51300 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 69 66 20 28 ['packageName'],.'ext-')).{.if.(
51320 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 false.!==.strpos($job['packageNa
51340 6d 65 27 5d 2c 20 27 20 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 me'],.'.')).{.return."\n....-.Th
51360 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 24 6a 6f 62 e.requested.PHP.extension.".$job
51380 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 20 73 68 6f 75 6c 64 20 62 65 20 72 65 71 75 ['packageName'].'.should.be.requ
513a0 69 72 65 64 20 61 73 20 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 2d 27 2c 20 ired.as.'.str_replace('.',.'-',.
513c0 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 2e 27 2e 27 3b 0a 7d 0a 0a 24 65 78 $job['packageName']).'.';.}..$ex
513e0 74 20 3d 20 73 75 62 73 74 72 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 t.=.substr($job['packageName'],.
51400 34 29 3b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 65 4);.$error.=.extension_loaded($e
51420 78 74 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 2e xt).?.'has.the.wrong.version.('.
51440 28 70 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 20 3f 3a 20 27 30 27 29 2e 27 29 20 69 6e 73 (phpversion($ext).?:.'0').').ins
51460 74 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 talled'.:.'is.missing.from.your.
51480 73 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 system';..return."\n....-.The.re
514a0 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 24 6a 6f 62 5b 27 70 61 quested.PHP.extension.".$job['pa
514c0 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 ckageName'].$this->constraintToT
514e0 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 27 2e 24 65 72 72 ext($job['constraint']).'.'.$err
51500 6f 72 2e 27 2e 20 49 6e 73 74 61 6c 6c 20 6f 72 20 65 6e 61 62 6c 65 20 50 48 50 5c 27 73 20 27 or.'..Install.or.enable.PHP\'s.'
51520 2e 24 65 78 74 2e 27 20 65 78 74 65 6e 73 69 6f 6e 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 .$ext.'.extension.';.}....if.(0.
51540 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c ===.stripos($job['packageName'],
51560 20 27 6c 69 62 2d 27 29 29 20 7b 0a 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6a 6f 62 5b .'lib-')).{.if.(strtolower($job[
51580 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 20 3d 3d 3d 20 27 6c 69 62 2d 69 63 75 27 29 20 7b 'packageName']).===.'lib-icu').{
515a0 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 69 6e 74 6c .$error.=.extension_loaded('intl
515c0 27 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 ').?.'has.the.wrong.version.inst
515e0 61 6c 6c 65 64 2c 20 74 72 79 20 75 70 67 72 61 64 69 6e 67 20 74 68 65 20 69 6e 74 6c 20 65 78 alled,.try.upgrading.the.intl.ex
51600 74 65 6e 73 69 6f 6e 2e 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 tension.'.:.'is.missing.from.you
51620 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 69 6e 74 6c 20 65 78 74 r.system,.make.sure.the.intl.ext
51640 65 6e 73 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2e 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 ension.is.loaded.';..return."\n.
51660 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 ...-.The.requested.linked.librar
51680 79 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 y.".$job['packageName'].$this->c
516a0 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 onstraintToText($job['constraint
516c0 27 5d 29 2e 27 20 27 2e 24 65 72 72 6f 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 ']).'.'.$error;.}..return."\n...
516e0 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 .-.The.requested.linked.library.
51700 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e ".$job['packageName'].$this->con
51720 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d straintToText($job['constraint']
51740 29 2e 27 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c ).'.has.the.wrong.version.instal
51760 6c 65 64 20 6f 72 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 led.or.is.missing.from.your.syst
51780 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 65 78 74 65 6e 73 em,.make.sure.to.load.the.extens
517a0 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 ion.providing.it.';.}..if.(!preg
517c0 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d 27 2c 20 24 _match('{^[A-Za-z0-9_./-]+$}',.$
517e0 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 24 69 6c 6c 65 67 61 6c 43 job['packageName'])).{.$illegalC
51800 68 61 72 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 41 2d 5a 61 2d 7a 30 2d 39 hars.=.preg_replace('{[A-Za-z0-9
51820 5f 2e 2f 2d 5d 2b 7d 27 2c 20 27 27 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 _./-]+}',.'',.$job['packageName'
51840 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 ]);..return."\n....-.The.request
51860 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d ed.package.".$job['packageName']
51880 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2c 20 69 74 20 6c 6f 6f 6b 73 20 .'.could.not.be.found,.it.looks.
518a0 6c 69 6b 65 20 69 74 73 20 6e 61 6d 65 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 22 27 2e 24 69 6c like.its.name.is.invalid,."'.$il
518c0 6c 65 67 61 6c 43 68 61 72 73 2e 27 22 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 legalChars.'".is.not.allowed.in.
518e0 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 64 65 package.names.';.}..if.($provide
51900 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 rs.=.$this->pool->whatProvides($
51920 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 job['packageName'],.$job['constr
51940 61 69 6e 74 27 5d 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 5c aint'],.true,.true)).{.return."\
51960 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 n....-.The.requested.package.".$
51980 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 job['packageName'].$this->constr
519a0 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 aintToText($job['constraint']).'
519c0 20 69 73 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 .is.satisfiable.by.'.$this->getP
519e0 61 63 6b 61 67 65 4c 69 73 74 28 24 70 72 6f 76 69 64 65 72 73 29 2e 27 20 62 75 74 20 74 68 65 ackageList($providers).'.but.the
51a00 73 65 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 79 6f 75 72 20 72 65 71 75 69 72 65 6d 65 6e se.conflict.with.your.requiremen
51a20 74 73 20 6f 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 2e 27 3b 0a 7d 0a 0a 69 66 ts.or.minimum-stability.';.}..if
51a40 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 .($providers.=.$this->pool->what
51a60 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 6e 75 Provides($job['packageName'],.nu
51a80 6c 6c 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 ll,.true,.true)).{.return."\n...
51aa0 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b .-.The.requested.package.".$job[
51ac0 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 'packageName'].$this->constraint
51ae0 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 20 65 78 69 ToText($job['constraint']).'.exi
51b00 73 74 73 20 61 73 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 sts.as.'.$this->getPackageList($
51b20 70 72 6f 76 69 64 65 72 73 29 2e 27 20 62 75 74 20 74 68 65 73 65 20 61 72 65 20 72 65 6a 65 63 providers).'.but.these.are.rejec
51b40 74 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6e 73 74 72 61 69 6e 74 2e 27 3b 0a 7d 0a 0a 72 65 74 ted.by.your.constraint.';.}..ret
51b60 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 urn."\n....-.The.requested.packa
51b80 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 20 63 6f 75 6c 64 ge.".$job['packageName'].'.could
51ba0 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 76 65 72 73 69 6f 6e 2c 20 74 68 .not.be.found.in.any.version,.th
51bc0 65 72 65 20 6d 61 79 20 62 65 20 61 20 74 79 70 6f 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 ere.may.be.a.typo.in.the.package
51be0 20 6e 61 6d 65 2e 27 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 .name.';.}.}..$messages.=.array(
51c00 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 73 20 61 73 20 24 72 65 61 73 6f 6e );..foreach.($reasons.as.$reason
51c20 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 72 65 61 73 6f 6e 5b 27 72 75 6c 65 27 5d 3b 0a 24 6a 6f ).{.$rule.=.$reason['rule'];.$jo
51c40 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d 3b 0a 0a 69 66 20 28 24 6a 6f 62 29 20 7b b.=.$reason['job'];..if.($job).{
51c60 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6a 6f 62 54 6f 54 65 78 74 28 .$messages[].=.$this->jobToText(
51c80 24 6a 6f 62 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 $job);.}.elseif.($rule).{.if.($r
51ca0 75 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 ule.instanceof.Rule).{.$messages
51cc0 5b 5d 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 74 68 69 [].=.$rule->getPrettyString($thi
51ce0 73 2d 3e 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 7d 0a 7d 0a 0a s->pool,.$installedMap);.}.}.}..
51d00 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 22 2e 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 return."\n....-.".implode("\n...
51d20 20 2d 20 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 .-.",.$messages);.}........prote
51d40 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 61 73 6f 6e 28 24 69 64 2c 20 24 72 65 cted.function.addReason($id,.$re
51d60 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e ason).{.if.(!isset($this->reason
51d80 53 65 65 6e 5b 24 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 53 65 65 6e 5b Seen[$id])).{.$this->reasonSeen[
51da0 24 69 64 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 5b 24 74 68 69 $id].=.true;.$this->reasons[$thi
51dc0 73 2d 3e 73 65 63 74 69 6f 6e 5d 5b 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 7d 0a 0a 70 75 s->section][].=.$reason;.}.}..pu
51de0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 53 65 63 74 69 6f 6e 28 29 0a 7b 0a 24 74 blic.function.nextSection().{.$t
51e00 68 69 73 2d 3e 73 65 63 74 69 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 his->section++;.}........protect
51e20 65 64 20 66 75 6e 63 74 69 6f 6e 20 6a 6f 62 54 6f 54 65 78 74 28 24 6a 6f 62 29 0a 7b 0a 73 77 ed.function.jobToText($job).{.sw
51e40 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 itch.($job['cmd']).{.case.'insta
51e60 6c 6c 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 ll':.$packages.=.$this->pool->wh
51e80 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 atProvides($job['packageName'],.
51ea0 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 $job['constraint']);.if.(!$packa
51ec0 67 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 4e 6f 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 20 ges).{.return.'No.package.found.
51ee0 74 6f 20 73 61 74 69 73 66 79 20 69 6e 73 74 61 6c 6c 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 to.satisfy.install.request.for.'
51f00 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 .$job['packageName'].$this->cons
51f20 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 traintToText($job['constraint'])
51f40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 72 65 71 75 65 73 ;.}..return.'Installation.reques
51f60 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 t.for.'.$job['packageName'].$thi
51f80 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 s->constraintToText($job['constr
51fa0 61 69 6e 74 27 5d 29 2e 27 20 2d 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 2e 24 74 aint']).'.->.satisfiable.by.'.$t
51fc0 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 2e 27 his->getPackageList($packages).'
51fe0 2e 27 3b 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 72 65 74 75 72 6e 20 27 55 70 64 61 74 .';.case.'update':.return.'Updat
52000 65 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d e.request.for.'.$job['packageNam
52020 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 e'].$this->constraintToText($job
52040 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 2e 27 3b 0a 63 61 73 65 20 27 72 65 6d 6f 76 ['constraint']).'.';.case.'remov
52060 65 27 3a 0a 72 65 74 75 72 6e 20 27 52 65 6d 6f 76 61 6c 20 72 65 71 75 65 73 74 20 66 6f 72 20 e':.return.'Removal.request.for.
52080 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e '.$job['packageName'].$this->con
520a0 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d straintToText($job['constraint']
520c0 29 2e 27 27 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 ).'';.}..if.(isset($job['constra
520e0 69 6e 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f int'])).{.$packages.=.$this->poo
52100 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d l->whatProvides($job['packageNam
52120 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 7d 20 65 6c 73 65 e'],.$job['constraint']);.}.else
52140 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 .{.$packages.=.array();.}..retur
52160 6e 20 27 4a 6f 62 28 63 6d 64 3d 27 2e 24 6a 6f 62 5b 27 63 6d 64 27 5d 2e 27 2c 20 74 61 72 67 n.'Job(cmd='.$job['cmd'].',.targ
52180 65 74 3d 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 2c 20 70 61 63 6b et='.$job['packageName'].',.pack
521a0 61 67 65 73 3d 5b 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 ages=['.$this->getPackageList($p
521c0 61 63 6b 61 67 65 73 29 2e 27 5d 29 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ackages).'])';.}..protected.func
521e0 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 7b tion.getPackageList($packages).{
52200 0a 24 70 72 65 70 61 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 .$prepared.=.array();.foreach.($
52220 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 packages.as.$package).{.$prepare
52240 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 6e 61 6d 65 27 5d 20 3d d[$package->getName()]['name'].=
52260 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 70 72 65 .$package->getPrettyName();.$pre
52280 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 76 65 72 73 pared[$package->getName()]['vers
522a0 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 20 3d ions'][$package->getVersion()].=
522c0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d .$package->getPrettyVersion();.}
522e0 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 .foreach.($prepared.as.$name.=>.
52300 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 $package).{.$prepared[$name].=.$
52320 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 package['name'].'['.implode(',.'
52340 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e 27 5d 27 3b 0a 7d 0a 0a ,.$package['versions']).']';.}..
52360 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 65 70 61 72 65 64 29 3b return.implode(',.',.$prepared);
52380 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e .}........protected.function.con
523a0 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 72 65 74 straintToText($constraint).{.ret
523c0 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3f 20 27 20 27 2e 24 63 6f 6e 73 74 72 61 69 6e urn.$constraint.?.'.'.$constrain
523e0 74 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 3a 20 27 27 3b 0a 7d 0a 7d 0a 3c t->getPrettyString().:.'';.}.}.<
52400 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
52420 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 er\DependencyResolver;..use.Comp
52440 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e oser\Semver\Constraint\Constrain
52460 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 71 75 65 73 74 0a 7b 0a tInterface;.....class.Request.{.
52480 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f protected.$jobs;..public.functio
524a0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 n.__construct().{.$this->jobs.=.
524c0 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 array();.}..public.function.inst
524e0 61 6c 6c 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 all($packageName,.ConstraintInte
52500 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 rface.$constraint.=.null).{.$thi
52520 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 69 6e 73 74 61 6c 6c s->addJob($packageName,.'install
52540 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ',.$constraint);.}..public.funct
52560 69 6f 6e 20 75 70 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 ion.update($packageName,.Constra
52580 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 intInterface.$constraint.=.null)
525a0 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 .{.$this->addJob($packageName,.'
525c0 75 70 64 61 74 65 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 update',.$constraint);.}..public
525e0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 .function.remove($packageName,.C
52600 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d onstraintInterface.$constraint.=
52620 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e .null).{.$this->addJob($packageN
52640 61 6d 65 2c 20 27 72 65 6d 6f 76 65 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a ame,.'remove',.$constraint);.}..
52660 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 78 28 24 70 61 63 ........public.function.fix($pac
52680 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 kageName,.ConstraintInterface.$c
526a0 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f onstraint.=.null).{.$this->addJo
526c0 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 69 6e 73 74 61 6c 6c 27 2c 20 24 63 6f 6e 73 b($packageName,.'install',.$cons
526e0 74 72 61 69 6e 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 traint,.true);.}..protected.func
52700 74 69 6f 6e 20 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6d 64 2c 20 tion.addJob($packageName,.$cmd,.
52720 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 ConstraintInterface.$constraint.
52740 3d 20 6e 75 6c 6c 2c 20 24 66 69 78 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 61 63 6b 61 =.null,.$fixed.=.false).{.$packa
52760 67 65 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 geName.=.strtolower($packageName
52780 29 3b 0a 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 63 6d 64 27 );..$this->jobs[].=.array(.'cmd'
527a0 20 3d 3e 20 24 63 6d 64 2c 0a 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b .=>.$cmd,.'packageName'.=>.$pack
527c0 61 67 65 4e 61 6d 65 2c 0a 27 63 6f 6e 73 74 72 61 69 6e 74 27 20 3d 3e 20 24 63 6f 6e 73 74 72 ageName,.'constraint'.=>.$constr
527e0 61 69 6e 74 2c 0a 27 66 69 78 65 64 27 20 3d 3e 20 24 66 69 78 65 64 2c 0a 29 3b 0a 7d 0a 0a 70 aint,.'fixed'.=>.$fixed,.);.}..p
52800 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 41 6c 6c 28 29 0a 7b 0a 24 74 68 ublic.function.updateAll().{.$th
52820 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 63 6d 64 27 20 3d 3e 20 27 75 70 64 is->jobs[].=.array('cmd'.=>.'upd
52840 61 74 65 2d 61 6c 6c 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ate-all');.}..public.function.ge
52860 74 4a 6f 62 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6a 6f 62 73 3b 0a 7d 0a tJobs().{.return.$this->jobs;.}.
52880 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
528a0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 poser\DependencyResolver;..use.C
528c0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 3b omposer\Package\CompletePackage;
528e0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 .use.Composer\Package\Link;.use.
52900 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
52920 65 3b 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 52 75 6c 65 0a 7b 0a 0a 20 e;......abstract.class.Rule.{...
52940 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 54 45 52 4e 41 4c 5f 41 4c 4c 4f 57 5f 55 50 44 41 54 45 const.RULE_INTERNAL_ALLOW_UPDATE
52960 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 20 3d 20 32 .=.1;.const.RULE_JOB_INSTALL.=.2
52980 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 20 3d 20 33 3b 0a 63 6f 6e ;.const.RULE_JOB_REMOVE.=.3;.con
529a0 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 20 3d 20 36 3b 0a 63 6f st.RULE_PACKAGE_CONFLICT.=.6;.co
529c0 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 20 3d 20 37 3b 0a 63 nst.RULE_PACKAGE_REQUIRES.=.7;.c
529e0 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3d 20 38 3b onst.RULE_PACKAGE_OBSOLETES.=.8;
52a00 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f 50 41 43 4b 41 47 45 5f 4f 42 .const.RULE_INSTALLED_PACKAGE_OB
52a20 53 4f 4c 45 54 45 53 20 3d 20 39 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f SOLETES.=.9;.const.RULE_PACKAGE_
52a40 53 41 4d 45 5f 4e 41 4d 45 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 SAME_NAME.=.10;.const.RULE_PACKA
52a60 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 20 3d 20 31 31 3b 0a 63 6f 6e 73 GE_IMPLICIT_OBSOLETES.=.11;.cons
52a80 74 20 52 55 4c 45 5f 4c 45 41 52 4e 45 44 20 3d 20 31 32 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f t.RULE_LEARNED.=.12;.const.RULE_
52aa0 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 20 3d 20 31 33 3b 0a 0a 0a 20 63 6f 6e 73 74 20 42 49 54 PACKAGE_ALIAS.=.13;....const.BIT
52ac0 46 49 45 4c 44 5f 54 59 50 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 49 54 46 49 45 4c 44 5f 52 FIELD_TYPE.=.0;.const.BITFIELD_R
52ae0 45 41 53 4f 4e 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c EASON.=.8;.const.BITFIELD_DISABL
52b00 45 44 20 3d 20 31 36 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 74 66 69 65 6c 64 3b 0a 70 ED.=.16;..protected.$bitfield;.p
52b20 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e rotected.$job;.protected.$reason
52b40 44 61 74 61 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f Data;.......public.function.__co
52b60 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a nstruct($reason,.$reasonData,.$j
52b80 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 20 3d ob.=.null).{.$this->reasonData.=
52ba0 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 6a 6f 62 29 20 7b 0a 24 74 68 69 73 .$reasonData;..if.($job).{.$this
52bc0 2d 3e 6a 6f 62 20 3d 20 24 6a 6f 62 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 ->job.=.$job;.}..$this->bitfield
52be0 20 3d 20 28 30 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 .=.(0.<<.self::BITFIELD_DISABLED
52c00 29 20 7c 0a 28 24 72 65 61 73 6f 6e 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 52 ).|.($reason.<<.self::BITFIELD_R
52c20 45 41 53 4f 4e 29 20 7c 0a 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f EASON).|.(255.<<.self::BITFIELD_
52c40 54 59 50 45 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 TYPE);.}..abstract.public.functi
52c60 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c on.getLiterals();..abstract.publ
52c80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 ic.function.getHash();..public.f
52ca0 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d unction.getJob().{.return.$this-
52cc0 3e 6a 6f 62 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >job;.}..abstract.public.functio
52ce0 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 n.equals(Rule.$rule);..public.fu
52d00 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 24 74 68 nction.getReason().{.return.($th
52d20 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 is->bitfield.&.(255.<<.self::BIT
52d40 46 49 45 4c 44 5f 52 45 41 53 4f 4e 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 FIELD_REASON)).>>.self::BITFIELD
52d60 5f 52 45 41 53 4f 4e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 _REASON;.}..public.function.getR
52d80 65 61 73 6f 6e 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 easonData().{.return.$this->reas
52da0 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 onData;.}..public.function.getRe
52dc0 71 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 quiredPackage().{.if.($this->get
52de0 52 65 61 73 6f 6e 28 29 20 3d 3d 3d 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 Reason().===.self::RULE_JOB_INST
52e00 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 3b ALL).{.return.$this->reasonData;
52e20 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 20 3d 3d 3d 20 73 .}..if.($this->getReason().===.s
52e40 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 29 20 7b 0a 72 65 elf::RULE_PACKAGE_REQUIRES).{.re
52e60 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 turn.$this->reasonData->getTarge
52e80 74 28 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 t();.}.}..public.function.setTyp
52ea0 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 3d 20 28 24 74 e($type).{.$this->bitfield.=.($t
52ec0 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 his->bitfield.&.~(255.<<.self::B
52ee0 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 7c 20 28 28 32 35 35 20 26 20 24 74 79 70 65 29 20 ITFIELD_TYPE)).|.((255.&.$type).
52f00 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 3b 0a 7d 0a 0a 70 75 62 6c <<.self::BITFIELD_TYPE);.}..publ
52f20 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 ic.function.getType().{.return.(
52f40 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a $this->bitfield.&.(255.<<.self::
52f60 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c BITFIELD_TYPE)).>>.self::BITFIEL
52f80 44 5f 54 59 50 45 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 D_TYPE;.}..public.function.disab
52fa0 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 3d 20 28 24 74 68 69 73 2d le().{.$this->bitfield.=.($this-
52fc0 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 >bitfield.&.~(255.<<.self::BITFI
52fe0 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 7c 20 28 31 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 ELD_DISABLED)).|.(1.<<.self::BIT
53000 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 FIELD_DISABLED);.}..public.funct
53020 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 3d ion.enable().{.$this->bitfield.=
53040 20 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 .$this->bitfield.&.~(255.<<.self
53060 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ::BITFIELD_DISABLED);.}..public.
53080 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 73 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 function.isDisabled().{.return.(
530a0 62 6f 6f 6c 29 20 28 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c bool).(($this->bitfield.&.(255.<
530c0 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 3e 3e 20 73 <.self::BITFIELD_DISABLED)).>>.s
530e0 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c elf::BITFIELD_DISABLED);.}..publ
53100 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e ic.function.isEnabled().{.return
53120 20 21 28 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 .!(($this->bitfield.&.(255.<<.se
53140 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 3e 3e 20 73 65 6c 66 3a lf::BITFIELD_DISABLED)).>>.self:
53160 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 :BITFIELD_DISABLED);.}..abstract
53180 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 65 72 74 69 6f 6e 28 29 3b 0a .public.function.isAssertion();.
531a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 .public.function.getPrettyString
531c0 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 (Pool.$pool,.array.$installedMap
531e0 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d .=.array()).{.$literals.=.$this-
53200 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 24 72 75 6c 65 54 65 78 74 20 3d 20 27 27 3b >getLiterals();..$ruleText.=.'';
53220 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 .foreach.($literals.as.$i.=>.$li
53240 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d 20 30 29 20 7b 0a 24 72 75 6c 65 54 65 78 teral).{.if.($i.!=.0).{.$ruleTex
53260 74 20 2e 3d 20 27 7c 27 3b 0a 7d 0a 24 72 75 6c 65 54 65 78 74 20 2e 3d 20 24 70 6f 6f 6c 2d 3e t..=.'|';.}.$ruleText..=.$pool->
53280 6c 69 74 65 72 61 6c 54 6f 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 6c 69 74 65 72 61 6c 2c 20 literalToPrettyString($literal,.
532a0 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 $installedMap);.}..switch.($this
532c0 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 ->getReason()).{.case.self::RULE
532e0 5f 49 4e 54 45 52 4e 41 4c 5f 41 4c 4c 4f 57 5f 55 50 44 41 54 45 3a 0a 72 65 74 75 72 6e 20 24 _INTERNAL_ALLOW_UPDATE:.return.$
53300 72 75 6c 65 54 65 78 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 ruleText;..case.self::RULE_JOB_I
53320 4e 53 54 41 4c 4c 3a 0a 72 65 74 75 72 6e 20 22 49 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 NSTALL:.return."Install.command.
53340 72 75 6c 65 20 28 24 72 75 6c 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 rule.($ruleText)";..case.self::R
53360 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 3a 0a 72 65 74 75 72 6e 20 22 52 65 6d 6f 76 65 20 63 ULE_JOB_REMOVE:.return."Remove.c
53380 6f 6d 6d 61 6e 64 20 72 75 6c 65 20 28 24 72 75 6c 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 ommand.rule.($ruleText)";..case.
533a0 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 3a 0a 24 70 61 self::RULE_PACKAGE_CONFLICT:.$pa
533c0 63 6b 61 67 65 31 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 ckage1.=.$pool->literalToPackage
533e0 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 24 70 61 63 6b 61 67 65 32 20 3d 20 24 70 6f 6f ($literals[0]);.$package2.=.$poo
53400 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 31 5d l->literalToPackage($literals[1]
53420 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 31 2d 3e 67 65 74 50 72 65 74 74 79 53 );..return.$package1->getPrettyS
53440 74 72 69 6e 67 28 29 2e 27 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 27 2e 24 74 68 69 73 tring().'.conflicts.with.'.$this
53460 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 61 72 ->formatPackagesUnique($pool,.ar
53480 72 61 79 28 24 70 61 63 6b 61 67 65 32 29 29 2e 27 2e 27 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a ray($package2)).'.';..case.self:
534a0 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 3a 0a 24 73 6f 75 72 63 65 4c :RULE_PACKAGE_REQUIRES:.$sourceL
534c0 69 74 65 72 61 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 6c 69 74 65 72 61 6c 73 29 3b iteral.=.array_shift($literals);
534e0 0a 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c .$sourcePackage.=.$pool->literal
53500 54 6f 50 61 63 6b 61 67 65 28 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 29 3b 0a 0a 24 72 65 71 ToPackage($sourceLiteral);..$req
53520 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 uires.=.array();.foreach.($liter
53540 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d als.as.$literal).{.$requires[].=
53560 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 .$pool->literalToPackage($litera
53580 6c 29 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 l);.}..$text.=.$this->reasonData
535a0 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 ->getPrettyString($sourcePackage
535c0 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d );.if.($requires).{.$text..=.'.-
535e0 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d >.satisfiable.by.'...$this->form
53600 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 72 65 71 75 69 72 65 atPackagesUnique($pool,.$require
53620 73 29 20 2e 20 27 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 72 67 65 74 4e 61 6d 65 20 3d s)...'.';.}.else.{.$targetName.=
53640 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b .$this->reasonData->getTarget();
53660 0a 0a 69 66 20 28 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 ..if.($targetName.===.'php'.||.$
53680 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 2d 36 34 62 69 74 27 20 7c 7c 20 24 74 targetName.===.'php-64bit'.||.$t
536a0 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 0a 20 69 66 20 28 64 65 argetName.===.'hhvm').{...if.(de
536c0 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 fined('HHVM_VERSION')).{.return.
536e0 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 20 48 48 56 4d 20 76 65 72 73 69 6f 6e 20 64 $text...'.->.your.HHVM.version.d
53700 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 oes.not.satisfy.that.requirement
53720 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 68 68 76 6d .';.}..if.($targetName.===.'hhvm
53740 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 20 61 72 65 ').{.return.$text...'.->.you.are
53760 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 50 48 50 20 61 6e 64 20 6e 6f 74 20 48 .running.this.with.PHP.and.not.H
53780 48 56 4d 2e 27 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 HVM.';.}..$packages.=.$pool->wha
537a0 74 50 72 6f 76 69 64 65 73 28 24 74 61 72 67 65 74 4e 61 6d 65 29 3b 0a 24 70 61 63 6b 61 67 65 tProvides($targetName);.$package
537c0 20 3d 20 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 63 75 72 72 65 6e 74 28 24 70 .=.count($packages).?.current($p
537e0 61 63 6b 61 67 65 73 29 20 3a 20 70 68 70 76 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 21 28 ackages).:.phpversion();..if.(!(
53800 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b $package.instanceof.CompletePack
53820 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 age)).{.return.$text...'.->.your
53840 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e 27 29 20 .PHP.version.('.phpversion().').
53860 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e does.not.satisfy.that.requiremen
53880 74 2e 27 3b 0a 7d 0a 0a 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 t.';.}..$extra.=.$package->getEx
538a0 74 72 61 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 tra();..if.(!empty($extra['confi
538c0 67 2e 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 79 g.platform'])).{.$text..=.'.->.y
538e0 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e our.PHP.version.('.phpversion().
53900 27 29 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 20 22 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 ').overridden.by."config.platfor
53920 6d 2e 70 68 70 22 20 76 65 72 73 69 6f 6e 20 28 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 m.php".version.('.$package->getP
53940 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 rettyVersion().').does.not.satis
53960 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a fy.that.requirement.';.}.else.{.
53980 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 $text..=.'.->.your.PHP.version.(
539a0 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 '.$package->getPrettyVersion().'
539c0 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d ).does.not.satisfy.that.requirem
539e0 65 6e 74 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 69 66 20 28 30 ent.';.}..return.$text;.}..if.(0
53a00 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 65 78 74 2d 27 29 .===.strpos($targetName,.'ext-')
53a20 29 20 7b 0a 0a 20 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c ).{...$ext.=.substr($targetName,
53a40 20 34 29 3b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 .4);.$error.=.extension_loaded($
53a60 65 78 74 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 ext).?.'has.the.wrong.version.('
53a80 2e 28 70 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 20 3f 3a 20 27 30 27 29 2e 27 29 20 69 6e .(phpversion($ext).?:.'0').').in
53aa0 73 74 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 stalled'.:.'is.missing.from.your
53ac0 20 73 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 74 .system';..return.$text...'.->.t
53ae0 68 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 24 65 78 he.requested.PHP.extension.'.$ex
53b00 74 2e 27 20 27 2e 24 65 72 72 6f 72 2e 27 2e 27 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 t.'.'.$error.'.';.}..if.(0.===.s
53b20 74 72 70 6f 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 6c 69 62 2d 27 29 29 20 7b 0a 0a 20 trpos($targetName,.'lib-')).{...
53b40 24 6c 69 62 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 29 3b 0a 0a $lib.=.substr($targetName,.4);..
53b60 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 74 68 65 20 72 65 71 75 65 73 74 65 return.$text...'.->.the.requeste
53b80 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 27 2e 24 6c 69 62 2e 27 20 68 61 73 20 74 68 d.linked.library.'.$lib.'.has.th
53ba0 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 69 73 20 e.wrong.version.installed.or.is.
53bc0 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 missing.from.your.system,.make.s
53be0 75 72 65 20 74 6f 20 68 61 76 65 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 ure.to.have.the.extension.provid
53c00 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 70 ing.it.';.}..if.($providers.=.$p
53c20 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 24 ool->whatProvides($targetName,.$
53c40 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 this->reasonData->getConstraint(
53c60 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e ),.true,.true)).{.return.$text..
53c80 20 27 20 2d 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e .'.->.satisfiable.by.'...$this->
53ca0 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 70 72 6f formatPackagesUnique($pool,.$pro
53cc0 76 69 64 65 72 73 29 20 2e 27 20 62 75 74 20 74 68 65 73 65 20 63 6f 6e 66 6c 69 63 74 20 77 69 viders)..'.but.these.conflict.wi
53ce0 74 68 20 79 6f 75 72 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 72 20 6d 69 6e 69 6d 75 6d 2d th.your.requirements.or.minimum-
53d00 73 74 61 62 69 6c 69 74 79 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 stability.';.}..return.$text...'
53d20 20 2d 3e 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 2e 27 3b .->.no.matching.package.found.';
53d40 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 .}..return.$text;..case.self::RU
53d60 4c 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 LE_PACKAGE_OBSOLETES:.return.$ru
53d80 6c 65 54 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 leText;.case.self::RULE_INSTALLE
53da0 44 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c D_PACKAGE_OBSOLETES:.return.$rul
53dc0 65 54 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 53 eText;.case.self::RULE_PACKAGE_S
53de0 41 4d 45 5f 4e 41 4d 45 3a 0a 72 65 74 75 72 6e 20 27 43 61 6e 20 6f 6e 6c 79 20 69 6e 73 74 61 AME_NAME:.return.'Can.only.insta
53e00 6c 6c 20 6f 6e 65 20 6f 66 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b ll.one.of:.'...$this->formatPack
53e20 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 20 2e 20 27 agesUnique($pool,.$literals)...'
53e40 2e 27 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c .';.case.self::RULE_PACKAGE_IMPL
53e60 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 ICIT_OBSOLETES:.return.$ruleText
53e80 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 44 3a 0a 72 65 74 75 72 ;.case.self::RULE_LEARNED:.retur
53ea0 6e 20 27 43 6f 6e 63 6c 75 73 69 6f 6e 3a 20 27 2e 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 n.'Conclusion:.'.$ruleText;.case
53ec0 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 3a 0a 72 65 74 75 72 .self::RULE_PACKAGE_ALIAS:.retur
53ee0 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 27 28 27 n.$ruleText;.default:.return.'('
53f00 2e 24 72 75 6c 65 54 65 78 74 2e 27 29 27 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 .$ruleText.')';.}.}........prote
53f20 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 cted.function.formatPackagesUniq
53f40 75 65 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 70 72 ue($pool,.array.$packages).{.$pr
53f60 65 70 61 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b epared.=.array();.foreach.($pack
53f80 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 ages.as.$package).{.if.(!is_obje
53fa0 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c ct($package)).{.$package.=.$pool
53fc0 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a ->literalToPackage($package);.}.
53fe0 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 $prepared[$package->getName()]['
54000 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 name'].=.$package->getPrettyName
54020 28 29 3b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ();.$prepared[$package->getName(
54040 29 5d 5b 27 76 65 72 73 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 )]['versions'][$package->getVers
54060 69 6f 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 ion()].=.$package->getPrettyVers
54080 69 6f 6e 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 ion();.}.foreach.($prepared.as.$
540a0 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e name.=>.$package).{.$prepared[$n
540c0 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c ame].=.$package['name'].'['.impl
540e0 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e ode(',.',.$package['versions']).
54100 27 5d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 ']';.}..return.implode(',.',.$pr
54120 65 70 61 72 65 64 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 epared);.}.}.<?php............na
54140 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
54160 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 ver;..use.Composer\Package\Packa
54180 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 geInterface;.use.Composer\Packag
541a0 65 5c 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 20 e\Link;.....class.Rule2Literals.
541c0 65 78 74 65 6e 64 73 20 52 75 6c 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 extends.Rule.{.protected.$litera
541e0 6c 31 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 32 3b 0a 0a 0a 0a 0a 0a 0a 0a l1;.protected.$literal2;........
54200 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6c 69 .public.function.__construct($li
54220 74 65 72 61 6c 31 2c 20 24 6c 69 74 65 72 61 6c 32 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 teral1,.$literal2,.$reason,.$rea
54240 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a sonData,.$job.=.null).{.parent::
54260 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 __construct($reason,.$reasonData
54280 2c 20 24 6a 6f 62 29 3b 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 31 20 3c 20 24 6c 69 74 65 72 ,.$job);..if.($literal1.<.$liter
542a0 61 6c 32 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 65 72 61 al2).{.$this->literal1.=.$litera
542c0 6c 31 3b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 6c 32 3b l1;.$this->literal2.=.$literal2;
542e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 .}.else.{.$this->literal1.=.$lit
54300 65 72 61 6c 32 3b 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 eral2;.$this->literal2.=.$litera
54320 6c 31 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 l1;.}.}..public.function.getLite
54340 72 61 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6c 69 74 rals().{.return.array($this->lit
54360 65 72 61 6c 31 2c 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 29 3b 0a 7d 0a 0a 70 75 62 6c eral1,.$this->literal2);.}..publ
54380 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ic.function.getHash().{.return.$
543a0 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 2e 27 2c 27 2e 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 this->literal1.','.$this->litera
543c0 6c 32 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 l2;.}..........public.function.e
543e0 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 0a 20 69 66 20 28 24 72 75 6c 65 20 quals(Rule.$rule).{...if.($rule.
54400 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 instanceof.self).{.if.($this->li
54420 74 65 72 61 6c 31 20 21 3d 3d 20 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 31 29 20 7b 0a 72 65 teral1.!==.$rule->literal1).{.re
54440 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 turn.false;.}..if.($this->litera
54460 6c 32 20 21 3d 3d 20 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 32 29 20 7b 0a 72 65 74 75 72 6e l2.!==.$rule->literal2).{.return
54480 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 .false;.}..return.true;.}..$lite
544a0 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 69 66 20 rals.=.$rule->getLiterals();.if.
544c0 28 32 20 21 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e (2.!=.count($literals)).{.return
544e0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 21 .false;.}..if.($this->literal1.!
54500 3d 3d 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ==.$literals[0]).{.return.false;
54520 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 21 3d 3d 20 24 6c 69 74 .}..if.($this->literal2.!==.$lit
54540 65 72 61 6c 73 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 erals[1]).{.return.false;.}..ret
54560 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 urn.true;.}..public.function.isA
54580 73 73 65 72 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a ssertion().{.return.false;.}....
545a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a ...public.function.__toString().
545c0 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 {.$result.=.$this->isDisabled().
545e0 3f 20 27 64 69 73 61 62 6c 65 64 28 27 20 3a 20 27 28 27 3b 0a 0a 24 72 65 73 75 6c 74 20 2e 3d ?.'disabled('.:.'(';..$result..=
54600 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 2e 20 27 7c 27 20 2e 20 24 74 68 69 73 2d 3e .$this->literal1...'|'...$this->
54620 6c 69 74 65 72 61 6c 32 20 2e 20 27 29 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b literal2...')';..return.$result;
54640 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
54660 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a Composer\DependencyResolver;....
54680 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 .class.RuleSet.implements.\Itera
546a0 74 6f 72 41 67 67 72 65 67 61 74 65 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 0a 20 63 6f 6e torAggregate,.\Countable.{...con
546c0 73 74 20 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f st.TYPE_PACKAGE.=.0;.const.TYPE_
546e0 4a 4f 42 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 20 34 3b JOB.=.1;.const.TYPE_LEARNED.=.4;
54700 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 24 72 75 6c 65 42 79 49 64 3b 0a 0a 70 72 6f 74 65 63 .......public.$ruleById;..protec
54720 74 65 64 20 73 74 61 74 69 63 20 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 32 35 35 20 3d ted.static.$types.=.array(.255.=
54740 3e 20 27 55 4e 4b 4e 4f 57 4e 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 20 >.'UNKNOWN',.self::TYPE_PACKAGE.
54760 3d 3e 20 27 50 41 43 4b 41 47 45 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 4a 4f 42 20 3d 3e 20 =>.'PACKAGE',.self::TYPE_JOB.=>.
54780 27 4a 4f 42 27 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3e 20 27 4c 45 'JOB',.self::TYPE_LEARNED.=>.'LE
547a0 41 52 4e 45 44 27 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 ARNED',.);..protected.$rules;.pr
547c0 6f 74 65 63 74 65 64 20 24 6e 65 78 74 52 75 6c 65 49 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 otected.$nextRuleId;..protected.
547e0 24 72 75 6c 65 73 42 79 48 61 73 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f $rulesByHash;..public.function._
54800 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 _construct().{.$this->nextRuleId
54820 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 73 28 .=.0;..foreach.($this->getTypes(
54840 29 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 ).as.$type).{.$this->rules[$type
54860 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 ].=.array();.}..$this->rulesByHa
54880 73 68 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e sh.=.array();.}..public.function
548a0 20 61 64 64 28 52 75 6c 65 20 24 72 75 6c 65 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 21 69 .add(Rule.$rule,.$type).{.if.(!i
548c0 73 73 65 74 28 73 65 6c 66 3a 3a 24 74 79 70 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 sset(self::$types[$type])).{.thr
548e0 6f 77 20 6e 65 77 20 5c 4f 75 74 4f 66 42 6f 75 6e 64 73 45 78 63 65 70 74 69 6f 6e 28 27 55 6e ow.new.\OutOfBoundsException('Un
54900 6b 6e 6f 77 6e 20 72 75 6c 65 20 74 79 70 65 3a 20 27 20 2e 20 24 74 79 70 65 29 3b 0a 7d 0a 0a known.rule.type:.'...$type);.}..
54920 24 68 61 73 68 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 48 61 73 68 28 29 3b 0a 0a 0a 20 69 66 20 $hash.=.$rule->getHash();....if.
54940 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d (isset($this->rulesByHash[$hash]
54960 29 29 20 7b 0a 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 3d 20 24 74 68 69 )).{.$potentialDuplicates.=.$thi
54980 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 3b 0a 69 66 20 28 69 73 5f 61 72 s->rulesByHash[$hash];.if.(is_ar
549a0 72 61 79 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 66 6f 72 ray($potentialDuplicates)).{.for
549c0 65 61 63 68 20 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 61 73 20 24 70 each.($potentialDuplicates.as.$p
549e0 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e otentialDuplicate).{.if.($rule->
54a00 65 71 75 61 6c 73 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 29 29 20 7b 0a 72 equals($potentialDuplicate)).{.r
54a20 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 65 eturn;.}.}.}.else.{.if.($rule->e
54a40 71 75 61 6c 73 28 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 72 quals($potentialDuplicates)).{.r
54a60 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e eturn;.}.}.}..if.(!isset($this->
54a80 72 75 6c 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 rules[$type])).{.$this->rules[$t
54aa0 79 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b ype].=.array();.}..$this->rules[
54ac0 24 74 79 70 65 5d 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 42 79 49 $type][].=.$rule;.$this->ruleByI
54ae0 64 5b 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 5d 20 3d 20 24 72 75 6c 65 3b 0a 24 72 d[$this->nextRuleId].=.$rule;.$r
54b00 75 6c 65 2d 3e 73 65 74 54 79 70 65 28 24 74 79 70 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 65 78 ule->setType($type);..$this->nex
54b20 74 52 75 6c 65 49 64 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 tRuleId++;..if.(!isset($this->ru
54b40 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 lesByHash[$hash])).{.$this->rule
54b60 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 20 3d 20 24 72 75 6c 65 3b 0a 7d 20 65 6c 73 65 69 66 sByHash[$hash].=.$rule;.}.elseif
54b80 20 28 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 .(is_array($this->rulesByHash[$h
54ba0 61 73 68 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 ash])).{.$this->rulesByHash[$has
54bc0 68 5d 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 72 69 67 69 6e 61 6c h][].=.$rule;.}.else.{.$original
54be0 52 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d Rule.=.$this->rulesByHash[$hash]
54c00 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 20 3d 20 61 72 ;.$this->rulesByHash[$hash].=.ar
54c20 72 61 79 28 24 6f 72 69 67 69 6e 61 6c 52 75 6c 65 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 7d 0a 0a ray($originalRule,.$rule);.}.}..
54c40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e public.function.count().{.return
54c60 20 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 .$this->nextRuleId;.}..public.fu
54c80 6e 63 74 69 6f 6e 20 72 75 6c 65 42 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.ruleById($id).{.return.$t
54ca0 68 69 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 69 64 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 his->ruleById[$id];.}..public.fu
54cc0 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 nction.getRules().{.return.$this
54ce0 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 ->rules;.}..public.function.getI
54d00 74 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 terator().{.return.new.RuleSetIt
54d20 65 72 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 29 3b 0a 7d 0a 0a 70 75 erator($this->getRules());.}..pu
54d40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 24 74 79 blic.function.getIteratorFor($ty
54d60 70 65 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a pes).{.if.(!is_array($types)).{.
54d80 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 61 6c 6c 52 $types.=.array($types);.}..$allR
54da0 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 24 72 75 6c 65 73 ules.=.$this->getRules();.$rules
54dc0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 20 61 73 20 .=.array();..foreach.($types.as.
54de0 24 74 79 70 65 29 20 7b 0a 24 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 61 6c 6c 52 75 6c $type).{.$rules[$type].=.$allRul
54e00 65 73 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 es[$type];.}..return.new.RuleSet
54e20 49 74 65 72 61 74 6f 72 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Iterator($rules);.}..public.func
54e40 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 28 24 74 79 70 65 73 29 0a tion.getIteratorWithout($types).
54e60 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a 24 74 79 70 65 {.if.(!is_array($types)).{.$type
54e80 73 20 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 72 75 6c 65 73 20 3d 20 24 s.=.array($types);.}..$rules.=.$
54ea0 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 this->getRules();..foreach.($typ
54ec0 65 73 20 61 73 20 24 74 79 70 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 75 6c 65 73 5b 24 74 79 70 es.as.$type).{.unset($rules[$typ
54ee0 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 e]);.}..return.new.RuleSetIterat
54f00 6f 72 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 or($rules);.}..public.function.g
54f20 65 74 54 79 70 65 73 28 29 0a 7b 0a 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 24 74 79 70 65 etTypes().{.$types.=.self::$type
54f40 73 3b 0a 75 6e 73 65 74 28 24 74 79 70 65 73 5b 32 35 35 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 s;.unset($types[255]);..return.a
54f60 72 72 61 79 5f 6b 65 79 73 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e rray_keys($types);.}..public.fun
54f80 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 6f 6f 6c 20 24 70 6f 6f 6c ction.getPrettyString(Pool.$pool
54fa0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 73 74 72 69 6e 67 20 3d 20 22 5c 6e 22 3b 0a 66 6f 72 65 61 .=.null).{.$string.=."\n";.forea
54fc0 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 72 75 ch.($this->rules.as.$type.=>.$ru
54fe0 6c 65 73 29 20 7b 0a 24 73 74 72 69 6e 67 20 2e 3d 20 73 74 72 5f 70 61 64 28 73 65 6c 66 3a 3a les).{.$string..=.str_pad(self::
55000 24 74 79 70 65 73 5b 24 74 79 70 65 5d 2c 20 38 2c 20 27 20 27 29 20 2e 20 22 3a 20 22 3b 0a 66 $types[$type],.8,.'.')...":.";.f
55020 6f 72 65 61 63 68 20 28 24 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 73 74 72 69 oreach.($rules.as.$rule).{.$stri
55040 6e 67 20 2e 3d 20 28 24 70 6f 6f 6c 20 3f 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 ng..=.($pool.?.$rule->getPrettyS
55060 74 72 69 6e 67 28 24 70 6f 6f 6c 29 20 3a 20 24 72 75 6c 65 29 2e 22 5c 6e 22 3b 0a 7d 0a 24 73 tring($pool).:.$rule)."\n";.}.$s
55080 74 72 69 6e 67 20 2e 3d 20 22 5c 6e 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 72 69 tring..=."\n\n";.}..return.$stri
550a0 6e 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e ng;.}..public.function.__toStrin
550c0 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 g().{.return.$this->getPrettyStr
550e0 69 6e 67 28 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ing(null);.}.}.<?php............
55100 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 namespace.Composer\DependencyRes
55120 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 olver;..use.Composer\Package\Pac
55140 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b kageInterface;.use.Composer\Pack
55160 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 age\AliasPackage;.use.Composer\R
55180 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a epository\PlatformRepository;...
551a0 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 65 ..class.RuleSetGenerator.{.prote
551c0 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 cted.$policy;.protected.$pool;.p
551e0 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 rotected.$rules;.protected.$jobs
55200 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 70 72 6f 74 65 ;.protected.$installedMap;.prote
55220 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 cted.$whitelistedMap;.protected.
55240 24 61 64 64 65 64 4d 61 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f $addedMap;..public.function.__co
55260 6e 73 74 72 75 63 74 28 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c nstruct(PolicyInterface.$policy,
55280 20 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 .Pool.$pool).{.$this->policy.=.$
552a0 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a policy;.$this->pool.=.$pool;.}..
552c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ..............protected.function
552e0 20 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 .createRequireRule(PackageInterf
55300 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 72 73 2c 20 ace.$package,.array.$providers,.
55320 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 $reason,.$reasonData.=.null).{.$
55340 6c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 2d 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 3b literals.=.array(-$package->id);
55360 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 69 64 ..foreach.($providers.as.$provid
55380 65 72 29 20 7b 0a 0a 20 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 er).{...if.($provider.===.$packa
553a0 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 6c 69 74 65 72 61 6c 73 5b 5d ge).{.return.null;.}.$literals[]
553c0 20 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 69 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 .=.$provider->id;.}..return.new.
553e0 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 GenericRule($literals,.$reason,.
55400 24 72 65 61 73 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f $reasonData);.}..............pro
55420 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 tected.function.createInstallOne
55440 4f 66 52 75 6c 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 61 73 6f 6e 2c OfRule(array.$packages,.$reason,
55460 20 24 6a 6f 62 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f .$job).{.$literals.=.array();.fo
55480 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a reach.($packages.as.$package).{.
554a0 24 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 69 64 3b 0a 7d 0a 0a 72 $literals[].=.$package->id;.}..r
554c0 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 73 2c eturn.new.GenericRule($literals,
554e0 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 .$reason,.$job['packageName'],.$
55500 6a 6f 62 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 job);.}.............protected.fu
55520 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 50 61 63 6b 61 67 65 49 nction.createRemoveRule(PackageI
55540 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 nterface.$package,.$reason,.$job
55560 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 61 72 72 61 79 ).{.return.new.GenericRule(array
55580 28 2d 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 5b 27 (-$package->id),.$reason,.$job['
555a0 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a packageName'],.$job);.}.........
555c0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 .......protected.function.create
555e0 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 Rule2Literals(PackageInterface.$
55600 69 73 73 75 65 72 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 issuer,.PackageInterface.$provid
55620 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 20 3d 20 6e 75 6c 6c 29 er,.$reason,.$reasonData.=.null)
55640 0a 7b 0a 0a 20 69 66 20 28 24 69 73 73 75 65 72 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 .{...if.($issuer.===.$provider).
55660 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c {.return.null;.}..return.new.Rul
55680 65 32 4c 69 74 65 72 61 6c 73 28 2d 24 69 73 73 75 65 72 2d 3e 69 64 2c 20 2d 24 70 72 6f 76 69 e2Literals(-$issuer->id,.-$provi
556a0 64 65 72 2d 3e 69 64 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 29 3b 0a der->id,.$reason,.$reasonData);.
556c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 }...........private.function.add
556e0 52 75 6c 65 28 24 74 79 70 65 2c 20 52 75 6c 65 20 24 6e 65 77 52 75 6c 65 20 3d 20 6e 75 6c 6c Rule($type,.Rule.$newRule.=.null
55700 29 0a 7b 0a 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a ).{.if.(!$newRule).{.return;.}..
55720 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 28 24 6e 65 77 52 75 6c 65 2c 20 24 74 79 70 $this->rules->add($newRule,.$typ
55740 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 74 65 6c e);.}..protected.function.whitel
55760 69 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 istFromPackage(PackageInterface.
55780 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 77 6f 72 6b 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 $package).{.$workQueue.=.new.\Sp
557a0 6c 51 75 65 75 65 3b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 61 63 lQueue;.$workQueue->enqueue($pac
557c0 6b 61 67 65 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 77 6f 72 6b 51 75 65 75 65 2d 3e 69 73 45 6d kage);..while.(!$workQueue->isEm
557e0 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 77 6f 72 6b 51 75 65 75 65 2d 3e pty()).{.$package.=.$workQueue->
55800 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 dequeue();.if.(isset($this->whit
55820 65 6c 69 73 74 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e elistedMap[$package->id])).{.con
55840 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 5b tinue;.}..$this->whitelistedMap[
55860 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 $package->id].=.true;..foreach.(
55880 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b $package->getRequires().as.$link
558a0 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 ).{.$possibleRequires.=.$this->p
558c0 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 ool->whatProvides($link->getTarg
558e0 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 20 74 72 et(),.$link->getConstraint(),.tr
55900 75 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 ue);..foreach.($possibleRequires
55920 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 .as.$require).{.$workQueue->enqu
55940 65 75 65 28 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 0a 24 6f 62 73 6f 6c 65 74 65 50 72 6f eue($require);.}.}..$obsoletePro
55960 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 viders.=.$this->pool->whatProvid
55980 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 2c 20 74 72 es($package->getName(),.null,.tr
559a0 75 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 ue);..foreach.($obsoleteProvider
559c0 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 s.as.$provider).{.if.($provider.
559e0 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 ===.$package).{.continue;.}..if.
55a00 28 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 (($package.instanceof.AliasPacka
55a20 67 65 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d ge).&&.$package->getAliasOf().==
55a40 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 =.$provider).{.$workQueue->enque
55a60 75 65 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ue($provider);.}.}.}.}..protecte
55a80 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 50 61 d.function.addRulesForPackage(Pa
55aa0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 ckageInterface.$package,.$ignore
55ac0 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 24 77 6f 72 6b 51 75 65 75 65 20 3d 20 6e 65 77 PlatformReqs).{.$workQueue.=.new
55ae0 20 5c 53 70 6c 51 75 65 75 65 3b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 .\SplQueue;.$workQueue->enqueue(
55b00 24 70 61 63 6b 61 67 65 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 77 6f 72 6b 51 75 65 75 65 2d 3e $package);..while.(!$workQueue->
55b20 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 77 6f 72 6b 51 75 65 isEmpty()).{.$package.=.$workQue
55b40 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ue->dequeue();.if.(isset($this->
55b60 61 64 64 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 addedMap[$package->id])).{.conti
55b80 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 nue;.}..$this->addedMap[$package
55ba0 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 ->id].=.true;..foreach.($package
55bc0 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 ->getRequires().as.$link).{.if.(
55be0 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 $ignorePlatformReqs.&&.preg_matc
55c00 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 h(PlatformRepository::PLATFORM_P
55c20 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 ACKAGE_REGEX,.$link->getTarget()
55c40 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 )).{.continue;.}..$possibleRequi
55c60 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 res.=.$this->pool->whatProvides(
55c80 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f $link->getTarget(),.$link->getCo
55ca0 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c nstraint());..$this->addRule(Rul
55cc0 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 eSet::TYPE_PACKAGE,.$this->creat
55ce0 65 52 65 71 75 69 72 65 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 eRequireRule($package,.$possible
55d00 52 65 71 75 69 72 65 73 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 Requires,.Rule::RULE_PACKAGE_REQ
55d20 55 49 52 45 53 2c 20 24 6c 69 6e 6b 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 UIRES,.$link));..foreach.($possi
55d40 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 77 6f 72 6b bleRequires.as.$require).{.$work
55d60 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 0a 66 Queue->enqueue($require);.}.}..f
55d80 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 oreach.($package->getConflicts()
55da0 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 73 20 .as.$link).{.$possibleConflicts.
55dc0 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e =.$this->pool->whatProvides($lin
55de0 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 k->getTarget(),.$link->getConstr
55e00 61 69 6e 74 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 aint());..foreach.($possibleConf
55e20 6c 69 63 74 73 20 61 73 20 24 63 6f 6e 66 6c 69 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 licts.as.$conflict).{.$this->add
55e40 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 Rule(RuleSet::TYPE_PACKAGE,.$thi
55e60 73 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c s->createRule2Literals($package,
55e80 20 24 63 6f 6e 66 6c 69 63 74 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 .$conflict,.Rule::RULE_PACKAGE_C
55ea0 4f 4e 46 4c 49 43 54 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 69 73 49 6e 73 74 ONFLICT,.$link));.}.}....$isInst
55ec0 61 6c 6c 65 64 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 alled.=.isset($this->installedMa
55ee0 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 p[$package->id]);..foreach.($pac
55f00 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a kage->getReplaces().as.$link).{.
55f20 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c $obsoleteProviders.=.$this->pool
55f40 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 ->whatProvides($link->getTarget(
55f60 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 66 6f 72 ),.$link->getConstraint());..for
55f80 65 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f each.($obsoleteProviders.as.$pro
55fa0 76 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b vider).{.if.($provider.===.$pack
55fc0 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e age).{.continue;.}..if.(!$this->
55fe0 6f 62 73 6f 6c 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b obsoleteImpossibleForAlias($pack
56000 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 69 73 age,.$provider)).{.$reason.=.$is
56020 49 6e 73 74 61 6c 6c 65 64 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 Installed.?.Rule::RULE_INSTALLED
56040 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3a 20 52 75 6c 65 3a 3a 52 55 4c 45 5f _PACKAGE_OBSOLETES.:.Rule::RULE_
56060 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c PACKAGE_OBSOLETES;.$this->addRul
56080 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e e(RuleSet::TYPE_PACKAGE,.$this->
560a0 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 createRule2Literals($package,.$p
560c0 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 7d rovider,.$reason,.$link));.}.}.}
560e0 0a 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 ..$packageName.=.$package->getNa
56100 6d 65 28 29 3b 0a 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 me();.$obsoleteProviders.=.$this
56120 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d ->pool->whatProvides($packageNam
56140 65 2c 20 6e 75 6c 6c 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f e,.null);..foreach.($obsoletePro
56160 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 viders.as.$provider).{.if.($prov
56180 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d ider.===.$package).{.continue;.}
561a0 0a 0a 69 66 20 28 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 ..if.(($package.instanceof.Alias
561c0 50 61 63 6b 61 67 65 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 Package).&&.$package->getAliasOf
561e0 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 ().===.$provider).{.$this->addRu
56200 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d le(RuleSet::TYPE_PACKAGE,.$this-
56220 3e 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 61 72 72 >createRequireRule($package,.arr
56240 61 79 28 24 70 72 6f 76 69 64 65 72 29 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 ay($provider),.Rule::RULE_PACKAG
56260 45 5f 41 4c 49 41 53 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 E_ALIAS,.$package));.}.elseif.(!
56280 24 74 68 69 73 2d 3e 6f 62 73 6f 6c 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 $this->obsoleteImpossibleForAlia
562a0 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f s($package,.$provider)).{.$reaso
562c0 6e 20 3d 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e n.=.($packageName.==.$provider->
562e0 67 65 74 4e 61 6d 65 28 29 29 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f getName()).?.Rule::RULE_PACKAGE_
56300 53 41 4d 45 5f 4e 41 4d 45 20 3a 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 SAME_NAME.:.Rule::RULE_PACKAGE_I
56320 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c MPLICIT_OBSOLETES;.$this->addRul
56340 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e e(RuleSet::TYPE_PACKAGE,.$this->
56360 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 createRule2Literals($package,.$p
56380 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a rovider,.$reason,.$package));.}.
563a0 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 73 6f 6c 65 }.}.}..protected.function.obsole
563c0 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c 20 24 teImpossibleForAlias($package,.$
563e0 70 72 6f 76 69 64 65 72 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 3d 20 24 70 provider).{.$packageIsAlias.=.$p
56400 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a ackage.instanceof.AliasPackage;.
56420 24 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 20 3d 20 24 70 72 6f 76 69 64 65 72 20 69 6e 73 $providerIsAlias.=.$provider.ins
56440 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 24 69 6d 70 6f 73 73 69 62 tanceof.AliasPackage;..$impossib
56460 6c 65 20 3d 20 28 0a 28 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 61 63 6b le.=.(.($packageIsAlias.&&.$pack
56480 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 age->getAliasOf().===.$provider)
564a0 20 7c 7c 0a 28 24 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 .||.($providerIsAlias.&&.$provid
564c0 65 72 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7c er->getAliasOf().===.$package).|
564e0 7c 0a 28 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 49 |.($packageIsAlias.&&.$providerI
56500 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 sAlias.&&.$provider->getAliasOf(
56520 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 0a 29 3b ).===.$package->getAliasOf()).);
56540 0a 0a 72 65 74 75 72 6e 20 24 69 6d 70 6f 73 73 69 62 6c 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 ..return.$impossible;.}..protect
56560 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 0a ed.function.whitelistFromJobs().
56580 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 {.foreach.($this->jobs.as.$job).
565a0 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 {.switch.($job['cmd']).{.case.'i
565c0 6e 73 74 61 6c 6c 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c nstall':.$packages.=.$this->pool
565e0 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 ->whatProvides($job['packageName
56600 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a 66 '],.$job['constraint'],.true);.f
56620 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b oreach.($packages.as.$package).{
56640 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 .$this->whitelistFromPackage($pa
56660 63 6b 61 67 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ckage);.}.break;.}.}.}..protecte
56680 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 4a 6f 62 73 28 24 69 67 6e 6f d.function.addRulesForJobs($igno
566a0 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 rePlatformReqs).{.foreach.($this
566c0 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 ->jobs.as.$job).{.switch.($job['
566e0 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 21 24 6a cmd']).{.case.'install':.if.(!$j
56700 6f 62 5b 27 66 69 78 65 64 27 5d 20 26 26 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 ob['fixed'].&&.$ignorePlatformRe
56720 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 qs.&&.preg_match(PlatformReposit
56740 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6a 6f ory::PLATFORM_PACKAGE_REGEX,.$jo
56760 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 b['packageName'])).{.break;.}..$
56780 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 packages.=.$this->pool->whatProv
567a0 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 ides($job['packageName'],.$job['
567c0 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 73 29 20 7b 0a constraint']);.if.($packages).{.
567e0 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 foreach.($packages.as.$package).
56800 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 {.if.(!isset($this->installedMap
56820 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c [$package->id])).{.$this->addRul
56840 65 73 46 6f 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 6c esForPackage($package,.$ignorePl
56860 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d atformReqs);.}.}..$rule.=.$this-
56880 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 24 70 61 63 6b 61 67 65 >createInstallOneOfRule($package
568a0 73 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 2c 20 24 6a 6f 62 29 s,.Rule::RULE_JOB_INSTALL,.$job)
568c0 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a ;.$this->addRule(RuleSet::TYPE_J
568e0 4f 42 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 72 65 6d 6f 76 OB,.$rule);.}.break;.case.'remov
56900 65 27 3a 0a 0a 20 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d e':.....$packages.=.$this->pool-
56920 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 >whatProvides($job['packageName'
56940 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 66 6f 72 65 61 63 68 20 ],.$job['constraint']);.foreach.
56960 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 72 75 6c 65 20 ($packages.as.$package).{.$rule.
56980 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 24 70 61 63 6b 61 =.$this->createRemoveRule($packa
569a0 67 65 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 2c 20 24 6a 6f 62 29 ge,.Rule::RULE_JOB_REMOVE,.$job)
569c0 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a ;.$this->addRule(RuleSet::TYPE_J
569e0 4f 42 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c OB,.$rule);.}.break;.}.}.}..publ
56a00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 46 6f 72 28 24 6a 6f 62 73 2c 20 24 ic.function.getRulesFor($jobs,.$
56a20 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 installedMap,.$ignorePlatformReq
56a40 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 6a 6f 62 73 s.=.false).{.$this->jobs.=.$jobs
56a60 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 6e 65 77 20 52 75 6c 65 53 65 74 3b 0a 24 74 ;.$this->rules.=.new.RuleSet;.$t
56a80 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 his->installedMap.=.$installedMa
56aa0 70 3b 0a 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 20 3d 20 61 72 72 61 p;..$this->whitelistedMap.=.arra
56ac0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 y();.foreach.($this->installedMa
56ae0 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 p.as.$package).{.$this->whitelis
56b00 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 2d tFromPackage($package);.}.$this-
56b20 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 6f >whitelistFromJobs();..$this->po
56b40 6f 6c 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 ol->setWhitelist($this->whitelis
56b60 74 65 64 4d 61 70 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 20 3d 20 61 72 72 61 tedMap);..$this->addedMap.=.arra
56b80 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 y();.foreach.($this->installedMa
56ba0 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 p.as.$package).{.$this->addRules
56bc0 46 6f 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 ForPackage($package,.$ignorePlat
56be0 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 formReqs);.}..$this->addRulesFor
56c00 4a 6f 62 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 0a 72 65 74 75 Jobs($ignorePlatformReqs);..retu
56c20 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a rn.$this->rules;.}.}.<?php......
56c40 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 ......namespace.Composer\Depende
56c60 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 49 74 ncyResolver;.....class.RuleSetIt
56c80 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 erator.implements.\Iterator.{.pr
56ca0 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 73 otected.$rules;.protected.$types
56cc0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 75 72 72 65 6e 74 4f 66 66 73 65 74 3b 0a 70 72 6f ;..protected.$currentOffset;.pro
56ce0 74 65 63 74 65 64 20 24 63 75 72 72 65 6e 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 tected.$currentType;.protected.$
56d00 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 currentTypeOffset;..public.funct
56d20 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 75 6c 65 73 29 0a 7b 0a ion.__construct(array.$rules).{.
56d40 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 24 72 75 6c 65 73 3b 0a 24 74 68 69 73 2d 3e 74 79 $this->rules.=.$rules;.$this->ty
56d60 70 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 75 6c 65 73 29 3b 0a 73 6f 72 74 28 24 pes.=.array_keys($rules);.sort($
56d80 74 68 69 73 2d 3e 74 79 70 65 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 28 29 3b 0a this->types);..$this->rewind();.
56da0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 72 }..public.function.current().{.r
56dc0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e eturn.$this->rules[$this->curren
56de0 74 54 79 70 65 5d 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 3b 0a 7d 0a tType][$this->currentOffset];.}.
56e00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .public.function.key().{.return.
56e20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 $this->currentType;.}..public.fu
56e40 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 nction.next().{.$this->currentOf
56e60 66 73 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 fset++;..if.(!isset($this->rules
56e80 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b [$this->currentType])).{.return;
56ea0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3e 3d 20 .}..if.($this->currentOffset.>=.
56ec0 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e count($this->rules[$this->curren
56ee0 74 54 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 tType])).{.$this->currentOffset.
56f00 3d 20 30 3b 0a 0a 64 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 =.0;..do.{.$this->currentTypeOff
56f20 73 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b set++;..if.(!isset($this->types[
56f40 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 29 20 7b 0a 24 74 $this->currentTypeOffset])).{.$t
56f60 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a his->currentType.=.-1;.break;.}.
56f80 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 74 79 70 .$this->currentType.=.$this->typ
56fa0 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 3b 0a 7d 20 es[$this->currentTypeOffset];.}.
56fc0 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d while.(isset($this->types[$this-
56fe0 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 20 26 26 20 21 63 6f 75 6e 74 28 24 >currentTypeOffset]).&&.!count($
57000 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 this->rules[$this->currentType])
57020 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 );.}.}..public.function.rewind()
57040 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 24 74 .{.$this->currentOffset.=.0;..$t
57060 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 20 3d 20 2d 31 3b 0a 24 74 68 his->currentTypeOffset.=.-1;.$th
57080 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 0a 64 6f 20 7b 0a 24 74 68 69 is->currentType.=.-1;..do.{.$thi
570a0 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 s->currentTypeOffset++;..if.(!is
570c0 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 set($this->types[$this->currentT
570e0 79 70 65 4f 66 66 73 65 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 ypeOffset])).{.$this->currentTyp
57100 65 20 3d 20 2d 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 e.=.-1;.break;.}..$this->current
57120 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 Type.=.$this->types[$this->curre
57140 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 ntTypeOffset];.}.while.(isset($t
57160 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 his->types[$this->currentTypeOff
57180 73 65 74 5d 29 20 26 26 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 set]).&&.!count($this->rules[$th
571a0 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 is->currentType]));.}..public.fu
571c0 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 nction.valid().{.return.isset($t
571e0 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 0a his->rules[$this->currentType]).
57200 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 &&.isset($this->rules[$this->cur
57220 72 65 6e 74 54 79 70 65 5d 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 29 rentType][$this->currentOffset])
57240 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
57260 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a .Composer\DependencyResolver;...
57280 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 20 65 78 74 65 .......class.RuleWatchChain.exte
572a0 6e 64 73 20 5c 53 70 6c 44 6f 75 62 6c 79 4c 69 6e 6b 65 64 4c 69 73 74 0a 7b 0a 70 72 6f 74 65 nds.\SplDoublyLinkedList.{.prote
572c0 63 74 65 64 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 cted.$offset.=.0;.......public.f
572e0 75 6e 63 74 69 6f 6e 20 73 65 65 6b 28 24 6f 66 66 73 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 unction.seek($offset).{.$this->r
57300 65 77 69 6e 64 28 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6f 66 66 73 ewind();.for.($i.=.0;.$i.<.$offs
57320 65 74 3b 20 24 69 2b 2b 2c 20 24 74 68 69 73 2d 3e 6e 65 78 74 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a et;.$i++,.$this->next());.}.....
57340 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 29 0a 7b 0a .....public.function.remove().{.
57360 24 6f 66 66 73 65 74 20 3d 20 24 74 68 69 73 2d 3e 6b 65 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f $offset.=.$this->key();.$this->o
57380 66 66 73 65 74 55 6e 73 65 74 28 24 6f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 65 6b ffsetUnset($offset);.$this->seek
573a0 28 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ($offset);.}.}.<?php............
573c0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 namespace.Composer\DependencyRes
573e0 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 olver;............class.RuleWatc
57400 68 47 72 61 70 68 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 43 68 61 69 6e 73 20 hGraph.{.protected.$watchChains.
57420 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 =.array();..............public.f
57440 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 28 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 20 24 6e 6f unction.insert(RuleWatchNode.$no
57460 64 65 29 0a 7b 0a 69 66 20 28 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 41 73 de).{.if.($node->getRule()->isAs
57480 73 65 72 74 69 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 sertion()).{.return;.}..foreach.
574a0 28 61 72 72 61 79 28 24 6e 6f 64 65 2d 3e 77 61 74 63 68 31 2c 20 24 6e 6f 64 65 2d 3e 77 61 74 (array($node->watch1,.$node->wat
574c0 63 68 32 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 ch2).as.$literal).{.if.(!isset($
574e0 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a this->watchChains[$literal])).{.
57500 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 20 3d 20 6e $this->watchChains[$literal].=.n
57520 65 77 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 61 74 ew.RuleWatchChain;.}..$this->wat
57540 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 74 28 24 6e 6f 64 chChains[$literal]->unshift($nod
57560 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e);.}.}.........................
57580 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 61 67 61 74 65 4c 69 74 65 72 61 6c public.function.propagateLiteral
575a0 28 24 64 65 63 69 64 65 64 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 ($decidedLiteral,.$level,.$decis
575c0 69 6f 6e 73 29 0a 7b 0a 0a 20 0a 20 0a 20 24 6c 69 74 65 72 61 6c 20 3d 20 2d 24 64 65 63 69 64 ions).{.......$literal.=.-$decid
575e0 65 64 4c 69 74 65 72 61 6c 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 edLiteral;..if.(!isset($this->wa
57600 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e tchChains[$literal])).{.return.n
57620 75 6c 6c 3b 0a 7d 0a 0a 24 63 68 61 69 6e 20 3d 20 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 ull;.}..$chain.=.$this->watchCha
57640 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 3b 0a 0a 24 63 68 61 69 6e 2d 3e 72 65 77 69 6e 64 28 29 ins[$literal];..$chain->rewind()
57660 3b 0a 77 68 69 6c 65 20 28 24 63 68 61 69 6e 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 24 6e 6f 64 ;.while.($chain->valid()).{.$nod
57680 65 20 3d 20 24 63 68 61 69 6e 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 24 6f 74 68 65 72 57 61 74 e.=.$chain->current();.$otherWat
576a0 63 68 20 3d 20 24 6e 6f 64 65 2d 3e 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 ch.=.$node->getOtherWatch($liter
576c0 61 6c 29 3b 0a 0a 69 66 20 28 21 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 44 al);..if.(!$node->getRule()->isD
576e0 69 73 61 62 6c 65 64 28 29 20 26 26 20 21 24 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 isabled().&&.!$decisions->satisf
57700 79 28 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 20 y($otherWatch)).{.$ruleLiterals.
57720 3d 20 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 =.$node->getRule()->getLiterals(
57740 29 3b 0a 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 );..$alternativeLiterals.=.array
57760 5f 66 69 6c 74 65 72 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 2c 20 66 75 6e 63 74 69 6f 6e 20 _filter($ruleLiterals,.function.
57780 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 29 20 75 73 65 20 28 24 6c 69 74 65 72 61 6c 2c 20 24 6f ($ruleLiteral).use.($literal,.$o
577a0 74 68 65 72 57 61 74 63 68 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 20 therWatch,.$decisions).{.return.
577c0 24 6c 69 74 65 72 61 6c 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 24 6f 74 $literal.!==.$ruleLiteral.&&.$ot
577e0 68 65 72 57 61 74 63 68 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 21 24 64 herWatch.!==.$ruleLiteral.&&.!$d
57800 65 63 69 73 69 6f 6e 73 2d 3e 63 6f 6e 66 6c 69 63 74 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 29 ecisions->conflict($ruleLiteral)
57820 3b 0a 7d 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 ;.});..if.($alternativeLiterals)
57840 20 7b 0a 72 65 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 3b 0a .{.reset($alternativeLiterals);.
57860 24 74 68 69 73 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 2c 20 63 75 72 72 65 $this->moveWatch($literal,.curre
57880 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 2c 20 24 6e 6f 64 65 29 nt($alternativeLiterals),.$node)
578a0 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 73 2d 3e 63 ;.continue;.}..if.($decisions->c
578c0 6f 6e 66 6c 69 63 74 28 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 onflict($otherWatch)).{.return.$
578e0 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 73 2d 3e node->getRule();.}..$decisions->
57900 64 65 63 69 64 65 28 24 6f 74 68 65 72 57 61 74 63 68 2c 20 24 6c 65 76 65 6c 2c 20 24 6e 6f 64 decide($otherWatch,.$level,.$nod
57920 65 2d 3e 67 65 74 52 75 6c 65 28 29 29 3b 0a 7d 0a 0a 24 63 68 61 69 6e 2d 3e 6e 65 78 74 28 29 e->getRule());.}..$chain->next()
57940 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ;.}..return.null;.}...........pr
57960 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d otected.function.moveWatch($from
57980 4c 69 74 65 72 61 6c 2c 20 24 74 6f 4c 69 74 65 72 61 6c 2c 20 24 6e 6f 64 65 29 0a 7b 0a 69 66 Literal,.$toLiteral,.$node).{.if
579a0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c .(!isset($this->watchChains[$toL
579c0 69 74 65 72 61 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 iteral])).{.$this->watchChains[$
579e0 74 6f 4c 69 74 65 72 61 6c 5d 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 3b toLiteral].=.new.RuleWatchChain;
57a00 0a 7d 0a 0a 24 6e 6f 64 65 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 4c 69 74 65 72 61 .}..$node->moveWatch($fromLitera
57a20 6c 2c 20 24 74 6f 4c 69 74 65 72 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 l,.$toLiteral);.$this->watchChai
57a40 6e 73 5b 24 66 72 6f 6d 4c 69 74 65 72 61 6c 5d 2d 3e 72 65 6d 6f 76 65 28 29 3b 0a 24 74 68 69 ns[$fromLiteral]->remove();.$thi
57a60 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 s->watchChains[$toLiteral]->unsh
57a80 69 66 74 28 24 6e 6f 64 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ift($node);.}.}.<?php...........
57aa0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 .namespace.Composer\DependencyRe
57ac0 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 4e solver;.........class.RuleWatchN
57ae0 6f 64 65 0a 7b 0a 70 75 62 6c 69 63 20 24 77 61 74 63 68 31 3b 0a 70 75 62 6c 69 63 20 24 77 61 ode.{.public.$watch1;.public.$wa
57b00 74 63 68 32 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 tch2;..protected.$rule;.......pu
57b20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 75 6c 65 29 blic.function.__construct($rule)
57b40 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 20 3d 20 24 72 75 6c 65 3b 0a 0a 24 6c 69 74 65 72 61 .{.$this->rule.=.$rule;..$litera
57b60 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 24 6c 69 74 ls.=.$rule->getLiterals();..$lit
57b80 65 72 61 6c 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 24 74 eralCount.=.count($literals);.$t
57ba0 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 20 24 6c 69 74 65 72 61 6c 43 6f 75 6e 74 20 3e 20 30 20 his->watch1.=.$literalCount.>.0.
57bc0 3f 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 20 3a 20 30 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 ?.$literals[0].:.0;.$this->watch
57be0 32 20 3d 20 24 6c 69 74 65 72 61 6c 43 6f 75 6e 74 20 3e 20 31 20 3f 20 24 6c 69 74 65 72 61 6c 2.=.$literalCount.>.1.?.$literal
57c00 73 5b 31 5d 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s[1].:.0;.}..........public.func
57c20 74 69 6f 6e 20 77 61 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 44 65 63 69 73 69 6f 6e 73 20 24 tion.watch2OnHighest(Decisions.$
57c40 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e decisions).{.$literals.=.$this->
57c60 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e rule->getLiterals();....if.(coun
57c80 74 28 24 6c 69 74 65 72 61 6c 73 29 20 3c 20 33 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 t($literals).<.3).{.return;.}..$
57ca0 77 61 74 63 68 4c 65 76 65 6c 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 watchLevel.=.0;..foreach.($liter
57cc0 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 6c 65 76 65 6c 20 3d 20 24 64 65 63 als.as.$literal).{.$level.=.$dec
57ce0 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b isions->decisionLevel($literal);
57d00 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 24 77 61 74 63 68 4c 65 76 65 6c 29 20 7b 0a 24 74 ..if.($level.>.$watchLevel).{.$t
57d20 68 69 73 2d 3e 77 61 74 63 68 32 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 77 61 74 63 68 4c 65 his->watch2.=.$literal;.$watchLe
57d40 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 vel.=.$level;.}.}.}.......public
57d60 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.getRule().{.return.$th
57d80 69 73 2d 3e 72 75 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 is->rule;.}........public.functi
57da0 6f 6e 20 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 69 66 20 on.getOtherWatch($literal).{.if.
57dc0 28 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 3d 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 72 65 ($this->watch1.==.$literal).{.re
57de0 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 74 63 68 32 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 turn.$this->watch2;.}..return.$t
57e00 68 69 73 2d 3e 77 61 74 63 68 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->watch1;.}........public.fun
57e20 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b 0a 69 66 ction.moveWatch($from,.$to).{.if
57e40 20 28 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 3d 20 24 66 72 6f 6d 29 20 7b 0a 24 74 68 69 .($this->watch1.==.$from).{.$thi
57e60 73 2d 3e 77 61 74 63 68 31 20 3d 20 24 74 6f 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d s->watch1.=.$to;.}.else.{.$this-
57e80 3e 77 61 74 63 68 32 20 3d 20 24 74 6f 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a >watch2.=.$to;.}.}.}.<?php......
57ea0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 ......namespace.Composer\Depende
57ec0 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f ncyResolver;..use.Composer\IO\IO
57ee0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f Interface;.use.Composer\Reposito
57f00 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ry\RepositoryInterface;.use.Comp
57f20 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f oser\Repository\PlatformReposito
57f40 72 79 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 0a 7b 0a 63 6f 6e 73 74 20 42 52 41 ry;.....class.Solver.{.const.BRA
57f60 4e 43 48 5f 4c 49 54 45 52 41 4c 53 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 4c NCH_LITERALS.=.0;.const.BRANCH_L
57f80 45 56 45 4c 20 3d 20 31 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 0a EVEL.=.1;...protected.$policy;..
57fa0 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 protected.$pool;..protected.$ins
57fc0 74 61 6c 6c 65 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 0a 70 72 6f 74 talled;..protected.$rules;..prot
57fe0 65 63 74 65 64 20 24 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 70 72 6f 74 65 63 ected.$ruleSetGenerator;..protec
58000 74 65 64 20 24 6a 6f 62 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 4d 61 ted.$jobs;...protected.$updateMa
58020 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 47 72 p.=.array();..protected.$watchGr
58040 61 70 68 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 0a 70 72 6f aph;..protected.$decisions;..pro
58060 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 tected.$installedMap;...protecte
58080 64 20 24 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 d.$propagateIndex;..protected.$b
580a0 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 ranches.=.array();..protected.$p
580c0 72 6f 62 6c 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c roblems.=.array();..protected.$l
580e0 65 61 72 6e 65 64 50 6f 6f 6c 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 earnedPool.=.array();..protected
58100 20 24 6c 65 61 72 6e 65 64 57 68 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 70 72 6f 74 65 63 .$learnedWhy.=.array();...protec
58120 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ted.$io;........public.function.
58140 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c __construct(PolicyInterface.$pol
58160 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 icy,.Pool.$pool,.RepositoryInter
58180 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f face.$installed,.IOInterface.$io
581a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 ).{.$this->io.=.$io;.$this->poli
581c0 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f cy.=.$policy;.$this->pool.=.$poo
581e0 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 l;.$this->installed.=.$installed
58200 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 ;.$this->ruleSetGenerator.=.new.
58220 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 29 RuleSetGenerator($policy,.$pool)
58240 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 53 ;.}.....public.function.getRuleS
58260 65 74 53 69 7a 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 etSize().{.return.count($this->r
58280 75 6c 65 73 29 3b 0a 7d 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b ules);.}....private.function.mak
582a0 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 0a 7b 0a 24 64 65 63 eAssertionRuleDecisions().{.$dec
582c0 69 73 69 6f 6e 53 74 61 72 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 isionStart.=.count($this->decisi
582e0 6f 6e 73 29 20 2d 20 31 3b 0a 0a 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 ons).-.1;..$rulesCount.=.count($
58300 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 66 6f 72 20 28 24 72 75 6c 65 49 6e 64 65 78 20 3d 20 this->rules);.for.($ruleIndex.=.
58320 30 3b 20 24 72 75 6c 65 49 6e 64 65 78 20 3c 20 24 72 75 6c 65 73 43 6f 75 6e 74 3b 20 24 72 75 0;.$ruleIndex.<.$rulesCount;.$ru
58340 6c 65 49 6e 64 65 78 2b 2b 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 leIndex++).{.$rule.=.$this->rule
58360 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 72 75 6c 65 49 6e 64 65 78 5d 3b 0a 0a 69 66 20 28 21 24 s->ruleById[$ruleIndex];..if.(!$
58380 72 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 20 7c 7c 20 24 72 75 6c 65 2d 3e 69 73 rule->isAssertion().||.$rule->is
583a0 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 Disabled()).{.continue;.}..$lite
583c0 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 24 6c 69 rals.=.$rule->getLiterals();.$li
583e0 74 65 72 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 3b 0a 0a 69 66 20 28 21 24 74 68 69 teral.=.$literals[0];..if.(!$thi
58400 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 s->decisions->decided($literal))
58420 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 69 74 .{.$this->decisions->decide($lit
58440 65 72 61 6c 2c 20 31 2c 20 24 72 75 6c 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 eral,.1,.$rule);.continue;.}..if
58460 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 .($this->decisions->satisfy($lit
58480 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 52 75 6c 65 eral)).{.continue;.}....if.(Rule
584a0 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 Set::TYPE_LEARNED.===.$rule->get
584c0 54 79 70 65 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 63 6f 6e 74 Type()).{.$rule->disable();.cont
584e0 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 inue;.}..$conflict.=.$this->deci
58500 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a sions->decisionRule($literal);..
58520 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 20 26 26 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 if.($conflict.&&.RuleSet::TYPE_P
58540 41 43 4b 41 47 45 20 3d 3d 3d 20 24 63 6f 6e 66 6c 69 63 74 2d 3e 67 65 74 54 79 70 65 28 29 29 ACKAGE.===.$conflict->getType())
58560 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d .{.$problem.=.new.Problem($this-
58580 3e 70 6f 6f 6c 29 3b 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 72 75 6c 65 >pool);..$problem->addRule($rule
585a0 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 29 3b );.$problem->addRule($conflict);
585c0 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d 28 24 72 75 6c 65 29 3b 0a 24 .$this->disableProblem($rule);.$
585e0 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 63 6f 6e this->problems[].=.$problem;.con
58600 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c tinue;.}....$problem.=.new.Probl
58620 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 em($this->pool);.$problem->addRu
58640 6c 65 28 24 72 75 6c 65 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f le($rule);.$problem->addRule($co
58660 6e 66 6c 69 63 74 29 3b 0a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 nflict);......foreach.($this->ru
58680 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 les->getIteratorFor(RuleSet::TYP
586a0 45 5f 4a 4f 42 29 20 61 73 20 24 61 73 73 65 72 74 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 61 73 E_JOB).as.$assertRule).{.if.($as
586c0 73 65 72 74 52 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 7c 7c 20 21 24 61 73 73 65 sertRule->isDisabled().||.!$asse
586e0 72 74 52 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 rtRule->isAssertion()).{.continu
58700 65 3b 0a 7d 0a 0a 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 73 20 3d 20 24 61 73 73 e;.}..$assertRuleLiterals.=.$ass
58720 65 72 74 52 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 24 61 73 73 65 72 74 52 ertRule->getLiterals();.$assertR
58740 75 6c 65 4c 69 74 65 72 61 6c 20 3d 20 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 73 uleLiteral.=.$assertRuleLiterals
58760 5b 30 5d 3b 0a 0a 69 66 20 28 61 62 73 28 24 6c 69 74 65 72 61 6c 29 20 21 3d 3d 20 61 62 73 28 [0];..if.(abs($literal).!==.abs(
58780 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b $assertRuleLiteral)).{.continue;
587a0 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 61 73 73 65 72 74 52 75 6c .}..$problem->addRule($assertRul
587c0 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d 28 24 61 73 73 65 72 e);.$this->disableProblem($asser
587e0 74 52 75 6c 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 tRule);.}.$this->problems[].=.$p
58800 72 6f 62 6c 65 6d 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 73 65 74 roblem;..$this->decisions->reset
58820 54 6f 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 53 74 61 72 74 29 3b 0a 24 72 75 6c 65 49 ToOffset($decisionStart);.$ruleI
58840 6e 64 65 78 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ndex.=.-1;.}.}..protected.functi
58860 6f 6e 20 73 65 74 75 70 49 6e 73 74 61 6c 6c 65 64 4d 61 70 28 29 0a 7b 0a 24 74 68 69 73 2d 3e on.setupInstalledMap().{.$this->
58880 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 installedMap.=.array();.foreach.
588a0 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 ($this->installed->getPackages()
588c0 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 .as.$package).{.$this->installed
588e0 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a Map[$package->id].=.$package;.}.
58900 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f }.....protected.function.checkFo
58920 72 52 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 6c 65 6d 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 rRootRequireProblems($ignorePlat
58940 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 formReqs).{.foreach.($this->jobs
58960 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 .as.$job).{.switch.($job['cmd'])
58980 20 7b 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 .{.case.'update':.$packages.=.$t
589a0 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 his->pool->whatProvides($job['pa
589c0 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 ckageName'],.$job['constraint'])
589e0 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 ;.foreach.($packages.as.$package
58a00 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 ).{.if.(isset($this->installedMa
58a20 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 p[$package->id])).{.$this->updat
58a40 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 62 eMap[$package->id].=.true;.}.}.b
58a60 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 2d 61 6c 6c 27 3a 0a 66 6f 72 65 61 63 reak;..case.'update-all':.foreac
58a80 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 h.($this->installedMap.as.$packa
58aa0 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d ge).{.$this->updateMap[$package-
58ac0 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6e 73 >id].=.true;.}.break;..case.'ins
58ae0 74 61 6c 6c 27 3a 0a 69 66 20 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 tall':.if.($ignorePlatformReqs.&
58b00 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a &.preg_match(PlatformRepository:
58b20 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6a 6f 62 5b 27 70 :PLATFORM_PACKAGE_REGEX,.$job['p
58b40 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 21 ackageName'])).{.break;.}..if.(!
58b60 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 $this->pool->whatProvides($job['
58b80 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 packageName'],.$job['constraint'
58ba0 5d 29 29 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 ])).{.$problem.=.new.Problem($th
58bc0 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 6e 65 77 is->pool);.$problem->addRule(new
58be0 20 47 65 6e 65 72 69 63 52 75 6c 65 28 61 72 72 61 79 28 29 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c .GenericRule(array(),.null,.null
58c00 2c 20 24 6a 6f 62 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 ,.$job));.$this->problems[].=.$p
58c20 72 6f 62 6c 65 6d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 roblem;.}.break;.}.}.}.......pub
58c40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 6c 76 65 28 52 65 71 75 65 73 74 20 24 72 65 71 75 lic.function.solve(Request.$requ
58c60 65 73 74 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 est,.$ignorePlatformReqs.=.false
58c80 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 72 65 71 75 65 73 74 2d 3e 67 65 74 4a ).{.$this->jobs.=.$request->getJ
58ca0 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 49 6e 73 74 61 6c 6c 65 64 4d 61 70 obs();..$this->setupInstalledMap
58cc0 28 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 ();.$this->rules.=.$this->ruleSe
58ce0 74 47 65 6e 65 72 61 74 6f 72 2d 3e 67 65 74 52 75 6c 65 73 46 6f 72 28 24 74 68 69 73 2d 3e 6a tGenerator->getRulesFor($this->j
58d00 6f 62 73 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 69 67 6e 6f 72 obs,.$this->installedMap,.$ignor
58d20 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 52 ePlatformReqs);.$this->checkForR
58d40 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 6c 65 6d 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f ootRequireProblems($ignorePlatfo
58d60 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 3d 20 6e 65 77 20 rmReqs);.$this->decisions.=.new.
58d80 44 65 63 69 73 69 6f 6e 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 Decisions($this->pool);.$this->w
58da0 61 74 63 68 47 72 61 70 68 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 3b 0a atchGraph.=.new.RuleWatchGraph;.
58dc0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 .foreach.($this->rules.as.$rule)
58de0 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e 69 6e 73 65 72 74 28 6e 65 77 .{.$this->watchGraph->insert(new
58e00 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 24 72 75 6c 65 29 29 3b 0a 7d 0a 0a 0a 24 74 68 69 .RuleWatchNode($rule));.}...$thi
58e20 73 2d 3e 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 3b s->makeAssertionRuleDecisions();
58e40 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 52 65 73 6f 6c 76 69 ..$this->io->writeError('Resolvi
58e60 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 68 72 6f 75 67 68 20 53 41 54 27 2c 20 74 72 ng.dependencies.through.SAT',.tr
58e80 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 62 65 66 6f 72 65 ue,.IOInterface::DEBUG);.$before
58ea0 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 61 .=.microtime(true);.$this->runSa
58ec0 74 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 t(true);.$this->io->writeError('
58ee0 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 ',.true,.IOInterface::DEBUG);.$t
58f00 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 44 65 70 his->io->writeError(sprintf('Dep
58f20 65 6e 64 65 6e 63 79 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 64 20 69 6e 20 endency.resolution.completed.in.
58f40 25 2e 33 66 20 73 65 63 6f 6e 64 73 27 2c 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d %.3f.seconds',.microtime(true).-
58f60 20 24 62 65 66 6f 72 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 .$before),.true,.IOInterface::VE
58f80 52 42 4f 53 45 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 RBOSE);....foreach.($this->insta
58fa0 6c 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 76 6f 69 64 29 20 lledMap.as.$packageId.=>.$void).
58fc0 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 {.if.($this->decisions->undecide
58fe0 64 28 24 70 61 63 6b 61 67 65 49 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e d($packageId)).{.$this->decision
59000 73 2d 3e 64 65 63 69 64 65 28 2d 24 70 61 63 6b 61 67 65 49 64 2c 20 31 2c 20 6e 75 6c 6c 29 3b s->decide(-$packageId,.1,.null);
59020 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 29 20 7b 0a 74 68 72 .}.}..if.($this->problems).{.thr
59040 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 28 24 ow.new.SolverProblemsException($
59060 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 this->problems,.$this->installed
59080 4d 61 70 29 3b 0a 7d 0a 0a 24 74 72 61 6e 73 61 63 74 69 6f 6e 20 3d 20 6e 65 77 20 54 72 61 6e Map);.}..$transaction.=.new.Tran
590a0 73 61 63 74 69 6f 6e 28 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2c 20 24 74 68 69 73 2d 3e 70 6f saction($this->policy,.$this->po
590c0 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 74 68 69 73 2d 3e ol,.$this->installedMap,.$this->
590e0 64 65 63 69 73 69 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 72 61 6e 73 61 63 74 69 6f 6e decisions);..return.$transaction
59100 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ->getOperations();.}...........p
59120 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 rotected.function.propagate($lev
59140 65 6c 29 0a 7b 0a 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 76 el).{.while.($this->decisions->v
59160 61 6c 69 64 4f 66 66 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 alidOffset($this->propagateIndex
59180 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e )).{.$decision.=.$this->decision
591a0 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 s->atOffset($this->propagateInde
591c0 78 29 3b 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d 20 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 x);..$conflict.=.$this->watchGra
591e0 70 68 2d 3e 70 72 6f 70 61 67 61 74 65 4c 69 74 65 72 61 6c 28 0a 24 64 65 63 69 73 69 6f 6e 5b ph->propagateLiteral(.$decision[
59200 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 2c 0a 24 6c Decisions::DECISION_LITERAL],.$l
59220 65 76 65 6c 2c 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 0a 29 3b 0a 0a 24 74 68 69 73 evel,.$this->decisions.);..$this
59240 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 2b 2b 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 ->propagateIndex++;..if.($confli
59260 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 6c 69 63 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 ct).{.return.$conflict;.}.}..ret
59280 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 urn.null;.}.......private.functi
592a0 6f 6e 20 72 65 76 65 72 74 28 24 6c 65 76 65 6c 29 0a 7b 0a 77 68 69 6c 65 20 28 21 24 74 68 69 on.revert($level).{.while.(!$thi
592c0 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 6c 69 74 65 s->decisions->isEmpty()).{.$lite
592e0 72 61 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 6c 61 73 74 4c 69 74 65 ral.=.$this->decisions->lastLite
59300 72 61 6c 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e ral();..if.($this->decisions->un
59320 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 decided($literal)).{.break;.}..$
59340 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 decisionLevel.=.$this->decisions
59360 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 ->decisionLevel($literal);..if.(
59380 24 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3c 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 62 72 65 61 $decisionLevel.<=.$level).{.brea
593a0 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 76 65 72 74 4c 61 k;.}..$this->decisions->revertLa
593c0 73 74 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 63 6f st();.$this->propagateIndex.=.co
593e0 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 unt($this->decisions);.}..while.
59400 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 26 26 20 24 74 68 69 (!empty($this->branches).&&.$thi
59420 73 2d 3e 62 72 61 6e 63 68 65 73 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 s->branches[count($this->branche
59440 73 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 42 52 41 4e 43 48 5f 4c 45 56 45 4c 5d 20 3e 3d 20 24 s).-.1][self::BRANCH_LEVEL].>=.$
59460 6c 65 76 65 6c 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 level).{.array_pop($this->branch
59480 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 es);.}.}.....................pri
594a0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 vate.function.setPropagateLearn(
594c0 24 6c 65 76 65 6c 2c 20 24 6c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c $level,.$literal,.$disableRules,
594e0 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 6c 65 76 65 6c 2b 2b 3b 0a 0a 24 74 68 69 73 2d .Rule.$rule).{.$level++;..$this-
59500 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 >decisions->decide($literal,.$le
59520 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 72 75 vel,.$rule);..while.(true).{.$ru
59540 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 65 6c 29 3b 0a 0a le.=.$this->propagate($level);..
59560 69 66 20 28 21 24 72 75 6c 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 if.(!$rule).{.break;.}..if.($lev
59580 65 6c 20 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 el.==.1).{.return.$this->analyze
595a0 55 6e 73 6f 6c 76 61 62 6c 65 28 24 72 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 Unsolvable($rule,.$disableRules)
595c0 3b 0a 7d 0a 0a 0a 20 6c 69 73 74 28 24 6c 65 61 72 6e 4c 69 74 65 72 61 6c 2c 20 24 6e 65 77 4c ;.}....list($learnLiteral,.$newL
595e0 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 24 77 68 79 29 20 3d 20 24 74 68 69 73 2d 3e 61 evel,.$newRule,.$why).=.$this->a
59600 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 66 20 28 24 6e 65 77 nalyze($level,.$rule);..if.($new
59620 4c 65 76 65 6c 20 3c 3d 20 30 20 7c 7c 20 24 6e 65 77 4c 65 76 65 6c 20 3e 3d 20 24 6c 65 76 65 Level.<=.0.||.$newLevel.>=.$leve
59640 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f l).{.throw.new.SolverBugExceptio
59660 6e 28 0a 22 54 72 79 69 6e 67 20 74 6f 20 72 65 76 65 72 74 20 74 6f 20 69 6e 76 61 6c 69 64 20 n(."Trying.to.revert.to.invalid.
59680 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6e 65 77 4c 65 76 65 6c 2e 22 20 66 72 6f 6d 20 6c level.".(int).$newLevel.".from.l
596a0 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6c 65 76 65 6c 2e 22 2e 22 0a 29 3b 0a 7d 20 65 6c 73 evel.".(int).$level.".".);.}.els
596c0 65 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 eif.(!$newRule).{.throw.new.Solv
596e0 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 4e 6f 20 72 75 6c 65 20 77 61 73 20 6c 65 61 erBugException(."No.rule.was.lea
59700 72 6e 65 64 20 66 72 6f 6d 20 61 6e 61 6c 79 7a 69 6e 67 20 24 72 75 6c 65 20 61 74 20 6c 65 76 rned.from.analyzing.$rule.at.lev
59720 65 6c 20 24 6c 65 76 65 6c 2e 22 0a 29 3b 0a 7d 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6e 65 77 4c el.$level.".);.}..$level.=.$newL
59740 65 76 65 6c 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 76 65 72 74 28 24 6c 65 76 65 6c 29 3b 0a 0a 24 evel;..$this->revert($level);..$
59760 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 28 24 6e 65 77 52 75 6c 65 2c 20 52 75 6c 65 53 this->rules->add($newRule,.RuleS
59780 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e et::TYPE_LEARNED);..$this->learn
597a0 65 64 57 68 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 6e 65 77 52 75 6c 65 29 5d edWhy[spl_object_hash($newRule)]
597c0 20 3d 20 24 77 68 79 3b 0a 0a 24 72 75 6c 65 4e 6f 64 65 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 .=.$why;..$ruleNode.=.new.RuleWa
597e0 74 63 68 4e 6f 64 65 28 24 6e 65 77 52 75 6c 65 29 3b 0a 24 72 75 6c 65 4e 6f 64 65 2d 3e 77 61 tchNode($newRule);.$ruleNode->wa
59800 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b tch2OnHighest($this->decisions);
59820 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e 69 6e 73 65 72 74 28 24 72 75 6c 65 .$this->watchGraph->insert($rule
59840 4e 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 Node);..$this->decisions->decide
59860 28 24 6c 65 61 72 6e 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 ($learnLiteral,.$level,.$newRule
59880 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 );.}..return.$level;.}.........p
598a0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c rivate.function.selectAndInstall
598c0 28 24 6c 65 76 65 6c 2c 20 61 72 72 61 79 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 ($level,.array.$decisionQueue,.$
598e0 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 0a 20 24 6c disableRules,.Rule.$rule).{...$l
59900 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 iterals.=.$this->policy->selectP
59920 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 referredPackages($this->pool,.$t
59940 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 his->installedMap,.$decisionQueu
59960 65 2c 20 24 72 75 6c 65 2d 3e 67 65 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 29 3b e,.$rule->getRequiredPackage());
59980 0a 0a 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 61 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 ..$selectedLiteral.=.array_shift
599a0 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 6c 69 74 65 72 ($literals);....if.(count($liter
599c0 61 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 5d 20 3d 20 61 72 72 61 als)).{.$this->branches[].=.arra
599e0 79 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 y($literals,.$level);.}..return.
59a00 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c $this->setPropagateLearn($level,
59a20 20 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 .$selectedLiteral,.$disableRules
59a40 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ,.$rule);.}.......protected.func
59a60 74 69 6f 6e 20 61 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 52 75 6c 65 20 24 72 75 6c 65 29 tion.analyze($level,.Rule.$rule)
59a80 0a 7b 0a 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 20 3d 20 24 72 75 6c 65 3b 0a 24 72 75 6c 65 4c .{.$analyzedRule.=.$rule;.$ruleL
59aa0 65 76 65 6c 20 3d 20 31 3b 0a 24 6e 75 6d 20 3d 20 30 3b 0a 24 6c 31 6e 75 6d 20 3d 20 30 3b 0a evel.=.1;.$num.=.0;.$l1num.=.0;.
59ac0 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c $seen.=.array();.$learnedLiteral
59ae0 73 20 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b 0a 0a 24 64 65 63 69 73 69 6f 6e 49 64 20 3d 20 s.=.array(null);..$decisionId.=.
59b00 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d count($this->decisions);..$this-
59b20 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 >learnedPool[].=.array();..while
59b40 20 28 74 72 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 63 6f 75 .(true).{.$this->learnedPool[cou
59b60 6e 74 28 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 29 20 2d 20 31 5d 5b 5d 20 3d 20 nt($this->learnedPool).-.1][].=.
59b80 24 72 75 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 $rule;..foreach.($rule->getLiter
59ba0 61 6c 73 28 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 als().as.$literal).{...if.($this
59bc0 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 ->decisions->satisfy($literal)).
59be0 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 65 65 6e 5b 61 {.continue;.}..if.(isset($seen[a
59c00 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 bs($literal)])).{.continue;.}.$s
59c20 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 20 3d 20 74 72 75 65 3b 0a 0a 24 6c 20 3d een[abs($literal)].=.true;..$l.=
59c40 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c .$this->decisions->decisionLevel
59c60 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 24 6c 29 20 7b 0a 24 6c 31 ($literal);..if.(1.===.$l).{.$l1
59c80 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 24 6c 29 20 num++;.}.elseif.($level.===.$l).
59ca0 7b 0a 24 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6c 65 61 72 6e 65 64 4c 69 74 {.$num++;.}.else.{...$learnedLit
59cc0 65 72 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 0a 69 66 20 28 24 6c 20 3e 20 24 72 erals[].=.$literal;..if.($l.>.$r
59ce0 75 6c 65 4c 65 76 65 6c 29 20 7b 0a 24 72 75 6c 65 4c 65 76 65 6c 20 3d 20 24 6c 3b 0a 7d 0a 7d uleLevel).{.$ruleLevel.=.$l;.}.}
59d00 0a 7d 0a 0a 24 6c 31 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 6c 31 72 .}..$l1retry.=.true;.while.($l1r
59d20 65 74 72 79 29 20 7b 0a 24 6c 31 72 65 74 72 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 21 etry).{.$l1retry.=.false;..if.(!
59d40 24 6e 75 6d 20 26 26 20 21 2d 2d 24 6c 31 6e 75 6d 29 20 7b 0a 0a 20 62 72 65 61 6b 20 32 3b 0a $num.&&.!--$l1num).{...break.2;.
59d60 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 49 }..while.(true).{.if.($decisionI
59d80 64 20 3c 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 d.<=.0).{.throw.new.SolverBugExc
59da0 65 70 74 69 6f 6e 28 0a 22 52 65 61 63 68 65 64 20 69 6e 76 61 6c 69 64 20 64 65 63 69 73 69 6f eption(."Reached.invalid.decisio
59dc0 6e 20 69 64 20 24 64 65 63 69 73 69 6f 6e 49 64 20 77 68 69 6c 65 20 6c 6f 6f 6b 69 6e 67 20 74 n.id.$decisionId.while.looking.t
59de0 68 72 6f 75 67 68 20 24 72 75 6c 65 20 66 6f 72 20 61 20 6c 69 74 65 72 61 6c 20 70 72 65 73 65 hrough.$rule.for.a.literal.prese
59e00 6e 74 20 69 6e 20 74 68 65 20 61 6e 61 6c 79 7a 65 64 20 72 75 6c 65 20 24 61 6e 61 6c 79 7a 65 nt.in.the.analyzed.rule.$analyze
59e20 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 49 64 2d 2d 3b 0a 0a 24 64 dRule.".);.}..$decisionId--;..$d
59e40 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 ecision.=.$this->decisions->atOf
59e60 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 49 64 29 3b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 fset($decisionId);.$literal.=.$d
59e80 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 ecision[Decisions::DECISION_LITE
59ea0 52 41 4c 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 RAL];..if.(isset($seen[abs($lite
59ec0 72 61 6c 29 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 73 65 65 ral)])).{.break;.}.}..unset($see
59ee0 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 20 26 26 20 n[abs($literal)]);..if.($num.&&.
59f00 30 20 3d 3d 3d 20 2d 2d 24 6e 75 6d 29 20 7b 0a 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 0.===.--$num).{.$learnedLiterals
59f20 5b 30 5d 20 3d 20 2d 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 21 24 6c 31 6e [0].=.-abs($literal);..if.(!$l1n
59f40 75 6d 29 20 7b 0a 62 72 65 61 6b 20 32 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 65 61 72 um).{.break.2;.}..foreach.($lear
59f60 6e 65 64 4c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 65 61 72 6e 65 64 4c 69 74 nedLiterals.as.$i.=>.$learnedLit
59f80 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d 3d 20 30 29 20 7b 0a 75 6e 73 65 74 28 24 73 eral).{.if.($i.!==.0).{.unset($s
59fa0 65 65 6e 5b 61 62 73 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 29 5d 29 3b 0a 7d 0a 7d 0a een[abs($learnedLiteral)]);.}.}.
59fc0 0a 20 24 6c 31 6e 75 6d 2b 2b 3b 0a 24 6c 31 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d ..$l1num++;.$l1retry.=.true;.}.}
59fe0 0a 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e ..$decision.=.$this->decisions->
5a000 61 74 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 49 64 29 3b 0a 24 72 75 6c 65 20 3d 20 24 atOffset($decisionId);.$rule.=.$
5a020 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 decision[Decisions::DECISION_REA
5a040 53 4f 4e 5d 3b 0a 7d 0a 0a 24 77 68 79 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 65 61 SON];.}..$why.=.count($this->lea
5a060 72 6e 65 64 50 6f 6f 6c 29 20 2d 20 31 3b 0a 0a 69 66 20 28 21 24 6c 65 61 72 6e 65 64 4c 69 74 rnedPool).-.1;..if.(!$learnedLit
5a080 65 72 61 6c 73 5b 30 5d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 erals[0]).{.throw.new.SolverBugE
5a0a0 78 63 65 70 74 69 6f 6e 28 0a 22 44 69 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 6c 65 61 72 6e 61 xception(."Did.not.find.a.learna
5a0c0 62 6c 65 20 6c 69 74 65 72 61 6c 20 69 6e 20 61 6e 61 6c 79 7a 65 64 20 72 75 6c 65 20 24 61 6e ble.literal.in.analyzed.rule.$an
5a0e0 61 6c 79 7a 65 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d 0a 0a 24 6e 65 77 52 75 6c 65 20 3d 20 6e 65 alyzedRule.".);.}..$newRule.=.ne
5a100 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 2c 20 w.GenericRule($learnedLiterals,.
5a120 52 75 6c 65 3a 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 44 2c 20 24 77 68 79 29 3b 0a 0a 72 65 74 75 Rule::RULE_LEARNED,.$why);..retu
5a140 72 6e 20 61 72 72 61 79 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 30 5d 2c 20 24 72 rn.array($learnedLiterals[0],.$r
5a160 75 6c 65 4c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 24 77 68 79 29 3b 0a 7d 0a 0a 0a 0a uleLevel,.$newRule,.$why);.}....
5a180 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 ..private.function.analyzeUnsolv
5a1a0 61 62 6c 65 52 75 6c 65 28 50 72 6f 62 6c 65 6d 20 24 70 72 6f 62 6c 65 6d 2c 20 52 75 6c 65 20 ableRule(Problem.$problem,.Rule.
5a1c0 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 0a 7b 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 $conflictRule).{.if.($conflictRu
5a1e0 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c le->getType().==.RuleSet::TYPE_L
5a200 45 41 52 4e 45 44 29 20 7b 0a 24 77 68 79 20 3d 20 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 EARNED).{.$why.=.spl_object_hash
5a220 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 24 6c 65 61 72 6e 65 64 57 68 79 20 3d 20 24 ($conflictRule);.$learnedWhy.=.$
5a240 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b 24 77 68 79 5d 3b 0a 24 70 72 6f 62 6c 65 6d this->learnedWhy[$why];.$problem
5a260 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 24 6c 65 61 72 Rules.=.$this->learnedPool[$lear
5a280 6e 65 64 57 68 79 5d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 nedWhy];..foreach.($problemRules
5a2a0 20 61 73 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 6e 61 6c 79 .as.$problemRule).{.$this->analy
5a2c0 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c 20 24 70 72 6f 62 zeUnsolvableRule($problem,.$prob
5a2e0 6c 65 6d 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6e lemRule);.}..return;.}..if.($con
5a300 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 74 3a flictRule->getType().==.RuleSet:
5a320 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 :TYPE_PACKAGE).{...return;.}..$p
5a340 72 6f 62 6c 65 6d 2d 3e 6e 65 78 74 53 65 63 74 69 6f 6e 28 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d roblem->nextSection();.$problem-
5a360 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a >addRule($conflictRule);.}......
5a380 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 .private.function.analyzeUnsolva
5a3a0 62 6c 65 28 52 75 6c 65 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 ble(Rule.$conflictRule,.$disable
5a3c0 52 75 6c 65 73 29 0a 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 Rules).{.$problem.=.new.Problem(
5a3e0 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 $this->pool);.$problem->addRule(
5a400 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 $conflictRule);..$this->analyzeU
5a420 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c 20 24 63 6f 6e 66 6c 69 63 nsolvableRule($problem,.$conflic
5a440 74 52 75 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 tRule);..$this->problems[].=.$pr
5a460 6f 62 6c 65 6d 3b 0a 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 69 74 65 72 61 oblem;..$seen.=.array();.$litera
5a480 6c 73 20 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 ls.=.$conflictRule->getLiterals(
5a4a0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 );..foreach.($literals.as.$liter
5a4c0 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 al).{...if.($this->decisions->sa
5a4e0 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 tisfy($literal)).{.continue;.}.$
5a500 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 66 seen[abs($literal)].=.true;.}..f
5a520 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 64 65 63 oreach.($this->decisions.as.$dec
5a540 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 ision).{.$literal.=.$decision[De
5a560 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 0a 0a 20 69 cisions::DECISION_LITERAL];....i
5a580 66 20 28 21 69 73 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 f.(!isset($seen[abs($literal)]))
5a5a0 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 77 68 79 20 3d 20 24 64 65 63 69 73 69 6f 6e .{.continue;.}..$why.=.$decision
5a5c0 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 0a 24 [Decisions::DECISION_REASON];..$
5a5e0 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 77 68 79 29 3b 0a 24 74 68 69 73 2d 3e 61 problem->addRule($why);.$this->a
5a600 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c 20 24 nalyzeUnsolvableRule($problem,.$
5a620 77 68 79 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 77 68 79 2d 3e 67 65 74 4c 69 74 65 why);..$literals.=.$why->getLite
5a640 72 61 6c 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 rals();..foreach.($literals.as.$
5a660 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e literal).{...if.($this->decision
5a680 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 s->satisfy($literal)).{.continue
5a6a0 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 20 3d 20 74 72 75 65 3b ;.}.$seen[abs($literal)].=.true;
5a6c0 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 20 7b 0a 66 6f 72 65 61 .}.}..if.($disableRules).{.forea
5a6e0 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d ch.($this->problems[count($this-
5a700 3e 70 72 6f 62 6c 65 6d 73 29 20 2d 20 31 5d 20 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 74 >problems).-.1].as.$reason).{.$t
5a720 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d 28 24 72 65 61 73 6f 6e 5b 27 72 75 6c his->disableProblem($reason['rul
5a740 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 53 6f 6c 76 65 72 28 29 3b 0a 0a e']);.}..$this->resetSolver();..
5a760 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 return.1;.}..return.0;.}.....pri
5a780 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d 28 52 75 6c vate.function.disableProblem(Rul
5a7a0 65 20 24 77 68 79 29 0a 7b 0a 24 6a 6f 62 20 3d 20 24 77 68 79 2d 3e 67 65 74 4a 6f 62 28 29 3b e.$why).{.$job.=.$why->getJob();
5a7c0 0a 0a 69 66 20 28 21 24 6a 6f 62 29 20 7b 0a 24 77 68 79 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a ..if.(!$job).{.$why->disable();.
5a7e0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 .return;.}....foreach.($this->ru
5a800 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 0a 69 66 20 28 24 6a 6f 62 20 3d 3d 3d 20 24 72 les.as.$rule).{..if.($job.===.$r
5a820 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 ule->getJob()).{.$rule->disable(
5a840 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 );.}.}.}..private.function.reset
5a860 53 6f 6c 76 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 73 Solver().{.$this->decisions->res
5a880 65 74 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 30 et();..$this->propagateIndex.=.0
5a8a0 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 ;.$this->branches.=.array();..$t
5a8c0 68 69 73 2d 3e 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e 65 64 52 75 6c 65 73 28 29 his->enableDisableLearnedRules()
5a8e0 3b 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 ;.$this->makeAssertionRuleDecisi
5a900 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ons();.}.........private.functio
5a920 6e 20 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e 65 64 52 75 6c 65 73 28 29 0a 7b 0a n.enableDisableLearnedRules().{.
5a940 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 foreach.($this->rules->getIterat
5a960 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 20 61 73 20 orFor(RuleSet::TYPE_LEARNED).as.
5a980 24 72 75 6c 65 29 20 7b 0a 24 77 68 79 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 $rule).{.$why.=.$this->learnedWh
5a9a0 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 72 75 6c 65 29 5d 3b 0a 24 70 72 6f 62 y[spl_object_hash($rule)];.$prob
5a9c0 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 24 77 lemRules.=.$this->learnedPool[$w
5a9e0 68 79 5d 3b 0a 0a 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 66 6f hy];..$foundDisabled.=.false;.fo
5aa00 72 65 61 63 68 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 61 73 20 24 70 72 6f 62 6c 65 6d reach.($problemRules.as.$problem
5aa20 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 2d 3e 69 73 44 69 73 61 Rule).{.if.($problemRule->isDisa
5aa40 62 6c 65 64 28 29 29 20 7b 0a 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b bled()).{.$foundDisabled.=.true;
5aa60 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 .break;.}.}..if.($foundDisabled.
5aa80 26 26 20 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e &&.$rule->isEnabled()).{.$rule->
5aaa0 64 69 73 61 62 6c 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 66 6f 75 6e 64 44 69 73 61 disable();.}.elseif.(!$foundDisa
5aac0 62 6c 65 64 20 26 26 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 bled.&&.$rule->isDisabled()).{.$
5aae0 72 75 6c 65 2d 3e 65 6e 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 rule->enable();.}.}.}.....privat
5ab00 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 53 61 74 28 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 e.function.runSat($disableRules.
5ab20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 20 =.true).{.$this->propagateIndex.
5ab40 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d =.0;............$decisionQueue.=
5ab60 20 61 72 72 61 79 28 29 3b 0a 24 64 65 63 69 73 69 6f 6e 53 75 70 70 6c 65 6d 65 6e 74 51 75 65 .array();.$decisionSupplementQue
5ab80 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 3d ue.=.array();....$disableRules.=
5aba0 20 61 72 72 61 79 28 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 31 3b 0a 24 73 79 73 74 65 6d 4c 65 .array();..$level.=.1;.$systemLe
5abc0 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 6f 73 20 vel.=.$level.+.1;.$installedPos.
5abe0 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 =.0;..while.(true).{.if.(1.===.$
5ac00 6c 65 76 65 6c 29 20 7b 0a 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e level).{.$conflictRule.=.$this->
5ac20 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 65 6c 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 propagate($level);.if.(null.!==.
5ac40 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 6e 61 6c $conflictRule).{.if.($this->anal
5ac60 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2c 20 24 64 69 yzeUnsolvable($conflictRule,.$di
5ac80 73 61 62 6c 65 52 75 6c 65 73 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 sableRules)).{.continue;.}..retu
5aca0 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c rn;.}.}....if.($level.<.$systemL
5acc0 65 76 65 6c 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 evel).{.$iterator.=.$this->rules
5ace0 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a ->getIteratorFor(RuleSet::TYPE_J
5ad00 4f 42 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 24 72 75 6c 65 OB);.foreach.($iterator.as.$rule
5ad20 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 64 ).{.if.($rule->isEnabled()).{.$d
5ad40 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 6f 6e 65 53 61 74 ecisionQueue.=.array();.$noneSat
5ad60 69 73 66 69 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c 65 2d 3e isfied.=.true;..foreach.($rule->
5ad80 67 65 74 4c 69 74 65 72 61 6c 73 28 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 getLiterals().as.$literal).{.if.
5ada0 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 ($this->decisions->satisfy($lite
5adc0 72 61 6c 29 29 20 7b 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 3d 20 66 61 6c 73 65 3b 0a ral)).{.$noneSatisfied.=.false;.
5ade0 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 24 74 68 break;.}.if.($literal.>.0.&&.$th
5ae00 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 is->decisions->undecided($litera
5ae20 6c 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 l)).{.$decisionQueue[].=.$litera
5ae40 6c 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 26 26 20 63 6f l;.}.}..if.($noneSatisfied.&&.co
5ae60 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 63 unt($decisionQueue)).{.....if.(c
5ae80 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 29 20 21 3d 20 63 6f 75 6e 74 28 ount($this->installed).!=.count(
5aea0 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 $this->updateMap)).{.$prunedQueu
5aec0 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 63 69 73 69 6f 6e 51 e.=.array();.foreach.($decisionQ
5aee0 75 65 75 65 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 ueue.as.$literal).{.if.(isset($t
5af00 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d his->installedMap[abs($literal)]
5af20 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a )).{.$prunedQueue[].=.$literal;.
5af40 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 if.(isset($this->updateMap[abs($
5af60 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 20 3d 20 24 64 65 literal)])).{.$prunedQueue.=.$de
5af80 63 69 73 69 6f 6e 51 75 65 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 24 64 65 63 69 73 cisionQueue;.break;.}.}.}.$decis
5afa0 69 6f 6e 51 75 65 75 65 20 3d 20 24 70 72 75 6e 65 64 51 75 65 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 ionQueue.=.$prunedQueue;.}.}..if
5afc0 20 28 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 26 26 20 63 6f 75 6e 74 28 24 64 65 63 69 73 .($noneSatisfied.&&.count($decis
5afe0 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 24 6f 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 24 ionQueue)).{.$oLevel.=.$level;.$
5b000 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 level.=.$this->selectAndInstall(
5b020 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 $level,.$decisionQueue,.$disable
5b040 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 65 76 65 6c Rules,.$rule);..if.(0.===.$level
5b060 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 3d 20 24 6f 4c 65 ).{.return;.}.if.($level.<=.$oLe
5b080 76 65 6c 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 73 79 73 74 65 6d 4c 65 vel).{.break;.}.}.}.}..$systemLe
5b0a0 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 0a 0a 20 24 69 74 65 72 61 74 6f 72 2d 3e vel.=.$level.+.1;....$iterator->
5b0c0 6e 65 78 74 28 29 3b 0a 69 66 20 28 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 29 20 next();.if.($iterator->valid()).
5b0e0 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 {.continue;.}.}..if.($level.<.$s
5b100 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 ystemLevel).{.$systemLevel.=.$le
5b120 76 65 6c 3b 0a 7d 0a 0a 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 vel;.}..$rulesCount.=.count($thi
5b140 73 2d 3e 72 75 6c 65 73 29 3b 0a 24 70 61 73 73 20 3d 20 31 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f s->rules);.$pass.=.1;..$this->io
5b160 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 6f 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c ->writeError('Looking.at.all.rul
5b180 65 73 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b es.',.true,.IOInterface::DEBUG);
5b1a0 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6e 20 3d 20 30 3b 20 24 6e 20 3c 20 24 72 75 6c 65 .for.($i.=.0,.$n.=.0;.$n.<.$rule
5b1c0 73 43 6f 75 6e 74 3b 20 24 69 2b 2b 2c 20 24 6e 2b 2b 29 20 7b 0a 69 66 20 28 24 69 20 3d 3d 20 sCount;.$i++,.$n++).{.if.($i.==.
5b1e0 24 72 75 6c 65 73 43 6f 75 6e 74 29 20 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 70 61 73 73 29 20 $rulesCount).{.if.(1.===.$pass).
5b200 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 53 6f 6d 65 74 68 69 {.$this->io->writeError("Somethi
5b220 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c ng's.changed,.looking.at.all.rul
5b240 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 70 61 73 73 29 22 2c 20 66 61 6c 73 65 2c 20 es.again.(pass.#$pass)",.false,.
5b260 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 IOInterface::DEBUG);.}.else.{.$t
5b280 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 22 53 6f 6d 65 74 68 69 his->io->overwriteError("Somethi
5b2a0 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 61 6c 6c 20 72 75 6c ng's.changed,.looking.at.all.rul
5b2c0 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 70 61 73 73 29 22 2c 20 66 61 6c 73 65 2c 20 es.again.(pass.#$pass)",.false,.
5b2e0 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 24 69 null,.IOInterface::DEBUG);.}..$i
5b300 20 3d 20 30 3b 0a 24 70 61 73 73 2b 2b 3b 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d .=.0;.$pass++;.}..$rule.=.$this-
5b320 3e 72 75 6c 65 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 69 5d 3b 0a 24 6c 69 74 65 72 61 6c 73 20 >rules->ruleById[$i];.$literals.
5b340 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 69 66 20 28 24 72 75 =.$rule->getLiterals();..if.($ru
5b360 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a le->isDisabled()).{.continue;.}.
5b380 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 .$decisionQueue.=.array();......
5b3a0 0a 20 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c ........foreach.($literals.as.$l
5b3c0 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d 20 30 29 20 7b 0a 69 iteral).{.if.($literal.<=.0).{.i
5b3e0 66 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 49 6e 73 f.(!$this->decisions->decidedIns
5b400 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 20 0a 20 tall($literal)).{.continue.2;...
5b420 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d }.}.else.{.if.($this->decisions-
5b440 3e 64 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e >decidedInstall($literal)).{.con
5b460 74 69 6e 75 65 20 32 3b 20 0a 20 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e tinue.2;...}.if.($this->decision
5b480 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 64 65 63 69 73 s->undecided($literal)).{.$decis
5b4a0 69 6f 6e 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 ionQueue[].=.$literal;.}.}.}....
5b4c0 69 66 20 28 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3c 20 32 29 20 7b if.(count($decisionQueue).<.2).{
5b4e0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 .continue;.}..$level.=.$this->se
5b500 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e lectAndInstall($level,.$decision
5b520 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 Queue,.$disableRules,.$rule);..i
5b540 66 20 28 30 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 f.(0.===.$level).{.return;.}....
5b560 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 $rulesCount.=.count($this->rules
5b580 29 3b 0a 24 6e 20 3d 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 );.$n.=.-1;.}..if.($level.<.$sys
5b5a0 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 temLevel).{.continue;.}....if.(c
5b5c0 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 24 6c 61 73 74 4c 69 ount($this->branches)).{.$lastLi
5b5e0 74 65 72 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 74 4c 65 76 65 6c 20 3d 20 6e 75 6c 6c 3b teral.=.null;.$lastLevel.=.null;
5b600 0a 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 20 3d 20 30 3b 0a 24 6c 61 73 74 42 72 61 6e .$lastBranchIndex.=.0;.$lastBran
5b620 63 68 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 63 6f 75 6e 74 28 24 chOffset.=.0;..for.($i.=.count($
5b640 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 2d 20 31 3b 20 24 69 20 3e 3d 20 30 3b 20 24 69 this->branches).-.1;.$i.>=.0;.$i
5b660 2d 2d 29 20 7b 0a 6c 69 73 74 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 6c 29 20 3d 20 24 74 68 69 --).{.list($literals,.$l).=.$thi
5b680 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 69 5d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 s->branches[$i];..foreach.($lite
5b6a0 72 61 6c 73 20 61 73 20 24 6f 66 66 73 65 74 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 rals.as.$offset.=>.$literal).{.i
5b6c0 66 20 28 24 6c 69 74 65 72 61 6c 20 26 26 20 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 24 f.($literal.&&.$literal.>.0.&&.$
5b6e0 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 this->decisions->decisionLevel($
5b700 6c 69 74 65 72 61 6c 29 20 3e 20 24 6c 20 2b 20 31 29 20 7b 0a 24 6c 61 73 74 4c 69 74 65 72 61 literal).>.$l.+.1).{.$lastLitera
5b720 6c 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 20 3d l.=.$literal;.$lastBranchIndex.=
5b740 20 24 69 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 73 65 74 20 3d 20 24 6f 66 66 73 65 74 .$i;.$lastBranchOffset.=.$offset
5b760 3b 0a 24 6c 61 73 74 4c 65 76 65 6c 20 3d 20 24 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6c ;.$lastLevel.=.$l;.}.}.}..if.($l
5b780 61 73 74 4c 69 74 65 72 61 6c 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 astLiteral).{.unset($this->branc
5b7a0 68 65 73 5b 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 5d 5b 73 65 6c 66 3a 3a 42 52 41 4e hes[$lastBranchIndex][self::BRAN
5b7c0 43 48 5f 4c 49 54 45 52 41 4c 53 5d 5b 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 73 65 74 5d 29 CH_LITERALS][$lastBranchOffset])
5b7e0 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6c 61 73 74 4c 65 76 65 6c 3b 0a 24 74 68 69 73 2d 3e 72 ;..$level.=.$lastLevel;.$this->r
5b800 65 76 65 72 74 28 24 6c 65 76 65 6c 29 3b 0a 0a 24 77 68 79 20 3d 20 24 74 68 69 73 2d 3e 64 65 evert($level);..$why.=.$this->de
5b820 63 69 73 69 6f 6e 73 2d 3e 6c 61 73 74 52 65 61 73 6f 6e 28 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d cisions->lastReason();..$level.=
5b840 20 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c .$this->setPropagateLearn($level
5b860 2c 20 24 6c 61 73 74 4c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 ,.$lastLiteral,.$disableRules,.$
5b880 77 68 79 29 3b 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e why);..if.($level.==.0).{.return
5b8a0 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d ;.}..continue;.}.}..break;.}.}.}
5b8c0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
5b8e0 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 oser\DependencyResolver;.....cla
5b900 73 73 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 ss.SolverBugException.extends.\R
5b920 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f untimeException.{.public.functio
5b940 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 n.__construct($message).{.parent
5b960 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2e 22 5c 6e 54 68 69 73 20 ::__construct(.$message."\nThis.
5b980 65 78 63 65 70 74 69 6f 6e 20 77 61 73 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 63 61 75 73 65 64 exception.was.most.likely.caused
5b9a0 20 62 79 20 61 20 62 75 67 20 69 6e 20 43 6f 6d 70 6f 73 65 72 2e 5c 6e 22 2e 0a 22 50 6c 65 61 .by.a.bug.in.Composer.\n".."Plea
5b9c0 73 65 20 72 65 70 6f 72 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 79 6f 75 20 72 61 6e 2c 20 74 se.report.the.command.you.ran,.t
5b9e0 68 65 20 65 78 61 63 74 20 65 72 72 6f 72 20 79 6f 75 20 72 65 63 65 69 76 65 64 2c 20 61 6e 64 he.exact.error.you.received,.and
5ba00 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 6e 20 68 74 74 70 73 3a 2f 2f 67 .your.composer.json.on.https://g
5ba20 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 73 73 75 ithub.com/composer/composer/issu
5ba40 65 73 20 2d 20 74 68 61 6e 6b 20 79 6f 75 21 5c 6e 22 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a es.-.thank.you!\n".);.}.}.<?php.
5ba60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 ...........namespace.Composer\De
5ba80 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c pendencyResolver;..use.Composer\
5baa0 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 Util\IniHelper;.....class.Solver
5bac0 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 ProblemsException.extends.\Runti
5bae0 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 62 6c 65 6d meException.{.protected.$problem
5bb00 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 75 62 s;.protected.$installedMap;..pub
5bb20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 lic.function.__construct(array.$
5bb40 70 72 6f 62 6c 65 6d 73 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 0a 7b problems,.array.$installedMap).{
5bb60 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 20 3d 20 24 70 72 6f 62 6c 65 6d 73 3b 0a 24 74 .$this->problems.=.$problems;.$t
5bb80 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 his->installedMap.=.$installedMa
5bba0 70 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 63 p;..parent::__construct($this->c
5bbc0 72 65 61 74 65 4d 65 73 73 61 67 65 28 29 2c 20 32 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 reateMessage(),.2);.}..protected
5bbe0 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 65 73 73 61 67 65 28 29 0a 7b 0a 24 74 65 78 .function.createMessage().{.$tex
5bc00 74 20 3d 20 22 5c 6e 22 3b 0a 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 t.=."\n";.$hasExtensionProblems.
5bc20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d =.false;.foreach.($this->problem
5bc40 73 20 61 73 20 24 69 20 3d 3e 20 24 70 72 6f 62 6c 65 6d 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 s.as.$i.=>.$problem).{.$text..=.
5bc60 22 20 20 50 72 6f 62 6c 65 6d 20 22 2e 28 24 69 20 2b 20 31 29 2e 24 70 72 6f 62 6c 65 6d 2d 3e "..Problem.".($i.+.1).$problem->
5bc80 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 getPrettyString($this->installed
5bca0 4d 61 70 29 2e 22 5c 6e 22 3b 0a 0a 69 66 20 28 21 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 Map)."\n";..if.(!$hasExtensionPr
5bcc0 6f 62 6c 65 6d 73 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f oblems.&&.$this->hasExtensionPro
5bce0 62 6c 65 6d 73 28 24 70 72 6f 62 6c 65 6d 2d 3e 67 65 74 52 65 61 73 6f 6e 73 28 29 29 29 20 7b blems($problem->getReasons())).{
5bd00 0a 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 3d 20 74 72 75 65 3b 0a 7d .$hasExtensionProblems.=.true;.}
5bd20 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 63 6f 75 6c 64 20 6e 6f 74 .}..if.(strpos($text,.'could.not
5bd40 20 62 65 20 66 6f 75 6e 64 27 29 20 7c 7c 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 6e 6f .be.found').||.strpos($text,.'no
5bd60 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 27 29 29 20 7b 0a 24 74 65 .matching.package.found')).{.$te
5bd80 78 74 20 2e 3d 20 22 5c 6e 50 6f 74 65 6e 74 69 61 6c 20 63 61 75 73 65 73 3a 5c 6e 20 2d 20 41 xt..=."\nPotential.causes:\n.-.A
5bda0 20 74 79 70 6f 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 5c 6e 20 2d 20 54 68 .typo.in.the.package.name\n.-.Th
5bdc0 65 20 70 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 e.package.is.not.available.in.a.
5bde0 73 74 61 62 6c 65 2d 65 6e 6f 75 67 68 20 76 65 72 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 stable-enough.version.according.
5be00 74 6f 20 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 73 65 74 74 69 6e to.your.minimum-stability.settin
5be20 67 5c 6e 20 20 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f g\n...see.<https://getcomposer.o
5be40 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 23 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 rg/doc/04-schema.md#minimum-stab
5be60 69 6c 69 74 79 3e 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 5c 6e 20 2d 20 49 74 27 ility>.for.more.details.\n.-.It'
5be80 73 20 61 20 70 72 69 76 61 74 65 20 70 61 63 6b 61 67 65 20 61 6e 64 20 79 6f 75 20 66 6f 72 67 s.a.private.package.and.you.forg
5bea0 6f 74 20 74 6f 20 61 64 64 20 61 20 63 75 73 74 6f 6d 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f ot.to.add.a.custom.repository.to
5bec0 20 66 69 6e 64 20 69 74 5c 6e 5c 6e 52 65 61 64 20 3c 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d .find.it\n\nRead.<https://getcom
5bee0 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 poser.org/doc/articles/troublesh
5bf00 6f 6f 74 69 6e 67 2e 6d 64 3e 20 66 6f 72 20 66 75 72 74 68 65 72 20 63 6f 6d 6d 6f 6e 20 70 72 ooting.md>.for.further.common.pr
5bf20 6f 62 6c 65 6d 73 2e 22 3b 0a 7d 0a 0a 69 66 20 28 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 oblems.";.}..if.($hasExtensionPr
5bf40 6f 62 6c 65 6d 73 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 oblems).{.$text..=.$this->create
5bf60 45 78 74 65 6e 73 69 6f 6e 48 69 6e 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 ExtensionHint();.}..return.$text
5bf80 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 62 6c 65 6d 73 ;.}..public.function.getProblems
5bfa0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 3b 0a 7d 0a 0a ().{.return.$this->problems;.}..
5bfc0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 45 78 74 65 6e 73 69 6f 6e private.function.createExtension
5bfe0 48 69 6e 74 28 29 0a 7b 0a 24 70 61 74 68 73 20 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 Hint().{.$paths.=.IniHelper::get
5c000 41 6c 6c 28 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 74 68 73 29 20 3d 3d 3d 20 31 20 All();..if.(count($paths).===.1.
5c020 26 26 20 65 6d 70 74 79 28 24 70 61 74 68 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 &&.empty($paths[0])).{.return.''
5c040 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 22 5c 6e 20 20 54 6f 20 65 6e 61 62 6c 65 20 65 78 74 65 ;.}..$text.=."\n..To.enable.exte
5c060 6e 73 69 6f 6e 73 2c 20 76 65 72 69 66 79 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 65 6e 61 nsions,.verify.that.they.are.ena
5c080 62 6c 65 64 20 69 6e 20 79 6f 75 72 20 2e 69 6e 69 20 66 69 6c 65 73 3a 5c 6e 20 20 20 20 2d 20 bled.in.your..ini.files:\n....-.
5c0a0 22 3b 0a 24 74 65 78 74 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 2d 20 22 2c 20 ";.$text..=.implode("\n....-.",.
5c0c0 24 70 61 74 68 73 29 3b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 20 20 59 6f 75 20 63 61 6e 20 61 $paths);.$text..=."\n..You.can.a
5c0e0 6c 73 6f 20 72 75 6e 20 60 70 68 70 20 2d 2d 69 6e 69 60 20 69 6e 73 69 64 65 20 74 65 72 6d 69 lso.run.`php.--ini`.inside.termi
5c100 6e 61 6c 20 74 6f 20 73 65 65 20 77 68 69 63 68 20 66 69 6c 65 73 20 61 72 65 20 75 73 65 64 20 nal.to.see.which.files.are.used.
5c120 62 79 20 50 48 50 20 69 6e 20 43 4c 49 20 6d 6f 64 65 2e 22 3b 0a 0a 72 65 74 75 72 6e 20 24 74 by.PHP.in.CLI.mode.";..return.$t
5c140 65 78 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 78 74 65 ext;.}..private.function.hasExte
5c160 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 28 61 72 72 61 79 20 24 72 65 61 73 6f 6e 53 65 74 73 29 nsionProblems(array.$reasonSets)
5c180 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 53 65 74 73 20 61 73 20 24 72 65 61 73 .{.foreach.($reasonSets.as.$reas
5c1a0 6f 6e 53 65 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 53 65 74 20 61 73 20 onSet).{.foreach.($reasonSet.as.
5c1c0 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 61 73 6f 6e 5b 22 72 75 $reason).{.if.(isset($reason["ru
5c1e0 6c 65 22 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 72 65 61 73 6f 6e 5b 22 72 le"]).&&.0.===.strpos($reason["r
5c200 75 6c 65 22 5d 2d 3e 67 65 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 2c 20 27 65 78 ule"]->getRequiredPackage(),.'ex
5c220 74 2d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 t-')).{.return.true;.}.}.}..retu
5c240 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e rn.false;.}.}.<?php............n
5c260 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f amespace.Composer\DependencyReso
5c280 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 lver;..use.Composer\Package\Alia
5c2a0 73 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 72 61 6e 73 61 63 74 69 6f 6e 0a sPackage;.....class.Transaction.
5c2c0 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 {.protected.$policy;.protected.$
5c2e0 70 6f 6f 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 70 pool;.protected.$installedMap;.p
5c300 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 rotected.$decisions;.protected.$
5c320 74 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f transaction;..public.function.__
5c340 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 construct($policy,.$pool,.$insta
5c360 6c 6c 65 64 4d 61 70 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f lledMap,.$decisions).{.$this->po
5c380 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 licy.=.$policy;.$this->pool.=.$p
5c3a0 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 ool;.$this->installedMap.=.$inst
5c3c0 61 6c 6c 65 64 4d 61 70 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 3d 20 24 64 65 alledMap;.$this->decisions.=.$de
5c3e0 63 69 73 69 6f 6e 73 3b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 20 3d 20 61 72 cisions;.$this->transaction.=.ar
5c400 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 ray();.}..public.function.getOpe
5c420 72 61 74 69 6f 6e 73 28 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d rations().{.$installMeansUpdateM
5c440 61 70 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 55 70 64 61 74 65 73 28 29 3b 0a 0a 24 75 70 64 ap.=.$this->findUpdates();..$upd
5c460 61 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 20 3d 20 ateMap.=.array();.$installMap.=.
5c480 61 72 72 61 79 28 29 3b 0a 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 array();.$uninstallMap.=.array()
5c4a0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 ;..foreach.($this->decisions.as.
5c4c0 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 $i.=>.$decision).{.$literal.=.$d
5c4e0 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 ecision[Decisions::DECISION_LITE
5c500 52 41 4c 5d 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 RAL];.$reason.=.$decision[Decisi
5c520 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 0a 24 70 61 63 6b 61 67 65 ons::DECISION_REASON];..$package
5c540 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 .=.$this->pool->literalToPackage
5c560 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 0a 20 69 66 20 28 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 ($literal);....if.(($literal.>.0
5c580 29 20 3d 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 ).==.isset($this->installedMap[$
5c5a0 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 package->id])).{.continue;.}..if
5c5c0 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 .($literal.>.0).{.if.(isset($ins
5c5e0 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 tallMeansUpdateMap[abs($literal)
5c600 5d 29 20 26 26 20 21 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 ]).&&.!$package.instanceof.Alias
5c620 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 6f 75 72 63 65 20 3d 20 24 69 6e 73 74 61 6c 6c 4d 65 61 Package).{.$source.=.$installMea
5c640 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 3b 0a 0a 24 75 70 nsUpdateMap[abs($literal)];..$up
5c660 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 dateMap[$package->id].=.array(.'
5c680 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 73 6f 75 72 63 65 27 20 3d package'.=>.$package,.'source'.=
5c6a0 3e 20 24 73 6f 75 72 63 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a >.$source,.'reason'.=>.$reason,.
5c6c0 29 3b 0a 0a 0a 20 75 6e 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d );....unset($installMeansUpdateM
5c6e0 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 3b 0a 24 69 67 6e 6f 72 65 52 65 6d 6f 76 ap[abs($literal)]);.$ignoreRemov
5c700 65 5b 24 73 6f 75 72 63 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a e[$source->id].=.true;.}.else.{.
5c720 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 61 72 72 61 $installMap[$package->id].=.arra
5c740 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 72 65 61 73 6f y(.'package'.=>.$package,.'reaso
5c760 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 n'.=>.$reason,.);.}.}.}..foreach
5c780 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 .($this->decisions.as.$i.=>.$dec
5c7a0 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 ision).{.$literal.=.$decision[De
5c7c0 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 72 65 61 cisions::DECISION_LITERAL];.$rea
5c7e0 73 6f 6e 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 son.=.$decision[Decisions::DECIS
5c800 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 ION_REASON];.$package.=.$this->p
5c820 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b ool->literalToPackage($literal);
5c840 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d 20 30 20 26 26 0a 69 73 73 65 74 28 24 74 68 ..if.($literal.<=.0.&&.isset($th
5c860 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 20 is->installedMap[$package->id]).
5c880 26 26 0a 21 69 73 73 65 74 28 24 69 67 6e 6f 72 65 52 65 6d 6f 76 65 5b 24 70 61 63 6b 61 67 65 &&.!isset($ignoreRemove[$package
5c8a0 2d 3e 69 64 5d 29 29 20 7b 0a 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 ->id])).{.$uninstallMap[$package
5c8c0 2d 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 ->id].=.array(.'package'.=>.$pac
5c8e0 6b 61 67 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a kage,.'reason'.=>.$reason,.);.}.
5c900 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 46 72 6f 6d 4d 61 70 73 28 24 69 }..$this->transactionFromMaps($i
5c920 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 2c 20 24 75 6e 69 6e 73 74 61 6c nstallMap,.$updateMap,.$uninstal
5c940 6c 4d 61 70 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f lMap);..return.$this->transactio
5c960 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 61 63 n;.}..protected.function.transac
5c980 74 69 6f 6e 46 72 6f 6d 4d 61 70 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 tionFromMaps($installMap,.$updat
5c9a0 65 4d 61 70 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 29 0a 7b 0a 24 71 75 65 75 65 20 3d 20 eMap,.$uninstallMap).{.$queue.=.
5c9c0 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6f 70 65 72 61 74 69 6f 6e 29 array_map(.function.($operation)
5c9e0 20 7b 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 5b 27 70 61 63 6b 61 67 65 27 5d 3b .{.return.$operation['package'];
5ca00 0a 7d 2c 0a 24 74 68 69 73 2d 3e 66 69 6e 64 52 6f 6f 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 .},.$this->findRootPackages($ins
5ca20 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 29 3b 0a 0a 24 76 69 73 69 74 65 tallMap,.$updateMap).);..$visite
5ca40 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 71 75 65 d.=.array();..while.(!empty($que
5ca60 75 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 71 75 65 ue)).{.$package.=.array_pop($que
5ca80 75 65 29 3b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 69 64 3b 0a ue);.$packageId.=.$package->id;.
5caa0 0a 69 66 20 28 21 69 73 73 65 74 28 24 76 69 73 69 74 65 64 5b 24 70 61 63 6b 61 67 65 49 64 5d .if.(!isset($visited[$packageId]
5cac0 29 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 24 )).{.$queue[].=.$package;..if.($
5cae0 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 package.instanceof.AliasPackage)
5cb00 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 .{.$queue[].=.$package->getAlias
5cb20 4f 66 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 Of();.}.else.{.foreach.($package
5cb40 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 ->getRequires().as.$link).{.$pos
5cb60 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 sibleRequires.=.$this->pool->wha
5cb80 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c tProvides($link->getTarget(),.$l
5cba0 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 ink->getConstraint());..foreach.
5cbc0 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 ($possibleRequires.as.$require).
5cbe0 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 76 {.$queue[].=.$require;.}.}.}..$v
5cc00 69 73 69 74 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 isited[$package->id].=.true;.}.e
5cc20 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 lse.{.if.(isset($installMap[$pac
5cc40 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 28 0a 24 69 6e 73 kageId])).{.$this->install(.$ins
5cc60 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a tallMap[$packageId]['package'],.
5cc80 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 72 65 61 73 6f 6e 27 $installMap[$packageId]['reason'
5cca0 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 ].);.unset($installMap[$packageI
5ccc0 64 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 d]);.}.if.(isset($updateMap[$pac
5cce0 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 28 0a 24 75 70 64 61 kageId])).{.$this->update(.$upda
5cd00 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 73 6f 75 72 63 65 27 5d 2c 0a 24 75 70 teMap[$packageId]['source'],.$up
5cd20 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a dateMap[$packageId]['package'],.
5cd40 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 72 65 61 73 6f 6e 27 5d $updateMap[$packageId]['reason']
5cd60 0a 29 3b 0a 75 6e 73 65 74 28 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d .);.unset($updateMap[$packageId]
5cd80 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 );.}.}.}..foreach.($uninstallMap
5cda0 20 61 73 20 24 75 6e 69 6e 73 74 61 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 6e 73 74 61 .as.$uninstall).{.$this->uninsta
5cdc0 6c 6c 28 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 70 61 63 6b 61 67 65 27 5d 2c 20 24 75 6e 69 6e 73 ll($uninstall['package'],.$unins
5cde0 74 61 6c 6c 5b 27 72 65 61 73 6f 6e 27 5d 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 tall['reason']);.}.}..protected.
5ce00 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 52 6f 6f 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 function.findRootPackages($insta
5ce20 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d llMap,.$updateMap).{.$packages.=
5ce40 20 24 69 6e 73 74 61 6c 6c 4d 61 70 20 2b 20 24 75 70 64 61 74 65 4d 61 70 3b 0a 24 72 6f 6f 74 .$installMap.+.$updateMap;.$root
5ce60 73 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 s.=.$packages;..foreach.($packag
5ce80 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 es.as.$packageId.=>.$operation).
5cea0 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 5b 27 70 61 63 6b 61 67 65 {.$package.=.$operation['package
5cec0 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 6f 6f 74 73 5b 24 70 61 63 6b 61 67 65 49 '];..if.(!isset($roots[$packageI
5cee0 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 d])).{.continue;.}..foreach.($pa
5cf00 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b ckage->getRequires().as.$link).{
5cf20 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c .$possibleRequires.=.$this->pool
5cf40 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 ->whatProvides($link->getTarget(
5cf60 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 66 6f 72 ),.$link->getConstraint());..for
5cf80 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 each.($possibleRequires.as.$requ
5cfa0 69 72 65 29 20 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 ire).{.if.($require.!==.$package
5cfc0 29 20 7b 0a 75 6e 73 65 74 28 24 72 6f 6f 74 73 5b 24 72 65 71 75 69 72 65 2d 3e 69 64 5d 29 3b ).{.unset($roots[$require->id]);
5cfe0 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 6f 74 73 3b 0a 7d 0a 0a 70 72 6f 74 .}.}.}.}..return.$roots;.}..prot
5d000 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 70 64 61 74 65 73 28 29 0a 7b 0a 24 ected.function.findUpdates().{.$
5d020 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b installMeansUpdateMap.=.array();
5d040 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 ..foreach.($this->decisions.as.$
5d060 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 i.=>.$decision).{.$literal.=.$de
5d080 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 cision[Decisions::DECISION_LITER
5d0a0 41 4c 5d 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 AL];.$package.=.$this->pool->lit
5d0c0 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 70 eralToPackage($literal);..if.($p
5d0e0 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 ackage.instanceof.AliasPackage).
5d100 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d {.continue;.}....if.($literal.<=
5d120 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b .0.&&.isset($this->installedMap[
5d140 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 75 70 64 61 74 65 73 20 3d 20 24 74 68 $package->id])).{.$updates.=.$th
5d160 69 73 2d 3e 70 6f 6c 69 63 79 2d 3e 66 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 24 is->policy->findUpdatePackages($
5d180 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c this->pool,.$this->installedMap,
5d1a0 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 .$package);..$literals.=.array($
5d1c0 70 61 63 6b 61 67 65 2d 3e 69 64 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 70 64 61 74 65 73 package->id);..foreach.($updates
5d1e0 20 61 73 20 24 75 70 64 61 74 65 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 75 70 .as.$update).{.$literals[].=.$up
5d200 64 61 74 65 2d 3e 69 64 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 date->id;.}..foreach.($literals.
5d220 61 73 20 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 75 70 64 61 74 65 as.$updateLiteral).{.if.($update
5d240 4c 69 74 65 72 61 6c 20 21 3d 3d 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 69 6e 73 74 61 6c 6c Literal.!==.$literal).{.$install
5d260 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 MeansUpdateMap[abs($updateLitera
5d280 6c 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 l)].=.$package;.}.}.}.}..return.
5d2a0 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 3b 0a 7d 0a 0a 70 72 6f 74 65 $installMeansUpdateMap;.}..prote
5d2c0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 cted.function.install($package,.
5d2e0 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 $reason).{.if.($package.instance
5d300 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d of.AliasPackage).{.return.$this-
5d320 3e 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 >markAliasInstalled($package,.$r
5d340 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 eason);.}..$this->transaction[].
5d360 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e =.new.Operation\InstallOperation
5d380 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ($package,.$reason);.}..protecte
5d3a0 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 d.function.update($from,.$to,.$r
5d3c0 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 eason).{.$this->transaction[].=.
5d3e0 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 66 new.Operation\UpdateOperation($f
5d400 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 rom,.$to,.$reason);.}..protected
5d420 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 72 .function.uninstall($package,.$r
5d440 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 eason).{.if.($package.instanceof
5d460 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d .AliasPackage).{.return.$this->m
5d480 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 arkAliasUninstalled($package,.$r
5d4a0 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 eason);.}..$this->transaction[].
5d4c0 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 =.new.Operation\UninstallOperati
5d4e0 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 on($package,.$reason);.}..protec
5d500 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 ted.function.markAliasInstalled(
5d520 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e $package,.$reason).{.$this->tran
5d540 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c saction[].=.new.Operation\MarkAl
5d560 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 iasInstalledOperation($package,.
5d580 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 $reason);.}..protected.function.
5d5a0 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 markAliasUninstalled($package,.$
5d5c0 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d reason).{.$this->transaction[].=
5d5e0 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c .new.Operation\MarkAliasUninstal
5d600 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b ledOperation($package,.$reason);
5d620 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
5d640 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 Composer\Downloader;..use.Compos
5d660 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 er\Package\PackageInterface;.use
5d680 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 .Symfony\Component\Finder\Finder
5d6a0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a ;.use.Composer\IO\IOInterface;..
5d6c0 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 72 63 68 69 76 65 44 6f 77 .......abstract.class.ArchiveDow
5d6e0 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b nloader.extends.FileDownloader.{
5d700 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 ......public.function.download(P
5d720 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c ackageInterface.$package,.$path,
5d740 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 65 6d 70 6f 72 61 72 79 44 69 72 .$output.=.true).{.$temporaryDir
5d760 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 .=.$this->config->get('vendor-di
5d780 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 2e 73 75 62 73 74 72 28 6d 64 35 28 75 6e 69 71 r').'/composer/'.substr(md5(uniq
5d7a0 69 64 28 27 27 2c 20 74 72 75 65 29 29 2c 20 30 2c 20 38 29 3b 0a 24 72 65 74 72 69 65 73 20 3d id('',.true)),.0,.8);.$retries.=
5d7c0 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 24 66 69 6c 65 4e 61 .3;.while.($retries--).{.$fileNa
5d7e0 6d 65 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 me.=.parent::download($package,.
5d800 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b $path,.$output);..if.($output).{
5d820 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 45 78 74 72 61 63 74 .$this->io->writeError('.Extract
5d840 69 6e 67 20 61 72 63 68 69 76 65 27 2c 20 66 61 6c 73 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 ing.archive',.false,.IOInterface
5d860 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 ::VERBOSE);.}..try.{.$this->file
5d880 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 system->ensureDirectoryExists($t
5d8a0 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 emporaryDir);.try.{.$this->extra
5d8c0 63 74 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 7d 20 ct($fileName,.$temporaryDir);.}.
5d8e0 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 70 61 72 65 6e 74 catch.(\Exception.$e).{...parent
5d900 3a 3a 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 72 69 74 65 28 24 70 61 63 6b 61 67 65 29 3b ::clearLastCacheWrite($package);
5d920 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d .throw.$e;.}..$this->filesystem-
5d940 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 0a 24 63 6f 6e 74 65 6e 74 44 69 72 >unlink($fileName);..$contentDir
5d960 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 28 24 74 65 6d 70 .=.$this->getFolderContent($temp
5d980 6f 72 61 72 79 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 oraryDir);....if.(1.===.count($c
5d9a0 6f 6e 74 65 6e 74 44 69 72 29 20 26 26 20 69 73 5f 64 69 72 28 72 65 73 65 74 28 24 63 6f 6e 74 ontentDir).&&.is_dir(reset($cont
5d9c0 65 6e 74 44 69 72 29 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d entDir))).{.$contentDir.=.$this-
5d9e0 3e 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 28 28 73 74 72 69 6e 67 29 20 72 65 73 65 74 >getFolderContent((string).reset
5da00 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 ($contentDir));.}....foreach.($c
5da20 6f 6e 74 65 6e 74 44 69 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 66 69 6c 65 20 3d 20 28 73 ontentDir.as.$file).{.$file.=.(s
5da40 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d tring).$file;.$this->filesystem-
5da60 3e 72 65 6e 61 6d 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 20 2e 20 27 2f 27 20 2e 20 62 61 73 >rename($file,.$path...'/'...bas
5da80 65 6e 61 6d 65 28 24 66 69 6c 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 ename($file));.}..$this->filesys
5daa0 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 44 tem->removeDirectory($temporaryD
5dac0 69 72 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 ir);.if.($this->filesystem->isDi
5dae0 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f rEmpty($this->config->get('vendo
5db00 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e r-dir').'/composer/')).{.$this->
5db20 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 filesystem->removeDirectory($thi
5db40 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 s->config->get('vendor-dir').'/c
5db60 6f 6d 70 6f 73 65 72 2f 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 omposer/');.}.if.($this->filesys
5db80 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 tem->isDirEmpty($this->config->g
5dba0 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 et('vendor-dir'))).{.$this->file
5dbc0 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 63 system->removeDirectory($this->c
5dbe0 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 3b 0a 7d 0a 7d 20 63 onfig->get('vendor-dir'));.}.}.c
5dc00 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e atch.(\Exception.$e).{...$this->
5dc20 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 filesystem->removeDirectory($pat
5dc40 68 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 h);.$this->filesystem->removeDir
5dc60 65 63 74 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 24 72 ectory($temporaryDir);....if.($r
5dc80 65 74 72 69 65 73 20 26 26 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 55 6e 65 78 70 65 63 etries.&&.$e.instanceof.\Unexpec
5dca0 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 tedValueException.&&.class_exist
5dcc0 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 s('ZipArchive').&&.$e->getCode()
5dce0 20 3d 3d 3d 20 5c 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 5a 49 50 29 20 7b 0a 24 74 .===.\ZipArchive::ER_NOZIP).{.$t
5dd00 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 69 66 20 28 24 74 68 his->io->writeError('');.if.($th
5dd20 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e is->io->isDebug()).{.$this->io->
5dd40 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 49 6e 76 61 6c 69 64 20 7a 69 70 20 66 69 6c 65 writeError('....Invalid.zip.file
5dd60 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 2c 20 72 65 74 72 79 69 6e .('.$e->getMessage().'),.retryin
5dd80 67 2e 2e 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 g...');.}.else.{.$this->io->writ
5dda0 65 45 72 72 6f 72 28 27 20 20 20 20 49 6e 76 61 6c 69 64 20 7a 69 70 20 66 69 6c 65 2c 20 72 65 eError('....Invalid.zip.file,.re
5ddc0 74 72 79 69 6e 67 2e 2e 2e 27 29 3b 0a 7d 0a 75 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 63 trying...');.}.usleep(500000);.c
5dde0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a ontinue;.}..throw.$e;.}..break;.
5de00 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 }.}.....protected.function.getFi
5de20 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 leName(PackageInterface.$package
5de40 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 70 61 74 68 2e 27 2f ,.$path).{.return.rtrim($path.'/
5de60 27 2e 6d 64 35 28 24 70 61 74 68 2e 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 61 63 '.md5($path.spl_object_hash($pac
5de80 6b 61 67 65 29 29 2e 27 2e 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 kage)).'.'.pathinfo(parse_url($p
5dea0 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 ackage->getDistUrl(),.PHP_URL_PA
5dec0 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 2c 20 27 2e 27 29 3b 0a TH),.PATHINFO_EXTENSION),.'.');.
5dee0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 }..........abstract.protected.fu
5df00 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a nction.extract($file,.$path);...
5df20 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 6c 64 65 72 43 .....private.function.getFolderC
5df40 6f 6e 74 65 6e 74 28 24 64 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a ontent($dir).{.$finder.=.Finder:
5df60 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 :create().->ignoreVCS(false).->i
5df80 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 29 0a 2d 3e 6e 6f 74 4e 61 6d 65 28 27 gnoreDotFiles(false).->notName('
5dfa0 2e 44 53 5f 53 74 6f 72 65 27 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 .DS_Store').->depth(0).->in($dir
5dfc0 29 3b 0a 0a 72 65 74 75 72 6e 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 );..return.iterator_to_array($fi
5dfe0 6e 64 65 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 nder);.}.}.<?php............name
5e000 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 space.Composer\Downloader;..use.
5e020 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
5e040 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 e;.......interface.ChangeReportI
5e060 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f nterface.{........public.functio
5e080 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 n.getLocalChanges(PackageInterfa
5e0a0 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ce.$package,.$path);.}.<?php....
5e0c0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c ........namespace.Composer\Downl
5e0e0 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 oader;..use.Composer\Package\Pac
5e100 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 kageInterface;.use.Composer\IO\I
5e120 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 OInterface;.use.Composer\Util\Fi
5e140 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 6f 77 6e 6c 6f 61 64 4d 61 lesystem;.......class.DownloadMa
5e160 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 70 72 nager.{.private.$io;.private.$pr
5e180 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 eferDist.=.false;.private.$prefe
5e1a0 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 rSource.=.false;.private.$packag
5e1c0 65 50 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 ePreferences.=.array();.private.
5e1e0 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 $filesystem;.private.$downloader
5e200 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s.=.array();.........public.func
5e220 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f tion.__construct(IOInterface.$io
5e240 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 46 69 6c 65 73 79 73 ,.$preferSource.=.false,.Filesys
5e260 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d tem.$filesystem.=.null).{.$this-
5e280 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d >io.=.$io;.$this->preferSource.=
5e2a0 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 .$preferSource;.$this->filesyste
5e2c0 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 m.=.$filesystem.?:.new.Filesyste
5e2e0 6d 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 m();.}........public.function.se
5e300 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 7b 0a 24 tPreferSource($preferSource).{.$
5e320 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 70 72 65 66 65 72 53 6f 75 72 this->preferSource.=.$preferSour
5e340 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ce;..return.$this;.}........publ
5e360 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 ic.function.setPreferDist($prefe
5e380 72 44 69 73 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 70 72 rDist).{.$this->preferDist.=.$pr
5e3a0 65 66 65 72 44 69 73 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a eferDist;..return.$this;.}......
5e3c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 65 6e 63 65 73 ..public.function.setPreferences
5e3e0 28 61 72 72 61 79 20 24 70 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 (array.$preferences).{.$this->pa
5e400 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 70 72 65 66 65 72 65 6e 63 65 73 3b ckagePreferences.=.$preferences;
5e420 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ..return.$this;.}.........public
5e440 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 .function.setOutputProgress($out
5e460 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 putProgress).{.foreach.($this->d
5e480 6f 77 6e 6c 6f 61 64 65 72 73 20 61 73 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f ownloaders.as.$downloader).{.$do
5e4a0 77 6e 6c 6f 61 64 65 72 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 wnloader->setOutputProgress($out
5e4c0 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d putProgress);.}..return.$this;.}
5e4e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e .........public.function.setDown
5e500 6c 6f 61 64 65 72 28 24 74 79 70 65 2c 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 loader($type,.DownloaderInterfac
5e520 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f e.$downloader).{.$type.=.strtolo
5e540 77 65 72 28 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 wer($type);.$this->downloaders[$
5e560 74 79 70 65 5d 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 type].=.$downloader;..return.$th
5e580 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 is;.}.........public.function.ge
5e5a0 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 72 tDownloader($type).{.$type.=.str
5e5c0 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 tolower($type);.if.(!isset($this
5e5e0 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e ->downloaders[$type])).{.throw.n
5e600 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ew.\InvalidArgumentException(spr
5e620 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 64 6f 77 6e 6c 6f 61 64 65 72 20 74 79 70 65 3a 20 25 intf('Unknown.downloader.type:.%
5e640 73 2e 20 41 76 61 69 6c 61 62 6c 65 20 74 79 70 65 73 3a 20 25 73 2e 27 2c 20 24 74 79 70 65 2c s..Available.types:.%s.',.$type,
5e660 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d .implode(',.',.array_keys($this-
5e680 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 29 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 >downloaders))));.}..return.$thi
5e6a0 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a s->downloaders[$type];.}........
5e6c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 ...public.function.getDownloader
5e6e0 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 ForInstalledPackage(PackageInter
5e700 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f face.$package).{.$installationSo
5e720 75 72 63 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e urce.=.$package->getInstallation
5e740 53 6f 75 72 63 65 28 29 3b 0a 0a 69 66 20 28 27 6d 65 74 61 70 61 63 6b 61 67 65 27 20 3d 3d 3d Source();..if.('metapackage'.===
5e760 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a .$package->getType()).{.return;.
5e780 7d 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 }..if.('dist'.===.$installationS
5e7a0 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 ource).{.$downloader.=.$this->ge
5e7c0 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 tDownloader($package->getDistTyp
5e7e0 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 6e e());.}.elseif.('source'.===.$in
5e800 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 stallationSource).{.$downloader.
5e820 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 70 61 63 6b 61 67 65 2d =.$this->getDownloader($package-
5e840 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f >getSourceType());.}.else.{.thro
5e860 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
5e880 0a 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 73 65 65 6d 73 20 6e 6f 74 .'Package.'.$package.'.seems.not
5e8a0 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 70 72 6f 70 65 72 6c 79 27 0a 29 3b 0a 7d 0a 0a .been.installed.properly'.);.}..
5e8c0 69 66 20 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 21 3d 3d 20 24 64 6f 77 if.($installationSource.!==.$dow
5e8e0 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 nloader->getInstallationSource()
5e900 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 ).{.throw.new.\LogicException(sp
5e920 72 69 6e 74 66 28 0a 27 44 6f 77 6e 6c 6f 61 64 65 72 20 22 25 73 22 20 69 73 20 61 20 25 73 20 rintf(.'Downloader."%s".is.a.%s.
5e940 74 79 70 65 20 64 6f 77 6e 6c 6f 61 64 65 72 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 75 type.downloader.and.can.not.be.u
5e960 73 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 25 73 20 66 6f 72 20 70 61 63 6b 61 67 65 20 25 sed.to.download.%s.for.package.%
5e980 73 27 2c 0a 67 65 74 5f 63 6c 61 73 73 28 24 64 6f 77 6e 6c 6f 61 64 65 72 29 2c 0a 24 64 6f 77 s',.get_class($downloader),.$dow
5e9a0 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 nloader->getInstallationSource()
5e9c0 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 2c 0a 24 70 61 63 6b 61 67 65 0a ,.$installationSource,.$package.
5e9e0 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 77 6e 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a ));.}..return.$downloader;.}....
5ea00 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 ........public.function.download
5ea20 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 (PackageInterface.$package,.$tar
5ea40 67 65 74 44 69 72 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a getDir,.$preferSource.=.null).{.
5ea60 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 72 65 66 65 72 $preferSource.=.null.!==.$prefer
5ea80 53 6f 75 72 63 65 20 3f 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3a 20 24 74 68 69 73 2d 3e Source.?.$preferSource.:.$this->
5eaa0 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 70 61 63 preferSource;.$sourceType.=.$pac
5eac0 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 64 69 73 74 54 79 70 65 kage->getSourceType();.$distType
5eae0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 0a 24 73 6f .=.$package->getDistType();..$so
5eb00 75 72 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 73 6f 75 72 63 65 54 79 70 65 urces.=.array();.if.($sourceType
5eb20 29 20 7b 0a 24 73 6f 75 72 63 65 73 5b 5d 20 3d 20 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 69 66 20 ).{.$sources[].=.'source';.}.if.
5eb40 28 24 64 69 73 74 54 79 70 65 29 20 7b 0a 24 73 6f 75 72 63 65 73 5b 5d 20 3d 20 27 64 69 73 74 ($distType).{.$sources[].=.'dist
5eb60 27 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 6f 75 72 63 65 73 29 29 20 7b 0a 74 68 72 ';.}..if.(empty($sources)).{.thr
5eb80 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
5eba0 28 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 6d 75 73 74 20 68 61 76 65 ('Package.'.$package.'.must.have
5ebc0 20 61 20 73 6f 75 72 63 65 20 6f 72 20 64 69 73 74 20 73 70 65 63 69 66 69 65 64 27 29 3b 0a 7d .a.source.or.dist.specified');.}
5ebe0 0a 0a 69 66 20 28 21 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 28 24 74 68 69 73 2d 3e ..if.(!$preferSource.&&.($this->
5ec00 70 72 65 66 65 72 44 69 73 74 20 7c 7c 20 27 64 69 73 74 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e preferDist.||.'dist'.===.$this->
5ec20 72 65 73 6f 6c 76 65 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 50 72 65 66 65 72 65 6e 63 65 28 resolvePackageInstallPreference(
5ec40 24 70 61 63 6b 61 67 65 29 29 29 20 7b 0a 24 73 6f 75 72 63 65 73 20 3d 20 61 72 72 61 79 5f 72 $package))).{.$sources.=.array_r
5ec60 65 76 65 72 73 65 28 24 73 6f 75 72 63 65 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 everse($sources);.}..$this->file
5ec80 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 system->ensureDirectoryExists($t
5eca0 61 72 67 65 74 44 69 72 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 75 72 63 65 73 20 61 73 argetDir);..foreach.($sources.as
5ecc0 20 24 69 20 3d 3e 20 24 73 6f 75 72 63 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 29 .$i.=>.$source).{.if.(isset($e))
5ece0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 .{.$this->io->writeError('....<w
5ed00 61 72 6e 69 6e 67 3e 4e 6f 77 20 74 72 79 69 6e 67 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 66 72 arning>Now.trying.to.download.fr
5ed20 6f 6d 20 27 20 2e 20 24 73 6f 75 72 63 65 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a om.'...$source...'</warning>');.
5ed40 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 }.$package->setInstallationSourc
5ed60 65 28 24 73 6f 75 72 63 65 29 3b 0a 74 72 79 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 e($source);.try.{.$downloader.=.
5ed80 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 $this->getDownloaderForInstalled
5eda0 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 Package($package);.if.($download
5edc0 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 er).{.$downloader->download($pac
5ede0 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 kage,.$targetDir);.}.break;.}.ca
5ee00 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 tch.(\RuntimeException.$e).{.if.
5ee20 28 24 69 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 73 6f 75 72 63 65 73 29 20 2d 20 31 29 20 7b 0a 74 ($i.===.count($sources).-.1).{.t
5ee40 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f hrow.$e;.}..$this->io->writeErro
5ee60 72 28 0a 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 20 74 6f 20 64 6f 77 6e 6c r(.'....<warning>Failed.to.downl
5ee80 6f 61 64 20 27 2e 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 oad.'..$package->getPrettyName()
5eea0 2e 0a 27 20 66 72 6f 6d 20 27 20 2e 20 24 73 6f 75 72 63 65 20 2e 20 27 3a 20 27 2e 0a 24 65 2d ..'.from.'...$source...':.'..$e-
5eec0 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 3b 0a 7d 0a >getMessage().'</warning>'.);.}.
5eee0 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 }.}...........public.function.up
5ef00 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 date(PackageInterface.$initial,.
5ef20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 PackageInterface.$target,.$targe
5ef40 74 44 69 72 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 tDir).{.$downloader.=.$this->get
5ef60 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 69 DownloaderForInstalledPackage($i
5ef80 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 72 65 74 nitial);.if.(!$downloader).{.ret
5efa0 75 72 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 69 urn;.}..$installationSource.=.$i
5efc0 6e 69 74 69 61 6c 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b nitial->getInstallationSource();
5efe0 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f ..if.('dist'.===.$installationSo
5f000 75 72 63 65 29 20 7b 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d urce).{.$initialType.=.$initial-
5f020 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 >getDistType();.$targetType.=.$t
5f040 61 72 67 65 74 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 arget->getDistType();.}.else.{.$
5f060 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 initialType.=.$initial->getSourc
5f080 65 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e eType();.$targetType.=.$target->
5f0a0 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 61 72 67 65 getSourceType();.}....if.($targe
5f0c0 74 2d 3e 69 73 44 65 76 28 29 20 26 26 20 27 64 69 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c t->isDev().&&.'dist'.===.$instal
5f0e0 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d lationSource).{.$downloader->rem
5f100 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 ove($initial,.$targetDir);.$this
5f120 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b ->download($target,.$targetDir);
5f140 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 3d ..return;.}..if.($initialType.==
5f160 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 7b 0a 24 74 61 72 67 65 74 2d 3e 73 65 74 49 6e 73 =.$targetType).{.$target->setIns
5f180 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 tallationSource($installationSou
5f1a0 72 63 65 29 3b 0a 74 72 79 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 75 70 64 61 74 65 28 rce);.try.{.$downloader->update(
5f1c0 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a $initial,.$target,.$targetDir);.
5f1e0 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 .return;.}.catch.(\RuntimeExcept
5f200 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 ion.$e).{.if.(!$this->io->isInte
5f220 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e ractive()).{.throw.$e;.}.$this->
5f240 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 20 20 20 20 55 70 64 61 74 io->writeError('<error>....Updat
5f260 65 20 66 61 69 6c 65 64 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 3c e.failed.('.$e->getMessage().')<
5f280 2f 65 72 72 6f 72 3e 27 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 43 6f /error>');.if.(!$this->io->askCo
5f2a0 6e 66 69 72 6d 61 74 69 6f 6e 28 27 20 20 20 20 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 nfirmation('....Would.you.like.t
5f2c0 6f 20 74 72 79 20 72 65 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 o.try.reinstalling.the.package.i
5f2e0 6e 73 74 65 61 64 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f nstead.[<comment>yes</comment>]?
5f300 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 64 .',.true)).{.throw.$e;.}.}.}..$d
5f320 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 ownloader->remove($initial,.$tar
5f340 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 getDir);.$this->download($target
5f360 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 6e 73 74 ,.$targetDir,.'source'.===.$inst
5f380 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 allationSource);.}........public
5f3a0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 .function.remove(PackageInterfac
5f3c0 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 64 6f 77 6e 6c e.$package,.$targetDir).{.$downl
5f3e0 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 oader.=.$this->getDownloaderForI
5f400 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 nstalledPackage($package);.if.($
5f420 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 downloader).{.$downloader->remov
5f440 65 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a e($package,.$targetDir);.}.}....
5f460 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 50 .....protected.function.resolveP
5f480 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 50 72 65 66 65 72 65 6e 63 65 28 50 61 63 6b 61 67 65 49 ackageInstallPreference(PackageI
5f4a0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 nterface.$package).{.foreach.($t
5f4c0 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 61 73 20 24 70 61 74 74 his->packagePreferences.as.$patt
5f4e0 65 72 6e 20 3d 3e 20 24 70 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d ern.=>.$preference).{.$pattern.=
5f500 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 2e 2a 27 2c 20 70 .'{^'.str_replace('\\*',.'.*',.p
5f520 72 65 67 5f 71 75 6f 74 65 28 24 70 61 74 74 65 72 6e 29 29 2e 27 24 7d 69 27 3b 0a 69 66 20 28 reg_quote($pattern)).'$}i';.if.(
5f540 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 preg_match($pattern,.$package->g
5f560 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 24 70 72 65 etName())).{.if.('dist'.===.$pre
5f580 66 65 72 65 6e 63 65 20 7c 7c 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 ference.||.(!$package->isDev().&
5f5a0 26 20 27 61 75 74 6f 27 20 3d 3d 3d 20 24 70 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 72 65 74 &.'auto'.===.$preference)).{.ret
5f5c0 75 72 6e 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 73 6f 75 72 63 65 27 3b 0a urn.'dist';.}..return.'source';.
5f5e0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 3f 20 }.}..return.$package->isDev().?.
5f600 27 73 6f 75 72 63 65 27 20 3a 20 27 64 69 73 74 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 'source'.:.'dist';.}.}.<?php....
5f620 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c ........namespace.Composer\Downl
5f640 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 oader;..use.Composer\Package\Pac
5f660 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 kageInterface;........interface.
5f680 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 DownloaderInterface.{......publi
5f6a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 c.function.getInstallationSource
5f6c0 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c ();........public.function.downl
5f6e0 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 oad(PackageInterface.$package,.$
5f700 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 path);.........public.function.u
5f720 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c pdate(PackageInterface.$initial,
5f740 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 .PackageInterface.$target,.$path
5f760 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 );........public.function.remove
5f780 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
5f7a0 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 h);........public.function.setOu
5f7c0 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d tputProgress($outputProgress);.}
5f7e0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
5f800 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 oser\Downloader;..use.Composer\P
5f820 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 ackage\PackageInterface;.......i
5f840 6e 74 65 72 66 61 63 65 20 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 nterface.DvcsDownloaderInterface
5f860 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 70 .{........public.function.getUnp
5f880 75 73 68 65 64 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 ushedChanges(PackageInterface.$p
5f8a0 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ackage,.$path);.}.<?php.........
5f8c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 ...namespace.Composer\Downloader
5f8e0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
5f900 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 oser\Cache;.use.Composer\Factory
5f920 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 ;.use.Composer\IO\IOInterface;.u
5f940 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f se.Composer\IO\NullIO;.use.Compo
5f960 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 72 65 72 5c 43 6f 6d 70 61 72 65 72 3b 0a 75 ser\Package\Comparer\Comparer;.u
5f980 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
5f9a0 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 face;.use.Composer\Package\Versi
5f9c0 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 on\VersionParser;.use.Composer\P
5f9e0 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 lugin\PluginEvents;.use.Composer
5fa00 5c 50 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 3b 0a 75 73 \Plugin\PreFileDownloadEvent;.us
5fa20 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 e.Composer\EventDispatcher\Event
5fa40 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 Dispatcher;.use.Composer\Util\Fi
5fa60 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f lesystem;.use.Composer\Util\Remo
5fa80 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c teFilesystem;.use.Composer\Util\
5faa0 55 72 6c 20 61 73 20 55 72 6c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 Url.as.UrlUtil;..........class.F
5fac0 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c 6f 61 ileDownloader.implements.Downloa
5fae0 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 derInterface,.ChangeReportInterf
5fb00 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 ace.{.protected.$io;.protected.$
5fb20 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b 0a 70 72 6f 74 65 63 74 65 config;.protected.$rfs;.protecte
5fb40 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b d.$filesystem;.protected.$cache;
5fb60 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 74 72 75 .protected.$outputProgress.=.tru
5fb80 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 20 3d 20 61 72 e;.private.$lastCacheWrites.=.ar
5fba0 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b ray();.private.$eventDispatcher;
5fbc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ............public.function.__co
5fbe0 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 nstruct(IOInterface.$io,.Config.
5fc00 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 $config,.EventDispatcher.$eventD
5fc20 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d ispatcher.=.null,.Cache.$cache.=
5fc40 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e .null,.RemoteFilesystem.$rfs.=.n
5fc60 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 ull,.Filesystem.$filesystem.=.nu
5fc80 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f ll).{.$this->io.=.$io;.$this->co
5fca0 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 nfig.=.$config;.$this->eventDisp
5fcc0 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 atcher.=.$eventDispatcher;.$this
5fce0 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 ->rfs.=.$rfs.?:.Factory::createR
5fd00 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 emoteFilesystem($this->io,.$conf
5fd20 69 67 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 ig);.$this->filesystem.=.$filesy
5fd40 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d stem.?:.new.Filesystem();.$this-
5fd60 3e 63 61 63 68 65 20 3d 20 24 63 61 63 68 65 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 >cache.=.$cache;..if.($this->cac
5fd80 68 65 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 63 49 73 4e 65 63 65 73 73 61 72 he.&&.$this->cache->gcIsNecessar
5fda0 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 63 28 24 63 6f 6e 66 69 67 2d y()).{.$this->cache->gc($config-
5fdc0 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 29 2c 20 24 63 6f 6e 66 69 67 >get('cache-files-ttl'),.$config
5fde0 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 29 29 3b 0a 7d ->get('cache-files-maxsize'));.}
5fe00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c .}.....public.function.getInstal
5fe20 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 69 73 74 27 3b 0a lationSource().{.return.'dist';.
5fe40 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 }.....public.function.download(P
5fe60 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c ackageInterface.$package,.$path,
5fe80 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 .$output.=.true).{.if.(!$package
5fea0 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 ->getDistUrl()).{.throw.new.\Inv
5fec0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 67 69 76 65 6e alidArgumentException('The.given
5fee0 20 70 61 63 6b 61 67 65 20 69 73 20 6d 69 73 73 69 6e 67 20 75 72 6c 20 69 6e 66 6f 72 6d 61 74 .package.is.missing.url.informat
5ff00 69 6f 6e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e ion');.}..if.($output).{.$this->
5ff20 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c io->writeError("..-.Installing.<
5ff40 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 info>"...$package->getName()..."
5ff60 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e </info>.(<comment>"...$package->
5ff80 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d getFullPrettyVersion()..."</comm
5ffa0 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 75 72 6c 73 20 3d 20 24 70 61 ent>):.",.false);.}..$urls.=.$pa
5ffc0 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 77 68 69 6c 65 20 28 24 75 72 ckage->getDistUrls();.while.($ur
5ffe0 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a l.=.array_shift($urls)).{.try.{.
60000 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 $fileName.=.$this->doDownload($p
60020 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 ackage,.$path,.$url);.break;.}.c
60040 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 atch.(\Exception.$e).{.if.($this
60060 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 ->io->isDebug()).{.$this->io->wr
60080 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 iteError('');.$this->io->writeEr
600a0 72 6f 72 28 27 46 61 69 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d ror('Failed:.['.get_class($e).']
600c0 20 27 2e 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2e 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 .'.$e->getCode().':.'.$e->getMes
600e0 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 sage());.}.elseif.(count($urls))
60100 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 .{.$this->io->writeError('');.$t
60120 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 46 61 69 6c 65 64 2c 20 74 72 his->io->writeError('.Failed,.tr
60140 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 55 52 4c 20 28 27 2e 24 65 2d 3e 67 65 74 43 6f 64 65 ying.the.next.URL.('.$e->getCode
60160 28 29 2e 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 2c 20 66 61 ().':.'.$e->getMessage().')',.fa
60180 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 68 lse);.}..if.(!count($urls)).{.th
601a0 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 row.$e;.}.}.}..if.($output).{.$t
601c0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 0a 72 65 74 75 his->io->writeError('');.}..retu
601e0 72 6e 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 rn.$fileName;.}..protected.funct
60200 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 ion.doDownload(PackageInterface.
60220 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e $package,.$path,.$url).{.$this->
60240 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 filesystem->emptyDirectory($path
60260 29 3b 0a 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 4e 61 );..$fileName.=.$this->getFileNa
60280 6d 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 24 70 72 6f 63 65 73 73 65 64 me($package,.$path);..$processed
602a0 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 55 72 6c 28 24 70 61 63 6b 61 67 65 Url.=.$this->processUrl($package
602c0 2c 20 24 75 72 6c 29 3b 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 ,.$url);.$hostname.=.parse_url($
602e0 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 24 70 processedUrl,.PHP_URL_HOST);..$p
60300 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c reFileDownloadEvent.=.new.PreFil
60320 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 eDownloadEvent(PluginEvents::PRE
60340 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 70 72 6f _FILE_DOWNLOAD,.$this->rfs,.$pro
60360 63 65 73 73 65 64 55 72 6c 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 cessedUrl);.if.($this->eventDisp
60380 61 74 63 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 atcher).{.$this->eventDispatcher
603a0 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 ->dispatch($preFileDownloadEvent
603c0 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 ->getName(),.$preFileDownloadEve
603e0 6e 74 29 3b 0a 7d 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 nt);.}.$rfs.=.$preFileDownloadEv
60400 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 74 72 79 ent->getRemoteFilesystem();..try
60420 20 7b 0a 24 63 68 65 63 6b 73 75 6d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 .{.$checksum.=.$package->getDist
60440 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 24 74 68 69 Sha1Checksum();.$cacheKey.=.$thi
60460 73 2d 3e 67 65 74 43 61 63 68 65 4b 65 79 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 63 65 73 s->getCacheKey($package,.$proces
60480 73 65 64 55 72 6c 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 sedUrl);....if.($this->cache.&&.
604a0 28 21 24 63 68 65 63 6b 73 75 6d 20 7c 7c 20 24 63 68 65 63 6b 73 75 6d 20 3d 3d 3d 20 24 74 68 (!$checksum.||.$checksum.===.$th
604c0 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 31 28 24 63 61 63 68 65 4b 65 79 29 29 20 26 26 20 24 is->cache->sha1($cacheKey)).&&.$
604e0 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 54 6f 28 24 63 61 63 68 65 4b 65 79 2c 20 24 this->cache->copyTo($cacheKey,.$
60500 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 fileName)).{.$this->io->writeErr
60520 6f 72 28 27 4c 6f 61 64 69 6e 67 20 66 72 6f 6d 20 63 61 63 68 65 27 2c 20 66 61 6c 73 65 29 3b or('Loading.from.cache',.false);
60540 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 .}.else.{...if.(!$this->outputPr
60560 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ogress).{.$this->io->writeError(
60580 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 20 24 72 65 74 'Downloading',.false);.}....$ret
605a0 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 ries.=.3;.while.($retries--).{.t
605c0 72 79 20 7b 0a 24 72 66 73 2d 3e 63 6f 70 79 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 70 72 6f 63 ry.{.$rfs->copy($hostname,.$proc
605e0 65 73 73 65 64 55 72 6c 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 essedUrl,.$fileName,.$this->outp
60600 75 74 50 72 6f 67 72 65 73 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f utProgress,.$package->getTranspo
60620 72 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 rtOptions());.break;.}.catch.(Tr
60640 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 28 30 20 ansportException.$e).{...if.((0.
60660 21 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 !==.$e->getCode().&&.!in_array($
60680 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 35 30 30 2c 20 35 30 32 2c 20 35 30 e->getCode(),.array(500,.502,.50
606a0 33 2c 20 35 30 34 29 29 29 20 7c 7c 20 21 24 72 65 74 72 69 65 73 29 20 7b 0a 74 68 72 6f 77 20 3,.504))).||.!$retries).{.throw.
606c0 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b $e;.}.$this->io->writeError('');
606e0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 44 6f 77 6e .$this->io->writeError('....Down
60700 6c 6f 61 64 20 66 61 69 6c 65 64 2c 20 72 65 74 72 79 69 6e 67 2e 2e 2e 27 2c 20 74 72 75 65 2c load.failed,.retrying...',.true,
60720 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 75 73 6c 65 65 70 28 35 .IOInterface::VERBOSE);.usleep(5
60740 30 30 30 30 30 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 00000);.}.}..if.(!$this->outputP
60760 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 rogress).{.$this->io->writeError
60780 28 27 20 28 3c 63 6f 6d 6d 65 6e 74 3e 31 30 30 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 2c 20 66 ('.(<comment>100%</comment>)',.f
607a0 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 29 20 7b 0a 24 74 alse);.}..if.($this->cache).{.$t
607c0 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 his->lastCacheWrites[$package->g
607e0 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 61 63 68 65 4b 65 79 3b 0a 24 74 68 69 73 2d 3e 63 61 etName()].=.$cacheKey;.$this->ca
60800 63 68 65 2d 3e 63 6f 70 79 46 72 6f 6d 28 24 63 61 63 68 65 4b 65 79 2c 20 24 66 69 6c 65 4e 61 che->copyFrom($cacheKey,.$fileNa
60820 6d 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 me);.}.}..if.(!file_exists($file
60840 4e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 Name)).{.throw.new.\UnexpectedVa
60860 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 24 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 lueException($url.'.could.not.be
60880 20 73 61 76 65 64 20 74 6f 20 27 2e 24 66 69 6c 65 4e 61 6d 65 2e 27 2c 20 6d 61 6b 65 20 73 75 .saved.to.'.$fileName.',.make.su
608a0 72 65 20 74 68 65 27 0a 2e 27 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 77 72 69 74 61 62 6c 65 re.the'..'.directory.is.writable
608c0 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 69 6e 74 65 72 6e 65 74 20 63 6f 6e 6e 65 63 74 69 76 .and.you.have.internet.connectiv
608e0 69 74 79 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 68 65 63 6b 73 75 6d 20 26 26 20 68 61 73 68 5f ity');.}..if.($checksum.&&.hash_
60900 66 69 6c 65 28 27 73 68 61 31 27 2c 20 24 66 69 6c 65 4e 61 6d 65 29 20 21 3d 3d 20 24 63 68 65 file('sha1',.$fileName).!==.$che
60920 63 6b 73 75 6d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 cksum).{.throw.new.\UnexpectedVa
60940 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 63 68 65 63 6b 73 75 6d 20 76 65 72 69 66 lueException('The.checksum.verif
60960 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 61 69 6c 65 64 20 28 64 6f 77 6e ication.of.the.file.failed.(down
60980 6c 6f 61 64 65 64 20 66 72 6f 6d 20 27 2e 24 75 72 6c 2e 27 29 27 29 3b 0a 7d 0a 7d 20 63 61 74 loaded.from.'.$url.')');.}.}.cat
609a0 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 66 69 ch.(\Exception.$e).{...$this->fi
609c0 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 lesystem->removeDirectory($path)
609e0 3b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 72 69 74 65 28 24 70 61 ;.$this->clearLastCacheWrite($pa
60a00 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c ckage);.throw.$e;.}..return.$fil
60a20 65 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 eName;.}.....public.function.set
60a40 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a OutputProgress($outputProgress).
60a60 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 24 6f 75 74 70 75 {.$this->outputProgress.=.$outpu
60a80 74 50 72 6f 67 72 65 73 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 72 6f tProgress;..return.$this;.}..pro
60aa0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 72 tected.function.clearLastCacheWr
60ac0 69 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b ite(PackageInterface.$package).{
60ae0 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 .if.($this->cache.&&.isset($this
60b00 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ->lastCacheWrites[$package->getN
60b20 61 6d 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 6d 6f 76 65 28 ame()])).{.$this->cache->remove(
60b40 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d $this->lastCacheWrites[$package-
60b60 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 >getName()]);.unset($this->lastC
60b80 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 acheWrites[$package->getName()])
60ba0 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 ;.}.}.....public.function.update
60bc0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b (PackageInterface.$initial,.Pack
60be0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 0a 7b 0a 24 ageInterface.$target,.$path).{.$
60c00 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 66 72 6f 6d name.=.$target->getName();.$from
60c20 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b .=.$initial->getPrettyVersion();
60c40 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e .$to.=.$target->getPrettyVersion
60c60 28 29 3b 0a 0a 24 61 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 ();..$actionName.=.VersionParser
60c80 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e ::isUpgrade($initial->getVersion
60ca0 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 (),.$target->getVersion()).?.'Up
60cc0 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e 67 72 61 64 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e dating'.:.'Downgrading';.$this->
60ce0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e io->writeError("..-."...$actionN
60d00 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 ame...".<info>"...$name..."</inf
60d20 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 66 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d o>.(<comment>"...$from..."</comm
60d40 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f ent>.=>.<comment>"...$to..."</co
60d60 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f mment>):.",.false);..$this->remo
60d80 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 ve($initial,.$path,.false);.$thi
60da0 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 s->download($target,.$path,.fals
60dc0 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a e);..$this->io->writeError('');.
60de0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 }.....public.function.remove(Pac
60e00 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 kageInterface.$package,.$path,.$
60e20 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a output.=.true).{.if.($output).{.
60e40 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 $this->io->writeError("..-.Remov
60e60 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ing.<info>"...$package->getName(
60e80 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b )..."</info>.(<comment>"...$pack
60ea0 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c age->getFullPrettyVersion()..."<
60ec0 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 /comment>)");.}.if.(!$this->file
60ee0 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 system->removeDirectory($path)).
60f00 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 {.throw.new.\RuntimeException('C
60f20 6f 75 6c 64 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 ould.not.completely.delete.'.$pa
60f40 74 68 2e 27 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 th.',.aborting.');.}.}.........p
60f60 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 rotected.function.getFileName(Pa
60f80 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a ckageInterface.$package,.$path).
60fa0 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 {.return.$path.'/'.pathinfo(pars
60fc0 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 e_url($package->getDistUrl(),.PH
60fe0 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b P_URL_PATH),.PATHINFO_BASENAME);
61000 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 .}..........protected.function.p
61020 72 6f 63 65 73 73 55 72 6c 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b rocessUrl(PackageInterface.$pack
61040 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 age,.$url).{.if.(!extension_load
61060 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 75 ed('openssl').&&.0.===.strpos($u
61080 72 6c 2c 20 27 68 74 74 70 73 3a 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 rl,.'https:')).{.throw.new.\Runt
610a0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 61 62 6c 65 20 74 68 imeException('You.must.enable.th
610c0 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 e.openssl.extension.to.download.
610e0 66 69 6c 65 73 20 76 69 61 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 files.via.https');.}..if.($packa
61100 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 75 72 6c 20 3d ge->getDistReference()).{.$url.=
61120 20 55 72 6c 55 74 69 6c 3a 3a 75 70 64 61 74 65 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 74 .UrlUtil::updateDistReference($t
61140 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 his->config,.$url,.$package->get
61160 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c DistReference());.}..return.$url
61180 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 63 68 65 4b 65 ;.}..private.function.getCacheKe
611a0 79 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 72 y(PackageInterface.$package,.$pr
611c0 6f 63 65 73 73 65 64 55 72 6c 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 24 63 61 63 68 65 4b 65 79 20 ocessedUrl).{.........$cacheKey.
611e0 3d 20 73 68 61 31 28 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 =.sha1($processedUrl);..return.$
61200 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 2f 27 2e 24 63 61 63 68 65 4b 65 79 package->getName().'/'.$cacheKey
61220 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a .'.'.$package->getDistType();.}.
61240 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 .....public.function.getLocalCha
61260 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 nges(PackageInterface.$package,.
61280 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 70 72 65 76 49 4f 20 3d 20 24 74 68 69 73 2d 3e 69 $targetDir).{.$prevIO.=.$this->i
612a0 6f 3b 0a 24 70 72 65 76 50 72 6f 67 72 65 73 73 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 o;.$prevProgress.=.$this->output
612c0 50 72 6f 67 72 65 73 73 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 Progress;..$this->io.=.new.NullI
612e0 4f 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 O;.$this->io->loadConfiguration(
61300 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f $this->config);.$this->outputPro
61320 67 72 65 73 73 20 3d 20 66 61 6c 73 65 3b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b gress.=.false;.$e.=.null;..try.{
61340 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 .$this->download($package,.$targ
61360 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 63 6f 6d 70 etDir.'_compare',.false);..$comp
61380 61 72 65 72 20 3d 20 6e 65 77 20 43 6f 6d 70 61 72 65 72 28 29 3b 0a 24 63 6f 6d 70 61 72 65 72 arer.=.new.Comparer();.$comparer
613a0 2d 3e 73 65 74 53 6f 75 72 63 65 28 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 ->setSource($targetDir.'_compare
613c0 27 29 3b 0a 24 63 6f 6d 70 61 72 65 72 2d 3e 73 65 74 55 70 64 61 74 65 28 24 74 61 72 67 65 74 ');.$comparer->setUpdate($target
613e0 44 69 72 29 3b 0a 24 63 6f 6d 70 61 72 65 72 2d 3e 64 6f 43 6f 6d 70 61 72 65 28 29 3b 0a 24 6f Dir);.$comparer->doCompare();.$o
61400 75 74 70 75 74 20 3d 20 24 63 6f 6d 70 61 72 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 64 28 74 72 utput.=.$comparer->getChanged(tr
61420 75 65 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 ue,.true);.$this->filesystem->re
61440 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 moveDirectory($targetDir.'_compa
61460 72 65 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a re');.}.catch.(\Exception.$e).{.
61480 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 70 72 65 76 49 4f 3b 0a 24 74 68 69 73 2d 3e 6f }..$this->io.=.$prevIO;.$this->o
614a0 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 24 70 72 65 76 50 72 6f 67 72 65 73 73 3b 0a 0a utputProgress.=.$prevProgress;..
614c0 69 66 20 28 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 if.($e).{.throw.$e;.}..return.tr
614e0 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a im($output);.}.}.<?php..........
61500 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b ..namespace.Composer\Downloader;
61520 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e .......class.FilesystemException
61540 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e .extends.\Exception.{.public.fun
61560 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3d 20 27 27 2c ction.__construct($message.=.'',
61580 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 .$code.=.0,.\Exception.$previous
615a0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 22 .=.null).{.parent::__construct("
615c0 46 69 6c 65 73 79 73 74 65 6d 20 65 78 63 65 70 74 69 6f 6e 3a 20 5c 6e 22 2e 24 6d 65 73 73 61 Filesystem.exception:.\n".$messa
615e0 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 ge,.$code,.$previous);.}.}.<?php
61600 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 ............namespace.Composer\D
61620 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ownloader;..use.Composer\Package
61640 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
61660 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 Util\ProcessExecutor;.....class.
61680 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e FossilDownloader.extends.VcsDown
616a0 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f loader.{....public.function.doDo
616c0 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 wnload(PackageInterface.$package
616e0 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ,.$path,.$url).{...$this->config
61700 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 ->prohibitUrlByConfig($url,.$thi
61720 73 2d 3e 69 6f 29 3b 0a 0a 24 75 72 6c 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a s->io);..$url.=.ProcessExecutor:
61740 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 :escape($url);.$ref.=.ProcessExe
61760 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 cutor::escape($package->getSourc
61780 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 72 65 70 6f 46 69 6c 65 20 3d 20 24 70 61 74 68 eReference());.$repoFile.=.$path
617a0 20 2e 20 27 2e 66 6f 73 73 69 6c 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ...'.fossil';.$this->io->writeEr
617c0 72 6f 72 28 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 ror("Cloning.".$package->getSour
617e0 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e ceReference());.$command.=.sprin
61800 74 66 28 27 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c 20 24 75 72 6c 2c 20 50 tf('fossil.clone.%s.%s',.$url,.P
61820 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 rocessExecutor::escape($repoFile
61840 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 ));.if.(0.!==.$this->process->ex
61860 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 ecute($command,.$ignoredOutput))
61880 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 .{.throw.new.\RuntimeException('
618a0 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e Failed.to.execute.'...$command..
618c0 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 ."\n\n"...$this->process->getErr
618e0 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 orOutput());.}.$command.=.sprint
61900 66 28 27 66 6f 73 73 69 6c 20 6f 70 65 6e 20 25 73 20 2d 2d 6e 65 73 74 65 64 27 2c 20 50 72 6f f('fossil.open.%s.--nested',.Pro
61920 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 29 29 cessExecutor::escape($repoFile))
61940 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ;.if.(0.!==.$this->process->exec
61960 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 ute($command,.$ignoredOutput,.re
61980 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e alpath($path))).{.throw.new.\Run
619a0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 timeException('Failed.to.execute
619c0 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e .'...$command..."\n\n"...$this->
619e0 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 24 63 process->getErrorOutput());.}.$c
61a00 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 75 70 64 61 74 65 20 ommand.=.sprintf('fossil.update.
61a20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f %s',.$ref);.if.(0.!==.$this->pro
61a40 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 cess->execute($command,.$ignored
61a60 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f Output,.realpath($path))).{.thro
61a80 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 w.new.\RuntimeException('Failed.
61aa0 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 to.execute.'...$command..."\n\n"
61ac0 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 ...$this->process->getErrorOutpu
61ae0 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f t());.}.}.....public.function.do
61b00 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c Update(PackageInterface.$initial
61b20 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 ,.PackageInterface.$target,.$pat
61b40 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 h,.$url).{...$this->config->proh
61b60 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 ibitUrlByConfig($url,.$this->io)
61b80 3b 0a 0a 24 75 72 6c 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 ;..$url.=.ProcessExecutor::escap
61ba0 65 28 24 75 72 6c 29 3b 0a 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a e($url);.$ref.=.ProcessExecutor:
61bc0 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 :escape($target->getSourceRefere
61be0 6e 63 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 nce());.$this->io->writeError(".
61c00 55 70 64 61 74 69 6e 67 20 74 6f 20 22 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 Updating.to.".$target->getSource
61c20 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 Reference());..if.(!$this->hasMe
61c40 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 tadataRepository($path)).{.throw
61c60 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 66 73 6c .new.\RuntimeException('The..fsl
61c80 63 6b 6f 75 74 20 66 69 6c 65 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 ckout.file.is.missing.from.'.$pa
61ca0 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 th.',.see.https://getcomposer.or
61cc0 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 g/commit-deps.for.more.informati
61ce0 6f 6e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 on');.}..$command.=.sprintf('fos
61d00 73 69 6c 20 70 75 6c 6c 20 26 26 20 66 6f 73 73 69 6c 20 75 70 20 25 73 27 2c 20 24 72 65 66 29 sil.pull.&&.fossil.up.%s',.$ref)
61d20 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ;.if.(0.!==.$this->process->exec
61d40 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 ute($command,.$ignoredOutput,.re
61d60 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e alpath($path))).{.throw.new.\Run
61d80 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 timeException('Failed.to.execute
61da0 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e .'...$command..."\n\n"...$this->
61dc0 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a process->getErrorOutput());.}.}.
61de0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e ....public.function.getLocalChan
61e00 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 ges(PackageInterface.$package,.$
61e20 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 path).{.if.(!$this->hasMetadataR
61e40 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b epository($path)).{.return.null;
61e60 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 .}..$this->process->execute('fos
61e80 73 69 6c 20 63 68 61 6e 67 65 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 sil.changes',.$output,.realpath(
61ea0 24 70 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f $path));..return.trim($output).?
61ec0 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e :.null;.}.....protected.function
61ee0 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 .getCommitLogs($fromReference,.$
61f00 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d toReference,.$path).{.$command.=
61f20 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 74 69 6d 65 6c 69 6e 65 20 2d 74 20 63 69 20 .sprintf('fossil.timeline.-t.ci.
61f40 2d 57 20 30 20 2d 6e 20 30 20 62 65 66 6f 72 65 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 -W.0.-n.0.before.%s',.ProcessExe
61f60 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 cutor::escape($toReference));..i
61f80 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.!==.$this->process->execute
61fa0 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 ($command,.$output,.realpath($pa
61fc0 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 th))).{.throw.new.\RuntimeExcept
61fe0 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d ion('Failed.to.execute.'...$comm
62000 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 and..."\n\n"...$this->process->g
62020 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 6c 6f 67 20 3d 20 27 27 3b 0a etErrorOutput());.}..$log.=.'';.
62040 24 6d 61 74 63 68 20 3d 20 27 2f 5c 64 5c 64 3a 5c 64 5c 64 3a 5c 64 5c 64 5c 73 2b 5c 5b 27 20 $match.=.'/\d\d:\d\d:\d\d\s+\['.
62060 2e 20 24 74 6f 52 65 66 65 72 65 6e 63 65 20 2e 20 27 5c 5d 2f 27 3b 0a 0a 66 6f 72 65 61 63 68 ..$toReference...'\]/';..foreach
62080 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 .($this->process->splitLines($ou
620a0 74 70 75 74 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 tput).as.$line).{.if.(preg_match
620c0 28 24 6d 61 74 63 68 2c 20 24 6c 69 6e 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6c 6f 67 ($match,.$line)).{.break;.}.$log
620e0 20 2e 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 67 3b 0a 7d 0a 0a 0a 0a ..=.$line;.}..return.$log;.}....
62100 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 .protected.function.hasMetadataR
62120 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 6c epository($path).{.return.is_fil
62140 65 28 24 70 61 74 68 20 2e 20 27 2f 2e 66 73 6c 63 6b 6f 75 74 27 29 20 7c 7c 20 69 73 5f 66 69 e($path...'/.fslckout').||.is_fi
62160 6c 65 28 24 70 61 74 68 20 2e 20 27 2f 5f 46 4f 53 53 49 4c 5f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 le($path...'/_FOSSIL_');.}.}.<?p
62180 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
621a0 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 \Downloader;..use.Composer\Confi
621c0 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a g;.use.Composer\IO\IOInterface;.
621e0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
62200 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 rface;.use.Composer\Util\Filesys
62220 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 tem;.use.Composer\Util\Git.as.Gi
62240 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 tUtil;.use.Composer\Util\Platfor
62260 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 m;.use.Composer\Util\ProcessExec
62280 75 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 utor;.....class.GitDownloader.ex
622a0 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 tends.VcsDownloader.implements.D
622c0 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 vcsDownloaderInterface.{.private
622e0 20 24 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 .$hasStashedChanges.=.false;.pri
62300 76 61 74 65 20 24 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 vate.$hasDiscardedChanges.=.fals
62320 65 3b 0a 70 72 69 76 61 74 65 20 24 67 69 74 55 74 69 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e e;.private.$gitUtil;..public.fun
62340 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 ction.__construct(IOInterface.$i
62360 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 o,.Config.$config,.ProcessExecut
62380 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 or.$process.=.null,.Filesystem.$
623a0 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 fs.=.null).{.parent::__construct
623c0 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 66 73 29 3b 0a 24 ($io,.$config,.$process,.$fs);.$
623e0 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 28 24 74 68 69 this->gitUtil.=.new.GitUtil($thi
62400 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f s->io,.$this->config,.$this->pro
62420 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 0a cess,.$this->filesystem);.}.....
62440 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 public.function.doDownload(Packa
62460 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 geInterface.$package,.$path,.$ur
62480 6c 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 l).{.GitUtil::cleanEnv();.$path.
624a0 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 24 =.$this->normalizePath($path);.$
624c0 63 61 63 68 65 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 cachePath.=.$this->config->get('
624e0 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 cache-vcs-dir').'/'.preg_replace
62500 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 75 72 6c 29 2e 27 2f 27 ('{[^a-z0-9.]}i',.'-',.$url).'/'
62520 3b 0a 24 72 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 ;.$ref.=.$package->getSourceRefe
62540 72 65 6e 63 65 28 29 3b 0a 24 66 6c 61 67 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e rence();.$flag.=.Platform::isWin
62560 64 6f 77 73 28 29 20 3f 20 27 2f 44 20 27 20 3a 20 27 27 3b 0a 0a 0a 20 24 67 69 74 56 65 72 73 dows().?.'/D.'.:.'';....$gitVers
62580 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e ion.=.$this->gitUtil->getVersion
625a0 28 29 3b 0a 24 6d 73 67 20 3d 20 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 ();.$msg.=."Cloning.".$this->get
625c0 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 ShortHash($ref);..$command.=.'gi
625e0 74 20 63 6c 6f 6e 65 20 2d 2d 6e 6f 2d 63 68 65 63 6b 6f 75 74 20 25 75 72 6c 25 20 25 70 61 74 t.clone.--no-checkout.%url%.%pat
62600 68 25 20 26 26 20 63 64 20 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 26 26 20 67 69 74 20 h%.&&.cd.'.$flag.'%path%.&&.git.
62620 72 65 6d 6f 74 65 20 61 64 64 20 63 6f 6d 70 6f 73 65 72 20 25 75 72 6c 25 20 26 26 20 67 69 74 remote.add.composer.%url%.&&.git
62640 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 24 67 69 74 56 65 72 73 69 6f .fetch.composer';.if.($gitVersio
62660 6e 20 26 26 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 67 69 74 56 65 72 73 69 6f 6e n.&&.version_compare($gitVersion
62680 2c 20 27 32 2e 33 2e 30 2d 72 63 30 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 ,.'2.3.0-rc0',.'>=')).{.$this->i
626a0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 o->writeError('',.true,.IOInterf
626c0 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 ace::DEBUG);.$this->io->writeErr
626e0 6f 72 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 43 6c 6f 6e 69 6e 67 20 74 6f 20 63 61 63 68 65 or(sprintf('....Cloning.to.cache
62700 20 61 74 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 .at.%s',.ProcessExecutor::escape
62720 28 24 63 61 63 68 65 50 61 74 68 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 ($cachePath)),.true,.IOInterface
62740 3a 3a 44 45 42 55 47 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e ::DEBUG);.try.{.$this->gitUtil->
62760 66 65 74 63 68 52 65 66 4f 72 53 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 63 61 63 68 fetchRefOrSyncMirror($url,.$cach
62780 65 50 61 74 68 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 63 61 63 68 65 50 ePath,.$ref);.if.(is_dir($cacheP
627a0 61 74 68 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 0a 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d ath)).{.$command.=.'git.clone.--
627c0 6e 6f 2d 63 68 65 63 6b 6f 75 74 20 25 63 61 63 68 65 50 61 74 68 25 20 25 70 61 74 68 25 20 2d no-checkout.%cachePath%.%path%.-
627e0 2d 64 69 73 73 6f 63 69 61 74 65 20 2d 2d 72 65 66 65 72 65 6e 63 65 20 25 63 61 63 68 65 50 61 -dissociate.--reference.%cachePa
62800 74 68 25 20 27 0a 2e 20 27 26 26 20 63 64 20 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 27 th%.'...'&&.cd.'.$flag.'%path%.'
62820 0a 2e 20 27 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e ...'&&.git.remote.set-url.origin
62840 20 25 75 72 6c 25 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 63 6f 6d 70 6f 73 65 .%url%.&&.git.remote.add.compose
62860 72 20 25 75 72 6c 25 27 3b 0a 24 6d 73 67 20 3d 20 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 74 68 69 r.%url%';.$msg.=."Cloning.".$thi
62880 73 2d 3e 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 29 2e 27 20 66 72 6f 6d 20 63 61 63 s->getShortHash($ref).'.from.cac
628a0 68 65 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f he';.}.}.catch.(\RuntimeExceptio
628c0 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f n.$e).{.}.}.$this->io->writeErro
628e0 72 28 24 6d 73 67 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e r($msg);..$commandCallable.=.fun
62900 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 70 61 74 68 2c 20 24 63 6f 6d 6d 61 6e ction.($url).use.($path,.$comman
62920 64 2c 20 24 63 61 63 68 65 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c d,.$cachePath).{.return.str_repl
62940 61 63 65 28 0a 61 72 72 61 79 28 27 25 75 72 6c 25 27 2c 20 27 25 70 61 74 68 25 27 2c 20 27 25 ace(.array('%url%',.'%path%',.'%
62960 63 61 63 68 65 50 61 74 68 25 27 29 2c 0a 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 45 78 65 63 cachePath%'),.array(.ProcessExec
62980 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 utor::escape($url),.ProcessExecu
629a0 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 tor::escape($path),.ProcessExecu
629c0 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 63 61 63 68 65 50 61 74 68 29 2c 0a 29 2c 0a 24 63 6f 6d tor::escape($cachePath),.),.$com
629e0 6d 61 6e 64 0a 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 72 75 6e 43 mand.);.};..$this->gitUtil->runC
62a00 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 ommand($commandCallable,.$url,.$
62a20 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 24 75 72 6c 20 21 3d 3d 20 24 70 61 63 6b 61 path,.true);.if.($url.!==.$packa
62a40 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 ge->getSourceUrl()).{.$this->upd
62a60 61 74 65 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 74 68 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ateOriginUrl($path,.$package->ge
62a80 74 53 6f 75 72 63 65 55 72 6c 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 tSourceUrl());.}.else.{.$this->s
62aa0 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 24 etPushUrl($path,.$url);.}..if.($
62ac0 6e 65 77 52 65 66 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 newRef.=.$this->updateToCommit($
62ae0 70 61 74 68 2c 20 24 72 65 66 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 path,.$ref,.$package->getPrettyV
62b00 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 ersion(),.$package->getReleaseDa
62b20 74 65 28 29 29 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 te())).{.if.($package->getDistRe
62b40 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 ference().===.$package->getSourc
62b60 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 eReference()).{.$package->setDis
62b80 74 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d tReference($newRef);.}.$package-
62ba0 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a >setSourceReference($newRef);.}.
62bc0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 }.....public.function.doUpdate(P
62be0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 ackageInterface.$initial,.Packag
62c00 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 eInterface.$target,.$path,.$url)
62c20 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 69 66 20 28 21 24 74 68 .{.GitUtil::cleanEnv();.if.(!$th
62c40 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 is->hasMetadataRepository($path)
62c60 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
62c80 27 54 68 65 20 2e 67 69 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 'The..git.directory.is.missing.f
62ca0 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f rom.'.$path.',.see.https://getco
62cc0 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 mposer.org/commit-deps.for.more.
62ce0 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 information');.}..$updateOriginU
62d00 72 6c 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 0a 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 rl.=.false;.if.(.0.===.$this->pr
62d20 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d 76 27 2c 20 ocess->execute('git.remote.-v',.
62d40 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b $output,.$path).&&.preg_match('{
62d60 5e 6f 72 69 67 69 6e 5c 73 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 24 6f 75 74 70 ^origin\s+(?P<url>\S+)}m',.$outp
62d80 75 74 2c 20 24 6f 72 69 67 69 6e 4d 61 74 63 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 ut,.$originMatch).&&.preg_match(
62da0 27 7b 5e 63 6f 6d 70 6f 73 65 72 5c 73 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 24 '{^composer\s+(?P<url>\S+)}m',.$
62dc0 6f 75 74 70 75 74 2c 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 29 0a 29 20 7b 0a 69 66 20 28 output,.$composerMatch).).{.if.(
62de0 24 6f 72 69 67 69 6e 4d 61 74 63 68 5b 27 75 72 6c 27 5d 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 $originMatch['url'].===.$compose
62e00 72 4d 61 74 63 68 5b 27 75 72 6c 27 5d 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 5b rMatch['url'].&&.$composerMatch[
62e20 27 75 72 6c 27 5d 20 21 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 'url'].!==.$target->getSourceUrl
62e40 28 29 29 20 7b 0a 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 20 3d 20 74 72 75 65 3b 0a 7d ()).{.$updateOriginUrl.=.true;.}
62e60 0a 7d 0a 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 .}..$ref.=.$target->getSourceRef
62e80 65 72 65 6e 63 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 erence();.$this->io->writeError(
62ea0 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 ".Checking.out.".$this->getShort
62ec0 48 61 73 68 28 24 72 65 66 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 72 65 6d Hash($ref));.$command.=.'git.rem
62ee0 6f 74 65 20 73 65 74 2d 75 72 6c 20 63 6f 6d 70 6f 73 65 72 20 25 73 20 26 26 20 67 69 74 20 72 ote.set-url.composer.%s.&&.git.r
62f00 65 76 2d 70 61 72 73 65 20 2d 2d 71 75 69 65 74 20 2d 2d 76 65 72 69 66 79 20 25 73 20 7c 7c 20 ev-parse.--quiet.--verify.%s.||.
62f20 28 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 66 65 74 63 68 (git.fetch.composer.&&.git.fetch
62f40 20 2d 2d 74 61 67 73 20 63 6f 6d 70 6f 73 65 72 29 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c .--tags.composer)';..$commandCal
62f60 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 63 6f lable.=.function.($url).use.($co
62f80 6d 6d 61 6e 64 2c 20 24 72 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 mmand,.$ref).{.return.sprintf($c
62fa0 6f 6d 6d 61 6e 64 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 ommand,.ProcessExecutor::escape(
62fc0 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 $url),.ProcessExecutor::escape($
62fe0 72 65 66 2e 27 5e 7b 63 6f 6d 6d 69 74 7d 27 29 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 ref.'^{commit}'));.};..$this->gi
63000 74 55 74 69 6c 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 tUtil->runCommand($commandCallab
63020 6c 65 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 24 6e 65 77 52 65 66 20 3d 20 le,.$url,.$path);.if.($newRef.=.
63040 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 $this->updateToCommit($path,.$re
63060 66 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 f,.$target->getPrettyVersion(),.
63080 24 74 61 72 67 65 74 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 29 29 20 7b 0a 69 66 $target->getReleaseDate())).{.if
630a0 20 28 24 74 61 72 67 65 74 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d .($target->getDistReference().==
630c0 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 =.$target->getSourceReference())
630e0 20 7b 0a 24 74 61 72 67 65 74 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 6e 65 .{.$target->setDistReference($ne
63100 77 52 65 66 29 3b 0a 7d 0a 24 74 61 72 67 65 74 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 wRef);.}.$target->setSourceRefer
63120 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 70 64 61 74 65 4f 72 69 ence($newRef);.}..if.($updateOri
63140 67 69 6e 55 72 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c ginUrl).{.$this->updateOriginUrl
63160 28 24 70 61 74 68 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 ($path,.$target->getSourceUrl())
63180 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 ;.}.}.....public.function.getLoc
631a0 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b alChanges(PackageInterface.$pack
631c0 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 age,.$path).{.GitUtil::cleanEnv(
631e0 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 );.if.(!$this->hasMetadataReposi
63200 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 tory($path)).{.return;.}..$comma
63220 6e 64 20 3d 20 27 67 69 74 20 73 74 61 74 75 73 20 2d 2d 70 6f 72 63 65 6c 61 69 6e 20 2d 2d 75 nd.=.'git.status.--porcelain.--u
63240 6e 74 72 61 63 6b 65 64 2d 66 69 6c 65 73 3d 6e 6f 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 ntracked-files=no';.if.(0.!==.$t
63260 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 his->process->execute($command,.
63280 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 $output,.$path)).{.throw.new.\Ru
632a0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 ntimeException('Failed.to.execut
632c0 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d e.'...$command..."\n\n"...$this-
632e0 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a >process->getErrorOutput());.}..
63300 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a return.trim($output).?:.null;.}.
63320 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e .public.function.getUnpushedChan
63340 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 ges(PackageInterface.$package,.$
63360 70 61 74 68 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 path).{.GitUtil::cleanEnv();.$pa
63380 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 th.=.$this->normalizePath($path)
633a0 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 ;.if.(!$this->hasMetadataReposit
633c0 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e ory($path)).{.return;.}..$comman
633e0 64 20 3d 20 27 67 69 74 20 73 68 6f 77 2d 72 65 66 20 2d 2d 68 65 61 64 20 2d 64 27 3b 0a 69 66 d.=.'git.show-ref.--head.-d';.if
63400 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 .(0.!==.$this->process->execute(
63420 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 $command,.$output,.$path)).{.thr
63440 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 ow.new.\RuntimeException('Failed
63460 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e .to.execute.'...$command..."\n\n
63480 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 "...$this->process->getErrorOutp
634a0 75 74 28 29 29 3b 0a 7d 0a 0a 24 72 65 66 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b ut());.}..$refs.=.trim($output);
634c0 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 .if.(!preg_match('{^([a-f0-9]+).
634e0 48 45 41 44 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 72 HEAD$}mi',.$refs,.$match)).{...r
63500 65 74 75 72 6e 3b 0a 7d 0a 0a 24 68 65 61 64 52 65 66 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a eturn;.}..$headRef.=.$match[1];.
63520 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 5e 27 2e 24 68 65 61 64 52 65 if.(!preg_match_all('{^'.$headRe
63540 66 2e 27 20 72 65 66 73 2f 68 65 61 64 73 2f 28 2e 2b 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c f.'.refs/heads/(.+)$}mi',.$refs,
63560 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 62 72 .$matches)).{...return;.}....$br
63580 61 6e 63 68 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 5b 30 5d 3b 0a 24 75 6e 70 75 73 68 65 64 anch.=.$matches[1][0];.$unpushed
635a0 43 68 61 6e 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 Changes.=.null;....for.($i.=.0;.
635c0 24 69 20 3c 3d 20 31 3b 20 24 69 2b 2b 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6d 61 74 $i.<=.1;.$i++).{...foreach.($mat
635e0 63 68 65 73 5b 31 5d 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 70 72 65 ches[1].as.$candidate).{.if.(pre
63600 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 2b 20 72 65 66 73 2f 72 65 6d 6f 74 65 g_match('{^[a-f0-9]+.refs/remote
63620 73 2f 28 28 3f 3a 63 6f 6d 70 6f 73 65 72 7c 6f 72 69 67 69 6e 29 2f 27 2e 70 72 65 67 5f 71 75 s/((?:composer|origin)/'.preg_qu
63640 6f 74 65 28 24 63 61 6e 64 69 64 61 74 65 29 2e 27 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 ote($candidate).')$}mi',.$refs,.
63660 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b $match)).{.$branch.=.$candidate;
63680 0a 24 72 65 6d 6f 74 65 42 72 61 6e 63 68 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 .$remoteBranch.=.$match[1];.brea
636a0 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 72 65 6d 6f 74 65 k;.}.}........if.(!isset($remote
636c0 42 72 61 6e 63 68 29 29 20 7b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 27 42 Branch)).{.$unpushedChanges.=.'B
636e0 72 61 6e 63 68 20 27 20 2e 20 24 62 72 61 6e 63 68 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 ranch.'...$branch...'.could.not.
63700 62 65 20 66 6f 75 6e 64 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e 20 72 65 6d 6f 74 65 20 61 6e be.found.on.the.origin.remote.an
63720 64 20 61 70 70 65 61 72 73 20 74 6f 20 62 65 20 75 6e 70 75 73 68 65 64 27 3b 0a 7d 20 65 6c 73 d.appears.to.be.unpushed';.}.els
63740 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 64 69 66 66 e.{.$command.=.sprintf('git.diff
63760 20 2d 2d 6e 61 6d 65 2d 73 74 61 74 75 73 20 25 73 2e 2e 2e 25 73 20 2d 2d 27 2c 20 24 72 65 6d .--name-status.%s...%s.--',.$rem
63780 6f 74 65 42 72 61 6e 63 68 2c 20 24 62 72 61 6e 63 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 oteBranch,.$branch);.if.(0.!==.$
637a0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c this->process->execute($command,
637c0 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 .$output,.$path)).{.throw.new.\R
637e0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 untimeException('Failed.to.execu
63800 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 te.'...$command..."\n\n"...$this
63820 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a ->process->getErrorOutput());.}.
63840 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 .$unpushedChanges.=.trim($output
63860 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 75 6e 70 75 73 68 65 64 43 ).?:.null;.}......if.($unpushedC
63880 68 61 6e 67 65 73 20 26 26 20 24 69 20 3d 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f hanges.&&.$i.===.0).{.$this->pro
638a0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 cess->execute('git.fetch.compose
638c0 72 20 26 26 20 67 69 74 20 66 65 74 63 68 20 6f 72 69 67 69 6e 27 2c 20 24 6f 75 74 70 75 74 2c r.&&.git.fetch.origin',.$output,
638e0 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 75 6e 70 75 73 68 65 64 43 68 61 6e .$path);.}....if.(!$unpushedChan
63900 67 65 73 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 6e 70 75 73 ges).{.break;.}.}..return.$unpus
63920 68 65 64 43 68 61 6e 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 hedChanges;.}.....protected.func
63940 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 tion.cleanChanges(PackageInterfa
63960 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 47 ce.$package,.$path,.$update).{.G
63980 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 itUtil::cleanEnv();.$path.=.$thi
639a0 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 24 75 6e 70 75 73 s->normalizePath($path);..$unpus
639c0 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 hed.=.$this->getUnpushedChanges(
639e0 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 24 75 6e 70 75 73 68 65 64 20 $package,.$path);.if.($unpushed.
63a00 26 26 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c &&.($this->io->isInteractive().|
63a20 7c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 |.$this->config->get('discard-ch
63a40 61 6e 67 65 73 27 29 20 21 3d 3d 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c anges').!==.true)).{.throw.new.\
63a60 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f RuntimeException('Source.directo
63a80 72 79 20 27 20 2e 20 24 70 61 74 68 20 2e 20 27 20 68 61 73 20 75 6e 70 75 73 68 65 64 20 63 68 ry.'...$path...'.has.unpushed.ch
63aa0 61 6e 67 65 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 72 61 6e 63 68 3a 20 27 2e 22 anges.on.the.current.branch:.'."
63ac0 5c 6e 22 2e 24 75 6e 70 75 73 68 65 64 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 \n".$unpushed);.}..if.(!$changes
63ae0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 .=.$this->getLocalChanges($packa
63b00 67 65 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 ge,.$path)).{.return;.}..if.(!$t
63b20 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 69 73 his->io->isInteractive()).{.$dis
63b40 63 61 72 64 43 68 61 6e 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 cardChanges.=.$this->config->get
63b60 28 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d ('discard-changes');.if.(true.==
63b80 3d 20 24 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 =.$discardChanges).{.return.$thi
63ba0 73 2d 3e 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 69 66 20 28 s->discardChanges($path);.}.if.(
63bc0 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 29 20 7b 0a 69 'stash'.===.$discardChanges).{.i
63be0 66 20 28 21 24 75 70 64 61 74 65 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c f.(!$update).{.return.parent::cl
63c00 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 eanChanges($package,.$path,.$upd
63c20 61 74 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 73 68 43 68 61 6e ate);.}..return.$this->stashChan
63c40 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c ges($path);.}..return.parent::cl
63c60 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 eanChanges($package,.$path,.$upd
63c80 61 74 65 29 3b 0a 7d 0a 0a 24 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 ate);.}..$changes.=.array_map(fu
63ca0 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 2e 24 nction.($elem).{.return.'....'.$
63cc0 65 6c 65 6d 3b 0a 7d 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 3f 5c 6e 5c 73 elem;.},.preg_split('{\s*\r?\n\s
63ce0 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 *}',.$changes));.$this->io->writ
63d00 65 45 72 72 6f 72 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 54 68 65 20 70 61 63 6b 61 67 65 20 68 eError('....<error>The.package.h
63d20 61 73 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 as.modified.files:</error>');.$t
63d40 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 5f 73 6c 69 63 65 28 his->io->writeError(array_slice(
63d60 24 63 68 61 6e 67 65 73 2c 20 30 2c 20 31 30 29 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 63 68 $changes,.0,.10));.if.(count($ch
63d80 61 6e 67 65 73 29 20 3e 20 31 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 anges).>.10).{.$this->io->writeE
63da0 72 72 6f 72 28 27 20 20 20 20 3c 69 6e 66 6f 3e 27 20 2e 20 28 63 6f 75 6e 74 28 24 63 68 61 6e rror('....<info>'...(count($chan
63dc0 67 65 73 29 20 2d 20 31 30 29 20 2e 20 27 20 6d 6f 72 65 20 66 69 6c 65 73 20 6d 6f 64 69 66 69 ges).-.10)...'.more.files.modifi
63de0 65 64 2c 20 63 68 6f 6f 73 65 20 22 76 22 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 ed,.choose."v".to.view.the.full.
63e00 6c 69 73 74 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b list</info>');.}..while.(true).{
63e20 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e .switch.($this->io->ask('....<in
63e40 66 6f 3e 44 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 64 2c 27 2e 28 24 fo>Discard.changes.[y,n,v,d,'.($
63e60 75 70 64 61 74 65 20 3f 20 27 73 2c 27 20 3a 20 27 27 29 2e 27 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 update.?.'s,'.:.'').'?]?</info>.
63e80 27 2c 20 27 3f 27 29 29 20 7b 0a 63 61 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 ',.'?')).{.case.'y':.$this->disc
63ea0 61 72 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 ardChanges($path);.break.2;..cas
63ec0 65 20 27 73 27 3a 0a 69 66 20 28 21 24 75 70 64 61 74 65 29 20 7b 0a 67 6f 74 6f 20 68 65 6c 70 e.'s':.if.(!$update).{.goto.help
63ee0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b ;.}..$this->stashChanges($path);
63f00 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 6e 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c .break.2;..case.'n':.throw.new.\
63f20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 RuntimeException('Update.aborted
63f40 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ');..case.'v':.$this->io->writeE
63f60 72 72 6f 72 28 24 63 68 61 6e 67 65 73 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 27 rror($changes);.break;..case.'d'
63f80 3a 0a 24 74 68 69 73 2d 3e 76 69 65 77 44 69 66 66 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 3b :.$this->viewDiff($path);.break;
63fa0 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 68 65 6c 70 3a 0a 24 74 68 69 73 ..case.'?':.default:.help:.$this
63fc0 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d ->io->writeError(array(.'....y.-
63fe0 20 64 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 .discard.changes.and.apply.the.'
64000 2e 28 24 75 70 64 61 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c .($update.?.'update'.:.'uninstal
64020 6c 27 29 2c 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 l'),.'....n.-.abort.the.'.($upda
64040 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 te.?.'update'.:.'uninstall').'.a
64060 6e 64 20 6c 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 nd.let.you.manually.clean.things
64080 20 75 70 27 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c .up',.'....v.-.view.modified.fil
640a0 65 73 27 2c 0a 27 20 20 20 20 64 20 2d 20 76 69 65 77 20 6c 6f 63 61 6c 20 6d 6f 64 69 66 69 63 es',.'....d.-.view.local.modific
640c0 61 74 69 6f 6e 73 20 28 64 69 66 66 29 27 2c 0a 29 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 29 ations.(diff)',.));.if.($update)
640e0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 73 20 .{.$this->io->writeError('....s.
64100 2d 20 73 74 61 73 68 20 63 68 61 6e 67 65 73 20 61 6e 64 20 74 72 79 20 74 6f 20 72 65 61 70 70 -.stash.changes.and.try.to.reapp
64120 6c 79 20 74 68 65 6d 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 27 29 3b 0a 7d 0a 24 74 ly.them.after.the.update');.}.$t
64140 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3f 20 2d 20 70 72 69 his->io->writeError('....?.-.pri
64160 6e 74 20 68 65 6c 70 27 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 nt.help');.break;.}.}.}.....prot
64180 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 ected.function.reapplyChanges($p
641a0 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 ath).{.$path.=.$this->normalizeP
641c0 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 ath($path);.if.($this->hasStashe
641e0 64 43 68 61 6e 67 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 dChanges).{.$this->hasStashedCha
64200 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 nges.=.false;.$this->io->writeEr
64220 72 6f 72 28 27 20 20 20 20 3c 69 6e 66 6f 3e 52 65 2d 61 70 70 6c 79 69 6e 67 20 73 74 61 73 68 ror('....<info>Re-applying.stash
64240 65 64 20 63 68 61 6e 67 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 ed.changes</info>');.if.(0.!==.$
64260 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 74 61 73 this->process->execute('git.stas
64280 68 20 70 6f 70 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 h.pop',.$output,.$path)).{.throw
642a0 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 46 61 69 6c 65 64 20 74 .new.\RuntimeException("Failed.t
642c0 6f 20 61 70 70 6c 79 20 73 74 61 73 68 65 64 20 63 68 61 6e 67 65 73 3a 5c 6e 5c 6e 22 2e 24 74 o.apply.stashed.changes:\n\n".$t
642e0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b his->process->getErrorOutput());
64300 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 .}.}..$this->hasDiscardedChanges
64320 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .=.false;.}............protected
64340 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 .function.updateToCommit($path,.
64360 24 72 65 66 65 72 65 6e 63 65 2c 20 24 62 72 61 6e 63 68 2c 20 24 64 61 74 65 29 0a 7b 0a 24 66 $reference,.$branch,.$date).{.$f
64380 6f 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 orce.=.$this->hasDiscardedChange
643a0 73 20 7c 7c 20 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3f 20 s.||.$this->hasStashedChanges.?.
643c0 27 2d 66 20 27 20 3a 20 27 27 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 24 74 65 6d 70 6c 61 74 65 '-f.'.:.'';............$template
643e0 20 3d 20 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 25 73 20 2d 2d .=.'git.checkout.'.$force.'%s.--
64400 20 26 26 20 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 31 24 73 20 2d 2d 27 3b 0a 24 .&&.git.reset.--hard.%1$s.--';.$
64420 62 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 5e 64 65 76 2d branch.=.preg_replace('{(?:^dev-
64440 7c 28 3f 3a 5c 2e 78 29 3f 2d 64 65 76 24 29 7d 69 27 2c 20 27 27 2c 20 24 62 72 61 6e 63 68 29 |(?:\.x)?-dev$)}i',.'',.$branch)
64460 3b 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 ;..$branches.=.null;.if.(0.===.$
64480 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e this->process->execute('git.bran
644a0 63 68 20 2d 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e ch.-r',.$output,.$path)).{.$bran
644c0 63 68 65 73 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 20 24 67 69 74 52 65 66 20 3d 20 24 ches.=.$output;.}....$gitRef.=.$
644e0 72 65 66 65 72 65 6e 63 65 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 reference;.if.(!preg_match('{^[a
64500 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 0a 26 26 20 24 62 -f0-9]{40}$}',.$reference).&&.$b
64520 72 61 6e 63 68 65 73 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 ranches.&&.preg_match('{^\s+comp
64540 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 72 65 66 65 72 65 6e 63 65 29 2e 27 24 oser/'.preg_quote($reference).'$
64560 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 0a 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 }m',.$branches).).{.$command.=.s
64580 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 2d printf('git.checkout.'.$force.'-
645a0 42 20 25 73 20 25 73 20 2d 2d 20 26 26 20 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 B.%s.%s.--.&&.git.reset.--hard.%
645c0 32 24 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 2$s.--',.ProcessExecutor::escape
645e0 28 24 62 72 61 6e 63 68 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 ($branch),.ProcessExecutor::esca
64600 70 65 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 66 20 pe('composer/'.$reference));.if.
64620 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 (0.===.$this->process->execute($
64640 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 command,.$output,.$path)).{.retu
64660 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d rn;.}.}....if.(preg_match('{^[a-
64680 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 69 f0-9]{40}$}',.$reference)).{...i
646a0 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 27 2e f.(!preg_match('{^\s+composer/'.
646c0 70 72 65 67 5f 71 75 6f 74 65 28 24 62 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e preg_quote($branch).'$}m',.$bran
646e0 63 68 65 73 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 ches).&&.preg_match('{^\s+compos
64700 65 72 2f 76 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c er/v'.preg_quote($branch).'$}m',
64720 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 27 76 27 20 2e 20 24 .$branches)).{.$branch.=.'v'...$
64740 62 72 61 6e 63 68 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 branch;.}..$command.=.sprintf('g
64760 69 74 20 63 68 65 63 6b 6f 75 74 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 it.checkout.%s.--',.ProcessExecu
64780 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 72 61 6e 63 68 29 29 3b 0a 24 66 61 6c 6c 62 61 63 6b tor::escape($branch));.$fallback
647a0 43 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 Command.=.sprintf('git.checkout.
647c0 27 2e 24 66 6f 72 63 65 2e 27 2d 42 20 25 73 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 '.$force.'-B.%s.%s.--',.ProcessE
647e0 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 72 61 6e 63 68 29 2c 20 50 72 6f 63 65 73 xecutor::escape($branch),.Proces
64800 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 62 sExecutor::escape('composer/'.$b
64820 72 61 6e 63 68 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ranch));.if.(0.===.$this->proces
64840 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 s->execute($command,.$output,.$p
64860 61 74 68 29 0a 7c 7c 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 ath).||.0.===.$this->process->ex
64880 65 63 75 74 65 28 24 66 61 6c 6c 62 61 63 6b 43 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c ecute($fallbackCommand,.$output,
648a0 20 24 70 61 74 68 29 0a 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 .$path).).{.$command.=.sprintf('
648c0 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 git.reset.--hard.%s.--',.Process
648e0 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 Executor::escape($reference));.i
64900 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.===.$this->process->execute
64920 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 ($command,.$output,.$path)).{.re
64940 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 turn;.}.}.}..$command.=.sprintf(
64960 24 74 65 6d 70 6c 61 74 65 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 $template,.ProcessExecutor::esca
64980 70 65 28 24 67 69 74 52 65 66 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 pe($gitRef));.if.(0.===.$this->p
649a0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 rocess->execute($command,.$outpu
649c0 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 t,.$path)).{.return;.}....if.(fa
649e0 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 lse.!==.strpos($this->process->g
64a00 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a etErrorOutput(),.$reference)).{.
64a20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 61 72 6e $this->io->writeError('....<warn
64a40 69 6e 67 3e 27 2e 24 72 65 66 65 72 65 6e 63 65 2e 27 20 69 73 20 67 6f 6e 65 20 28 68 69 73 74 ing>'.$reference.'.is.gone.(hist
64a60 6f 72 79 20 77 61 73 20 72 65 77 72 69 74 74 65 6e 3f 29 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b ory.was.rewritten?)</warning>');
64a80 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 .}..throw.new.\RuntimeException(
64aa0 47 69 74 55 74 69 6c 3a 3a 73 61 6e 69 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 GitUtil::sanitizeUrl('Failed.to.
64ac0 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 execute.'...$command..."\n\n"...
64ae0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 $this->process->getErrorOutput()
64b00 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 ));.}..protected.function.update
64b20 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e OriginUrl($path,.$url).{.$this->
64b40 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 process->execute(sprintf('git.re
64b60 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 50 72 6f 63 65 73 73 mote.set-url.origin.%s',.Process
64b80 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 29 2c 20 24 6f 75 74 70 75 74 Executor::escape($url)),.$output
64ba0 2c 20 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 ,.$path);.$this->setPushUrl($pat
64bc0 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 h,.$url);.}..protected.function.
64be0 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 69 66 20 28 setPushUrl($path,.$url).{...if.(
64c00 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 27 preg_match('{^(?:https?|git)://'
64c20 2e 47 69 74 55 74 69 6c 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 .GitUtil::getGitHubDomainsRegex(
64c40 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 2e 27 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f $this->config).'/([^/]+)/([^/]+?
64c60 29 28 3f 3a 5c 2e 67 69 74 29 3f 24 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b )(?:\.git)?$}',.$url,.$match)).{
64c80 0a 24 70 72 6f 74 6f 63 6f 6c 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 .$protocols.=.$this->config->get
64ca0 28 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 29 3b 0a 24 70 75 73 68 55 72 6c 20 3d ('github-protocols');.$pushUrl.=
64cc0 20 27 67 69 74 40 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 3a 27 2e 24 6d 61 74 63 68 5b 32 5d 2e .'git@'.$match[1].':'.$match[2].
64ce0 27 2f 27 2e 24 6d 61 74 63 68 5b 33 5d 2e 27 2e 67 69 74 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 '/'.$match[3].'.git';.if.(!in_ar
64d00 72 61 79 28 27 73 73 68 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 2c 20 74 72 75 65 29 29 20 7b 0a ray('ssh',.$protocols,.true)).{.
64d20 24 70 75 73 68 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 $pushUrl.=.'https://'...$match[1
64d40 5d 20 2e 20 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 33 5d 2e ]...'/'.$match[2].'/'.$match[3].
64d60 27 2e 67 69 74 27 3b 0a 7d 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 '.git';.}.$cmd.=.sprintf('git.re
64d80 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 2d 2d 70 75 73 68 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 mote.set-url.--push.origin.%s',.
64da0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 75 73 68 55 72 6c ProcessExecutor::escape($pushUrl
64dc0 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 ));.$this->process->execute($cmd
64de0 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 0a ,.$ignoredOutput,.$path);.}.}...
64e00 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f ..protected.function.getCommitLo
64e20 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c gs($fromReference,.$toReference,
64e40 20 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 .$path).{.$path.=.$this->normali
64e60 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 zePath($path);.$command.=.sprint
64e80 66 28 27 67 69 74 20 6c 6f 67 20 25 73 2e 2e 25 73 20 2d 2d 70 72 65 74 74 79 3d 66 6f 72 6d 61 f('git.log.%s..%s.--pretty=forma
64ea0 74 3a 22 25 25 68 20 2d 20 25 25 61 6e 3a 20 25 25 73 22 27 2c 20 50 72 6f 63 65 73 73 45 78 65 t:"%%h.-.%%an:.%%s"',.ProcessExe
64ec0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 29 2c 20 50 cutor::escape($fromReference),.P
64ee0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 rocessExecutor::escape($toRefere
64f00 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 nce));..if.(0.!==.$this->process
64f20 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 ->execute($command,.$output,.$pa
64f40 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 th)).{.throw.new.\RuntimeExcepti
64f60 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 on('Failed.to.execute.'...$comma
64f80 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 nd..."\n\n"...$this->process->ge
64fa0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 tErrorOutput());.}..return.$outp
64fc0 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 ut;.}......protected.function.di
64fe0 73 63 61 72 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 scardChanges($path).{.$path.=.$t
65000 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 his->normalizePath($path);.if.(0
65020 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 .!==.$this->process->execute('gi
65040 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 t.reset.--hard',.$output,.$path)
65060 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
65080 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 65 74 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 "Could.not.reset.changes\n\n:".$
650a0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 this->process->getErrorOutput())
650c0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 ;.}..$this->hasDiscardedChanges.
650e0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f =.true;.}......protected.functio
65100 6e 20 73 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 n.stashChanges($path).{.$path.=.
65120 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 $this->normalizePath($path);.if.
65140 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 (0.!==.$this->process->execute('
65160 67 69 74 20 73 74 61 73 68 20 2d 2d 69 6e 63 6c 75 64 65 2d 75 6e 74 72 61 63 6b 65 64 27 2c 20 git.stash.--include-untracked',.
65180 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 $output,.$path)).{.throw.new.\Ru
651a0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 73 74 61 73 68 20 ntimeException("Could.not.stash.
651c0 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 changes\n\n:".$this->process->ge
651e0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 53 74 tErrorOutput());.}..$this->hasSt
65200 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 ashedChanges.=.true;.}......prot
65220 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 69 65 77 44 69 66 66 28 24 70 61 74 68 29 0a 7b ected.function.viewDiff($path).{
65240 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 .$path.=.$this->normalizePath($p
65260 61 74 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e ath);.if.(0.!==.$this->process->
65280 65 78 65 63 75 74 65 28 27 67 69 74 20 64 69 66 66 20 48 45 41 44 27 2c 20 24 6f 75 74 70 75 74 execute('git.diff.HEAD',.$output
652a0 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ,.$path)).{.throw.new.\RuntimeEx
652c0 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 76 69 65 77 20 64 69 66 66 5c 6e 5c 6e ception("Could.not.view.diff\n\n
652e0 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 :".$this->process->getErrorOutpu
65300 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 t());.}..$this->io->writeError($
65320 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6e output);.}..protected.function.n
65340 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 6c 61 74 66 6f ormalizePath($path).{.if.(Platfo
65360 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 70 61 74 68 29 rm::isWindows().&&.strlen($path)
65380 20 3e 20 30 29 20 7b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 24 72 65 6d 6f .>.0).{.$basePath.=.$path;.$remo
653a0 76 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 21 69 73 5f 64 69 72 28 24 ved.=.array();..while.(!is_dir($
653c0 62 61 73 65 50 61 74 68 29 20 26 26 20 24 62 61 73 65 50 61 74 68 20 21 3d 3d 20 27 5c 5c 27 29 basePath).&&.$basePath.!==.'\\')
653e0 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 72 65 6d 6f 76 65 64 2c 20 62 61 73 65 6e .{.array_unshift($removed,.basen
65400 61 6d 65 28 24 62 61 73 65 50 61 74 68 29 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 64 69 72 ame($basePath));.$basePath.=.dir
65420 6e 61 6d 65 28 24 62 61 73 65 50 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 61 73 65 50 61 74 name($basePath);.}..if.($basePat
65440 68 20 3d 3d 3d 20 27 5c 5c 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 h.===.'\\').{.return.$path;.}..$
65460 70 61 74 68 20 3d 20 72 74 72 69 6d 28 72 65 61 6c 70 61 74 68 28 24 62 61 73 65 50 61 74 68 29 path.=.rtrim(realpath($basePath)
65480 20 2e 20 27 2f 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 72 65 6d 6f 76 65 64 29 2c ...'/'...implode('/',.$removed),
654a0 20 27 2f 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 72 .'/');.}..return.$path;.}.....pr
654c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f otected.function.hasMetadataRepo
654e0 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e sitory($path).{.$path.=.$this->n
65500 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 5f ormalizePath($path);..return.is_
65520 64 69 72 28 24 70 61 74 68 2e 27 2f 2e 67 69 74 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 dir($path.'/.git');.}..protected
65540 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 65 72 65 6e 63 .function.getShortHash($referenc
65560 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 e).{.if.(!$this->io->isVerbose()
65580 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d .&&.preg_match('{^[0-9a-f]{40}$}
655a0 27 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 ',.$reference)).{.return.substr(
655c0 24 72 65 66 65 72 65 6e 63 65 2c 20 30 2c 20 31 30 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 $reference,.0,.10);.}..return.$r
655e0 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e eference;.}.}.<?php............n
65600 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 amespace.Composer\Downloader;..u
65620 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
65640 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 \Cache;.use.Composer\EventDispat
65660 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 cher\EventDispatcher;.use.Compos
65680 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 er\Package\PackageInterface;.use
656a0 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d .Composer\Util\Platform;.use.Com
656c0 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
656e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a Composer\Util\RemoteFilesystem;.
65700 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a use.Composer\IO\IOInterface;....
65720 0a 0a 0a 63 6c 61 73 73 20 47 7a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 ...class.GzipDownloader.extends.
65740 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 ArchiveDownloader.{.protected.$p
65760 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 rocess;..public.function.__const
65780 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f ruct(IOInterface.$io,.Config.$co
657a0 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 nfig,.EventDispatcher.$eventDisp
657c0 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 atcher.=.null,.Cache.$cache.=.nu
657e0 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e ll,.ProcessExecutor.$process.=.n
65800 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c ull,.RemoteFilesystem.$rfs.=.nul
65820 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f l).{.$this->process.=.$process.?
65840 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 :.new.ProcessExecutor($io);.pare
65860 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 nt::__construct($io,.$config,.$e
65880 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d ventDispatcher,.$cache,.$rfs);.}
658a0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 ..protected.function.extract($fi
658c0 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 20 3d 20 24 le,.$path).{.$targetFilepath.=.$
658e0 70 61 74 68 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 62 61 73 path...DIRECTORY_SEPARATOR...bas
65900 65 6e 61 6d 65 28 73 75 62 73 74 72 28 24 66 69 6c 65 2c 20 30 2c 20 2d 33 29 29 3b 0a 0a 0a 20 ename(substr($file,.0,.-3));....
65920 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 63 if.(!Platform::isWindows()).{.$c
65940 6f 6d 6d 61 6e 64 20 3d 20 27 67 7a 69 70 20 2d 63 64 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 ommand.=.'gzip.-cd.'...ProcessEx
65960 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 27 20 3e 20 27 20 2e 20 ecutor::escape($file)...'.>.'...
65980 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 46 ProcessExecutor::escape($targetF
659a0 69 6c 65 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 ilepath);..if.(0.===.$this->proc
659c0 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f ess->execute($command,.$ignoredO
659e0 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 utput)).{.return;.}..if.(extensi
65a00 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 65 78 on_loaded('zlib')).{...$this->ex
65a20 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 tractUsingExt($file,.$targetFile
65a40 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 path);..return;.}..$processError
65a60 20 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 .=.'Failed.to.execute.'...$comma
65a80 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 nd..."\n\n"...$this->process->ge
65aa0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 tErrorOutput();.throw.new.\Runti
65ac0 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a 7d 0a 0a 0a meException($processError);.}...
65ae0 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 .$this->extractUsingExt($file,.$
65b00 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 targetFilepath);.}.....protected
65b20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 .function.getFileName(PackageInt
65b40 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e erface.$package,.$path).{.return
65b60 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 .$path.'/'.pathinfo(parse_url($p
65b80 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 ackage->getDistUrl(),.PHP_URL_PA
65ba0 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 7d 0a 0a 70 72 69 76 TH),.PATHINFO_BASENAME);.}..priv
65bc0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 ate.function.extractUsingExt($fi
65be0 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 0a 7b 0a 24 61 72 63 68 69 76 65 46 le,.$targetFilepath).{.$archiveF
65c00 69 6c 65 20 3d 20 67 7a 6f 70 65 6e 28 24 66 69 6c 65 2c 20 27 72 62 27 29 3b 0a 24 74 61 72 67 ile.=.gzopen($file,.'rb');.$targ
65c20 65 74 46 69 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 2c 20 etFile.=.fopen($targetFilepath,.
65c40 27 77 62 27 29 3b 0a 77 68 69 6c 65 20 28 24 73 74 72 69 6e 67 20 3d 20 67 7a 72 65 61 64 28 24 'wb');.while.($string.=.gzread($
65c60 61 72 63 68 69 76 65 46 69 6c 65 2c 20 34 30 39 36 29 29 20 7b 0a 66 77 72 69 74 65 28 24 74 61 archiveFile,.4096)).{.fwrite($ta
65c80 72 67 65 74 46 69 6c 65 2c 20 24 73 74 72 69 6e 67 2c 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 rgetFile,.$string,.Platform::str
65ca0 6c 65 6e 28 24 73 74 72 69 6e 67 29 29 3b 0a 7d 0a 67 7a 63 6c 6f 73 65 28 24 61 72 63 68 69 76 len($string));.}.gzclose($archiv
65cc0 65 46 69 6c 65 29 3b 0a 66 63 6c 6f 73 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a 7d 0a 7d eFile);.fclose($targetFile);.}.}
65ce0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
65d00 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 oser\Downloader;..use.Composer\P
65d20 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d ackage\PackageInterface;.use.Com
65d40 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
65d60 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 0a 0a 0a Composer\Util\Hg.as.HgUtils;....
65d80 0a 63 6c 61 73 73 20 48 67 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 .class.HgDownloader.extends.VcsD
65da0 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ownloader.{....public.function.d
65dc0 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b oDownload(PackageInterface.$pack
65de0 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e age,.$path,.$url).{.$hgUtils.=.n
65e00 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ew.HgUtils($this->io,.$this->con
65e20 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 24 63 6c 6f 6e 65 43 6f 6d fig,.$this->process);..$cloneCom
65e40 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 70 61 74 mand.=.function.($url).use.($pat
65e60 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 6c 6f 6e 65 20 25 73 h).{.return.sprintf('hg.clone.%s
65e80 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 .%s',.ProcessExecutor::escape($u
65ea0 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 rl),.ProcessExecutor::escape($pa
65ec0 74 68 29 29 3b 0a 7d 3b 0a 0a 24 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 th));.};..$hgUtils->runCommand($
65ee0 63 6c 6f 6e 65 43 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 72 65 cloneCommand,.$url,.$path);..$re
65f00 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 63 f.=.ProcessExecutor::escape($pac
65f20 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 63 6f kage->getSourceReference());.$co
65f40 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 75 70 20 25 73 27 2c 20 24 72 65 66 mmand.=.sprintf('hg.up.%s',.$ref
65f60 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 );.if.(0.!==.$this->process->exe
65f80 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 cute($command,.$ignoredOutput,.r
65fa0 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 ealpath($path))).{.throw.new.\Ru
65fc0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 ntimeException('Failed.to.execut
65fe0 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d e.'...$command..."\n\n"...$this-
66000 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d >process->getErrorOutput());.}.}
66020 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 .....public.function.doUpdate(Pa
66040 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 ckageInterface.$initial,.Package
66060 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a Interface.$target,.$path,.$url).
66080 7b 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e {.$hgUtils.=.new.HgUtils($this->
660a0 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 io,.$this->config,.$this->proces
660c0 73 29 3b 0a 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 s);..$ref.=.$target->getSourceRe
660e0 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ference();.$this->io->writeError
66100 28 22 20 55 70 64 61 74 69 6e 67 20 74 6f 20 22 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 (".Updating.to.".$target->getSou
66120 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 rceReference());..if.(!$this->ha
66140 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 sMetadataRepository($path)).{.th
66160 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e row.new.\RuntimeException('The..
66180 68 67 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 hg.directory.is.missing.from.'.$
661a0 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e path.',.see.https://getcomposer.
661c0 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 org/commit-deps.for.more.informa
661e0 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 tion');.}..$command.=.function.(
66200 24 75 72 6c 29 20 75 73 65 20 28 24 72 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 $url).use.($ref).{.return.sprint
66220 66 28 27 68 67 20 70 75 6c 6c 20 25 73 20 26 26 20 68 67 20 75 70 20 25 73 27 2c 20 50 72 6f 63 f('hg.pull.%s.&&.hg.up.%s',.Proc
66240 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 essExecutor::escape($url),.Proce
66260 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 66 29 29 3b 0a 7d 3b 0a 0a 24 ssExecutor::escape($ref));.};..$
66280 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 hgUtils->runCommand($command,.$u
662a0 72 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rl,.$path);.}.....public.functio
662c0 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 n.getLocalChanges(PackageInterfa
662e0 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 ce.$package,.$path).{.if.(!is_di
66300 72 28 24 70 61 74 68 2e 27 2f 2e 68 67 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a r($path.'/.hg')).{.return.null;.
66320 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 }..$this->process->execute('hg.s
66340 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 3b 0a 0a t',.$output,.realpath($path));..
66360 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a return.trim($output).?:.null;.}.
66380 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 ....protected.function.getCommit
663a0 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 Logs($fromReference,.$toReferenc
663c0 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 e,.$path).{.$command.=.sprintf('
663e0 68 67 20 6c 6f 67 20 2d 72 20 25 73 3a 25 73 20 2d 2d 73 74 79 6c 65 20 63 6f 6d 70 61 63 74 27 hg.log.-r.%s:%s.--style.compact'
66400 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 ,.ProcessExecutor::escape($fromR
66420 65 66 65 72 65 6e 63 65 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 eference),.ProcessExecutor::esca
66440 70 65 28 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 pe($toReference));..if.(0.!==.$t
66460 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 his->process->execute($command,.
66480 24 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 $output,.realpath($path))).{.thr
664a0 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 ow.new.\RuntimeException('Failed
664c0 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e .to.execute.'...$command..."\n\n
664e0 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 "...$this->process->getErrorOutp
66500 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a ut());.}..return.$output;.}.....
66520 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 protected.function.hasMetadataRe
66540 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 pository($path).{.return.is_dir(
66560 24 70 61 74 68 20 2e 20 27 2f 2e 68 67 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a $path...'/.hg');.}.}.<?php......
66580 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 ......namespace.Composer\Downloa
665a0 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 der;..use.Composer\Package\Archi
665c0 76 65 72 5c 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 ver\ArchivableFilesFinder;.use.C
665e0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 omposer\Package\Dumper\ArrayDump
66600 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 er;.use.Composer\Package\Package
66620 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c Interface;.use.Composer\Package\
66640 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 Version\VersionGuesser;.use.Comp
66660 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 oser\Package\Version\VersionPars
66680 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a er;.use.Composer\Util\Platform;.
666a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f use.Composer\Util\ProcessExecuto
666c0 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 20 r;.use.Composer\Util\Filesystem.
666e0 61 73 20 43 6f 6d 70 6f 73 65 72 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f as.ComposerFilesystem;.use.Symfo
66700 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f ny\Component\Filesystem\Exceptio
66720 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f n\IOException;.use.Symfony\Compo
66740 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a nent\Filesystem\Filesystem;.....
66760 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 ...class.PathDownloader.extends.
66780 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 63 73 43 61 70 FileDownloader.implements.VcsCap
667a0 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 ableDownloaderInterface.{.const.
667c0 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 53 54 52 STRATEGY_SYMLINK.=.10;.const.STR
667e0 41 54 45 47 59 5f 4d 49 52 52 4f 52 20 3d 20 32 30 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ATEGY_MIRROR.=.20;.....public.fu
66800 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 nction.download(PackageInterface
66820 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 .$package,.$path,.$output.=.true
66840 29 0a 7b 0a 24 75 72 6c 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 ).{.$url.=.$package->getDistUrl(
66860 29 3b 0a 24 72 65 61 6c 55 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 );.$realUrl.=.realpath($url);.if
66880 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 61 6c 55 72 6c 20 7c 7c 20 21 66 69 6c 65 5f 65 78 .(false.===.$realUrl.||.!file_ex
668a0 69 73 74 73 28 24 72 65 61 6c 55 72 6c 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 72 65 61 6c 55 ists($realUrl).||.!is_dir($realU
668c0 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 rl)).{.throw.new.\RuntimeExcepti
668e0 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 53 6f 75 72 63 65 20 70 61 74 68 20 22 25 73 22 20 69 73 on(sprintf(.'Source.path."%s".is
66900 20 6e 6f 74 20 66 6f 75 6e 64 20 66 6f 72 20 70 61 63 6b 61 67 65 20 25 73 27 2c 0a 24 75 72 6c .not.found.for.package.%s',.$url
66920 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 29 29 3b 0a 7d 0a 0a 69 66 20 ,.$package->getName().));.}..if.
66940 28 73 74 72 70 6f 73 28 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 20 2e 20 44 49 52 45 43 54 (strpos(realpath($path)...DIRECT
66960 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 72 65 61 6c 55 72 6c 20 2e 20 44 49 52 45 43 54 ORY_SEPARATOR,.$realUrl...DIRECT
66980 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 3d 3d 3d 20 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 ORY_SEPARATOR).===.0).{.........
669a0 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 throw.new.\RuntimeException(spri
669c0 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 20 63 61 6e 6e 6f 74 20 69 6e 73 74 61 6c 6c 20 ntf(.'Package.%s.cannot.install.
669e0 74 6f 20 22 25 73 22 20 69 6e 73 69 64 65 20 69 74 73 20 73 6f 75 72 63 65 20 61 74 20 22 25 73 to."%s".inside.its.source.at."%s
66a00 22 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 72 65 61 6c 70 61 74 "',.$package->getName(),.realpat
66a20 68 28 24 70 61 74 68 29 2c 0a 24 72 65 61 6c 55 72 6c 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 74 72 61 h($path),.$realUrl.));.}....$tra
66a40 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 nsportOptions.=.$package->getTra
66a60 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 20 2b 20 61 72 72 61 79 28 27 73 79 6d 6c 69 6e 6b nsportOptions().+.array('symlink
66a80 27 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 0a 0a 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 '.=>.null);....$currentStrategy.
66aa0 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c 6f 77 =.self::STRATEGY_SYMLINK;.$allow
66ac0 65 64 53 74 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 edStrategies.=.array(self::STRAT
66ae0 45 47 59 5f 53 59 4d 4c 49 4e 4b 2c 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 EGY_SYMLINK,.self::STRATEGY_MIRR
66b00 4f 52 29 3b 0a 0a 24 6d 69 72 72 6f 72 50 61 74 68 52 65 70 6f 73 20 3d 20 67 65 74 65 6e 76 28 OR);..$mirrorPathRepos.=.getenv(
66b20 27 43 4f 4d 50 4f 53 45 52 5f 4d 49 52 52 4f 52 5f 50 41 54 48 5f 52 45 50 4f 53 27 29 3b 0a 69 'COMPOSER_MIRROR_PATH_REPOS');.i
66b40 66 20 28 24 6d 69 72 72 6f 72 50 61 74 68 52 65 70 6f 73 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 f.($mirrorPathRepos).{.$currentS
66b60 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b trategy.=.self::STRATEGY_MIRROR;
66b80 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f .}..if.(true.===.$transportOptio
66ba0 6e 73 5b 27 73 79 6d 6c 69 6e 6b 27 5d 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 ns['symlink']).{.$currentStrateg
66bc0 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c y.=.self::STRATEGY_SYMLINK;.$all
66be0 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 owedStrategies.=.array(self::STR
66c00 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 ATEGY_SYMLINK);.}.elseif.(false.
66c20 3d 3d 3d 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 5b 27 73 79 6d 6c 69 6e 6b 27 5d ===.$transportOptions['symlink']
66c40 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 ).{.$currentStrategy.=.self::STR
66c60 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 ATEGY_MIRROR;.$allowedStrategies
66c80 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 29 3b .=.array(self::STRATEGY_MIRROR);
66ca0 0a 7d 0a 0a 24 66 69 6c 65 53 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d .}..$fileSystem.=.new.Filesystem
66cc0 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 ();.$this->filesystem->removeDir
66ce0 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 ectory($path);..if.($output).{.$
66d00 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 20 this->io->writeError(sprintf(.'.
66d20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 3c .-.Installing.<info>%s</info>.(<
66d40 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 27 2c 0a 24 70 61 63 6b 61 comment>%s</comment>):.',.$packa
66d60 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c ge->getName(),.$package->getFull
66d80 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 69 PrettyVersion().),.false);.}..$i
66da0 73 46 61 6c 6c 62 61 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 52 sFallback.=.false;.if.(self::STR
66dc0 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 3d 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 ATEGY_SYMLINK.==.$currentStrateg
66de0 79 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f y).{.try.{.if.(Platform::isWindo
66e00 77 73 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ws()).{...$this->io->writeError(
66e20 73 70 72 69 6e 74 66 28 27 4a 75 6e 63 74 69 6f 6e 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 sprintf('Junctioning.from.%s',.$
66e40 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d url),.false);.$this->filesystem-
66e60 3e 6a 75 6e 63 74 69 6f 6e 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 20 65 6c >junction($realUrl,.$path);.}.el
66e80 73 65 20 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 69 66 20 28 se.{.$absolutePath.=.$path;.if.(
66ea0 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 !$this->filesystem->isAbsolutePa
66ec0 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 29 29 20 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 th($absolutePath)).{.$absolutePa
66ee0 74 68 20 3d 20 67 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 th.=.getcwd()...DIRECTORY_SEPARA
66f00 54 4f 52 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 24 73 68 6f 72 74 65 73 74 50 61 74 68 20 3d 20 24 TOR...$path;.}.$shortestPath.=.$
66f20 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 this->filesystem->findShortestPa
66f40 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 72 65 61 6c 55 72 6c 29 3b 0a 24 70 61 th($absolutePath,.$realUrl);.$pa
66f60 74 68 20 3d 20 72 74 72 69 6d 28 24 70 61 74 68 2c 20 22 2f 22 29 3b 0a 24 74 68 69 73 2d 3e 69 th.=.rtrim($path,."/");.$this->i
66f80 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 53 79 6d 6c 69 6e 6b 69 6e o->writeError(sprintf('Symlinkin
66fa0 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 66 69 6c 65 g.from.%s',.$url),.false);.$file
66fc0 53 79 73 74 65 6d 2d 3e 73 79 6d 6c 69 6e 6b 28 24 73 68 6f 72 74 65 73 74 50 61 74 68 2c 20 24 System->symlink($shortestPath,.$
66fe0 70 61 74 68 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 49 4f 45 78 63 65 70 74 69 6f 6e 20 24 65 path);.}.}.catch.(IOException.$e
67000 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f ).{.if.(in_array(self::STRATEGY_
67020 4d 49 52 52 4f 52 2c 20 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 29 29 20 7b 0a 24 MIRROR,.$allowedStrategies)).{.$
67040 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d this->io->writeError('');.$this-
67060 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 53 79 6d 6c >io->writeError('....<error>Syml
67080 69 6e 6b 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 75 73 65 20 6d 69 72 72 ink.failed,.fallback.to.use.mirr
670a0 6f 72 69 6e 67 21 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 oring!</error>');.$currentStrate
670c0 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 69 73 46 gy.=.self::STRATEGY_MIRROR;.$isF
670e0 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e allback.=.true;.}.else.{.throw.n
67100 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 79 ew.\RuntimeException(sprintf('Sy
67120 6d 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 66 61 69 6c 65 64 21 27 mlink.from."%s".to."%s".failed!'
67140 2c 20 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 ,.$realUrl,.$path));.}.}.}....if
67160 20 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 20 3d 3d 20 24 63 75 72 72 .(self::STRATEGY_MIRROR.==.$curr
67180 65 6e 74 53 74 72 61 74 65 67 79 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 entStrategy).{.$fs.=.new.Compose
671a0 72 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 72 65 61 6c 55 72 6c 20 3d 20 24 66 73 2d 3e 6e rFilesystem();.$realUrl.=.$fs->n
671c0 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 72 65 61 6c 55 72 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e ormalizePath($realUrl);..$this->
671e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 25 73 4d 69 72 72 6f 72 io->writeError(sprintf('%sMirror
67200 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 69 73 46 61 6c 6c 62 61 63 6b 20 3f 20 27 20 20 20 ing.from.%s',.$isFallback.?.'...
67220 20 27 20 3a 20 27 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 74 65 72 61 74 6f .'.:.'',.$url),.false);.$iterato
67240 72 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 28 24 72 r.=.new.ArchivableFilesFinder($r
67260 65 61 6c 55 72 6c 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 2d 3e 6d ealUrl,.array());.$fileSystem->m
67280 69 72 72 6f 72 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 2c 20 24 69 74 65 72 61 74 6f 72 irror($realUrl,.$path,.$iterator
672a0 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b );.}..$this->io->writeError('');
672c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 .}.....public.function.remove(Pa
672e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 ckageInterface.$package,.$path,.
67300 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 0a 0a 0a 0a 0a 69 66 20 28 50 6c 61 74 66 $output.=.true).{......if.(Platf
67320 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 orm::isWindows().&&.$this->files
67340 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b 0a 69 66 20 28 ystem->isJunction($path)).{.if.(
67360 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 $output).{.$this->io->writeError
67380 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 6a 75 6e 63 74 69 6f 6e 20 66 6f 72 20 3c 69 6e 66 ("..-.Removing.junction.for.<inf
673a0 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 o>"...$package->getName()..."</i
673c0 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 nfo>.(<comment>"...$package->get
673e0 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 FullPrettyVersion()..."</comment
67400 3e 29 22 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e >)");.}.if.(!$this->filesystem->
67420 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e removeJunction($path)).{.$this->
67440 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 43 6f 75 io->writeError("....<warning>Cou
67460 6c 64 20 6e 6f 74 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 61 74 20 22 20 2e 20 24 70 ld.not.remove.junction.at."...$p
67480 61 74 68 20 2e 20 22 20 2d 20 69 73 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 6c 6f 63 ath...".-.is.another.process.loc
674a0 6b 69 6e 67 20 69 74 3f 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 king.it?</warning>");.throw.new.
674c0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 6c \RuntimeException('Could.not.rel
674e0 69 61 62 6c 79 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 66 6f 72 20 70 61 63 6b 61 67 iably.remove.junction.for.packag
67500 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 7d 20 e.'...$package->getName());.}.}.
67520 65 6c 73 65 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 else.{.parent::remove($package,.
67540 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $path,.$output);.}.}.....public.
67560 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 61 63 6b 61 67 65 function.getVcsReference(Package
67580 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 61 Interface.$package,.$path).{.$pa
675a0 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 rser.=.new.VersionParser;.$guess
675c0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 74 68 69 73 2d 3e 63 er.=.new.VersionGuesser($this->c
675e0 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 74 68 69 73 onfig,.new.ProcessExecutor($this
67600 2d 3e 69 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 ->io),.$parser);.$dumper.=.new.A
67620 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 20 3d 20 24 64 rrayDumper;..$packageConfig.=.$d
67640 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 70 61 63 6b umper->dump($package);.if.($pack
67660 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 ageVersion.=.$guesser->guessVers
67680 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 ion($packageConfig,.$path)).{.re
676a0 74 75 72 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a turn.$packageVersion['commit'];.
676c0 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 }.}.}.<?php............namespace
676e0 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f .Composer\Downloader;..use.Compo
67700 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 ser\Util\Filesystem;...........c
67720 6c 61 73 73 20 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 0a 7b 0a 70 72 69 76 lass.PearPackageExtractor.{.priv
67740 61 74 65 20 73 74 61 74 69 63 20 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e ate.static.$rolesWithoutPackageN
67760 61 6d 65 50 72 65 66 69 78 20 3d 20 61 72 72 61 79 28 27 70 68 70 27 2c 20 27 73 63 72 69 70 74 amePrefix.=.array('php',.'script
67780 27 2c 20 27 77 77 77 27 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b ',.'www');..private.$filesystem;
677a0 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .private.$file;..public.function
677c0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 66 69 .__construct($file).{.if.(!is_fi
677e0 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 le($file)).{.throw.new.\Unexpect
67800 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 45 41 52 20 70 61 63 6b 61 67 65 20 66 edValueException('PEAR.package.f
67820 69 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 2e 24 66 69 6c 65 29 3b 0a 7d 0a ile.is.not.found.at.'.$file);.}.
67840 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 .$this->filesystem.=.new.Filesys
67860 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 0a 0a tem();.$this->file.=.$file;.}...
67880 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 54 ........public.function.extractT
678a0 6f 28 24 74 61 72 67 65 74 2c 20 61 72 72 61 79 20 24 72 6f 6c 65 73 20 3d 20 61 72 72 61 79 28 o($target,.array.$roles.=.array(
678c0 27 70 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 3d 3e 20 27 2f 62 69 6e 27 'php'.=>.'/',.'script'.=>.'/bin'
678e0 29 2c 20 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 78 74 72 61 63 74 69 6f ),.$vars.=.array()).{.$extractio
67900 6e 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 2e 27 2f 74 61 72 62 61 6c 6c 27 3b 0a 0a 74 72 79 nPath.=.$target.'/tarball';..try
67920 20 7b 0a 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 74 68 69 .{.$archive.=.new.\PharData($thi
67940 73 2d 3e 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 65 s->file);.$archive->extractTo($e
67960 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 xtractionPath,.null,.true);..if.
67980 28 21 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 65 78 74 72 61 63 (!is_file($this->combine($extrac
679a0 74 69 6f 6e 50 61 74 68 2c 20 27 2f 70 61 63 6b 61 67 65 2e 78 6d 6c 27 29 29 29 20 7b 0a 74 68 tionPath,.'/package.xml'))).{.th
679c0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c row.new.\RuntimeException('Inval
679e0 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e 20 49 74 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e id.PEAR.package..It.must.contain
67a00 20 70 61 63 6b 61 67 65 2e 78 6d 6c 20 66 69 6c 65 2e 27 29 3b 0a 7d 0a 0a 24 66 69 6c 65 43 6f .package.xml.file.');.}..$fileCo
67a20 70 79 41 63 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 70 79 41 63 74 69 pyActions.=.$this->buildCopyActi
67a40 6f 6e 73 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 ons($extractionPath,.$roles,.$va
67a60 72 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 73 28 24 66 69 6c 65 43 6f 70 79 41 rs);.$this->copyFiles($fileCopyA
67a80 63 74 69 6f 6e 73 2c 20 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 24 74 61 72 67 65 74 ctions,.$extractionPath,.$target
67aa0 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 ,.$roles,.$vars);.$this->filesys
67ac0 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 65 78 74 72 61 63 74 69 6f 6e tem->removeDirectory($extraction
67ae0 50 61 74 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 Path);.}.catch.(\Exception.$exce
67b00 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 ption).{.throw.new.\UnexpectedVa
67b20 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 lueException(sprintf('Failed.to.
67b40 65 78 74 72 61 63 74 20 50 45 41 52 20 70 61 63 6b 61 67 65 20 25 73 20 74 6f 20 25 73 2e 20 52 extract.PEAR.package.%s.to.%s..R
67b60 65 61 73 6f 6e 3a 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 24 74 61 72 67 65 74 eason:.%s',.$this->file,.$target
67b80 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 2c 20 30 2c 20 ,.$exception->getMessage()),.0,.
67ba0 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 $exception);.}.}...........priva
67bc0 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 73 28 24 66 69 6c 65 73 2c 20 24 73 te.function.copyFiles($files,.$s
67be0 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 0a 7b ource,.$target,.$roles,.$vars).{
67c00 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 66 72 .foreach.($files.as.$file).{.$fr
67c20 6f 6d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 66 69 om.=.$this->combine($source,.$fi
67c40 6c 65 5b 27 66 72 6f 6d 27 5d 29 3b 0a 24 74 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e le['from']);.$to.=.$this->combin
67c60 65 28 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 5b 24 66 69 6c 65 5b 27 72 6f 6c 65 27 5d 5d e($target,.$roles[$file['role']]
67c80 29 3b 0a 24 74 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 74 6f 2c 20 24 66 69 );.$to.=.$this->combine($to,.$fi
67ca0 6c 65 5b 27 74 6f 27 5d 29 3b 0a 24 74 61 73 6b 73 20 3d 20 24 66 69 6c 65 5b 27 74 61 73 6b 73 le['to']);.$tasks.=.$file['tasks
67cc0 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 '];.$this->copyFile($from,.$to,.
67ce0 24 74 61 73 6b 73 2c 20 24 76 61 72 73 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e $tasks,.$vars);.}.}..private.fun
67d00 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 74 61 73 6b ction.copyFile($from,.$to,.$task
67d20 73 2c 20 24 76 61 72 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 66 72 6f 6d 29 29 s,.$vars).{.if.(!is_file($from))
67d40 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 .{.throw.new.\RuntimeException('
67d60 49 6e 76 61 6c 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e 20 70 61 63 6b 61 67 65 2e 78 6d Invalid.PEAR.package..package.xm
67d80 6c 20 64 65 66 69 6e 65 73 20 66 69 6c 65 20 74 68 61 74 20 69 73 20 6e 6f 74 20 6c 6f 63 61 74 l.defines.file.that.is.not.locat
67da0 65 64 20 69 6e 73 69 64 65 20 74 61 72 62 61 6c 6c 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e ed.inside.tarball.');.}..$this->
67dc0 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 filesystem->ensureDirectoryExist
67de0 73 28 64 69 72 6e 61 6d 65 28 24 74 6f 29 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 20 63 6f 75 6e 74 s(dirname($to));..if.(0.==.count
67e00 28 24 74 61 73 6b 73 29 29 20 7b 0a 24 63 6f 70 69 65 64 20 3d 20 63 6f 70 79 28 24 66 72 6f 6d ($tasks)).{.$copied.=.copy($from
67e20 2c 20 24 74 6f 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 ,.$to);.}.else.{.$content.=.file
67e40 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 72 6f 6d 29 3b 0a 24 72 65 70 6c 61 63 65 6d 65 _get_contents($from);.$replaceme
67e60 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 73 6b 73 20 61 nts.=.array();.foreach.($tasks.a
67e80 73 20 24 74 61 73 6b 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 24 74 61 73 6b 5b 27 66 72 6f s.$task).{.$pattern.=.$task['fro
67ea0 6d 27 5d 3b 0a 24 76 61 72 4e 61 6d 65 20 3d 20 24 74 61 73 6b 5b 27 74 6f 27 5d 3b 0a 69 66 20 m'];.$varName.=.$task['to'];.if.
67ec0 28 69 73 73 65 74 28 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d 29 29 20 7b 0a 69 66 20 28 24 (isset($vars[$varName])).{.if.($
67ee0 76 61 72 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 5f 62 69 6e 27 20 26 26 20 66 61 6c 73 65 20 3d varName.===.'php_bin'.&&.false.=
67f00 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 2c 20 27 2e 62 61 74 27 29 29 20 7b 0a 24 72 65 70 6c 61 ==.strpos($to,.'.bat')).{.$repla
67f20 63 65 6d 65 6e 74 73 5b 24 70 61 74 74 65 72 6e 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 cements[$pattern].=.preg_replace
67f40 28 27 7b 5c 2e 62 61 74 24 7d 27 2c 20 27 27 2c 20 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d ('{\.bat$}',.'',.$vars[$varName]
67f60 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 5b 24 70 61 74 74 65 );.}.else.{.$replacements[$patte
67f80 72 6e 5d 20 3d 20 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d 3b 0a 7d 0a 7d 0a 7d 0a 24 63 6f rn].=.$vars[$varName];.}.}.}.$co
67fa0 6e 74 65 6e 74 20 3d 20 73 74 72 74 72 28 24 63 6f 6e 74 65 6e 74 2c 20 24 72 65 70 6c 61 63 65 ntent.=.strtr($content,.$replace
67fc0 6d 65 6e 74 73 29 3b 0a 0a 24 63 6f 70 69 65 64 20 3d 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 ments);..$copied.=.file_put_cont
67fe0 65 6e 74 73 28 24 74 6f 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 ents($to,.$content);.}..if.(fals
68000 65 20 3d 3d 3d 20 24 63 6f 70 69 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 e.===.$copied).{.throw.new.\Runt
68020 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 imeException(sprintf('Failed.to.
68040 63 6f 70 79 20 25 73 20 74 6f 20 25 73 27 2c 20 24 66 72 6f 6d 2c 20 24 74 6f 29 29 3b 0a 7d 0a copy.%s.to.%s',.$from,.$to));.}.
68060 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 }............private.function.bu
68080 69 6c 64 43 6f 70 79 41 63 74 69 6f 6e 73 28 24 73 6f 75 72 63 65 2c 20 61 72 72 61 79 20 24 72 ildCopyActions($source,.array.$r
680a0 6f 6c 65 73 2c 20 24 76 61 72 73 29 0a 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 73 69 6d 70 6c oles,.$vars).{..$package.=.simpl
680c0 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 6e 67 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e exml_load_string(file_get_conten
680e0 74 73 28 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 27 70 61 63 6b ts($this->combine($source,.'pack
68100 61 67 65 2e 78 6d 6c 27 29 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 61 63 6b age.xml')));.if.(false.===.$pack
68120 61 67 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 age).{.throw.new.\RuntimeExcepti
68140 6f 6e 28 27 50 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 69 73 20 6e on('Package.definition.file.is.n
68160 6f 74 20 76 61 6c 69 64 2e 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 ot.valid.');.}..$packageSchemaVe
68180 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 69 66 20 rsion.=.$package['version'];.if.
681a0 28 27 31 2e 30 27 20 3d 3d 20 24 70 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 29 ('1.0'.==.$packageSchemaVersion)
681c0 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 72 65 6c 65 61 73 65 .{.$children.=.$package->release
681e0 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 72 65 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 ->filelist->children();.$package
68200 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 6e 61 6d 65 3b 0a Name.=.(string).$package->name;.
68220 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b $packageVersion.=.(string).$pack
68240 61 67 65 2d 3e 72 65 6c 65 61 73 65 2d 3e 76 65 72 73 69 6f 6e 3b 0a 24 73 6f 75 72 63 65 44 69 age->release->version;.$sourceDi
68260 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2d 27 20 2e 20 24 70 61 63 6b 61 67 r.=.$packageName...'-'...$packag
68280 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 eVersion;.$result.=.$this->build
682a0 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 72 6f 6c 65 73 2c 20 SourceList10($children,.$roles,.
682c0 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 2c 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 $sourceDir,.'',.null,.$packageNa
682e0 6d 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 32 2e 30 27 20 3d 3d 20 24 70 61 63 6b 61 67 65 me);.}.elseif.('2.0'.==.$package
68300 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 20 7c 7c 20 27 32 2e 31 27 20 3d 3d 20 24 70 61 63 6b 61 SchemaVersion.||.'2.1'.==.$packa
68320 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 geSchemaVersion).{.$children.=.$
68340 70 61 63 6b 61 67 65 2d 3e 63 6f 6e 74 65 6e 74 73 2d 3e 63 68 69 6c 64 72 65 6e 28 29 3b 0a 24 package->contents->children();.$
68360 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d packageName.=.(string).$package-
68380 3e 6e 61 6d 65 3b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 >name;.$packageVersion.=.(string
683a0 29 20 24 70 61 63 6b 61 67 65 2d 3e 76 65 72 73 69 6f 6e 2d 3e 72 65 6c 65 61 73 65 3b 0a 24 73 ).$package->version->release;.$s
683c0 6f 75 72 63 65 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2d 27 20 2e 20 ourceDir.=.$packageName...'-'...
683e0 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 $packageVersion;.$result.=.$this
68400 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 ->buildSourceList20($children,.$
68420 72 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 2c 20 6e 75 6c 6c 2c 20 24 70 61 roles,.$sourceDir,.'',.null,.$pa
68440 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 24 70 61 63 6b ckageName);..$namespaces.=.$pack
68460 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e age->getNamespaces();.$package->
68480 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 24 6e 61 registerXPathNamespace('ns',.$na
684a0 6d 65 73 70 61 63 65 73 5b 27 27 5d 29 3b 0a 24 72 65 6c 65 61 73 65 4e 6f 64 65 73 20 3d 20 24 mespaces['']);.$releaseNodes.=.$
684c0 70 61 63 6b 61 67 65 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 68 70 72 65 6c 65 61 73 65 27 29 3b package->xpath('ns:phprelease');
684e0 0a 24 74 68 69 73 2d 3e 61 70 70 6c 79 52 65 6c 65 61 73 65 28 24 72 65 73 75 6c 74 2c 20 24 72 .$this->applyRelease($result,.$r
68500 65 6c 65 61 73 65 4e 6f 64 65 73 2c 20 24 76 61 72 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 eleaseNodes,.$vars);.}.else.{.th
68520 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 73 75 70 row.new.\RuntimeException('Unsup
68540 70 6f 72 74 65 64 20 73 63 68 65 6d 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 ported.schema.version.of.package
68560 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 .definition.file.');.}..return.$
68580 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c result;.}..private.function.appl
685a0 79 52 65 6c 65 61 73 65 28 26 24 61 63 74 69 6f 6e 73 2c 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 yRelease(&$actions,.$releaseNode
685c0 73 2c 20 24 76 61 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 4e 6f 64 s,.$vars).{.foreach.($releaseNod
685e0 65 73 20 61 73 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 29 20 7b 0a 24 72 65 71 75 69 72 65 64 4f es.as.$releaseNode).{.$requiredO
68600 73 20 3d 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e 64 69 74 69 s.=.$releaseNode->installconditi
68620 6f 6e 73 20 26 26 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e 64 ons.&&.$releaseNode->installcond
68640 69 74 69 6f 6e 73 2d 3e 6f 73 20 26 26 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 itions->os.&&.$releaseNode->inst
68660 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 2d 3e 6e 61 6d 65 20 3f 20 28 73 74 72 69 6e allconditions->os->name.?.(strin
68680 67 29 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e 64 69 74 69 6f g).$releaseNode->installconditio
686a0 6e 73 2d 3e 6f 73 2d 3e 6e 61 6d 65 20 3a 20 27 27 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 ns->os->name.:.'';.if.($required
686c0 4f 73 20 26 26 20 24 76 61 72 73 5b 27 6f 73 27 5d 20 21 3d 20 24 72 65 71 75 69 72 65 64 4f 73 Os.&&.$vars['os'].!=.$requiredOs
686e0 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 6c 65 61 73 65 4e 6f 64 ).{.continue;.}..if.($releaseNod
68700 65 2d 3e 66 69 6c 65 6c 69 73 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 e->filelist).{.foreach.($release
68720 4e 6f 64 65 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 72 65 6e 28 29 20 61 73 20 24 61 Node->filelist->children().as.$a
68740 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 20 24 61 63 74 69 6f ction).{.if.('install'.==.$actio
68760 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 n->getName()).{.$name.=.(string)
68780 20 24 61 63 74 69 6f 6e 5b 27 6e 61 6d 65 27 5d 3b 0a 24 61 73 20 3d 20 28 73 74 72 69 6e 67 29 .$action['name'];.$as.=.(string)
687a0 20 24 61 63 74 69 6f 6e 5b 27 61 73 27 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 63 74 69 6f .$action['as'];.if.(isset($actio
687c0 6e 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 5b 27 74 ns[$name])).{.$actions[$name]['t
687e0 6f 27 5d 20 3d 20 24 61 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 69 67 6e 6f 72 65 27 20 o'].=.$as;.}.}.elseif.('ignore'.
68800 3d 3d 20 24 61 63 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d ==.$action->getName()).{.$name.=
68820 20 28 73 74 72 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 6e 61 6d 65 27 5d 3b 0a 75 6e 73 65 74 .(string).$action['name'];.unset
68840 28 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 7d 0a ($actions[$name]);.}.else.{...}.
68860 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e }.}.break;.}.}..private.function
68880 20 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 74 .buildSourceList10($children,.$t
688a0 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 argetRoles,.$source,.$target,.$r
688c0 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 ole,.$packageName).{.$result.=.a
688e0 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 6e 20 61 73 rray();....foreach.($children.as
68900 20 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 24 63 68 69 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 .$child).{..if.($child->getName(
68920 29 20 3d 3d 20 27 64 69 72 27 29 20 7b 0a 24 64 69 72 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 ).==.'dir').{.$dirSource.=.$this
68940 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 ->combine($source,.(string).$chi
68960 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 64 69 72 54 61 72 67 65 74 20 3d 20 24 63 68 69 6c 64 ld['name']);.$dirTarget.=.$child
68980 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 3b 0a 24 ['baseinstalldir'].?:.$target;.$
689a0 64 69 72 52 6f 6c 65 20 3d 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c dirRole.=.$child['role'].?:.$rol
689c0 65 3b 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 e;.$dirFiles.=.$this->buildSourc
689e0 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 29 2c 20 24 74 61 72 eList10($child->children(),.$tar
68a00 67 65 74 52 6f 6c 65 73 2c 20 24 64 69 72 53 6f 75 72 63 65 2c 20 24 64 69 72 54 61 72 67 65 74 getRoles,.$dirSource,.$dirTarget
68a20 2c 20 24 64 69 72 52 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 72 65 73 75 ,.$dirRole,.$packageName);.$resu
68a40 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 69 72 46 69 lt.=.array_merge($result,.$dirFi
68a60 6c 65 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 68 69 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 les);.}.elseif.($child->getName(
68a80 29 20 3d 3d 20 27 66 69 6c 65 27 29 20 7b 0a 24 66 69 6c 65 52 6f 6c 65 20 3d 20 28 73 74 72 69 ).==.'file').{.$fileRole.=.(stri
68aa0 6e 67 29 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 69 66 20 ng).$child['role'].?:.$role;.if.
68ac0 28 69 73 73 65 74 28 24 74 61 72 67 65 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 29 (isset($targetRoles[$fileRole]))
68ae0 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 28 24 63 68 69 6c 64 5b .{.$fileName.=.(string).($child[
68b00 27 6e 61 6d 65 27 5d 20 3f 3a 20 24 63 68 69 6c 64 5b 30 5d 29 3b 20 0a 20 24 66 69 6c 65 53 6f 'name'].?:.$child[0]);...$fileSo
68b20 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 urce.=.$this->combine($source,.$
68b40 66 69 6c 65 4e 61 6d 65 29 3b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 74 68 69 73 2d 3e fileName);.$fileTarget.=.$this->
68b60 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 combine((string).$child['baseins
68b80 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 2c 20 24 66 69 6c 65 4e 61 6d 65 29 talldir'].?:.$target,.$fileName)
68ba0 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 52 6f 6c 65 2c 20 73 65 6c 66 3a ;.if.(!in_array($fileRole,.self:
68bc0 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e 61 6d 65 50 72 65 66 69 78 29 :$rolesWithoutPackageNamePrefix)
68be0 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e ).{.$fileTarget.=.$packageName..
68c00 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d 0a 24 72 65 73 75 6c 74 5b 28 73 .'/'...$fileTarget;.}.$result[(s
68c20 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 61 72 72 61 79 28 27 tring).$child['name']].=.array('
68c40 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c 20 27 74 6f 27 20 3d 3e 20 24 66 from'.=>.$fileSource,.'to'.=>.$f
68c60 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 24 66 69 6c 65 52 6f 6c 65 2c 20 ileTarget,.'role'.=>.$fileRole,.
68c80 27 74 61 73 6b 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 'tasks'.=>.array());.}.}.}..retu
68ca0 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 rn.$result;.}..private.function.
68cc0 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 74 61 buildSourceList20($children,.$ta
68ce0 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f rgetRoles,.$source,.$target,.$ro
68d00 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 le,.$packageName).{.$result.=.ar
68d20 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 6e 20 61 73 20 ray();....foreach.($children.as.
68d40 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 27 64 69 72 27 20 3d 3d 20 24 63 68 69 6c 64 2d 3e $child).{..if.('dir'.==.$child->
68d60 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 64 69 72 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d getName()).{.$dirSource.=.$this-
68d80 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d >combine($source,.$child['name']
68da0 29 3b 0a 24 64 69 72 54 61 72 67 65 74 20 3d 20 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 );.$dirTarget.=.$child['baseinst
68dc0 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 3b 0a 24 64 69 72 52 6f 6c 65 20 3d 20 alldir'].?:.$target;.$dirRole.=.
68de0 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 24 64 69 72 46 69 6c $child['role'].?:.$role;.$dirFil
68e00 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 es.=.$this->buildSourceList20($c
68e20 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 29 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 hild->children(),.$targetRoles,.
68e40 24 64 69 72 53 6f 75 72 63 65 2c 20 24 64 69 72 54 61 72 67 65 74 2c 20 24 64 69 72 52 6f 6c 65 $dirSource,.$dirTarget,.$dirRole
68e60 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 ,.$packageName);.$result.=.array
68e80 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 69 72 46 69 6c 65 73 29 3b 0a 7d 20 65 6c _merge($result,.$dirFiles);.}.el
68ea0 73 65 69 66 20 28 27 66 69 6c 65 27 20 3d 3d 20 24 63 68 69 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 seif.('file'.==.$child->getName(
68ec0 29 29 20 7b 0a 24 66 69 6c 65 52 6f 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 )).{.$fileRole.=.(string).$child
68ee0 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 61 ['role'].?:.$role;.if.(isset($ta
68f00 72 67 65 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 29 20 7b 0a 24 66 69 6c 65 53 6f rgetRoles[$fileRole])).{.$fileSo
68f20 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 28 urce.=.$this->combine($source,.(
68f40 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 66 69 6c 65 54 61 string).$child['name']);.$fileTa
68f60 72 67 65 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e 67 29 20 28 rget.=.$this->combine((string).(
68f80 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 $child['baseinstalldir'].?:.$tar
68fa0 67 65 74 29 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a get),.(string).$child['name']);.
68fc0 24 66 69 6c 65 54 61 73 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 $fileTasks.=.array();.foreach.($
68fe0 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 child->children('http://pear.php
69000 2e 6e 65 74 2f 64 74 64 2f 74 61 73 6b 73 2d 31 2e 30 27 29 20 61 73 20 24 74 61 73 6b 4e 6f 64 .net/dtd/tasks-1.0').as.$taskNod
69020 65 29 20 7b 0a 69 66 20 28 27 72 65 70 6c 61 63 65 27 20 3d 3d 20 24 74 61 73 6b 4e 6f 64 65 2d e).{.if.('replace'.==.$taskNode-
69040 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 66 69 6c 65 54 61 73 6b 73 5b 5d 20 3d 20 61 72 72 >getName()).{.$fileTasks[].=.arr
69060 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 20 24 74 61 73 6b 4e 6f 64 65 2d ay('from'.=>.(string).$taskNode-
69080 3e 61 74 74 72 69 62 75 74 65 73 28 29 2d 3e 66 72 6f 6d 2c 20 27 74 6f 27 20 3d 3e 20 28 73 74 >attributes()->from,.'to'.=>.(st
690a0 72 69 6e 67 29 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 61 74 74 72 69 62 75 74 65 73 28 29 2d 3e 74 ring).$taskNode->attributes()->t
690c0 6f 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 52 6f 6c 65 2c o);.}.}.if.(!in_array($fileRole,
690e0 20 73 65 6c 66 3a 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e 61 6d 65 50 .self::$rolesWithoutPackageNameP
69100 72 65 66 69 78 29 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 63 6b 61 67 65 refix)).{.$fileTarget.=.$package
69120 4e 61 6d 65 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d 0a 24 72 65 73 Name...'/'...$fileTarget;.}.$res
69140 75 6c 74 5b 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 61 ult[(string).$child['name']].=.a
69160 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c 20 27 74 6f 27 rray('from'.=>.$fileSource,.'to'
69180 20 3d 3e 20 24 66 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 24 66 69 6c 65 .=>.$fileTarget,.'role'.=>.$file
691a0 52 6f 6c 65 2c 20 27 74 61 73 6b 73 27 20 3d 3e 20 24 66 69 6c 65 54 61 73 6b 73 29 3b 0a 7d 0a Role,.'tasks'.=>.$fileTasks);.}.
691c0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 }.}..return.$result;.}..private.
691e0 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 65 28 24 6c 65 66 74 2c 20 24 72 69 67 68 74 29 0a function.combine($left,.$right).
69200 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6c 65 66 74 2c 20 27 2f 27 29 20 2e 20 27 2f 27 {.return.rtrim($left,.'/')...'/'
69220 20 2e 20 6c 74 72 69 6d 28 24 72 69 67 68 74 2c 20 27 2f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 ...ltrim($right,.'/');.}.}.<?php
69240 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 ............namespace.Composer\D
69260 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ownloader;..use.Composer\Package
69280 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
692a0 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f Repository\VcsRepository;.use.Co
692c0 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 mposer\Util\Perforce;.....class.
692e0 50 65 72 66 6f 72 63 65 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f PerforceDownloader.extends.VcsDo
69300 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 65 72 66 6f 72 63 65 3b wnloader.{..protected.$perforce;
69320 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 .....public.function.doDownload(
69340 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 PackageInterface.$package,.$path
69360 2c 20 24 75 72 6c 29 0a 7b 0a 24 72 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f ,.$url).{.$ref.=.$package->getSo
69380 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 6c 61 62 65 6c 20 3d 20 24 74 68 69 73 2d urceReference();.$label.=.$this-
693a0 3e 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 >getLabelFromSourceReference($re
693c0 66 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6c 6f 6e f);..$this->io->writeError('Clon
693e0 69 6e 67 20 27 20 2e 20 24 72 65 66 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 50 65 72 66 6f 72 ing.'...$ref);.$this->initPerfor
69400 63 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 24 74 68 69 73 ce($package,.$path,.$url);.$this
69420 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 65 74 53 74 72 65 61 6d 28 24 72 65 66 29 3b 0a 24 74 68 ->perforce->setStream($ref);.$th
69440 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e 28 29 3b 0a 24 74 68 69 73 2d 3e is->perforce->p4Login();.$this->
69460 70 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 perforce->writeP4ClientSpec();.$
69480 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 3b this->perforce->connectClient();
694a0 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 79 6e 63 43 6f 64 65 42 61 73 65 28 24 .$this->perforce->syncCodeBase($
694c0 6c 61 62 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6c 65 61 6e 75 70 label);.$this->perforce->cleanup
694e0 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ClientSpec();.}..private.functio
69500 6e 20 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 n.getLabelFromSourceReference($r
69520 65 66 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 72 65 66 2c 20 27 40 27 29 3b 0a ef).{.$pos.=.strpos($ref,.'@');.
69540 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 if.(false.!==.$pos).{.return.sub
69560 73 74 72 28 24 72 65 66 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e str($ref,.$pos.+.1);.}..return.n
69580 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 50 65 72 66 ull;.}..public.function.initPerf
695a0 6f 72 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 orce(PackageInterface.$package,.
695c0 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d $path,.$url).{.if.(!empty($this-
695e0 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 69 >perforce)).{.$this->perforce->i
69600 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d nitializePath($path);..return;.}
69620 0a 0a 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 ..$repository.=.$package->getRep
69640 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 3b 0a 69 ository();.$repoConfig.=.null;.i
69660 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 73 52 65 70 f.($repository.instanceof.VcsRep
69680 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e ository).{.$repoConfig.=.$this->
696a0 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 24 74 getRepoConfig($repository);.}.$t
696c0 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 50 65 72 66 6f 72 63 65 3a 3a 63 72 65 61 74 65 his->perforce.=.Perforce::create
696e0 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 74 68 69 73 ($repoConfig,.$url,.$path,.$this
69700 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 ->process,.$this->io);.}..privat
69720 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 56 63 73 52 65 70 6f e.function.getRepoConfig(VcsRepo
69740 73 69 74 6f 72 79 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 72 65 74 75 72 6e 20 24 72 65 sitory.$repository).{.return.$re
69760 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 0a 0a 0a pository->getRepoConfig();.}....
69780 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 .public.function.doUpdate(Packag
697a0 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 eInterface.$initial,.PackageInte
697c0 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 74 rface.$target,.$path,.$url).{.$t
697e0 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 his->doDownload($target,.$path,.
69800 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 $url);.}.....public.function.get
69820 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 LocalChanges(PackageInterface.$p
69840 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 ackage,.$path).{.$this->io->writ
69860 65 45 72 72 6f 72 28 27 50 65 72 66 6f 72 63 65 20 64 72 69 76 65 72 20 64 6f 65 73 20 6e 6f 74 eError('Perforce.driver.does.not
69880 20 63 68 65 63 6b 20 66 6f 72 20 6c 6f 63 61 6c 20 63 68 61 6e 67 65 73 20 62 65 66 6f 72 65 20 .check.for.local.changes.before.
698a0 6f 76 65 72 72 69 64 69 6e 67 27 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a overriding',.true);..return;.}..
698c0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c ...protected.function.getCommitL
698e0 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 ogs($fromReference,.$toReference
69900 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 ,.$path).{.return.$this->perforc
69920 65 2d 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c e->getCommitLogs($fromReference,
69940 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$toReference);.}..public.functi
69960 6f 6e 20 73 65 74 50 65 72 66 6f 72 63 65 28 24 70 65 72 66 6f 72 63 65 29 0a 7b 0a 24 74 68 69 on.setPerforce($perforce).{.$thi
69980 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 24 70 65 72 66 6f 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 s->perforce.=.$perforce;.}.....p
699a0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 rotected.function.hasMetadataRep
699c0 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a ository($path).{.return.true;.}.
699e0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
69a00 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 poser\Downloader;.......class.Ph
69a20 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 6e arDownloader.extends.ArchiveDown
69a40 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 loader.{....protected.function.e
69a60 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 24 61 72 63 68 69 76 xtract($file,.$path).{...$archiv
69a80 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 28 24 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e e.=.new.\Phar($file);.$archive->
69aa0 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 0a 0a extractTo($path,.null,.true);...
69ac0 0a 0a 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ...}.}.<?php............namespac
69ae0 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 e.Composer\Downloader;..use.Comp
69b00 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b oser\Config;.use.Composer\Cache;
69b20 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 .use.Composer\EventDispatcher\Ev
69b40 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c entDispatcher;.use.Composer\Util
69b60 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c \IniHelper;.use.Composer\Util\Pl
69b80 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 atform;.use.Composer\Util\Proces
69ba0 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d sExecutor;.use.Composer\Util\Rem
69bc0 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 oteFilesystem;.use.Composer\IO\I
69be0 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 52 61 72 41 72 63 68 69 76 65 3b 0a 0a 0a 0a 0a OInterface;.use.RarArchive;.....
69c00 0a 0a 0a 0a 63 6c 61 73 73 20 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 ....class.RarDownloader.extends.
69c20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 ArchiveDownloader.{.protected.$p
69c40 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 rocess;..public.function.__const
69c60 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f ruct(IOInterface.$io,.Config.$co
69c80 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 nfig,.EventDispatcher.$eventDisp
69ca0 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 atcher.=.null,.Cache.$cache.=.nu
69cc0 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e ll,.ProcessExecutor.$process.=.n
69ce0 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c ull,.RemoteFilesystem.$rfs.=.nul
69d00 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f l).{.$this->process.=.$process.?
69d20 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 :.new.ProcessExecutor($io);.pare
69d40 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 nt::__construct($io,.$config,.$e
69d60 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d ventDispatcher,.$cache,.$rfs);.}
69d80 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 ..protected.function.extract($fi
69da0 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 75 6c le,.$path).{.$processError.=.nul
69dc0 6c 3b 0a 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 l;....if.(!Platform::isWindows()
69de0 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 6e 72 61 72 20 78 20 27 20 2e 20 50 72 6f 63 ).{.$command.=.'unrar.x.'...Proc
69e00 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 27 20 27 essExecutor::escape($file)...'.'
69e20 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 ...ProcessExecutor::escape($path
69e40 29 20 2e 20 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 26 20 63 68 6d 6f 64 20 2d 52 20 75 2b 77 )...'.>/dev/null.&&.chmod.-R.u+w
69e60 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 .'...ProcessExecutor::escape($pa
69e80 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e th);..if.(0.===.$this->process->
69ea0 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 execute($command,.$ignoredOutput
69ec0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 )).{.return;.}..$processError.=.
69ee0 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 'Failed.to.execute.'...$command.
69f00 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 .."\n\n"...$this->process->getEr
69f20 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 rorOutput();.}..if.(!class_exist
69f40 73 28 27 52 61 72 41 72 63 68 69 76 65 27 29 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 73 61 67 65 s('RarArchive')).{...$iniMessage
69f60 20 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 0a 24 65 72 .=.IniHelper::getMessage();..$er
69f80 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 ror.=."Could.not.decompress.the.
69fa0 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 61 72 20 65 78 74 65 archive,.enable.the.PHP.rar.exte
69fc0 6e 73 69 6f 6e 20 6f 72 20 69 6e 73 74 61 6c 6c 20 75 6e 72 61 72 2e 5c 6e 22 0a 2e 20 24 69 6e nsion.or.install.unrar.\n"...$in
69fe0 69 4d 65 73 73 61 67 65 20 2e 20 22 5c 6e 22 20 2e 20 24 70 72 6f 63 65 73 73 45 72 72 6f 72 3b iMessage..."\n"...$processError;
6a000 0a 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a ..if.(!Platform::isWindows()).{.
6a020 24 65 72 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 20 74 $error.=."Could.not.decompress.t
6a040 68 65 20 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 61 72 20 65 he.archive,.enable.the.PHP.rar.e
6a060 78 74 65 6e 73 69 6f 6e 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 7d 0a 0a 74 xtension.\n"...$iniMessage;.}..t
6a080 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f hrow.new.\RuntimeException($erro
6a0a0 72 29 3b 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 20 3d 20 52 61 72 41 72 63 68 69 76 65 3a r);.}..$rarArchive.=.RarArchive:
6a0c0 3a 6f 70 65 6e 28 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 61 :open($file);..if.(false.===.$ra
6a0e0 72 41 72 63 68 69 76 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 rArchive).{.throw.new.\Unexpecte
6a100 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 6e 20 dValueException('Could.not.open.
6a120 52 41 52 20 61 72 63 68 69 76 65 3a 20 27 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 24 65 6e 74 RAR.archive:.'...$file);.}..$ent
6a140 72 69 65 73 20 3d 20 24 72 61 72 41 72 63 68 69 76 65 2d 3e 67 65 74 45 6e 74 72 69 65 73 28 29 ries.=.$rarArchive->getEntries()
6a160 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 69 65 73 29 20 7b 0a 74 68 72 ;..if.(false.===.$entries).{.thr
6a180 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 ow.new.\RuntimeException('Could.
6a1a0 6e 6f 74 20 72 65 74 72 69 65 76 65 20 52 41 52 20 61 72 63 68 69 76 65 20 65 6e 74 72 69 65 73 not.retrieve.RAR.archive.entries
6a1c0 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 74 72 69 65 73 20 61 73 20 24 65 6e 74 ');.}..foreach.($entries.as.$ent
6a1e0 72 79 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 79 2d 3e 65 78 74 72 ry).{.if.(false.===.$entry->extr
6a200 61 63 74 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 act($path)).{.throw.new.\Runtime
6a220 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 65 78 74 72 61 63 74 20 65 6e 74 Exception('Could.not.extract.ent
6a240 72 79 27 29 3b 0a 7d 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 65 28 29 3b ry');.}.}..$rarArchive->close();
6a260 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
6a280 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 Composer\Downloader;..use.Compos
6a2a0 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 er\Package\PackageInterface;.use
6a2c0 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b 0a 75 .Composer\Util\Svn.as.SvnUtil;.u
6a2e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 se.Composer\Repository\VcsReposi
6a300 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 tory;.use.Composer\Util\ProcessE
6a320 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 xecutor;......class.SvnDownloade
6a340 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 r.extends.VcsDownloader.{.protec
6a360 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a ted.$cacheCredentials.=.true;...
6a380 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 ..public.function.doDownload(Pac
6a3a0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 kageInterface.$package,.$path,.$
6a3c0 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 72 65 66 url).{.SvnUtil::cleanEnv();.$ref
6a3e0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 .=.$package->getSourceReference(
6a400 29 3b 0a 0a 24 72 65 70 6f 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 );..$repo.=.$package->getReposit
6a420 6f 72 79 28 29 3b 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 73 52 ory();.if.($repo.instanceof.VcsR
6a440 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f epository).{.$repoConfig.=.$repo
6a460 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 ->getRepoConfig();.if.(array_key
6a480 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 27 2c _exists('svn-cache-credentials',
6a4a0 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 .$repoConfig)).{.$this->cacheCre
6a4c0 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 73 dentials.=.(bool).$repoConfig['s
6a4e0 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 27 5d 3b 0a 7d 0a 7d 0a 0a 24 74 68 vn-cache-credentials'];.}.}..$th
6a500 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 is->io->writeError(".Checking.ou
6a520 74 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 t.".$package->getSourceReference
6a540 28 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 76 6e 20 63 ());.$this->execute($url,."svn.c
6a560 6f 22 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c 20 24 72 65 66 29 o",.sprintf("%s/%s",.$url,.$ref)
6a580 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ,.null,.$path);.}.....public.fun
6a5a0 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 ction.doUpdate(PackageInterface.
6a5c0 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 $initial,.PackageInterface.$targ
6a5e0 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 et,.$path,.$url).{.SvnUtil::clea
6a600 6e 45 6e 76 28 29 3b 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 nEnv();.$ref.=.$target->getSourc
6a620 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 eReference();..if.(!$this->hasMe
6a640 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 tadataRepository($path)).{.throw
6a660 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 73 76 6e .new.\RuntimeException('The..svn
6a680 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 .directory.is.missing.from.'.$pa
6a6a0 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 th.',.see.https://getcomposer.or
6a6c0 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 g/commit-deps.for.more.informati
6a6e0 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 75 72 on');.}..$util.=.new.SvnUtil($ur
6a700 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 66 l,.$this->io,.$this->config);.$f
6a720 6c 61 67 73 20 3d 20 22 22 3b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 lags.=."";.if.(version_compare($
6a740 75 74 69 6c 2d 3e 62 69 6e 61 72 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 31 2e 37 2e 30 27 2c 20 util->binaryVersion(),.'1.7.0',.
6a760 27 3e 3d 27 29 29 20 7b 0a 24 66 6c 61 67 73 20 2e 3d 20 27 20 2d 2d 69 67 6e 6f 72 65 2d 61 6e '>=')).{.$flags..=.'.--ignore-an
6a780 63 65 73 74 72 79 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f cestry';.}..$this->io->writeErro
6a7a0 72 28 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 20 2e 20 24 72 65 66 29 3b 0a 24 74 68 69 r(".Checking.out."...$ref);.$thi
6a7c0 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 76 6e 20 73 77 69 74 63 68 22 20 2e 20 s->execute($url,."svn.switch"...
6a7e0 24 66 6c 61 67 73 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c 20 24 $flags,.sprintf("%s/%s",.$url,.$
6a800 72 65 66 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ref),.$path);.}.....public.funct
6a820 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 ion.getLocalChanges(PackageInter
6a840 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 74 68 face.$package,.$path).{.if.(!$th
6a860 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 is->hasMetadataRepository($path)
6a880 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 ).{.return.null;.}..$this->proce
6a8a0 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 73 74 61 74 75 73 20 2d 2d 69 67 6e 6f 72 65 ss->execute('svn.status.--ignore
6a8c0 2d 65 78 74 65 72 6e 61 6c 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 0a 72 -externals',.$output,.$path);..r
6a8e0 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 58 20 5d 20 2b 7d 6d 27 eturn.preg_match('{^.*[^X.].+}m'
6a900 2c 20 24 6f 75 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a ,.$output).?.$output.:.null;.}..
6a920 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 ............protected.function.e
6a940 78 65 63 75 74 65 28 24 62 61 73 65 55 72 6c 2c 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c xecute($baseUrl,.$command,.$url,
6a960 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 75 .$cwd.=.null,.$path.=.null).{.$u
6a980 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 74 68 69 til.=.new.SvnUtil($baseUrl,.$thi
6a9a0 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 75 74 69 6c 2d 3e 73 65 s->io,.$this->config);.$util->se
6a9c0 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 tCacheCredentials($this->cacheCr
6a9e0 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 75 74 69 6c 2d 3e edentials);.try.{.return.$util->
6aa00 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 24 70 execute($command,.$url,.$cwd,.$p
6aa20 61 74 68 2c 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 3b 0a 7d 20 ath,.$this->io->isVerbose());.}.
6aa40 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 catch.(\RuntimeException.$e).{.t
6aa60 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 50 61 63 hrow.new.\RuntimeException(.'Pac
6aa80 6b 61 67 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 27 2e kage.could.not.be.downloaded,.'.
6aaa0 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 $e->getMessage().);.}.}.....prot
6aac0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 50 61 63 6b ected.function.cleanChanges(Pack
6aae0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 ageInterface.$package,.$path,.$u
6ab00 70 64 61 74 65 29 0a 7b 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 20 3d 20 24 74 68 69 73 2d 3e pdate).{.if.(!$changes.=.$this->
6ab20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 getLocalChanges($package,.$path)
6ab40 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 ).{.return;.}..if.(!$this->io->i
6ab60 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 sInteractive()).{.if.(true.===.$
6ab80 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 this->config->get('discard-chang
6aba0 65 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 68 61 es')).{.return.$this->discardCha
6abc0 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 nges($path);.}..return.parent::c
6abe0 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 leanChanges($package,.$path,.$up
6ac00 64 61 74 65 29 3b 0a 7d 0a 0a 24 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 date);.}..$changes.=.array_map(f
6ac20 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 2e unction.($elem).{.return.'....'.
6ac40 24 65 6c 65 6d 3b 0a 7d 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 3f 5c 6e 5c $elem;.},.preg_split('{\s*\r?\n\
6ac60 73 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 29 29 3b 0a 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 s*}',.$changes));.$countChanges.
6ac80 3d 20 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 =.count($changes);.$this->io->wr
6aca0 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 54 68 65 iteError(sprintf('....<error>The
6acc0 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 25 73 3a 3c 2f 65 .package.has.modified.file%s:</e
6ace0 72 72 6f 72 3e 27 2c 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 3f 20 27 27 rror>',.$countChanges.===.1.?.''
6ad00 20 3a 20 27 73 27 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 .:.'s'));.$this->io->writeError(
6ad20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c 20 30 2c 20 31 30 29 29 3b 0a 69 array_slice($changes,.0,.10));.i
6ad40 66 20 28 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3e 20 31 30 29 20 7b 0a 24 72 65 6d 61 69 6e f.($countChanges.>.10).{.$remain
6ad60 67 43 68 61 6e 67 65 73 20 3d 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 2d 20 31 30 3b 0a 24 gChanges.=.$countChanges.-.10;.$
6ad80 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 0a 27 this->io->writeError(.sprintf(.'
6ada0 20 20 20 20 3c 69 6e 66 6f 3e 27 2e 24 72 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 2e 27 20 6d 6f ....<info>'.$remaingChanges.'.mo
6adc0 72 65 20 66 69 6c 65 25 73 20 6d 6f 64 69 66 69 65 64 2c 20 63 68 6f 6f 73 65 20 22 76 22 20 74 re.file%s.modified,.choose."v".t
6ade0 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 72 o.view.the.full.list</info>',.$r
6ae00 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 3f 20 27 27 20 3a 20 27 73 27 0a 29 emaingChanges.===.1.?.''.:.'s'.)
6ae20 0a 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 77 69 74 63 68 20 28 24 74 .);.}..while.(true).{.switch.($t
6ae40 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e 66 6f 3e 44 69 73 63 61 72 64 20 his->io->ask('....<info>Discard.
6ae60 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 3f 27 changes.[y,n,v,?]?</info>.',.'?'
6ae80 29 29 20 7b 0a 63 61 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 68 61 )).{.case.'y':.$this->discardCha
6aea0 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 6e 27 3a nges($path);.break.2;..case.'n':
6aec0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 70 .throw.new.\RuntimeException('Up
6aee0 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 3a 0a 24 74 68 69 73 date.aborted');..case.'v':.$this
6af00 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 61 6e 67 65 73 29 3b 0a 62 72 65 61 ->io->writeError($changes);.brea
6af20 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 69 6f k;..case.'?':.default:.$this->io
6af40 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d 20 64 69 73 ->writeError(array(.'....y.-.dis
6af60 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 2e 28 24 75 card.changes.and.apply.the.'.($u
6af80 70 64 61 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2c pdate.?.'update'.:.'uninstall'),
6afa0 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 20 3f .'....n.-.abort.the.'.($update.?
6afc0 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 6e 64 20 6c .'update'.:.'uninstall').'.and.l
6afe0 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 20 75 70 27 et.you.manually.clean.things.up'
6b000 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 27 2c ,.'....v.-.view.modified.files',
6b020 0a 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 6c 70 27 2c 0a 29 29 3b 0a 62 72 65 61 6b .'....?.-.print.help',.));.break
6b040 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 ;.}.}.}.....protected.function.g
6b060 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f etCommitLogs($fromReference,.$to
6b080 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 Reference,.$path).{.if.(preg_mat
6b0a0 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 ch('{.*@(\d+)$}',.$fromReference
6b0c0 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 24 ).&&.preg_match('{.*@(\d+)$}',.$
6b0e0 74 6f 52 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 toReference)).{...$command.=.spr
6b100 69 6e 74 66 28 27 73 76 6e 20 69 6e 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 intf('svn.info.--non-interactive
6b120 20 2d 2d 78 6d 6c 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 .--xml.%s',.ProcessExecutor::esc
6b140 61 70 65 28 24 70 61 74 68 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 ape($path));.if.(0.!==.$this->pr
6b160 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 ocess->execute($command,.$output
6b180 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ,.$path)).{.throw.new.\RuntimeEx
6b1a0 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 ception(.'Failed.to.execute.'...
6b1c0 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 $command..."\n\n"...$this->proce
6b1e0 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b 0a 7d 0a 0a 24 75 72 6c 50 ss->getErrorOutput().);.}..$urlP
6b200 61 74 74 65 72 6e 20 3d 20 27 23 3c 75 72 6c 3e 28 2e 2a 29 3c 2f 75 72 6c 3e 23 27 3b 0a 69 66 attern.=.'#<url>(.*)</url>#';.if
6b220 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 75 72 6c 50 61 74 74 65 72 6e 2c 20 24 6f 75 74 70 75 .(preg_match($urlPattern,.$outpu
6b240 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 24 6d 61 74 63 t,.$matches)).{.$baseUrl.=.$matc
6b260 68 65 73 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 hes[1];.}.else.{.throw.new.\Runt
6b280 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 55 6e 61 62 6c 65 20 74 6f 20 64 65 74 65 72 6d 69 imeException(.'Unable.to.determi
6b2a0 6e 65 20 73 76 6e 20 75 72 6c 20 66 6f 72 20 70 61 74 68 20 27 2e 20 24 70 61 74 68 0a 29 3b 0a ne.svn.url.for.path.'..$path.);.
6b2c0 7d 0a 0a 0a 20 24 66 72 6f 6d 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 }....$fromRevision.=.preg_replac
6b2e0 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 66 72 6f 6d 52 65 66 65 e('{.*@(\d+)$}',.'$1',.$fromRefe
6b300 72 65 6e 63 65 29 3b 0a 24 74 6f 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 rence);.$toRevision.=.preg_repla
6b320 63 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 74 6f 52 65 66 65 72 ce('{.*@(\d+)$}',.'$1',.$toRefer
6b340 65 6e 63 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 73 76 6e 20 ence);..$command.=.sprintf('svn.
6b360 6c 6f 67 20 2d 72 25 73 3a 25 73 20 2d 2d 69 6e 63 72 65 6d 65 6e 74 61 6c 27 2c 20 50 72 6f 63 log.-r%s:%s.--incremental',.Proc
6b380 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 76 69 73 69 6f essExecutor::escape($fromRevisio
6b3a0 6e 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 n),.ProcessExecutor::escape($toR
6b3c0 65 76 69 73 69 6f 6e 29 29 3b 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 evision));..$util.=.new.SvnUtil(
6b3e0 24 62 61 73 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 $baseUrl,.$this->io,.$this->conf
6b400 69 67 29 3b 0a 24 75 74 69 6c 2d 3e 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 ig);.$util->setCacheCredentials(
6b420 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 79 20 7b 0a $this->cacheCredentials);.try.{.
6b440 72 65 74 75 72 6e 20 24 75 74 69 6c 2d 3e 65 78 65 63 75 74 65 4c 6f 63 61 6c 28 24 63 6f 6d 6d return.$util->executeLocal($comm
6b460 61 6e 64 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 and,.$path,.null,.$this->io->isV
6b480 65 72 62 6f 73 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 erbose());.}.catch.(\RuntimeExce
6b4a0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ption.$e).{.throw.new.\RuntimeEx
6b4c0 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 ception(.'Failed.to.execute.'...
6b4e0 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 $command..."\n\n".$e->getMessage
6b500 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 74 ().);.}.}..return."Could.not.ret
6b520 72 69 65 76 65 20 63 68 61 6e 67 65 73 20 62 65 74 77 65 65 6e 20 24 66 72 6f 6d 52 65 66 65 72 rieve.changes.between.$fromRefer
6b540 65 6e 63 65 20 61 6e 64 20 24 74 6f 52 65 66 65 72 65 6e 63 65 20 64 75 65 20 74 6f 20 6d 69 73 ence.and.$toReference.due.to.mis
6b560 73 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 22 3b 0a 7d 0a 0a 70 sing.revision.information";.}..p
6b580 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 rotected.function.discardChanges
6b5a0 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 ($path).{.if.(0.!==.$this->proce
6b5c0 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 72 65 76 65 72 74 20 2d 52 20 2e 27 2c 20 24 ss->execute('svn.revert.-R..',.$
6b5e0 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e output,.$path)).{.throw.new.\Run
6b600 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 65 74 20 63 timeException("Could.not.reset.c
6b620 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 hanges\n\n:".$this->process->get
6b640 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ErrorOutput());.}.}.....protecte
6b660 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 d.function.hasMetadataRepository
6b680 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f ($path).{.return.is_dir($path.'/
6b6a0 2e 73 76 6e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d .svn');.}.}.<?php............nam
6b6c0 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a espace.Composer\Downloader;.....
6b6e0 0a 0a 63 6c 61 73 73 20 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 ..class.TarDownloader.extends.Ar
6b700 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 chiveDownloader.{....protected.f
6b720 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a unction.extract($file,.$path).{.
6b740 0a 20 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 66 69 6c 65 ..$archive.=.new.\PharData($file
6b760 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 2c 20 6e 75 );.$archive->extractTo($path,.nu
6b780 6c 6c 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ll,.true);.}.}.<?php............
6b7a0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a namespace.Composer\Downloader;..
6b7c0 0a 0a 0a 63 6c 61 73 73 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 ...class.TransportException.exte
6b7e0 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 nds.\RuntimeException.{.protecte
6b800 64 20 24 68 65 61 64 65 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 73 70 6f 6e 73 65 3b d.$headers;.protected.$response;
6b820 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 .protected.$statusCode;..public.
6b840 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 0a 7b 0a function.setHeaders($headers).{.
6b860 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 $this->headers.=.$headers;.}..pu
6b880 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 blic.function.getHeaders().{.ret
6b8a0 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$this->headers;.}..public.fu
6b8c0 6e 63 74 69 6f 6e 20 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 70 6f 6e 73 65 29 0a 7b 0a nction.setResponse($response).{.
6b8e0 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 0a $this->response.=.$response;.}..
6b900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 73 70 6f 6e 73 65 28 29 0a 7b 0a public.function.getResponse().{.
6b920 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 return.$this->response;.}..publi
6b940 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 73 c.function.setStatusCode($status
6b960 43 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 73 74 61 Code).{.$this->statusCode.=.$sta
6b980 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 tusCode;.}..public.function.getS
6b9a0 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 tatusCode().{.return.$this->stat
6b9c0 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d usCode;.}.}.<?php............nam
6b9e0 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 espace.Composer\Downloader;..use
6ba00 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 .Composer\Package\PackageInterfa
6ba20 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 43 61 70 61 62 6c 65 44 6f ce;.......interface.VcsCapableDo
6ba40 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 wnloaderInterface.{........publi
6ba60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 61 63 6b 61 c.function.getVcsReference(Packa
6ba80 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a geInterface.$package,.$path);.}.
6baa0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
6bac0 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f ser\Downloader;..use.Composer\Co
6bae0 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 nfig;.use.Composer\Package\Dumpe
6bb00 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b r\ArrayDumper;.use.Composer\Pack
6bb20 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 age\PackageInterface;.use.Compos
6bb40 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 er\Package\Version\VersionGuesse
6bb60 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c r;.use.Composer\Package\Version\
6bb80 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c VersionParser;.use.Composer\Util
6bba0 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 \ProcessExecutor;.use.Composer\I
6bbc0 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c O\IOInterface;.use.Composer\Util
6bbe0 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 \Filesystem;.....abstract.class.
6bc00 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c 6f 61 VcsDownloader.implements.Downloa
6bc20 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 derInterface,.ChangeReportInterf
6bc40 61 63 65 2c 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 ace,.VcsCapableDownloaderInterfa
6bc60 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 ce.{..protected.$io;..protected.
6bc80 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 $config;..protected.$process;..p
6bca0 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 66 75 rotected.$filesystem;..public.fu
6bcc0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 nction.__construct(IOInterface.$
6bce0 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 io,.Config.$config,.ProcessExecu
6bd00 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 tor.$process.=.null,.Filesystem.
6bd20 24 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 $fs.=.null).{.$this->io.=.$io;.$
6bd40 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 this->config.=.$config;.$this->p
6bd60 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 rocess.=.$process.?:.new.Process
6bd80 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d Executor($io);.$this->filesystem
6bda0 20 3d 20 24 66 73 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e .=.$fs.?:.new.Filesystem($this->
6bdc0 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 process);.}.....public.function.
6bde0 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e getInstallationSource().{.return
6be00 20 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .'source';.}.....public.function
6be20 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b .download(PackageInterface.$pack
6be40 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 age,.$path).{.if.(!$package->get
6be60 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c SourceReference()).{.throw.new.\
6be80 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 InvalidArgumentException('Packag
6bea0 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 e.'.$package->getPrettyName().'.
6bec0 69 73 20 6d 69 73 73 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e is.missing.reference.information
6bee0 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 ');.}..$this->io->writeError("..
6bf00 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d -.Installing.<info>"...$package-
6bf20 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e >getName()..."</info>.(<comment>
6bf40 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 "...$package->getFullPrettyVersi
6bf60 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a on()..."</comment>):.",.false);.
6bf80 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 63 74 6f 72 $this->filesystem->emptyDirector
6bfa0 79 28 24 70 61 74 68 29 3b 0a 0a 24 75 72 6c 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 y($path);..$urls.=.$package->get
6bfc0 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 SourceUrls();.while.($url.=.arra
6bfe0 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 46 69 6c 65 y_shift($urls)).{.try.{.if.(File
6c000 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 0a 20 0a system::isLocalPath($url)).{....
6c020 20 24 6e 65 65 64 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 3b 0a 24 69 73 46 69 6c 65 50 72 6f .$needle.=.'file://';.$isFilePro
6c040 74 6f 63 6f 6c 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 tocol.=.false;.if.(0.===.strpos(
6c060 24 75 72 6c 2c 20 24 6e 65 65 64 6c 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 73 75 62 73 74 72 28 $url,.$needle)).{.$url.=.substr(
6c080 24 75 72 6c 2c 20 73 74 72 6c 65 6e 28 24 6e 65 65 64 6c 65 29 29 3b 0a 24 69 73 46 69 6c 65 50 $url,.strlen($needle));.$isFileP
6c0a0 72 6f 74 6f 63 6f 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 rotocol.=.true;.}....if.(false.!
6c0c0 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 25 27 29 29 20 7b 0a 24 75 72 6c 20 3d 20 72 ==.strpos($url,.'%')).{.$url.=.r
6c0e0 61 77 75 72 6c 64 65 63 6f 64 65 28 24 75 72 6c 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 72 65 61 awurldecode($url);.}..$url.=.rea
6c100 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 24 69 73 46 69 6c 65 50 72 6f 74 6f 63 6f lpath($url);..if.($isFileProtoco
6c120 6c 29 20 7b 0a 24 75 72 6c 20 3d 20 24 6e 65 65 64 6c 65 20 2e 20 24 75 72 6c 3b 0a 7d 0a 7d 0a l).{.$url.=.$needle...$url;.}.}.
6c140 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 $this->doDownload($package,.$pat
6c160 68 2c 20 24 75 72 6c 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 h,.$url);.break;.}.catch.(\Excep
6c180 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c tion.$e).{...if.($e.instanceof.\
6c1a0 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 PHPUnit_Framework_Exception).{.t
6c1c0 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 hrow.$e;.}.if.($this->io->isDebu
6c1e0 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 g()).{.$this->io->writeError('Fa
6c200 69 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e iled:.['.get_class($e).'].'.$e->
6c220 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6f 75 6e 74 28 24 getMessage());.}.elseif.(count($
6c240 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 urls)).{.$this->io->writeError('
6c260 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 55 52 4c 27 ....Failed,.trying.the.next.URL'
6c280 29 3b 0a 7d 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 68 72 6f 77 20 );.}.if.(!count($urls)).{.throw.
6c2a0 24 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $e;.}.}.}.}.....public.function.
6c2c0 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c update(PackageInterface.$initial
6c2e0 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 ,.PackageInterface.$target,.$pat
6c300 68 29 0a 7b 0a 69 66 20 28 21 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 h).{.if.(!$target->getSourceRefe
6c320 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 rence()).{.throw.new.\InvalidArg
6c340 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 74 61 72 67 65 umentException('Package.'.$targe
6c360 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 69 73 20 6d 69 73 73 69 6e 67 20 t->getPrettyName().'.is.missing.
6c380 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 6e 61 6d reference.information');.}..$nam
6c3a0 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 24 69 6e 69 e.=.$target->getName();.if.($ini
6c3c0 74 69 61 6c 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 20 24 74 61 72 tial->getPrettyVersion().==.$tar
6c3e0 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 get->getPrettyVersion()).{.if.($
6c400 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 20 3d 3d 3d 20 27 73 76 6e target->getSourceType().===.'svn
6c420 27 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 ').{.$from.=.$initial->getSource
6c440 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 Reference();.$to.=.$target->getS
6c460 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d ourceReference();.}.else.{.$from
6c480 20 3d 20 73 75 62 73 74 72 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 .=.substr($initial->getSourceRef
6c4a0 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 37 29 3b 0a 24 74 6f 20 3d 20 73 75 62 73 74 72 28 24 74 erence(),.0,.7);.$to.=.substr($t
6c4c0 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 arget->getSourceReference(),.0,.
6c4e0 37 29 3b 0a 7d 0a 24 6e 61 6d 65 20 2e 3d 20 27 20 27 2e 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 7);.}.$name..=.'.'.$initial->get
6c500 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d 20 PrettyVersion();.}.else.{.$from.
6c520 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e =.$initial->getFullPrettyVersion
6c540 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 ();.$to.=.$target->getFullPretty
6c560 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 61 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 56 65 72 73 Version();.}..$actionName.=.Vers
6c580 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e 69 74 69 61 6c 2d 3e 67 ionParser::isUpgrade($initial->g
6c5a0 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e etVersion(),.$target->getVersion
6c5c0 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e 67 72 61 64 69 6e 67 27 ()).?.'Updating'.:.'Downgrading'
6c5e0 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 22 20 2e ;.$this->io->writeError("..-."..
6c600 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 6e 61 6d 65 .$actionName...".<info>"...$name
6c620 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 66 72 6f 6d 20 ..."</info>.(<comment>"...$from.
6c640 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 74 .."</comment>.=>.<comment>"...$t
6c660 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 74 o..."</comment>):.",.false);..$t
6c680 68 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 69 6e 69 74 69 61 6c 2c 20 24 70 61 74 his->cleanChanges($initial,.$pat
6c6a0 68 2c 20 74 72 75 65 29 3b 0a 24 75 72 6c 73 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f h,.true);.$urls.=.$target->getSo
6c6c0 75 72 63 65 55 72 6c 73 28 29 3b 0a 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a urceUrls();..$exception.=.null;.
6c6e0 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 while.($url.=.array_shift($urls)
6c700 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 ).{.try.{.if.(Filesystem::isLoca
6c720 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 28 24 lPath($url)).{.$url.=.realpath($
6c740 75 72 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c url);.}.$this->doUpdate($initial
6c760 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 24 65 78 63 65 70 ,.$target,.$path,.$url);..$excep
6c780 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 tion.=.null;.break;.}.catch.(\Ex
6c7a0 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 69 66 20 28 24 65 78 63 ception.$exception).{...if.($exc
6c7c0 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 eption.instanceof.\PHPUnit_Frame
6c7e0 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 work_Exception).{.throw.$excepti
6c800 6f 6e 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 on;.}.if.($this->io->isDebug()).
6c820 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 64 3a {.$this->io->writeError('Failed:
6c840 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 78 63 65 70 74 69 6f 6e 29 2e 27 5d 20 27 2e 24 .['.get_class($exception).'].'.$
6c860 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 exception->getMessage());.}.else
6c880 69 66 20 28 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 if.(count($urls)).{.$this->io->w
6c8a0 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 riteError('....Failed,.trying.th
6c8c0 65 20 6e 65 78 74 20 55 52 4c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 61 70 e.next.URL');.}.}.}..$this->reap
6c8e0 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 24 65 78 plyChanges($path);......if.(!$ex
6c900 63 65 70 74 69 6f 6e 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 ception.&&.$this->io->isVerbose(
6c920 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 ).&&.$this->hasMetadataRepositor
6c940 79 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 75 6c 6c 69 6e 67 20 y($path)).{.$message.=.'Pulling.
6c960 69 6e 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 in.changes:';.$logs.=.$this->get
6c980 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 CommitLogs($initial->getSourceRe
6c9a0 66 65 72 65 6e 63 65 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 ference(),.$target->getSourceRef
6c9c0 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 6c 6f erence(),.$path);..if.(!trim($lo
6c9e0 67 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 52 6f 6c 6c 69 6e 67 20 62 61 63 6b 20 gs)).{.$message.=.'Rolling.back.
6ca00 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d changes:';.$logs.=.$this->getCom
6ca20 6d 69 74 4c 6f 67 73 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 mitLogs($target->getSourceRefere
6ca40 6e 63 65 28 29 2c 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 nce(),.$initial->getSourceRefere
6ca60 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 69 6d 28 24 6c 6f 67 73 nce(),.$path);.}..if.(trim($logs
6ca80 29 29 20 7b 0a 24 6c 6f 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 )).{.$logs.=.implode("\n",.array
6caa0 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 _map(function.($line).{.return.'
6cac0 20 20 20 20 20 20 27 20 2e 20 24 6c 69 6e 65 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 ......'...$line;.},.explode("\n"
6cae0 2c 20 24 6c 6f 67 73 29 29 29 3b 0a 0a 0a 20 24 6c 6f 67 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 ,.$logs)));....$logs.=.str_repla
6cb00 63 65 28 27 3c 27 2c 20 27 5c 3c 27 2c 20 24 6c 6f 67 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f ce('<',.'\<',.$logs);..$this->io
6cb20 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 6d 65 73 73 61 67 65 29 3b 0a 24 ->writeError('....'.$message);.$
6cb40 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6c 6f 67 73 29 3b 0a 7d 0a 7d this->io->writeError($logs);.}.}
6cb60 0a 0a 69 66 20 28 21 24 75 72 6c 73 20 26 26 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 ..if.(!$urls.&&.$exception).{.th
6cb80 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 row.$exception;.}.}.....public.f
6cba0 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 unction.remove(PackageInterface.
6cbc0 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 $package,.$path).{.$this->io->wr
6cbe0 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e iteError("..-.Removing.<info>"..
6cc00 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 .$package->getName()..."</info>.
6cc20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 (<comment>"...$package->getPrett
6cc40 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 24 74 68 yVersion()..."</comment>)");.$th
6cc60 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 is->cleanChanges($package,.$path
6cc80 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d ,.false);.if.(!$this->filesystem
6cca0 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f ->removeDirectory($path)).{.thro
6ccc0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e w.new.\RuntimeException('Could.n
6cce0 6f 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 2c 20 ot.completely.delete.'.$path.',.
6cd00 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e aborting.');.}.}......public.fun
6cd20 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 ction.setOutputProgress($outputP
6cd40 72 6f 67 72 65 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 rogress).{.return.$this;.}.....p
6cd60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 ublic.function.getVcsReference(P
6cd80 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 ackageInterface.$package,.$path)
6cda0 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a .{.$parser.=.new.VersionParser;.
6cdc0 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 74 $guesser.=.new.VersionGuesser($t
6cde0 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 70 61 his->config,.$this->process,.$pa
6ce00 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 rser);.$dumper.=.new.ArrayDumper
6ce20 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 75 6d ;..$packageConfig.=.$dumper->dum
6ce40 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e p($package);.if.($packageVersion
6ce60 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 .=.$guesser->guessVersion($packa
6ce80 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b geConfig,.$path)).{.return.$pack
6cea0 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ageVersion['commit'];.}.}.......
6cec0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 6e ....protected.function.cleanChan
6cee0 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 ges(PackageInterface.$package,.$
6cf00 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 path,.$update).{...if.(null.!==.
6cf20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c $this->getLocalChanges($package,
6cf40 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 .$path)).{.throw.new.\RuntimeExc
6cf60 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 70 61 eption('Source.directory.'...$pa
6cf80 74 68 20 2e 20 27 20 68 61 73 20 75 6e 63 6f 6d 6d 69 74 74 65 64 20 63 68 61 6e 67 65 73 2e 27 th...'.has.uncommitted.changes.'
6cfa0 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e );.}.}........protected.function
6cfc0 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a .reapplyChanges($path).{.}......
6cfe0 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 ...abstract.protected.function.d
6d000 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b oDownload(PackageInterface.$pack
6d020 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 age,.$path,.$url);..........abst
6d040 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 ract.protected.function.doUpdate
6d060 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b (PackageInterface.$initial,.Pack
6d080 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 ageInterface.$target,.$path,.$ur
6d0a0 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 l);..........abstract.protected.
6d0c0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 function.getCommitLogs($fromRefe
6d0e0 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a rence,.$toReference,.$path);....
6d100 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .....abstract.protected.function
6d120 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 7d .hasMetadataRepository($path);.}
6d140 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
6d160 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 oser\Downloader;..use.Composer\C
6d180 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 onfig;.use.Composer\Cache;.use.C
6d1a0 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 omposer\EventDispatcher\EventDis
6d1c0 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 patcher;.use.Composer\Package\Pa
6d1e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 ckageInterface;.use.Composer\Uti
6d200 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
6d220 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f Util\RemoteFilesystem;.use.Compo
6d240 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 ser\IO\IOInterface;........class
6d260 20 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 .XzDownloader.extends.ArchiveDow
6d280 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 nloader.{.protected.$process;..p
6d2a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 ublic.function.__construct(IOInt
6d2c0 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e erface.$io,.Config.$config,.Even
6d2e0 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e tDispatcher.$eventDispatcher.=.n
6d300 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 ull,.Cache.$cache.=.null,.Proces
6d320 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 sExecutor.$process.=.null,.Remot
6d340 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 eFilesystem.$rfs.=.null).{.$this
6d360 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 ->process.=.$process.?:.new.Proc
6d380 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e essExecutor($io);..parent::__con
6d3a0 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 struct($io,.$config,.$eventDispa
6d3c0 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 tcher,.$cache,.$rfs);.}..protect
6d3e0 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 ed.function.extract($file,.$path
6d400 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 74 61 72 20 2d 78 4a 66 20 27 20 2e 20 50 72 6f ).{.$command.=.'tar.-xJf.'...Pro
6d420 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 27 20 cessExecutor::escape($file)...'.
6d440 2d 43 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 -C.'...ProcessExecutor::escape($
6d460 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 path);..if.(0.===.$this->process
6d480 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 ->execute($command,.$ignoredOutp
6d4a0 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 ut)).{.return;.}..$processError.
6d4c0 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e =.'Failed.to.execute.'...$comman
6d4e0 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 d..."\n\n"...$this->process->get
6d500 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 ErrorOutput();..throw.new.\Runti
6d520 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a 7d 0a 0a 0a meException($processError);.}...
6d540 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 ..protected.function.getFileName
6d560 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
6d580 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 70 h).{.return.$path.'/'.pathinfo(p
6d5a0 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c arse_url($package->getDistUrl(),
6d5c0 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d .PHP_URL_PATH),.PATHINFO_BASENAM
6d5e0 45 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 E);.}.}.<?php............namespa
6d600 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d ce.Composer\Downloader;..use.Com
6d620 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 poser\Config;.use.Composer\Cache
6d640 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 ;.use.Composer\EventDispatcher\E
6d660 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ventDispatcher;.use.Composer\Pac
6d680 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f kage\PackageInterface;.use.Compo
6d6a0 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ser\Util\IniHelper;.use.Composer
6d6c0 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 \Util\Platform;.use.Composer\Uti
6d6e0 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
6d700 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f Util\RemoteFilesystem;.use.Compo
6d720 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ser\IO\IOInterface;.use.Symfony\
6d740 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 Component\Process\ExecutableFind
6d760 65 72 3b 0a 75 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 5a 69 er;.use.ZipArchive;.....class.Zi
6d780 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c pDownloader.extends.ArchiveDownl
6d7a0 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 68 61 73 53 79 73 oader.{.protected.static.$hasSys
6d7c0 74 65 6d 55 6e 7a 69 70 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 68 61 73 5a 69 70 temUnzip;.private.static.$hasZip
6d7e0 41 72 63 68 69 76 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 73 57 69 6e 64 6f Archive;.private.static.$isWindo
6d800 77 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 ws;..protected.$process;.private
6d820 20 24 7a 69 70 41 72 63 68 69 76 65 4f 62 6a 65 63 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$zipArchiveObject;..public.func
6d840 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f tion.__construct(IOInterface.$io
6d860 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 ,.Config.$config,.EventDispatche
6d880 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 r.$eventDispatcher.=.null,.Cache
6d8a0 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 .$cache.=.null,.ProcessExecutor.
6d8c0 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 $process.=.null,.RemoteFilesyste
6d8e0 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 m.$rfs.=.null).{.$this->process.
6d900 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f =.$process.?:.new.ProcessExecuto
6d920 72 28 24 69 6f 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c r($io);.parent::__construct($io,
6d940 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 .$config,.$eventDispatcher,.$cac
6d960 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e he,.$rfs);.}.....public.function
6d980 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b .download(PackageInterface.$pack
6d9a0 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 age,.$path,.$output.=.true).{.if
6d9c0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 .(null.===.self::$hasSystemUnzip
6d9e0 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 ).{.$finder.=.new.ExecutableFind
6da00 65 72 3b 0a 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 3d 20 28 62 6f 6f er;.self::$hasSystemUnzip.=.(boo
6da20 6c 29 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 75 6e 7a 69 70 27 29 3b 0a 7d 0a 0a 69 66 l).$finder->find('unzip');.}..if
6da40 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 29 .(null.===.self::$hasZipArchive)
6da60 20 7b 0a 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 3d 20 63 6c 61 73 73 5f .{.self::$hasZipArchive.=.class_
6da80 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 73 65 exists('ZipArchive');.}..if.(!se
6daa0 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 73 65 6c 66 3a 3a 24 68 61 lf::$hasZipArchive.&&.!self::$ha
6dac0 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 73 61 67 65 20 3d 20 sSystemUnzip).{...$iniMessage.=.
6dae0 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 65 72 72 6f 72 20 IniHelper::getMessage();.$error.
6db00 3d 20 22 54 68 65 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 75 6e 7a 69 70 20 63 =."The.zip.extension.and.unzip.c
6db20 6f 6d 6d 61 6e 64 20 61 72 65 20 62 6f 74 68 20 6d 69 73 73 69 6e 67 2c 20 73 6b 69 70 70 69 6e ommand.are.both.missing,.skippin
6db40 67 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 g.\n"...$iniMessage;..throw.new.
6db60 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 69 66 \RuntimeException($error);.}..if
6db80 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 73 .(null.===.self::$isWindows).{.s
6dba0 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 elf::$isWindows.=.Platform::isWi
6dbc0 6e 64 6f 77 73 28 29 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 20 ndows();..if.(!self::$isWindows.
6dbe0 26 26 20 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 24 74 68 &&.!self::$hasSystemUnzip).{.$th
6dc00 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 41 73 20 is->io->writeError("<warning>As.
6dc20 74 68 65 72 65 20 69 73 20 6e 6f 20 27 75 6e 7a 69 70 27 20 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 there.is.no.'unzip'.command.inst
6dc40 61 6c 6c 65 64 20 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 62 65 69 6e 67 20 75 6e 70 61 63 6b alled.zip.files.are.being.unpack
6dc60 65 64 20 75 73 69 6e 67 20 74 68 65 20 50 48 50 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 2e 3c ed.using.the.PHP.zip.extension.<
6dc80 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 /warning>");.$this->io->writeErr
6dca0 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 54 68 69 73 20 6d 61 79 20 63 61 75 73 65 20 69 6e 76 61 or("<warning>This.may.cause.inva
6dcc0 6c 69 64 20 72 65 70 6f 72 74 73 20 6f 66 20 63 6f 72 72 75 70 74 65 64 20 61 72 63 68 69 76 65 lid.reports.of.corrupted.archive
6dce0 73 2e 20 49 6e 73 74 61 6c 6c 69 6e 67 20 27 75 6e 7a 69 70 27 20 6d 61 79 20 72 65 6d 65 64 69 s..Installing.'unzip'.may.remedi
6dd00 61 74 65 20 74 68 65 6d 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ate.them.</warning>");.}.}..retu
6dd20 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 rn.parent::download($package,.$p
6dd40 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ath,.$output);.}..........protec
6dd60 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e ted.function.extractWithSystemUn
6dd80 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 zip($file,.$path,.$isLastChance)
6dda0 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 29 20 7b 0a .{.if.(!self::$hasZipArchive).{.
6ddc0 0a 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 ..$isLastChance.=.true;.}..if.(!
6dde0 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 26 26 20 21 24 69 73 4c 61 73 self::$hasSystemUnzip.&&.!$isLas
6de00 74 43 68 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 tChance).{.....return.$this->ext
6de20 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c ractWithZipArchive($file,.$path,
6de40 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b .true);.}..$processError.=.null;
6de60 0a 0a 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3f 20 ...$overwrite.=.$isLastChance.?.
6de80 27 2d 6f 27 20 3a 20 27 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 6e 7a 69 70 20 2d 71 '-o'.:.'';..$command.=.'unzip.-q
6dea0 71 20 27 2e 24 6f 76 65 72 77 72 69 74 65 2e 27 20 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 q.'.$overwrite.'.'.ProcessExecut
6dec0 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 2e 27 20 2d 64 20 27 2e 50 72 6f 63 65 73 73 or::escape($file).'.-d.'.Process
6dee0 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 3b 0a 0a 74 72 79 20 7b 0a Executor::escape($path);..try.{.
6df00 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.===.$this->process->execut
6df20 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 72 e($command,.$ignoredOutput)).{.r
6df40 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e eturn.true;.}..$processError.=.n
6df60 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 ew.\RuntimeException('Failed.to.
6df80 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 execute.'...$command..."\n\n"...
6dfa0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 $this->process->getErrorOutput()
6dfc0 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 );.}.catch.(\Exception.$e).{.$pr
6dfe0 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 4c 61 73 74 43 ocessError.=.$e;.}..if.($isLastC
6e000 68 61 6e 63 65 29 20 7b 0a 74 68 72 6f 77 20 24 70 72 6f 63 65 73 73 45 72 72 6f 72 3b 0a 7d 0a hance).{.throw.$processError;.}.
6e020 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 70 .$this->io->writeError('....'.$p
6e040 72 6f 63 65 73 73 45 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 74 68 69 rocessError->getMessage());.$thi
6e060 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 54 68 65 20 61 72 63 68 69 s->io->writeError('....The.archi
6e080 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 69 63 61 6c 20 66 69 6c 65 20 6e 61 ve.may.contain.identical.file.na
6e0a0 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f mes.with.different.capitalizatio
6e0c0 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 n.(which.fails.on.case.insensiti
6e0e0 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 ve.filesystems)');.$this->io->wr
6e100 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 75 6e 7a 69 70 20 63 iteError('....Unzip.with.unzip.c
6e120 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 5a ommand.failed,.falling.back.to.Z
6e140 69 70 41 72 63 68 69 76 65 20 63 6c 61 73 73 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ipArchive.class');..return.$this
6e160 2d 3e 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 ->extractWithZipArchive($file,.$
6e180 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 path,.true);.}..........protecte
6e1a0 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 d.function.extractWithZipArchive
6e1c0 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 0a 7b 0a ($file,.$path,.$isLastChance).{.
6e1e0 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 0a 20 if.(!self::$hasSystemUnzip).{...
6e200 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 73 65 $isLastChance.=.true;.}..if.(!se
6e220 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 24 69 73 4c 61 73 74 43 68 lf::$hasZipArchive.&&.!$isLastCh
6e240 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 ance).{.....return.$this->extrac
6e260 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 74 tWithSystemUnzip($file,.$path,.t
6e280 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 24 rue);.}..$processError.=.null;.$
6e2a0 7a 69 70 41 72 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 7a 69 70 41 72 63 68 69 76 65 4f 62 zipArchive.=.$this->zipArchiveOb
6e2c0 6a 65 63 74 20 3f 3a 20 6e 65 77 20 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 0a 74 72 79 20 7b ject.?:.new.ZipArchive();..try.{
6e2e0 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 28 24 72 65 74 76 61 6c 20 3d 20 24 7a 69 70 41 72 63 .if.(true.===.($retval.=.$zipArc
6e300 68 69 76 65 2d 3e 6f 70 65 6e 28 24 66 69 6c 65 29 29 29 20 7b 0a 24 65 78 74 72 61 63 74 52 65 hive->open($file))).{.$extractRe
6e320 73 75 6c 74 20 3d 20 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 sult.=.$zipArchive->extractTo($p
6e340 61 74 68 29 3b 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 65 78 74 72 61 63 74 52 65 73 75 ath);..if.(true.===.$extractResu
6e360 6c 74 29 20 7b 0a 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 65 28 29 3b 0a 0a 72 65 74 lt).{.$zipArchive->close();..ret
6e380 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 65 77 urn.true;.}..$processError.=.new
6e3a0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 69 6d 28 22 54 68 65 72 65 20 .\RuntimeException(rtrim("There.
6e3c0 77 61 73 20 61 6e 20 65 72 72 6f 72 20 65 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 5a 49 50 20 was.an.error.extracting.the.ZIP.
6e3e0 66 69 6c 65 2c 20 69 74 20 69 73 20 65 69 74 68 65 72 20 63 6f 72 72 75 70 74 65 64 20 6f 72 20 file,.it.is.either.corrupted.or.
6e400 75 73 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 20 66 6f 72 6d 61 74 2e 5c 6e 22 29 29 3b 0a 7d using.an.invalid.format.\n"));.}
6e420 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 65 77 20 5c 55 6e 65 .else.{.$processError.=.new.\Une
6e440 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 69 6d 28 24 74 68 69 xpectedValueException(rtrim($thi
6e460 73 2d 3e 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c 20 24 66 69 6c s->getErrorMessage($retval,.$fil
6e480 65 29 2e 22 5c 6e 22 29 2c 20 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c e)."\n"),.$retval);.}.}.catch.(\
6e4a0 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 ErrorException.$e).{.$processErr
6e4c0 6f 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 or.=.new.\RuntimeException('The.
6e4e0 61 72 63 68 69 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 69 63 61 6c 20 66 69 archive.may.contain.identical.fi
6e500 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 61 70 69 74 61 6c 69 le.names.with.different.capitali
6e520 7a 61 74 69 6f 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 73 65 20 69 6e 73 65 zation.(which.fails.on.case.inse
6e540 6e 73 69 74 69 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d nsitive.filesystems):.'.$e->getM
6e560 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 essage(),.0,.$e);.}.catch.(\Exce
6e580 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 24 65 3b 0a ption.$e).{.$processError.=.$e;.
6e5a0 7d 0a 0a 69 66 20 28 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 74 68 72 6f 77 20 24 70 }..if.($isLastChance).{.throw.$p
6e5c0 72 6f 63 65 73 73 45 72 72 6f 72 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 rocessError;.}..$this->io->write
6e5e0 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 70 72 6f 63 65 73 73 45 72 72 6f 72 2d 3e 67 65 74 4d Error('....'.$processError->getM
6e600 65 73 73 61 67 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 essage());.$this->io->writeError
6e620 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 5a 69 70 41 72 63 68 69 76 65 20 63 6c 61 73 ('....Unzip.with.ZipArchive.clas
6e640 73 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 75 6e 7a 69 70 20 s.failed,.falling.back.to.unzip.
6e660 63 6f 6d 6d 61 6e 64 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 command');..return.$this->extrac
6e680 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 74 tWithSystemUnzip($file,.$path,.t
6e6a0 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 rue);.}........public.function.e
6e6c0 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 73 65 6c xtract($file,.$path).{...if.(sel
6e6e0 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 57 f::$isWindows).{.$this->extractW
6e700 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 ithZipArchive($file,.$path,.fals
6e720 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 57 69 74 68 53 e);.}.else.{.$this->extractWithS
6e740 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b ystemUnzip($file,.$path,.false);
6e760 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .}.}.........protected.function.
6e780 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c 20 24 66 69 6c 65 29 0a getErrorMessage($retval,.$file).
6e7a0 7b 0a 73 77 69 74 63 68 20 28 24 72 65 74 76 61 6c 29 20 7b 0a 63 61 73 65 20 5a 69 70 41 72 63 {.switch.($retval).{.case.ZipArc
6e7c0 68 69 76 65 3a 3a 45 52 5f 45 58 49 53 54 53 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 hive::ER_EXISTS:.return.sprintf(
6e7e0 22 46 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 22 2c 20 24 66 69 "File.'%s'.already.exists.",.$fi
6e800 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 49 4e 43 4f 4e 53 3a le);.case.ZipArchive::ER_INCONS:
6e820 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 61 72 63 68 69 76 65 20 27 25 73 .return.sprintf("Zip.archive.'%s
6e840 27 20 69 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 2e 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 '.is.inconsistent.",.$file);.cas
6e860 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 49 4e 56 41 4c 3a 0a 72 65 74 75 72 6e 20 73 e.ZipArchive::ER_INVAL:.return.s
6e880 70 72 69 6e 74 66 28 22 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 28 25 73 29 22 2c 20 printf("Invalid.argument.(%s)",.
6e8a0 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4d 45 4d 4f $file);.case.ZipArchive::ER_MEMO
6e8c0 52 59 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 4d 61 6c 6c 6f 63 20 66 61 69 6c 75 RY:.return.sprintf("Malloc.failu
6e8e0 72 65 20 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 re.(%s)",.$file);.case.ZipArchiv
6e900 65 3a 3a 45 52 5f 4e 4f 45 4e 54 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 4e 6f 20 e::ER_NOENT:.return.sprintf("No.
6e920 73 75 63 68 20 7a 69 70 20 66 69 6c 65 3a 20 27 25 73 27 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 such.zip.file:.'%s'",.$file);.ca
6e940 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 5a 49 50 3a 0a 72 65 74 75 72 6e 20 se.ZipArchive::ER_NOZIP:.return.
6e960 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 7a 69 70 20 61 72 63 68 69 sprintf("'%s'.is.not.a.zip.archi
6e980 76 65 2e 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 ve.",.$file);.case.ZipArchive::E
6e9a0 52 5f 4f 50 45 4e 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 43 61 6e 27 74 20 6f 70 R_OPEN:.return.sprintf("Can't.op
6e9c0 65 6e 20 7a 69 70 20 66 69 6c 65 3a 20 25 73 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a en.zip.file:.%s",.$file);.case.Z
6e9e0 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 52 45 41 44 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e ipArchive::ER_READ:.return.sprin
6ea00 74 66 28 22 5a 69 70 20 72 65 61 64 20 65 72 72 6f 72 20 28 25 73 29 22 2c 20 24 66 69 6c 65 29 tf("Zip.read.error.(%s)",.$file)
6ea20 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 53 45 45 4b 3a 0a 72 65 74 75 ;.case.ZipArchive::ER_SEEK:.retu
6ea40 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 73 65 65 6b 20 65 72 72 6f 72 20 28 25 73 29 22 rn.sprintf("Zip.seek.error.(%s)"
6ea60 2c 20 24 66 69 6c 65 29 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 ,.$file);.default:.return.sprint
6ea80 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 7a 69 70 20 61 72 63 68 69 f("'%s'.is.not.a.valid.zip.archi
6eaa0 76 65 2c 20 67 6f 74 20 65 72 72 6f 72 20 63 6f 64 65 3a 20 25 73 22 2c 20 24 66 69 6c 65 2c 20 ve,.got.error.code:.%s",.$file,.
6eac0 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $retval);.}.}.}.<?php...........
6eae0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 .namespace.Composer\EventDispatc
6eb00 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 her;.......class.Event.{....prot
6eb20 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 73 ected.$name;.....protected.$args
6eb40 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6c 61 67 73 3b 0a 0a 0a 0a 0a 70 72 69 76 ;.....protected.$flags;.....priv
6eb60 61 74 65 20 24 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 20 3d 20 66 61 6c 73 65 3b ate.$propagationStopped.=.false;
6eb80 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 .........public.function.__const
6eba0 72 75 63 74 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 ruct($name,.array.$args.=.array(
6ebc0 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 ),.array.$flags.=.array()).{.$th
6ebe0 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 61 72 67 73 20 3d 20 is->name.=.$name;.$this->args.=.
6ec00 24 61 72 67 73 3b 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 7d 0a $args;.$this->flags.=.$flags;.}.
6ec20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a ......public.function.getName().
6ec40 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 {.return.$this->name;.}.......pu
6ec60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 72 blic.function.getArguments().{.r
6ec80 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 eturn.$this->args;.}.......publi
6eca0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 c.function.getFlags().{.return.$
6ecc0 74 68 69 73 2d 3e 66 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->flags;.}.......public.func
6ece0 74 69 6f 6e 20 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 28 29 0a 7b 0a 72 65 tion.isPropagationStopped().{.re
6ed00 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 3b 0a turn.$this->propagationStopped;.
6ed20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 50 72 6f 70 61 67 }.....public.function.stopPropag
6ed40 61 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 ation().{.$this->propagationStop
6ed60 70 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ped.=.true;.}.}.<?php...........
6ed80 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 .namespace.Composer\EventDispatc
6eda0 68 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 her;..use.Composer\DependencyRes
6edc0 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f olver\PolicyInterface;.use.Compo
6ede0 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 ser\DependencyResolver\Pool;.use
6ee00 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 .Composer\DependencyResolver\Req
6ee20 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 uest;.use.Composer\Installer\Ins
6ee40 74 61 6c 6c 65 72 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 tallerEvent;.use.Composer\IO\IOI
6ee60 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b nterface;.use.Composer\Composer;
6ee80 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 .use.Composer\DependencyResolver
6eea0 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 \Operation\OperationInterface;.u
6eec0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 se.Composer\Repository\Composite
6eee0 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b Repository;.use.Composer\Script;
6ef00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 .use.Composer\Installer\PackageE
6ef20 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 42 69 6e vent;.use.Composer\Installer\Bin
6ef40 61 72 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c aryInstaller;.use.Composer\Util\
6ef60 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 ProcessExecutor;.use.Composer\Sc
6ef80 72 69 70 74 5c 45 76 65 6e 74 20 61 73 20 53 63 72 69 70 74 45 76 65 6e 74 3b 0a 75 73 65 20 53 ript\Event.as.ScriptEvent;.use.S
6efa0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 45 78 65 63 ymfony\Component\Process\PhpExec
6efc0 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 utableFinder;...............clas
6efe0 73 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 s.EventDispatcher.{.protected.$c
6f000 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 omposer;.protected.$io;.protecte
6f020 64 20 24 6c 6f 61 64 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 d.$loader;.protected.$process;.p
6f040 72 6f 74 65 63 74 65 64 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 65 76 rotected.$listeners;.private.$ev
6f060 65 6e 74 53 74 61 63 6b 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f entStack;.........public.functio
6f080 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 n.__construct(Composer.$composer
6f0a0 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 ,.IOInterface.$io,.ProcessExecut
6f0c0 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d or.$process.=.null).{.$this->com
6f0e0 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 poser.=.$composer;.$this->io.=.$
6f100 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a io;.$this->process.=.$process.?:
6f120 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 .new.ProcessExecutor($io);.$this
6f140 2d 3e 65 76 65 6e 74 53 74 61 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->eventStack.=.array();.}.......
6f160 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 28 24 65 76 65 ...public.function.dispatch($eve
6f180 6e 74 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 ntName,.Event.$event.=.null).{.i
6f1a0 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 76 65 6e 74 29 20 7b 0a 24 65 76 65 6e 74 20 3d 20 6e f.(null.===.$event).{.$event.=.n
6f1c0 65 77 20 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ew.Event($eventName);.}..return.
6f1e0 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 24 65 76 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a $this->doDispatch($event);.}....
6f200 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 ........public.function.dispatch
6f220 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 Script($eventName,.$devMode.=.fa
6f240 6c 73 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 lse,.$additionalArgs.=.array(),.
6f260 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 $flags.=.array()).{.return.$this
6f280 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 53 63 72 69 70 74 5c 45 76 65 6e 74 28 24 65 ->doDispatch(new.Script\Event($e
6f2a0 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 ventName,.$this->composer,.$this
6f2c0 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 41 72 67 73 2c ->io,.$devMode,.$additionalArgs,
6f2e0 20 24 66 6c 61 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .$flags));.}.................pub
6f300 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 50 61 63 6b 61 67 65 45 76 65 6e lic.function.dispatchPackageEven
6f320 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c 69 63 79 49 6e t($eventName,.$devMode,.PolicyIn
6f340 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 43 6f 6d terface.$policy,.Pool.$pool,.Com
6f360 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c positeRepository.$installedRepo,
6f380 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 .Request.$request,.array.$operat
6f3a0 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 65 72 61 74 ions,.OperationInterface.$operat
6f3c0 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 ion).{.return.$this->doDispatch(
6f3e0 6e 65 77 20 50 61 63 6b 61 67 65 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 new.PackageEvent($eventName,.$th
6f400 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 is->composer,.$this->io,.$devMod
6f420 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 e,.$policy,.$pool,.$installedRep
6f440 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6f 70 65 72 61 o,.$request,.$operations,.$opera
6f460 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tion));.}................public.
6f480 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 function.dispatchInstallerEvent(
6f4a0 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c 69 63 79 49 6e 74 65 $eventName,.$devMode,.PolicyInte
6f4c0 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 43 6f 6d 70 6f rface.$policy,.Pool.$pool,.Compo
6f4e0 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 siteRepository.$installedRepo,.R
6f500 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f equest.$request,.array.$operatio
6f520 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f ns.=.array()).{.return.$this->do
6f540 44 69 73 70 61 74 63 68 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 24 65 76 65 Dispatch(new.InstallerEvent($eve
6f560 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e ntName,.$this->composer,.$this->
6f580 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 io,.$devMode,.$policy,.$pool,.$i
6f5a0 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 nstalledRepo,.$request,.$operati
6f5c0 6f 6e 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ons));.}..........protected.func
6f5e0 74 69 6f 6e 20 64 6f 44 69 73 70 61 74 63 68 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a tion.doDispatch(Event.$event).{.
6f600 24 70 61 74 68 53 74 72 20 3d 20 27 50 41 54 48 27 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 5f $pathStr.=.'PATH';.if.(!isset($_
6f620 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 69 73 73 65 74 28 24 5f 53 45 52 SERVER[$pathStr]).&&.isset($_SER
6f640 56 45 52 5b 27 50 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 74 68 53 74 72 20 3d 20 27 50 61 74 68 VER['Path'])).{.$pathStr.=.'Path
6f660 27 3b 0a 7d 0a 0a 0a 20 24 62 69 6e 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 ';.}....$binDir.=.$this->compose
6f680 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 3b 0a r->getConfig()->get('bin-dir');.
6f6a0 69 66 20 28 69 73 5f 64 69 72 28 24 62 69 6e 44 69 72 29 29 20 7b 0a 24 62 69 6e 44 69 72 20 3d if.(is_dir($binDir)).{.$binDir.=
6f6c0 20 72 65 61 6c 70 61 74 68 28 24 62 69 6e 44 69 72 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 5f .realpath($binDir);.if.(isset($_
6f6e0 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 SERVER[$pathStr]).&&.!preg_match
6f700 28 27 7b 28 5e 7c 27 2e 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 27 29 27 2e 70 72 65 67 5f ('{(^|'.PATH_SEPARATOR.')'.preg_
6f720 71 75 6f 74 65 28 24 62 69 6e 44 69 72 29 2e 27 28 24 7c 27 2e 50 41 54 48 5f 53 45 50 41 52 41 quote($binDir).'($|'.PATH_SEPARA
6f740 54 4f 52 2e 27 29 7d 27 2c 20 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 29 20 7b TOR.')}',.$_SERVER[$pathStr])).{
6f760 0a 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 20 3d 20 24 62 69 6e 44 69 72 2e 50 41 .$_SERVER[$pathStr].=.$binDir.PA
6f780 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 67 65 74 65 6e 76 28 24 70 61 74 68 53 74 72 29 3b 0a 70 TH_SEPARATOR.getenv($pathStr);.p
6f7a0 75 74 65 6e 76 28 24 70 61 74 68 53 74 72 2e 27 3d 27 2e 24 5f 53 45 52 56 45 52 5b 24 70 61 74 utenv($pathStr.'='.$_SERVER[$pat
6f7c0 68 53 74 72 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d hStr]);.}.}..$listeners.=.$this-
6f7e0 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 >getListeners($event);..$this->p
6f800 75 73 68 45 76 65 6e 74 28 24 65 76 65 6e 74 29 3b 0a 0a 24 72 65 74 75 72 6e 20 3d 20 30 3b 0a ushEvent($event);..$return.=.0;.
6f820 66 6f 72 65 61 63 68 20 28 24 6c 69 73 74 65 6e 65 72 73 20 61 73 20 24 63 61 6c 6c 61 62 6c 65 foreach.($listeners.as.$callable
6f840 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b ).{.if.(!is_string($callable)).{
6f860 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a .if.(!is_callable($callable)).{.
6f880 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 63 61 6c 6c 61 62 6c 65 $className.=.is_object($callable
6f8a0 5b 30 5d 29 20 3f 20 67 65 74 5f 63 6c 61 73 73 28 24 63 61 6c 6c 61 62 6c 65 5b 30 5d 29 20 3a [0]).?.get_class($callable[0]).:
6f8c0 20 24 63 61 6c 6c 61 62 6c 65 5b 30 5d 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 .$callable[0];..throw.new.\Runti
6f8e0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 75 62 73 63 72 69 62 65 72 20 27 2e 24 63 6c 61 73 73 meException('Subscriber.'.$class
6f900 4e 61 6d 65 2e 27 3a 3a 27 2e 24 63 61 6c 6c 61 62 6c 65 5b 31 5d 2e 27 20 66 6f 72 20 65 76 65 Name.'::'.$callable[1].'.for.eve
6f920 6e 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 69 73 20 6e 6f 74 20 nt.'.$event->getName().'.is.not.
6f940 63 61 6c 6c 61 62 6c 65 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e callable,.make.sure.the.function
6f960 20 69 73 20 64 65 66 69 6e 65 64 20 61 6e 64 20 70 75 62 6c 69 63 27 29 3b 0a 7d 0a 24 65 76 65 .is.defined.and.public');.}.$eve
6f980 6e 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 nt.=.$this->checkListenerExpecte
6f9a0 64 45 76 65 6e 74 28 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 3b 0a 24 72 65 74 75 dEvent($callable,.$event);.$retu
6f9c0 72 6e 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 rn.=.false.===.call_user_func($c
6f9e0 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b 0a 7d 20 65 6c 73 65 allable,.$event).?.1.:.0;.}.else
6fa00 69 66 20 28 24 74 68 69 73 2d 3e 69 73 43 6f 6d 70 6f 73 65 72 53 63 72 69 70 74 28 24 63 61 6c if.($this->isComposerScript($cal
6fa20 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 lable)).{.$this->io->writeError(
6fa40 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e sprintf('>.%s:.%s',.$event->getN
6fa60 61 6d 65 28 29 2c 20 24 63 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 ame(),.$callable),.true,.IOInter
6fa80 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 24 73 63 72 69 70 74 4e 61 6d 65 20 3d 20 73 75 face::VERBOSE);.$scriptName.=.su
6faa0 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 31 29 3b 0a 24 61 72 67 73 20 3d 20 24 65 76 65 bstr($callable,.1);.$args.=.$eve
6fac0 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 66 6c 61 67 73 20 3d 20 24 65 76 nt->getArguments();.$flags.=.$ev
6fae0 65 6e 74 2d 3e 67 65 74 46 6c 61 67 73 28 29 3b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 61 6c ent->getFlags();.if.(substr($cal
6fb00 6c 61 62 6c 65 2c 20 30 2c 20 31 30 29 20 3d 3d 3d 20 27 40 63 6f 6d 70 6f 73 65 72 20 27 29 20 lable,.0,.10).===.'@composer.').
6fb20 7b 0a 24 65 78 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 {.$exec.=.$this->getPhpExecComma
6fb40 6e 64 28 29 20 2e 20 27 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 nd()...'.'...ProcessExecutor::es
6fb60 63 61 70 65 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 41 52 59 27 29 29 20 cape(getenv('COMPOSER_BINARY')).
6fb80 2e 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 39 29 3b 0a 69 66 20 28 30 20 21 3d ..substr($callable,.9);.if.(0.!=
6fba0 3d 20 28 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 =.($exitCode.=.$this->process->e
6fbc0 78 65 63 75 74 65 28 24 65 78 65 63 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 xecute($exec))).{.$this->io->wri
6fbe0 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 teError(sprintf('<error>Script.%
6fc00 73 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 25 73 20 65 76 65 6e 74 20 72 65 74 75 72 6e 65 64 s.handling.the.%s.event.returned
6fc20 20 77 69 74 68 20 65 72 72 6f 72 20 63 6f 64 65 20 27 2e 24 65 78 69 74 43 6f 64 65 2e 27 3c 2f .with.error.code.'.$exitCode.'</
6fc40 65 72 72 6f 72 3e 27 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e error>',.$callable,.$event->getN
6fc60 61 6d 65 28 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 ame()),.true,.IOInterface::QUIET
6fc80 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 );..throw.new.ScriptExecutionExc
6fca0 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 4f 75 74 70 75 74 3a 20 27 2e 24 74 68 69 73 2d 3e 70 eption('Error.Output:.'.$this->p
6fcc0 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 65 78 69 74 43 rocess->getErrorOutput(),.$exitC
6fce0 6f 64 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 ode);.}.}.else.{.if.(!$this->get
6fd00 4c 69 73 74 65 6e 65 72 73 28 6e 65 77 20 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 29 Listeners(new.Event($scriptName)
6fd20 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e )).{.$this->io->writeError(sprin
6fd40 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 6d 61 64 65 20 61 20 72 65 66 65 72 65 6e 63 tf('<warning>You.made.a.referenc
6fd60 65 20 74 6f 20 61 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 73 63 72 69 70 74 20 25 73 3c 2f 77 e.to.a.non-existent.script.%s</w
6fd80 61 72 6e 69 6e 67 3e 27 2c 20 24 63 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e arning>',.$callable),.true,.IOIn
6fda0 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 74 75 72 terface::QUIET);.}..try.{.$retur
6fdc0 6e 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 28 24 73 63 72 69 70 74 4e 61 6d 65 2c n.=.$this->dispatch($scriptName,
6fde0 20 6e 65 77 20 53 63 72 69 70 74 5c 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 .new.Script\Event($scriptName,.$
6fe00 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c 20 24 65 76 65 6e 74 2d 3e 67 65 event->getComposer(),.$event->ge
6fe20 74 49 4f 28 29 2c 20 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 20 24 61 72 67 tIO(),.$event->isDevMode(),.$arg
6fe40 73 2c 20 24 66 6c 61 67 73 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 53 63 72 69 70 74 45 78 65 63 s,.$flags));.}.catch.(ScriptExec
6fe60 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e utionException.$e).{.$this->io->
6fe80 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 writeError(sprintf('<error>Scrip
6fea0 74 20 25 73 20 77 61 73 20 63 61 6c 6c 65 64 20 76 69 61 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c t.%s.was.called.via.%s</error>',
6fec0 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 .$callable,.$event->getName()),.
6fee0 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 true,.IOInterface::QUIET);.throw
6ff00 20 24 65 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 68 70 53 .$e;.}.}.}.elseif.($this->isPhpS
6ff20 63 72 69 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d cript($callable)).{.$className.=
6ff40 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 63 61 .substr($callable,.0,.strpos($ca
6ff60 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 29 3b 0a 24 6d 65 74 68 6f 64 4e 61 6d 65 20 3d 20 73 75 llable,.'::'));.$methodName.=.su
6ff80 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 bstr($callable,.strpos($callable
6ffa0 2c 20 27 3a 3a 27 29 20 2b 20 32 29 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 ,.'::').+.2);..if.(!class_exists
6ffc0 28 24 63 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ($className)).{.$this->io->write
6ffe0 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 6c 61 73 73 20 27 2e 24 63 6c 61 73 73 4e 61 Error('<warning>Class.'.$classNa
70000 6d 65 2e 27 20 69 73 20 6e 6f 74 20 61 75 74 6f 6c 6f 61 64 61 62 6c 65 2c 20 63 61 6e 20 6e 6f me.'.is.not.autoloadable,.can.no
70020 74 20 63 61 6c 6c 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 t.call.'.$event->getName().'.scr
70040 69 70 74 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 ipt</warning>',.true,.IOInterfac
70060 65 3a 3a 51 55 49 45 54 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 63 e::QUIET);.continue;.}.if.(!is_c
70080 61 6c 6c 61 62 6c 65 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d allable($callable)).{.$this->io-
700a0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4d 65 74 68 6f 64 20 27 2e 24 >writeError('<warning>Method.'.$
700c0 63 61 6c 6c 61 62 6c 65 2e 27 20 69 73 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2c 20 63 61 6e 20 callable.'.is.not.callable,.can.
700e0 6e 6f 74 20 63 61 6c 6c 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 not.call.'.$event->getName().'.s
70100 63 72 69 70 74 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 cript</warning>',.true,.IOInterf
70120 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a ace::QUIET);.continue;.}..try.{.
70140 24 72 65 74 75 72 6e 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 $return.=.false.===.$this->execu
70160 74 65 45 76 65 6e 74 50 68 70 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 teEventPhpScript($className,.$me
70180 74 68 6f 64 4e 61 6d 65 2c 20 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b 0a 7d 20 63 61 74 thodName,.$event).?.1.:.0;.}.cat
701a0 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 ch.(\Exception.$e).{.$message.=.
701c0 22 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 25 73 20 65 76 65 6e 74 "Script.%s.handling.the.%s.event
701e0 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 22 3b 0a .terminated.with.an.exception";.
70200 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e $this->io->writeError('<error>'.
70220 73 70 72 69 6e 74 66 28 24 6d 65 73 73 61 67 65 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 sprintf($message,.$callable,.$ev
70240 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 ent->getName()).'</error>',.true
70260 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 20 24 65 3b ,.IOInterface::QUIET);.throw.$e;
70280 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 72 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c .}.}.else.{.$args.=.implode('.',
702a0 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c .array_map(array('Composer\Util\
702c0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 27 2c 20 27 65 73 63 61 70 65 27 29 2c 20 24 65 76 ProcessExecutor',.'escape'),.$ev
702e0 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 29 3b 0a 24 65 78 65 63 20 3d 20 24 ent->getArguments()));.$exec.=.$
70300 63 61 6c 6c 61 62 6c 65 20 2e 20 28 24 61 72 67 73 20 3d 3d 3d 20 27 27 20 3f 20 27 27 20 3a 20 callable...($args.===.''.?.''.:.
70320 27 20 27 2e 24 61 72 67 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 '.'.$args);.if.($this->io->isVer
70340 62 6f 73 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 bose()).{.$this->io->writeError(
70360 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e sprintf('>.%s:.%s',.$event->getN
70380 61 6d 65 28 29 2c 20 24 65 78 65 63 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e ame(),.$exec));.}.else.{.$this->
703a0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 27 2c 20 24 io->writeError(sprintf('>.%s',.$
703c0 65 78 65 63 29 29 3b 0a 7d 0a 0a 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c 42 69 6e 61 72 69 65 exec));.}..$possibleLocalBinarie
703e0 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 s.=.$this->composer->getPackage(
70400 29 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 69 66 20 28 24 70 6f 73 73 69 62 6c 65 4c )->getBinaries();.if.($possibleL
70420 6f 63 61 6c 42 69 6e 61 72 69 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 ocalBinaries).{.foreach.($possib
70440 6c 65 4c 6f 63 61 6c 42 69 6e 61 72 69 65 73 20 61 73 20 24 6c 6f 63 61 6c 45 78 65 63 29 20 7b leLocalBinaries.as.$localExec).{
70460 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 62 27 2e 70 72 65 67 5f 71 75 6f 74 65 .if.(preg_match('{\b'.preg_quote
70480 28 24 63 61 6c 6c 61 62 6c 65 29 2e 27 24 7d 27 2c 20 24 6c 6f 63 61 6c 45 78 65 63 29 29 20 7b ($callable).'$}',.$localExec)).{
704a0 0a 24 63 61 6c 6c 65 72 20 3d 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3a 3a 64 65 74 65 .$caller.=.BinaryInstaller::dete
704c0 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 6c 6f 63 61 6c 45 78 65 63 29 3b 0a 24 rmineBinaryCaller($localExec);.$
704e0 65 78 65 63 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 27 2e 70 72 65 67 5f 71 75 exec.=.preg_replace('{^'.preg_qu
70500 6f 74 65 28 24 63 61 6c 6c 61 62 6c 65 29 2e 27 7d 27 2c 20 24 63 61 6c 6c 65 72 20 2e 20 27 20 ote($callable).'}',.$caller...'.
70520 27 20 2e 20 24 6c 6f 63 61 6c 45 78 65 63 2c 20 24 65 78 65 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d '...$localExec,.$exec);.break;.}
70540 0a 7d 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 65 78 65 63 2c 20 30 2c 20 35 29 20 3d 3d .}.}..if.(substr($exec,.0,.5).==
70560 3d 20 27 40 70 68 70 20 27 29 20 7b 0a 24 65 78 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 =.'@php.').{.$exec.=.$this->getP
70580 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 24 hpExecCommand()...'.'...substr($
705a0 65 78 65 63 2c 20 35 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f 64 exec,.5);.}..if.(0.!==.($exitCod
705c0 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 65 78 65 e.=.$this->process->execute($exe
705e0 63 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 c))).{.$this->io->writeError(spr
70600 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 intf('<error>Script.%s.handling.
70620 74 68 65 20 25 73 20 65 76 65 6e 74 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 72 72 6f 72 the.%s.event.returned.with.error
70640 20 63 6f 64 65 20 27 2e 24 65 78 69 74 43 6f 64 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 .code.'.$exitCode.'</error>',.$c
70660 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 allable,.$event->getName()),.tru
70680 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 74 68 72 6f 77 20 6e e,.IOInterface::QUIET);..throw.n
706a0 65 77 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 ew.ScriptExecutionException('Err
706c0 6f 72 20 4f 75 74 70 75 74 3a 20 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 or.Output:.'.$this->process->get
706e0 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 0a ErrorOutput(),.$exitCode);.}.}..
70700 69 66 20 28 24 65 76 65 6e 74 2d 3e 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 if.($event->isPropagationStopped
70720 28 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 6f 70 45 76 65 6e ()).{.break;.}.}..$this->popEven
70740 74 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 t();..return.$return;.}..protect
70760 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 0a ed.function.getPhpExecCommand().
70780 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e {.$finder.=.new.PhpExecutableFin
707a0 64 65 72 28 29 3b 0a 24 70 68 70 50 61 74 68 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 der();.$phpPath.=.$finder->find(
707c0 29 3b 0a 69 66 20 28 21 24 70 68 70 50 61 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 );.if.(!$phpPath).{.throw.new.\R
707e0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 63 61 74 untimeException('Failed.to.locat
70800 65 20 50 48 50 20 62 69 6e 61 72 79 20 74 6f 20 65 78 65 63 75 74 65 20 27 2e 24 73 63 72 69 70 e.PHP.binary.to.execute.'.$scrip
70820 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 24 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 3d 20 tName);.}..$allowUrlFOpenFlag.=.
70840 27 20 2d 64 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 3d 27 20 2e 20 50 72 6f 63 65 73 73 '.-d.allow_url_fopen='...Process
70860 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f Executor::escape(ini_get('allow_
70880 75 72 6c 5f 66 6f 70 65 6e 27 29 29 3b 0a 24 64 69 73 61 62 6c 65 46 75 6e 63 74 69 6f 6e 73 46 url_fopen'));.$disableFunctionsF
708a0 6c 61 67 20 3d 20 27 20 2d 64 20 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 3d 27 20 2e lag.=.'.-d.disable_functions='..
708c0 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 .ProcessExecutor::escape(ini_get
708e0 28 27 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 27 29 29 3b 0a 24 6d 65 6d 6f 72 79 4c ('disable_functions'));.$memoryL
70900 69 6d 69 74 46 6c 61 67 20 3d 20 27 20 2d 64 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 3d 27 20 2e imitFlag.=.'.-d.memory_limit='..
70920 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 .ProcessExecutor::escape(ini_get
70940 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 50 72 6f 63 65 ('memory_limit'));..return.Proce
70960 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 68 70 50 61 74 68 29 20 2e 20 24 ssExecutor::escape($phpPath)...$
70980 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 2e 20 24 64 69 73 61 62 6c 65 46 75 6e 63 allowUrlFOpenFlag...$disableFunc
709a0 74 69 6f 6e 73 46 6c 61 67 20 2e 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 46 6c 61 67 3b 0a 7d 0a tionsFlag...$memoryLimitFlag;.}.
709c0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 ......protected.function.execute
709e0 45 76 65 6e 74 50 68 70 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 EventPhpScript($className,.$meth
70a00 6f 64 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 65 76 65 6e 74 20 3d odName,.Event.$event).{.$event.=
70a20 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 64 45 76 65 .$this->checkListenerExpectedEve
70a40 6e 74 28 61 72 72 61 79 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 nt(array($className,.$methodName
70a60 29 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 ),.$event);..if.($this->io->isVe
70a80 72 62 6f 73 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 rbose()).{.$this->io->writeError
70aa0 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 3a 3a 25 73 27 2c 20 24 65 76 65 6e 74 2d (sprintf('>.%s:.%s::%s',.$event-
70ac0 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e >getName(),.$className,.$methodN
70ae0 61 6d 65 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ame));.}.else.{.$this->io->write
70b00 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 3a 25 73 27 2c 20 24 63 6c 61 73 73 Error(sprintf('>.%s::%s',.$class
70b20 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 Name,.$methodName));.}..return.$
70b40 63 6c 61 73 73 4e 61 6d 65 3a 3a 24 6d 65 74 68 6f 64 4e 61 6d 65 28 24 65 76 65 6e 74 29 3b 0a className::$methodName($event);.
70b60 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b }.......protected.function.check
70b80 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 64 45 76 65 6e 74 28 24 74 61 72 67 65 74 2c 20 45 ListenerExpectedEvent($target,.E
70ba0 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 76 65 vent.$event).{.if.(in_array($eve
70bc0 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 61 72 72 61 79 28 0a 27 69 6e 69 74 27 2c 0a 27 63 nt->getName(),.array(.'init',.'c
70be0 6f 6d 6d 61 6e 64 27 2c 0a 27 70 72 65 2d 66 69 6c 65 2d 64 6f 77 6e 6c 6f 61 64 27 2c 0a 29 2c ommand',.'pre-file-download',.),
70c00 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a 0a 74 72 79 20 .true)).{.return.$event;.}..try.
70c20 7b 0a 24 72 65 66 6c 65 63 74 65 64 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 61 {.$reflected.=.new.\ReflectionPa
70c40 72 61 6d 65 74 65 72 28 24 74 61 72 67 65 74 2c 20 30 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 rameter($target,.0);.}.catch.(\E
70c60 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a xception.$e).{.return.$event;.}.
70c80 0a 24 74 79 70 65 68 69 6e 74 20 3d 20 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 43 6c 61 73 .$typehint.=.$reflected->getClas
70ca0 73 28 29 3b 0a 0a 69 66 20 28 21 24 74 79 70 65 68 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 s();..if.(!$typehint.instanceof.
70cc0 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e \ReflectionClass).{.return.$even
70ce0 74 3b 0a 7d 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 24 74 79 70 65 68 69 6e 74 2d 3e 67 65 74 t;.}..$expected.=.$typehint->get
70d00 4e 61 6d 65 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f Name();....if.(!$event.instanceo
70d20 66 20 24 65 78 70 65 63 74 65 64 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f f.$expected.&&.$expected.===.'Co
70d40 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 27 29 20 7b 0a 74 mposer\Script\CommandEvent').{.t
70d60 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 rigger_error('The.callback.'.$th
70d80 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 is->serializeCallback($target).'
70da0 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 .declared.at.'.$reflected->getDe
70dc0 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 claringFunction()->getFileName()
70de0 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 .'.accepts.a.'.$expected.'.but.'
70e00 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 .$event->getName().'.events.use.
70e20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 a.'.get_class($event).'.instance
70e40 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 ..Please.adjust.your.type.hint.a
70e60 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ccordingly,.see.https://getcompo
70e80 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 ser.org/doc/articles/scripts.md#
70ea0 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 event-classes',.E_USER_DEPRECATE
70ec0 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 D);.$event.=.new.\Composer\Scrip
70ee0 74 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 t\CommandEvent(.$event->getName(
70f00 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 ),.$event->getComposer(),.$event
70f20 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a ->getIO(),.$event->isDevMode(),.
70f40 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 29 3b 0a 7d 0a 69 66 20 28 $event->getArguments().);.}.if.(
70f60 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 65 63 74 65 64 20 26 26 20 !$event.instanceof.$expected.&&.
70f80 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 50 $expected.===.'Composer\Script\P
70fa0 61 63 6b 61 67 65 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 ackageEvent').{.trigger_error('T
70fc0 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 he.callback.'.$this->serializeCa
70fe0 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e llback($target).'.declared.at.'.
71000 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e $reflected->getDeclaringFunction
71020 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e ()->getFileName().'.accepts.a.'.
71040 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d $expected.'.but.'.$event->getNam
71060 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 e().'.events.use.a.'.get_class($
71080 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 event).'.instance..Please.adjust
710a0 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 .your.type.hint.accordingly,.see
710c0 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 .https://getcomposer.org/doc/art
710e0 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c icles/scripts.md#event-classes',
71100 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 .E_USER_DEPRECATED);.$event.=.ne
71120 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 28 w.\Composer\Script\PackageEvent(
71140 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 .$event->getName(),.$event->getC
71160 6f 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 omposer(),.$event->getIO(),.$eve
71180 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 50 6f 6c 69 nt->isDevMode(),.$event->getPoli
711a0 63 79 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 50 6f 6f 6c 28 29 2c 0a 24 65 76 65 6e 74 2d cy(),.$event->getPool(),.$event-
711c0 3e 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 >getInstalledRepo(),.$event->get
711e0 52 65 71 75 65 73 74 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 Request(),.$event->getOperations
71200 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 28 29 0a 29 3b 0a 7d 0a (),.$event->getOperation().);.}.
71220 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 65 63 74 65 64 if.(!$event.instanceof.$expected
71240 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 .&&.$expected.===.'Composer\Scri
71260 70 74 5c 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 pt\Event').{.trigger_error('The.
71280 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 callback.'.$this->serializeCallb
712a0 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e 24 72 65 ack($target).'.declared.at.'.$re
712c0 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e 28 29 2d flected->getDeclaringFunction()-
712e0 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e 24 65 78 >getFileName().'.accepts.a.'.$ex
71300 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 pected.'.but.'.$event->getName()
71320 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 76 65 .'.events.use.a.'.get_class($eve
71340 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 20 79 6f nt).'.instance..Please.adjust.yo
71360 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 20 68 74 ur.type.hint.accordingly,.see.ht
71380 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c tps://getcomposer.org/doc/articl
713a0 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c 20 45 5f es/scripts.md#event-classes',.E_
713c0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 5c USER_DEPRECATED);.$event.=.new.\
713e0 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d 3e 67 Composer\Script\Event(.$event->g
71400 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c etName(),.$event->getComposer(),
71420 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d .$event->getIO(),.$event->isDevM
71440 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 2c 0a 24 ode(),.$event->getArguments(),.$
71460 65 76 65 6e 74 2d 3e 67 65 74 46 6c 61 67 73 28 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 event->getFlags().);.}..return.$
71480 65 76 65 6e 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 72 69 61 event;.}..private.function.seria
714a0 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 63 62 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 lizeCallback($cb).{.if.(is_array
714c0 28 24 63 62 29 20 26 26 20 63 6f 75 6e 74 28 24 63 62 29 20 3d 3d 3d 20 32 29 20 7b 0a 69 66 20 ($cb).&&.count($cb).===.2).{.if.
714e0 28 69 73 5f 6f 62 6a 65 63 74 28 24 63 62 5b 30 5d 29 29 20 7b 0a 24 63 62 5b 30 5d 20 3d 20 67 (is_object($cb[0])).{.$cb[0].=.g
71500 65 74 5f 63 6c 61 73 73 28 24 63 62 5b 30 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 73 74 72 69 6e et_class($cb[0]);.}.if.(is_strin
71520 67 28 24 63 62 5b 30 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 62 5b 31 5d 29 29 20 g($cb[0]).&&.is_string($cb[1])).
71540 7b 0a 24 63 62 20 3d 20 69 6d 70 6c 6f 64 65 28 27 3a 3a 27 2c 20 24 63 62 29 3b 0a 7d 0a 7d 0a {.$cb.=.implode('::',.$cb);.}.}.
71560 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 63 62 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 62 if.(is_string($cb)).{.return.$cb
71580 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 62 2c 20 74 72 75 65 ;.}..return.var_export($cb,.true
715a0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 );.}.........public.function.add
715c0 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 6c 69 73 74 65 6e 65 72 2c 20 Listener($eventName,.$listener,.
715e0 24 70 72 69 6f 72 69 74 79 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 $priority.=.0).{.$this->listener
71600 73 5b 24 65 76 65 6e 74 4e 61 6d 65 5d 5b 24 70 72 69 6f 72 69 74 79 5d 5b 5d 20 3d 20 24 6c 69 s[$eventName][$priority][].=.$li
71620 73 74 65 6e 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f stener;.}.........public.functio
71640 6e 20 61 64 64 53 75 62 73 63 72 69 62 65 72 28 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 n.addSubscriber(EventSubscriberI
71660 6e 74 65 72 66 61 63 65 20 24 73 75 62 73 63 72 69 62 65 72 29 0a 7b 0a 66 6f 72 65 61 63 68 20 nterface.$subscriber).{.foreach.
71680 28 24 73 75 62 73 63 72 69 62 65 72 2d 3e 67 65 74 53 75 62 73 63 72 69 62 65 64 45 76 65 6e 74 ($subscriber->getSubscribedEvent
716a0 73 28 29 20 61 73 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 3e 20 24 70 61 72 61 6d 73 29 20 7b 0a s().as.$eventName.=>.$params).{.
716c0 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d if.(is_string($params)).{.$this-
716e0 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 >addListener($eventName,.array($
71700 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 subscriber,.$params));.}.elseif.
71720 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d (is_string($params[0])).{.$this-
71740 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 >addListener($eventName,.array($
71760 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 5b 30 5d 29 2c 20 69 73 73 65 74 28 24 subscriber,.$params[0]),.isset($
71780 70 61 72 61 6d 73 5b 31 5d 29 20 3f 20 24 70 61 72 61 6d 73 5b 31 5d 20 3a 20 30 29 3b 0a 7d 20 params[1]).?.$params[1].:.0);.}.
717a0 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 72 61 6d 73 20 61 73 20 24 6c 69 73 74 else.{.foreach.($params.as.$list
717c0 65 6e 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e ener).{.$this->addListener($even
717e0 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 73 75 62 73 63 72 69 62 65 72 2c 20 24 6c 69 73 74 65 tName,.array($subscriber,.$liste
71800 6e 65 72 5b 30 5d 29 2c 20 69 73 73 65 74 28 24 6c 69 73 74 65 6e 65 72 5b 31 5d 29 20 3f 20 24 ner[0]),.isset($listener[1]).?.$
71820 6c 69 73 74 65 6e 65 72 5b 31 5d 20 3a 20 30 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a listener[1].:.0);.}.}.}.}.......
71840 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 73 74 65 6e 65 72 73 .protected.function.getListeners
71860 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 73 63 72 69 70 74 4c 69 73 74 65 6e 65 72 (Event.$event).{.$scriptListener
71880 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 72 69 70 74 4c 69 73 74 65 6e 65 72 73 28 24 65 s.=.$this->getScriptListeners($e
718a0 76 65 6e 74 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e vent);..if.(!isset($this->listen
718c0 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 29 29 20 7b 0a 24 74 ers[$event->getName()][0])).{.$t
718e0 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 his->listeners[$event->getName()
71900 5d 5b 30 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 6b 72 73 6f 72 74 28 24 74 68 69 73 2d 3e ][0].=.array();.}.krsort($this->
71920 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 0a listeners[$event->getName()]);..
71940 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 3b 0a 24 $listeners.=.$this->listeners;.$
71960 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 20 listeners[$event->getName()][0].
71980 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d =.array_merge($listeners[$event-
719a0 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 2c 20 24 73 63 72 69 70 74 4c 69 73 74 65 6e 65 72 73 >getName()][0],.$scriptListeners
719c0 29 3b 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 );..return.call_user_func_array(
719e0 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 'array_merge',.$listeners[$event
71a00 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ->getName()]);.}........public.f
71a20 75 6e 63 74 69 6f 6e 20 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 45 76 65 6e 74 20 unction.hasEventListeners(Event.
71a40 24 65 76 65 6e 74 29 0a 7b 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 $event).{.$listeners.=.$this->ge
71a60 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e tListeners($event);..return.coun
71a80 74 28 24 6c 69 73 74 65 6e 65 72 73 29 20 3e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 t($listeners).>.0;.}........prot
71aa0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 4c 69 73 74 65 6e 65 72 ected.function.getScriptListener
71ac0 73 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 s(Event.$event).{.$package.=.$th
71ae0 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 73 63 72 is->composer->getPackage();.$scr
71b00 69 70 74 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a 0a ipts.=.$package->getScripts();..
71b20 69 66 20 28 65 6d 70 74 79 28 24 73 63 72 69 70 74 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 if.(empty($scripts[$event->getNa
71b40 6d 65 28 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 me()])).{.return.array();.}..if.
71b60 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d ($this->loader).{.$this->loader-
71b80 3e 75 6e 72 65 67 69 73 74 65 72 28 29 3b 0a 7d 0a 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 >unregister();.}..$generator.=.$
71ba0 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 this->composer->getAutoloadGener
71bc0 61 74 6f 72 28 29 3b 0a 69 66 20 28 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 63 ator();.if.($event.instanceof.Sc
71be0 72 69 70 74 45 76 65 6e 74 29 20 7b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 76 4d riptEvent).{.$generator->setDevM
71c00 6f 64 65 28 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 29 3b 0a 7d 0a 0a 24 70 61 ode($event->isDevMode());.}..$pa
71c20 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 ckages.=.$this->composer->getRep
71c40 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 ositoryManager()->getLocalReposi
71c60 74 6f 72 79 28 29 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a tory()->getCanonicalPackages();.
71c80 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 62 75 69 6c 64 50 $packageMap.=.$generator->buildP
71ca0 61 63 6b 61 67 65 4d 61 70 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e ackageMap($this->composer->getIn
71cc0 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 stallationManager(),.$package,.$
71ce0 70 61 63 6b 61 67 65 73 29 3b 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 70 61 packages);.$map.=.$generator->pa
71d00 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 70 61 63 6b 61 rseAutoloads($packageMap,.$packa
71d20 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d ge);.$this->loader.=.$generator-
71d40 3e 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 >createLoader($map);.$this->load
71d60 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 63 72 69 70 74 73 er->register();..return.$scripts
71d80 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 [$event->getName()];.}........pr
71da0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 68 70 53 63 72 69 70 74 28 24 63 61 otected.function.isPhpScript($ca
71dc0 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f llable).{.return.false.===.strpo
71de0 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 20 27 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 s($callable,.'.').&&.false.!==.s
71e00 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a trpos($callable,.'::');.}.......
71e20 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6d 70 6f 73 65 72 53 63 .protected.function.isComposerSc
71e40 72 69 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 40 27 20 3d 3d 3d ript($callable).{.return.'@'.===
71e60 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 31 29 20 26 26 20 27 40 70 68 .substr($callable,.0,.1).&&.'@ph
71e80 70 20 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 35 29 3b p.'.!==.substr($callable,.0,.5);
71ea0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 75 .}.........protected.function.pu
71ec0 73 68 45 76 65 6e 74 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 65 76 65 6e 74 4e 61 shEvent(Event.$event).{.$eventNa
71ee0 6d 65 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 69 6e 5f 61 me.=.$event->getName();.if.(in_a
71f00 72 72 61 79 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 rray($eventName,.$this->eventSta
71f20 63 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ck)).{.throw.new.\RuntimeExcepti
71f40 6f 6e 28 73 70 72 69 6e 74 66 28 22 43 69 72 63 75 6c 61 72 20 63 61 6c 6c 20 74 6f 20 73 63 72 on(sprintf("Circular.call.to.scr
71f60 69 70 74 20 68 61 6e 64 6c 65 72 20 27 25 73 27 20 64 65 74 65 63 74 65 64 22 2c 20 24 65 76 65 ipt.handler.'%s'.detected",.$eve
71f80 6e 74 4e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 75 73 68 28 24 ntName));.}..return.array_push($
71fa0 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 2c 20 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 7d this->eventStack,.$eventName);.}
71fc0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 45 76 65 .......protected.function.popEve
71fe0 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 65 nt().{.return.array_pop($this->e
72000 76 65 6e 74 53 74 61 63 6b 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ventStack);.}.}.<?php...........
72020 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 .namespace.Composer\EventDispatc
72040 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 76 65 6e her;..............interface.Even
72060 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tSubscriberInterface.{..........
72080 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
720a0 67 65 74 53 75 62 73 63 72 69 62 65 64 45 76 65 6e 74 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a getSubscribedEvents();.}.<?php..
720c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 ..........namespace.Composer\Eve
720e0 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 74 45 78 ntDispatcher;.....class.ScriptEx
72100 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d ecutionException.extends.\Runtim
72120 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eException.{.}.<?php............
72140 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a namespace.Composer\Exception;...
72160 0a 0a 63 6c 61 73 73 20 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c ..class.NoSslException.extends.\
72180 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a RuntimeException.{.}.<?php......
721a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 ......namespace.Composer;..use.C
721c0 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b omposer\Config\JsonConfigSource;
721e0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 .use.Composer\Json\JsonFile;.use
72200 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f .Composer\IO\IOInterface;.use.Co
72220 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 75 73 65 20 43 6f 6d mposer\Package\Archiver;.use.Com
72240 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 poser\Package\Version\VersionGue
72260 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 sser;.use.Composer\Repository\Re
72280 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 positoryManager;.use.Composer\Re
722a0 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 pository\RepositoryFactory;.use.
722c0 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 57 72 69 74 61 62 6c 65 52 65 70 6f Composer\Repository\WritableRepo
722e0 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 sitoryInterface;.use.Composer\Ut
72300 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c il\Filesystem;.use.Composer\Util
72320 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f \Platform;.use.Composer\Util\Pro
72340 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
72360 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 RemoteFilesystem;.use.Composer\U
72380 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 til\Silencer;.use.Composer\Plugi
723a0 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 n\PluginEvents;.use.Composer\Eve
723c0 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f ntDispatcher\Event;.use.Seld\Jso
723e0 6e 4c 69 6e 74 5c 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 nLint\DuplicateKeyException;.use
72400 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
72420 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tter\OutputFormatter;.use.Symfon
72440 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 y\Component\Console\Formatter\Ou
72460 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c tputFormatterStyle;.use.Symfony\
72480 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 Component\Console\Output\Console
724a0 4f 75 74 70 75 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 Output;.use.Composer\EventDispat
724c0 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 cher\EventDispatcher;.use.Compos
724e0 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 er\Autoload\AutoloadGenerator;.u
72500 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
72520 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 ionParser;.use.Composer\Download
72540 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 65 6c 64 5c er\TransportException;.use.Seld\
72560 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c JsonLint\JsonParser;..........cl
72580 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 ass.Factory.{.....protected.stat
725a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 44 69 72 28 29 0a 7b 0a 24 68 6f 6d 65 ic.function.getHomeDir().{.$home
725c0 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 .=.getenv('COMPOSER_HOME');.if.(
725e0 24 68 6f 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 69 66 20 28 50 6c $home).{.return.$home;.}..if.(Pl
72600 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 69 66 20 28 21 67 65 74 65 atform::isWindows()).{.if.(!gete
72620 6e 76 28 27 41 50 50 44 41 54 41 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 nv('APPDATA')).{.throw.new.\Runt
72640 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 41 50 50 44 41 54 41 20 6f 72 20 43 4f 4d imeException('The.APPDATA.or.COM
72660 50 4f 53 45 52 5f 48 4f 4d 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 POSER_HOME.environment.variable.
72680 6d 75 73 74 20 62 65 20 73 65 74 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 20 74 6f 20 72 75 6e 20 must.be.set.for.composer.to.run.
726a0 63 6f 72 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 correctly');.}..return.rtrim(str
726c0 74 72 28 67 65 74 65 6e 76 28 27 41 50 50 44 41 54 41 27 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 tr(getenv('APPDATA'),.'\\',.'/')
726e0 2c 20 27 2f 27 29 20 2e 20 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 ,.'/')...'/Composer';.}..$userDi
72700 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 66 20 28 69 73 5f 64 r.=.self::getUserDir();.if.(is_d
72720 69 72 28 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 29 29 20 7b 0a 72 ir($userDir...'/.composer')).{.r
72740 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d eturn.$userDir...'/.composer';.}
72760 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 0a 20 24 78 64 67 43 6f ..if.(self::useXdg()).{...$xdgCo
72780 6e 66 69 67 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 27 29 nfig.=.getenv('XDG_CONFIG_HOME')
727a0 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6e 66 69 67 27 3b 0a 0a 72 65 74 75 .?:.$userDir...'/.config';..retu
727c0 72 6e 20 24 78 64 67 43 6f 6e 66 69 67 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a rn.$xdgConfig...'/composer';.}..
727e0 72 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 3b 0a return.$userDir...'/.composer';.
72800 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e }......protected.static.function
72820 20 67 65 74 43 61 63 68 65 44 69 72 28 24 68 6f 6d 65 29 0a 7b 0a 24 63 61 63 68 65 44 69 72 20 .getCacheDir($home).{.$cacheDir.
72840 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 43 41 43 48 45 5f 44 49 52 27 29 3b 0a =.getenv('COMPOSER_CACHE_DIR');.
72860 69 66 20 28 24 63 61 63 68 65 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 63 68 65 44 69 if.($cacheDir).{.return.$cacheDi
72880 72 3b 0a 7d 0a 0a 24 68 6f 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 r;.}..$homeEnv.=.getenv('COMPOSE
728a0 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 20 7b 0a 72 65 74 75 72 6e R_HOME');.if.($homeEnv).{.return
728c0 20 24 68 6f 6d 65 45 6e 76 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 .$homeEnv...'/cache';.}..if.(Pla
728e0 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 69 66 20 28 24 63 61 63 68 65 tform::isWindows()).{.if.($cache
72900 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4c 4f 43 41 4c 41 50 50 44 41 54 41 27 29 29 20 7b 0a Dir.=.getenv('LOCALAPPDATA')).{.
72920 24 63 61 63 68 65 44 69 72 20 2e 3d 20 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d 20 65 6c 73 65 $cacheDir..=.'/Composer';.}.else
72940 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b .{.$cacheDir.=.$home...'/cache';
72960 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 74 72 28 24 63 61 63 68 65 44 69 72 .}..return.rtrim(strtr($cacheDir
72980 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 72 20 ,.'\\',.'/'),.'/');.}..$userDir.
729a0 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 66 20 28 24 68 6f 6d 65 20 =.self::getUserDir();.if.($home.
729c0 3d 3d 3d 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 20 26 26 20 69 ===.$userDir...'/.composer'.&&.i
729e0 73 5f 64 69 72 28 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 29 29 20 7b 0a 72 65 74 75 72 s_dir($home...'/cache')).{.retur
72a00 6e 20 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a n.$home...'/cache';.}..if.(self:
72a20 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 24 78 64 67 43 61 63 68 65 20 3d 20 67 65 74 65 6e 76 28 :useXdg()).{.$xdgCache.=.getenv(
72a40 27 58 44 47 5f 43 41 43 48 45 5f 48 4f 4d 45 27 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 'XDG_CACHE_HOME').?:.$userDir...
72a60 27 2f 2e 63 61 63 68 65 27 3b 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 43 61 63 68 65 20 2e 20 27 '/.cache';..return.$xdgCache...'
72a80 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 20 2e 20 27 2f /composer';.}..return.$home...'/
72aa0 63 61 63 68 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 cache';.}......protected.static.
72ac0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 44 69 72 28 24 68 6f 6d 65 29 0a 7b 0a 24 68 6f function.getDataDir($home).{.$ho
72ae0 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b meEnv.=.getenv('COMPOSER_HOME');
72b00 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 45 6e 76 .if.($homeEnv).{.return.$homeEnv
72b20 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 ;.}..if.(Platform::isWindows()).
72b40 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 68 6f 6d 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 {.return.strtr($home,.'\\',.'/')
72b60 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 ;.}..$userDir.=.self::getUserDir
72b80 28 29 3b 0a 69 66 20 28 24 68 6f 6d 65 20 21 3d 3d 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e ();.if.($home.!==.$userDir...'/.
72ba0 63 6f 6d 70 6f 73 65 72 27 20 26 26 20 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 24 composer'.&&.self::useXdg()).{.$
72bc0 78 64 67 44 61 74 61 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 44 41 54 41 5f 48 4f 4d 45 27 xdgData.=.getenv('XDG_DATA_HOME'
72be0 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 6c 6f 63 61 6c 2f 73 68 61 72 65 27 3b ).?:.$userDir...'/.local/share';
72c00 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 44 61 74 61 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 3b ..return.$xdgData...'/composer';
72c20 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .}..return.$home;.}......public.
72c40 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6e 66 69 67 28 49 4f 49 static.function.createConfig(IOI
72c60 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c nterface.$io.=.null,.$cwd.=.null
72c80 29 0a 7b 0a 24 63 77 64 20 3d 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 3b 0a 0a 24 63 ).{.$cwd.=.$cwd.?:.getcwd();..$c
72ca0 6f 6e 66 69 67 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 28 74 72 75 65 2c 20 24 63 77 64 29 3b 0a onfig.=.new.Config(true,.$cwd);.
72cc0 0a 0a 20 24 68 6f 6d 65 20 3d 20 73 65 6c 66 3a 3a 67 65 74 48 6f 6d 65 44 69 72 28 29 3b 0a 24 ...$home.=.self::getHomeDir();.$
72ce0 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 config->merge(array('config'.=>.
72d00 61 72 72 61 79 28 0a 27 68 6f 6d 65 27 20 3d 3e 20 24 68 6f 6d 65 2c 0a 27 63 61 63 68 65 2d 64 array(.'home'.=>.$home,.'cache-d
72d20 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 74 43 61 63 68 65 44 69 72 28 24 68 6f 6d 65 29 2c ir'.=>.self::getCacheDir($home),
72d40 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 44 69 72 28 .'data-dir'.=>.self::getDataDir(
72d60 24 68 6f 6d 65 29 2c 0a 29 29 29 3b 0a 0a 24 68 74 61 63 63 65 73 73 50 72 6f 74 65 63 74 20 3d $home),.)));..$htaccessProtect.=
72d80 20 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 61 63 63 65 73 73 2d 70 .(bool).$config->get('htaccess-p
72da0 72 6f 74 65 63 74 27 29 3b 0a 69 66 20 28 24 68 74 61 63 63 65 73 73 50 72 6f 74 65 63 74 29 20 rotect');.if.($htaccessProtect).
72dc0 7b 0a 0a 20 0a 20 0a 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 24 63 6f 6e 66 69 67 2d 3e 67 {.......$dirs.=.array($config->g
72de0 65 74 28 27 68 6f 6d 65 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d et('home'),.$config->get('cache-
72e00 64 69 72 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 61 74 61 2d 64 69 72 27 29 29 dir'),.$config->get('data-dir'))
72e20 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 ;.foreach.($dirs.as.$dir).{.if.(
72e40 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 20 2e 20 27 2f 2e 68 74 61 63 63 65 73 73 27 !file_exists($dir...'/.htaccess'
72e60 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 )).{.if.(!is_dir($dir)).{.Silenc
72e80 65 72 3a 3a 63 61 6c 6c 28 27 6d 6b 64 69 72 27 2c 20 24 64 69 72 2c 20 30 37 37 37 2c 20 74 72 er::call('mkdir',.$dir,.0777,.tr
72ea0 75 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 66 69 6c 65 5f 70 75 74 5f ue);.}.Silencer::call('file_put_
72ec0 63 6f 6e 74 65 6e 74 73 27 2c 20 24 64 69 72 20 2e 20 27 2f 2e 68 74 61 63 63 65 73 73 27 2c 20 contents',.$dir...'/.htaccess',.
72ee0 27 44 65 6e 79 20 66 72 6f 6d 20 61 6c 6c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 66 69 6c 65 'Deny.from.all');.}.}.}....$file
72f00 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f .=.new.JsonFile($config->get('ho
72f20 6d 65 27 29 2e 27 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d me').'/config.json');.if.($file-
72f40 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 >exists()).{.if.($io.&&.$io->isD
72f60 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 ebug()).{.$io->writeError('Loadi
72f80 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 ng.config.file.'...$file->getPat
72fa0 68 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 24 66 69 6c 65 2d 3e 72 65 h());.}.$config->merge($file->re
72fc0 61 64 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 ad());.}.$config->setConfigSourc
72fe0 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 6c 65 29 29 3b 0a e(new.JsonConfigSource($file));.
73000 0a 0a 20 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 2d ...$file.=.new.JsonFile($config-
73020 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 >get('home').'/auth.json');.if.(
73040 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 $file->exists()).{.if.($io.&&.$i
73060 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 o->isDebug()).{.$io->writeError(
73080 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 66 69 6c 65 2d 3e 'Loading.config.file.'...$file->
730a0 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 getPath());.}.$config->merge(arr
730c0 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 66 69 6c 65 2d 3e 72 65 61 64 28 29 29 29 3b 0a ay('config'.=>.$file->read()));.
730e0 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e }.$config->setAuthConfigSource(n
73100 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 6c 65 2c 20 74 72 75 65 29 ew.JsonConfigSource($file,.true)
73120 29 3b 0a 0a 0a 20 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 41 75 74 68 45 6e 76 20 3d 20 67 65 74 );....if.($composerAuthEnv.=.get
73140 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 29 20 7b 0a 24 61 75 74 68 44 61 74 env('COMPOSER_AUTH')).{.$authDat
73160 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 41 75 74 68 45 6e 76 a.=.json_decode($composerAuthEnv
73180 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 68 44 61 74 61 ,.true);..if.(null.===.$authData
731a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 ).{.throw.new.\UnexpectedValueEx
731c0 63 65 70 74 69 6f 6e 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 20 65 6e 76 69 72 6f 6e 6d 65 ception('COMPOSER_AUTH.environme
731e0 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 2c 20 73 68 6f 75 6c 64 nt.variable.is.malformed,.should
73200 20 62 65 20 61 20 76 61 6c 69 64 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 27 29 3b 0a 7d 0a 0a 69 66 .be.a.valid.JSON.object');.}..if
73220 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e .($io.&&.$io->isDebug()).{.$io->
73240 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 61 75 74 68 20 63 6f 6e 66 69 67 20 writeError('Loading.auth.config.
73260 66 72 6f 6d 20 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d from.COMPOSER_AUTH');.}.$config-
73280 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 61 75 74 68 44 61 >merge(array('config'.=>.$authDa
732a0 74 61 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c ta));.}..return.$config;.}..publ
732c0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 ic.static.function.getComposerFi
732e0 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f le().{.return.trim(getenv('COMPO
73300 53 45 52 27 29 29 20 3f 3a 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 7d 0a 0a SER')).?:.'./composer.json';.}..
73320 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 64 64 public.static.function.createAdd
73340 69 74 69 6f 6e 61 6c 53 74 79 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a itionalStyles().{.return.array(.
73360 27 68 69 67 68 6c 69 67 68 74 27 20 3d 3e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 'highlight'.=>.new.OutputFormatt
73380 65 72 53 74 79 6c 65 28 27 72 65 64 27 29 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 6e 65 77 erStyle('red'),.'warning'.=>.new
733a0 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 .OutputFormatterStyle('black',.'
733c0 79 65 6c 6c 6f 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 yellow'),.);.}.......public.stat
733e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 73 74 ic.function.createOutput().{.$st
73400 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 41 64 64 69 74 69 6f 6e 61 6c 53 74 79 yles.=.self::createAdditionalSty
73420 6c 65 73 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f les();.$formatter.=.new.OutputFo
73440 72 6d 61 74 74 65 72 28 66 61 6c 73 65 2c 20 24 73 74 79 6c 65 73 29 3b 0a 0a 72 65 74 75 72 6e rmatter(false,.$styles);..return
73460 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 .new.ConsoleOutput(ConsoleOutput
73480 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 6e 75 6c 6c 2c 20 24 66 6f 72 6d 61 ::VERBOSITY_NORMAL,.null,.$forma
734a0 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 tter);.}.....public.static.funct
734c0 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 49 4f ion.createDefaultRepositories(IO
734e0 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 43 6f 6e 66 69 67 20 24 63 6f Interface.$io.=.null,.Config.$co
73500 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 nfig.=.null,.RepositoryManager.$
73520 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 52 65 70 6f 73 69 74 6f 72 79 46 61 rm.=.null).{.return.RepositoryFa
73540 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 ctory::defaultRepos($io,.$config
73560 2c 20 24 72 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ,.$rm);.}..............public.fu
73580 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 49 4f 49 6e 74 65 72 66 61 63 nction.createComposer(IOInterfac
735a0 65 20 24 69 6f 2c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 e.$io,.$localConfig.=.null,.$dis
735c0 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c ablePlugins.=.false,.$cwd.=.null
735e0 2c 20 24 66 75 6c 6c 4c 6f 61 64 20 3d 20 74 72 75 65 29 0a 7b 0a 24 63 77 64 20 3d 20 24 63 77 ,.$fullLoad.=.true).{.$cwd.=.$cw
73600 64 20 3f 3a 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 d.?:.getcwd();....if.(null.===.$
73620 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 20 7b 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 73 74 localConfig).{.$localConfig.=.st
73640 61 74 69 63 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 7d 0a 0a 69 66 20 28 atic::getComposerFile();.}..if.(
73660 69 73 5f 73 74 72 69 6e 67 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 29 20 7b 0a 24 63 6f 6d 70 is_string($localConfig)).{.$comp
73680 6f 73 65 72 46 69 6c 65 20 3d 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 3b 0a 0a 24 66 69 6c 65 20 oserFile.=.$localConfig;..$file.
736a0 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2c 20 6e 75 6c =.new.JsonFile($localConfig,.nul
736c0 6c 2c 20 24 69 6f 29 3b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 l,.$io);..if.(!$file->exists()).
736e0 7b 0a 69 66 20 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 3d 3d 20 27 2e 2f 63 6f 6d 70 6f 73 {.if.($localConfig.===.'./compos
73700 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 3d 3d 20 27 63 6f er.json'.||.$localConfig.===.'co
73720 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 6d 70 mposer.json').{.$message.=.'Comp
73740 6f 73 65 72 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a oser.could.not.find.a.composer.j
73760 73 6f 6e 20 66 69 6c 65 20 69 6e 20 27 2e 24 63 77 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 son.file.in.'.$cwd;.}.else.{.$me
73780 73 73 61 67 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 ssage.=.'Composer.could.not.find
737a0 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 3a 20 27 2e 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 .the.config.file:.'.$localConfig
737c0 3b 0a 7d 0a 24 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 3d 20 27 54 6f 20 69 6e 69 74 69 61 6c 69 ;.}.$instructions.=.'To.initiali
737e0 7a 65 20 61 20 70 72 6f 6a 65 63 74 2c 20 70 6c 65 61 73 65 20 63 72 65 61 74 65 20 61 20 63 6f ze.a.project,.please.create.a.co
73800 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e mposer.json.file.as.described.in
73820 20 74 68 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 20 22 47 .the.https://getcomposer.org/."G
73840 65 74 74 69 6e 67 20 53 74 61 72 74 65 64 22 20 73 65 63 74 69 6f 6e 27 3b 0a 74 68 72 6f 77 20 etting.Started".section';.throw.
73860 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 6d new.\InvalidArgumentException($m
73880 65 73 73 61 67 65 2e 50 48 50 5f 45 4f 4c 2e 24 69 6e 73 74 72 75 63 74 69 6f 6e 73 29 3b 0a 7d essage.PHP_EOL.$instructions);.}
738a0 0a 0a 24 66 69 6c 65 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 ..$file->validateSchema(JsonFile
738c0 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 3b 0a 24 6a 73 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 ::LAX_SCHEMA);.$jsonParser.=.new
738e0 20 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 50 61 72 73 65 72 2d 3e .JsonParser;.try.{.$jsonParser->
73900 70 61 72 73 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 6f 63 61 6c 43 6f parse(file_get_contents($localCo
73920 6e 66 69 67 29 2c 20 4a 73 6f 6e 50 61 72 73 65 72 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f nfig),.JsonParser::DETECT_KEY_CO
73940 4e 46 4c 49 43 54 53 29 3b 0a 7d 20 63 61 74 63 68 20 28 44 75 70 6c 69 63 61 74 65 4b 65 79 45 NFLICTS);.}.catch.(DuplicateKeyE
73960 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 64 65 74 61 69 6c 73 20 3d 20 24 65 2d 3e 67 65 xception.$e).{.$details.=.$e->ge
73980 74 44 65 74 61 69 6c 73 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 tDetails();.$io->writeError('<wa
739a0 72 6e 69 6e 67 3e 4b 65 79 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 2e 27 20 69 73 rning>Key.'.$details['key'].'.is
739c0 20 61 20 64 75 70 6c 69 63 61 74 65 20 69 6e 20 27 2e 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2e 27 .a.duplicate.in.'.$localConfig.'
739e0 20 61 74 20 6c 69 6e 65 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6c 69 6e 65 27 5d 2e 27 3c 2f 77 .at.line.'.$details['line'].'</w
73a00 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 24 66 69 arning>');.}..$localConfig.=.$fi
73a20 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 le->read();.}....$config.=.stati
73a40 63 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 2c 20 24 63 77 64 29 3b 0a 24 63 6f 6e c::createConfig($io,.$cwd);.$con
73a60 66 69 67 2d 3e 6d 65 72 67 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 3b 0a 69 66 20 28 69 73 fig->merge($localConfig);.if.(is
73a80 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 set($composerFile)).{.$io->write
73aa0 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 Error('Loading.config.file.'...$
73ac0 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a composerFile,.true,.IOInterface:
73ae0 3a 44 45 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 :DEBUG);.$config->setConfigSourc
73b00 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 46 e(new.JsonConfigSource(new.JsonF
73b20 69 6c 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 2c 20 6e 75 6c ile(realpath($composerFile),.nul
73b40 6c 2c 20 24 69 6f 29 29 29 3b 0a 0a 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 20 3d 20 6e 65 77 l,.$io)));..$localAuthFile.=.new
73b60 20 4a 73 6f 6e 46 69 6c 65 28 64 69 72 6e 61 6d 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 .JsonFile(dirname(realpath($comp
73b80 6f 73 65 72 46 69 6c 65 29 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 2c 20 6e 75 6c 6c 2c oserFile))...'/auth.json',.null,
73ba0 20 24 69 6f 29 3b 0a 69 66 20 28 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e 65 78 69 73 74 .$io);.if.($localAuthFile->exist
73bc0 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 s()).{.$io->writeError('Loading.
73be0 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e config.file.'...$localAuthFile->
73c00 67 65 74 50 61 74 68 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 getPath(),.true,.IOInterface::DE
73c20 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 BUG);.$config->merge(array('conf
73c40 69 67 27 20 3d 3e 20 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 29 3b ig'.=>.$localAuthFile->read()));
73c60 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 .$config->setAuthConfigSource(ne
73c80 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c w.JsonConfigSource($localAuthFil
73ca0 65 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 63 6f e,.true));.}.}..$vendorDir.=.$co
73cc0 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 0a 0a 20 24 63 6f 6d nfig->get('vendor-dir');....$com
73ce0 70 6f 73 65 72 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 poser.=.new.Composer();.$compose
73d00 72 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f 6e 66 69 67 29 3b 0a 0a 69 66 20 28 24 66 75 6c r->setConfig($config);..if.($ful
73d20 6c 4c 6f 61 64 29 20 7b 0a 0a 20 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f lLoad).{...$io->loadConfiguratio
73d40 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 72 66 73 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 n($config);.}..$rfs.=.self::crea
73d60 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 teRemoteFilesystem($io,.$config)
73d80 3b 0a 0a 0a 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 65 77 20 45 76 65 6e 74 44 69 73 70 ;....$dispatcher.=.new.EventDisp
73da0 61 74 63 68 65 72 28 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 29 3b 0a 24 63 6f 6d 70 6f 73 65 atcher($composer,.$io);.$compose
73dc0 72 2d 3e 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 24 64 69 73 70 61 74 63 68 65 r->setEventDispatcher($dispatche
73de0 72 29 3b 0a 0a 0a 20 24 72 6d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a r);....$rm.=.RepositoryFactory::
73e00 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 70 61 74 63 68 65 manager($io,.$config,.$dispatche
73e20 72 2c 20 24 72 66 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f r,.$rfs);.$composer->setReposito
73e40 72 79 4d 61 6e 61 67 65 72 28 24 72 6d 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 61 64 64 4c 6f 63 ryManager($rm);....$this->addLoc
73e60 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6f 2c 20 24 72 6d 2c 20 24 76 65 6e 64 6f 72 44 69 alRepository($io,.$rm,.$vendorDi
73e80 72 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 24 66 75 6c 6c 4c 6f 61 64 20 26 26 20 21 69 73 73 65 r);......if.(!$fullLoad.&&.!isse
73ea0 74 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 6c t($localConfig['version'])).{.$l
73ec0 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 27 3b ocalConfig['version'].=.'1.0.0';
73ee0 0a 7d 0a 0a 0a 20 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 .}....$parser.=.new.VersionParse
73f00 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 r;.$guesser.=.new.VersionGuesser
73f20 28 24 63 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 ($config,.new.ProcessExecutor($i
73f40 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b o),.$parser);.$loader.=.new.Pack
73f60 61 67 65 5c 4c 6f 61 64 65 72 5c 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 28 24 72 6d age\Loader\RootPackageLoader($rm
73f80 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 72 73 65 72 2c 20 24 67 75 65 73 73 65 72 29 3b 0a 24 ,.$config,.$parser,.$guesser);.$
73fa0 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6c 6f 63 61 6c 43 6f package.=.$loader->load($localCo
73fc0 6e 66 69 67 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b nfig,.'Composer\Package\RootPack
73fe0 61 67 65 27 2c 20 24 63 77 64 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 50 61 63 6b 61 age',.$cwd);.$composer->setPacka
74000 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 24 69 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 ge($package);....$im.=.$this->cr
74020 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 24 63 6f 6d 70 eateInstallationManager();.$comp
74040 6f 73 65 72 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 24 69 6d oser->setInstallationManager($im
74060 29 3b 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 0a 20 24 64 6d 20 3d 20 24 74 68 );..if.($fullLoad).{...$dm.=.$th
74080 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 is->createDownloadManager($io,.$
740a0 63 6f 6e 66 69 67 2c 20 24 64 69 73 70 61 74 63 68 65 72 2c 20 24 72 66 73 29 3b 0a 24 63 6f 6d config,.$dispatcher,.$rfs);.$com
740c0 70 6f 73 65 72 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 64 6d 29 3b 0a poser->setDownloadManager($dm);.
740e0 0a 0a 20 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 ...$generator.=.new.AutoloadGene
74100 72 61 74 6f 72 28 24 64 69 73 70 61 74 63 68 65 72 2c 20 24 69 6f 29 3b 0a 24 63 6f 6d 70 6f 73 rator($dispatcher,.$io);.$compos
74120 65 72 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 24 67 65 6e 65 72 61 er->setAutoloadGenerator($genera
74140 74 6f 72 29 3b 0a 0a 0a 20 24 61 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 72 63 68 tor);....$am.=.$this->createArch
74160 69 76 65 4d 61 6e 61 67 65 72 28 24 63 6f 6e 66 69 67 2c 20 24 64 6d 29 3b 0a 24 63 6f 6d 70 6f iveManager($config,.$dm);.$compo
74180 73 65 72 2d 3e 73 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 61 6d 29 3b 0a 7d 0a 0a ser->setArchiveManager($am);.}..
741a0 0a 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 61 75 6c 74 49 6e 73 74 61 6c 6c 65 72 73 ..$this->createDefaultInstallers
741c0 28 24 69 6d 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 29 3b 0a 0a 69 66 20 28 24 66 75 6c ($im,.$composer,.$io);..if.($ful
741e0 6c 4c 6f 61 64 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b lLoad).{.$globalComposer.=.null;
74200 0a 69 66 20 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 .if.(realpath($config->get('home
74220 27 29 29 20 21 3d 3d 20 24 63 77 64 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 ')).!==.$cwd).{.$globalComposer.
74240 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 28 24 69 =.$this->createGlobalComposer($i
74260 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a o,.$config,.$disablePlugins);.}.
74280 0a 24 70 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6c 75 67 69 6e 4d 61 6e 61 67 65 .$pm.=.$this->createPluginManage
742a0 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 r($io,.$composer,.$globalCompose
742c0 72 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e r,.$disablePlugins);.$composer->
742e0 73 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 70 6d 29 3b 0a 0a 24 70 6d 2d 3e 6c 6f 61 setPluginManager($pm);..$pm->loa
74300 64 49 6e 73 74 61 6c 6c 65 64 50 6c 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 66 dInstalledPlugins();.}....if.($f
74320 75 6c 6c 4c 6f 61 64 20 26 26 20 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 ullLoad.&&.isset($composerFile))
74340 20 7b 0a 24 6c 6f 63 6b 46 69 6c 65 20 3d 20 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 61 74 68 69 6e .{.$lockFile.=."json".===.pathin
74360 66 6f 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e fo($composerFile,.PATHINFO_EXTEN
74380 53 49 4f 4e 29 0a 3f 20 73 75 62 73 74 72 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 30 2c SION).?.substr($composerFile,.0,
743a0 20 2d 34 29 2e 27 6c 6f 63 6b 27 0a 3a 20 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 20 2e 20 27 2e .-4).'lock'.:.$composerFile...'.
743c0 6c 6f 63 6b 27 3b 0a 0a 24 6c 6f 63 6b 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 5c 4c 6f lock';..$locker.=.new.Package\Lo
743e0 63 6b 65 72 28 24 69 6f 2c 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 6b 46 69 6c 65 cker($io,.new.JsonFile($lockFile
74400 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 2c 20 24 72 6d 2c 20 24 69 6d 2c 20 66 69 6c 65 5f 67 65 74 ,.null,.$io),.$rm,.$im,.file_get
74420 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 3b 0a 24 63 6f 6d 70 _contents($composerFile));.$comp
74440 6f 73 65 72 2d 3e 73 65 74 4c 6f 63 6b 65 72 28 24 6c 6f 63 6b 65 72 29 3b 0a 7d 0a 0a 69 66 20 oser->setLocker($locker);.}..if.
74460 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 24 69 6e 69 74 45 76 65 6e 74 20 3d 20 6e 65 77 20 45 ($fullLoad).{.$initEvent.=.new.E
74480 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 49 4e 49 54 29 3b 0a 24 63 6f 6d 70 6f vent(PluginEvents::INIT);.$compo
744a0 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 ser->getEventDispatcher()->dispa
744c0 74 63 68 28 24 69 6e 69 74 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 69 6e 69 74 tch($initEvent->getName(),.$init
744e0 45 76 65 6e 74 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 Event);......if.($rm->getLocalRe
74500 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 75 72 67 65 50 61 63 6b 61 67 pository()).{.$this->purgePackag
74520 65 73 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 69 es($rm->getLocalRepository(),.$i
74540 6d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a m);.}.}..return.$composer;.}....
74560 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 ...public.static.function.create
74580 47 6c 6f 62 61 6c 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 69 73 61 62 6c 65 Global(IOInterface.$io,.$disable
745a0 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 Plugins.=.false).{.$factory.=.ne
745c0 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 w.static();..return.$factory->cr
745e0 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 73 74 61 74 69 63 3a 3a eateGlobalComposer($io,.static::
74600 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 createConfig($io),.$disablePlugi
74620 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ns,.true);.}......protected.func
74640 74 69 6f 6e 20 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 49 4f 49 6e 74 65 72 66 tion.addLocalRepository(IOInterf
74660 61 63 65 20 24 69 6f 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 2c 20 ace.$io,.RepositoryManager.$rm,.
74680 24 76 65 6e 64 6f 72 44 69 72 29 0a 7b 0a 24 72 6d 2d 3e 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 $vendorDir).{.$rm->setLocalRepos
746a0 69 74 6f 72 79 28 6e 65 77 20 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 46 69 itory(new.Repository\InstalledFi
746c0 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 lesystemRepository(new.JsonFile(
746e0 24 76 65 6e 64 6f 72 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 69 6e 73 74 61 6c 6c 65 64 2e $vendorDir.'/composer/installed.
74700 6a 73 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 json',.null,.$io)));.}......prot
74720 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f ected.function.createGlobalCompo
74740 73 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e ser(IOInterface.$io,.Config.$con
74760 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 2c 20 24 66 75 6c 6c 4c 6f 61 64 20 fig,.$disablePlugins,.$fullLoad.
74780 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 74 72 79 =.false).{.$composer.=.null;.try
747a0 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 43 6f 6d 70 .{.$composer.=.$this->createComp
747c0 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 2e oser($io,.$config->get('home')..
747e0 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 .'/composer.json',.$disablePlugi
74800 6e 73 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2c 20 24 66 75 6c 6c 4c ns,.$config->get('home'),.$fullL
74820 6f 61 64 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a oad);.}.catch.(\Exception.$e).{.
74840 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 64 20 74 6f 20 69 6e 69 74 69 $io->writeError('Failed.to.initi
74860 61 6c 69 7a 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f 73 65 72 3a 20 27 2e 24 65 2d 3e 67 65 74 alize.global.composer:.'.$e->get
74880 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 Message(),.true,.IOInterface::DE
748a0 42 55 47 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a BUG);.}..return.$composer;.}....
748c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 6f 77 6e 6c 6f ....public.function.createDownlo
748e0 61 64 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 adManager(IOInterface.$io,.Confi
74900 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e g.$config,.EventDispatcher.$even
74920 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 tDispatcher.=.null,.RemoteFilesy
74940 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 61 63 68 65 20 3d 20 6e 75 6c stem.$rfs.=.null).{.$cache.=.nul
74960 6c 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 l;.if.($config->get('cache-files
74980 2d 74 74 6c 27 29 20 3e 20 30 29 20 7b 0a 24 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 -ttl').>.0).{.$cache.=.new.Cache
749a0 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d ($io,.$config->get('cache-files-
749c0 64 69 72 27 29 2c 20 27 61 2d 7a 30 2d 39 5f 2e 2f 27 29 3b 0a 7d 0a 0a 24 64 6d 20 3d 20 6e 65 dir'),.'a-z0-9_./');.}..$dm.=.ne
749e0 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f w.Downloader\DownloadManager($io
74a00 29 3b 0a 73 77 69 74 63 68 20 28 24 70 72 65 66 65 72 72 65 64 20 3d 20 24 63 6f 6e 66 69 67 2d );.switch.($preferred.=.$config-
74a20 3e 67 65 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 29 20 7b 0a 63 61 73 >get('preferred-install')).{.cas
74a40 65 20 27 64 69 73 74 27 3a 0a 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 74 72 75 e.'dist':.$dm->setPreferDist(tru
74a60 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 64 6d 2d 3e 73 e);.break;.case.'source':.$dm->s
74a80 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 74 72 75 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 etPreferSource(true);.break;.cas
74aa0 65 20 27 61 75 74 6f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 0a 69 e.'auto':.default:...break;.}..i
74ac0 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 72 65 66 65 72 72 65 64 29 29 20 7b 0a 24 64 6d 2d 3e f.(is_array($preferred)).{.$dm->
74ae0 73 65 74 50 72 65 66 65 72 65 6e 63 65 73 28 24 70 72 65 66 65 72 72 65 64 29 3b 0a 7d 0a 0a 24 setPreferences($preferred);.}..$
74b00 65 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 executor.=.new.ProcessExecutor($
74b20 69 6f 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 65 78 65 63 75 io);.$fs.=.new.Filesystem($execu
74b40 74 6f 72 29 3b 0a 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 67 69 74 27 2c tor);..$dm->setDownloader('git',
74b60 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 .new.Downloader\GitDownloader($i
74b80 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 o,.$config,.$executor,.$fs));.$d
74ba0 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 73 76 6e 27 2c 20 6e 65 77 20 44 6f 77 6e m->setDownloader('svn',.new.Down
74bc0 6c 6f 61 64 65 72 5c 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 loader\SvnDownloader($io,.$confi
74be0 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 g,.$executor,.$fs));.$dm->setDow
74c00 6e 6c 6f 61 64 65 72 28 27 66 6f 73 73 69 6c 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 nloader('fossil',.new.Downloader
74c20 5c 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 \FossilDownloader($io,.$config,.
74c40 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f $executor,.$fs));.$dm->setDownlo
74c60 61 64 65 72 28 27 68 67 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 48 67 44 6f 77 6e ader('hg',.new.Downloader\HgDown
74c80 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 loader($io,.$config,.$executor,.
74ca0 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 70 65 72 66 6f $fs));.$dm->setDownloader('perfo
74cc0 72 63 65 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 65 72 66 6f 72 63 65 44 6f 77 rce',.new.Downloader\PerforceDow
74ce0 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 nloader($io,.$config));.$dm->set
74d00 44 6f 77 6e 6c 6f 61 64 65 72 28 27 7a 69 70 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 Downloader('zip',.new.Downloader
74d20 5c 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 \ZipDownloader($io,.$config,.$ev
74d40 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 entDispatcher,.$cache,.$executor
74d60 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 72 61 ,.$rfs));.$dm->setDownloader('ra
74d80 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 r',.new.Downloader\RarDownloader
74da0 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c ($io,.$config,.$eventDispatcher,
74dc0 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d .$cache,.$executor,.$rfs));.$dm-
74de0 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 74 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f >setDownloader('tar',.new.Downlo
74e00 61 64 65 72 5c 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c ader\TarDownloader($io,.$config,
74e20 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 .$eventDispatcher,.$cache,.$rfs)
74e40 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 67 7a 69 70 27 2c 20 6e 65 );.$dm->setDownloader('gzip',.ne
74e60 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 7a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c w.Downloader\GzipDownloader($io,
74e80 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 .$config,.$eventDispatcher,.$cac
74ea0 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 he,.$executor,.$rfs));.$dm->setD
74ec0 6f 77 6e 6c 6f 61 64 65 72 28 27 78 7a 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 58 ownloader('xz',.new.Downloader\X
74ee0 7a 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 zDownloader($io,.$config,.$event
74f00 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 Dispatcher,.$cache,.$executor,.$
74f20 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 70 68 61 72 27 rfs));.$dm->setDownloader('phar'
74f40 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 68 61 72 44 6f 77 6e 6c 6f 61 64 65 72 28 ,.new.Downloader\PharDownloader(
74f60 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 $io,.$config,.$eventDispatcher,.
74f80 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 $cache,.$rfs));.$dm->setDownload
74fa0 65 72 28 27 66 69 6c 65 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 69 6c 65 44 6f er('file',.new.Downloader\FileDo
74fc0 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 wnloader($io,.$config,.$eventDis
74fe0 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 patcher,.$cache,.$rfs));.$dm->se
75000 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 70 61 74 68 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 tDownloader('path',.new.Download
75020 65 72 5c 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 er\PathDownloader($io,.$config,.
75040 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 $eventDispatcher,.$cache,.$rfs))
75060 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ;..return.$dm;.}.......public.fu
75080 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 43 6f 6e 66 nction.createArchiveManager(Conf
750a0 69 67 20 24 63 6f 6e 66 69 67 2c 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d ig.$config,.Downloader\DownloadM
750c0 61 6e 61 67 65 72 20 24 64 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d anager.$dm.=.null).{.if.(null.==
750e0 3d 20 24 64 6d 29 20 7b 0a 24 69 6f 20 3d 20 6e 65 77 20 49 4f 5c 4e 75 6c 6c 49 4f 28 29 3b 0a =.$dm).{.$io.=.new.IO\NullIO();.
75100 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b $io->loadConfiguration($config);
75120 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 .$dm.=.$this->createDownloadMana
75140 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 61 6d 20 3d 20 6e 65 77 20 ger($io,.$config);.}..$am.=.new.
75160 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 64 6d 29 3b 0a 24 61 Archiver\ArchiveManager($dm);.$a
75180 6d 2d 3e 61 64 64 41 72 63 68 69 76 65 72 28 6e 65 77 20 41 72 63 68 69 76 65 72 5c 5a 69 70 41 m->addArchiver(new.Archiver\ZipA
751a0 72 63 68 69 76 65 72 29 3b 0a 24 61 6d 2d 3e 61 64 64 41 72 63 68 69 76 65 72 28 6e 65 77 20 41 rchiver);.$am->addArchiver(new.A
751c0 72 63 68 69 76 65 72 5c 50 68 61 72 41 72 63 68 69 76 65 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 rchiver\PharArchiver);..return.$
751e0 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e am;.}.........protected.function
75200 20 63 72 65 61 74 65 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 .createPluginManager(IOInterface
75220 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 43 6f 6d 70 6f 73 .$io,.Composer.$composer,.Compos
75240 65 72 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 er.$globalComposer.=.null,.$disa
75260 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 blePlugins.=.false).{.return.new
75280 20 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 .Plugin\PluginManager($io,.$comp
752a0 6f 73 65 72 2c 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2c 20 24 64 69 73 61 62 6c 65 50 oser,.$globalComposer,.$disableP
752c0 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f lugins);.}.....protected.functio
752e0 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a n.createInstallationManager().{.
75300 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f return.new.Installer\Installatio
75320 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 nManager();.}.......protected.fu
75340 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 49 6e 73 74 61 6c 6c 65 72 73 28 49 nction.createDefaultInstallers(I
75360 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6d nstaller\InstallationManager.$im
75380 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 ,.Composer.$composer,.IOInterfac
753a0 65 20 24 69 6f 29 0a 7b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 e.$io).{.$im->addInstaller(new.I
753c0 6e 73 74 61 6c 6c 65 72 5c 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 24 nstaller\LibraryInstaller($io,.$
753e0 63 6f 6d 70 6f 73 65 72 2c 20 6e 75 6c 6c 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c composer,.null));.$im->addInstal
75400 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 28 ler(new.Installer\PearInstaller(
75420 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 29 $io,.$composer,.'pear-library'))
75440 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 ;.$im->addInstaller(new.Installe
75460 72 5c 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 r\PluginInstaller($io,.$composer
75480 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c ));.$im->addInstaller(new.Instal
754a0 6c 65 72 5c 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 72 28 29 29 3b 0a 7d 0a 0a ler\MetapackageInstaller());.}..
754c0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 75 72 67 65 50 61 63 6b ....protected.function.purgePack
754e0 61 67 65 73 28 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ages(WritableRepositoryInterface
75500 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 .$repo,.Installer\InstallationMa
75520 6e 61 67 65 72 20 24 69 6d 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 nager.$im).{.foreach.($repo->get
75540 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 24 Packages().as.$package).{.if.(!$
75560 69 6d 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 im->isPackageInstalled($repo,.$p
75580 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 ackage)).{.$repo->removePackage(
755a0 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $package);.}.}.}.........public.
755c0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 49 4f 49 6e 74 65 72 66 61 static.function.create(IOInterfa
755e0 63 65 20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 ce.$io,.$config.=.null,.$disable
75600 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 Plugins.=.false).{.$factory.=.ne
75620 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 w.static();..return.$factory->cr
75640 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 eateComposer($io,.$config,.$disa
75660 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 blePlugins);.}........public.sta
75680 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 tic.function.createRemoteFilesys
756a0 74 65 6d 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e tem(IOInterface.$io,.Config.$con
756c0 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a fig.=.null,.$options.=.array()).
756e0 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 24 64 69 73 61 62 {.static.$warned.=.false;.$disab
75700 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 63 leTls.=.false;.if.($config.&&.$c
75720 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 onfig->get('disable-tls').===.tr
75740 75 65 29 20 7b 0a 69 66 20 28 21 24 77 61 72 6e 65 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ue).{.if.(!$warned).{.$io->write
75760 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 43 6f 6d 70 6f ('<warning>You.are.running.Compo
75780 73 65 72 20 77 69 74 68 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 64 69 73 61 ser.with.SSL/TLS.protection.disa
757a0 62 6c 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 77 61 72 6e 65 64 20 3d 20 74 bled.</warning>');.}.$warned.=.t
757c0 72 75 65 3b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 rue;.$disableTls.=.true;.}.elsei
757e0 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 f.(!extension_loaded('openssl'))
75800 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 45 78 63 65 70 74 69 6f 6e 5c 4e 6f 53 73 6c 45 78 63 65 .{.throw.new.Exception\NoSslExce
75820 70 74 69 6f 6e 28 27 54 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 ption('The.openssl.extension.is.
75840 72 65 71 75 69 72 65 64 20 66 6f 72 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 required.for.SSL/TLS.protection.
75860 62 75 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 27 0a 2e 20 27 49 66 20 79 6f but.is.not.available..'...'If.yo
75880 75 20 63 61 6e 20 6e 6f 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 u.can.not.enable.the.openssl.ext
758a0 65 6e 73 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 ension,.you.can.disable.this.err
758c0 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 or,.at.your.own.risk,.by.setting
758e0 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 .the.\'disable-tls\'.option.to.t
75900 72 75 65 2e 27 29 3b 0a 7d 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f rue.');.}.$remoteFilesystemOptio
75920 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d ns.=.array();.if.($disableTls.==
75940 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 63 6f 6e 66 69 =.false).{.if.($config.&&.$confi
75960 67 2d 3e 67 65 74 28 27 63 61 66 69 6c 65 27 29 29 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 g->get('cafile')).{.$remoteFiles
75980 79 73 74 65 6d 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 ystemOptions['ssl']['cafile'].=.
759a0 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 66 69 6c 65 27 29 3b 0a 7d 0a 69 66 20 28 24 63 $config->get('cafile');.}.if.($c
759c0 6f 6e 66 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 70 61 74 68 27 29 29 onfig.&&.$config->get('capath'))
759e0 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 5b 27 73 73 6c .{.$remoteFilesystemOptions['ssl
75a00 27 5d 5b 27 63 61 70 61 74 68 27 5d 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 70 ']['capath'].=.$config->get('cap
75a20 61 74 68 27 29 3b 0a 7d 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e ath');.}.$remoteFilesystemOption
75a40 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 72 65 6d s.=.array_replace_recursive($rem
75a60 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b oteFilesystemOptions,.$options);
75a80 0a 7d 0a 74 72 79 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 .}.try.{.$remoteFilesystem.=.new
75aa0 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 .RemoteFilesystem($io,.$config,.
75ac0 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 2c 20 24 64 69 73 61 62 $remoteFilesystemOptions,.$disab
75ae0 6c 65 54 6c 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 leTls);.}.catch.(TransportExcept
75b00 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 ion.$e).{.if.(false.!==.strpos($
75b20 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 63 61 66 69 6c 65 27 29 29 20 7b 0a 24 69 e->getMessage(),.'cafile')).{.$i
75b40 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 55 6e 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 o->write('<error>Unable.to.locat
75b60 65 20 61 20 76 61 6c 69 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 2e 20 59 e.a.valid.CA.certificate.file..Y
75b80 6f 75 20 6d 75 73 74 20 73 65 74 20 61 20 76 61 6c 69 64 20 5c 27 63 61 66 69 6c 65 5c 27 20 6f ou.must.set.a.valid.\'cafile\'.o
75ba0 70 74 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 ption.</error>');.$io->write('<e
75bc0 72 72 6f 72 3e 41 20 76 61 6c 69 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 rror>A.valid.CA.certificate.file
75be0 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 .is.required.for.SSL/TLS.protect
75c00 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f ion.</error>');.if.(PHP_VERSION_
75c20 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 ID.<.50600).{.$io->write('<error
75c40 3e 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 79 6f 75 20 75 70 67 72 61 64 65 20 74 >It.is.recommended.you.upgrade.t
75c60 6f 20 50 48 50 20 35 2e 36 2b 20 77 68 69 63 68 20 63 61 6e 20 64 65 74 65 63 74 20 79 6f 75 72 o.PHP.5.6+.which.can.detect.your
75c80 20 73 79 73 74 65 6d 20 43 41 20 66 69 6c 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 3c 2f .system.CA.file.automatically.</
75ca0 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 59 error>');.}.$io->write('<error>Y
75cc0 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f ou.can.disable.this.error,.at.yo
75ce0 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 ur.own.risk,.by.setting.the.\'di
75d00 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 3c 2f 65 72 72 sable-tls\'.option.to.true.</err
75d20 6f 72 3e 27 29 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 or>');.}.throw.$e;.}..return.$re
75d40 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 moteFilesystem;.}.....private.st
75d60 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 58 64 67 28 29 0a 7b 0a 66 6f 72 65 61 63 68 atic.function.useXdg().{.foreach
75d80 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 5f 53 45 52 56 45 52 29 20 61 73 20 24 6b 65 79 29 20 .(array_keys($_SERVER).as.$key).
75da0 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 58 44 {.if.(substr($key,.0,.4).===.'XD
75dc0 47 5f 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 G_').{.return.true;.}.}..return.
75de0 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e false;.}......private.static.fun
75e00 63 74 69 6f 6e 20 67 65 74 55 73 65 72 44 69 72 28 29 0a 7b 0a 24 68 6f 6d 65 20 3d 20 67 65 74 ction.getUserDir().{.$home.=.get
75e20 65 6e 76 28 27 48 4f 4d 45 27 29 3b 0a 69 66 20 28 21 24 68 6f 6d 65 29 20 7b 0a 74 68 72 6f 77 env('HOME');.if.(!$home).{.throw
75e40 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 48 4f 4d 45 .new.\RuntimeException('The.HOME
75e60 20 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 .or.COMPOSER_HOME.environment.va
75e80 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 20 riable.must.be.set.for.composer.
75ea0 74 6f 20 72 75 6e 20 63 6f 72 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 to.run.correctly');.}..return.rt
75ec0 72 69 6d 28 73 74 72 74 72 28 24 68 6f 6d 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 rim(strtr($home,.'\\',.'/'),.'/'
75ee0 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
75f00 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e e.Composer\IO;..use.Composer\Con
75f20 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 fig;.use.Composer\Util\ProcessEx
75f40 65 63 75 74 6f 72 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 ecutor;.use.Psr\Log\LoggerInterf
75f60 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 0a 61 62 73 74 ace;.use.Psr\Log\LogLevel;..abst
75f80 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 49 4f 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 4f 49 ract.class.BaseIO.implements.IOI
75fa0 6e 74 65 72 66 61 63 65 2c 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 nterface,.LoggerInterface.{.prot
75fc0 65 63 74 65 64 20 24 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 ected.$authentications.=.array()
75fe0 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 ;.....public.function.getAuthent
76000 69 63 61 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 65 ications().{.return.$this->authe
76020 6e 74 69 63 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ntications;.}.....public.functio
76040 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e n.hasAuthentication($repositoryN
76060 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 75 74 68 65 ame).{.return.isset($this->authe
76080 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 29 3b 0a 7d 0a ntications[$repositoryName]);.}.
760a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 ....public.function.getAuthentic
760c0 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 69 73 73 ation($repositoryName).{.if.(iss
760e0 65 74 28 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 et($this->authentications[$repos
76100 69 74 6f 72 79 4e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 itoryName])).{.return.$this->aut
76120 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 3b 0a 7d hentications[$repositoryName];.}
76140 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 6e 75 6c ..return.array('username'.=>.nul
76160 6c 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 l,.'password'.=>.null);.}.....pu
76180 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 blic.function.setAuthentication(
761a0 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 $repositoryName,.$username,.$pas
761c0 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 sword.=.null).{.$this->authentic
761e0 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 ations[$repositoryName].=.array(
76200 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 75 73 65 72 6e 61 6d 65 2c 20 27 70 61 73 73 77 6f 'username'.=>.$username,.'passwo
76220 72 64 27 20 3d 3e 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f rd'.=>.$password);.}.........pro
76240 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 tected.function.checkAndSetAuthe
76260 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 ntication($repositoryName,.$user
76280 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 name,.$password.=.null).{.if.($t
762a0 68 69 73 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f his->hasAuthentication($reposito
762c0 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 ryName)).{.$auth.=.$this->getAut
762e0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 69 66 hentication($repositoryName);.if
76300 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 3d 3d 20 24 75 73 65 72 6e 61 6d .($auth['username'].===.$usernam
76320 65 20 26 26 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 24 70 61 73 73 e.&&.$auth['password'].===.$pass
76340 77 6f 72 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 word).{.return;.}..$this->writeE
76360 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 0a 22 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 rror(.sprintf(."<warning>Warning
76380 3a 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 6f 76 65 72 77 72 69 74 69 6e 67 20 61 :.You.should.avoid.overwriting.a
763a0 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 61 75 74 68 20 73 65 74 74 69 6e 67 73 20 66 6f 72 lready.defined.auth.settings.for
763c0 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 2c 0a 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 .%s.</warning>",.$repositoryName
763e0 0a 29 0a 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e .).);.}.$this->setAuthentication
76400 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 ($repositoryName,.$username,.$pa
76420 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c ssword);.}.....public.function.l
76440 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 oadConfiguration(Config.$config)
76460 0a 7b 0a 24 62 69 74 62 75 63 6b 65 74 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 .{.$bitbucketOauth.=.$config->ge
76480 74 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b t('bitbucket-oauth').?:.array();
764a0 0a 24 67 69 74 68 75 62 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 .$githubOauth.=.$config->get('gi
764c0 74 68 75 62 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 67 69 74 6c 61 62 thub-oauth').?:.array();.$gitlab
764e0 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 6f 61 75 Oauth.=.$config->get('gitlab-oau
76500 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 67 69 74 6c 61 62 54 6f 6b 65 6e 20 3d 20 th').?:.array();.$gitlabToken.=.
76520 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 20 3f 3a 20 $config->get('gitlab-token').?:.
76540 61 72 72 61 79 28 29 3b 0a 24 68 74 74 70 42 61 73 69 63 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 array();.$httpBasic.=.$config->g
76560 65 74 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a et('http-basic').?:.array();....
76580 66 6f 72 65 61 63 68 20 28 24 62 69 74 62 75 63 6b 65 74 4f 61 75 74 68 20 61 73 20 24 64 6f 6d foreach.($bitbucketOauth.as.$dom
765a0 61 69 6e 20 3d 3e 20 24 63 72 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 ain.=>.$cred).{.$this->checkAndS
765c0 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 63 72 65 64 5b etAuthentication($domain,.$cred[
765e0 27 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 27 5d 2c 20 24 63 72 65 64 5b 27 63 6f 6e 73 75 6d 65 72 'consumer-key'],.$cred['consumer
76600 2d 73 65 63 72 65 74 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 67 69 74 68 75 62 4f -secret']);.}..foreach.($githubO
76620 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 auth.as.$domain.=>.$token).{.if.
76640 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 2e 61 2d 7a 30 2d 39 5d 2b 24 7d 27 2c 20 24 (!preg_match('{^[.a-z0-9]+$}',.$
76660 74 6f 6b 65 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 token)).{.throw.new.\UnexpectedV
76680 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 72 20 67 69 74 68 75 62 20 6f 61 75 74 68 alueException('Your.github.oauth
766a0 20 74 6f 6b 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 63 6f 6e 74 61 69 6e 73 20 .token.for.'.$domain.'.contains.
766c0 69 6e 76 61 6c 69 64 20 63 68 61 72 61 63 74 65 72 73 3a 20 22 27 2e 24 74 6f 6b 65 6e 2e 27 22 invalid.characters:."'.$token.'"
766e0 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 ');.}.$this->checkAndSetAuthenti
76700 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 cation($domain,.$token,.'x-oauth
76720 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 67 69 74 6c 61 62 4f 61 75 -basic');.}..foreach.($gitlabOau
76740 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 th.as.$domain.=>.$token).{.$this
76760 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d ->checkAndSetAuthentication($dom
76780 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 ain,.$token,.'oauth2');.}..forea
767a0 63 68 20 28 24 67 69 74 6c 61 62 54 6f 6b 65 6e 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 ch.($gitlabToken.as.$domain.=>.$
767c0 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 token).{.$this->checkAndSetAuthe
767e0 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 70 72 69 76 ntication($domain,.$token,.'priv
76800 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 68 74 74 70 ate-token');.}....foreach.($http
76820 42 61 73 69 63 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 63 72 65 64 29 20 7b 0a 24 74 68 Basic.as.$domain.=>.$cred).{.$th
76840 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 is->checkAndSetAuthentication($d
76860 6f 6d 61 69 6e 2c 20 24 63 72 65 64 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 63 72 65 64 5b omain,.$cred['username'],.$cred[
76880 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 7d 0a 0a 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 'password']);.}....ProcessExecut
768a0 6f 72 3a 3a 73 65 74 54 69 6d 65 6f 75 74 28 28 69 6e 74 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 or::setTimeout((int).$config->ge
768c0 74 28 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a t('process-timeout'));.}........
768e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 79 28 24 6d 65 73 73 .public.function.emergency($mess
76900 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b age,.array.$context.=.array()).{
76920 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 .return.$this->log(LogLevel::EME
76940 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a RGENCY,.$message,.$context);.}..
76960 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 ..........public.function.alert(
76980 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 $message,.array.$context.=.array
769a0 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c ()).{.return.$this->log(LogLevel
769c0 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a ::ALERT,.$message,.$context);.}.
769e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 ..........public.function.critic
76a00 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 al($message,.array.$context.=.ar
76a20 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 ray()).{.return.$this->log(LogLe
76a40 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 vel::CRITICAL,.$message,.$contex
76a60 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 t);.}..........public.function.e
76a80 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 rror($message,.array.$context.=.
76aa0 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 array()).{.return.$this->log(Log
76ac0 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 Level::ERROR,.$message,.$context
76ae0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 );.}............public.function.
76b00 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 warning($message,.array.$context
76b20 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 .=.array()).{.return.$this->log(
76b40 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f LogLevel::WARNING,.$message,.$co
76b60 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ntext);.}.........public.functio
76b80 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 n.notice($message,.array.$contex
76ba0 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 t.=.array()).{.return.$this->log
76bc0 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f (LogLevel::NOTICE,.$message,.$co
76be0 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ntext);.}...........public.funct
76c00 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 ion.info($message,.array.$contex
76c20 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 t.=.array()).{.return.$this->log
76c40 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 (LogLevel::INFO,.$message,.$cont
76c60 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ext);.}.........public.function.
76c80 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d debug($message,.array.$context.=
76ca0 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f .array()).{.return.$this->log(Lo
76cc0 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 gLevel::DEBUG,.$message,.$contex
76ce0 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c t);.}..........public.function.l
76d00 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 og($level,.$message,.array.$cont
76d20 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6c ext.=.array()).{.if.(in_array($l
76d40 65 76 65 6c 2c 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c evel,.array(LogLevel::EMERGENCY,
76d60 20 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 .LogLevel::ALERT,.LogLevel::CRIT
76d80 49 43 41 4c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 29 29 29 20 7b 0a 24 74 68 69 73 ICAL,.LogLevel::ERROR))).{.$this
76da0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 6d 65 73 73 61 67 65 2e ->writeError('<error>'.$message.
76dc0 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b '</error>',.true,.self::NORMAL);
76de0 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a 3a .}.elseif.($level.===.LogLevel::
76e00 57 41 52 4e 49 4e 47 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 WARNING).{.$this->writeError('<w
76e20 61 72 6e 69 6e 67 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 arning>'.$message.'</warning>',.
76e40 74 72 75 65 2c 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 true,.self::NORMAL);.}.elseif.($
76e60 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 29 20 7b 0a 24 74 level.===.LogLevel::NOTICE).{.$t
76e80 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 6d 65 73 73 61 67 his->writeError('<info>'.$messag
76ea0 65 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 45 e.'</info>',.true,.self::VERBOSE
76ec0 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c );.}.elseif.($level.===.LogLevel
76ee0 3a 3a 49 4e 46 4f 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e ::INFO).{.$this->writeError('<in
76f00 66 6f 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 73 fo>'.$message.'</info>',.true,.s
76f20 65 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 elf::VERY_VERBOSE);.}.else.{.$th
76f40 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 74 72 75 65 2c 20 73 is->writeError($message,.true,.s
76f60 65 6c 66 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a elf::DEBUG);.}.}.}.<?php........
76f80 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 ....namespace.Composer\IO;..use.
76fa0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
76fc0 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f \StreamOutput;.use.Symfony\Compo
76fe0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 nent\Console\Formatter\OutputFor
77000 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d matterInterface;.use.Symfony\Com
77020 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 ponent\Console\Input\StringInput
77040 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
77060 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 Helper\HelperSet;.....class.Buff
77080 65 72 49 4f 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 49 4f 0a 7b 0a 0a 0a 0a 0a 0a 70 75 erIO.extends.ConsoleIO.{......pu
770a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 blic.function.__construct($input
770c0 20 3d 20 27 27 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 53 74 72 65 61 6d 4f 75 74 70 75 74 .=.'',.$verbosity.=.StreamOutput
770e0 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 ::VERBOSITY_NORMAL,.OutputFormat
77100 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a terInterface.$formatter.=.null).
77120 7b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 24 69 6e 70 75 {.$input.=.new.StringInput($inpu
77140 74 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 t);.$input->setInteractive(false
77160 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 );..$output.=.new.StreamOutput(f
77180 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 72 77 27 29 2c 20 24 76 65 72 open('php://memory',.'rw'),.$ver
771a0 62 6f 73 69 74 79 2c 20 24 66 6f 72 6d 61 74 74 65 72 20 3f 20 24 66 6f 72 6d 61 74 74 65 72 2d bosity,.$formatter.?.$formatter-
771c0 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3a 20 66 61 6c 73 65 2c 20 24 66 6f 72 6d 61 74 74 >isDecorated().:.false,.$formatt
771e0 65 72 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 er);..parent::__construct($input
77200 2c 20 24 6f 75 74 70 75 74 2c 20 6e 65 77 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 79 28 29 ,.$output,.new.HelperSet(array()
77220 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 ));.}..public.function.getOutput
77240 28 29 0a 7b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 ().{.fseek($this->output->getStr
77260 65 61 6d 28 29 2c 20 30 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 eam(),.0);..$output.=.stream_get
77280 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 _contents($this->output->getStre
772a0 61 6d 28 29 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 am());..$output.=.preg_replace_c
772c0 61 6c 6c 62 61 63 6b 28 22 7b 28 3f 3c 3d 5e 7c 5c 6e 7c 5c 78 30 38 29 28 2e 2b 3f 29 28 5c 78 allback("{(?<=^|\n|\x08)(.+?)(\x
772e0 30 38 2b 29 7d 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a 24 70 08+)}",.function.($matches).{.$p
77300 72 65 20 3d 20 73 74 72 69 70 5f 74 61 67 73 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 0a 69 re.=.strip_tags($matches[1]);..i
77320 66 20 28 73 74 72 6c 65 6e 28 24 70 72 65 29 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 f.(strlen($pre).===.strlen($matc
77340 68 65 73 5b 32 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 hes[2])).{.return.'';.}....retur
77360 6e 20 72 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 2e 22 5c 6e 22 3b 0a 7d 2c 20 24 6f n.rtrim($matches[1])."\n";.},.$o
77380 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 utput);..return.$output;.}.}.<?p
773a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
773c0 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 51 75 65 73 74 69 6f 6e 5c 53 74 72 69 \IO;..use.Composer\Question\Stri
773e0 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 ctConfirmationQuestion;.use.Symf
77400 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c ony\Component\Console\Helper\Hel
77420 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f perSet;.use.Symfony\Component\Co
77440 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 nsole\Input\InputInterface;.use.
77460 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
77480 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d \ConsoleOutputInterface;.use.Sym
774a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
774c0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f tputInterface;.use.Symfony\Compo
774e0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 nent\Console\Question\ChoiceQues
77500 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
77520 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c ole\Question\Question;........cl
77540 61 73 73 20 43 6f 6e 73 6f 6c 65 49 4f 20 65 78 74 65 6e 64 73 20 42 61 73 65 49 4f 0a 7b 0a 0a ass.ConsoleIO.extends.BaseIO.{..
77560 70 72 6f 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 protected.$input;..protected.$ou
77580 74 70 75 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 70 72 tput;..protected.$helperSet;..pr
775a0 6f 74 65 63 74 65 64 20 24 6c 61 73 74 4d 65 73 73 61 67 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 otected.$lastMessage;..protected
775c0 20 24 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 .$lastMessageErr;...private.$sta
775e0 72 74 54 69 6d 65 3b 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 4d 61 70 3b 0a rtTime;..private.$verbosityMap;.
77600 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
77620 75 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 uct(InputInterface.$input,.Outpu
77640 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 48 65 6c 70 65 72 53 65 74 20 24 68 tInterface.$output,.HelperSet.$h
77660 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 elperSet).{.$this->input.=.$inpu
77680 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 t;.$this->output.=.$output;.$thi
776a0 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 24 74 68 69 73 s->helperSet.=.$helperSet;.$this
776c0 2d 3e 76 65 72 62 6f 73 69 74 79 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 51 55 ->verbosityMap.=.array(.self::QU
776e0 49 45 54 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 IET.=>.OutputInterface::VERBOSIT
77700 59 5f 51 55 49 45 54 2c 0a 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 20 3d 3e 20 4f 75 74 70 75 74 49 Y_QUIET,.self::NORMAL.=>.OutputI
77720 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 73 65 6c 66 nterface::VERBOSITY_NORMAL,.self
77740 3a 3a 56 45 52 42 4f 53 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 ::VERBOSE.=>.OutputInterface::VE
77760 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 RBOSITY_VERBOSE,.self::VERY_VERB
77780 4f 53 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 OSE.=>.OutputInterface::VERBOSIT
777a0 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 6c 66 3a 3a 44 45 42 55 47 20 3d 3e 20 4f Y_VERY_VERBOSE,.self::DEBUG.=>.O
777c0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 2c utputInterface::VERBOSITY_DEBUG,
777e0 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 .);.}.....public.function.enable
77800 44 65 62 75 67 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 Debugging($startTime).{.$this->s
77820 74 61 72 74 54 69 6d 65 20 3d 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 tartTime.=.$startTime;.}.....pub
77840 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 lic.function.isInteractive().{.r
77860 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 eturn.$this->input->isInteractiv
77880 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 e();.}.....public.function.isDec
778a0 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d orated().{.return.$this->output-
778c0 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >isDecorated();.}.....public.fun
778e0 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ction.isVerbose().{.return.$this
77900 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 ->output->getVerbosity().>=.Outp
77920 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3b 0a utInterface::VERBOSITY_VERBOSE;.
77940 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 }.....public.function.isVeryVerb
77960 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 ose().{.return.$this->output->ge
77980 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a tVerbosity().>=.OutputInterface:
779a0 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 0a 0a 0a 0a 70 :VERBOSITY_VERY_VERBOSE;.}.....p
779c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 ublic.function.isDebug().{.retur
779e0 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 n.$this->output->getVerbosity().
77a00 3e 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 >=.OutputInterface::VERBOSITY_DE
77a20 42 55 47 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 BUG;.}.....public.function.write
77a40 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 ($messages,.$newline.=.true,.$ve
77a60 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d rbosity.=.self::NORMAL).{.$this-
77a80 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 66 61 >doWrite($messages,.$newline,.fa
77aa0 6c 73 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 lse,.$verbosity);.}.....public.f
77ac0 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e unction.writeError($messages,.$n
77ae0 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 ewline.=.true,.$verbosity.=.self
77b00 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 ::NORMAL).{.$this->doWrite($mess
77b20 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 ages,.$newline,.true,.$verbosity
77b40 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 );.}........private.function.doW
77b60 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 74 64 65 72 rite($messages,.$newline,.$stder
77b80 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 0a 7b 0a 24 73 66 56 65 72 62 6f 73 69 74 79 20 3d 20 r,.$verbosity).{.$sfVerbosity.=.
77ba0 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4d 61 70 5b 24 76 65 72 62 6f 73 69 74 79 5d 3b $this->verbosityMap[$verbosity];
77bc0 0a 69 66 20 28 24 73 66 56 65 72 62 6f 73 69 74 79 20 3e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 .if.($sfVerbosity.>.$this->outpu
77be0 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a t->getVerbosity()).{.return;.}..
77c00 0a 20 0a 20 0a 20 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f ......if.(OutputInterface::VERBO
77c20 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 30 29 20 7b 0a 24 73 66 56 65 72 62 6f 73 69 74 79 SITY_QUIET.===.0).{.$sfVerbosity
77c40 20 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 .=.OutputInterface::OUTPUT_NORMA
77c60 4c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 L;.}..if.(null.!==.$this->startT
77c80 69 6d 65 29 20 7b 0a 24 6d 65 6d 6f 72 79 55 73 61 67 65 20 3d 20 6d 65 6d 6f 72 79 5f 67 65 74 ime).{.$memoryUsage.=.memory_get
77ca0 5f 75 73 61 67 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 3b 0a 24 74 69 6d 65 53 70 65 _usage()./.1024./.1024;.$timeSpe
77cc0 6e 74 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 nt.=.microtime(true).-.$this->st
77ce0 61 72 74 54 69 6d 65 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 artTime;.$messages.=.array_map(f
77d00 75 6e 63 74 69 6f 6e 20 28 24 6d 65 73 73 61 67 65 29 20 75 73 65 20 28 24 6d 65 6d 6f 72 79 55 unction.($message).use.($memoryU
77d20 73 61 67 65 2c 20 24 74 69 6d 65 53 70 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e sage,.$timeSpent).{.return.sprin
77d40 74 66 28 27 5b 25 2e 31 66 4d 42 2f 25 2e 32 66 73 5d 20 25 73 27 2c 20 24 6d 65 6d 6f 72 79 55 tf('[%.1fMB/%.2fs].%s',.$memoryU
77d60 73 61 67 65 2c 20 24 74 69 6d 65 53 70 65 6e 74 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 2c 20 sage,.$timeSpent,.$message);.},.
77d80 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 (array).$messages);.}..if.(true.
77da0 3d 3d 3d 20 24 73 74 64 65 72 72 20 26 26 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 ===.$stderr.&&.$this->output.ins
77dc0 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 tanceof.ConsoleOutputInterface).
77de0 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 {.$this->output->getErrorOutput(
77e00 29 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 )->write($messages,.$newline,.$s
77e20 66 56 65 72 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 fVerbosity);.$this->lastMessageE
77e40 72 72 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 rr.=.implode($newline.?."\n".:.'
77e60 27 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a ',.(array).$messages);..return;.
77e80 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 }..$this->output->write($message
77ea0 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 66 56 65 72 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 s,.$newline,.$sfVerbosity);.$thi
77ec0 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e s->lastMessage.=.implode($newlin
77ee0 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 e.?."\n".:.'',.(array).$messages
77f00 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 );.}.....public.function.overwri
77f20 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 te($messages,.$newline.=.true,.$
77f40 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a size.=.null,.$verbosity.=.self::
77f60 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 NORMAL).{.$this->doOverwrite($me
77f80 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 7a 65 2c 20 66 61 6c 73 65 2c 20 ssages,.$newline,.$size,.false,.
77fa0 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $verbosity);.}.....public.functi
77fc0 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 on.overwriteError($messages,.$ne
77fe0 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 wline.=.true,.$size.=.null,.$ver
78000 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e bosity.=.self::NORMAL).{.$this->
78020 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c doOverwrite($messages,.$newline,
78040 20 24 73 69 7a 65 2c 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a .$size,.true,.$verbosity);.}....
78060 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 4f 76 65 72 77 72 69 74 .....private.function.doOverwrit
78080 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 7a 65 2c 20 24 73 e($messages,.$newline,.$size,.$s
780a0 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 0a 7b 0a 0a 20 24 6d 65 73 73 61 67 65 73 tderr,.$verbosity).{...$messages
780c0 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c .=.implode($newline.?."\n".:.'',
780e0 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 .(array).$messages);....if.(!iss
78100 65 74 28 24 73 69 7a 65 29 29 20 7b 0a 0a 20 24 73 69 7a 65 20 3d 20 73 74 72 6c 65 6e 28 73 74 et($size)).{...$size.=.strlen(st
78120 72 69 70 5f 74 61 67 73 28 24 73 74 64 65 72 72 20 3f 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 rip_tags($stderr.?.$this->lastMe
78140 73 73 61 67 65 45 72 72 20 3a 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 29 29 3b ssageErr.:.$this->lastMessage));
78160 0a 7d 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 .}...$this->doWrite(str_repeat("
78180 5c 78 30 38 22 2c 20 24 73 69 7a 65 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 \x08",.$size),.false,.$stderr,.$
781a0 76 65 72 62 6f 73 69 74 79 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d verbosity);....$this->doWrite($m
781c0 65 73 73 61 67 65 73 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 essages,.false,.$stderr,.$verbos
781e0 69 74 79 29 3b 0a 0a 0a 20 0a 20 0a 20 24 66 69 6c 6c 20 3d 20 24 73 69 7a 65 20 2d 20 73 74 72 ity);........$fill.=.$size.-.str
78200 6c 65 6e 28 73 74 72 69 70 5f 74 61 67 73 28 24 6d 65 73 73 61 67 65 73 29 29 3b 0a 69 66 20 28 len(strip_tags($messages));.if.(
78220 24 66 69 6c 6c 20 3e 20 30 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 $fill.>.0).{...$this->doWrite(st
78240 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 66 69 6c 6c 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 r_repeat('.',.$fill),.false,.$st
78260 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 derr,.$verbosity);...$this->doWr
78280 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 30 38 22 2c 20 24 66 69 6c 6c 29 2c 20 66 ite(str_repeat("\x08",.$fill),.f
782a0 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 69 alse,.$stderr,.$verbosity);.}..i
782c0 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 27 27 f.($newline).{.$this->doWrite(''
782e0 2c 20 74 72 75 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a ,.true,.$stderr,.$verbosity);.}.
78300 0a 69 66 20 28 24 73 74 64 65 72 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 .if.($stderr).{.$this->lastMessa
78320 67 65 45 72 72 20 3d 20 24 6d 65 73 73 61 67 65 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 geErr.=.$messages;.}.else.{.$thi
78340 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 73 3b 0a 7d 0a 7d 0a s->lastMessage.=.$messages;.}.}.
78360 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f ....public.function.ask($questio
78380 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d n,.$default.=.null).{..$helper.=
783a0 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e .$this->helperSet->get('question
783c0 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 ');.$question.=.new.Question($qu
783e0 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 estion,.$default);..return.$help
78400 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 er->ask($this->input,.$this->get
78420 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a ErrorOutput(),.$question);.}....
78440 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e .public.function.askConfirmation
78460 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 0a ($question,.$default.=.true).{..
78480 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 $helper.=.$this->helperSet->get(
784a0 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 53 74 72 'question');.$question.=.new.Str
784c0 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f ictConfirmationQuestion($questio
784e0 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 n,.$default);..return.$helper->a
78500 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 sk($this->input,.$this->getError
78520 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c Output(),.$question);.}.....publ
78540 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 ic.function.askAndValidate($ques
78560 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 6e 75 tion,.$validator,.$attempts.=.nu
78580 6c 6c 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 ll,.$default.=.null).{..$helper.
785a0 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f =.$this->helperSet->get('questio
785c0 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 n');.$question.=.new.Question($q
785e0 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 uestion,.$default);.$question->s
78600 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 24 71 75 65 73 74 69 etValidator($validator);.$questi
78620 6f 6e 2d 3e 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 29 3b 0a 0a on->setMaxAttempts($attempts);..
78640 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 return.$helper->ask($this->input
78660 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 ,.$this->getErrorOutput(),.$ques
78680 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b tion);.}.....public.function.ask
786a0 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 0a 24 68 65 6c AndHideAnswer($question).{..$hel
786c0 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 per.=.$this->helperSet->get('que
786e0 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f stion');.$question.=.new.Questio
78700 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 48 69 64 64 n($question);.$question->setHidd
78720 65 6e 28 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 en(true);..return.$helper->ask($
78740 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 this->input,.$this->getErrorOutp
78760 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ut(),.$question);.}.....public.f
78780 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 unction.select($question,.$choic
787a0 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c es,.$default,.$attempts.=.false,
787c0 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 .$errorMessage.=.'Value."%s".is.
787e0 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a invalid',.$multiselect.=.false).
78800 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 {..$helper.=.$this->helperSet->g
78820 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 et('question');.$question.=.new.
78840 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 ChoiceQuestion($question,.$choic
78860 65 73 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 61 78 es,.$default);.$question->setMax
78880 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 20 3f 3a 20 6e 75 6c 6c 29 3b 20 0a 20 24 Attempts($attempts.?:.null);...$
788a0 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 65 72 72 6f 72 question->setErrorMessage($error
788c0 4d 65 73 73 61 67 65 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 75 6c 74 69 73 65 6c Message);.$question->setMultisel
788e0 65 63 74 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 68 ect($multiselect);..$result.=.$h
78900 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e elper->ask($this->input,.$this->
78920 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 getErrorOutput(),.$question);..i
78940 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 f.(!is_array($result)).{.return.
78960 28 73 74 72 69 6e 67 29 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 72 65 73 75 6c 74 2c 20 24 (string).array_search($result,.$
78980 63 68 6f 69 63 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 choices,.true);.}..$results.=.ar
789a0 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 6f 69 63 65 73 20 61 73 20 24 69 6e 64 ray();.foreach.($choices.as.$ind
789c0 65 78 20 3d 3e 20 24 63 68 6f 69 63 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 ex.=>.$choice).{.if.(in_array($c
789e0 68 6f 69 63 65 2c 20 24 72 65 73 75 6c 74 2c 20 74 72 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 hoice,.$result,.true)).{.$result
78a00 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 69 6e 64 65 78 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 s[].=.(string).$index;.}.}..retu
78a20 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 rn.$results;.}.....private.funct
78a40 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 ion.getErrorOutput().{.if.($this
78a60 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 ->output.instanceof.ConsoleOutpu
78a80 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 tInterface).{.return.$this->outp
78aa0 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ut->getErrorOutput();.}..return.
78ac0 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a $this->output;.}.}.<?php........
78ae0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 ....namespace.Composer\IO;..use.
78b00 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 Composer\Config;.......interface
78b20 20 49 4f 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 51 55 49 45 54 20 3d 20 31 3b 0a .IOInterface.{.const.QUIET.=.1;.
78b40 63 6f 6e 73 74 20 4e 4f 52 4d 41 4c 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 45 20 const.NORMAL.=.2;.const.VERBOSE.
78b60 3d 20 34 3b 0a 63 6f 6e 73 74 20 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 20 38 3b 0a 63 6f 6e =.4;.const.VERY_VERBOSE.=.8;.con
78b80 73 74 20 44 45 42 55 47 20 3d 20 31 36 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 st.DEBUG.=.16;.......public.func
78ba0 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tion.isInteractive();.......publ
78bc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 ic.function.isVerbose();.......p
78be0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a ublic.function.isVeryVerbose();.
78c00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 3b ......public.function.isDebug();
78c20 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 .......public.function.isDecorat
78c40 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 ed();.........public.function.wr
78c60 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 ite($messages,.$newline.=.true,.
78c80 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a $verbosity.=.self::NORMAL);.....
78ca0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 ....public.function.writeError($
78cc0 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 messages,.$newline.=.true,.$verb
78ce0 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a osity.=.self::NORMAL);..........
78d00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 public.function.overwrite($messa
78d20 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 ges,.$newline.=.true,.$size.=.nu
78d40 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a ll,.$verbosity.=.self::NORMAL);.
78d60 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 .........public.function.overwri
78d80 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 teError($messages,.$newline.=.tr
78da0 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 ue,.$size.=.null,.$verbosity.=.s
78dc0 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 elf::NORMAL);...........public.f
78de0 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 unction.ask($question,.$default.
78e00 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 =.null);............public.funct
78e20 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 ion.askConfirmation($question,.$
78e40 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a default.=.true);................
78e60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 .public.function.askAndValidate(
78e80 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 $question,.$validator,.$attempts
78ea0 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a .=.null,.$default.=.null);......
78ec0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 ...public.function.askAndHideAns
78ee0 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 wer($question);...............pu
78f00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 blic.function.select($question,.
78f20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 $choices,.$default,.$attempts.=.
78f40 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 false,.$errorMessage.=.'Value."%
78f60 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 s".is.invalid',.$multiselect.=.f
78f80 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 alse);.......public.function.get
78fa0 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 Authentications();.........publi
78fc0 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 c.function.hasAuthentication($re
78fe0 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 positoryName);.........public.fu
79000 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 nction.getAuthentication($reposi
79020 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 toryName);.........public.functi
79040 6f 6e 20 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 on.setAuthentication($repository
79060 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c Name,.$username,.$password.=.nul
79080 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6f l);.......public.function.loadCo
790a0 6e 66 69 67 75 72 61 74 69 6f 6e 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 3c nfiguration(Config.$config);.}.<
790c0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
790e0 65 72 5c 49 4f 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 49 4f 20 65 78 74 65 6e 64 er\IO;.......class.NullIO.extend
79100 73 20 42 61 73 65 49 4f 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 s.BaseIO.{....public.function.is
79120 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a Interactive().{.return.false;.}.
79140 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a ....public.function.isVerbose().
79160 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e {.return.false;.}.....public.fun
79180 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 ction.isVeryVerbose().{.return.f
791a0 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 alse;.}.....public.function.isDe
791c0 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c bug().{.return.false;.}.....publ
791e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 ic.function.isDecorated().{.retu
79200 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rn.false;.}.....public.function.
79220 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 write($messages,.$newline.=.true
79240 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d ,.$verbosity.=.self::NORMAL).{.}
79260 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 .....public.function.writeError(
79280 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 $messages,.$newline.=.true,.$ver
792a0 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 bosity.=.self::NORMAL).{.}.....p
792c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 ublic.function.overwrite($messag
792e0 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 38 30 2c es,.$newline.=.true,.$size.=.80,
79300 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a .$verbosity.=.self::NORMAL).{.}.
79320 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 ....public.function.overwriteErr
79340 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 or($messages,.$newline.=.true,.$
79360 73 69 7a 65 20 3d 20 38 30 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f size.=.80,.$verbosity.=.self::NO
79380 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 RMAL).{.}.....public.function.as
793a0 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a k($question,.$default.=.null).{.
793c0 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 return.$default;.}.....public.fu
793e0 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e nction.askConfirmation($question
79400 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 ,.$default.=.true).{.return.$def
79420 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 ault;.}.....public.function.askA
79440 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 ndValidate($question,.$validator
79460 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 ,.$attempts.=.false,.$default.=.
79480 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 null).{.return.$default;.}.....p
794a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 ublic.function.askAndHideAnswer(
794c0 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a $question).{.return.null;.}.....
794e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e public.function.select($question
79500 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 ,.$choices,.$default,.$attempts.
79520 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 =.false,.$errorMessage.=.'Value.
79540 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d "%s".is.invalid',.$multiselect.=
79560 20 66 61 6c 73 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 3c .false).{.return.$default;.}.}.<
79580 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
795a0 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c er;..use.Composer\Autoload\Autol
795c0 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e oadGenerator;.use.Composer\Depen
795e0 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 3b 0a 75 73 65 dencyResolver\DefaultPolicy;.use
79600 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 .Composer\DependencyResolver\Ope
79620 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 ration\UpdateOperation;.use.Comp
79640 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f oser\DependencyResolver\Operatio
79660 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 n\InstallOperation;.use.Composer
79680 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 6e \DependencyResolver\Operation\Un
796a0 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 installOperation;.use.Composer\D
796c0 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b ependencyResolver\Operation\Mark
796e0 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 AliasUninstalledOperation;.use.C
79700 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 omposer\DependencyResolver\Opera
79720 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d tion\OperationInterface;.use.Com
79740 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 poser\DependencyResolver\PolicyI
79760 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 nterface;.use.Composer\Dependenc
79780 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 yResolver\Pool;.use.Composer\Dep
797a0 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d endencyResolver\Request;.use.Com
797c0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 75 6c 65 3b 0a 75 poser\DependencyResolver\Rule;.u
797e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 53 se.Composer\DependencyResolver\S
79800 6f 6c 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 olver;.use.Composer\DependencyRe
79820 73 6f 6c 76 65 72 5c 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 3b 0a solver\SolverProblemsException;.
79840 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 use.Composer\Downloader\Download
79860 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 Manager;.use.Composer\EventDispa
79880 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f tcher\EventDispatcher;.use.Compo
798a0 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 ser\Installer\InstallationManage
798c0 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c r;.use.Composer\Installer\Instal
798e0 6c 65 72 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 lerEvents;.use.Composer\Installe
79900 72 5c 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e r\NoopInstaller;.use.Composer\In
79920 73 74 61 6c 6c 65 72 5c 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 staller\SuggestedPackagesReporte
79940 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a r;.use.Composer\IO\IOInterface;.
79960 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 use.Composer\Package\AliasPackag
79980 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 e;.use.Composer\Package\Complete
799a0 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 Package;.use.Composer\Package\Li
799c0 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c nk;.use.Composer\Package\Loader\
799e0 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ArrayLoader;.use.Composer\Packag
79a00 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 e\Dumper\ArrayDumper;.use.Compos
79a20 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b er\Semver\Constraint\Constraint;
79a40 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 .use.Composer\Package\Locker;.us
79a60 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 e.Composer\Package\PackageInterf
79a80 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 ace;.use.Composer\Package\RootPa
79aa0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ckageInterface;.use.Composer\Rep
79ac0 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 ository\CompositeRepository;.use
79ae0 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 41 72 .Composer\Repository\InstalledAr
79b00 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f rayRepository;.use.Composer\Repo
79b20 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 sitory\PlatformRepository;.use.C
79b40 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 omposer\Repository\RepositoryInt
79b60 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c erface;.use.Composer\Repository\
79b80 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c RepositoryManager;.use.Composer\
79ba0 52 65 70 6f 73 69 74 6f 72 79 5c 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 Repository\WritableRepositoryInt
79bc0 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 erface;.use.Composer\Script\Scri
79be0 70 74 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 ptEvents;........class.Installer
79c00 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .{....protected.$io;.....protect
79c20 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 ed.$config;.....protected.$packa
79c40 67 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 ge;.....protected.$downloadManag
79c60 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e er;.....protected.$repositoryMan
79c80 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 63 6b 65 72 3b 0a 0a 0a 0a ager;.....protected.$locker;....
79ca0 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b .protected.$installationManager;
79cc0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b .....protected.$eventDispatcher;
79ce0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f .....protected.$autoloadGenerato
79d00 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 r;..protected.$preferSource.=.fa
79d20 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c lse;.protected.$preferDist.=.fal
79d40 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 se;.protected.$optimizeAutoloade
79d60 72 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6c 61 73 73 4d 61 70 41 75 r.=.false;.protected.$classMapAu
79d80 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 thoritative.=.false;.protected.$
79da0 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 apcuAutoloader.=.false;.protecte
79dc0 64 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 d.$devMode.=.false;.protected.$d
79de0 72 79 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 6f 73 ryRun.=.false;.protected.$verbos
79e00 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 20 3d 20 66 e.=.false;.protected.$update.=.f
79e20 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 alse;.protected.$dumpAutoloader.
79e40 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 =.true;.protected.$runScripts.=.
79e60 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 true;.protected.$ignorePlatformR
79e80 65 71 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 eqs.=.false;.protected.$preferSt
79ea0 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 4c able.=.false;.protected.$preferL
79ec0 6f 77 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6b 69 70 53 75 owest.=.false;.protected.$skipSu
79ee0 67 67 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 72 69 74 65 4c ggest.=.false;.protected.$writeL
79f00 6f 63 6b 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 65 63 75 74 65 4f 70 ock.=.true;.protected.$executeOp
79f20 65 72 61 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 erations.=.true;.......protected
79f40 20 24 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 6f 74 65 63 .$updateWhitelist.=.null;.protec
79f60 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 66 61 6c ted.$whitelistDependencies.=.fal
79f80 73 65 3b 20 0a 20 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 se;...protected.$whitelistAllDep
79fa0 65 6e 64 65 6e 63 69 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 endencies.=.false;.....protected
79fc0 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 0a 0a .$suggestedPackagesReporter;....
79fe0 0a 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 .protected.$additionalInstalledR
7a000 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 epository;...............public.
7a020 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 function.__construct(IOInterface
7a040 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 52 6f 6f 74 50 61 63 6b 61 67 .$io,.Config.$config,.RootPackag
7a060 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e eInterface.$package,.DownloadMan
7a080 61 67 65 72 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2c 20 52 65 70 6f 73 69 74 6f 72 ager.$downloadManager,.Repositor
7a0a0 79 4d 61 6e 61 67 65 72 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 4c 6f 63 yManager.$repositoryManager,.Loc
7a0c0 6b 65 72 20 24 6c 6f 63 6b 65 72 2c 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 ker.$locker,.InstallationManager
7a0e0 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 45 76 65 6e 74 44 69 73 70 .$installationManager,.EventDisp
7a100 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 41 75 74 6f 6c 6f 61 atcher.$eventDispatcher,.Autoloa
7a120 64 47 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b dGenerator.$autoloadGenerator).{
7a140 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 .$this->io.=.$io;.$this->config.
7a160 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 =.$config;.$this->package.=.$pac
7a180 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 kage;.$this->downloadManager.=.$
7a1a0 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f downloadManager;.$this->reposito
7a1c0 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a ryManager.=.$repositoryManager;.
7a1e0 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 72 3b 0a 24 74 68 69 73 2d 3e $this->locker.=.$locker;.$this->
7a200 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 61 74 installationManager.=.$installat
7a220 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 ionManager;.$this->eventDispatch
7a240 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 61 75 er.=.$eventDispatcher;.$this->au
7a260 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 3d 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 toloadGenerator.=.$autoloadGener
7a280 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 ator;.}........public.function.r
7a2a0 75 6e 28 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 67 63 5f 63 6f 6c 6c 65 63 74 5f 63 79 63 6c 65 73 un().{.........gc_collect_cycles
7a2c0 28 29 3b 0a 67 63 5f 64 69 73 61 62 6c 65 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d ();.gc_disable();....if.(!$this-
7a2e0 3e 75 70 64 61 74 65 20 26 26 20 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 >update.&&.!$this->locker->isLoc
7a300 6b 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 74 72 75 65 3b 0a 7d ked()).{.$this->update.=.true;.}
7a320 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 76 65 ..if.($this->dryRun).{.$this->ve
7a340 72 62 6f 73 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 rbose.=.true;.$this->runScripts.
7a360 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e =.false;.$this->executeOperation
7a380 73 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 20 3d 20 66 61 s.=.false;.$this->writeLock.=.fa
7a3a0 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c lse;.$this->dumpAutoloader.=.fal
7a3c0 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e se;.$this->installationManager->
7a3e0 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 29 3b addInstaller(new.NoopInstaller);
7a400 0a 24 74 68 69 73 2d 3e 6d 6f 63 6b 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 74 .$this->mockLocalRepositories($t
7a420 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 his->repositoryManager);.}..if.(
7a440 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 $this->runScripts).{.$devMode.=.
7a460 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 3b 0a 70 75 74 65 6e 76 28 22 43 4f (int).$this->devMode;.putenv("CO
7a480 4d 50 4f 53 45 52 5f 44 45 56 5f 4d 4f 44 45 3d 24 64 65 76 4d 6f 64 65 22 29 3b 0a 0a 0a 20 24 MPOSER_DEV_MODE=$devMode");....$
7a4a0 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 eventName.=.$this->update.?.Scri
7a4c0 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 70 ptEvents::PRE_UPDATE_CMD.:.Scrip
7a4e0 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 73 2d tEvents::PRE_INSTALL_CMD;.$this-
7a500 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 >eventDispatcher->dispatchScript
7a520 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a ($eventName,.$this->devMode);.}.
7a540 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 .$this->downloadManager->setPref
7a560 65 72 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 29 3b 0a 24 erSource($this->preferSource);.$
7a580 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 this->downloadManager->setPrefer
7a5a0 44 69 73 74 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 29 3b 0a 0a 0a 20 24 6c 6f 63 Dist($this->preferDist);....$loc
7a5c0 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 alRepo.=.$this->repositoryManage
7a5e0 72 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 69 66 20 28 24 74 68 r->getLocalRepository();.if.($th
7a600 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 is->update).{.$platformOverrides
7a620 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 .=.$this->config->get('platform'
7a640 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6c 61 74 66 6f 72 6d ).?:.array();.}.else.{.$platform
7a660 4f 76 65 72 72 69 64 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 6c Overrides.=.$this->locker->getPl
7a680 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 28 29 3b 0a 7d 0a 24 70 6c 61 74 66 6f 72 6d 52 65 atformOverrides();.}.$platformRe
7a6a0 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 po.=.new.PlatformRepository(arra
7a6c0 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 69 6e 73 74 61 y(),.$platformOverrides);.$insta
7a6e0 6c 6c 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 lledRepo.=.$this->createInstalle
7a700 64 52 65 70 6f 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 dRepo($localRepo,.$platformRepo)
7a720 3b 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 41 6c 69 61 ;..$aliases.=.$this->getRootAlia
7a740 73 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 ses();.$this->aliasPlatformPacka
7a760 67 65 73 28 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 69 ges($platformRepo,.$aliases);..i
7a780 66 20 28 21 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f f.(!$this->suggestedPackagesRepo
7a7a0 72 74 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 rter).{.$this->suggestedPackages
7a7c0 52 65 70 6f 72 74 65 72 20 3d 20 6e 65 77 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 Reporter.=.new.SuggestedPackages
7a7e0 52 65 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 6c 69 Reporter($this->io);.}..try.{.li
7a800 73 74 28 24 72 65 73 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 20 3d 20 24 74 68 69 73 2d 3e st($res,.$devPackages).=.$this->
7a820 64 6f 49 6e 73 74 61 6c 6c 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 doInstall($localRepo,.$installed
7a840 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a Repo,.$platformRepo,.$aliases);.
7a860 69 66 20 28 24 72 65 73 20 21 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d if.($res.!==.0).{.return.$res;.}
7a880 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 .}.catch.(\Exception.$e).{.if.($
7a8a0 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 this->executeOperations).{.$this
7a8c0 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 6e 6f 74 69 66 79 49 6e 73 ->installationManager->notifyIns
7a8e0 74 61 6c 6c 73 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d talls($this->io);.}..throw.$e;.}
7a900 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b .if.($this->executeOperations).{
7a920 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 6e 6f 74 .$this->installationManager->not
7a940 69 66 79 49 6e 73 74 61 6c 6c 73 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 20 69 66 20 ifyInstalls($this->io);.}....if.
7a960 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 26 26 20 21 24 74 68 69 73 2d 3e 73 6b 69 70 53 ($this->devMode.&&.!$this->skipS
7a980 75 67 67 65 73 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 uggest).{.$this->suggestedPackag
7a9a0 65 73 52 65 70 6f 72 74 65 72 2d 3e 6f 75 74 70 75 74 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 esReporter->output($installedRep
7a9c0 6f 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 o);.}....foreach.($localRepo->ge
7a9e0 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 tPackages().as.$package).{.if.(!
7aa00 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b $package.instanceof.CompletePack
7aa20 61 67 65 20 7c 7c 20 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 age.||.!$package->isAbandoned())
7aa40 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 69 .{.continue;.}..$replacement.=.i
7aa60 73 5f 73 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e s_string($package->getReplacemen
7aa80 74 50 61 63 6b 61 67 65 28 29 29 0a 3f 20 27 55 73 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d tPackage()).?.'Use.'...$package-
7aaa0 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 2e 20 27 20 69 6e 73 >getReplacementPackage()...'.ins
7aac0 74 65 61 64 27 0a 3a 20 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 77 61 73 20 73 75 67 67 tead'.:.'No.replacement.was.sugg
7aae0 65 73 74 65 64 27 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a ested';..$this->io->writeError(.
7ab00 73 70 72 69 6e 74 66 28 0a 22 3c 77 61 72 6e 69 6e 67 3e 50 61 63 6b 61 67 65 20 25 73 20 69 73 sprintf(."<warning>Package.%s.is
7ab20 20 61 62 61 6e 64 6f 6e 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 75 73 69 .abandoned,.you.should.avoid.usi
7ab40 6e 67 20 69 74 2e 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 2c 0a 24 70 61 63 6b 61 67 65 2d ng.it..%s.</warning>",.$package-
7ab60 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 >getPrettyName(),.$replacement.)
7ab80 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 .);.}....if.($this->update.&&.$t
7aba0 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 his->writeLock).{.$localRepo->re
7abc0 6c 6f 61 64 28 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e load();..$platformReqs.=.$this->
7abe0 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 extractPlatformRequirements($thi
7ac00 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 6c 61 s->package->getRequires());.$pla
7ac20 74 66 6f 72 6d 44 65 76 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 tformDevReqs.=.$this->extractPla
7ac40 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 tformRequirements($this->package
7ac60 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 0a 24 75 70 64 61 74 65 64 4c 6f ->getDevRequires());..$updatedLo
7ac80 63 6b 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 73 65 74 4c 6f 63 6b 44 61 74 61 28 ck.=.$this->locker->setLockData(
7aca0 0a 61 72 72 61 79 5f 64 69 66 66 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e .array_diff($localRepo->getCanon
7acc0 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 2c 0a 24 icalPackages(),.$devPackages),.$
7ace0 64 65 76 50 61 63 6b 61 67 65 73 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 2c 0a 24 70 6c 61 devPackages,.$platformReqs,.$pla
7ad00 74 66 6f 72 6d 44 65 76 52 65 71 73 2c 0a 24 61 6c 69 61 73 65 73 2c 0a 24 74 68 69 73 2d 3e 70 tformDevReqs,.$aliases,.$this->p
7ad20 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 2c 0a 24 ackage->getMinimumStability(),.$
7ad40 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 this->package->getStabilityFlags
7ad60 28 29 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 7c 7c 20 24 74 68 69 73 (),.$this->preferStable.||.$this
7ad80 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 2c 0a 24 74 ->package->getPreferStable(),.$t
7ada0 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 his->preferLowest,.$this->config
7adc0 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a ->get('platform').?:.array().);.
7ade0 69 66 20 28 24 75 70 64 61 74 65 64 4c 6f 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 if.($updatedLock).{.$this->io->w
7ae00 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 57 72 69 74 69 6e 67 20 6c 6f 63 6b 20 66 69 riteError('<info>Writing.lock.fi
7ae20 6c 65 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 75 6d le</info>');.}.}..if.($this->dum
7ae40 70 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 pAutoloader).{...if.($this->opti
7ae60 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 mizeAutoloader).{.$this->io->wri
7ae80 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 teError('<info>Generating.optimi
7aea0 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 zed.autoload.files</info>');.}.e
7aec0 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e lse.{.$this->io->writeError('<in
7aee0 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e fo>Generating.autoload.files</in
7af00 66 6f 3e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 fo>');.}..$this->autoloadGenerat
7af20 6f 72 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a or->setDevMode($this->devMode);.
7af40 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 43 6c 61 $this->autoloadGenerator->setCla
7af60 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d ssMapAuthoritative($this->classM
7af80 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 apAuthoritative);.$this->autoloa
7afa0 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 41 70 63 75 28 24 74 68 69 73 2d 3e 61 70 63 75 41 dGenerator->setApcu($this->apcuA
7afc0 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 utoloader);.$this->autoloadGener
7afe0 61 74 6f 72 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 ator->setRunScripts($this->runSc
7b000 72 69 70 74 73 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 ripts);.$this->autoloadGenerator
7b020 2d 3e 64 75 6d 70 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f ->dump($this->config,.$localRepo
7b040 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c ,.$this->package,.$this->install
7b060 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 74 68 69 73 2d ationManager,.'composer',.$this-
7b080 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 >optimizeAutoloader);.}..if.($th
7b0a0 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 0a 20 66 6f 72 65 61 is->executeOperations).{...forea
7b0c0 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 ch.($localRepo->getPackages().as
7b0e0 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e .$package).{.$this->installation
7b100 4d 61 6e 61 67 65 72 2d 3e 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 Manager->ensureBinariesPresence(
7b120 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 74 68 69 73 $package);.}..$vendorDir.=.$this
7b140 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 ->config->get('vendor-dir');.if.
7b160 28 69 73 5f 64 69 72 28 24 76 65 6e 64 6f 72 44 69 72 29 29 20 7b 0a 0a 20 0a 20 40 74 6f 75 63 (is_dir($vendorDir)).{.....@touc
7b180 68 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 h($vendorDir);.}.}..if.($this->r
7b1a0 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 0a 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 unScripts).{...$eventName.=.$thi
7b1c0 73 2d 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 s->update.?.ScriptEvents::POST_U
7b1e0 50 44 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 PDATE_CMD.:.ScriptEvents::POST_I
7b200 4e 53 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 NSTALL_CMD;.$this->eventDispatch
7b220 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 er->dispatchScript($eventName,.$
7b240 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 64 65 66 69 6e 65 this->devMode);.}....if.(!define
7b260 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 67 63 5f 65 6e 61 62 6c 65 28 29 d('HHVM_VERSION')).{.gc_enable()
7b280 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ;.}..return.0;.}.........protect
7b2a0 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 49 6e 73 74 61 6c 6c 28 24 6c 6f 63 61 6c 52 65 70 6f ed.function.doInstall($localRepo
7b2c0 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c ,.$installedRepo,.$platformRepo,
7b2e0 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 .$aliases).{...$lockedRepository
7b300 20 3d 20 6e 75 6c 6c 3b 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a .=.null;.$repositories.=.null;..
7b320 0a 20 0a 20 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 7c 7c 20 28 21 65 6d ......if.(!$this->update.||.(!em
7b340 70 74 79 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 26 26 20 24 pty($this->updateWhitelist).&&.$
7b360 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 29 20 7b 0a 74 72 79 this->locker->isLocked())).{.try
7b380 20 7b 0a 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f .{.$lockedRepository.=.$this->lo
7b3a0 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d cker->getLockedRepository($this-
7b3c0 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 >devMode);.}.catch.(\RuntimeExce
7b3e0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 ption.$e).{...if.($this->package
7b400 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a ->getDevRequires()).{.throw.$e;.
7b420 7d 0a 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c }...$lockedRepository.=.$this->l
7b440 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 7d 0a ocker->getLockedRepository();.}.
7b460 7d 0a 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 }..$this->whitelistUpdateDepende
7b480 6e 63 69 65 73 28 0a 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3f 3a 20 24 6c 6f 63 ncies(.$lockedRepository.?:.$loc
7b4a0 61 6c 52 65 70 6f 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 alRepo,.$this->package->getRequi
7b4c0 72 65 73 28 29 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 res(),.$this->package->getDevReq
7b4e0 75 69 72 65 73 28 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f uires().);..$this->io->writeErro
7b500 72 28 27 3c 69 6e 66 6f 3e 4c 6f 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 r('<info>Loading.composer.reposi
7b520 74 6f 72 69 65 73 20 77 69 74 68 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c tories.with.package.information<
7b540 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 /info>');....$policy.=.$this->cr
7b560 65 61 74 65 50 6f 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 eatePolicy();.$pool.=.$this->cre
7b580 61 74 65 50 6f 6f 6c 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3f 20 6e 75 6c 6c 20 3a 20 24 atePool($this->update.?.null.:.$
7b5a0 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 lockedRepository);.$pool->addRep
7b5c0 6f 73 69 74 6f 72 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 ository($installedRepo,.$aliases
7b5e0 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 72 65 70 6f 73 69 74 );.if.($this->update).{.$reposit
7b600 6f 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 ories.=.$this->repositoryManager
7b620 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 ->getRepositories();.foreach.($r
7b640 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 epositories.as.$repository).{.$p
7b660 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 ool->addRepository($repository,.
7b680 24 61 6c 69 61 73 65 73 29 3b 0a 7d 0a 7d 0a 0a 20 0a 20 0a 20 69 66 20 28 24 6c 6f 63 6b 65 64 $aliases);.}.}.......if.($locked
7b6a0 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f Repository).{.$pool->addReposito
7b6c0 72 79 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 69 61 73 65 73 29 3b ry($lockedRepository,.$aliases);
7b6e0 0a 7d 0a 0a 0a 20 24 72 65 71 75 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 .}....$request.=.$this->createRe
7b700 71 75 65 73 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 quest($this->package,.$platformR
7b720 65 70 6f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 24 72 epo);..if.($this->update).{...$r
7b740 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 emovedUnstablePackages.=.array()
7b760 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 ;.foreach.($localRepo->getPackag
7b780 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 0a 21 24 70 6f 6f 6c 2d es().as.$package).{.if.(.!$pool-
7b7a0 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 >isPackageAcceptable($package->g
7b7c0 65 74 4e 61 6d 65 73 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 etNames(),.$package->getStabilit
7b7e0 79 28 29 29 0a 26 26 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 y()).&&.$this->installationManag
7b800 65 72 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 6c 6f 63 61 6c 52 65 70 er->isPackageInstalled($localRep
7b820 6f 2c 20 24 70 61 63 6b 61 67 65 29 0a 29 20 7b 0a 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c o,.$package).).{.$removedUnstabl
7b840 65 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d ePackages[$package->getName()].=
7b860 20 74 72 75 65 3b 0a 24 72 65 71 75 65 73 74 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 .true;.$request->remove($package
7b880 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c ->getName(),.new.Constraint('=',
7b8a0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a .$package->getVersion()));.}.}..
7b8c0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 55 70 64 $this->io->writeError('<info>Upd
7b8e0 61 74 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 76 4d ating.dependencies'.($this->devM
7b900 6f 64 65 20 3f 20 27 20 28 69 6e 63 6c 75 64 69 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 ode.?.'.(including.require-dev)'
7b920 20 3a 20 27 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 24 72 65 71 75 65 73 74 2d 3e 75 70 .:.'').'</info>');..$request->up
7b940 64 61 74 65 41 6c 6c 28 29 3b 0a 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 dateAll();..$links.=.array_merge
7b960 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 ($this->package->getRequires(),.
7b980 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 $this->package->getDevRequires()
7b9a0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a );..foreach.($links.as.$link).{.
7b9c0 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 $request->install($link->getTarg
7b9e0 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d et(),.$link->getConstraint());.}
7ba00 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 ......if.($this->updateWhitelist
7ba20 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 ).{.$currentPackages.=.$this->ge
7ba40 74 43 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 tCurrentPackages($installedRepo)
7ba60 3b 0a 0a 0a 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 ;....$candidates.=.array();.fore
7ba80 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 63 61 6e 64 69 64 61 ach.($links.as.$link).{.$candida
7baa0 74 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a tes[$link->getTarget()].=.true;.
7bac0 24 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 $rootRequires[$link->getTarget()
7bae0 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 ].=.$link;.}.foreach.($currentPa
7bb00 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 ckages.as.$package).{.$candidate
7bb20 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d s[$package->getName()].=.true;.}
7bb40 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e ....foreach.($candidates.as.$can
7bb60 64 69 64 61 74 65 20 3d 3e 20 24 64 75 6d 6d 79 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 75 didate.=>.$dummy).{.foreach.($cu
7bb80 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 50 61 63 6b 61 67 65 29 20 7b 0a rrentPackages.as.$curPackage).{.
7bba0 69 66 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 if.($curPackage->getName().===.$
7bbc0 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 candidate).{.if.(!$this->isUpdat
7bbe0 65 61 62 6c 65 28 24 63 75 72 50 61 63 6b 61 67 65 29 20 26 26 20 21 69 73 73 65 74 28 24 72 65 eable($curPackage).&&.!isset($re
7bc00 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 63 75 72 50 61 63 6b 61 67 movedUnstablePackages[$curPackag
7bc20 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 e->getName()])).{.$constraint.=.
7bc40 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 63 75 72 50 61 63 6b 61 67 65 2d new.Constraint('=',.$curPackage-
7bc60 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 >getVersion());.$description.=.$
7bc80 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 20 3f 20 27 28 6c 6f 63 this->locker->isLocked().?.'(loc
7bca0 6b 65 64 20 61 74 27 20 3a 20 27 28 69 6e 73 74 61 6c 6c 65 64 20 61 74 27 3b 0a 24 72 65 71 75 ked.at'.:.'(installed.at';.$requ
7bcc0 69 72 65 64 41 74 20 3d 20 69 73 73 65 74 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 iredAt.=.isset($rootRequires[$ca
7bce0 6e 64 69 64 61 74 65 5d 29 20 3f 20 27 2c 20 72 65 71 75 69 72 65 64 20 61 73 20 27 20 2e 20 24 ndidate]).?.',.required.as.'...$
7bd00 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 6e 64 69 64 61 74 65 5d 2d 3e 67 65 74 50 72 65 rootRequires[$candidate]->getPre
7bd20 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3a 20 27 27 3b 0a 24 63 6f 6e 73 74 72 61 69 6e ttyConstraint().:.'';.$constrain
7bd40 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 64 65 73 63 72 69 70 74 69 6f 6e 20 t->setPrettyString($description.
7bd60 2e 20 27 20 27 20 2e 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 ..'.'...$curPackage->getPrettyVe
7bd80 72 73 69 6f 6e 28 29 20 2e 20 24 72 65 71 75 69 72 65 64 41 74 20 2e 20 27 29 27 29 3b 0a 24 72 rsion()...$requiredAt...')');.$r
7bda0 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 equest->install($curPackage->get
7bdc0 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d Name(),.$constraint);.}.break;.}
7bde0 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 .}.}.}.}.else.{.$this->io->write
7be00 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 74 61 6c 6c 69 6e 67 20 64 65 70 65 6e 64 65 6e Error('<info>Installing.dependen
7be20 63 69 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3f 20 27 20 28 69 6e 63 6c 75 cies'.($this->devMode.?.'.(inclu
7be40 64 69 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 20 3a 20 27 27 29 2e 27 20 66 72 6f 6d 20 ding.require-dev)'.:.'').'.from.
7be60 6c 6f 63 6b 20 66 69 6c 65 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d lock.file</info>');..if.(!$this-
7be80 3e 6c 6f 63 6b 65 72 2d 3e 69 73 46 72 65 73 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d >locker->isFresh()).{.$this->io-
7bea0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 >writeError('<warning>Warning:.T
7bec0 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 75 70 20 74 6f 20 64 61 74 65 20 77 he.lock.file.is.not.up.to.date.w
7bee0 69 74 68 20 74 68 65 20 6c 61 74 65 73 74 20 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 ith.the.latest.changes.in.compos
7bf00 65 72 2e 6a 73 6f 6e 2e 20 59 6f 75 20 6d 61 79 20 62 65 20 67 65 74 74 69 6e 67 20 6f 75 74 64 er.json..You.may.be.getting.outd
7bf20 61 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 52 75 6e 20 75 70 64 61 74 65 20 74 6f ated.dependencies..Run.update.to
7bf40 20 75 70 64 61 74 65 20 74 68 65 6d 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 .update.them.</warning>',.true,.
7bf60 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 IOInterface::QUIET);.}..foreach.
7bf80 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 ($lockedRepository->getPackages(
7bfa0 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 ).as.$package).{.$version.=.$pac
7bfc0 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 kage->getVersion();.if.(isset($a
7bfe0 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 liases[$package->getName()][$ver
7c000 73 69 6f 6e 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 61 6c 69 61 73 65 73 5b 24 70 sion])).{.$version.=.$aliases[$p
7c020 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 73 69 6f 6e 5d 5b 27 61 6c ackage->getName()][$version]['al
7c040 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 7d 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 ias_normalized'];.}.$constraint.
7c060 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b =.new.Constraint('=',.$version);
7c080 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 .$constraint->setPrettyString($p
7c0a0 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 ackage->getPrettyVersion());.$re
7c0c0 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 quest->install($package->getName
7c0e0 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 (),.$constraint);.}..foreach.($t
7c100 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d his->locker->getPlatformRequirem
7c120 65 6e 74 73 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b ents($this->devMode).as.$link).{
7c140 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 .$request->install($link->getTar
7c160 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a get(),.$link->getConstraint());.
7c180 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 }.}....$this->processDevPackages
7c1a0 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 ($localRepo,.$pool,.$policy,.$re
7c1c0 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 positories,.$installedRepo,.$loc
7c1e0 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 3b 0a 0a kedRepository,.'force-links');..
7c200 0a 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 ..$this->eventDispatcher->dispat
7c220 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 chInstallerEvent(InstallerEvents
7c240 3a 3a 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 ::PRE_DEPENDENCIES_SOLVING,.$thi
7c260 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 s->devMode,.$policy,.$pool,.$ins
7c280 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 72 20 3d talledRepo,.$request);.$solver.=
7c2a0 20 6e 65 77 20 53 6f 6c 76 65 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 .new.Solver($policy,.$pool,.$ins
7c2c0 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 74 72 79 20 7b 0a 24 6f talledRepo,.$this->io);.try.{.$o
7c2e0 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 73 6f 6c 76 65 72 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 perations.=.$solver->solve($requ
7c300 65 73 74 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b est,.$this->ignorePlatformReqs);
7c320 0a 7d 20 63 61 74 63 68 20 28 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f .}.catch.(SolverProblemsExceptio
7c340 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c n.$e).{.$this->io->writeError('<
7c360 65 72 72 6f 72 3e 59 6f 75 72 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 63 6f 75 6c 64 20 6e 6f error>Your.requirements.could.no
7c380 74 20 62 65 20 72 65 73 6f 6c 76 65 64 20 74 6f 20 61 6e 20 69 6e 73 74 61 6c 6c 61 62 6c 65 20 t.be.resolved.to.an.installable.
7c3a0 73 65 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c set.of.packages.</error>',.true,
7c3c0 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d .IOInterface::QUIET);.$this->io-
7c3e0 3e 77 72 69 74 65 45 72 72 6f 72 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 69 >writeError($e->getMessage());.i
7c400 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 21 24 74 68 69 73 2d 3e 64 65 76 4d f.($this->update.&&.!$this->devM
7c420 6f 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 ode).{.$this->io->writeError('<w
7c440 61 72 6e 69 6e 67 3e 52 75 6e 6e 69 6e 67 20 75 70 64 61 74 65 20 77 69 74 68 20 2d 2d 6e 6f 2d arning>Running.update.with.--no-
7c460 64 65 76 20 64 6f 65 73 20 6e 6f 74 20 6d 65 61 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 73 dev.does.not.mean.require-dev.is
7c480 20 69 67 6e 6f 72 65 64 2c 20 69 74 20 6a 75 73 74 20 6d 65 61 6e 73 20 74 68 65 20 70 61 63 6b .ignored,.it.just.means.the.pack
7c4a0 61 67 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 20 49 66 20 64 ages.will.not.be.installed..If.d
7c4c0 65 76 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 72 65 20 62 6c 6f 63 6b 69 6e 67 20 74 68 65 ev.requirements.are.blocking.the
7c4e0 20 75 70 64 61 74 65 20 79 6f 75 20 68 61 76 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 74 68 6f 73 .update.you.have.to.resolve.thos
7c500 65 20 70 72 6f 62 6c 65 6d 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f e.problems.</warning>',.true,.IO
7c520 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 Interface::QUIET);.}..return.arr
7c540 61 79 28 6d 61 78 28 31 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 2c 20 61 72 72 61 79 28 ay(max(1,.$e->getCode()),.array(
7c560 29 29 3b 0a 7d 0a 0a 0a 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 ));.}....$operations.=.$this->pr
7c580 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f ocessDevPackages($localRepo,.$po
7c5a0 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 ol,.$policy,.$repositories,.$ins
7c5c0 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 talledRepo,.$lockedRepository,.'
7c5e0 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 force-updates',.$operations);..$
7c600 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 this->eventDispatcher->dispatchI
7c620 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 nstallerEvent(InstallerEvents::P
7c640 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 73 2d OST_DEPENDENCIES_SOLVING,.$this-
7c660 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 >devMode,.$policy,.$pool,.$insta
7c680 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 lledRepo,.$request,.$operations)
7c6a0 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 41 6e 61 6c 79 7a ;..$this->io->writeError("Analyz
7c6c0 65 64 20 22 2e 63 6f 75 6e 74 28 24 70 6f 6f 6c 29 2e 22 20 70 61 63 6b 61 67 65 73 20 74 6f 20 ed.".count($pool).".packages.to.
7c6e0 72 65 73 6f 6c 76 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2c 20 74 72 75 65 2c 20 49 4f 49 resolve.dependencies",.true,.IOI
7c700 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 nterface::VERBOSE);.$this->io->w
7c720 72 69 74 65 45 72 72 6f 72 28 22 41 6e 61 6c 79 7a 65 64 20 22 2e 24 73 6f 6c 76 65 72 2d 3e 67 riteError("Analyzed.".$solver->g
7c740 65 74 52 75 6c 65 53 65 74 53 69 7a 65 28 29 2e 22 20 72 75 6c 65 73 20 74 6f 20 72 65 73 6f 6c etRuleSetSize().".rules.to.resol
7c760 76 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 ve.dependencies",.true,.IOInterf
7c780 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 0a 20 69 66 20 28 21 24 6f 70 65 72 61 74 69 6f ace::VERBOSE);....if.(!$operatio
7c7a0 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 74 ns).{.$this->io->writeError('Not
7c7c0 68 69 6e 67 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 75 70 64 61 74 65 27 29 3b 0a 7d 0a 0a hing.to.install.or.update');.}..
7c7e0 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 50 6c 75 67 69 6e 73 $operations.=.$this->movePlugins
7c800 54 6f 46 72 6f 6e 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 24 6f 70 65 72 61 74 69 6f 6e ToFront($operations);.$operation
7c820 73 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 55 6e 69 6e 73 74 61 6c 6c 73 54 6f 46 72 6f 6e 74 s.=.$this->moveUninstallsToFront
7c840 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 ($operations);......if.($this->u
7c860 70 64 61 74 65 29 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 pdate).{.$devPackages.=.$this->e
7c880 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 67 65 73 28 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 xtractDevPackages($operations,.$
7c8a0 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 localRepo,.$platformRepo,.$alias
7c8c0 65 73 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 20 7b 0a 24 6f 70 65 es);.if.(!$this->devMode).{.$ope
7c8e0 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 44 65 76 50 61 63 6b 61 67 rations.=.$this->filterDevPackag
7c900 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 64 65 76 50 61 63 6b 61 67 65 73 2c 20 24 6f 70 65 72 61 eOperations($devPackages,.$opera
7c920 74 69 6f 6e 73 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 tions,.$localRepo);.}.}.else.{.$
7c940 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 6f 70 65 72 devPackages.=.null;.}..if.($oper
7c960 61 74 69 6f 6e 73 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 73 20 3d 20 24 75 70 64 61 74 65 73 20 3d ations).{.$installs.=.$updates.=
7c980 20 24 75 6e 69 6e 73 74 61 6c 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 .$uninstalls.=.array();.foreach.
7c9a0 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 69 66 ($operations.as.$operation).{.if
7c9c0 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 4f .($operation.instanceof.InstallO
7c9e0 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 73 5b 5d 20 3d 20 24 6f 70 65 72 61 peration).{.$installs[].=.$opera
7ca00 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d tion->getPackage()->getPrettyNam
7ca20 65 28 29 2e 27 3a 27 2e 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 e().':'.$operation->getPackage()
7ca40 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 ->getFullPrettyVersion();.}.else
7ca60 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 if.($operation.instanceof.Update
7ca80 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 70 64 61 74 65 73 5b 5d 20 3d 20 24 6f 70 65 72 61 Operation).{.$updates[].=.$opera
7caa0 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 tion->getTargetPackage()->getPre
7cac0 74 74 79 4e 61 6d 65 28 29 2e 27 3a 27 2e 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 ttyName().':'.$operation->getTar
7cae0 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 getPackage()->getFullPrettyVersi
7cb00 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 on();.}.elseif.($operation.insta
7cb20 6e 63 65 6f 66 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 6e 69 nceof.UninstallOperation).{.$uni
7cb40 6e 73 74 61 6c 6c 73 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 nstalls[].=.$operation->getPacka
7cb60 67 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 ge()->getPrettyName();.}.}..$thi
7cb80 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 22 3c 69 6e 66 s->io->writeError(sprintf(."<inf
7cba0 6f 3e 50 61 63 6b 61 67 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 20 25 64 20 69 6e 73 74 61 6c 6c o>Package.operations:.%d.install
7cbc0 25 73 2c 20 25 64 20 75 70 64 61 74 65 25 73 2c 20 25 64 20 72 65 6d 6f 76 61 6c 25 73 3c 2f 69 %s,.%d.update%s,.%d.removal%s</i
7cbe0 6e 66 6f 3e 22 2c 0a 63 6f 75 6e 74 28 24 69 6e 73 74 61 6c 6c 73 29 2c 0a 31 20 3d 3d 3d 20 63 nfo>",.count($installs),.1.===.c
7cc00 6f 75 6e 74 28 24 69 6e 73 74 61 6c 6c 73 29 20 3f 20 27 27 20 3a 20 27 73 27 2c 0a 63 6f 75 6e ount($installs).?.''.:.'s',.coun
7cc20 74 28 24 75 70 64 61 74 65 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 75 70 64 61 74 65 t($updates),.1.===.count($update
7cc40 73 29 20 3f 20 27 27 20 3a 20 27 73 27 2c 0a 63 6f 75 6e 74 28 24 75 6e 69 6e 73 74 61 6c 6c 73 s).?.''.:.'s',.count($uninstalls
7cc60 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 75 6e 69 6e 73 74 61 6c 6c 73 29 20 3f 20 27 27 ),.1.===.count($uninstalls).?.''
7cc80 20 3a 20 27 73 27 0a 29 29 3b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 73 29 20 7b 0a 24 74 68 69 .:.'s'.));.if.($installs).{.$thi
7cca0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 49 6e 73 74 61 6c 6c 73 3a 20 22 2e 69 s->io->writeError("Installs:.".i
7ccc0 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 69 6e 73 74 61 6c 6c 73 29 2c 20 74 72 75 65 2c 20 49 mplode(',.',.$installs),.true,.I
7cce0 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 69 66 20 28 24 75 70 64 OInterface::VERBOSE);.}.if.($upd
7cd00 61 74 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 55 ates).{.$this->io->writeError("U
7cd20 70 64 61 74 65 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 75 70 64 61 74 65 73 pdates:.".implode(',.',.$updates
7cd40 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a ),.true,.IOInterface::VERBOSE);.
7cd60 7d 0a 69 66 20 28 24 75 6e 69 6e 73 74 61 6c 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e }.if.($uninstalls).{.$this->io->
7cd80 77 72 69 74 65 45 72 72 6f 72 28 22 52 65 6d 6f 76 61 6c 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 writeError("Removals:.".implode(
7cda0 27 2c 20 27 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 ',.',.$uninstalls),.true,.IOInte
7cdc0 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 rface::VERBOSE);.}.}..foreach.($
7cde0 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 0a 20 24 6a operations.as.$operation).{...$j
7ce00 6f 62 54 79 70 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 obType.=.$operation->getJobType(
7ce20 29 3b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b );.if.('install'.===.$jobType).{
7ce40 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 .$this->suggestedPackagesReporte
7ce60 72 2d 3e 61 64 64 53 75 67 67 65 73 74 69 6f 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 6f 70 r->addSuggestionsFromPackage($op
7ce80 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 eration->getPackage());.}....if.
7cea0 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 75 6c ($this->update).{.$package.=.nul
7cec0 6c 3b 0a 69 66 20 28 27 75 70 64 61 74 65 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a l;.if.('update'.===.$jobType).{.
7cee0 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 $package.=.$operation->getTarget
7cf00 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d Package();.}.elseif.('install'.=
7cf20 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 ==.$jobType).{.$package.=.$opera
7cf40 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 69 66 20 28 24 70 61 63 6b 61 tion->getPackage();.}.if.($packa
7cf60 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 24 72 65 66 65 ge.&&.$package->isDev()).{.$refe
7cf80 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 65 rences.=.$this->package->getRefe
7cfa0 72 65 6e 63 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 73 5b rences();.if.(isset($references[
7cfc0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e $package->getName()])).{.$this->
7cfe0 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 updateInstallReferences($package
7d000 2c 20 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ,.$references[$package->getName(
7d020 29 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 27 75 70 64 61 74 65 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 )]);.}.}.if.('update'.===.$jobTy
7d040 70 65 29 20 7b 0a 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f pe).{.$targetPackage.=.$operatio
7d060 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 24 74 61 72 67 n->getTargetPackage();.if.($targ
7d080 65 74 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 24 69 6e 69 74 69 61 6c 50 61 etPackage->isDev()).{.$initialPa
7d0a0 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 ckage.=.$operation->getInitialPa
7d0c0 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 ckage();.if.($targetPackage->get
7d0e0 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 Version().===.$initialPackage->g
7d100 65 74 56 65 72 73 69 6f 6e 28 29 0a 26 26 20 28 21 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d etVersion().&&.(!$targetPackage-
7d120 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 7c 7c 20 24 74 61 72 67 65 74 >getSourceReference().||.$target
7d140 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d Package->getSourceReference().==
7d160 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 =.$initialPackage->getSourceRefe
7d180 72 65 6e 63 65 28 29 29 0a 26 26 20 28 21 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 rence()).&&.(!$targetPackage->ge
7d1a0 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 7c 7c 20 24 74 61 72 67 65 74 50 61 63 6b 61 tDistReference().||.$targetPacka
7d1c0 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 69 6e 69 74 ge->getDistReference().===.$init
7d1e0 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a ialPackage->getDistReference()).
7d200 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 53 ).{.$this->io->writeError('..-.S
7d220 6b 69 70 70 69 6e 67 20 75 70 64 61 74 65 20 6f 66 20 27 20 2e 20 24 74 61 72 67 65 74 50 61 63 kipping.update.of.'...$targetPac
7d240 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 20 2e 20 27 20 74 6f 20 74 68 65 kage->getPrettyName()...'.to.the
7d260 20 73 61 6d 65 20 72 65 66 65 72 65 6e 63 65 2d 6c 6f 63 6b 65 64 20 76 65 72 73 69 6f 6e 27 2c .same.reference-locked.version',
7d280 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 .true,.IOInterface::DEBUG);.$thi
7d2a0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e s->io->writeError('',.true,.IOIn
7d2c0 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a terface::DEBUG);..continue;.}.}.
7d2e0 7d 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 }.}..$event.=.'Composer\Installe
7d300 72 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 73 3a 3a 50 52 45 5f 50 41 43 4b 41 47 45 5f 27 2e 73 r\PackageEvents::PRE_PACKAGE_'.s
7d320 74 72 74 6f 75 70 70 65 72 28 24 6a 6f 62 54 79 70 65 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 trtoupper($jobType);.if.(defined
7d340 28 24 65 76 65 6e 74 29 20 26 26 20 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b ($event).&&.$this->runScripts).{
7d360 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 .$this->eventDispatcher->dispatc
7d380 68 50 61 63 6b 61 67 65 45 76 65 6e 74 28 63 6f 6e 73 74 61 6e 74 28 24 65 76 65 6e 74 29 2c 20 hPackageEvent(constant($event),.
7d3a0 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 $this->devMode,.$policy,.$pool,.
7d3c0 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 $installedRepo,.$request,.$opera
7d3e0 74 69 6f 6e 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 tions,.$operation);.}....if.(!$t
7d400 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 26 26 20 66 61 6c 73 65 20 his->executeOperations.&&.false.
7d420 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 ===.strpos($operation->getJobTyp
7d440 65 28 29 2c 20 27 41 6c 69 61 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 e(),.'Alias')).{.$this->io->writ
7d460 65 45 72 72 6f 72 28 27 20 20 2d 20 27 20 2e 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 20 65 eError('..-.'...$operation);.}.e
7d480 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 20 26 26 20 66 lseif.($this->io->isDebug().&&.f
7d4a0 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a alse.!==.strpos($operation->getJ
7d4c0 6f 62 54 79 70 65 28 29 2c 20 27 41 6c 69 61 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d obType(),.'Alias')).{.$this->io-
7d4e0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 27 20 2e 20 24 6f 70 65 72 61 74 69 6f 6e 29 >writeError('..-.'...$operation)
7d500 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d ;.}..$this->installationManager-
7d520 3e 65 78 65 63 75 74 65 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 >execute($localRepo,.$operation)
7d540 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 26 26 20 24 74 68 69 73 ;....if.($this->verbose.&&.$this
7d560 2d 3e 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 20 26 26 20 69 6e 5f 61 72 72 61 ->io->isVeryVerbose().&&.in_arra
7d580 79 28 24 6a 6f 62 54 79 70 65 2c 20 61 72 72 61 79 28 27 69 6e 73 74 61 6c 6c 27 2c 20 27 75 70 y($jobType,.array('install',.'up
7d5a0 64 61 74 65 27 29 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d date'))).{.$reason.=.$operation-
7d5c0 3e 67 65 74 52 65 61 73 6f 6e 28 29 3b 0a 69 66 20 28 24 72 65 61 73 6f 6e 20 69 6e 73 74 61 6e >getReason();.if.($reason.instan
7d5e0 63 65 6f 66 20 52 75 6c 65 29 20 7b 0a 73 77 69 74 63 68 20 28 24 72 65 61 73 6f 6e 2d 3e 67 65 ceof.Rule).{.switch.($reason->ge
7d600 74 52 65 61 73 6f 6e 28 29 29 20 7b 0a 63 61 73 65 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 tReason()).{.case.Rule::RULE_JOB
7d620 5f 49 4e 53 54 41 4c 4c 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 _INSTALL:.$this->io->writeError(
7d640 27 20 20 20 20 52 45 41 53 4f 4e 3a 20 52 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f '....REASON:.Required.by.the.roo
7d660 74 20 70 61 63 6b 61 67 65 3a 20 27 2e 24 72 65 61 73 6f 6e 2d 3e 67 65 74 50 72 65 74 74 79 53 t.package:.'.$reason->getPrettyS
7d680 74 72 69 6e 67 28 24 70 6f 6f 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 tring($pool));.$this->io->writeE
7d6a0 72 72 6f 72 28 27 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 52 75 6c 65 3a 3a 52 55 4c 45 rror('');.break;.case.Rule::RULE
7d6c0 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 _PACKAGE_REQUIRES:.$this->io->wr
7d6e0 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 52 45 41 53 4f 4e 3a 20 27 2e 24 72 65 61 73 6f 6e 2d iteError('....REASON:.'.$reason-
7d700 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 6f 6f 6c 29 29 3b 0a 24 74 68 69 73 2d >getPrettyString($pool));.$this-
7d720 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a >io->writeError('');.break;.}.}.
7d740 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c }..$event.=.'Composer\Installer\
7d760 50 61 63 6b 61 67 65 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 27 2e 73 74 PackageEvents::POST_PACKAGE_'.st
7d780 72 74 6f 75 70 70 65 72 28 24 6a 6f 62 54 79 70 65 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 rtoupper($jobType);.if.(defined(
7d7a0 24 65 76 65 6e 74 29 20 26 26 20 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a $event).&&.$this->runScripts).{.
7d7c0 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 $this->eventDispatcher->dispatch
7d7e0 50 61 63 6b 61 67 65 45 76 65 6e 74 28 63 6f 6e 73 74 61 6e 74 28 24 65 76 65 6e 74 29 2c 20 24 PackageEvent(constant($event),.$
7d800 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 this->devMode,.$policy,.$pool,.$
7d820 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 installedRepo,.$request,.$operat
7d840 69 6f 6e 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d ions,.$operation);.}..if.($this-
7d860 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 77 72 69 >executeOperations.||.$this->wri
7d880 74 65 4c 6f 63 6b 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 77 72 69 74 65 28 29 3b 0a 7d teLock).{.$localRepo->write();.}
7d8a0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 .}..if.($this->executeOperations
7d8c0 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 61 63 6b 61 67 65 55 72 6c 73 28 ).{...$this->processPackageUrls(
7d8e0 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 72 65 70 $pool,.$policy,.$localRepo,.$rep
7d900 6f 73 69 74 6f 72 69 65 73 29 3b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 77 72 69 74 65 28 29 3b ositories);.$localRepo->write();
7d920 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 30 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 .}..return.array(0,.$devPackages
7d940 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e );.}............private.function
7d960 20 65 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 6f 70 65 72 61 .extractDevPackages(array.$opera
7d980 74 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 tions,.RepositoryInterface.$loca
7d9a0 6c 52 65 70 6f 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 lRepo,.PlatformRepository.$platf
7d9c0 6f 72 6d 52 65 70 6f 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 69 66 20 28 21 ormRepo,.array.$aliases).{.if.(!
7d9e0 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 $this->package->getDevRequires()
7da00 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 20 24 74 65 6d 70 4c 6f ).{.return.array();.}....$tempLo
7da20 63 61 6c 52 65 70 6f 20 3d 20 63 6c 6f 6e 65 20 24 6c 6f 63 61 6c 52 65 70 6f 3b 0a 66 6f 72 65 calRepo.=.clone.$localRepo;.fore
7da40 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 ach.($operations.as.$operation).
7da60 7b 0a 73 77 69 74 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 {.switch.($operation->getJobType
7da80 28 29 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 63 61 73 65 20 27 6d 61 72 6b ()).{.case.'install':.case.'mark
7daa0 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 27 3a 0a 69 66 20 28 21 24 74 65 6d 70 4c 6f 63 61 6c AliasInstalled':.if.(!$tempLocal
7dac0 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 Repo->hasPackage($operation->get
7dae0 50 61 63 6b 61 67 65 28 29 29 29 20 7b 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 Package())).{.$tempLocalRepo->ad
7db00 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 dPackage(clone.$operation->getPa
7db20 63 6b 61 67 65 28 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 69 6e 73 74 ckage());.}.break;..case.'uninst
7db40 61 6c 6c 27 3a 0a 63 61 73 65 20 27 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 all':.case.'markAliasUninstalled
7db60 27 3a 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 ':.$tempLocalRepo->removePackage
7db80 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 3b 0a 62 72 65 61 ($operation->getPackage());.brea
7dba0 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 k;..case.'update':.$tempLocalRep
7dbc0 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 o->removePackage($operation->get
7dbe0 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 29 3b 0a 69 66 20 28 21 24 74 65 6d 70 4c 6f 63 InitialPackage());.if.(!$tempLoc
7dc00 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 alRepo->hasPackage($operation->g
7dc20 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 20 7b 0a 24 74 65 6d 70 4c 6f 63 61 6c etTargetPackage())).{.$tempLocal
7dc40 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 6f 70 65 72 61 74 69 6f Repo->addPackage(clone.$operatio
7dc60 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b n->getTargetPackage());.}.break;
7dc80 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 ..default:.throw.new.\LogicExcep
7dca0 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 74 79 70 65 3a 20 27 2e 24 6f 70 65 72 61 74 69 6f 6e tion('Unknown.type:.'.$operation
7dcc0 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 6c 6f 63 ->getJobType());.}.}........$loc
7dce0 61 6c 52 65 70 6f 20 3d 20 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 alRepo.=.new.InstalledArrayRepos
7dd00 69 74 6f 72 79 28 61 72 72 61 79 28 29 29 3b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 itory(array());.$loader.=.new.Ar
7dd20 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 24 64 75 6d 70 65 72 20 3d rayLoader(null,.true);.$dumper.=
7dd40 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 65 .new.ArrayDumper();.foreach.($te
7dd60 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 mpLocalRepo->getCanonicalPackage
7dd80 73 28 29 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 s().as.$pkg).{.$localRepo->addPa
7dda0 63 6b 61 67 65 28 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d ckage($loader->load($dumper->dum
7ddc0 70 28 24 70 6b 67 29 29 29 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 p($pkg)));.}.unset($tempLocalRep
7dde0 6f 2c 20 24 6c 6f 61 64 65 72 2c 20 24 64 75 6d 70 65 72 29 3b 0a 0a 24 70 6f 6c 69 63 79 20 3d o,.$loader,.$dumper);..$policy.=
7de00 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 3d 20 .$this->createPolicy();.$pool.=.
7de20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6f 6c 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 $this->createPool();.$installedR
7de40 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f epo.=.$this->createInstalledRepo
7de60 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 24 70 6f ($localRepo,.$platformRepo);.$po
7de80 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f ol->addRepository($installedRepo
7dea0 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 0a 20 24 72 65 71 75 65 73 74 20 3d 20 24 74 68 69 73 ,.$aliases);....$request.=.$this
7dec0 2d 3e 63 72 65 61 74 65 52 65 71 75 65 73 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 ->createRequest($this->package,.
7dee0 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 24 72 65 71 75 65 73 74 2d 3e 75 70 64 61 74 65 $platformRepo);.$request->update
7df00 41 6c 6c 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e All();.foreach.($this->package->
7df20 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 65 getRequires().as.$link).{.$reque
7df40 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 st->install($link->getTarget(),.
7df60 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 0a 20 24 74 $link->getConstraint());.}....$t
7df80 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e his->eventDispatcher->dispatchIn
7dfa0 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 52 stallerEvent(InstallerEvents::PR
7dfc0 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 66 61 6c 73 65 2c 20 24 E_DEPENDENCIES_SOLVING,.false,.$
7dfe0 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 policy,.$pool,.$installedRepo,.$
7e000 72 65 71 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 53 6f 6c 76 65 72 28 24 request);.$solver.=.new.Solver($
7e020 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 policy,.$pool,.$installedRepo,.$
7e040 74 68 69 73 2d 3e 69 6f 29 3b 0a 24 6f 70 73 20 3d 20 24 73 6f 6c 76 65 72 2d 3e 73 6f 6c 76 65 this->io);.$ops.=.$solver->solve
7e060 28 24 72 65 71 75 65 73 74 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d ($request,.$this->ignorePlatform
7e080 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 Reqs);.$this->eventDispatcher->d
7e0a0 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 ispatchInstallerEvent(InstallerE
7e0c0 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 vents::POST_DEPENDENCIES_SOLVING
7e0e0 2c 20 66 61 6c 73 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c ,.false,.$policy,.$pool,.$instal
7e100 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 73 29 3b 0a 0a 24 64 65 76 50 ledRepo,.$request,.$ops);..$devP
7e120 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 73 ackages.=.array();.foreach.($ops
7e140 20 61 73 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 .as.$op).{.if.($op->getJobType()
7e160 20 3d 3d 3d 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 .===.'uninstall').{.$devPackages
7e180 5b 5d 20 3d 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 [].=.$op->getPackage();.}.}..ret
7e1a0 75 72 6e 20 24 64 65 76 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 urn.$devPackages;.}.....private.
7e1c0 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 44 65 76 50 61 63 6b 61 67 65 4f 70 65 72 61 74 69 function.filterDevPackageOperati
7e1e0 6f 6e 73 28 61 72 72 61 79 20 24 64 65 76 50 61 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 6f ons(array.$devPackages,.array.$o
7e200 70 65 72 61 74 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 perations,.RepositoryInterface.$
7e220 6c 6f 63 61 6c 52 65 70 6f 29 0a 7b 0a 24 66 69 6e 61 6c 4f 70 73 20 3d 20 61 72 72 61 79 28 29 localRepo).{.$finalOps.=.array()
7e240 3b 0a 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 ;.$packagesToSkip.=.array();.for
7e260 65 61 63 68 20 28 24 64 65 76 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 70 each.($devPackages.as.$pkg).{.$p
7e280 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 5b 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d ackagesToSkip[$pkg->getName()].=
7e2a0 20 74 72 75 65 3b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 20 3d 20 24 6c .true;.if.($installedDevPkg.=.$l
7e2c0 6f 63 61 6c 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 70 6b 67 2d 3e 67 65 74 4e ocalRepo->findPackage($pkg->getN
7e2e0 61 6d 65 28 29 2c 20 27 2a 27 29 29 20 7b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 ame(),.'*')).{.if.($installedDev
7e300 50 6b 67 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 Pkg.instanceof.AliasPackage).{.$
7e320 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 6e 65 77 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 finalOps[].=.new.MarkAliasUninst
7e340 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2c alledOperation($installedDevPkg,
7e360 20 27 6e 6f 6e 2d 64 65 76 20 69 6e 73 74 61 6c 6c 20 72 65 6d 6f 76 69 6e 67 20 69 74 27 29 3b .'non-dev.install.removing.it');
7e380 0a 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 44 65 .$installedDevPkg.=.$installedDe
7e3a0 76 50 6b 67 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 24 66 69 6e 61 6c 4f 70 73 5b vPkg->getAliasOf();.}.$finalOps[
7e3c0 5d 20 3d 20 6e 65 77 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 69 6e 73 74 ].=.new.UninstallOperation($inst
7e3e0 61 6c 6c 65 64 44 65 76 50 6b 67 2c 20 27 6e 6f 6e 2d 64 65 76 20 69 6e 73 74 61 6c 6c 20 72 65 alledDevPkg,.'non-dev.install.re
7e400 6d 6f 76 69 6e 67 20 69 74 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6f 70 moving.it');.}.}....foreach.($op
7e420 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f erations.as.$op).{.$package.=.$o
7e440 70 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 3d 3d 3d 20 27 75 70 64 61 74 65 27 20 3f 20 24 p->getJobType().===.'update'.?.$
7e460 6f 70 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 20 3a 20 24 6f 70 2d 3e 67 65 op->getTargetPackage().:.$op->ge
7e480 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 54 tPackage();.if.(isset($packagesT
7e4a0 6f 53 6b 69 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 63 oSkip[$package->getName()])).{.c
7e4c0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 24 6f 70 3b 0a 7d ontinue;.}..$finalOps[].=.$op;.}
7e4e0 0a 0a 72 65 74 75 72 6e 20 24 66 69 6e 61 6c 4f 70 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ..return.$finalOps;.}...........
7e500 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 50 6c 75 67 69 6e 73 ....private.function.movePlugins
7e520 54 6f 46 72 6f 6e 74 28 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 0a 7b 0a 24 70 6c ToFront(array.$operations).{.$pl
7e540 75 67 69 6e 73 4e 6f 44 65 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 6c 75 67 69 6e 73 57 uginsNoDeps.=.array();.$pluginsW
7e560 69 74 68 44 65 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 6c 75 67 69 6e 52 65 71 75 69 72 ithDeps.=.array();.$pluginRequir
7e580 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 72 65 es.=.array();..foreach.(array_re
7e5a0 76 65 72 73 65 28 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 74 72 75 65 29 20 61 73 20 24 69 64 78 verse($operations,.true).as.$idx
7e5c0 20 3d 3e 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e .=>.$op).{.if.($op.instanceof.In
7e5e0 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 stallOperation).{.$package.=.$op
7e600 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 20 69 6e ->getPackage();.}.elseif.($op.in
7e620 73 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 63 stanceof.UpdateOperation).{.$pac
7e640 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a kage.=.$op->getTargetPackage();.
7e660 7d 20 65 6c 73 65 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 69 73 50 6c 75 67 69 }.else.{.continue;.}....$isPlugi
7e680 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d n.=.$package->getType().===.'com
7e6a0 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 poser-plugin'.||.$package->getTy
7e6c0 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 3b 0a 0a pe().===.'composer-installer';..
7e6e0 0a 20 69 66 20 28 24 69 73 50 6c 75 67 69 6e 20 7c 7c 20 63 6f 75 6e 74 28 61 72 72 61 79 5f 69 ..if.($isPlugin.||.count(array_i
7e700 6e 74 65 72 73 65 63 74 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 2c 20 24 ntersect($package->getNames(),.$
7e720 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 29 29 29 20 7b 0a 0a 20 24 72 65 71 75 69 72 65 73 20 pluginRequires))).{...$requires.
7e740 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 =.array_filter(array_keys($packa
7e760 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 72 ge->getRequires()),.function.($r
7e780 65 71 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 20 21 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d eq).{.return.$req.!==.'composer-
7e7a0 70 6c 75 67 69 6e 2d 61 70 69 27 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 plugin-api'.&&.!preg_match(Platf
7e7c0 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f ormRepository::PLATFORM_PACKAGE_
7e7e0 52 45 47 45 58 2c 20 24 72 65 71 29 3b 0a 7d 29 3b 0a 0a 0a 20 69 66 20 28 24 69 73 50 6c 75 67 REGEX,.$req);.});....if.($isPlug
7e800 69 6e 20 26 26 20 21 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 73 29 29 20 7b 0a 0a 20 61 72 72 in.&&.!count($requires)).{...arr
7e820 61 79 5f 75 6e 73 68 69 66 74 28 24 70 6c 75 67 69 6e 73 4e 6f 44 65 70 73 2c 20 24 6f 70 29 3b ay_unshift($pluginsNoDeps,.$op);
7e840 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 20 3d 20 61 72 .}.else.{...$pluginRequires.=.ar
7e860 72 61 79 5f 6d 65 72 67 65 28 24 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 2c 20 24 72 65 71 75 ray_merge($pluginRequires,.$requ
7e880 69 72 65 73 29 3b 0a 0a 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 6c 75 67 69 6e 73 57 ires);...array_unshift($pluginsW
7e8a0 69 74 68 44 65 70 73 2c 20 24 6f 70 29 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 6f 70 65 72 61 74 69 ithDeps,.$op);.}..unset($operati
7e8c0 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 ons[$idx]);.}.}..return.array_me
7e8e0 72 67 65 28 24 70 6c 75 67 69 6e 73 4e 6f 44 65 70 73 2c 20 24 70 6c 75 67 69 6e 73 57 69 74 68 rge($pluginsNoDeps,.$pluginsWith
7e900 44 65 70 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 Deps,.$operations);.}.........pr
7e920 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 55 6e 69 6e 73 74 61 6c 6c 73 54 6f 46 ivate.function.moveUninstallsToF
7e940 72 6f 6e 74 28 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 0a 7b 0a 24 75 6e 69 6e 73 ront(array.$operations).{.$unins
7e960 74 4f 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 tOps.=.array();.foreach.($operat
7e980 69 6f 6e 73 20 61 73 20 24 69 64 78 20 3d 3e 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 20 69 ions.as.$idx.=>.$op).{.if.($op.i
7e9a0 6e 73 74 61 6e 63 65 6f 66 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a nstanceof.UninstallOperation).{.
7e9c0 24 75 6e 69 6e 73 74 4f 70 73 5b 5d 20 3d 20 24 6f 70 3b 0a 75 6e 73 65 74 28 24 6f 70 65 72 61 $uninstOps[].=.$op;.unset($opera
7e9e0 74 69 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f tions[$idx]);.}.}..return.array_
7ea00 6d 65 72 67 65 28 24 75 6e 69 6e 73 74 4f 70 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a merge($uninstOps,.$operations);.
7ea20 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 }.....private.function.createIns
7ea40 74 61 6c 6c 65 64 52 65 70 6f 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 talledRepo(RepositoryInterface.$
7ea60 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 localRepo,.PlatformRepository.$p
7ea80 6c 61 74 66 6f 72 6d 52 65 70 6f 29 0a 7b 0a 0a 20 0a 20 0a 20 24 69 6e 73 74 61 6c 6c 65 64 52 latformRepo).{.......$installedR
7eaa0 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 ootPackage.=.clone.$this->packag
7eac0 65 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 e;.$installedRootPackage->setReq
7eae0 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 uires(array());.$installedRootPa
7eb00 63 6b 61 67 65 2d 3e 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a ckage->setDevRequires(array());.
7eb20 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 0a 24 6c 6f 63 61 6c 52 65 70 6f 2c 0a 6e 65 77 .$repos.=.array(.$localRepo,.new
7eb40 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 .InstalledArrayRepository(array(
7eb60 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 29 29 2c 0a 24 70 6c 61 74 66 6f $installedRootPackage)),.$platfo
7eb80 72 6d 52 65 70 6f 2c 0a 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 rmRepo,.);.$installedRepo.=.new.
7eba0 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 69 66 20 CompositeRepository($repos);.if.
7ebc0 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 ($this->additionalInstalledRepos
7ebe0 69 74 6f 72 79 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 61 64 64 52 65 70 6f itory).{.$installedRepo->addRepo
7ec00 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 sitory($this->additionalInstalle
7ec20 64 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c dRepository);.}..return.$install
7ec40 65 64 52 65 70 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 edRepo;.}......private.function.
7ec60 63 72 65 61 74 65 50 6f 6f 6c 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 createPool(RepositoryInterface.$
7ec80 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 lockedRepository.=.null).{.if.($
7eca0 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 this->update).{.$minimumStabilit
7ecc0 79 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 y.=.$this->package->getMinimumSt
7ece0 61 62 69 6c 69 74 79 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 74 68 ability();.$stabilityFlags.=.$th
7ed00 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 is->package->getStabilityFlags()
7ed20 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 ;..$requires.=.array_merge($this
7ed40 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 74 68 69 73 2d ->package->getRequires(),.$this-
7ed60 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 7d 20 65 >package->getDevRequires());.}.e
7ed80 6c 73 65 20 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d lse.{.$minimumStability.=.$this-
7eda0 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a >locker->getMinimumStability();.
7edc0 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d $stabilityFlags.=.$this->locker-
7ede0 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 >getStabilityFlags();..$requires
7ee00 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f .=.array();.foreach.($lockedRepo
7ee20 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 sitory->getPackages().as.$packag
7ee40 65 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e e).{.$constraint.=.new.Constrain
7ee60 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a t('=',.$package->getVersion());.
7ee80 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 $constraint->setPrettyString($pa
7eea0 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 ckage->getPrettyVersion());.$req
7eec0 75 69 72 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 6f uires[$package->getName()].=.$co
7eee0 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 24 72 6f 6f 74 43 6f 6e 73 74 72 61 69 6e 74 73 20 nstraint;.}.}..$rootConstraints.
7ef00 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 =.array();.foreach.($requires.as
7ef20 20 24 72 65 71 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 0a 20 69 66 20 28 24 74 .$req.=>.$constraint).{...if.($t
7ef40 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f his->ignorePlatformReqs.&&.preg_
7ef60 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f match(PlatformRepository::PLATFO
7ef80 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 29 29 20 7b 0a 63 6f 6e 74 69 RM_PACKAGE_REGEX,.$req)).{.conti
7efa0 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f nue;.}.if.($constraint.instanceo
7efc0 66 20 4c 69 6e 6b 29 20 7b 0a 24 72 6f 6f 74 43 6f 6e 73 74 72 61 69 6e 74 73 5b 24 72 65 71 5d f.Link).{.$rootConstraints[$req]
7efe0 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b .=.$constraint->getConstraint();
7f000 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 6f 74 43 6f 6e 73 74 72 61 69 6e 74 73 5b 24 72 65 71 5d .}.else.{.$rootConstraints[$req]
7f020 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 .=.$constraint;.}.}..return.new.
7f040 50 6f 6f 6c 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 2c 20 24 73 74 61 62 69 6c 69 Pool($minimumStability,.$stabili
7f060 74 79 46 6c 61 67 73 2c 20 24 72 6f 6f 74 43 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 7d 0a 0a 0a tyFlags,.$rootConstraints);.}...
7f080 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 6f 6c 69 63 79 28 ..private.function.createPolicy(
7f0a0 29 0a 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 66 65 ).{.$preferStable.=.null;.$prefe
7f0c0 72 4c 6f 77 65 73 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 rLowest.=.null;.if.(!$this->upda
7f0e0 74 65 29 20 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 te).{.$preferStable.=.$this->loc
7f100 6b 65 72 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 24 70 72 65 66 65 72 4c ker->getPreferStable();.$preferL
7f120 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 72 65 66 65 72 owest.=.$this->locker->getPrefer
7f140 4c 6f 77 65 73 74 28 29 3b 0a 7d 0a 0a 20 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 Lowest();.}.....if.(null.===.$pr
7f160 65 66 65 72 53 74 61 62 6c 65 29 20 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 74 eferStable).{.$preferStable.=.$t
7f180 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 7c 7c 20 24 74 68 69 73 2d 3e 70 61 63 6b his->preferStable.||.$this->pack
7f1a0 61 67 65 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 age->getPreferStable();.}.if.(nu
7f1c0 6c 6c 20 3d 3d 3d 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 29 20 7b 0a 24 70 72 65 66 65 72 4c ll.===.$preferLowest).{.$preferL
7f1e0 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 7d 0a 0a owest.=.$this->preferLowest;.}..
7f200 72 65 74 75 72 6e 20 6e 65 77 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 28 24 70 72 65 66 65 72 return.new.DefaultPolicy($prefer
7f220 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a Stable,.$preferLowest);.}.......
7f240 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 71 75 65 73 74 28 52 private.function.createRequest(R
7f260 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 ootPackageInterface.$rootPackage
7f280 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 ,.PlatformRepository.$platformRe
7f2a0 70 6f 29 0a 7b 0a 24 72 65 71 75 65 73 74 20 3d 20 6e 65 77 20 52 65 71 75 65 73 74 28 29 3b 0a po).{.$request.=.new.Request();.
7f2c0 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d .$constraint.=.new.Constraint('=
7f2e0 27 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a ',.$rootPackage->getVersion());.
7f300 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 72 6f $constraint->setPrettyString($ro
7f320 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a otPackage->getPrettyVersion());.
7f340 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e $request->install($rootPackage->
7f360 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 24 66 69 78 65 64 getName(),.$constraint);..$fixed
7f380 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 67 65 74 50 61 63 Packages.=.$platformRepo->getPac
7f3a0 6b 61 67 65 73 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e kages();.if.($this->additionalIn
7f3c0 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 61 64 64 69 74 69 6f 6e 61 6c stalledRepository).{.$additional
7f3e0 46 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 FixedPackages.=.$this->additiona
7f400 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 lInstalledRepository->getPackage
7f420 73 28 29 3b 0a 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 s();.$fixedPackages.=.array_merg
7f440 65 28 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 e($fixedPackages,.$additionalFix
7f460 65 64 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 0a 20 24 70 72 6f 76 69 64 65 64 20 3d 20 edPackages);.}......$provided.=.
7f480 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 66 6f 72 $rootPackage->getProvides();.for
7f4a0 65 61 63 68 20 28 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 each.($fixedPackages.as.$package
7f4c0 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 ).{.$constraint.=.new.Constraint
7f4e0 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 ('=',.$package->getVersion());.$
7f500 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 63 constraint->setPrettyString($pac
7f520 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 0a 20 69 66 kage->getPrettyVersion());....if
7f540 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 20 21 3d 3d 20 .($package->getRepository().!==.
7f560 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 0a 7c 7c 20 21 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 $platformRepo.||.!isset($provide
7f580 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 21 24 70 72 6f d[$package->getName()]).||.!$pro
7f5a0 76 69 64 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 2d 3e 67 65 74 43 vided[$package->getName()]->getC
7f5c0 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 onstraint()->matches($constraint
7f5e0 29 0a 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 66 69 78 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 ).).{.$request->fix($package->ge
7f600 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 tName(),.$constraint);.}.}..retu
7f620 72 6e 20 24 72 65 71 75 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 rn.$request;.}.............priva
7f640 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 te.function.processDevPackages($
7f660 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f localRepo,.$pool,.$policy,.$repo
7f680 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 6b 65 sitories,.$installedRepo,.$locke
7f6a0 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 74 61 73 6b 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 dRepository,.$task,.array.$opera
7f6c0 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 tions.=.null).{.if.($task.===.'f
7f6e0 6f 72 63 65 2d 75 70 64 61 74 65 73 27 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 70 65 72 61 orce-updates'.&&.null.===.$opera
7f700 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d tions).{.throw.new.\InvalidArgum
7f720 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 73 73 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 entException('Missing.operations
7f740 20 61 72 67 75 6d 65 6e 74 27 29 3b 0a 7d 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f .argument');.}.if.($task.===.'fo
7f760 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 rce-links').{.$operations.=.arra
7f780 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 y();.}..if.($this->update.&&.$th
7f7a0 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 is->updateWhitelist).{.$currentP
7f7c0 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 50 61 63 6b 61 ackages.=.$this->getCurrentPacka
7f7e0 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 ges($installedRepo);.}..foreach.
7f800 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 ($localRepo->getCanonicalPackage
7f820 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 69 66 20 28 21 24 70 61 63 6b 61 s().as.$package).{...if.(!$packa
7f840 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 66 6f ge->isDev()).{.continue;.}....fo
7f860 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 61 74 69 6f 6e reach.($operations.as.$operation
7f880 29 20 7b 0a 69 66 20 28 28 27 75 70 64 61 74 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e ).{.if.(('update'.===.$operation
7f8a0 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 26 26 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 ->getJobType().&&.$operation->ge
7f8c0 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 2d 3e 65 71 75 61 6c 73 28 24 70 61 63 6b 61 tInitialPackage()->equals($packa
7f8e0 67 65 29 29 0a 7c 7c 20 28 27 75 6e 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 ge)).||.('uninstall'.===.$operat
7f900 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 26 26 20 24 6f 70 65 72 61 74 69 6f 6e 2d ion->getJobType().&&.$operation-
7f920 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 65 71 75 61 6c 73 28 24 70 61 63 6b 61 67 65 29 29 >getPackage()->equals($package))
7f940 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d .).{.continue.2;.}.}..if.($this-
7f960 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 >update).{...if.($this->updateWh
7f980 69 74 65 6c 69 73 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 itelist.&&.!$this->isUpdateable(
7f9a0 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 $package)).{...foreach.($current
7f9c0 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 Packages.as.$curPackage).{.if.($
7f9e0 63 75 72 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 curPackage->isDev().&&.$curPacka
7fa00 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ge->getName().===.$package->getN
7fa20 61 6d 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e ame().&&.$curPackage->getVersion
7fa40 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b ().===.$package->getVersion()).{
7fa60 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a .if.($task.===.'force-links').{.
7fa80 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 63 75 72 50 61 63 6b 61 67 $package->setRequires($curPackag
7faa0 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 e->getRequires());.$package->set
7fac0 43 6f 6e 66 6c 69 63 74 73 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 Conflicts($curPackage->getConfli
7fae0 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 63 cts());.$package->setProvides($c
7fb00 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b urPackage->getProvides());.$pack
7fb20 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 age->setReplaces($curPackage->ge
7fb40 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 61 73 6b 20 3d 3d tReplaces());.}.elseif.($task.==
7fb60 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 69 66 20 28 28 24 63 75 72 50 61 =.'force-updates').{.if.(($curPa
7fb80 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 ckage->getSourceReference().&&.$
7fba0 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 curPackage->getSourceReference()
7fbc0 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 .!==.$package->getSourceReferenc
7fbe0 65 28 29 29 0a 7c 7c 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 e()).||.($curPackage->getDistRef
7fc00 65 72 65 6e 63 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 erence().&&.$curPackage->getDist
7fc20 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 Reference().!==.$package->getDis
7fc40 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 tReference()).).{.$operations[].
7fc60 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 =.new.UpdateOperation($package,.
7fc80 24 63 75 72 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 63 $curPackage);.}.}..break;.}.}..c
7fca0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e ontinue;.}....$matches.=.$pool->
7fcc0 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 whatProvides($package->getName()
7fce0 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e ,.new.Constraint('=',.$package->
7fd00 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 getVersion()));.foreach.($matche
7fd20 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6d 61 74 63 68 29 20 7b 0a 0a 20 69 66 20 28 21 s.as.$index.=>.$match).{...if.(!
7fd40 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 in_array($match->getRepository()
7fd60 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 75 6e 73 65 74 28 ,.$repositories,.true)).{.unset(
7fd80 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a $matches[$index]);.continue;.}..
7fda0 0a 20 69 66 20 28 24 6d 61 74 63 68 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 70 61 63 ..if.($match->getName().!==.$pac
7fdc0 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 kage->getName()).{.unset($matche
7fde0 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 s[$index]);.continue;.}..$matche
7fe00 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d 61 74 63 68 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a s[$index].=.$match->getId();.}..
7fe20 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f ..if.($matches.&&.$matches.=.$po
7fe40 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 licy->selectPreferredPackages($p
7fe60 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6e 65 77 50 ool,.array(),.$matches)).{.$newP
7fe80 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 ackage.=.$pool->literalToPackage
7fea0 28 24 6d 61 74 63 68 65 73 5b 30 5d 29 3b 0a 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 ($matches[0]);..if.($task.===.'f
7fec0 6f 72 63 65 2d 6c 69 6e 6b 73 27 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 orce-links'.&&.$newPackage).{.$p
7fee0 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d ackage->setRequires($newPackage-
7ff00 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f >getRequires());.$package->setCo
7ff20 6e 66 6c 69 63 74 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 nflicts($newPackage->getConflict
7ff40 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 6e 65 77 s());.$package->setProvides($new
7ff60 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 Package->getProvides());.$packag
7ff80 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 e->setReplaces($newPackage->getR
7ffa0 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 0a 24 74 61 73 6b 20 3d 3d 3d 20 27 66 eplaces());.}..if.(.$task.===.'f
7ffc0 6f 72 63 65 2d 75 70 64 61 74 65 73 27 0a 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 0a 26 26 20 orce-updates'.&&.$newPackage.&&.
7ffe0 28 0a 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e (.($newPackage->getSourceReferen
80000 63 65 28 29 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 ce().&&.$newPackage->getSourceRe
80020 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 ference().!==.$package->getSourc
80040 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 eReference()).||.($newPackage->g
80060 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 etDistReference().&&.$newPackage
80080 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 ->getDistReference().!==.$packag
800a0 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 0a 29 20 7b 0a 24 6f 70 e->getDistReference()).).).{.$op
800c0 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e erations[].=.new.UpdateOperation
800e0 28 24 70 61 63 6b 61 67 65 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 29 3b 0a 0a 63 6f 6e 74 69 6e ($package,.$newPackage);..contin
80100 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 ue;.}.}..if.($task.===.'force-up
80120 64 61 74 65 73 27 29 20 7b 0a 0a 20 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d dates').{...$references.=.$this-
80140 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 0a 69 66 20 28 >package->getReferences();..if.(
80160 69 73 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e isset($references[$package->getN
80180 61 6d 65 28 29 5d 29 20 26 26 20 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d ame()]).&&.$references[$package-
801a0 3e 67 65 74 4e 61 6d 65 28 29 5d 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 >getName()].!==.$package->getSou
801c0 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 0a 20 24 6f 70 65 72 61 74 69 6f 6e 73 5b rceReference()).{...$operations[
801e0 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 ].=.new.UpdateOperation($package
80200 2c 20 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a ,.clone.$package);.}.}.}.else.{.
80220 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 ..foreach.($lockedRepository->fi
80240 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 ndPackages($package->getName()).
80260 61 73 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6c 6f 63 6b 65 64 as.$lockedPackage).{.if.($locked
80280 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 Package->isDev().&&.$lockedPacka
802a0 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ge->getVersion().===.$package->g
802c0 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f etVersion()).{.if.($task.===.'fo
802e0 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 rce-links').{.$package->setRequi
80300 72 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 res($lockedPackage->getRequires(
80320 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 6c 6f 63 6b ));.$package->setConflicts($lock
80340 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 edPackage->getConflicts());.$pac
80360 6b 61 67 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 kage->setProvides($lockedPackage
80380 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 ->getProvides());.$package->setR
803a0 65 70 6c 61 63 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 eplaces($lockedPackage->getRepla
803c0 63 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 ces());.}.elseif.($task.===.'for
803e0 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 69 66 20 28 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 ce-updates').{.if.(($lockedPacka
80400 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6c 6f 63 ge->getSourceReference().&&.$loc
80420 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 kedPackage->getSourceReference()
80440 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 .!==.$package->getSourceReferenc
80460 65 28 29 29 0a 7c 7c 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 e()).||.($lockedPackage->getDist
80480 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 Reference().&&.$lockedPackage->g
804a0 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e etDistReference().!==.$package->
804c0 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 getDistReference()).).{.$operati
804e0 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 ons[].=.new.UpdateOperation($pac
80500 6b 61 67 65 2c 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 kage,.$lockedPackage);.}.}..brea
80520 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a k;.}.}.}.}..return.$operations;.
80540 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 }.......private.function.getCurr
80560 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 0a 7b 0a 69 66 entPackages($installedRepo).{.if
80580 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 74 .($this->locker->isLocked()).{.t
805a0 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f ry.{.return.$this->locker->getLo
805c0 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 74 72 75 65 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 ckedRepository(true)->getPackage
805e0 73 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 s();.}.catch.(\RuntimeException.
80600 24 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 $e).{...return.$this->locker->ge
80620 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 tLockedRepository()->getPackages
80640 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e ();.}.}..return.$installedRepo->
80660 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e getPackages();.}.....private.fun
80680 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 ction.getRootAliases().{.if.($th
806a0 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e is->update).{.$aliases.=.$this->
806c0 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a package->getAliases();.}.else.{.
806e0 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 41 6c 69 $aliases.=.$this->locker->getAli
80700 61 73 65 73 28 29 3b 0a 7d 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 20 3d 20 ases();.}..$normalizedAliases.=.
80720 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 array();..foreach.($aliases.as.$
80740 61 6c 69 61 73 29 20 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 5b 24 61 6c 69 alias).{.$normalizedAliases[$ali
80760 61 73 5b 27 70 61 63 6b 61 67 65 27 5d 5d 5b 24 61 6c 69 61 73 5b 27 76 65 72 73 69 6f 6e 27 5d as['package']][$alias['version']
80780 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c ].=.array(.'alias'.=>.$alias['al
807a0 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 61 6c ias'],.'alias_normalized'.=>.$al
807c0 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 0a 29 3b 0a 7d 0a 0a 72 ias['alias_normalized'],.);.}..r
807e0 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a eturn.$normalizedAliases;.}.....
80800 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 50 61 63 6b 61 ...private.function.processPacka
80820 67 65 55 72 6c 73 28 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 6c 6f 63 61 6c 52 65 70 geUrls($pool,.$policy,.$localRep
80840 6f 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e o,.$repositories).{.if.(!$this->
80860 75 70 64 61 74 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 6f 6f 74 52 65 66 73 20 3d update).{.return;.}..$rootRefs.=
80880 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 .$this->package->getReferences()
808a0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e ;..foreach.($localRepo->getCanon
808c0 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 icalPackages().as.$package).{...
808e0 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 $matches.=.$pool->whatProvides($
80900 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 package->getName(),.new.Constrai
80920 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 nt('=',.$package->getVersion()))
80940 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e ;.foreach.($matches.as.$index.=>
80960 20 24 6d 61 74 63 68 29 20 7b 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 .$match).{...if.(!in_array($matc
80980 68 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 h->getRepository(),.$repositorie
809a0 73 2c 20 74 72 75 65 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 s,.true)).{.unset($matches[$inde
809c0 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 2d 3e x]);.continue;.}....if.($match->
809e0 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 getName().!==.$package->getName(
80a00 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f )).{.unset($matches[$index]);.co
80a20 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d ntinue;.}..$matches[$index].=.$m
80a40 61 74 63 68 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 atch->getId();.}....if.($matches
80a60 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 .&&.$matches.=.$policy->selectPr
80a80 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 eferredPackages($pool,.array(),.
80aa0 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6e 65 77 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c $matches)).{.$newPackage.=.$pool
80ac0 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6d 61 74 63 68 65 73 5b 30 5d 29 3b ->literalToPackage($matches[0]);
80ae0 0a 0a 0a 20 24 73 6f 75 72 63 65 55 72 6c 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f ....$sourceUrl.=.$package->getSo
80b00 75 72 63 65 55 72 6c 28 29 3b 0a 24 6e 65 77 53 6f 75 72 63 65 55 72 6c 20 3d 20 24 6e 65 77 50 urceUrl();.$newSourceUrl.=.$newP
80b20 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 24 6e 65 77 52 65 66 65 ackage->getSourceUrl();.$newRefe
80b40 72 65 6e 63 65 20 3d 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 rence.=.$newPackage->getSourceRe
80b60 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 ference();..if.($package->isDev(
80b80 29 20 26 26 20 69 73 73 65 74 28 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 ).&&.isset($rootRefs[$package->g
80ba0 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 etName()]).&&.$package->getSourc
80bc0 65 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 63 6b eReference().===.$rootRefs[$pack
80be0 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 7b 0a 24 6e 65 77 52 65 66 65 72 65 6e 63 65 age->getName()]).{.$newReference
80c00 20 3d 20 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 .=.$rootRefs[$package->getName()
80c20 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 50 61 63 6b 61 67 65 55 72 6c 28 24 70 ];.}..$this->updatePackageUrl($p
80c40 61 63 6b 61 67 65 2c 20 24 6e 65 77 53 6f 75 72 63 65 55 72 6c 2c 20 24 6e 65 77 50 61 63 6b 61 ackage,.$newSourceUrl,.$newPacka
80c60 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 24 6e 65 77 52 65 66 65 72 65 6e ge->getSourceType(),.$newReferen
80c80 63 65 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 3b 0a ce,.$newPackage->getDistUrl());.
80ca0 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 .if.($package.instanceof.Complet
80cc0 65 50 61 63 6b 61 67 65 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 ePackage.&&.$newPackage.instance
80ce0 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e of.CompletePackage).{.$package->
80d00 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 setAbandoned($newPackage->getRep
80d20 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 3f 3a 20 24 6e 65 77 50 61 63 6b 61 67 65 lacementPackage().?:.$newPackage
80d40 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 2d 3e 73 ->isAbandoned());.}..$package->s
80d60 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 etDistMirrors($newPackage->getDi
80d80 73 74 4d 69 72 72 6f 72 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 stMirrors());.$package->setSourc
80da0 65 4d 69 72 72 6f 72 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 4d eMirrors($newPackage->getSourceM
80dc0 69 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 irrors());.}.}.}..private.functi
80de0 6f 6e 20 75 70 64 61 74 65 50 61 63 6b 61 67 65 55 72 6c 28 50 61 63 6b 61 67 65 49 6e 74 65 72 on.updatePackageUrl(PackageInter
80e00 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 55 72 6c 2c 20 24 73 6f 75 72 face.$package,.$sourceUrl,.$sour
80e20 63 65 54 79 70 65 2c 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 2c 20 24 64 69 73 74 55 ceType,.$sourceReference,.$distU
80e40 72 6c 29 0a 7b 0a 24 6f 6c 64 53 6f 75 72 63 65 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e rl).{.$oldSourceRef.=.$package->
80e60 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b getSourceReference();..if.($pack
80e80 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 20 21 3d 3d 20 24 73 6f 75 72 63 65 55 age->getSourceUrl().!==.$sourceU
80ea0 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 73 rl).{.$package->setSourceType($s
80ec0 6f 75 72 63 65 54 79 70 65 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 55 ourceType);.$package->setSourceU
80ee0 72 6c 28 24 73 6f 75 72 63 65 55 72 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 rl($sourceUrl);.$package->setSou
80f00 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 3b 0a rceReference($sourceReference);.
80f20 7d 0a 0a 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a }......if.(preg_match('{^https?:
80f40 2f 2f 28 3f 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 7c 28 61 //(?:(?:www\.)?bitbucket\.org|(a
80f60 70 69 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 7c 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 6c pi\.)?github\.com|(?:www\.)?gitl
80f80 61 62 5c 2e 63 6f 6d 29 2f 7d 69 27 2c 20 24 64 69 73 74 55 72 6c 29 29 20 7b 0a 24 70 61 63 6b ab\.com)/}i',.$distUrl)).{.$pack
80fa0 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 64 69 73 74 55 72 6c 29 3b 0a 24 74 68 69 73 age->setDistUrl($distUrl);.$this
80fc0 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 ->updateInstallReferences($packa
80fe0 67 65 2c 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 ge,.$sourceReference);.}..if.($t
81000 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 26 26 20 21 24 74 68 69 73 2d 3e his->updateWhitelist.&&.!$this->
81020 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d isUpdateable($package)).{.$this-
81040 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 >updateInstallReferences($packag
81060 65 2c 20 24 6f 6c 64 53 6f 75 72 63 65 52 65 66 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 e,.$oldSourceRef);.}.}..private.
81080 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 function.updateInstallReferences
810a0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 66 (PackageInterface.$package,.$ref
810c0 65 72 65 6e 63 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 72 65 74 erence).{.if.(!$reference).{.ret
810e0 75 72 6e 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 urn;.}..$package->setSourceRefer
81100 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ence($reference);..if.(preg_matc
81120 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 h('{^https?://(?:(?:www\.)?bitbu
81140 63 6b 65 74 5c 2e 6f 72 67 7c 28 61 70 69 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 7c 28 3f cket\.org|(api\.)?github\.com|(?
81160 3a 77 77 77 5c 2e 29 3f 67 69 74 6c 61 62 5c 2e 63 6f 6d 29 2f 7d 69 27 2c 20 24 70 61 63 6b 61 :www\.)?gitlab\.com)/}i',.$packa
81180 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 ge->getDistUrl())).{.$package->s
811a0 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 24 70 61 etDistReference($reference);.$pa
811c0 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ckage->setDistUrl(preg_replace('
811e0 7b 28 3f 3c 3d 2f 7c 73 68 61 3d 29 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 28 3f 3d 2f 7c 24 29 7d {(?<=/|sha=)[a-f0-9]{40}(?=/|$)}
81200 69 27 2c 20 24 72 65 66 65 72 65 6e 63 65 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 i',.$reference,.$package->getDis
81220 74 55 72 6c 28 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 tUrl()));.}.elseif.($package->ge
81240 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 20 0a 20 24 70 61 63 6b 61 67 65 2d 3e tDistReference()).{...$package->
81260 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a setDistReference($reference);.}.
81280 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 50 6c 61 }......private.function.aliasPla
812a0 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 tformPackages(PlatformRepository
812c0 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 65 .$platformRepo,.$aliases).{.fore
812e0 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 ach.($aliases.as.$package.=>.$ve
81300 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 rsions).{.foreach.($versions.as.
81320 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 61 6c 69 61 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 $version.=>.$alias).{.$packages.
81340 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 =.$platformRepo->findPackages($p
81360 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 ackage,.$version);.foreach.($pac
81380 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 50 61 63 6b 61 kages.as.$package).{.$aliasPacka
813a0 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 ge.=.new.AliasPackage($package,.
813c0 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 61 6c 69 $alias['alias_normalized'],.$ali
813e0 61 73 5b 27 61 6c 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 as['alias']);.$aliasPackage->set
81400 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 74 72 75 65 29 3b 0a 24 70 6c 61 74 66 6f 72 RootPackageAlias(true);.$platfor
81420 6d 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 29 mRepo->addPackage($aliasPackage)
81440 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ;.}.}.}.}......private.function.
81460 69 73 55 70 64 61 74 65 61 62 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 isUpdateable(PackageInterface.$p
81480 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 ackage).{.if.(!$this->updateWhit
814a0 65 6c 69 73 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 elist).{.throw.new.\LogicExcepti
814c0 6f 6e 28 27 69 73 55 70 64 61 74 65 61 62 6c 65 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 on('isUpdateable.should.only.be.
814e0 63 61 6c 6c 65 64 20 77 68 65 6e 20 61 20 77 68 69 74 65 6c 69 73 74 20 69 73 20 70 72 65 73 65 called.when.a.whitelist.is.prese
81500 6e 74 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 nt');.}..foreach.($this->updateW
81520 68 69 74 65 6c 69 73 74 20 61 73 20 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 20 hitelist.as.$whiteListedPattern.
81540 3d 3e 20 24 76 6f 69 64 29 20 7b 0a 24 70 61 74 74 65 72 6e 52 65 67 65 78 70 20 3d 20 24 74 68 =>.$void).{.$patternRegexp.=.$th
81560 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 is->packageNameToRegexp($whiteLi
81580 73 74 65 64 50 61 74 74 65 72 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 stedPattern);.if.(preg_match($pa
815a0 74 74 65 72 6e 52 65 67 65 78 70 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 tternRegexp,.$package->getName()
815c0 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 )).{.return.true;.}.}..return.fa
815e0 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 lse;.}........private.function.p
81600 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 ackageNameToRegexp($whiteListedP
81620 61 74 74 65 72 6e 29 0a 7b 0a 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 73 74 65 64 50 61 74 attern).{.$cleanedWhiteListedPat
81640 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 2e 2a 27 2c 20 tern.=.str_replace('\\*',.'.*',.
81660 70 72 65 67 5f 71 75 6f 74 65 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 29 29 preg_quote($whiteListedPattern))
81680 3b 0a 0a 72 65 74 75 72 6e 20 22 7b 5e 22 20 2e 20 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 ;..return."{^"...$cleanedWhiteLi
816a0 73 74 65 64 50 61 74 74 65 72 6e 20 2e 20 22 24 7d 69 22 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 stedPattern..."$}i";.}......priv
816c0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 ate.function.extractPlatformRequ
816e0 69 72 65 6d 65 6e 74 73 28 24 6c 69 6e 6b 73 29 0a 7b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 irements($links).{.$platformReqs
81700 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 .=.array();.foreach.($links.as.$
81720 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 link).{.if.(preg_match(PlatformR
81740 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 epository::PLATFORM_PACKAGE_REGE
81760 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 24 70 6c 61 74 66 X,.$link->getTarget())).{.$platf
81780 6f 72 6d 52 65 71 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c ormReqs[$link->getTarget()].=.$l
817a0 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 7d 0a ink->getPrettyConstraint();.}.}.
817c0 0a 72 65 74 75 72 6e 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .return.$platformReqs;.}........
817e0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 .......private.function.whitelis
81800 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c 6f 63 61 6c 4f 72 4c 6f 63 6b tUpdateDependencies($localOrLock
81820 52 65 70 6f 2c 20 61 72 72 61 79 20 24 72 6f 6f 74 52 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 Repo,.array.$rootRequires,.array
81840 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d .$rootDevRequires).{.if.(!$this-
81860 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 >updateWhitelist).{.return;.}..$
81880 72 6f 6f 74 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 rootRequires.=.array_merge($root
818a0 52 65 71 75 69 72 65 73 2c 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 29 3b 0a 0a 24 72 Requires,.$rootDevRequires);..$r
818c0 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 equiredPackageNames.=.array();.f
818e0 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 oreach.($rootRequires.as.$requir
81900 65 29 20 7b 0a 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 5b 5d 20 3d 20 24 e).{.$requiredPackageNames[].=.$
81920 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 0a 24 73 6b 69 70 50 61 require->getTarget();.}..$skipPa
81940 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 77 68 ckages.=.array();.if.(!$this->wh
81960 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 29 20 7b 0a 66 6f 72 65 61 63 itelistAllDependencies).{.foreac
81980 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a h.($rootRequires.as.$require).{.
819a0 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 $skipPackages[$require->getTarge
819c0 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f t()].=.true;.}.}..$pool.=.new.Po
819e0 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 ol('dev');.$pool->addRepository(
81a00 24 6c 6f 63 61 6c 4f 72 4c 6f 63 6b 52 65 70 6f 29 3b 0a 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 $localOrLockRepo);..$seen.=.arra
81a20 79 28 29 3b 0a 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 20 y();..$rootRequiredPackageNames.
81a40 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 29 3b 0a 0a 66 6f =.array_keys($rootRequires);..fo
81a60 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 61 73 reach.($this->updateWhitelist.as
81a80 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3e 20 24 76 6f 69 64 29 20 7b 0a 24 70 61 63 6b 61 .$packageName.=>.$void).{.$packa
81aa0 67 65 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 75 65 3b 0a 0a 24 64 65 70 50 61 geQueue.=.new.\SplQueue;..$depPa
81ac0 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 ckages.=.$pool->whatProvides($pa
81ae0 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 ckageName);..$nameMatchesRequire
81b00 64 50 61 63 6b 61 67 65 20 3d 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 dPackage.=.in_array($packageName
81b20 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 2c 20 74 72 75 65 29 3b 0a ,.$requiredPackageNames,.true);.
81b40 0a 0a 20 69 66 20 28 21 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b ...if.(!$nameMatchesRequiredPack
81b60 61 67 65 29 20 7b 0a 24 77 68 69 74 65 6c 69 73 74 50 61 74 74 65 72 6e 52 65 67 65 78 70 20 3d age).{.$whitelistPatternRegexp.=
81b80 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 .$this->packageNameToRegexp($pac
81ba0 6b 61 67 65 4e 61 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 kageName);.foreach.($rootRequire
81bc0 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 20 61 73 20 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 dPackageNames.as.$rootRequiredPa
81be0 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 77 68 69 ckageName).{.if.(preg_match($whi
81c00 74 65 6c 69 73 74 50 61 74 74 65 72 6e 52 65 67 65 78 70 2c 20 24 72 6f 6f 74 52 65 71 75 69 72 telistPatternRegexp,.$rootRequir
81c20 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 29 29 20 7b 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 edPackageName)).{.$nameMatchesRe
81c40 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d quiredPackage.=.true;.break;.}.}
81c60 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 70 50 61 63 6b 61 67 65 73 29 20 3d 3d 20 30 .}..if.(count($depPackages).==.0
81c80 20 26 26 20 21 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 .&&.!$nameMatchesRequiredPackage
81ca0 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 61 72 72 61 .&&.!in_array($packageName,.arra
81cc0 79 28 27 6e 6f 74 68 69 6e 67 27 2c 20 27 6c 6f 63 6b 27 2c 20 27 6d 69 72 72 6f 72 73 27 29 29 y('nothing',.'lock',.'mirrors'))
81ce0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
81d00 69 6e 67 3e 50 61 63 6b 61 67 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 ing>Package."'...$packageName...
81d20 27 22 20 6c 69 73 74 65 64 20 66 6f 72 20 75 70 64 61 74 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 '".listed.for.update.is.not.inst
81d40 61 6c 6c 65 64 2e 20 49 67 6e 6f 72 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a alled..Ignoring.</warning>');.}.
81d60 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 50 61 63 6b 61 67 65 73 20 61 73 20 24 64 65 70 50 61 .foreach.($depPackages.as.$depPa
81d80 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 ckage).{.$packageQueue->enqueue(
81da0 24 64 65 70 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 21 24 70 61 63 6b 61 67 $depPackage);.}..while.(!$packag
81dc0 65 51 75 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 eQueue->isEmpty()).{.$package.=.
81de0 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 $packageQueue->dequeue();.if.(is
81e00 73 65 74 28 24 73 65 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 7b set($seen[$package->getId()])).{
81e20 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 73 65 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 .continue;.}..$seen[$package->ge
81e40 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 tId()].=.true;.$this->updateWhit
81e60 65 6c 69 73 74 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 elist[$package->getName()].=.tru
81e80 65 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 e;..if.(!$this->whitelistDepende
81ea0 6e 63 69 65 73 20 26 26 20 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 ncies.&&.!$this->whitelistAllDep
81ec0 65 6e 64 65 6e 63 69 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 71 75 69 endencies).{.continue;.}..$requi
81ee0 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a res.=.$package->getRequires();..
81f00 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 foreach.($requires.as.$require).
81f20 7b 0a 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 {.$requirePackages.=.$pool->what
81f40 50 72 6f 76 69 64 65 73 28 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 3b Provides($require->getTarget());
81f60 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 73 20 61 73 20 24 ..foreach.($requirePackages.as.$
81f80 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 requirePackage).{.if.(isset($thi
81fa0 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 5b 24 72 65 71 75 69 72 65 50 61 63 6b 61 s->updateWhitelist[$requirePacka
81fc0 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a ge->getName()])).{.continue;.}..
81fe0 69 66 20 28 69 73 73 65 74 28 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 71 75 69 72 65 if.(isset($skipPackages[$require
82000 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 Package->getName()])).{.$this->i
82020 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 65 70 65 6e 64 65 6e o->writeError('<warning>Dependen
82040 63 79 20 22 27 20 2e 20 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 cy."'...$requirePackage->getName
82060 28 29 20 2e 20 27 22 20 69 73 20 61 6c 73 6f 20 61 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 ()...'".is.also.a.root.requireme
82080 6e 74 2c 20 62 75 74 20 69 73 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 77 68 69 74 65 6c nt,.but.is.not.explicitly.whitel
820a0 69 73 74 65 64 2e 20 49 67 6e 6f 72 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 63 6f isted..Ignoring.</warning>');.co
820c0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 ntinue;.}..$packageQueue->enqueu
820e0 65 28 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a e($requirePackage);.}.}.}.}.}...
82100 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 63 6b 4c 6f 63 61 6c ......private.function.mockLocal
82120 52 65 70 6f 73 69 74 6f 72 69 65 73 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 Repositories(RepositoryManager.$
82140 72 6d 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 rm).{.$packages.=.array();.forea
82160 63 68 20 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 ch.($rm->getLocalRepository()->g
82180 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 etPackages().as.$package).{.$pac
821a0 6b 61 67 65 73 5b 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 5d 20 3d 20 63 6c 6f 6e 65 kages[(string).$package].=.clone
821c0 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 .$package;.}.foreach.($packages.
821e0 61 73 20 24 6b 65 79 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b as.$key.=>.$package).{.if.($pack
82200 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 age.instanceof.AliasPackage).{.$
82220 61 6c 69 61 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c alias.=.(string).$package->getAl
82240 69 61 73 4f 66 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 5b 24 6b 65 79 5d 20 3d 20 6e 65 77 20 41 iasOf();.$packages[$key].=.new.A
82260 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 73 5b 24 61 6c 69 61 73 5d 2c 20 24 liasPackage($packages[$alias],.$
82280 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d package->getVersion(),.$package-
822a0 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 24 72 6d 2d 3e 73 >getPrettyVersion());.}.}.$rm->s
822c0 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 etLocalRepository(.new.Installed
822e0 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 63 6b 61 67 65 73 29 0a 29 3b 0a 7d 0a ArrayRepository($packages).);.}.
82300 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ........public.static.function.c
82320 72 65 61 74 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 reate(IOInterface.$io,.Composer.
82340 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 0a $composer).{.return.new.static(.
82360 24 69 6f 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 0a 24 63 6f $io,.$composer->getConfig(),.$co
82380 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d mposer->getPackage(),.$composer-
823a0 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 >getDownloadManager(),.$composer
823c0 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f ->getRepositoryManager(),.$compo
823e0 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 ser->getLocker(),.$composer->get
82400 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 InstallationManager(),.$composer
82420 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 ->getEventDispatcher(),.$compose
82440 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 0a 29 3b 0a 7d 0a 0a r->getAutoloadGenerator().);.}..
82460 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 64 69 74 69 6f 6e 61 ....public.function.setAdditiona
82480 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 lInstalledRepository(RepositoryI
824a0 6e 74 65 72 66 61 63 65 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 nterface.$additionalInstalledRep
824c0 6f 73 69 74 6f 72 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 ository).{.$this->additionalInst
824e0 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 alledRepository.=.$additionalIns
82500 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b talledRepository;..return.$this;
82520 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 72 79 .}........public.function.setDry
82540 52 75 6e 28 24 64 72 79 52 75 6e 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 72 79 Run($dryRun.=.true).{.$this->dry
82560 52 75 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 64 72 79 52 75 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 Run.=.(bool).$dryRun;..return.$t
82580 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 his;.}.......public.function.isD
825a0 72 79 52 75 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 3b 0a ryRun().{.return.$this->dryRun;.
825c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 }........public.function.setPref
825e0 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 74 72 75 65 29 0a 7b erSource($preferSource.=.true).{
82600 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 .$this->preferSource.=.(bool).$p
82620 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a referSource;..return.$this;.}...
82640 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 44 69 .....public.function.setPreferDi
82660 73 74 28 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e st($preferDist.=.true).{.$this->
82680 70 72 65 66 65 72 44 69 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 44 69 73 74 3b preferDist.=.(bool).$preferDist;
826a0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ..return.$this;.}........public.
826c0 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 function.setOptimizeAutoloader($
826e0 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 optimizeAutoloader.=.false).{.$t
82700 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 his->optimizeAutoloader.=.(bool)
82720 20 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 69 66 20 28 21 24 74 68 69 73 .$optimizeAutoloader;.if.(!$this
82740 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a 20 0a 20 24 74 68 69 ->optimizeAutoloader).{.....$thi
82760 73 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 66 61 6c 73 s->setClassMapAuthoritative(fals
82780 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 e);.}..return.$this;.}.........p
827a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 ublic.function.setClassMapAuthor
827c0 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d itative($classMapAuthoritative.=
827e0 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 .false).{.$this->classMapAuthori
82800 74 61 74 69 76 65 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 tative.=.(bool).$classMapAuthori
82820 74 61 74 69 76 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f tative;.if.($this->classMapAutho
82840 72 69 74 61 74 69 76 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 ritative).{...$this->setOptimize
82860 41 75 74 6f 6c 6f 61 64 65 72 28 74 72 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 Autoloader(true);.}..return.$thi
82880 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 s;.}........public.function.setA
828a0 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 pcuAutoloader($apcuAutoloader.=.
828c0 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d false).{.$this->apcuAutoloader.=
828e0 20 28 62 6f 6f 6c 29 20 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e .(bool).$apcuAutoloader;..return
82900 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$this;.}........public.function
82920 20 73 65 74 55 70 64 61 74 65 28 24 75 70 64 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 .setUpdate($update.=.true).{.$th
82940 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 3b 0a 0a 72 65 is->update.=.(bool).$update;..re
82960 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 turn.$this;.}........public.func
82980 74 69 6f 6e 20 73 65 74 44 65 76 4d 6f 64 65 28 24 64 65 76 4d 6f 64 65 20 3d 20 74 72 75 65 29 tion.setDevMode($devMode.=.true)
829a0 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 76 4d .{.$this->devMode.=.(bool).$devM
829c0 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ode;..return.$this;.}..........p
829e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 ublic.function.setDumpAutoloader
82a00 28 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 ($dumpAutoloader.=.true).{.$this
82a20 2d 3e 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 64 75 6d 70 41 ->dumpAutoloader.=.(bool).$dumpA
82a40 75 74 6f 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a utoloader;..return.$this;.}.....
82a60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 75 6e 53 63 72 69 70 .....public.function.setRunScrip
82a80 74 73 28 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e ts($runScripts.=.true).{.$this->
82aa0 72 75 6e 53 63 72 69 70 74 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 75 6e 53 63 72 69 70 74 73 3b runScripts.=.(bool).$runScripts;
82ac0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ..return.$this;.}........public.
82ae0 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 function.setConfig(Config.$confi
82b00 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 72 g).{.$this->config.=.$config;..r
82b20 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e eturn.$this;.}........public.fun
82b40 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 65 28 24 76 65 72 62 6f 73 65 20 3d 20 74 72 75 65 ction.setVerbose($verbose.=.true
82b60 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 3d 20 28 62 6f 6f 6c 29 20 24 76 65 72 ).{.$this->verbose.=.(bool).$ver
82b80 62 6f 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 bose;..return.$this;.}.......pub
82ba0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 lic.function.isVerbose().{.retur
82bc0 6e 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 n.$this->verbose;.}........publi
82be0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 c.function.setIgnorePlatformRequ
82c00 69 72 65 6d 65 6e 74 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 irements($ignorePlatformReqs.=.f
82c20 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 alse).{.$this->ignorePlatformReq
82c40 73 20 3d 20 28 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a s.=.(bool).$ignorePlatformReqs;.
82c60 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
82c80 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 61 72 72 61 function.setUpdateWhitelist(arra
82ca0 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 y.$packages).{.$this->updateWhit
82cc0 65 6c 69 73 74 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 elist.=.array_flip(array_map('st
82ce0 72 74 6f 6c 6f 77 65 72 27 2c 20 24 70 61 63 6b 61 67 65 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 rtolower',.$packages));..return.
82d00 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 $this;.}.....public.function.set
82d20 57 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 44 65 70 WhitelistDependencies($updateDep
82d40 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 endencies.=.true).{.return.$this
82d60 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e ->setWhitelistTransitiveDependen
82d80 63 69 65 73 28 24 75 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 29 3b 0a 7d 0a 0a 0a 0a cies($updateDependencies);.}....
82da0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c .......public.function.setWhitel
82dc0 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 istTransitiveDependencies($updat
82de0 65 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 72 75 65 29 0a eTransitiveDependencies.=.true).
82e00 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d {.$this->whitelistDependencies.=
82e20 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 .(bool).$updateTransitiveDepende
82e40 6e 63 69 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ncies;..return.$this;.}.........
82e60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c ..public.function.setWhitelistAl
82e80 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 41 6c 6c 44 65 70 65 6e 64 65 6e lDependencies($updateAllDependen
82ea0 63 69 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 cies.=.true).{.$this->whitelistA
82ec0 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 41 llDependencies.=.(bool).$updateA
82ee0 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d llDependencies;..return.$this;.}
82f00 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 ........public.function.setPrefe
82f20 72 53 74 61 62 6c 65 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 74 72 75 65 29 0a 7b 0a rStable($preferStable.=.true).{.
82f40 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 $this->preferStable.=.(bool).$pr
82f60 65 66 65 72 53 74 61 62 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a eferStable;..return.$this;.}....
82f80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 4c 6f 77 ....public.function.setPreferLow
82fa0 65 73 74 28 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 est($preferLowest.=.true).{.$thi
82fc0 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 s->preferLowest.=.(bool).$prefer
82fe0 4c 6f 77 65 73 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a Lowest;..return.$this;.}........
83000 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 72 69 74 65 4c 6f 63 6b 28 24 ..public.function.setWriteLock($
83020 77 72 69 74 65 4c 6f 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 writeLock.=.true).{.$this->write
83040 4c 6f 63 6b 20 3d 20 28 62 6f 6f 6c 29 20 24 77 72 69 74 65 4c 6f 63 6b 3b 0a 0a 72 65 74 75 72 Lock.=.(bool).$writeLock;..retur
83060 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.$this;.}..........public.funct
83080 69 6f 6e 20 73 65 74 45 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 65 78 65 63 75 74 ion.setExecuteOperations($execut
830a0 65 4f 70 65 72 61 74 69 6f 6e 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 eOperations.=.true).{.$this->exe
830c0 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 65 78 65 63 75 74 65 cuteOperations.=.(bool).$execute
830e0 4f 70 65 72 61 74 69 6f 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a Operations;..return.$this;.}....
83100 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6b 69 70 53 75 67 67 65 ....public.function.setSkipSugge
83120 73 74 28 24 73 6b 69 70 53 75 67 67 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d st($skipSuggest.=.true).{.$this-
83140 3e 73 6b 69 70 53 75 67 67 65 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 73 6b 69 70 53 75 67 67 65 >skipSuggest.=.(bool).$skipSugge
83160 73 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 st;..return.$this;.}...........p
83180 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 0a ublic.function.disablePlugins().
831a0 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 64 69 {.$this->installationManager->di
831c0 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d sablePlugins();..return.$this;.}
831e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 ......public.function.setSuggest
83200 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 53 75 67 67 65 73 74 65 64 50 61 63 6b edPackagesReporter(SuggestedPack
83220 61 67 65 73 52 65 70 6f 72 74 65 72 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 agesReporter.$suggestedPackagesR
83240 65 70 6f 72 74 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 eporter).{.$this->suggestedPacka
83260 67 65 73 52 65 70 6f 72 74 65 72 20 3d 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 gesReporter.=.$suggestedPackages
83280 52 65 70 6f 72 74 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f 70 Reporter;..return.$this;.}.}.<?p
832a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
832c0 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 \Installer;..use.Composer\IO\IOI
832e0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 nterface;.use.Composer\Package\P
83300 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ackageInterface;.use.Composer\Ut
83320 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c il\Filesystem;.use.Composer\Util
83340 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f \Platform;.use.Composer\Util\Pro
83360 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
83380 53 69 6c 65 6e 63 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 69 6e 61 72 79 49 6e Silencer;.........class.BinaryIn
833a0 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 44 69 72 3b 0a 70 72 6f staller.{.protected.$binDir;.pro
833c0 74 65 63 74 65 64 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f tected.$binCompat;.protected.$io
833e0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a ;.protected.$filesystem;........
83400 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e public.function.__construct(IOIn
83420 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 62 69 6e 43 6f 6d 70 61 74 terface.$io,.$binDir,.$binCompat
83440 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 ,.Filesystem.$filesystem.=.null)
83460 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 3d 20 24 62 69 6e 44 69 72 3b 0a 24 74 68 69 .{.$this->binDir.=.$binDir;.$thi
83480 73 2d 3e 62 69 6e 43 6f 6d 70 61 74 20 3d 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 24 74 68 69 73 s->binCompat.=.$binCompat;.$this
834a0 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 ->io.=.$io;.$this->filesystem.=.
834c0 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b $filesystem.?:.new.Filesystem();
834e0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 42 69 6e 61 72 .}..public.function.installBinar
83500 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 ies(PackageInterface.$package,.$
83520 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 24 77 61 72 6e 4f 6e 4f 76 65 72 77 72 69 74 65 20 3d 20 installPath,.$warnOnOverwrite.=.
83540 74 72 75 65 29 0a 7b 0a 24 62 69 6e 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 true).{.$binaries.=.$this->getBi
83560 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 naries($package);.if.(!$binaries
83580 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 ).{.return;.}.foreach.($binaries
835a0 20 61 73 20 24 62 69 6e 29 20 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 69 6e 73 74 61 6c 6c 50 .as.$bin).{.$binPath.=.$installP
835c0 61 74 68 2e 27 2f 27 2e 24 62 69 6e 3b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 ath.'/'.$bin;.if.(!file_exists($
835e0 62 69 6e 50 61 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f binPath)).{.$this->io->writeErro
83600 72 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 r('....<warning>Skipped.installa
83620 74 69 6f 6e 20 6f 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 65 tion.of.bin.'.$bin.'.for.package
83640 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 66 69 6c 65 20 6e .'.$package->getName().':.file.n
83660 6f 74 20 66 6f 75 6e 64 20 69 6e 20 70 61 63 6b 61 67 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b ot.found.in.package</warning>');
83680 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 24 62 69 6e 50 61 74 68 20 3d .continue;.}..........$binPath.=
836a0 20 72 65 61 6c 70 61 74 68 28 24 62 69 6e 50 61 74 68 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 .realpath($binPath);..$this->ini
836c0 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e tializeBinDir();.$link.=.$this->
836e0 62 69 6e 44 69 72 2e 27 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 66 binDir.'/'.basename($bin);.if.(f
83700 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b ile_exists($link)).{.if.(is_link
83720 28 24 6c 69 6e 6b 29 29 20 7b 0a 0a 20 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 ($link)).{.......Silencer::call(
83740 27 63 68 6d 6f 64 27 2c 20 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 'chmod',.$link,.0777.&.~umask())
83760 3b 0a 7d 0a 69 66 20 28 24 77 61 72 6e 4f 6e 4f 76 65 72 77 72 69 74 65 29 20 7b 0a 24 74 68 69 ;.}.if.($warnOnOverwrite).{.$thi
83780 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 s->io->writeError('....Skipped.i
837a0 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 nstallation.of.bin.'.$bin.'.for.
837c0 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a package.'.$package->getName().':
837e0 20 6e 61 6d 65 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e 20 65 78 69 73 74 69 6e 67 .name.conflicts.with.an.existing
83800 20 66 69 6c 65 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 .file');.}.continue;.}..if.($thi
83820 73 2d 3e 62 69 6e 43 6f 6d 70 61 74 20 3d 3d 3d 20 22 61 75 74 6f 22 29 20 7b 0a 69 66 20 28 50 s->binCompat.===."auto").{.if.(P
83840 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 latform::isWindows()).{.$this->i
83860 6e 73 74 61 6c 6c 46 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 nstallFullBinaries($binPath,.$li
83880 6e 6b 2c 20 24 62 69 6e 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 nk,.$bin,.$package);.}.else.{.$t
838a0 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 53 79 6d 6c 69 6e 6b 42 69 6e 61 72 69 65 73 28 24 62 69 6e his->installSymlinkBinaries($bin
838c0 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d Path,.$link);.}.}.elseif.($this-
838e0 3e 62 69 6e 43 6f 6d 70 61 74 20 3d 3d 3d 20 22 66 75 6c 6c 22 29 20 7b 0a 24 74 68 69 73 2d 3e >binCompat.===."full").{.$this->
83900 69 6e 73 74 61 6c 6c 46 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c installFullBinaries($binPath,.$l
83920 69 6e 6b 2c 20 24 62 69 6e 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 ink,.$bin,.$package);.}.Silencer
83940 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 ::call('chmod',.$link,.0777.&.~u
83960 6d 61 73 6b 28 29 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 mask());.}.}..public.function.re
83980 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 moveBinaries(PackageInterface.$p
839a0 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 ackage).{.$this->initializeBinDi
839c0 72 28 29 3b 0a 0a 24 62 69 6e 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 6e 61 r();..$binaries.=.$this->getBina
839e0 72 69 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 29 20 ries($package);.if.(!$binaries).
83a00 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 20 61 {.return;.}.foreach.($binaries.a
83a20 73 20 24 62 69 6e 29 20 7b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e s.$bin).{.$link.=.$this->binDir.
83a40 27 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 '/'.basename($bin);.if.(is_link(
83a60 24 6c 69 6e 6b 29 20 7c 7c 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a $link).||.file_exists($link)).{.
83a80 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 29 $this->filesystem->unlink($link)
83aa0 3b 0a 7d 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 2e 27 2e 62 61 74 27 ;.}.if.(file_exists($link.'.bat'
83ac0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 )).{.$this->filesystem->unlink($
83ae0 6c 69 6e 6b 2e 27 2e 62 61 74 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 link.'.bat');.}.}....if.(is_dir(
83b00 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 $this->binDir).&&.$this->filesys
83b20 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 29 20 tem->isDirEmpty($this->binDir)).
83b40 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 74 68 69 73 2d {.Silencer::call('rmdir',.$this-
83b60 3e 62 69 6e 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e >binDir);.}.}..public.static.fun
83b80 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 62 69 6e ction.determineBinaryCaller($bin
83ba0 29 0a 7b 0a 69 66 20 28 27 2e 62 61 74 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 ).{.if.('.bat'.===.substr($bin,.
83bc0 2d 34 29 20 7c 7c 20 27 2e 65 78 65 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 2d -4).||.'.exe'.===.substr($bin,.-
83be0 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 63 61 6c 6c 27 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 20 4)).{.return.'call';.}..$handle.
83c00 3d 20 66 6f 70 65 6e 28 24 62 69 6e 2c 20 27 72 27 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 =.fopen($bin,.'r');.$line.=.fget
83c20 73 28 24 68 61 6e 64 6c 65 29 3b 0a 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 69 66 20 s($handle);.fclose($handle);.if.
83c40 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 23 21 2f 28 3f 3a 75 73 72 2f 62 69 6e 2f 65 6e 76 (preg_match('{^#!/(?:usr/bin/env
83c60 20 29 3f 28 3f 3a 5b 5e 2f 5d 2b 2f 29 2a 28 2e 2b 29 24 7d 6d 27 2c 20 24 6c 69 6e 65 2c 20 24 .)?(?:[^/]+/)*(.+)$}m',.$line,.$
83c80 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 match)).{.return.trim($match[1])
83ca0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 70 68 70 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 ;.}..return.'php';.}..protected.
83cc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 function.getBinaries(PackageInte
83ce0 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 rface.$package).{.return.$packag
83d00 65 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 e->getBinaries();.}..protected.f
83d20 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 46 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e unction.installFullBinaries($bin
83d40 50 61 74 68 2c 20 24 6c 69 6e 6b 2c 20 24 62 69 6e 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 Path,.$link,.$bin,.PackageInterf
83d60 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 0a 20 69 66 20 28 27 2e 62 61 74 27 20 21 3d 3d ace.$package).{...if.('.bat'.!==
83d80 20 73 75 62 73 74 72 28 24 62 69 6e 50 61 74 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e .substr($binPath,.-4)).{.$this->
83da0 69 6e 73 74 61 6c 6c 55 6e 69 78 79 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 installUnixyProxyBinaries($binPa
83dc0 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 40 63 68 6d 6f 64 28 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 th,.$link);.@chmod($link,.0777.&
83de0 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 24 6c 69 6e 6b 20 2e 3d 20 27 2e 62 61 74 27 3b 0a 69 66 20 .~umask());.$link..=.'.bat';.if.
83e00 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f (file_exists($link)).{.$this->io
83e20 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c ->writeError('....Skipped.instal
83e40 6c 61 74 69 6f 6e 20 6f 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 2e 62 61 74 20 70 72 6f 78 79 lation.of.bin.'.$bin.'.bat.proxy
83e60 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 .for.package.'.$package->getName
83e80 28 29 2e 27 3a 20 61 20 2e 62 61 74 20 70 72 6f 78 79 20 77 61 73 20 61 6c 72 65 61 64 79 20 69 ().':.a..bat.proxy.was.already.i
83ea0 6e 73 74 61 6c 6c 65 64 27 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 nstalled');.}.}.if.(!file_exists
83ec0 28 24 6c 69 6e 6b 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 69 ($link)).{.file_put_contents($li
83ee0 6e 6b 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 nk,.$this->generateWindowsProxyC
83f00 6f 64 65 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 ode($binPath,.$link));.}.}..prot
83f20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 53 79 6d 6c 69 6e 6b 42 69 6e ected.function.installSymlinkBin
83f40 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 69 66 20 28 21 24 74 aries($binPath,.$link).{.if.(!$t
83f60 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b his->filesystem->relativeSymlink
83f80 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 ($binPath,.$link)).{.$this->inst
83fa0 61 6c 6c 55 6e 69 78 79 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 allUnixyProxyBinaries($binPath,.
83fc0 24 6c 69 6e 6b 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 $link);.}.}..protected.function.
83fe0 69 6e 73 74 61 6c 6c 55 6e 69 78 79 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 installUnixyProxyBinaries($binPa
84000 74 68 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 th,.$link).{.file_put_contents($
84020 6c 69 6e 6b 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f 78 79 43 link,.$this->generateUnixyProxyC
84040 6f 64 65 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ode($binPath,.$link));.}..protec
84060 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 0a ted.function.initializeBinDir().
84080 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 {.$this->filesystem->ensureDirec
840a0 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 24 74 68 69 73 toryExists($this->binDir);.$this
840c0 2d 3e 62 69 6e 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 ->binDir.=.realpath($this->binDi
840e0 72 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 r);.}..protected.function.genera
84100 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a teWindowsProxyCode($bin,.$link).
84120 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e {.$binPath.=.$this->filesystem->
84140 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 24 findShortestPath($link,.$bin);.$
84160 63 61 6c 6c 65 72 20 3d 20 73 65 6c 66 3a 3a 64 65 74 65 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 caller.=.self::determineBinaryCa
84180 6c 6c 65 72 28 24 62 69 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 22 40 45 43 48 4f 20 4f 46 46 5c 72 ller($bin);..return."@ECHO.OFF\r
841a0 5c 6e 22 2e 0a 22 73 65 74 6c 6f 63 61 6c 20 44 49 53 41 42 4c 45 44 45 4c 41 59 45 44 45 58 50 \n".."setlocal.DISABLEDELAYEDEXP
841c0 41 4e 53 49 4f 4e 5c 72 5c 6e 22 2e 0a 22 53 45 54 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 7e 64 ANSION\r\n".."SET.BIN_TARGET=%~d
841e0 70 30 2f 22 2e 74 72 69 6d 28 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 p0/".trim(ProcessExecutor::escap
84200 65 28 24 62 69 6e 50 61 74 68 29 2c 20 27 22 5c 27 27 29 2e 22 5c 72 5c 6e 22 2e 0a 22 7b 24 63 e($binPath),.'"\'')."\r\n".."{$c
84220 61 6c 6c 65 72 7d 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b aller}.\"%BIN_TARGET%\".%*\r\n";
84240 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 .}..protected.function.generateU
84260 6e 69 78 79 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 nixyProxyCode($bin,.$link).{.$bi
84280 6e 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 nPath.=.$this->filesystem->findS
842a0 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 0a 24 62 69 6e 44 hortestPath($link,.$bin);..$binD
842c0 69 72 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 ir.=.ProcessExecutor::escape(dir
842e0 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 3b 0a 24 62 69 6e 46 69 6c 65 20 3d 20 62 61 73 65 name($binPath));.$binFile.=.base
84300 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 3b 0a 0a 24 70 72 6f 78 79 43 6f 64 65 20 3d 20 3c 3c name($binPath);..$proxyCode.=.<<
84320 3c 50 52 4f 58 59 0a 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 0a 0a 64 69 72 3d 5c 24 <PROXY.#!/usr/bin/env.sh..dir=\$
84340 28 63 64 20 22 5c 24 7b 30 25 5b 2f 5c 5c 5c 5c 5d 2a 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c (cd."\${0%[/\\\\]*}".>./dev/null
84360 3b 20 63 64 20 24 62 69 6e 44 69 72 20 26 26 20 70 77 64 29 0a 0a 69 66 20 5b 20 2d 64 20 2f 70 ;.cd.$binDir.&&.pwd)..if.[.-d./p
84380 72 6f 63 2f 63 79 67 64 72 69 76 65 20 5d 20 26 26 20 5b 5b 20 5c 24 28 77 68 69 63 68 20 70 68 roc/cygdrive.].&&.[[.\$(which.ph
843a0 70 29 20 3d 3d 20 5c 24 28 72 65 61 64 6c 69 6e 6b 20 2d 6e 20 2f 70 72 6f 63 2f 63 79 67 64 72 p).==.\$(readlink.-n./proc/cygdr
843c0 69 76 65 29 2f 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 23 20 57 65 20 61 72 65 20 69 6e 20 43 ive)/*.]];.then....#.We.are.in.C
843e0 67 79 77 69 6e 20 75 73 69 6e 67 20 57 69 6e 64 6f 77 73 20 70 68 70 2c 20 73 6f 20 74 68 65 20 gywin.using.Windows.php,.so.the.
84400 70 61 74 68 20 6d 75 73 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 0a 20 20 20 64 69 72 3d 5c path.must.be.translated....dir=\
84420 24 28 63 79 67 70 61 74 68 20 2d 6d 20 22 5c 24 64 69 72 22 29 3b 0a 66 69 0a 0a 22 5c 24 7b 64 $(cygpath.-m."\$dir");.fi.."\${d
84440 69 72 7d 2f 24 62 69 6e 46 69 6c 65 22 20 22 5c 24 40 22 0a 0a 50 52 4f 58 59 3b 0a 0a 72 65 74 ir}/$binFile"."\$@"..PROXY;..ret
84460 75 72 6e 20 24 70 72 6f 78 79 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a urn.$proxyCode;.}.}.<?php.......
84480 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 .....namespace.Composer\Installe
844a0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 r;..use.Composer\Package\Package
844c0 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 42 69 6e 61 72 Interface;.......interface.Binar
844e0 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 yPresenceInterface.{......public
84500 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 .function.ensureBinariesPresence
84520 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 3c (PackageInterface.$package);.}.<
84540 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
84560 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 er\Installer;..use.Composer\IO\I
84580 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 OInterface;.use.Composer\Package
845a0 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
845c0 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 Package\AliasPackage;.use.Compos
845e0 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 er\Repository\RepositoryInterfac
84600 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 e;.use.Composer\Repository\Insta
84620 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d lledRepositoryInterface;.use.Com
84640 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 poser\DependencyResolver\Operati
84660 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f on\OperationInterface;.use.Compo
84680 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e ser\DependencyResolver\Operation
846a0 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \InstallOperation;.use.Composer\
846c0 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 DependencyResolver\Operation\Upd
846e0 61 74 65 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e ateOperation;.use.Composer\Depen
84700 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 6c dencyResolver\Operation\Uninstal
84720 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 lOperation;.use.Composer\Depende
84740 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 49 ncyResolver\Operation\MarkAliasI
84760 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c nstalledOperation;.use.Composer\
84780 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 DependencyResolver\Operation\Mar
847a0 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 kAliasUninstalledOperation;.use.
847c0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f Composer\Util\StreamContextFacto
847e0 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 ry;.........class.InstallationMa
84800 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 65 72 73 20 3d 20 61 72 nager.{.private.$installers.=.ar
84820 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b ray();.private.$cache.=.array();
84840 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 20 3d 20 61 .private.$notifiablePackages.=.a
84860 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 rray();..public.function.reset()
84880 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 20 3d 20 61 .{.$this->notifiablePackages.=.a
848a0 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rray();.}.......public.function.
848c0 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 20 addInstaller(InstallerInterface.
848e0 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 $installer).{.array_unshift($thi
84900 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 24 69 6e 73 74 61 6c 6c 65 72 29 3b 0a 24 74 68 69 s->installers,.$installer);.$thi
84920 73 2d 3e 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c s->cache.=.array();.}.......publ
84940 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 49 6e 73 74 61 6c 6c 65 72 28 49 6e 73 74 ic.function.removeInstaller(Inst
84960 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 69 66 20 allerInterface.$installer).{.if.
84980 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 6b 65 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 (false.!==.($key.=.array_search(
849a0 24 69 6e 73 74 61 6c 6c 65 72 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 74 $installer,.$this->installers,.t
849c0 72 75 65 29 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 68 69 73 2d 3e 69 6e 73 rue))).{.array_splice($this->ins
849e0 74 61 6c 6c 65 72 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 tallers,.$key,.1);.$this->cache.
84a00 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 =.array();.}.}.........public.fu
84a20 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 66 6f 72 65 61 63 nction.disablePlugins().{.foreac
84a40 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 20 3d 3e 20 24 69 h.($this->installers.as.$i.=>.$i
84a60 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c 65 72 20 69 6e 73 74 nstaller).{.if.(!$installer.inst
84a80 61 6e 63 65 6f 66 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 63 6f 6e 74 69 6e anceof.PluginInstaller).{.contin
84aa0 75 65 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 5b 24 ue;.}..unset($this->installers[$
84ac0 69 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f i]);.}.}..........public.functio
84ae0 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 74 79 70 65 20 3d 20 n.getInstaller($type).{.$type.=.
84b00 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 strtolower($type);..if.(isset($t
84b20 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 his->cache[$type])).{.return.$th
84b40 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 is->cache[$type];.}..foreach.($t
84b60 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 6e 73 74 61 6c 6c 65 72 29 20 7b his->installers.as.$installer).{
84b80 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 75 70 70 6f 72 74 73 28 24 74 79 70 65 29 .if.($installer->supports($type)
84ba0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 20 3d ).{.return.$this->cache[$type].=
84bc0 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 .$installer;.}.}..throw.new.\Inv
84be0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 69 alidArgumentException('Unknown.i
84c00 6e 73 74 61 6c 6c 65 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a nstaller.type:.'.$type);.}......
84c20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 61 63 6b 61 67 65 49 6e 73 ....public.function.isPackageIns
84c40 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 talled(InstalledRepositoryInterf
84c60 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ace.$repo,.PackageInterface.$pac
84c80 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 kage).{.if.($package.instanceof.
84ca0 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 AliasPackage).{.return.$repo->ha
84cc0 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 20 26 26 20 24 74 68 69 73 2d 3e 69 73 50 sPackage($package).&&.$this->isP
84ce0 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2d ackageInstalled($repo,.$package-
84d00 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d >getAliasOf());.}..return.$this-
84d20 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 >getInstaller($package->getType(
84d40 29 29 2d 3e 69 73 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 ))->isInstalled($repo,.$package)
84d60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 ;.}........public.function.ensur
84d80 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 eBinariesPresence(PackageInterfa
84da0 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 ce.$package).{.try.{.$installer.
84dc0 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e =.$this->getInstaller($package->
84de0 67 65 74 54 79 70 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 getType());.}.catch.(\InvalidArg
84e00 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d umentException.$e).{...return;.}
84e20 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 42 69 ....if.($installer.instanceof.Bi
84e40 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 69 6e 73 74 61 6c naryPresenceInterface).{.$instal
84e60 6c 65 72 2d 3e 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 24 70 61 63 ler->ensureBinariesPresence($pac
84e80 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f kage);.}.}........public.functio
84ea0 6e 20 65 78 65 63 75 74 65 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 n.execute(RepositoryInterface.$r
84ec0 65 70 6f 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 65 72 61 74 69 epo,.OperationInterface.$operati
84ee0 6f 6e 29 0a 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a on).{.$method.=.$operation->getJ
84f00 6f 62 54 79 70 65 28 29 3b 0a 24 74 68 69 73 2d 3e 24 6d 65 74 68 6f 64 28 24 72 65 70 6f 2c 20 obType();.$this->$method($repo,.
84f20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $operation);.}........public.fun
84f40 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 ction.install(RepositoryInterfac
84f60 65 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 e.$repo,.InstallOperation.$opera
84f80 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 tion).{.$package.=.$operation->g
84fa0 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d etPackage();.$installer.=.$this-
84fc0 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 >getInstaller($package->getType(
84fe0 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 ));.$installer->install($repo,.$
85000 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e 6f 74 69 66 69 63 61 package);.$this->markForNotifica
85020 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tion($package);.}........public.
85040 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 function.update(RepositoryInterf
85060 61 63 65 20 24 72 65 70 6f 2c 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 ace.$repo,.UpdateOperation.$oper
85080 61 74 69 6f 6e 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e ation).{.$initial.=.$operation->
850a0 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 24 getInitialPackage();.$target.=.$
850c0 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a operation->getTargetPackage();..
850e0 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 54 79 70 65 $initialType.=.$initial->getType
85100 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 54 79 ();.$targetType.=.$target->getTy
85120 70 65 28 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 3d 3d 20 24 74 61 72 pe();..if.($initialType.===.$tar
85140 67 65 74 54 79 70 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 getType).{.$installer.=.$this->g
85160 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 3b 0a 24 69 6e 73 74 etInstaller($initialType);.$inst
85180 61 6c 6c 65 72 2d 3e 75 70 64 61 74 65 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 2c 20 24 aller->update($repo,.$initial,.$
851a0 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e 6f 74 69 66 69 63 61 74 target);.$this->markForNotificat
851c0 69 6f 6e 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 ion($target);.}.else.{.$this->ge
851e0 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 2d 3e 75 6e 69 6e 73 74 tInstaller($initialType)->uninst
85200 61 6c 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 all($repo,.$initial);.$this->get
85220 49 6e 73 74 61 6c 6c 65 72 28 24 74 61 72 67 65 74 54 79 70 65 29 2d 3e 69 6e 73 74 61 6c 6c 28 Installer($targetType)->install(
85240 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c $repo,.$target);.}.}........publ
85260 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 52 65 70 6f 73 69 74 6f 72 79 ic.function.uninstall(Repository
85280 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 Interface.$repo,.UninstallOperat
852a0 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 ion.$operation).{.$package.=.$op
852c0 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 eration->getPackage();.$installe
852e0 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 r.=.$this->getInstaller($package
85300 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 75 6e 69 6e 73 74 ->getType());.$installer->uninst
85320 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 all($repo,.$package);.}........p
85340 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 ublic.function.markAliasInstalle
85360 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 4d 61 72 d(RepositoryInterface.$repo,.Mar
85380 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 kAliasInstalledOperation.$operat
853a0 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 ion).{.$package.=.$operation->ge
853c0 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b tPackage();..if.(!$repo->hasPack
853e0 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 age($package)).{.$repo->addPacka
85400 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 ge(clone.$package);.}.}........p
85420 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c ublic.function.markAliasUninstal
85440 6c 65 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 4d led(RepositoryInterface.$repo,.M
85460 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 arkAliasUninstalledOperation.$op
85480 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e eration).{.$package.=.$operation
854a0 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 ->getPackage();..$repo->removePa
854c0 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ckage($package);.}........public
854e0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 .function.getInstallPath(Package
85500 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 Interface.$package).{.$installer
85520 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d .=.$this->getInstaller($package-
85540 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 72 2d >getType());..return.$installer-
85560 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 75 >getInstallPath($package);.}..pu
85580 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 49 4f 49 blic.function.notifyInstalls(IOI
855a0 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e nterface.$io).{.foreach.($this->
855c0 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 20 61 73 20 24 72 65 70 6f 55 72 6c 20 3d notifiablePackages.as.$repoUrl.=
855e0 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 20 3d >.$packages).{.$repositoryName.=
85600 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 .parse_url($repoUrl,.PHP_URL_HOS
85620 54 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 T);.if.($io->hasAuthentication($
85640 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 69 6f 2d 3e repositoryName)).{.$auth.=.$io->
85660 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d getAuthentication($repositoryNam
85680 65 29 3b 0a 24 61 75 74 68 53 74 72 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 e);.$authStr.=.base64_encode($au
856a0 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 2e 20 27 3a 27 20 2e 20 24 61 75 74 68 5b 27 70 61 th['username']...':'...$auth['pa
856c0 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 75 74 68 48 65 61 64 65 72 20 3d 20 27 41 75 74 68 6f 72 ssword']);.$authHeader.=.'Author
856e0 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 27 2e 24 61 75 74 68 53 74 72 3b 0a 7d 0a 0a 0a 20 ization:.Basic.'.$authStr;.}....
85700 69 66 20 28 73 74 72 70 6f 73 28 24 72 65 70 6f 55 72 6c 2c 20 27 25 70 61 63 6b 61 67 65 25 27 if.(strpos($repoUrl,.'%package%'
85720 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b )).{.foreach.($packages.as.$pack
85740 61 67 65 29 20 7b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 70 61 63 6b age).{.$url.=.str_replace('%pack
85760 61 67 65 25 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 age%',.$package->getPrettyName()
85780 2c 20 24 72 65 70 6f 55 72 6c 29 3b 0a 0a 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 0a 27 ,.$repoUrl);..$params.=.array(.'
857a0 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 version'.=>.$package->getPrettyV
857c0 65 72 73 69 6f 6e 28 29 2c 0a 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d ersion(),.'version_normalized'.=
857e0 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 24 6f 70 >.$package->getVersion(),.);.$op
85800 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 79 28 0a 27 6d 65 74 ts.=.array('http'.=>.array(.'met
85820 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 hod'.=>.'POST',.'header'.=>.arra
85840 79 28 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 y('Content-type:.application/x-w
85860 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 ww-form-urlencoded'),.'content'.
85880 3d 3e 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 24 70 61 72 61 6d 73 2c 20 27 27 2c =>.http_build_query($params,.'',
858a0 20 27 26 27 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 33 2c 0a 29 2c 0a 29 3b 0a 69 66 20 .'&'),.'timeout'.=>.3,.),.);.if.
858c0 28 69 73 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 7b 0a 24 6f 70 74 73 5b 27 68 74 (isset($authHeader)).{.$opts['ht
858e0 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 75 74 68 48 65 61 64 65 72 3b 0a tp']['header'][].=.$authHeader;.
85900 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f }..$context.=.StreamContextFacto
85920 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 24 6f 70 74 73 29 3b 0a 40 66 69 ry::getContext($url,.$opts);.@fi
85940 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 24 63 6f le_get_contents($url,.false,.$co
85960 6e 74 65 78 74 29 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6f 73 74 44 61 74 ntext);.}..continue;.}..$postDat
85980 61 20 3d 20 61 72 72 61 79 28 27 64 6f 77 6e 6c 6f 61 64 73 27 20 3d 3e 20 61 72 72 61 79 28 29 a.=.array('downloads'.=>.array()
859a0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 );.foreach.($packages.as.$packag
859c0 65 29 20 7b 0a 24 70 6f 73 74 44 61 74 61 5b 27 64 6f 77 6e 6c 6f 61 64 73 27 5d 5b 5d 20 3d 20 e).{.$postData['downloads'][].=.
859e0 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 array(.'name'.=>.$package->getPr
85a00 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 ettyName(),.'version'.=>.$packag
85a20 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 7d 0a 0a 24 6f 70 74 73 20 3d 20 61 e->getVersion(),.);.}..$opts.=.a
85a40 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d rray('http'.=>.array(.'method'.=
85a60 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 43 6f 6e >.'POST',.'header'.=>.array('Con
85a80 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 2c 0a 27 tent-Type:.application/json'),.'
85aa0 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 70 6f 73 74 44 61 74 content'.=>.json_encode($postDat
85ac0 61 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 36 2c 0a 29 2c 0a 29 3b 0a 69 66 20 28 69 73 a),.'timeout'.=>.6,.),.);.if.(is
85ae0 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 7b 0a 24 6f 70 74 73 5b 27 68 74 74 70 27 set($authHeader)).{.$opts['http'
85b00 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 75 74 68 48 65 61 64 65 72 3b 0a 7d 0a 0a ]['header'][].=.$authHeader;.}..
85b20 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a $context.=.StreamContextFactory:
85b40 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 72 65 70 6f 55 72 6c 2c 20 24 6f 70 74 73 29 3b 0a 40 66 :getContext($repoUrl,.$opts);.@f
85b60 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 72 65 70 6f 55 72 6c 2c 20 66 61 6c 73 65 ile_get_contents($repoUrl,.false
85b80 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 28 29 3b 0a ,.$context);.}..$this->reset();.
85ba0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 46 6f 72 4e 6f 74 69 66 }..private.function.markForNotif
85bc0 69 63 61 74 69 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 ication(PackageInterface.$packag
85be0 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 6f 74 69 66 69 63 61 74 69 e).{.if.($package->getNotificati
85c00 6f 6e 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b onUrl()).{.$this->notifiablePack
85c20 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 ages[$package->getNotificationUr
85c40 6c 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 l()][$package->getName()].=.$pac
85c60 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d kage;.}.}.}.<?php............nam
85c80 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 espace.Composer\Installer;..use.
85ca0 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c Composer\Composer;.use.Composer\
85cc0 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 DependencyResolver\PolicyInterfa
85ce0 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c ce;.use.Composer\DependencyResol
85d00 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 ver\Operation\OperationInterface
85d20 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ;.use.Composer\DependencyResolve
85d40 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 r\Pool;.use.Composer\DependencyR
85d60 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 esolver\Request;.use.Composer\Ev
85d80 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 entDispatcher\Event;.use.Compose
85da0 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 r\IO\IOInterface;.use.Composer\R
85dc0 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a epository\CompositeRepository;..
85de0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 20 65 78 74 65 6e 64 .....class.InstallerEvent.extend
85e00 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a s.Event.{....private.$composer;.
85e20 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 ....private.$io;.....private.$de
85e40 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6c 69 63 79 3b 0a 0a 0a 0a 0a vMode;.....private.$policy;.....
85e60 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 private.$pool;.....private.$inst
85e80 61 6c 6c 65 64 52 65 70 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 71 75 65 73 74 3b alledRepo;.....private.$request;
85ea0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 0a 0a .....private.$operations;.......
85ec0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
85ee0 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 uct($eventName,.Composer.$compos
85f00 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 er,.IOInterface.$io,.$devMode,.P
85f20 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f olicyInterface.$policy,.Pool.$po
85f40 6f 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c ol,.CompositeRepository.$install
85f60 65 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 edRepo,.Request.$request,.array.
85f80 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a $operations.=.array()).{.parent:
85fa0 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 :__construct($eventName);..$this
85fc0 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 69 ->composer.=.$composer;.$this->i
85fe0 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 24 64 65 76 4d 6f o.=.$io;.$this->devMode.=.$devMo
86000 64 65 3b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 de;.$this->policy.=.$policy;.$th
86020 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c is->pool.=.$pool;.$this->install
86040 65 64 52 65 70 6f 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 24 74 68 69 73 2d 3e edRepo.=.$installedRepo;.$this->
86060 72 65 71 75 65 73 74 20 3d 20 24 72 65 71 75 65 73 74 3b 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 request.=.$request;.$this->opera
86080 74 69 6f 6e 73 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 tions.=.$operations;.}.....publi
860a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 c.function.getComposer().{.retur
860c0 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$this->composer;.}.....public.
860e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d function.getIO().{.return.$this-
86100 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 >io;.}.....public.function.isDev
86120 4d 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 3b 0a Mode().{.return.$this->devMode;.
86140 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6c 69 63 79 28 }.....public.function.getPolicy(
86160 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 3b 0a 7d 0a 0a 0a 0a 0a ).{.return.$this->policy;.}.....
86180 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 29 0a 7b 0a 72 65 74 75 public.function.getPool().{.retu
861a0 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rn.$this->pool;.}.....public.fun
861c0 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 29 0a 7b 0a 72 65 74 75 72 ction.getInstalledRepo().{.retur
861e0 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 n.$this->installedRepo;.}.....pu
86200 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 65 73 74 28 29 0a 7b 0a 72 65 74 blic.function.getRequest().{.ret
86220 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->request;.}.....public
86240 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 .function.getOperations().{.retu
86260 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a rn.$this->operations;.}.}.<?php.
86280 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e ...........namespace.Composer\In
862a0 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 45 76 staller;.......class.InstallerEv
862c0 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 44 45 50 45 4e 44 ents.{..........const.PRE_DEPEND
862e0 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 20 3d 20 27 70 72 65 2d 64 65 70 65 6e 64 65 6e 63 69 ENCIES_SOLVING.=.'pre-dependenci
86300 65 73 2d 73 6f 6c 76 69 6e 67 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 es-solving';...........const.POS
86320 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 20 3d 20 27 70 6f 73 74 2d 64 T_DEPENDENCIES_SOLVING.=.'post-d
86340 65 70 65 6e 64 65 6e 63 69 65 73 2d 73 6f 6c 76 69 6e 67 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ependencies-solving';.}.<?php...
86360 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 .........namespace.Composer\Inst
86380 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 aller;..use.Composer\Package\Pac
863a0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f kageInterface;.use.Composer\Repo
863c0 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 sitory\InstalledRepositoryInterf
863e0 61 63 65 3b 0a 75 73 65 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f ace;.use.InvalidArgumentExceptio
86400 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 n;........interface.InstallerInt
86420 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 erface.{.......public.function.s
86440 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a upports($packageType);..........
86460 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 public.function.isInstalled(Inst
86480 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 alledRepositoryInterface.$repo,.
864a0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a PackageInterface.$package);.....
864c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 ...public.function.install(Insta
864e0 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 lledRepositoryInterface.$repo,.P
86500 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a ackageInterface.$package);......
86520 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 .....public.function.update(Inst
86540 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 alledRepositoryInterface.$repo,.
86560 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 PackageInterface.$initial,.Packa
86580 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 geInterface.$target);........pub
865a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 lic.function.uninstall(Installed
865c0 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 RepositoryInterface.$repo,.Packa
865e0 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 geInterface.$package);........pu
86600 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 blic.function.getInstallPath(Pac
86620 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 kageInterface.$package);.}.<?php
86640 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 ............namespace.Composer\I
86660 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 nstaller;..use.Composer\Composer
86680 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 ;.use.Composer\IO\IOInterface;.u
866a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 se.Composer\Repository\Installed
866c0 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 RepositoryInterface;.use.Compose
866e0 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 r\Package\PackageInterface;.use.
86700 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f Composer\Util\Filesystem;.use.Co
86720 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 mposer\Util\Silencer;.use.Compos
86740 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c er\Util\Platform;........class.L
86760 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 ibraryInstaller.implements.Insta
86780 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2c 20 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 llerInterface,.BinaryPresenceInt
867a0 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 70 72 erface.{.protected.$composer;.pr
867c0 6f 74 65 63 74 65 64 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 otected.$vendorDir;.protected.$b
867e0 69 6e 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 inDir;.protected.$downloadManage
86800 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 r;.protected.$io;.protected.$typ
86820 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 6f 74 65 63 e;.protected.$filesystem;.protec
86840 74 65 64 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 61 72 ted.$binCompat;.protected.$binar
86860 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e yInstaller;...........public.fun
86880 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 ction.__construct(IOInterface.$i
868a0 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 70 65 20 3d 20 27 o,.Composer.$composer,.$type.=.'
868c0 6c 69 62 72 61 72 79 27 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d library',.Filesystem.$filesystem
868e0 20 3d 20 6e 75 6c 6c 2c 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 24 62 69 6e 61 72 79 .=.null,.BinaryInstaller.$binary
86900 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f Installer.=.null).{.$this->compo
86920 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 ser.=.$composer;.$this->download
86940 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 Manager.=.$composer->getDownload
86960 4d 61 6e 61 67 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 Manager();.$this->io.=.$io;.$thi
86980 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 s->type.=.$type;..$this->filesys
869a0 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 tem.=.$filesystem.?:.new.Filesys
869c0 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3d 20 72 74 72 69 6d 28 tem();.$this->vendorDir.=.rtrim(
869e0 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 76 65 6e $composer->getConfig()->get('ven
86a00 64 6f 72 2d 64 69 72 27 29 2c 20 27 2f 27 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e dor-dir'),.'/');.$this->binaryIn
86a20 73 74 61 6c 6c 65 72 20 3d 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3f 3a 20 6e 65 staller.=.$binaryInstaller.?:.ne
86a40 77 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 72 74 72 w.BinaryInstaller($this->io,.rtr
86a60 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 im($composer->getConfig()->get('
86a80 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 bin-dir'),.'/'),.$composer->getC
86aa0 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d 70 61 74 27 29 2c 20 24 74 68 69 onfig()->get('bin-compat'),.$thi
86ac0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->filesystem);.}.....public.fun
86ae0 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 ction.supports($packageType).{.r
86b00 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 eturn.$packageType.===.$this->ty
86b20 70 65 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 0a 0a pe.||.null.===.$this->type;.}...
86b40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 49 6e ..public.function.isInstalled(In
86b60 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f stalledRepositoryInterface.$repo
86b80 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 ,.PackageInterface.$package).{.i
86ba0 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 f.(!$repo->hasPackage($package))
86bc0 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 .{.return.false;.}..$installPath
86be0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 .=.$this->getInstallPath($packag
86c00 65 29 3b 0a 0a 69 66 20 28 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 74 61 6c 6c 50 61 74 e);..if.(is_readable($installPat
86c20 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 50 6c h)).{.return.true;.}..return.(Pl
86c40 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 atform::isWindows().&&.$this->fi
86c60 6c 65 73 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 69 6e 73 74 61 6c 6c 50 61 74 lesystem->isJunction($installPat
86c80 68 29 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a h)).||.is_link($installPath);.}.
86ca0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 ....public.function.install(Inst
86cc0 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 alledRepositoryInterface.$repo,.
86ce0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 PackageInterface.$package).{.$th
86d00 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 24 64 6f 77 6e is->initializeVendorDir();.$down
86d20 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 loadPath.=.$this->getInstallPath
86d40 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 ($package);....if.(!is_readable(
86d60 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b $downloadPath).&&.$repo->hasPack
86d80 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e age($package)).{.$this->binaryIn
86da0 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 staller->removeBinaries($package
86dc0 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 );.}..$this->installCode($packag
86de0 65 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 e);.$this->binaryInstaller->inst
86e00 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 allBinaries($package,.$this->get
86e20 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 69 66 20 28 21 24 72 65 InstallPath($package));.if.(!$re
86e40 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 po->hasPackage($package)).{.$rep
86e60 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d o->addPackage(clone.$package);.}
86e80 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e .}.....public.function.update(In
86ea0 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f stalledRepositoryInterface.$repo
86ec0 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 ,.PackageInterface.$initial,.Pac
86ee0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 21 24 72 kageInterface.$target).{.if.(!$r
86f00 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 29 20 7b 0a 74 68 72 epo->hasPackage($initial)).{.thr
86f20 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
86f40 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 69 ('Package.is.not.installed:.'.$i
86f60 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e nitial);.}..$this->initializeVen
86f80 64 6f 72 44 69 72 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 dorDir();..$this->binaryInstalle
86fa0 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 r->removeBinaries($initial);.$th
86fc0 69 73 2d 3e 75 70 64 61 74 65 43 6f 64 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 is->updateCode($initial,.$target
86fe0 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 );.$this->binaryInstaller->insta
87000 6c 6c 42 69 6e 61 72 69 65 73 28 24 74 61 72 67 65 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e llBinaries($target,.$this->getIn
87020 73 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f stallPath($target));.$repo->remo
87040 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 2d vePackage($initial);.if.(!$repo-
87060 3e 68 61 73 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 >hasPackage($target)).{.$repo->a
87080 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a ddPackage(clone.$target);.}.}...
870a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 ..public.function.uninstall(Inst
870c0 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 alledRepositoryInterface.$repo,.
870e0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 PackageInterface.$package).{.if.
87100 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b (!$repo->hasPackage($package)).{
87120 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
87140 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 tion('Package.is.not.installed:.
87160 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 64 '.$package);.}..$this->removeCod
87180 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c e($package);.$this->binaryInstal
871a0 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 ler->removeBinaries($package);.$
871c0 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a repo->removePackage($package);..
871e0 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 $downloadPath.=.$this->getPackag
87200 65 42 61 73 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 eBasePath($package);.if.(strpos(
87220 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 $package->getName(),.'/')).{.$pa
87240 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 64 6f 77 6e 6c 6f ckageVendorDir.=.dirname($downlo
87260 61 64 50 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 63 6b 61 67 65 56 65 6e 64 adPath);.if.(is_dir($packageVend
87280 6f 72 44 69 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 orDir).&&.$this->filesystem->isD
872a0 69 72 45 6d 70 74 79 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 29 29 20 7b 0a 53 69 irEmpty($packageVendorDir)).{.Si
872c0 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 70 61 63 6b 61 67 65 56 65 lencer::call('rmdir',.$packageVe
872e0 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ndorDir);.}.}.}.....public.funct
87300 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ion.getInstallPath(PackageInterf
87320 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a ace.$package).{.$this->initializ
87340 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 0a 24 62 61 73 65 50 61 74 68 20 3d 20 28 24 74 68 69 eVendorDir();..$basePath.=.($thi
87360 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3f 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2e s->vendorDir.?.$this->vendorDir.
87380 27 2f 27 20 3a 20 27 27 29 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e '/'.:.'')...$package->getPrettyN
873a0 61 6d 65 28 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ame();.$targetDir.=.$package->ge
873c0 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 62 61 73 65 50 61 74 68 20 tTargetDir();..return.$basePath.
873e0 2e 20 28 24 74 61 72 67 65 74 44 69 72 20 3f 20 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 20 3a ..($targetDir.?.'/'.$targetDir.:
87400 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e .'');.}.......public.function.en
87420 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 sureBinariesPresence(PackageInte
87440 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 rface.$package).{.$this->binaryI
87460 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 nstaller->installBinaries($packa
87480 67 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 ge,.$this->getInstallPath($packa
874a0 67 65 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ge),.false);.}...........protect
874c0 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 42 61 73 65 50 61 74 68 28 50 ed.function.getPackageBasePath(P
874e0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 ackageInterface.$package).{.$ins
87500 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 tallPath.=.$this->getInstallPath
87520 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 70 61 63 6b 61 67 ($package);.$targetDir.=.$packag
87540 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 44 e->getTargetDir();..if.($targetD
87560 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2f 2a 27 2e ir).{.return.preg_replace('{/*'.
87580 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 2f 2b 27 2c 20 70 72 65 67 5f 71 75 6f 74 str_replace('/',.'/+',.preg_quot
875a0 65 28 24 74 61 72 67 65 74 44 69 72 29 29 2e 27 2f 3f 24 7d 27 2c 20 27 27 2c 20 24 69 6e 73 74 e($targetDir)).'/?$}',.'',.$inst
875c0 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 allPath);.}..return.$installPath
875e0 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 43 ;.}..protected.function.installC
87600 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b ode(PackageInterface.$package).{
87620 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 .$downloadPath.=.$this->getInsta
87640 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 llPath($package);.$this->downloa
87660 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 64 6f dManager->download($package,.$do
87680 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 wnloadPath);.}..protected.functi
876a0 6f 6e 20 75 70 64 61 74 65 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 on.updateCode(PackageInterface.$
876c0 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 initial,.PackageInterface.$targe
876e0 74 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 t).{.$initialDownloadPath.=.$thi
87700 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 61 s->getInstallPath($initial);.$ta
87720 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 rgetDownloadPath.=.$this->getIns
87740 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 3b 0a 69 66 20 28 24 74 61 72 67 65 74 44 6f tallPath($target);.if.($targetDo
87760 77 6e 6c 6f 61 64 50 61 74 68 20 21 3d 3d 20 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 wnloadPath.!==.$initialDownloadP
87780 61 74 68 29 20 7b 0a 0a 20 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 69 6e 69 74 69 61 6c 44 6f ath).{.....if.(substr($initialDo
877a0 77 6e 6c 6f 61 64 50 61 74 68 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 74 61 72 67 65 74 44 6f 77 wnloadPath,.0,.strlen($targetDow
877c0 6e 6c 6f 61 64 50 61 74 68 29 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 nloadPath)).===.$targetDownloadP
877e0 61 74 68 0a 7c 7c 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 ath.||.substr($targetDownloadPat
87800 68 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 h,.0,.strlen($initialDownloadPat
87820 68 29 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 0a 29 20 7b h)).===.$initialDownloadPath.).{
87840 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 64 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 .$this->removeCode($initial);.$t
87860 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 74 61 72 67 65 74 29 3b 0a 0a 72 65 74 75 his->installCode($target);..retu
87880 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6e 61 6d 65 rn;.}..$this->filesystem->rename
878a0 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 2c 20 24 74 61 72 67 65 74 44 6f ($initialDownloadPath,.$targetDo
878c0 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 wnloadPath);.}.$this->downloadMa
878e0 6e 61 67 65 72 2d 3e 75 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 2c nager->update($initial,.$target,
87900 20 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 .$targetDownloadPath);.}..protec
87920 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 64 65 28 50 61 63 6b 61 67 65 49 ted.function.removeCode(PackageI
87940 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 nterface.$package).{.$downloadPa
87960 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 42 61 73 65 50 61 74 68 28 24 th.=.$this->getPackageBasePath($
87980 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 package);.$this->downloadManager
879a0 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 ->remove($package,.$downloadPath
879c0 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c );.}..protected.function.initial
879e0 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 izeVendorDir().{.$this->filesyst
87a00 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d em->ensureDirectoryExists($this-
87a20 3e 76 65 6e 64 6f 72 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3d 20 >vendorDir);.$this->vendorDir.=.
87a40 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a realpath($this->vendorDir);.}.}.
87a60 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
87a80 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ser\Installer;..use.Composer\Rep
87aa0 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 ository\InstalledRepositoryInter
87ac0 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 face;.use.Composer\Package\Packa
87ae0 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 65 74 61 70 61 63 geInterface;.......class.Metapac
87b00 6b 61 67 65 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c kageInstaller.implements.Install
87b20 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e erInterface.{....public.function
87b40 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e .supports($packageType).{.return
87b60 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 3b .$packageType.===.'metapackage';
87b80 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c .}.....public.function.isInstall
87ba0 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ed(InstalledRepositoryInterface.
87bc0 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
87be0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 ).{.return.$repo->hasPackage($pa
87c00 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e ckage);.}.....public.function.in
87c20 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 stall(InstalledRepositoryInterfa
87c40 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b ce.$repo,.PackageInterface.$pack
87c60 61 67 65 29 0a 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 age).{.$repo->addPackage(clone.$
87c80 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 package);.}.....public.function.
87ca0 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 update(InstalledRepositoryInterf
87cc0 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 ace.$repo,.PackageInterface.$ini
87ce0 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a tial,.PackageInterface.$target).
87d00 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 {.if.(!$repo->hasPackage($initia
87d20 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 l)).{.throw.new.\InvalidArgument
87d40 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c Exception('Package.is.not.instal
87d60 6c 65 64 3a 20 27 2e 24 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f led:.'.$initial);.}..$repo->remo
87d80 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 vePackage($initial);.$repo->addP
87da0 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ackage(clone.$target);.}.....pub
87dc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 lic.function.uninstall(Installed
87de0 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 RepositoryInterface.$repo,.Packa
87e00 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 geInterface.$package).{.if.(!$re
87e20 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 74 68 72 6f po->hasPackage($package)).{.thro
87e40 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
87e60 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 70 61 'Package.is.not.installed:.'.$pa
87e80 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 ckage);.}..$repo->removePackage(
87ea0 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $package);.}.....public.function
87ec0 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 .getInstallPath(PackageInterface
87ee0 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 .$package).{.return.'';.}.}.<?ph
87f00 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
87f20 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 Installer;..use.Composer\Reposit
87f40 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 ory\InstalledRepositoryInterface
87f60 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ;.use.Composer\Package\PackageIn
87f80 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 6f 70 49 6e 73 74 61 terface;.........class.NoopInsta
87fa0 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 ller.implements.InstallerInterfa
87fc0 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 ce.{....public.function.supports
87fe0 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a ($packageType).{.return.true;.}.
88000 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 ....public.function.isInstalled(
88020 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 InstalledRepositoryInterface.$re
88040 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b po,.PackageInterface.$package).{
88060 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 .return.$repo->hasPackage($packa
88080 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 ge);.}.....public.function.insta
880a0 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ll(InstalledRepositoryInterface.
880c0 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
880e0 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b ).{.if.(!$repo->hasPackage($pack
88100 61 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 age)).{.$repo->addPackage(clone.
88120 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $package);.}.}.....public.functi
88140 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 on.update(InstalledRepositoryInt
88160 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 erface.$repo,.PackageInterface.$
88180 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 initial,.PackageInterface.$targe
881a0 74 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 t).{.if.(!$repo->hasPackage($ini
881c0 74 69 61 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d tial)).{.throw.new.\InvalidArgum
881e0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 entException('Package.is.not.ins
88200 74 61 6c 6c 65 64 3a 20 27 2e 24 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 72 65 70 6f 2d 3e 72 talled:.'.$initial);.}..$repo->r
88220 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 72 65 emovePackage($initial);.if.(!$re
88240 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 29 29 20 7b 0a 24 72 65 70 6f po->hasPackage($target)).{.$repo
88260 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d ->addPackage(clone.$target);.}.}
88280 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 .....public.function.uninstall(I
882a0 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 nstalledRepositoryInterface.$rep
882c0 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a o,.PackageInterface.$package).{.
882e0 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 if.(!$repo->hasPackage($package)
88300 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
88320 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 ception('Package.is.not.installe
88340 64 3a 20 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 d:.'.$package);.}.$repo->removeP
88360 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ackage($package);.}.....public.f
88380 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e unction.getInstallPath(PackageIn
883a0 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d terface.$package).{.$targetDir.=
883c0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 .$package->getTargetDir();..retu
883e0 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 20 2e 20 28 rn.$package->getPrettyName()...(
88400 24 74 61 72 67 65 74 44 69 72 20 3f 20 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 20 3a 20 27 27 $targetDir.?.'/'.$targetDir.:.''
88420 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
88440 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f e.Composer\Installer;..use.Compo
88460 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f ser\Composer;.use.Composer\IO\IO
88480 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e Interface;.use.Composer\Dependen
884a0 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e cyResolver\Operation\OperationIn
884c0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 terface;.use.Composer\Dependency
884e0 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Resolver\PolicyInterface;.use.Co
88500 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a mposer\DependencyResolver\Pool;.
88520 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c use.Composer\DependencyResolver\
88540 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 Request;.use.Composer\Repository
88560 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 \CompositeRepository;.......clas
88580 73 20 50 61 63 6b 61 67 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 49 6e 73 74 61 6c 6c 65 72 s.PackageEvent.extends.Installer
885a0 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 0a Event.{....private.$operation;..
885c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f ..............public.function.__
885e0 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 construct($eventName,.Composer.$
88600 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d composer,.IOInterface.$io,.$devM
88620 6f 64 65 2c 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f ode,.PolicyInterface.$policy,.Po
88640 6f 6c 20 24 70 6f 6f 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 ol.$pool,.CompositeRepository.$i
88660 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 nstalledRepo,.Request.$request,.
88680 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 array.$operations,.OperationInte
886a0 72 66 61 63 65 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f rface.$operation).{.parent::__co
886c0 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 nstruct($eventName,.$composer,.$
886e0 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 io,.$devMode,.$policy,.$pool,.$i
88700 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 nstalledRepo,.$request,.$operati
88720 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 20 3d 20 24 6f 70 65 72 61 ons);..$this->operation.=.$opera
88740 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 tion;.}.......public.function.ge
88760 74 4f 70 65 72 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 tOperation().{.return.$this->ope
88780 72 61 74 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ration;.}.}.<?php............nam
887a0 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a espace.Composer\Installer;......
887c0 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 63 6f .class.PackageEvents.{........co
887e0 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 nst.PRE_PACKAGE_INSTALL.=.'pre-p
88800 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 ackage-install';.........const.P
88820 4f 53 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b OST_PACKAGE_INSTALL.=.'post-pack
88840 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f age-install';.........const.PRE_
88860 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 PACKAGE_UPDATE.=.'pre-package-up
88880 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 date';.........const.POST_PACKAG
888a0 45 5f 55 50 44 41 54 45 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 E_UPDATE.=.'post-package-update'
888c0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e ;.........const.PRE_PACKAGE_UNIN
888e0 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b STALL.=.'pre-package-uninstall';
88900 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e .........const.POST_PACKAGE_UNIN
88920 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 STALL.=.'post-package-uninstall'
88940 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 ;.}.<?php............namespace.C
88960 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 omposer\Installer;..use.Composer
88980 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 \IO\IOInterface;.use.Composer\Pa
889a0 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ckage\PackageInterface;.use.Comp
889c0 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Util\Filesystem;.use.Compos
889e0 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 er\Util\ProcessExecutor;.......c
88a00 6c 61 73 73 20 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 lass.PearBinaryInstaller.extends
88a20 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 .BinaryInstaller.{.private.$inst
88a40 61 6c 6c 65 72 3b 0a 70 72 69 76 61 74 65 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 0a 0a 0a 0a 0a aller;.private.$vendorDir;......
88a60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
88a80 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 76 65 6e 64 6f IOInterface.$io,.$binDir,.$vendo
88aa0 72 44 69 72 2c 20 24 62 69 6e 43 6f 6d 70 61 74 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 rDir,.$binCompat,.Filesystem.$fi
88ac0 6c 65 73 79 73 74 65 6d 2c 20 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 24 69 6e 73 74 61 6c 6c lesystem,.PearInstaller.$install
88ae0 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 er).{.parent::__construct($io,.$
88b00 62 69 6e 44 69 72 2c 20 24 62 69 6e 43 6f 6d 70 61 74 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 29 binDir,.$binCompat,.$filesystem)
88b20 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 3b ;.$this->installer.=.$installer;
88b40 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a .$this->vendorDir.=.$vendorDir;.
88b60 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 }..protected.function.getBinarie
88b80 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 s(PackageInterface.$package).{.$
88ba0 62 69 6e 61 72 69 65 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 2d binariesPath.=.$this->installer-
88bc0 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 20 2e 20 27 2f 62 69 >getInstallPath($package)...'/bi
88be0 6e 2f 27 3b 0a 24 62 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 66 69 n/';.$binaries.=.array();.if.(fi
88c00 6c 65 5f 65 78 69 73 74 73 28 24 62 69 6e 61 72 69 65 73 50 61 74 68 29 29 20 7b 0a 66 6f 72 65 le_exists($binariesPath)).{.fore
88c20 61 63 68 20 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 62 69 ach.(new.\FilesystemIterator($bi
88c40 6e 61 72 69 65 73 50 61 74 68 2c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a nariesPath,.\FilesystemIterator:
88c60 3a 4b 45 59 5f 41 53 5f 46 49 4c 45 4e 41 4d 45 20 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 :KEY_AS_FILENAME.|.\FilesystemIt
88c80 65 72 61 74 6f 72 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 46 49 4c 45 49 4e 46 4f 29 20 61 73 20 erator::CURRENT_AS_FILEINFO).as.
88ca0 24 66 69 6c 65 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 24 76 61 6c $fileName.=>.$value).{.if.(!$val
88cc0 75 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 62 69 6e 61 72 69 65 73 5b 5d 20 3d 20 27 62 69 ue->isDir()).{.$binaries[].=.'bi
88ce0 6e 2f 27 2e 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 69 n/'.$fileName;.}.}.}..return.$bi
88d00 6e 61 72 69 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e naries;.}..protected.function.in
88d20 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 itializeBinDir().{.parent::initi
88d40 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 alizeBinDir();.file_put_contents
88d60 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 2c 20 ($this->binDir.'/composer-php',.
88d80 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 79 43 6f 64 65 $this->generateUnixyPhpProxyCode
88da0 28 29 29 3b 0a 40 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 ());.@chmod($this->binDir.'/comp
88dc0 6f 73 65 72 2d 70 68 70 27 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 66 69 6c oser-php',.0777.&.~umask());.fil
88de0 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 e_put_contents($this->binDir.'/c
88e00 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 omposer-php.bat',.$this->generat
88e20 65 57 69 6e 64 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 40 63 68 6d 6f 64 28 eWindowsPhpProxyCode());.@chmod(
88e40 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 $this->binDir.'/composer-php.bat
88e60 27 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ',.0777.&.~umask());.}..protecte
88e80 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 d.function.generateWindowsProxyC
88ea0 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 74 ode($bin,.$link).{.$binPath.=.$t
88ec0 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 his->filesystem->findShortestPat
88ee0 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 69 66 20 28 27 2e 62 61 74 27 20 3d 3d 3d 20 73 h($link,.$bin);.if.('.bat'.===.s
88f00 75 62 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 29 20 7b 0a 24 63 61 6c 6c 65 72 20 3d 20 27 63 61 ubstr($bin,.-4)).{.$caller.=.'ca
88f20 6c 6c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 62 ll';.}.else.{.$handle.=.fopen($b
88f40 69 6e 2c 20 27 72 27 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 68 61 6e 64 6c 65 29 in,.'r');.$line.=.fgets($handle)
88f60 3b 0a 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ;.fclose($handle);.if.(preg_matc
88f80 68 28 27 7b 5e 23 21 2f 28 3f 3a 75 73 72 2f 62 69 6e 2f 65 6e 76 20 29 3f 28 3f 3a 5b 5e 2f 5d h('{^#!/(?:usr/bin/env.)?(?:[^/]
88fa0 2b 2f 29 2a 28 2e 2b 29 24 7d 6d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a +/)*(.+)$}m',.$line,.$match)).{.
88fc0 24 63 61 6c 6c 65 72 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 $caller.=.trim($match[1]);.}.els
88fe0 65 20 7b 0a 24 63 61 6c 6c 65 72 20 3d 20 27 70 68 70 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6c e.{.$caller.=.'php';.}..if.($cal
89000 6c 65 72 20 3d 3d 3d 20 27 70 68 70 27 29 20 7b 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f ler.===.'php').{.return."@echo.o
89020 66 66 5c 72 5c 6e 22 2e 0a 22 70 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 ff\r\n".."pushd..\r\n".."cd.%~dp
89040 30 5c 72 5c 6e 22 2e 0a 22 73 65 74 20 50 48 50 5f 50 52 4f 58 59 3d 25 43 44 25 5c 5c 63 6f 6d 0\r\n".."set.PHP_PROXY=%CD%\\com
89060 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 poser-php.bat\r\n".."cd.".Proces
89080 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 sExecutor::escape(dirname($binPa
890a0 74 68 29 29 2e 22 5c 72 5c 6e 22 2e 0a 22 73 65 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 th))."\r\n".."set.BIN_TARGET=%CD
890c0 25 5c 5c 22 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a %\\".basename($binPath)."\r\n"..
890e0 22 70 6f 70 64 5c 72 5c 6e 22 2e 0a 22 25 50 48 50 5f 50 52 4f 58 59 25 20 5c 22 25 42 49 4e 5f "popd\r\n".."%PHP_PROXY%.\"%BIN_
89100 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 TARGET%\".%*\r\n";.}.}..return."
89120 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 2e 0a 22 70 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 @echo.off\r\n".."pushd..\r\n".."
89140 63 64 20 25 7e 64 70 30 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 73 45 78 65 63 cd.%~dp0\r\n".."cd.".ProcessExec
89160 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e utor::escape(dirname($binPath)).
89180 22 5c 72 5c 6e 22 2e 0a 22 73 65 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e "\r\n".."set.BIN_TARGET=%CD%\\".
891a0 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 basename($binPath)."\r\n".."popd
891c0 5c 72 5c 6e 22 2e 0a 24 63 61 6c 6c 65 72 2e 22 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c \r\n"..$caller.".\"%BIN_TARGET%\
891e0 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 ".%*\r\n";.}..private.function.g
89200 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 0a 7b 0a 24 enerateWindowsPhpProxyCode().{.$
89220 62 69 6e 54 6f 56 65 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d binToVendor.=.$this->filesystem-
89240 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2c >findShortestPath($this->binDir,
89260 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 .$this->vendorDir,.true);..retur
89280 6e 0a 22 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 6c 6f 63 61 6c 20 65 6e n."@echo.off\r\n"..."setlocal.en
892a0 61 62 6c 65 64 65 6c 61 79 65 64 65 78 70 61 6e 73 69 6f 6e 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 abledelayedexpansion\r\n"..."set
892c0 20 42 49 4e 5f 44 49 52 3d 25 7e 64 70 30 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 56 45 4e 44 4f .BIN_DIR=%~dp0\r\n"..."set.VENDO
892e0 52 5f 44 49 52 3d 25 42 49 4e 5f 44 49 52 25 5c 5c 22 2e 24 62 69 6e 54 6f 56 65 6e 64 6f 72 2e R_DIR=%BIN_DIR%\\".$binToVendor.
89300 22 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 44 49 52 53 3d 2e 5c 72 5c 6e 22 20 2e 0a 22 46 4f 52 "\r\n"..."set.DIRS=.\r\n"..."FOR
89320 20 2f 44 20 25 25 56 20 49 4e 20 28 25 56 45 4e 44 4f 52 5f 44 49 52 25 5c 5c 2a 29 20 44 4f 20 ./D.%%V.IN.(%VENDOR_DIR%\\*).DO.
89340 28 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 46 4f 52 20 2f 44 20 25 25 50 20 49 4e 20 28 25 25 56 (\r\n"..."....FOR./D.%%P.IN.(%%V
89360 5c 5c 2a 29 20 44 4f 20 28 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 20 20 20 20 73 65 74 20 44 49 \\*).DO.(\r\n"..."........set.DI
89380 52 53 3d 21 44 49 52 53 21 3b 25 25 7e 66 50 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 29 5c 72 5c RS=!DIRS!;%%~fP\r\n"..."....)\r\
893a0 6e 22 20 2e 0a 22 29 5c 72 5c 6e 22 20 2e 0a 22 70 68 70 2e 65 78 65 20 2d 64 20 69 6e 63 6c 75 n"...")\r\n"..."php.exe.-d.inclu
893c0 64 65 5f 70 61 74 68 3d 21 44 49 52 53 21 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 69 76 61 de_path=!DIRS!.%*\r\n";.}..priva
893e0 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 te.function.generateUnixyPhpProx
89400 79 43 6f 64 65 28 29 0a 7b 0a 24 62 69 6e 54 6f 56 65 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d 3e yCode().{.$binToVendor.=.$this->
89420 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 74 68 filesystem->findShortestPath($th
89440 69 73 2d 3e 62 69 6e 44 69 72 2c 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 72 is->binDir,.$this->vendorDir,.tr
89460 75 65 29 3b 0a 0a 72 65 74 75 72 6e 0a 22 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 5c ue);..return."#!/usr/bin/env.sh\
89480 6e 22 2e 0a 22 53 52 43 5f 44 49 52 3d 60 70 77 64 60 5c 6e 22 2e 0a 22 42 49 4e 5f 44 49 52 3d n".."SRC_DIR=`pwd`\n".."BIN_DIR=
894a0 60 64 69 72 6e 61 6d 65 20 24 30 60 5c 6e 22 2e 0a 22 56 45 4e 44 4f 52 5f 44 49 52 3d 5c 24 42 `dirname.$0`\n".."VENDOR_DIR=\$B
894c0 49 4e 5f 44 49 52 2f 22 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 69 6e 54 6f 56 65 IN_DIR/".escapeshellarg($binToVe
894e0 6e 64 6f 72 29 2e 22 5c 6e 22 2e 0a 22 44 49 52 53 3d 5c 22 5c 22 5c 6e 22 2e 0a 22 66 6f 72 20 ndor)."\n".."DIRS=\"\"\n".."for.
89500 76 65 6e 64 6f 72 20 69 6e 20 5c 24 56 45 4e 44 4f 52 5f 44 49 52 2f 2a 3b 20 64 6f 5c 6e 22 2e vendor.in.\$VENDOR_DIR/*;.do\n".
89520 0a 22 20 20 20 20 69 66 20 5b 20 2d 64 20 5c 22 5c 24 76 65 6e 64 6f 72 5c 22 20 5d 3b 20 74 68 ."....if.[.-d.\"\$vendor\".];.th
89540 65 6e 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 66 6f 72 20 70 61 63 6b 61 67 65 20 69 6e 20 5c en\n".."........for.package.in.\
89560 24 76 65 6e 64 6f 72 2f 2a 3b 20 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 69 $vendor/*;.do\n".."............i
89580 66 20 5b 20 2d 64 20 5c 22 5c 24 70 61 63 6b 61 67 65 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 2e f.[.-d.\"\$package\".];.then\n".
895a0 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 49 52 53 3d 5c 22 5c 24 7b 44 49 52 53 ."................DIRS=\"\${DIRS
895c0 7d 3a 5c 24 7b 70 61 63 6b 61 67 65 7d 5c 22 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 }:\${package}\"\n".."...........
895e0 20 66 69 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 64 6f 6e 65 5c 6e 22 2e 0a 22 20 20 20 20 66 .fi\n".."........done\n".."....f
89600 69 5c 6e 22 2e 0a 22 64 6f 6e 65 5c 6e 22 2e 0a 22 70 68 70 20 2d 64 20 69 6e 63 6c 75 64 65 5f i\n".."done\n".."php.-d.include_
89620 70 61 74 68 3d 5c 22 2e 5c 24 44 49 52 53 5c 22 20 24 40 5c 6e 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 path=\".\$DIRS\".$@\n";.}.}.<?ph
89640 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
89660 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e Installer;..use.Composer\IO\IOIn
89680 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a terface;.use.Composer\Composer;.
896a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 65 61 72 50 61 63 6b use.Composer\Downloader\PearPack
896c0 61 67 65 45 78 74 72 61 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ageExtractor;.use.Composer\Repos
896e0 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 itory\InstalledRepositoryInterfa
89700 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 ce;.use.Composer\Package\Package
89720 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 Interface;.use.Composer\Util\Pla
89740 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 tform;.use.Composer\Util\Filesys
89760 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 tem;........class.PearInstaller.
89780 65 78 74 65 6e 64 73 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 0a 0a 0a 0a 0a extends.LibraryInstaller.{......
897a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f ..public.function.__construct(IO
897c0 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 Interface.$io,.Composer.$compose
897e0 72 2c 20 24 74 79 70 65 20 3d 20 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 0a 7b 0a 24 66 69 r,.$type.=.'pear-library').{.$fi
89800 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 62 69 lesystem.=.new.Filesystem();.$bi
89820 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 50 65 61 72 42 69 6e 61 72 79 49 6e naryInstaller.=.new.PearBinaryIn
89840 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 staller($io,.rtrim($composer->ge
89860 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c tConfig()->get('bin-dir'),.'/'),
89880 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 .rtrim($composer->getConfig()->g
898a0 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d 70 6f 73 65 et('vendor-dir'),.'/'),.$compose
898c0 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d 70 61 74 27 r->getConfig()->get('bin-compat'
898e0 29 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 74 68 69 73 29 3b 0a 0a 70 61 72 65 6e 74 3a ),.$filesystem,.$this);..parent:
89900 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 :__construct($io,.$composer,.$ty
89920 70 65 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 pe,.$filesystem,.$binaryInstalle
89940 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 r);.}.....public.function.update
89960 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 (InstalledRepositoryInterface.$r
89980 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 epo,.PackageInterface.$initial,.
899a0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 PackageInterface.$target).{.$thi
899c0 73 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 s->uninstall($repo,.$initial);.$
899e0 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d this->install($repo,.$target);.}
89a00 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 43 6f 64 65 ..protected.function.installCode
89a20 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 70 61 (PackageInterface.$package).{.pa
89a40 72 65 6e 74 3a 3a 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 69 rent::installCode($package);..$i
89a60 73 57 69 6e 64 6f 77 73 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 sWindows.=.Platform::isWindows()
89a80 3b 0a 24 70 68 70 5f 62 69 6e 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 2e 20 28 24 69 ;.$php_bin.=.$this->binDir...($i
89aa0 73 57 69 6e 64 6f 77 73 20 3f 20 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 20 3a sWindows.?.'/composer-php.bat'.:
89ac0 20 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 29 3b 0a 0a 69 66 20 28 21 24 69 73 57 69 6e 64 .'/composer-php');..if.(!$isWind
89ae0 6f 77 73 29 20 7b 0a 24 70 68 70 5f 62 69 6e 20 3d 20 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 ows).{.$php_bin.=.'/usr/bin/env.
89b00 27 20 2e 20 24 70 68 70 5f 62 69 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 '...$php_bin;.}..$installPath.=.
89b20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b $this->getInstallPath($package);
89b40 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 0a 27 6f 73 27 20 3d 3e 20 24 69 73 57 69 6e 64 6f .$vars.=.array(.'os'.=>.$isWindo
89b60 77 73 20 3f 20 27 77 69 6e 64 6f 77 73 27 20 3a 20 27 6c 69 6e 75 78 27 2c 0a 27 70 68 70 5f 62 ws.?.'windows'.:.'linux',.'php_b
89b80 69 6e 27 20 3d 3e 20 24 70 68 70 5f 62 69 6e 2c 0a 27 70 65 61 72 5f 70 68 70 27 20 3d 3e 20 24 in'.=>.$php_bin,.'pear_php'.=>.$
89ba0 69 6e 73 74 61 6c 6c 50 61 74 68 2c 0a 27 70 68 70 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 installPath,.'php_dir'.=>.$insta
89bc0 6c 6c 50 61 74 68 2c 0a 27 62 69 6e 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 llPath,.'bin_dir'.=>.$installPat
89be0 68 20 2e 20 27 2f 62 69 6e 27 2c 0a 27 64 61 74 61 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 h...'/bin',.'data_dir'.=>.$insta
89c00 6c 6c 50 61 74 68 20 2e 20 27 2f 64 61 74 61 27 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 llPath...'/data',.'version'.=>.$
89c20 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a package->getPrettyVersion(),.);.
89c40 0a 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 .$packageArchive.=.$this->getIns
89c60 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 tallPath($package).'/'.pathinfo(
89c80 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 41 54 48 49 4e 46 4f $package->getDistUrl(),.PATHINFO
89ca0 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 24 70 65 61 72 45 78 74 72 61 63 74 6f 72 20 3d 20 6e 65 77 _BASENAME);.$pearExtractor.=.new
89cc0 20 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 28 24 70 61 63 6b 61 67 65 41 72 .PearPackageExtractor($packageAr
89ce0 63 68 69 76 65 29 3b 0a 24 70 65 61 72 45 78 74 72 61 63 74 6f 72 2d 3e 65 78 74 72 61 63 74 54 chive);.$pearExtractor->extractT
89d00 6f 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 o($this->getInstallPath($package
89d20 29 2c 20 61 72 72 61 79 28 27 70 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 ),.array('php'.=>.'/',.'script'.
89d40 3d 3e 20 27 2f 62 69 6e 27 2c 20 27 64 61 74 61 27 20 3d 3e 20 27 2f 64 61 74 61 27 29 2c 20 24 =>.'/bin',.'data'.=>.'/data'),.$
89d60 76 61 72 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 vars);..$this->io->writeError('.
89d80 20 20 20 43 6c 65 61 6e 69 6e 67 20 75 70 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 ...Cleaning.up',.true,.IOInterfa
89da0 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d ce::VERBOSE);.$this->filesystem-
89dc0 3e 75 6e 6c 69 6e 6b 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 7d 0a 7d 0a 3c 3f >unlink($packageArchive);.}.}.<?
89de0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
89e00 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f r\Installer;..use.Composer\Compo
89e20 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 ser;.use.Composer\IO\IOInterface
89e40 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c ;.use.Composer\Repository\Instal
89e60 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ledRepositoryInterface;.use.Comp
89e80 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a oser\Package\PackageInterface;..
89ea0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 ......class.PluginInstaller.exte
89ec0 6e 64 73 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 nds.LibraryInstaller.{.private.$
89ee0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c installationManager;........publ
89f00 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 ic.function.__construct(IOInterf
89f20 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 70 ace.$io,.Composer.$composer).{.p
89f40 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 arent::__construct($io,.$compose
89f60 72 2c 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6e r,.'composer-plugin');.$this->in
89f80 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 stallationManager.=.$composer->g
89fa0 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 etInstallationManager();.}.....p
89fc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 ublic.function.supports($package
89fe0 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 Type).{.return.$packageType.===.
8a000 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 54 79 70 'composer-plugin'.||.$packageTyp
8a020 65 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 3b 0a 7d 0a 0a 0a e.===.'composer-installer';.}...
8a040 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c ..public.function.install(Instal
8a060 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 ledRepositoryInterface.$repo,.Pa
8a080 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 65 78 74 72 ckageInterface.$package).{.$extr
8a0a0 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d a.=.$package->getExtra();.if.(em
8a0c0 70 74 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 pty($extra['class'])).{.throw.ne
8a0e0 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 w.\UnexpectedValueException('Err
8a100 6f 72 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e or.while.installing.'.$package->
8a120 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 getPrettyName().',.composer-plug
8a140 69 6e 20 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 in.packages.should.have.a.class.
8a160 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 defined.in.their.extra.key.to.be
8a180 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 6c 6c 28 24 .usable.');.}..parent::install($
8a1a0 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 6f repo,.$package);.try.{.$this->co
8a1c0 6d 70 6f 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 72 65 67 69 mposer->getPluginManager()->regi
8a1e0 73 74 65 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 74 72 75 65 29 3b 0a 7d 20 63 sterPackage($package,.true);.}.c
8a200 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e atch.(\Exception.$e).{...$this->
8a220 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 50 6c 75 67 69 6e 20 69 6e 73 74 61 6c 6c 61 74 io->writeError('Plugin.installat
8a240 69 6f 6e 20 66 61 69 6c 65 64 2c 20 72 6f 6c 6c 69 6e 67 20 62 61 63 6b 27 29 3b 0a 70 61 72 65 ion.failed,.rolling.back');.pare
8a260 6e 74 3a 3a 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a nt::uninstall($repo,.$package);.
8a280 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f throw.$e;.}.}.....public.functio
8a2a0 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 n.update(InstalledRepositoryInte
8a2c0 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 rface.$repo,.PackageInterface.$i
8a2e0 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 nitial,.PackageInterface.$target
8a300 29 0a 7b 0a 24 65 78 74 72 61 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 45 78 74 72 61 28 29 ).{.$extra.=.$target->getExtra()
8a320 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a ;.if.(empty($extra['class'])).{.
8a340 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 throw.new.\UnexpectedValueExcept
8a360 69 6f 6e 28 27 45 72 72 6f 72 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 ion('Error.while.installing.'.$t
8a380 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 arget->getPrettyName().',.compos
8a3a0 65 72 2d 70 6c 75 67 69 6e 20 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 er-plugin.packages.should.have.a
8a3c0 20 63 6c 61 73 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 .class.defined.in.their.extra.ke
8a3e0 79 20 74 6f 20 62 65 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 75 70 y.to.be.usable.');.}..parent::up
8a400 64 61 74 65 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a date($repo,.$initial,.$target);.
8a420 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 $this->composer->getPluginManage
8a440 72 28 29 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 2c 20 74 72 r()->registerPackage($target,.tr
8a460 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ue);.}.}.<?php............namesp
8a480 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d ace.Composer\Installer;..use.Com
8a4a0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
8a4c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 use.Composer\Downloader\Download
8a4e0 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 Manager;.use.Composer\Repository
8a500 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 \InstalledRepositoryInterface;.u
8a520 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a se.Composer\Util\Filesystem;....
8a540 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 ....class.ProjectInstaller.imple
8a560 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 ments.InstallerInterface.{.priva
8a580 74 65 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f te.$installPath;.private.$downlo
8a5a0 61 64 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a adManager;.private.$filesystem;.
8a5c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e .public.function.__construct($in
8a5e0 73 74 61 6c 6c 50 61 74 68 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 29 0a stallPath,.DownloadManager.$dm).
8a600 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 72 74 72 69 6d 28 73 74 72 {.$this->installPath.=.rtrim(str
8a620 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 tr($installPath,.'\\',.'/'),.'/'
8a640 29 2e 27 2f 27 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 ).'/';.$this->downloadManager.=.
8a660 24 64 6d 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c $dm;.$this->filesystem.=.new.Fil
8a680 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f esystem;.}........public.functio
8a6a0 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 n.supports($packageType).{.retur
8a6c0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 n.true;.}.....public.function.is
8a6e0 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 Installed(InstalledRepositoryInt
8a700 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 erface.$repo,.PackageInterface.$
8a720 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 package).{.return.false;.}.....p
8a740 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 ublic.function.install(Installed
8a760 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 RepositoryInterface.$repo,.Packa
8a780 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c geInterface.$package).{.$install
8a7a0 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 69 66 20 28 66 Path.=.$this->installPath;.if.(f
8a7c0 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 26 26 20 21 24 74 68 ile_exists($installPath).&&.!$th
8a7e0 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 69 6e 73 74 is->filesystem->isDirEmpty($inst
8a800 61 6c 6c 50 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 allPath)).{.throw.new.\InvalidAr
8a820 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 50 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f gumentException("Project.directo
8a840 72 79 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 2e 22 29 3b ry.$installPath.is.not.empty.");
8a860 0a 7d 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a .}.if.(!is_dir($installPath)).{.
8a880 6d 6b 64 69 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b mkdir($installPath,.0777,.true);
8a8a0 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c .}.$this->downloadManager->downl
8a8c0 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a oad($package,.$installPath);.}..
8a8e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c ...public.function.update(Instal
8a900 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 ledRepositoryInterface.$repo,.Pa
8a920 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 ckageInterface.$initial,.Package
8a940 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c Interface.$target).{.throw.new.\
8a960 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 6e 6f 74 20 73 75 InvalidArgumentException("not.su
8a980 70 70 6f 72 74 65 64 22 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e pported");.}.....public.function
8a9a0 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e .uninstall(InstalledRepositoryIn
8a9c0 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 terface.$repo,.PackageInterface.
8a9e0 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 $package).{.throw.new.\InvalidAr
8aa00 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 22 29 gumentException("not.supported")
8aa20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e ;.}........public.function.getIn
8aa40 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b stallPath(PackageInterface.$pack
8aa60 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 age).{.return.$this->installPath
8aa80 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
8aaa0 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 .Composer\Installer;..use.Compos
8aac0 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c er\IO\IOInterface;.use.Composer\
8aae0 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
8ab00 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 mposer\Repository\RepositoryInte
8ab20 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
8ab40 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a sole\Formatter\OutputFormatter;.
8ab60 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 ......class.SuggestedPackagesRep
8ab80 6f 72 74 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 65 64 50 orter.{....protected.$suggestedP
8aba0 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 ackages.=.array();.....private.$
8abc0 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 io;..public.function.__construct
8abe0 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 (IOInterface.$io).{.$this->io.=.
8ac00 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 $io;.}.....public.function.getPa
8ac20 63 6b 61 67 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 ckages().{.return.$this->suggest
8ac40 65 64 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 edPackages;.}.............public
8ac60 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 24 73 6f 75 72 63 65 2c 20 24 74 .function.addPackage($source,.$t
8ac80 61 72 67 65 74 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 arget,.$reason).{.$this->suggest
8aca0 65 64 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 73 6f 75 72 63 65 27 20 3d edPackages[].=.array(.'source'.=
8acc0 3e 20 24 73 6f 75 72 63 65 2c 0a 27 74 61 72 67 65 74 27 20 3d 3e 20 24 74 61 72 67 65 74 2c 0a >.$source,.'target'.=>.$target,.
8ace0 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 'reason'.=>.$reason,.);..return.
8ad00 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $this;.}........public.function.
8ad20 61 64 64 53 75 67 67 65 73 74 69 6f 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 addSuggestionsFromPackage(Packag
8ad40 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d eInterface.$package).{.$source.=
8ad60 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 66 6f 72 65 .$package->getPrettyName();.fore
8ad80 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 ach.($package->getSuggests().as.
8ada0 24 74 61 72 67 65 74 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 $target.=>.$reason).{.$this->add
8adc0 50 61 63 6b 61 67 65 28 0a 24 73 6f 75 72 63 65 2c 0a 24 74 61 72 67 65 74 2c 0a 24 72 65 61 73 Package(.$source,.$target,.$reas
8ade0 6f 6e 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a on.);.}..return.$this;.}........
8ae00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 28 52 65 70 6f 73 69 74 6f .public.function.output(Reposito
8ae20 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 75 6c ryInterface.$installedRepo.=.nul
8ae40 6c 29 0a 7b 0a 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d l).{.$suggestedPackages.=.$this-
8ae60 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 >getPackages();.$installedPackag
8ae80 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 73 74 es.=.array();.if.(null.!==.$inst
8aea0 61 6c 6c 65 64 52 65 70 6f 20 26 26 20 21 20 65 6d 70 74 79 28 24 73 75 67 67 65 73 74 65 64 50 alledRepo.&&.!.empty($suggestedP
8aec0 61 63 6b 61 67 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 ackages)).{.foreach.($installedR
8aee0 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 epo->getPackages().as.$package).
8af00 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 {.$installedPackages.=.array_mer
8af20 67 65 28 0a 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 2c 0a 24 70 61 63 6b 61 67 65 ge(.$installedPackages,.$package
8af40 2d 3e 67 65 74 4e 61 6d 65 73 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 ->getNames().);.}.}..foreach.($s
8af60 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 29 uggestedPackages.as.$suggestion)
8af80 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 .{.if.(in_array($suggestion['tar
8afa0 67 65 74 27 5d 2c 20 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 63 6f get'],.$installedPackages)).{.co
8afc0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ntinue;.}..$this->io->writeError
8afe0 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 73 75 67 67 65 73 74 73 20 69 6e 73 74 61 6c 6c 69 6e (sprintf(.'%s.suggests.installin
8b000 67 20 25 73 25 73 27 2c 0a 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 73 6f 75 72 63 65 27 5d 2c 0a g.%s%s',.$suggestion['source'],.
8b020 24 74 68 69 73 2d 3e 65 73 63 61 70 65 4f 75 74 70 75 74 28 24 73 75 67 67 65 73 74 69 6f 6e 5b $this->escapeOutput($suggestion[
8b040 27 74 61 72 67 65 74 27 5d 29 2c 0a 24 74 68 69 73 2d 3e 65 73 63 61 70 65 4f 75 74 70 75 74 28 'target']),.$this->escapeOutput(
8b060 27 27 20 21 3d 3d 20 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 20 3f 20 27 ''.!==.$suggestion['reason'].?.'
8b080 20 28 27 2e 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 2e 27 29 27 20 3a 20 .('.$suggestion['reason'].')'.:.
8b0a0 27 27 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a '').));.}..return.$this;.}......
8b0c0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 4f 75 74 70 75 74 28 24 73 private.function.escapeOutput($s
8b0e0 74 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a tring).{.return.OutputFormatter:
8b100 3a 65 73 63 61 70 65 28 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 :escape(.$this->removeControlCha
8b120 72 61 63 74 65 72 73 28 24 73 74 72 69 6e 67 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 racters($string).);.}......priva
8b140 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 72 61 63 74 te.function.removeControlCharact
8b160 65 72 73 28 24 73 74 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 ers($string).{.return.preg_repla
8b180 63 65 28 0a 27 2f 5b 5b 3a 63 6e 74 72 6c 3a 5d 5d 2f 27 2c 0a 27 27 2c 0a 73 74 72 5f 72 65 70 ce(.'/[[:cntrl:]]/',.'',.str_rep
8b1a0 6c 61 63 65 28 22 5c 6e 22 2c 20 27 20 27 2c 20 24 73 74 72 69 6e 67 29 0a 29 3b 0a 7d 0a 7d 0a lace("\n",.'.',.$string).);.}.}.
8b1c0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
8b1e0 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 ser\Json;..use.JsonSchema\Valida
8b200 74 6f 72 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 tor;.use.Seld\JsonLint\JsonParse
8b220 72 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 50 61 72 73 69 6e 67 45 78 63 65 r;.use.Seld\JsonLint\ParsingExce
8b240 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 ption;.use.Composer\Util\RemoteF
8b260 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 ilesystem;.use.Composer\IO\IOInt
8b280 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c erface;.use.Composer\Downloader\
8b2a0 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 TransportException;........class
8b2c0 20 4a 73 6f 6e 46 69 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4c 41 58 5f 53 43 48 45 4d 41 20 3d 20 31 .JsonFile.{.const.LAX_SCHEMA.=.1
8b2e0 3b 0a 63 6f 6e 73 74 20 53 54 52 49 43 54 5f 53 43 48 45 4d 41 20 3d 20 32 3b 0a 0a 63 6f 6e 73 ;.const.STRICT_SCHEMA.=.2;..cons
8b300 74 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 3d 20 36 34 3b 0a 63 t.JSON_UNESCAPED_SLASHES.=.64;.c
8b320 6f 6e 73 74 20 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 20 3d 20 31 32 38 3b 0a 63 6f onst.JSON_PRETTY_PRINT.=.128;.co
8b340 6e 73 74 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 20 3d 20 32 35 36 nst.JSON_UNESCAPED_UNICODE.=.256
8b360 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a ;..private.$path;.private.$rfs;.
8b380 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e private.$io;..........public.fun
8b3a0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 52 65 6d 6f 74 65 46 ction.__construct($path,.RemoteF
8b3c0 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 ilesystem.$rfs.=.null,.IOInterfa
8b3e0 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 ce.$io.=.null).{.$this->path.=.$
8b400 70 61 74 68 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 66 73 20 26 26 20 70 72 65 67 path;..if.(null.===.$rfs.&&.preg
8b420 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 69 27 2c 20 24 70 61 74 68 29 29 20 _match('{^https?://}i',.$path)).
8b440 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
8b460 70 74 69 6f 6e 28 27 68 74 74 70 20 75 72 6c 73 20 72 65 71 75 69 72 65 20 61 20 52 65 6d 6f 74 ption('http.urls.require.a.Remot
8b480 65 46 69 6c 65 73 79 73 74 65 6d 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 70 61 73 73 65 eFilesystem.instance.to.be.passe
8b4a0 64 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d d');.}.$this->rfs.=.$rfs;.$this-
8b4c0 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e >io.=.$io;.}.....public.function
8b4e0 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b .getPath().{.return.$this->path;
8b500 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 .}.......public.function.exists(
8b520 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b ).{.return.is_file($this->path);
8b540 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 29 .}........public.function.read()
8b560 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 66 73 29 20 7b 0a 24 6a 73 6f 6e .{.try.{.if.($this->rfs).{.$json
8b580 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 .=.$this->rfs->getContents($this
8b5a0 2d 3e 70 61 74 68 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 ->path,.$this->path,.false);.}.e
8b5c0 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 2d 3e 69 6f lse.{.if.($this->io.&&.$this->io
8b5e0 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ->isDebug()).{.$this->io->writeE
8b600 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 20 2e 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a rror('Reading.'...$this->path);.
8b620 7d 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 }.$json.=.file_get_contents($thi
8b640 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 s->path);.}.}.catch.(TransportEx
8b660 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ception.$e).{.throw.new.\Runtime
8b680 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 Exception($e->getMessage(),.0,.$
8b6a0 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 e);.}.catch.(\Exception.$e).{.th
8b6c0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 row.new.\RuntimeException('Could
8b6e0 20 6e 6f 74 20 72 65 61 64 20 27 2e 24 74 68 69 73 2d 3e 70 61 74 68 2e 22 5c 6e 5c 6e 22 2e 24 .not.read.'.$this->path."\n\n".$
8b700 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 e->getMessage());.}..return.stat
8b720 69 63 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 ic::parseJson($json,.$this->path
8b740 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 );.}.........public.function.wri
8b760 74 65 28 61 72 72 61 79 20 24 68 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 38 29 0a te(array.$hash,.$options.=.448).
8b780 7b 0a 24 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 69 {.$dir.=.dirname($this->path);.i
8b7a0 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 f.(!is_dir($dir)).{.if.(file_exi
8b7c0 73 74 73 28 24 64 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 sts($dir)).{.throw.new.\Unexpect
8b7e0 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 65 78 69 73 74 73 20 edValueException(.$dir.'.exists.
8b800 61 6e 64 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b 0a 7d 0a 69 66 and.is.not.a.directory.'.);.}.if
8b820 20 28 21 40 6d 6b 64 69 72 28 24 64 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 20 7b 0a 74 .(!@mkdir($dir,.0777,.true)).{.t
8b840 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 hrow.new.\UnexpectedValueExcepti
8b860 6f 6e 28 0a 24 64 69 72 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 64 20 63 6f on(.$dir.'.does.not.exist.and.co
8b880 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 uld.not.be.created.'.);.}.}..$re
8b8a0 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a tries.=.3;.while.($retries--).{.
8b8c0 74 72 79 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 try.{.file_put_contents($this->p
8b8e0 61 74 68 2c 20 73 74 61 74 69 63 3a 3a 65 6e 63 6f 64 65 28 24 68 61 73 68 2c 20 24 6f 70 74 69 ath,.static::encode($hash,.$opti
8b900 6f 6e 73 29 2e 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 ons)..($options.&.self::JSON_PRE
8b920 54 54 59 5f 50 52 49 4e 54 20 3f 20 22 5c 6e 22 20 3a 20 27 27 29 29 3b 0a 62 72 65 61 6b 3b 0a TTY_PRINT.?."\n".:.''));.break;.
8b940 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 72 }.catch.(\Exception.$e).{.if.($r
8b960 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e etries).{.usleep(500000);.contin
8b980 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ue;.}..throw.$e;.}.}.}.........p
8b9a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 24 73 ublic.function.validateSchema($s
8b9c0 63 68 65 6d 61 20 3d 20 73 65 6c 66 3a 3a 53 54 52 49 43 54 5f 53 43 48 45 4d 41 29 0a 7b 0a 24 chema.=.self::STRICT_SCHEMA).{.$
8b9e0 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 content.=.file_get_contents($thi
8ba00 73 2d 3e 70 61 74 68 29 3b 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 s->path);.$data.=.json_decode($c
8ba20 6f 6e 74 65 6e 74 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 ontent);..if.(null.===.$data.&&.
8ba40 27 6e 75 6c 6c 27 20 21 3d 3d 20 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 'null'.!==.$content).{.self::val
8ba60 69 64 61 74 65 53 79 6e 74 61 78 28 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 70 61 74 idateSyntax($content,.$this->pat
8ba80 68 29 3b 0a 7d 0a 0a 24 73 63 68 65 6d 61 46 69 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 h);.}..$schemaFile.=.__DIR__...'
8baa0 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 /../../../res/composer-schema.js
8bac0 6f 6e 27 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 73 63 on';....if.(false.===.strpos($sc
8bae0 68 65 6d 61 46 69 6c 65 2c 20 27 3a 2f 2f 27 29 29 20 7b 0a 24 73 63 68 65 6d 61 46 69 6c 65 20 hemaFile,.'://')).{.$schemaFile.
8bb00 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 24 73 63 68 65 6d 61 46 69 6c 65 3b 0a 7d 0a 0a 24 73 =.'file://'...$schemaFile;.}..$s
8bb20 63 68 65 6d 61 44 61 74 61 20 3d 20 28 6f 62 6a 65 63 74 29 20 61 72 72 61 79 28 27 24 72 65 66 chemaData.=.(object).array('$ref
8bb40 27 20 3d 3e 20 24 73 63 68 65 6d 61 46 69 6c 65 29 3b 0a 0a 69 66 20 28 24 73 63 68 65 6d 61 20 '.=>.$schemaFile);..if.($schema.
8bb60 3d 3d 3d 20 73 65 6c 66 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 20 7b 0a 24 73 63 68 65 6d 61 44 ===.self::LAX_SCHEMA).{.$schemaD
8bb80 61 74 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3d 20 74 72 75 65 ata->additionalProperties.=.true
8bba0 3b 0a 24 73 63 68 65 6d 61 44 61 74 61 2d 3e 72 65 71 75 69 72 65 64 20 3d 20 61 72 72 61 79 28 ;.$schemaData->required.=.array(
8bbc0 29 3b 0a 7d 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 6f 72 );.}..$validator.=.new.Validator
8bbe0 28 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 64 61 74 61 2c 20 24 73 63 ();.$validator->check($data,.$sc
8bc00 68 65 6d 61 44 61 74 61 29 3b 0a 0a 0a 0a 69 66 20 28 21 24 76 61 6c 69 64 61 74 6f 72 2d 3e 69 hemaData);....if.(!$validator->i
8bc20 73 56 61 6c 69 64 28 29 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 sValid()).{.$errors.=.array();.f
8bc40 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 oreach.((array).$validator->getE
8bc60 72 72 6f 72 73 28 29 20 61 73 20 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d rrors().as.$error).{.$errors[].=
8bc80 20 28 24 65 72 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 20 3f 20 24 65 72 72 6f 72 5b 27 70 .($error['property'].?.$error['p
8bca0 72 6f 70 65 72 74 79 27 5d 2e 27 20 3a 20 27 20 3a 20 27 27 29 2e 24 65 72 72 6f 72 5b 27 6d 65 roperty'].'.:.'.:.'').$error['me
8bcc0 73 73 61 67 65 27 5d 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 61 6c 69 64 61 74 ssage'];.}.throw.new.JsonValidat
8bce0 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 74 68 69 73 2d 3e 70 61 74 68 2e 27 22 20 ionException('"'.$this->path.'".
8bd00 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 65 78 70 65 63 74 65 64 20 4a 53 4f 4e does.not.match.the.expected.JSON
8bd20 20 73 63 68 65 6d 61 27 2c 20 24 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 .schema',.$errors);.}..return.tr
8bd40 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ue;.}.........public.static.func
8bd60 74 69 6f 6e 20 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 tion.encode($data,.$options.=.44
8bd80 38 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 8).{.if.(PHP_VERSION_ID.>=.50400
8bda0 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 24 ).{.$json.=.json_encode($data,.$
8bdc0 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b options);.if.(false.===.$json).{
8bde0 0a 73 65 6c 66 3a 3a 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 6f 6e 5f 6c 61 73 .self::throwEncodeError(json_las
8be00 74 5f 65 72 72 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e t_error());.}....if.(PHP_VERSION
8be20 5f 49 44 20 3c 20 35 30 34 32 38 20 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e _ID.<.50428.||.(PHP_VERSION_ID.>
8be40 3d 20 35 30 35 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 31 =.50500.&&.PHP_VERSION_ID.<.5051
8be60 32 29 20 7c 7c 20 28 64 65 66 69 6e 65 64 28 27 4a 53 4f 4e 5f 43 5f 56 45 52 53 49 4f 4e 27 29 2).||.(defined('JSON_C_VERSION')
8be80 20 26 26 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 6f 6e 28 27 .&&.version_compare(phpversion('
8bea0 6a 73 6f 6e 27 29 2c 20 27 31 2e 33 2e 36 27 2c 20 27 3c 27 29 29 29 20 7b 0a 24 6a 73 6f 6e 20 json'),.'1.3.6',.'<'))).{.$json.
8bec0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 5b 5c 73 2b 5c 5d 2f 27 2c 20 27 5b 5d 27 =.preg_replace('/\[\s+\]/',.'[]'
8bee0 2c 20 24 6a 73 6f 6e 29 3b 0a 24 6a 73 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ,.$json);.$json.=.preg_replace('
8bf00 2f 5c 7b 5c 73 2b 5c 7d 2f 27 2c 20 27 7b 7d 27 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 /\{\s+\}/',.'{}',.$json);.}..ret
8bf20 75 72 6e 20 24 6a 73 6f 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 urn.$json;.}..$json.=.json_encod
8bf40 65 28 24 64 61 74 61 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b e($data);.if.(false.===.$json).{
8bf60 0a 73 65 6c 66 3a 3a 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 6f 6e 5f 6c 61 73 .self::throwEncodeError(json_las
8bf80 74 5f 65 72 72 6f 72 28 29 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 50 72 69 6e 74 20 3d 20 28 62 t_error());.}..$prettyPrint.=.(b
8bfa0 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 54 ool).($options.&.self::JSON_PRET
8bfc0 54 59 5f 50 52 49 4e 54 29 3b 0a 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 3d 20 28 62 TY_PRINT);.$unescapeUnicode.=.(b
8bfe0 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 ool).($options.&.self::JSON_UNES
8c000 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 29 3b 0a 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 CAPED_UNICODE);.$unescapeSlashes
8c020 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e .=.(bool).($options.&.self::JSON
8c040 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 29 3b 0a 0a 69 66 20 28 21 24 70 72 65 74 _UNESCAPED_SLASHES);..if.(!$pret
8c060 74 79 50 72 69 6e 74 20 26 26 20 21 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 26 26 20 tyPrint.&&.!$unescapeUnicode.&&.
8c080 21 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6a 73 6f !$unescapeSlashes).{.return.$jso
8c0a0 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 3a 3a 66 6f 72 6d n;.}..return.JsonFormatter::form
8c0c0 61 74 28 24 6a 73 6f 6e 2c 20 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 2c 20 24 75 6e 65 at($json,.$unescapeUnicode,.$une
8c0e0 73 63 61 70 65 53 6c 61 73 68 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 scapeSlashes);.}........private.
8c100 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 static.function.throwEncodeError
8c120 28 24 63 6f 64 65 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 64 65 29 20 7b 0a 63 61 73 65 20 ($code).{.switch.($code).{.case.
8c140 4a 53 4f 4e 5f 45 52 52 4f 52 5f 44 45 50 54 48 3a 0a 24 6d 73 67 20 3d 20 27 4d 61 78 69 6d 75 JSON_ERROR_DEPTH:.$msg.=.'Maximu
8c160 6d 20 73 74 61 63 6b 20 64 65 70 74 68 20 65 78 63 65 65 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a m.stack.depth.exceeded';.break;.
8c180 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 53 54 41 54 45 5f 4d 49 53 4d 41 54 43 48 3a 0a case.JSON_ERROR_STATE_MISMATCH:.
8c1a0 24 6d 73 67 20 3d 20 27 55 6e 64 65 72 66 6c 6f 77 20 6f 72 20 74 68 65 20 6d 6f 64 65 73 20 6d $msg.=.'Underflow.or.the.modes.m
8c1c0 69 73 6d 61 74 63 68 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 ismatch';.break;.case.JSON_ERROR
8c1e0 5f 43 54 52 4c 5f 43 48 41 52 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 65 78 70 65 63 74 65 64 20 63 _CTRL_CHAR:.$msg.=.'Unexpected.c
8c200 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 66 6f 75 6e 64 27 3b 0a 62 72 65 61 6b 3b 0a ontrol.character.found';.break;.
8c220 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 3a 0a 24 6d 73 67 20 3d 20 27 4d 61 case.JSON_ERROR_UTF8:.$msg.=.'Ma
8c240 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 63 68 61 72 61 63 74 65 72 73 2c 20 70 6f 73 73 69 62 lformed.UTF-8.characters,.possib
8c260 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a ly.incorrectly.encoded';.break;.
8c280 64 65 66 61 75 6c 74 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 3b default:.$msg.=.'Unknown.error';
8c2a0 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 .}..throw.new.\RuntimeException(
8c2c0 27 4a 53 4f 4e 20 65 6e 63 6f 64 69 6e 67 20 66 61 69 6c 65 64 3a 20 27 2e 24 6d 73 67 29 3b 0a 'JSON.encoding.failed:.'.$msg);.
8c2e0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f }..........public.static.functio
8c300 6e 20 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c 6c 29 n.parseJson($json,.$file.=.null)
8c320 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 3b .{.if.(null.===.$json).{.return;
8c340 0a 7d 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 .}.$data.=.json_decode($json,.tr
8c360 75 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 4a 53 4f 4e 5f ue);.if.(null.===.$data.&&.JSON_
8c380 45 52 52 4f 52 5f 4e 4f 4e 45 20 21 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 ERROR_NONE.!==.json_last_error()
8c3a0 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 6a 73 6f 6e 2c 20 ).{.self::validateSyntax($json,.
8c3c0 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 0a 0a 0a 0a $file);.}..return.$data;.}......
8c3e0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 .....protected.static.function.v
8c400 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c alidateSyntax($json,.$file.=.nul
8c420 6c 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 28 29 3b l).{.$parser.=.new.JsonParser();
8c440 0a 24 72 65 73 75 6c 74 20 3d 20 24 70 61 72 73 65 72 2d 3e 6c 69 6e 74 28 24 6a 73 6f 6e 29 3b .$result.=.$parser->lint($json);
8c460 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 69 66 20 28 64 65 66 .if.(null.===.$result).{.if.(def
8c480 69 6e 65 64 28 27 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 27 29 20 26 26 20 4a 53 4f 4e 5f ined('JSON_ERROR_UTF8').&&.JSON_
8c4a0 45 52 52 4f 52 5f 55 54 46 38 20 3d 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 ERROR_UTF8.===.json_last_error()
8c4c0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 ).{.throw.new.\UnexpectedValueEx
8c4e0 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 66 69 6c 65 2e 27 22 20 69 73 20 6e 6f 74 20 55 54 46 2d ception('"'.$file.'".is.not.UTF-
8c500 38 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 61 73 20 4a 53 4f 4e 27 29 3b 0a 7d 0a 8,.could.not.parse.as.JSON');.}.
8c520 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 .return.true;.}..throw.new.Parsi
8c540 6e 67 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 66 69 6c 65 2e 27 22 20 64 6f 65 73 20 6e 6f ngException('"'.$file.'".does.no
8c560 74 20 63 6f 6e 74 61 69 6e 20 76 61 6c 69 64 20 4a 53 4f 4e 27 2e 22 5c 6e 22 2e 24 72 65 73 75 t.contain.valid.JSON'."\n".$resu
8c580 6c 74 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 44 65 lt->getMessage(),.$result->getDe
8c5a0 74 61 69 6c 73 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e tails());.}.}.<?php............n
8c5c0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a amespace.Composer\Json;.........
8c5e0 0a 63 6c 61 73 73 20 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .class.JsonFormatter.{..........
8c600 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 ...public.static.function.format
8c620 28 24 6a 73 6f 6e 2c 20 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 2c 20 24 75 6e 65 73 63 ($json,.$unescapeUnicode,.$unesc
8c640 61 70 65 53 6c 61 73 68 65 73 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 27 3b 0a 24 70 6f 73 apeSlashes).{.$result.=.'';.$pos
8c660 20 3d 20 30 3b 0a 24 73 74 72 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6a 73 6f 6e 29 3b 0a 24 .=.0;.$strLen.=.strlen($json);.$
8c680 69 6e 64 65 6e 74 53 74 72 20 3d 20 27 20 20 20 20 27 3b 0a 24 6e 65 77 4c 69 6e 65 20 3d 20 22 indentStr.=.'....';.$newLine.=."
8c6a0 5c 6e 22 3b 0a 24 6f 75 74 4f 66 51 75 6f 74 65 73 20 3d 20 74 72 75 65 3b 0a 24 62 75 66 66 65 \n";.$outOfQuotes.=.true;.$buffe
8c6c0 72 20 3d 20 27 27 3b 0a 24 6e 6f 65 73 63 61 70 65 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 20 28 r.=.'';.$noescape.=.true;..for.(
8c6e0 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 73 74 72 4c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 0a 20 $i.=.0;.$i.<.$strLen;.$i++).{...
8c700 24 63 68 61 72 20 3d 20 73 75 62 73 74 72 28 24 6a 73 6f 6e 2c 20 24 69 2c 20 31 29 3b 0a 0a 0a $char.=.substr($json,.$i,.1);...
8c720 20 69 66 20 28 27 22 27 20 3d 3d 3d 20 24 63 68 61 72 20 26 26 20 24 6e 6f 65 73 63 61 70 65 29 .if.('"'.===.$char.&&.$noescape)
8c740 20 7b 0a 24 6f 75 74 4f 66 51 75 6f 74 65 73 20 3d 20 21 24 6f 75 74 4f 66 51 75 6f 74 65 73 3b .{.$outOfQuotes.=.!$outOfQuotes;
8c760 0a 7d 0a 0a 69 66 20 28 21 24 6f 75 74 4f 66 51 75 6f 74 65 73 29 20 7b 0a 24 62 75 66 66 65 72 .}..if.(!$outOfQuotes).{.$buffer
8c780 20 2e 3d 20 24 63 68 61 72 3b 0a 24 6e 6f 65 73 63 61 70 65 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 ..=.$char;.$noescape.=.'\\'.===.
8c7a0 24 63 68 61 72 20 3f 20 21 24 6e 6f 65 73 63 61 70 65 20 3a 20 74 72 75 65 3b 0a 63 6f 6e 74 69 $char.?.!$noescape.:.true;.conti
8c7c0 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 27 20 21 3d 3d 20 24 62 75 66 66 65 72 29 20 7b nue;.}.elseif.(''.!==.$buffer).{
8c7e0 0a 69 66 20 28 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 20 7b 0a 24 62 75 66 66 65 72 .if.($unescapeSlashes).{.$buffer
8c800 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2f 27 2c 20 27 2f 27 2c 20 24 62 75 66 66 .=.str_replace('\\/',.'/',.$buff
8c820 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 26 26 20 er);.}..if.($unescapeUnicode.&&.
8c840 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f function_exists('mb_convert_enco
8c860 64 69 6e 67 27 29 29 20 7b 0a 0a 20 24 62 75 66 66 65 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 ding')).{...$buffer.=.preg_repla
8c880 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 28 5c 5c 5c 5c 2b 29 75 28 5b 30 2d 39 61 2d 66 5d 7b ce_callback('/(\\\\+)u([0-9a-f]{
8c8a0 34 7d 29 2f 69 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 7b 0a 24 6c 20 3d 4})/i',.function.($match).{.$l.=
8c8c0 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 69 66 20 28 24 6c 20 25 20 32 29 .strlen($match[1]);..if.($l.%.2)
8c8e0 20 7b 0a 24 63 6f 64 65 20 3d 20 68 65 78 64 65 63 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 0a 20 .{.$code.=.hexdec($match[2]);...
8c900 0a 20 69 66 20 28 30 78 44 38 30 30 20 3c 3d 20 24 63 6f 64 65 20 26 26 20 30 78 44 46 46 46 20 ..if.(0xD800.<=.$code.&&.0xDFFF.
8c920 3e 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 7d 0a >=.$code).{.return.$match[0];.}.
8c940 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 65 61 74 28 27 5c 5c 27 2c 20 24 6c 20 2d 20 31 29 .return.str_repeat('\\',.$l.-.1)
8c960 20 2e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 0a 70 61 63 6b 28 27 48 2a ...mb_convert_encoding(.pack('H*
8c980 27 2c 20 24 6d 61 74 63 68 5b 32 5d 29 2c 0a 27 55 54 46 2d 38 27 2c 0a 27 55 43 53 2d 32 42 45 ',.$match[2]),.'UTF-8',.'UCS-2BE
8c9a0 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 7d 2c 20 24 62 75 '.);.}..return.$match[0];.},.$bu
8c9c0 66 66 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 62 75 66 66 65 72 2e 24 63 68 ffer);.}..$result..=.$buffer.$ch
8c9e0 61 72 3b 0a 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 ar;.$buffer.=.'';.continue;.}..i
8ca00 66 20 28 27 3a 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 0a 20 24 63 68 61 72 20 2e 3d 20 27 f.(':'.===.$char).{...$char..=.'
8ca20 20 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 7d 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 .';.}.elseif.('}'.===.$char.||.'
8ca40 5d 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 70 6f 73 2d 2d 3b 0a 24 70 72 65 76 43 68 61 ]'.===.$char).{.$pos--;.$prevCha
8ca60 72 20 3d 20 73 75 62 73 74 72 28 24 6a 73 6f 6e 2c 20 24 69 20 2d 20 31 2c 20 31 29 3b 0a 0a 69 r.=.substr($json,.$i.-.1,.1);..i
8ca80 66 20 28 27 7b 27 20 21 3d 3d 20 24 70 72 65 76 43 68 61 72 20 26 26 20 27 5b 27 20 21 3d 3d 20 f.('{'.!==.$prevChar.&&.'['.!==.
8caa0 24 70 72 65 76 43 68 61 72 29 20 7b 0a 0a 20 0a 20 24 72 65 73 75 6c 74 20 2e 3d 20 24 6e 65 77 $prevChar).{.....$result..=.$new
8cac0 4c 69 6e 65 3b 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a Line;.for.($j.=.0;.$j.<.$pos;.$j
8cae0 2b 2b 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d ++).{.$result..=.$indentStr;.}.}
8cb00 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 72 74 72 69 6d 28 24 72 65 73 75 6c .else.{...$result.=.rtrim($resul
8cb20 74 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 63 68 61 72 3b 0a 0a 0a 20 0a 20 t);.}.}..$result..=.$char;......
8cb40 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 7b 27 20 3d 3d 3d 20 24 63 68 if.(','.===.$char.||.'{'.===.$ch
8cb60 61 72 20 7c 7c 20 27 5b 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e ar.||.'['.===.$char).{.$result..
8cb80 3d 20 24 6e 65 77 4c 69 6e 65 3b 0a 0a 69 66 20 28 27 7b 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c =.$newLine;..if.('{'.===.$char.|
8cba0 7c 20 27 5b 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 70 6f 73 2b 2b 3b 0a 7d 0a 0a 66 6f |.'['.===.$char).{.$pos++;.}..fo
8cbc0 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a 2b 2b 29 20 7b 0a 24 72 r.($j.=.0;.$j.<.$pos;.$j++).{.$r
8cbe0 65 73 75 6c 74 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 esult..=.$indentStr;.}.}.}..retu
8cc00 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$result;.}.}.<?php...........
8cc20 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 43 .namespace.Composer\Json;..use.C
8cc40 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 omposer\Repository\PlatformRepos
8cc60 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 itory;.....class.JsonManipulator
8cc80 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 44 45 46 49 4e 45 53 20 3d 20 27 28 3f .{.private.static.$DEFINES.=.'(?
8cca0 28 44 45 46 49 4e 45 29 0a 20 20 20 20 20 20 20 28 3f 3c 6e 75 6d 62 65 72 3e 20 20 20 2d 3f 20 (DEFINE)........(?<number>...-?.
8ccc0 28 3f 3d 20 5b 31 2d 39 5d 7c 30 28 3f 21 5c 64 29 20 29 20 5c 64 2b 20 28 5c 2e 5c 64 2b 29 3f (?=.[1-9]|0(?!\d).).\d+.(\.\d+)?
8cce0 20 28 5b 65 45 5d 20 5b 2b 2d 5d 3f 20 5c 64 2b 29 3f 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 62 .([eE].[+-]?.\d+)?.)........(?<b
8cd00 6f 6f 6c 65 61 6e 3e 20 20 20 74 72 75 65 20 7c 20 66 61 6c 73 65 20 7c 20 6e 75 6c 6c 20 29 0a oolean>...true.|.false.|.null.).
8cd20 20 20 20 20 20 20 20 28 3f 3c 73 74 72 69 6e 67 3e 20 20 20 20 22 20 28 5b 5e 22 5c 5c 5c 5c 5d .......(?<string>....".([^"\\\\]
8cd40 2a 20 7c 20 5c 5c 5c 5c 20 5b 22 5c 5c 5c 5c 62 66 6e 72 74 5c 2f 5d 20 7c 20 5c 5c 5c 5c 20 75 *.|.\\\\.["\\\\bfnrt\/].|.\\\\.u
8cd60 20 5b 30 2d 39 61 2d 66 5d 7b 34 7d 20 29 2a 20 22 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 61 72 .[0-9a-f]{4}.)*.".)........(?<ar
8cd80 72 61 79 3e 20 20 20 20 20 5c 5b 20 20 28 3f 3a 20 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 28 ray>.....\[..(?:..(?&json).\s*.(
8cda0 3f 3a 20 2c 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 29 2a 20 20 29 3f 20 20 5c 73 2a 20 5c 5d ?:.,.(?&json).\s*.)*..)?..\s*.\]
8cdc0 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 70 61 69 72 3e 20 20 20 20 20 20 5c 73 2a 20 28 3f 26 73 .)........(?<pair>......\s*.(?&s
8cde0 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 29 0a 20 20 20 20 tring).\s*.:.(?&json).\s*.).....
8ce00 20 20 20 28 3f 3c 6f 62 6a 65 63 74 3e 20 20 20 20 5c 7b 20 20 28 3f 3a 20 20 28 3f 26 70 61 69 ...(?<object>....\{..(?:..(?&pai
8ce20 72 29 20 20 28 3f 3a 20 2c 20 28 3f 26 70 61 69 72 29 20 20 29 2a 20 20 29 3f 20 20 5c 73 2a 20 r)..(?:.,.(?&pair)..)*..)?..\s*.
8ce40 5c 7d 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 6a 73 6f 6e 3e 20 20 20 5c 73 2a 20 28 3f 3a 20 28 \}.)........(?<json>...\s*.(?:.(
8ce60 3f 26 6e 75 6d 62 65 72 29 20 7c 20 28 3f 26 62 6f 6f 6c 65 61 6e 29 20 7c 20 28 3f 26 73 74 72 ?&number).|.(?&boolean).|.(?&str
8ce80 69 6e 67 29 20 7c 20 28 3f 26 61 72 72 61 79 29 20 7c 20 28 3f 26 6f 62 6a 65 63 74 29 20 29 20 ing).|.(?&array).|.(?&object).).
8cea0 29 0a 20 20 20 20 29 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 70 72 ).....)';..private.$contents;.pr
8cec0 69 76 61 74 65 20 24 6e 65 77 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 65 6e 74 3b ivate.$newline;.private.$indent;
8cee0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 ..public.function.__construct($c
8cf00 6f 6e 74 65 6e 74 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 74 72 69 6d 28 24 63 6f 6e ontents).{.$contents.=.trim($con
8cf20 74 65 6e 74 73 29 3b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 73 20 3d 3d 3d 20 27 27 29 20 7b 0a tents);.if.($contents.===.'').{.
8cf40 24 63 6f 6e 74 65 6e 74 73 20 3d 20 27 7b 7d 27 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e $contents.=.'{}';.}.if.(!$this->
8cf60 70 72 65 67 4d 61 74 63 68 28 27 23 5e 5c 7b 28 2e 2a 29 5c 7d 24 23 73 27 2c 20 24 63 6f 6e 74 pregMatch('#^\{(.*)\}$#s',.$cont
8cf80 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d ents)).{.throw.new.\InvalidArgum
8cfa0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6a 73 6f 6e 20 66 69 6c 65 20 6d 75 73 74 entException('The.json.file.must
8cfc0 20 62 65 20 61 6e 20 6f 62 6a 65 63 74 20 28 7b 7d 29 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6e .be.an.object.({})');.}.$this->n
8cfe0 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 74 65 ewline.=.false.!==.strpos($conte
8d000 6e 74 73 2c 20 22 5c 72 5c 6e 22 29 20 3f 20 22 5c 72 5c 6e 22 20 3a 20 22 5c 6e 22 3b 0a 24 74 nts,."\r\n").?."\r\n".:."\n";.$t
8d020 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 63 6f 6e 74 65 6e 74 73 20 3d 3d 3d 20 27 7b his->contents.=.$contents.===.'{
8d040 7d 27 20 3f 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 27 7d 27 20 }'.?.'{'...$this->newline...'}'.
8d060 3a 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 24 74 68 69 73 2d 3e 64 65 74 65 63 74 49 6e 64 65 6e 74 :.$contents;.$this->detectIndent
8d080 69 6e 67 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e ing();.}..public.function.getCon
8d0a0 74 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 tents().{.return.$this->contents
8d0c0 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ...$this->newline;.}..public.fun
8d0e0 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 ction.addLink($type,.$package,.$
8d100 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 constraint,.$sortPackages.=.fals
8d120 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a e).{.$decoded.=.JsonFile::parseJ
8d140 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 son($this->contents);....if.(!is
8d160 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 set($decoded[$type])).{.return.$
8d180 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 74 79 70 65 2c 20 61 72 72 61 79 28 24 70 this->addMainKey($type,.array($p
8d1a0 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 3b 0a 7d 0a 0a 24 72 65 67 ackage.=>.$constraint));.}..$reg
8d1c0 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 ex.=.'{'.self::$DEFINES.'^(?P<st
8d1e0 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a art>\s*\{\s*(?:(?&string)\s*:\s*
8d200 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 3f 50 3c 70 72 6f 70 65 (?&json)\s*,\s*)*?)'..'(?P<prope
8d220 72 74 79 3e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 rty>'.preg_quote(JsonFile::encod
8d240 65 28 24 74 79 70 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 76 61 6c 75 65 3e 28 3f 26 e($type)).'\s*:\s*)(?P<value>(?&
8d260 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 69 66 20 28 21 24 74 68 69 json))(?P<end>.*)}sx';.if.(!$thi
8d280 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 s->pregMatch($regex,.$this->cont
8d2a0 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ents,.$matches)).{.return.false;
8d2c0 0a 7d 0a 0a 24 6c 69 6e 6b 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 76 61 6c 75 65 27 5d 3b 0a .}..$links.=.$matches['value'];.
8d2e0 0a 0a 20 24 70 61 63 6b 61 67 65 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 ...$packageRegex.=.str_replace('
8d300 2f 27 2c 20 27 5c 5c 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 /',.'\\\\?/',.preg_quote($packag
8d320 65 29 29 3b 0a 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 e));.$regex.=.'{'.self::$DEFINES
8d340 2e 27 22 28 3f 50 3c 70 61 63 6b 61 67 65 3e 27 2e 24 70 61 63 6b 61 67 65 52 65 67 65 78 2e 27 .'"(?P<package>'.$packageRegex.'
8d360 29 22 28 5c 73 2a 3a 5c 73 2a 29 28 3f 26 73 74 72 69 6e 67 29 7d 69 78 27 3b 0a 69 66 20 28 24 )"(\s*:\s*)(?&string)}ix';.if.($
8d380 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 6c 69 6e 6b 73 2c 20 this->pregMatch($regex,.$links,.
8d3a0 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 24 65 78 69 73 74 69 6e 67 50 $packageMatches)).{...$existingP
8d3c0 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 70 61 63 6b 61 67 ackage.=.$packageMatches['packag
8d3e0 65 27 5d 3b 0a 24 70 61 63 6b 61 67 65 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 e'];.$packageRegex.=.str_replace
8d400 28 27 2f 27 2c 20 27 5c 5c 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 65 78 69 73 ('/',.'\\\\?/',.preg_quote($exis
8d420 74 69 6e 67 50 61 63 6b 61 67 65 29 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 70 72 65 67 5f 72 65 70 tingPackage));.$links.=.preg_rep
8d440 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 lace_callback('{'.self::$DEFINES
8d460 2e 27 22 27 2e 24 70 61 63 6b 61 67 65 52 65 67 65 78 2e 27 22 28 3f 50 3c 73 65 70 61 72 61 74 .'"'.$packageRegex.'"(?P<separat
8d480 6f 72 3e 5c 73 2a 3a 5c 73 2a 29 28 3f 26 73 74 72 69 6e 67 29 7d 69 78 27 2c 20 66 75 6e 63 74 or>\s*:\s*)(?&string)}ix',.funct
8d4a0 69 6f 6e 20 28 24 6d 29 20 75 73 65 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 2c 20 ion.($m).use.($existingPackage,.
8d4c0 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a $constraint).{.return.JsonFile::
8d4e0 65 6e 63 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2f 27 2c 20 27 2f 27 2c 20 24 encode(str_replace('\\/',.'/',.$
8d500 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 29 29 20 2e 20 24 6d 5b 27 73 65 70 61 72 61 74 6f existingPackage))...$m['separato
8d520 72 27 5d 20 2e 20 27 22 27 20 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 27 22 27 3b 0a 7d r']...'"'...$constraint...'"';.}
8d540 2c 20 24 6c 69 6e 6b 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 ,.$links);.}.else.{.if.($this->p
8d560 72 65 67 4d 61 74 63 68 28 27 23 5e 5c 73 2a 5c 7b 5c 73 2a 5c 53 2b 2e 2a 3f 28 5c 73 2a 5c 7d regMatch('#^\s*\{\s*\S+.*?(\s*\}
8d580 5c 73 2a 29 24 23 73 27 2c 20 24 6c 69 6e 6b 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 \s*)$#s',.$links,.$match)).{...$
8d5a0 6c 69 6e 6b 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 7b 27 2e 70 72 65 67 5f 71 links.=.preg_replace(.'{'.preg_q
8d5c0 75 6f 74 65 28 24 6d 61 74 63 68 5b 31 5d 29 2e 27 24 7d 27 2c 0a 0a 20 61 64 64 63 73 6c 61 73 uote($match[1]).'$}',...addcslas
8d5e0 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 hes(','...$this->newline...$this
8d600 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 ->indent...$this->indent...JsonF
8d620 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 2e 27 3a 20 27 2e 4a 73 6f 6e 46 ile::encode($package).':.'.JsonF
8d640 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 2e 20 24 6d 61 74 63 ile::encode($constraint)...$matc
8d660 68 5b 31 5d 2c 20 27 5c 5c 24 27 29 2c 0a 24 6c 69 6e 6b 73 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b h[1],.'\\$'),.$links.);.}.else.{
8d680 0a 0a 20 24 6c 69 6e 6b 73 20 3d 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 ...$links.=.'{'...$this->newline
8d6a0 20 2e 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 ...$this->indent...$this->indent
8d6c0 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 2e 27 3a ...JsonFile::encode($package).':
8d6e0 20 27 2e 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 .'.JsonFile::encode($constraint)
8d700 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e ...$this->newline...$this->inden
8d720 74 20 2e 20 27 7d 27 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 73 6f 72 74 t...'}';.}.}..if.(true.===.$sort
8d740 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 6a 73 6f 6e Packages).{.$requirements.=.json
8d760 5f 64 65 63 6f 64 65 28 24 6c 69 6e 6b 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 73 6f _decode($links,.true);.$this->so
8d780 72 74 50 61 63 6b 61 67 65 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 24 6c 69 6e 6b rtPackages($requirements);.$link
8d7a0 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 s.=.$this->format($requirements)
8d7c0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b ;.}..$this->contents.=.$matches[
8d7e0 27 73 74 61 72 74 27 5d 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 72 6f 70 65 72 74 79 27 5d 20 'start']...$matches['property'].
8d800 2e 20 24 6c 69 6e 6b 73 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 0a 72 65 74 ..$links...$matches['end'];..ret
8d820 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 urn.true;.}.........private.func
8d840 74 69 6f 6e 20 73 6f 72 74 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 26 24 70 61 63 6b 61 67 tion.sortPackages(array.&$packag
8d860 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 70 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 es.=.array()).{.$prefix.=.functi
8d880 6f 6e 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 on.($requirement).{.if.(preg_mat
8d8a0 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f ch(PlatformRepository::PLATFORM_
8d8c0 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 29 20 7b 0a PACKAGE_REGEX,.$requirement)).{.
8d8e0 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 0a 27 2f 5e 70 return.preg_replace(.array(.'/^p
8d900 68 70 2f 27 2c 0a 27 2f 5e 68 68 76 6d 2f 27 2c 0a 27 2f 5e 65 78 74 2f 27 2c 0a 27 2f 5e 6c 69 hp/',.'/^hhvm/',.'/^ext/',.'/^li
8d920 62 2f 27 2c 0a 27 2f 5e 5c 44 2f 27 2c 0a 29 2c 0a 61 72 72 61 79 28 0a 27 30 2d 24 30 27 2c 0a b/',.'/^\D/',.),.array(.'0-$0',.
8d940 27 31 2d 24 30 27 2c 0a 27 32 2d 24 30 27 2c 0a 27 33 2d 24 30 27 2c 0a 27 34 2d 24 30 27 2c 0a '1-$0',.'2-$0',.'3-$0',.'4-$0',.
8d960 29 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 35 2d ),.$requirement.);.}..return.'5-
8d980 27 2e 24 72 65 71 75 69 72 65 6d 65 6e 74 3b 0a 7d 3b 0a 0a 75 6b 73 6f 72 74 28 24 70 61 63 6b '.$requirement;.};..uksort($pack
8d9a0 61 67 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 72 ages,.function.($a,.$b).use.($pr
8d9c0 65 66 69 78 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 6e 61 74 63 6d 70 28 24 70 72 65 66 69 78 efix).{.return.strnatcmp($prefix
8d9e0 28 24 61 29 2c 20 24 70 72 65 66 69 78 28 24 62 29 29 3b 0a 7d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 ($a),.$prefix($b));.});.}..publi
8da00 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 c.function.addRepository($name,.
8da20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e $config).{.return.$this->addSubN
8da40 6f 64 65 28 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 ode('repositories',.$name,.$conf
8da60 69 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 ig);.}..public.function.removeRe
8da80 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e pository($name).{.return.$this->
8daa0 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 20 24 6e removeSubNode('repositories',.$n
8dac0 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 ame);.}..public.function.addConf
8dae0 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 igSetting($name,.$value).{.retur
8db00 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e n.$this->addSubNode('config',.$n
8db20 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ame,.$value);.}..public.function
8db40 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 .removeConfigSetting($name).{.re
8db60 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 turn.$this->removeSubNode('confi
8db80 67 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 g',.$name);.}..public.function.a
8dba0 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 ddProperty($name,.$value).{.if.(
8dbc0 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 substr($name,.0,.6).===.'extra.'
8dbe0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 65 78 ).{.return.$this->addSubNode('ex
8dc00 74 72 61 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 36 29 2c 20 24 76 61 6c 75 65 29 3b tra',.substr($name,.6),.$value);
8dc20 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 .}..if.(substr($name,.0,.8).===.
8dc40 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 'scripts.').{.return.$this->addS
8dc60 75 62 4e 6f 64 65 28 27 73 63 72 69 70 74 73 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 ubNode('scripts',.substr($name,.
8dc80 38 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 8),.$value);.}..return.$this->ad
8dca0 64 4d 61 69 6e 4b 65 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c dMainKey($name,.$value);.}..publ
8dcc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 ic.function.removeProperty($name
8dce0 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 ).{.if.(substr($name,.0,.6).===.
8dd00 27 65 78 74 72 61 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 'extra.').{.return.$this->remove
8dd20 53 75 62 4e 6f 64 65 28 27 65 78 74 72 61 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 36 SubNode('extra',.substr($name,.6
8dd40 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 38 29 20 3d ));.}..if.(substr($name,.0,.8).=
8dd60 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 ==.'scripts.').{.return.$this->r
8dd80 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 73 63 72 69 70 74 73 27 2c 20 73 75 62 73 74 72 28 24 emoveSubNode('scripts',.substr($
8dda0 6e 61 6d 65 2c 20 38 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f name,.8));.}..return.$this->remo
8ddc0 76 65 4d 61 69 6e 4b 65 79 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 veMainKey($name);.}..public.func
8dde0 74 69 6f 6e 20 61 64 64 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 tion.addSubNode($mainNode,.$name
8de00 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a ,.$value).{.$decoded.=.JsonFile:
8de20 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 24 73 :parseJson($this->contents);..$s
8de40 75 62 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 69 ubName.=.null;.if.(in_array($mai
8de60 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c 20 27 65 78 74 72 61 27 2c 20 nNode,.array('config',.'extra',.
8de80 27 73 63 72 69 70 74 73 27 29 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 'scripts')).&&.false.!==.strpos(
8dea0 24 6e 61 6d 65 2c 20 27 2e 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 73 75 62 4e $name,.'.')).{.list($name,.$subN
8dec0 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d ame).=.explode('.',.$name,.2);.}
8dee0 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 ....if.(!isset($decoded[$mainNod
8df00 65 5d 29 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a e])).{.if.($subName.!==.null).{.
8df20 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 $this->addMainKey($mainNode,.arr
8df40 61 79 28 24 6e 61 6d 65 20 3d 3e 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 ay($name.=>.array($subName.=>.$v
8df60 61 6c 75 65 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e alue)));.}.else.{.$this->addMain
8df80 4b 65 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 20 3d 3e 20 24 76 Key($mainNode,.array($name.=>.$v
8dfa0 61 6c 75 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6e 6f alue));.}..return.true;.}....$no
8dfc0 64 65 52 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 deRegex.=.'{'.self::$DEFINES.'^(
8dfe0 3f 50 3c 73 74 61 72 74 3e 20 5c 73 2a 20 5c 7b 20 5c 73 2a 20 28 3f 3a 20 28 3f 26 73 74 72 69 ?P<start>.\s*.\{.\s*.(?:.(?&stri
8e000 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 2c 20 5c 73 2a 20 29 2a 3f ng).\s*.:.(?&json).\s*.,.\s*.)*?
8e020 27 2e 0a 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 '..preg_quote(JsonFile::encode($
8e040 6d 61 69 6e 4e 6f 64 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e mainNode)).'\s*:\s*)(?P<content>
8e060 28 3f 26 6f 62 6a 65 63 74 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 0a 74 72 79 (?&object))(?P<end>.*)}sx';..try
8e080 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 6e 6f 64 65 52 65 .{.if.(!$this->pregMatch($nodeRe
8e0a0 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b gex,.$this->contents,.$match)).{
8e0c0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 .return.false;.}.}.catch.(\Runti
8e0e0 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 meException.$e).{.if.($e->getCod
8e100 65 28 29 20 3d 3d 3d 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 e().===.PREG_BACKTRACK_LIMIT_ERR
8e120 4f 52 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a OR).{.return.false;.}.throw.$e;.
8e140 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d }..$children.=.$match['content']
8e160 3b 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 65 6e 29 ;...if.(!@json_decode($children)
8e180 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 ).{.return.false;.}..$that.=.$th
8e1a0 69 73 3b 0a 0a 0a 20 24 63 68 69 6c 64 52 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 is;....$childRegex.=.'{'.self::$
8e1c0 44 45 46 49 4e 45 53 2e 27 28 3f 50 3c 73 74 61 72 74 3e 22 27 2e 70 72 65 67 5f 71 75 6f 74 65 DEFINES.'(?P<start>"'.preg_quote
8e1e0 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 28 3f ($name).'"\s*:\s*)(?P<content>(?
8e200 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2c 3f 29 7d 78 27 3b 0a 69 66 20 28 24 74 68 69 73 &json))(?P<end>,?)}x';.if.($this
8e220 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 63 68 69 6c 64 52 65 67 65 78 2c 20 24 63 68 69 6c 64 72 ->pregMatch($childRegex,.$childr
8e240 65 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 72 65 en,.$matches)).{.$children.=.pre
8e260 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 63 68 69 6c 64 52 65 67 65 78 2c 20 g_replace_callback($childRegex,.
8e280 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 75 62 4e 61 6d function.($matches).use.($subNam
8e2a0 65 2c 20 24 76 61 6c 75 65 2c 20 24 74 68 61 74 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 e,.$value,.$that).{.if.($subName
8e2c0 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f .!==.null).{.$curVal.=.json_deco
8e2e0 64 65 28 24 6d 61 74 63 68 65 73 5b 27 63 6f 6e 74 65 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a 69 de($matches['content'],.true);.i
8e300 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 63 75 72 56 61 6c 29 29 20 7b 0a 24 63 75 72 56 61 6c f.(!is_array($curVal)).{.$curVal
8e320 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 63 75 72 56 61 6c 5b 24 73 75 62 4e 61 6d 65 5d 20 .=.array();.}.$curVal[$subName].
8e340 3d 20 24 76 61 6c 75 65 3b 0a 24 76 61 6c 75 65 20 3d 20 24 63 75 72 56 61 6c 3b 0a 7d 0a 0a 72 =.$value;.$value.=.$curVal;.}..r
8e360 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 74 68 61 74 2d eturn.$matches['start']...$that-
8e380 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 >format($value,.1)...$matches['e
8e3a0 6e 64 27 5d 3b 0a 7d 2c 20 24 63 68 69 6c 64 72 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 nd'];.},.$children);.}.else.{.$t
8e3c0 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 7b 20 5c 73 2a 3f 20 28 3f 50 3c 63 6f 6e his->pregMatch('#^{.\s*?.(?P<con
8e3e0 74 65 6e 74 3e 5c 53 2b 2e 2a 3f 29 3f 20 28 3f 50 3c 74 72 61 69 6c 69 6e 67 73 70 61 63 65 3e tent>\S+.*?)?.(?P<trailingspace>
8e400 5c 73 2a 29 20 7d 24 23 73 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 29 3b \s*).}$#sx',.$children,.$match);
8e420 0a 0a 24 77 68 69 74 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 ..$whitespace.=.'';.if.(!empty($
8e440 6d 61 74 63 68 5b 27 74 72 61 69 6c 69 6e 67 73 70 61 63 65 27 5d 29 29 20 7b 0a 24 77 68 69 74 match['trailingspace'])).{.$whit
8e460 65 73 70 61 63 65 20 3d 20 24 6d 61 74 63 68 5b 27 74 72 61 69 6c 69 6e 67 73 70 61 63 65 27 5d espace.=.$match['trailingspace']
8e480 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 ;.}..if.(!empty($match['content'
8e4a0 5d 29 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 ])).{.if.($subName.!==.null).{.$
8e4c0 76 61 6c 75 65 20 3d 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 value.=.array($subName.=>.$value
8e4e0 29 3b 0a 7d 0a 0a 0a 20 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 );.}....$children.=.preg_replace
8e500 28 0a 27 23 27 2e 24 77 68 69 74 65 73 70 61 63 65 2e 27 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 (.'#'.$whitespace.'}$#',.addcsla
8e520 73 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 shes(','...$this->newline...$thi
8e540 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e s->indent...$this->indent...Json
8e560 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6e 61 6d 65 29 2e 27 3a 20 27 2e 24 74 68 69 73 2d 3e File::encode($name).':.'.$this->
8e580 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 77 68 69 74 65 73 70 61 63 65 20 format($value,.1)...$whitespace.
8e5a0 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 63 68 69 6c 64 72 65 6e 0a 29 3b 0a 7d 20 65 6c ..'}',.'\\$'),.$children.);.}.el
8e5c0 73 65 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 76 se.{.if.($subName.!==.null).{.$v
8e5e0 61 6c 75 65 20 3d 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 alue.=.array($subName.=>.$value)
8e600 3b 0a 7d 0a 0a 0a 20 24 63 68 69 6c 64 72 65 6e 20 3d 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e ;.}....$children.=.'{'...$this->
8e620 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d newline...$this->indent...$this-
8e640 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6e 61 6d 65 >indent...JsonFile::encode($name
8e660 29 2e 27 3a 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 ).':.'.$this->format($value,.1).
8e680 2e 20 24 77 68 69 74 65 73 70 61 63 65 20 2e 20 27 7d 27 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d ..$whitespace...'}';.}.}..$this-
8e6a0 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 >contents.=.preg_replace_callbac
8e6c0 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 75 73 65 20 k($nodeRegex,.function.($m).use.
8e6e0 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 5b 27 73 74 61 72 74 27 5d ($children).{.return.$m['start']
8e700 20 2e 20 24 63 68 69 6c 64 72 65 6e 20 2e 20 24 6d 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 ...$children...$m['end'];.},.$th
8e720 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a is->contents);..return.true;.}..
8e740 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 24 6d public.function.removeSubNode($m
8e760 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f ainNode,.$name).{.$decoded.=.Jso
8e780 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 nFile::parseJson($this->contents
8e7a0 29 3b 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f );....if.(empty($decoded[$mainNo
8e7c0 64 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 de])).{.return.true;.}....$nodeR
8e7e0 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c egex.=.'{'.self::$DEFINES.'^(?P<
8e800 73 74 61 72 74 3e 20 5c 73 2a 20 5c 7b 20 5c 73 2a 20 28 3f 3a 20 28 3f 26 73 74 72 69 6e 67 29 start>.\s*.\{.\s*.(?:.(?&string)
8e820 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 2c 20 5c 73 2a 20 29 2a 3f 27 2e 0a .\s*.:.(?&json).\s*.,.\s*.)*?'..
8e840 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6d 61 69 preg_quote(JsonFile::encode($mai
8e860 6e 4e 6f 64 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 28 3f 26 nNode)).'\s*:\s*)(?P<content>(?&
8e880 6f 62 6a 65 63 74 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 74 72 79 20 7b 0a 69 object))(?P<end>.*)}sx';.try.{.i
8e8a0 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 6e 6f 64 65 52 65 67 65 78 2c f.(!$this->pregMatch($nodeRegex,
8e8c0 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 .$this->contents,.$match)).{.ret
8e8e0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 urn.false;.}.}.catch.(\RuntimeEx
8e900 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 ception.$e).{.if.($e->getCode().
8e920 3d 3d 3d 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 20 ===.PREG_BACKTRACK_LIMIT_ERROR).
8e940 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 {.return.false;.}.throw.$e;.}..$
8e960 63 68 69 6c 64 72 65 6e 20 3d 20 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d 3b 0a 0a 0a children.=.$match['content'];...
8e980 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 65 6e 2c 20 74 72 .if.(!@json_decode($children,.tr
8e9a0 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 75 62 4e 61 6d 65 ue)).{.return.false;.}..$subName
8e9c0 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c .=.null;.if.(in_array($mainNode,
8e9e0 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c 20 27 65 78 74 72 61 27 2c 20 27 73 63 72 69 70 .array('config',.'extra',.'scrip
8ea00 74 73 27 29 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c ts')).&&.false.!==.strpos($name,
8ea20 20 27 2e 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 29 20 3d .'.')).{.list($name,.$subName).=
8ea40 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 0a 20 69 66 .explode('.',.$name,.2);.}....if
8ea60 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 5b 24 6e 61 .(!isset($decoded[$mainNode][$na
8ea80 6d 65 5d 29 20 7c 7c 20 28 24 73 75 62 4e 61 6d 65 20 26 26 20 21 69 73 73 65 74 28 24 64 65 63 me]).||.($subName.&&.!isset($dec
8eaa0 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d oded[$mainNode][$name][$subName]
8eac0 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 ))).{.return.true;.}....if.($thi
8eae0 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 7b 22 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 s->pregMatch('{"'.preg_quote($na
8eb00 6d 65 29 2e 27 22 5c 73 2a 3a 7d 69 27 2c 20 24 63 68 69 6c 64 72 65 6e 29 29 20 7b 0a 0a 20 69 me).'"\s*:}i',.$children)).{...i
8eb20 66 20 28 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 f.(preg_match_all('{'.self::$DEF
8eb40 49 4e 45 53 2e 27 22 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a INES.'"'.preg_quote($name).'"\s*
8eb60 3a 5c 73 2a 28 3f 3a 28 3f 26 6a 73 6f 6e 29 29 7d 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 :\s*(?:(?&json))}x',.$children,.
8eb80 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 27 27 3b 0a 66 6f $matches)).{.$bestMatch.=.'';.fo
8eba0 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a reach.($matches[0].as.$match).{.
8ebc0 69 66 20 28 73 74 72 6c 65 6e 28 24 62 65 73 74 4d 61 74 63 68 29 20 3c 20 73 74 72 6c 65 6e 28 if.(strlen($bestMatch).<.strlen(
8ebe0 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 24 6d 61 74 63 68 3b 0a $match)).{.$bestMatch.=.$match;.
8ec00 7d 0a 7d 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 }.}.$childrenClean.=.preg_replac
8ec20 65 28 27 7b 2c 5c 73 2a 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 63 68 29 e('{,\s*'.preg_quote($bestMatch)
8ec40 2e 27 7d 69 27 2c 20 27 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 .'}i',.'',.$children,.-1,.$count
8ec60 29 3b 0a 69 66 20 28 31 20 21 3d 3d 20 24 63 6f 75 6e 74 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e );.if.(1.!==.$count).{.$children
8ec80 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 27 2e 70 72 65 67 5f 71 75 Clean.=.preg_replace('{'.preg_qu
8eca0 6f 74 65 28 24 62 65 73 74 4d 61 74 63 68 29 2e 27 5c 73 2a 2c 3f 5c 73 2a 7d 69 27 2c 20 27 27 ote($bestMatch).'\s*,?\s*}i',.''
8ecc0 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 ,.$childrenClean,.-1,.$count);.i
8ece0 66 20 28 31 20 21 3d 3d 20 24 63 6f 75 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b f.(1.!==.$count).{.return.false;
8ed00 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d .}.}.}.}.else.{.$childrenClean.=
8ed20 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 .$children;.}....$this->pregMatc
8ed40 68 28 27 23 5e 7b 20 5c 73 2a 3f 20 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 5c 53 2b 2e 2a 3f 29 3f h('#^{.\s*?.(?P<content>\S+.*?)?
8ed60 20 28 3f 50 3c 74 72 61 69 6c 69 6e 67 73 70 61 63 65 3e 5c 73 2a 29 20 7d 24 23 73 78 27 2c 20 .(?P<trailingspace>\s*).}$#sx',.
8ed80 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 65 6d 70 $childrenClean,.$match);.if.(emp
8eda0 74 79 28 24 6d 61 74 63 68 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 29 20 7b 0a 24 6e 65 77 6c 69 6e ty($match['content'])).{.$newlin
8edc0 65 20 3d 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 74 e.=.$this->newline;.$indent.=.$t
8ede0 68 69 73 2d 3e 69 6e 64 65 6e 74 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 his->indent;..$this->contents.=.
8ee00 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 preg_replace_callback($nodeRegex
8ee20 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 69 6e 64 65 ,.function.($matches).use.($inde
8ee40 6e 74 2c 20 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b nt,.$newline).{.return.$matches[
8ee60 27 73 74 61 72 74 27 5d 20 2e 20 27 7b 27 20 2e 20 24 6e 65 77 6c 69 6e 65 20 2e 20 24 69 6e 64 'start']...'{'...$newline...$ind
8ee80 65 6e 74 20 2e 20 27 7d 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 ent...'}'...$matches['end'];.},.
8eea0 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 73 75 62 4e 61 6d $this->contents);....if.($subNam
8eec0 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 e.!==.null).{.$curVal.=.json_dec
8eee0 6f 64 65 28 24 63 68 69 6c 64 72 65 6e 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 ode($children,.true);.unset($cur
8ef00 56 61 6c 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 64 Val[$name][$subName]);.$this->ad
8ef20 64 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 63 75 72 56 dSubNode($mainNode,.$name,.$curV
8ef40 61 6c 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 al[$name]);.}..return.true;.}..$
8ef60 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 that.=.$this;.$this->contents.=.
8ef80 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 preg_replace_callback($nodeRegex
8efa0 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 74 68 61 74 ,.function.($matches).use.($that
8efc0 2c 20 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 ,.$name,.$subName,.$childrenClea
8efe0 6e 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 n).{.if.($subName.!==.null).{.$c
8f000 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6d 61 74 63 68 65 73 5b 27 63 6f urVal.=.json_decode($matches['co
8f020 6e 74 65 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 61 6c 5b 24 6e ntent'],.true);.unset($curVal[$n
8f040 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 ame][$subName]);.$childrenClean.
8f060 3d 20 24 74 68 61 74 2d 3e 66 6f 72 6d 61 74 28 24 63 75 72 56 61 6c 2c 20 30 29 3b 0a 7d 0a 0a =.$that->format($curVal,.0);.}..
8f080 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 63 68 69 6c return.$matches['start']...$chil
8f0a0 64 72 65 6e 43 6c 65 61 6e 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 drenClean...$matches['end'];.},.
8f0c0 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a $this->contents);..return.true;.
8f0e0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4d 61 69 6e 4b 65 79 28 24 6b }..public.function.addMainKey($k
8f100 65 79 2c 20 24 63 6f 6e 74 65 6e 74 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 ey,.$content).{.$decoded.=.JsonF
8f120 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b ile::parseJson($this->contents);
8f140 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 63 6f 6e 74 65 .$content.=.$this->format($conte
8f160 6e 74 29 3b 0a 0a 0a 20 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 nt);....$regex.=.'{'.self::$DEFI
8f180 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 NES.'^(?P<start>\s*\{\s*(?:(?&st
8f1a0 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 ring)\s*:\s*(?&json)\s*,\s*)*?)'
8f1c0 2e 0a 27 28 3f 50 3c 6b 65 79 3e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 ..'(?P<key>'.preg_quote(JsonFile
8f1e0 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 29 2e 27 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 ::encode($key)).'\s*:\s*(?&json)
8f200 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 63 )(?P<end>.*)}sx';.if.(isset($dec
8f220 6f 64 65 64 5b 24 6b 65 79 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 oded[$key]).&&.$this->pregMatch(
8f240 24 72 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 $regex,.$this->contents,.$matche
8f260 73 29 29 20 7b 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d s)).{...if.(!@json_decode('{'.$m
8f280 61 74 63 68 65 73 5b 27 6b 65 79 27 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c atches['key'].'}')).{.return.fal
8f2a0 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 se;.}..$this->contents.=.$matche
8f2c0 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b s['start']...JsonFile::encode($k
8f2e0 65 79 29 2e 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e ey).':.'.$content...$matches['en
8f300 64 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 d'];..return.true;.}....if.($thi
8f320 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5b 5e 7b 5c 73 5d 28 5c 73 2a 29 5c 7d 24 23 27 2c s->pregMatch('#[^{\s](\s*)\}$#',
8f340 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 .$this->contents,.$match)).{.$th
8f360 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 27 is->contents.=.preg_replace(.'#'
8f380 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 27 .$match[1].'\}$#',.addcslashes('
8f3a0 2c 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 ,'...$this->newline...$this->ind
8f3c0 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a ent...JsonFile::encode($key)..':
8f3e0 20 27 2e 20 24 63 6f 6e 74 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 .'..$content...$this->newline...
8f400 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 0a 29 3b 0a '}',.'\\$'),.$this->contents.);.
8f420 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e .return.true;.}....$this->conten
8f440 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 5c 7d 24 23 27 2c 0a 61 64 64 63 ts.=.preg_replace(.'#\}$#',.addc
8f460 73 6c 61 73 68 65 73 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 slashes($this->indent...JsonFile
8f480 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e 20 ::encode($key)..':.'.$content...
8f4a0 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 74 $this->newline...'}',.'\\$'),.$t
8f4c0 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d his->contents.);..return.true;.}
8f4e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4d 61 69 6e 4b 65 79 28 ..public.function.removeMainKey(
8f500 24 6b 65 79 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 $key).{.$decoded.=.JsonFile::par
8f520 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 69 66 20 28 21 61 seJson($this->contents);..if.(!a
8f540 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 65 79 2c 20 24 64 65 63 6f 64 65 64 29 29 rray_key_exists($key,.$decoded))
8f560 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 72 65 67 65 78 20 3d 20 27 7b .{.return.true;.}....$regex.=.'{
8f580 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a '.self::$DEFINES.'^(?P<start>\s*
8f5a0 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e \{\s*(?:(?&string)\s*:\s*(?&json
8f5c0 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 3f 50 3c 72 65 6d 6f 76 61 6c 3e 27 2e 70 72 )\s*,\s*)*?)'..'(?P<removal>'.pr
8f5e0 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 29 eg_quote(JsonFile::encode($key))
8f600 2e 27 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 29 5c 73 2a 2c 3f 5c 73 2a 28 3f 50 3c 65 6e .'\s*:\s*(?&json))\s*,?\s*(?P<en
8f620 64 3e 2e 2a 29 7d 73 78 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 d>.*)}sx';.if.($this->pregMatch(
8f640 24 72 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 $regex,.$this->contents,.$matche
8f660 73 29 29 20 7b 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d s)).{...if.(!@json_decode('{'.$m
8f680 61 74 63 68 65 73 5b 27 72 65 6d 6f 76 61 6c 27 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e atches['removal'].'}')).{.return
8f6a0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 2c 5c .false;.}....if.(preg_match('#,\
8f6c0 73 2a 24 23 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 29 20 26 26 20 70 72 65 s*$#',.$matches['start']).&&.pre
8f6e0 67 5f 6d 61 74 63 68 28 27 23 5e 5c 7d 24 23 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 g_match('#^\}$#',.$matches['end'
8f700 5d 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 3d 20 72 74 72 69 6d 28 ])).{.$matches['start'].=.rtrim(
8f720 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 2c 28 5c 73 2a 29 24 23 27 2c 20 27 24 31 27 2c 20 preg_replace('#,(\s*)$#',.'$1',.
8f740 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 29 2c 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e $matches['start']),.$this->inden
8f760 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 t);.}..$this->contents.=.$matche
8f780 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 69 66 s['start']...$matches['end'];.if
8f7a0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 7b 5c 73 2a 5c 7d 5c 73 2a 24 23 27 2c 20 24 .(preg_match('#^\{\s*\}\s*$#',.$
8f7c0 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e this->contents)).{.$this->conten
8f7e0 74 73 20 3d 20 22 7b 5c 6e 7d 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a ts.=."{\n}";.}..return.true;.}..
8f800 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e return.false;.}..public.function
8f820 20 66 6f 72 6d 61 74 28 24 64 61 74 61 2c 20 24 64 65 70 74 68 20 3d 20 30 29 0a 7b 0a 69 66 20 .format($data,.$depth.=.0).{.if.
8f840 28 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 29 29 20 7b 0a 72 65 73 65 74 28 24 64 61 74 61 29 (is_array($data)).{.reset($data)
8f860 3b 0a 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 6b 65 79 28 24 64 61 74 61 29 29 29 20 7b ;..if.(is_numeric(key($data))).{
8f880 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 .foreach.($data.as.$key.=>.$val)
8f8a0 20 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 .{.$data[$key].=.$this->format($
8f8c0 76 61 6c 2c 20 24 64 65 70 74 68 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 5b 27 2e val,.$depth.+.1);.}..return.'['.
8f8e0 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 64 61 74 61 29 2e 27 5d 27 3b 0a 7d 0a 0a 24 6f 75 implode(',.',.$data).']';.}..$ou
8f900 74 20 3d 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 24 65 6c 65 6d 73 t.=.'{'...$this->newline;.$elems
8f920 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 6b .=.array();.foreach.($data.as.$k
8f940 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 24 65 6c 65 6d 73 5b 5d 20 3d 20 73 74 72 5f 72 65 70 ey.=>.$val).{.$elems[].=.str_rep
8f960 65 61 74 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 2c 20 24 64 65 70 74 68 20 2b 20 32 29 20 2e eat($this->indent,.$depth.+.2)..
8f980 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 24 74 .JsonFile::encode($key)..':.'.$t
8f9a0 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 2c 20 24 64 65 70 74 68 20 2b 20 31 29 3b 0a 7d his->format($val,.$depth.+.1);.}
8f9c0 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2e 24 74 68 69 ..return.$out...implode(','.$thi
8f9e0 73 2d 3e 6e 65 77 6c 69 6e 65 2c 20 24 65 6c 65 6d 73 29 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 s->newline,.$elems)...$this->new
8fa00 6c 69 6e 65 20 2e 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 2c line...str_repeat($this->indent,
8fa20 20 24 64 65 70 74 68 20 2b 20 31 29 20 2e 20 27 7d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 4a 73 .$depth.+.1)...'}';.}..return.Js
8fa40 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 onFile::encode($data);.}..protec
8fa60 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 0a 7b ted.function.detectIndenting().{
8fa80 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 7b 5e 28 5b 20 5c 74 5d 2b .if.($this->pregMatch('{^([.\t]+
8faa0 29 22 7d 6d 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 )"}m',.$this->contents,.$match))
8fac0 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 .{.$this->indent.=.$match[1];.}.
8fae0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 3d 20 27 20 20 20 20 27 3b 0a 7d else.{.$this->indent.=.'....';.}
8fb00 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 67 4d 61 74 63 68 .}..protected.function.pregMatch
8fb20 28 24 72 65 2c 20 24 73 74 72 2c 20 26 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 29 ($re,.$str,.&$matches.=.array())
8fb40 0a 7b 0a 24 63 6f 75 6e 74 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 2c 20 24 73 74 72 .{.$count.=.preg_match($re,.$str
8fb60 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 0a 69 66 20 28 24 63 6f 75 6e 74 20 3d 3d 3d 20 66 61 6c ,.$matches);..if.($count.===.fal
8fb80 73 65 29 20 7b 0a 73 77 69 74 63 68 20 28 70 72 65 67 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 se).{.switch.(preg_last_error())
8fba0 20 7b 0a 63 61 73 65 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 .{.case.PREG_NO_ERROR:.throw.new
8fbc0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 .\RuntimeException('Failed.to.ex
8fbe0 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 27 2c 20 50 52 45 ecute.regex:.PREG_NO_ERROR',.PRE
8fc00 47 5f 4e 4f 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f G_NO_ERROR);.case.PREG_INTERNAL_
8fc20 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ERROR:.throw.new.\RuntimeExcepti
8fc40 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 on('Failed.to.execute.regex:.PRE
8fc60 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c G_INTERNAL_ERROR',.PREG_INTERNAL
8fc80 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d _ERROR);.case.PREG_BACKTRACK_LIM
8fca0 49 54 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 IT_ERROR:.throw.new.\RuntimeExce
8fcc0 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 ption('Failed.to.execute.regex:.
8fce0 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 PREG_BACKTRACK_LIMIT_ERROR',.PRE
8fd00 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 G_BACKTRACK_LIMIT_ERROR);.case.P
8fd20 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 REG_RECURSION_LIMIT_ERROR:.throw
8fd40 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 .new.\RuntimeException('Failed.t
8fd60 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f o.execute.regex:.PREG_RECURSION_
8fd80 4c 49 4d 49 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d LIMIT_ERROR',.PREG_RECURSION_LIM
8fda0 49 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 IT_ERROR);.case.PREG_BAD_UTF8_ER
8fdc0 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ROR:.throw.new.\RuntimeException
8fde0 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f ('Failed.to.execute.regex:.PREG_
8fe00 42 41 44 5f 55 54 46 38 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 BAD_UTF8_ERROR',.PREG_BAD_UTF8_E
8fe20 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 45 54 RROR);.case.PREG_BAD_UTF8_OFFSET
8fe40 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 _ERROR:.throw.new.\RuntimeExcept
8fe60 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 ion('Failed.to.execute.regex:.PR
8fe80 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 45 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f EG_BAD_UTF8_OFFSET_ERROR',.PREG_
8fea0 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 45 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 36 3a 20 BAD_UTF8_OFFSET_ERROR);.case.6:.
8fec0 0a 20 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 20 37 30 30 30 30 29 20 7b 0a ..if.(PHP_VERSION_ID.>.70000).{.
8fee0 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 throw.new.\RuntimeException('Fai
8ff00 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 4a 49 54 5f 53 led.to.execute.regex:.PREG_JIT_S
8ff20 54 41 43 4b 4c 49 4d 49 54 5f 45 52 52 4f 52 27 2c 20 36 29 3b 0a 7d 0a 0a 20 64 65 66 61 75 6c TACKLIMIT_ERROR',.6);.}...defaul
8ff40 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 t:.throw.new.\RuntimeException('
8ff60 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 55 6e 6b 6e 6f 77 6e Failed.to.execute.regex:.Unknown
8ff80 20 65 72 72 6f 72 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 75 6e 74 3b 0a 7d 0a .error');.}.}..return.$count;.}.
8ffa0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
8ffc0 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a poser\Json;..use.Exception;.....
8ffe0 63 6c 61 73 73 20 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 class.JsonValidationException.ex
90000 74 65 6e 64 73 20 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 tends.Exception.{.protected.$err
90020 6f 72 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ors;..public.function.__construc
90040 74 28 24 6d 65 73 73 61 67 65 2c 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 45 t($message,.$errors.=.array(),.E
90060 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 xception.$previous.=.null).{.$th
90080 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 65 72 72 6f 72 73 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f is->errors.=.$errors;.parent::__
900a0 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 70 72 65 76 69 6f 75 73 construct($message,.0,.$previous
900c0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 );.}..public.function.getErrors(
900e0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 3c 3f ).{.return.$this->errors;.}.}.<?
90100 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
90120 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c r\Package;..use.Composer\Semver\
90140 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f Constraint\Constraint;.use.Compo
90160 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 ser\Package\Version\VersionParse
90180 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 r;.....class.AliasPackage.extend
901a0 73 20 42 61 73 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 s.BasePackage.implements.Complet
901c0 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 ePackageInterface.{.protected.$v
901e0 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e ersion;.protected.$prettyVersion
90200 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f ;.protected.$dev;.protected.$roo
90220 74 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 tPackageAlias.=.false;.protected
90240 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 4f .$stability;...protected.$aliasO
90260 66 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 71 75 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 f;..protected.$requires;..protec
90280 74 65 64 20 24 64 65 76 52 65 71 75 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f ted.$devRequires;..protected.$co
902a0 6e 66 6c 69 63 74 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 3b 0a 0a nflicts;..protected.$provides;..
902c0 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6c 61 63 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 protected.$replaces;.........pub
902e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 lic.function.__construct(Package
90300 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 Interface.$aliasOf,.$version,.$p
90320 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 rettyVersion).{.parent::__constr
90340 75 63 74 28 24 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 73 uct($aliasOf->getName());..$this
90360 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 ->version.=.$version;.$this->pre
90380 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 24 74 68 ttyVersion.=.$prettyVersion;.$th
903a0 69 73 2d 3e 61 6c 69 61 73 4f 66 20 3d 20 24 61 6c 69 61 73 4f 66 3b 0a 24 74 68 69 73 2d 3e 73 is->aliasOf.=.$aliasOf;.$this->s
903c0 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 tability.=.VersionParser::parseS
903e0 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d tability($version);.$this->dev.=
90400 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 0a 66 6f .$this->stability.===.'dev';..fo
90420 72 65 61 63 68 20 28 61 72 72 61 79 28 27 72 65 71 75 69 72 65 73 27 2c 20 27 64 65 76 52 65 71 reach.(array('requires',.'devReq
90440 75 69 72 65 73 27 2c 20 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c uires',.'conflicts',.'provides',
90460 20 27 72 65 70 6c 61 63 65 73 27 29 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 .'replaces').as.$type).{.$links.
90480 3d 20 24 61 6c 69 61 73 4f 66 2d 3e 7b 27 67 65 74 27 20 2e 20 75 63 66 69 72 73 74 28 24 74 79 =.$aliasOf->{'get'...ucfirst($ty
904a0 70 65 29 7d 28 29 3b 0a 24 74 68 69 73 2d 3e 24 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 pe)}();.$this->$type.=.$this->re
904c0 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c 69 placeSelfVersionDependencies($li
904e0 6e 6b 73 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 nks,.$type);.}.}.....public.func
90500 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 4f 66 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 tion.getAliasOf().{.return.$this
90520 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->aliasOf;.}.....public.function
90540 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 .getVersion().{.return.$this->ve
90560 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rsion;.}.....public.function.get
90580 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 Stability().{.return.$this->stab
905a0 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ility;.}.....public.function.get
905c0 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e PrettyVersion().{.return.$this->
905e0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 prettyVersion;.}.....public.func
90600 74 69 6f 6e 20 69 73 44 65 76 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 tion.isDev().{.return.$this->dev
90620 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 ;.}.....public.function.getRequi
90640 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a res().{.return.$this->requires;.
90660 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 }.....public.function.getConflic
90680 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 3b 0a ts().{.return.$this->conflicts;.
906a0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 }.....public.function.getProvide
906c0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a s().{.return.$this->provides;.}.
906e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 ....public.function.getReplaces(
90700 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a ).{.return.$this->replaces;.}...
90720 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 72 65 73 ..public.function.getDevRequires
90740 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 3b 0a ().{.return.$this->devRequires;.
90760 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 }...........public.function.setR
90780 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e ootPackageAlias($value).{.return
907a0 20 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 76 61 6c 75 .$this->rootPackageAlias.=.$valu
907c0 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 6f 6f 74 e;.}......public.function.isRoot
907e0 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 PackageAlias().{.return.$this->r
90800 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ootPackageAlias;.}........protec
90820 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 ted.function.replaceSelfVersionD
90840 65 70 65 6e 64 65 6e 63 69 65 73 28 61 72 72 61 79 20 24 6c 69 6e 6b 73 2c 20 24 6c 69 6e 6b 54 ependencies(array.$links,.$linkT
90860 79 70 65 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 54 79 70 65 2c 20 61 ype).{.if.(in_array($linkType,.a
90880 72 72 61 79 28 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 72 rray('conflicts',.'provides',.'r
908a0 65 70 6c 61 63 65 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 20 3d 20 eplaces'),.true)).{.$newLinks.=.
908c0 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e array();.foreach.($links.as.$lin
908e0 6b 29 20 7b 0a 0a 20 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c k).{...if.('self.version'.===.$l
90900 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 7b 0a 24 6e ink->getPrettyConstraint()).{.$n
90920 65 77 4c 69 6e 6b 73 5b 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 ewLinks[].=.new.Link($link->getS
90940 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 ource(),.$link->getTarget(),.new
90960 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 .Constraint('=',.$this->version)
90980 2c 20 24 6c 69 6e 6b 54 79 70 65 2c 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f ,.$linkType,.$this->prettyVersio
909a0 6e 29 3b 0a 7d 0a 7d 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 n);.}.}.$links.=.array_merge($li
909c0 6e 6b 73 2c 20 24 6e 65 77 4c 69 6e 6b 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 nks,.$newLinks);.}.else.{.foreac
909e0 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a h.($links.as.$index.=>.$link).{.
90a00 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 if.('self.version'.===.$link->ge
90a20 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 69 tPrettyConstraint()).{.$links[$i
90a40 6e 64 65 78 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 ndex].=.new.Link($link->getSourc
90a60 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 20 43 6f 6e e(),.$link->getTarget(),.new.Con
90a80 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 6c straint('=',.$this->version),.$l
90aa0 69 6e 6b 54 79 70 65 2c 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a inkType,.$this->prettyVersion);.
90ac0 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 6b 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 }.}.}..return.$links;.}......pub
90ae0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getType().{.return.
90b00 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 $this->aliasOf->getType();.}..pu
90b20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 0a 7b 0a 72 blic.function.getTargetDir().{.r
90b40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 61 72 67 65 74 44 eturn.$this->aliasOf->getTargetD
90b60 69 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 ir();.}..public.function.getExtr
90b80 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 a().{.return.$this->aliasOf->get
90ba0 45 78 74 72 61 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 Extra();.}..public.function.setI
90bc0 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 nstallationSource($type).{.$this
90be0 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 ->aliasOf->setInstallationSource
90c00 28 24 74 79 70 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 ($type);.}..public.function.getI
90c20 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nstallationSource().{.return.$th
90c40 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 is->aliasOf->getInstallationSour
90c60 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 ce();.}..public.function.getSour
90c80 63 65 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 ceType().{.return.$this->aliasOf
90ca0 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ->getSourceType();.}..public.fun
90cc0 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ction.getSourceUrl().{.return.$t
90ce0 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 7d 0a his->aliasOf->getSourceUrl();.}.
90d00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 .public.function.getSourceUrls()
90d20 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 .{.return.$this->aliasOf->getSou
90d40 72 63 65 55 72 6c 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 rceUrls();.}..public.function.ge
90d60 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tSourceReference().{.return.$thi
90d80 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 s->aliasOf->getSourceReference()
90da0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 ;.}..public.function.setSourceRe
90dc0 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ference($reference).{.return.$th
90de0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 is->aliasOf->setSourceReference(
90e00 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $reference);.}..public.function.
90e20 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 72 65 74 setSourceMirrors($mirrors).{.ret
90e40 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 urn.$this->aliasOf->setSourceMir
90e60 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rors($mirrors);.}..public.functi
90e80 6f 6e 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 on.getSourceMirrors().{.return.$
90ea0 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 this->aliasOf->getSourceMirrors(
90ec0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 );.}..public.function.getDistTyp
90ee0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 e().{.return.$this->aliasOf->get
90f00 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 DistType();.}..public.function.g
90f20 65 74 44 69 73 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 etDistUrl().{.return.$this->alia
90f40 73 4f 66 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e sOf->getDistUrl();.}..public.fun
90f60 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ction.getDistUrls().{.return.$th
90f80 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 7d 0a 0a 70 is->aliasOf->getDistUrls();.}..p
90fa0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 ublic.function.getDistReference(
90fc0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 ).{.return.$this->aliasOf->getDi
90fe0 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f stReference();.}..public.functio
91000 6e 20 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b n.setDistReference($reference).{
91020 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 52 .return.$this->aliasOf->setDistR
91040 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 eference($reference);.}..public.
91060 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 0a 7b function.getDistSha1Checksum().{
91080 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 53 .return.$this->aliasOf->getDistS
910a0 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ha1Checksum();.}..public.functio
910c0 6e 20 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 n.setTransportOptions(array.$opt
910e0 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 ions).{.return.$this->aliasOf->s
91100 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a etTransportOptions($options);.}.
91120 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 .public.function.getTransportOpt
91140 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e ions().{.return.$this->aliasOf->
91160 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 getTransportOptions();.}..public
91180 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 .function.setDistMirrors($mirror
911a0 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 s).{.return.$this->aliasOf->setD
911c0 69 73 74 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 istMirrors($mirrors);.}..public.
911e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 function.getDistMirrors().{.retu
91200 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 rn.$this->aliasOf->getDistMirror
91220 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 s();.}..public.function.getScrip
91240 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 ts().{.return.$this->aliasOf->ge
91260 74 53 63 72 69 70 74 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tScripts();.}..public.function.g
91280 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 etLicense().{.return.$this->alia
912a0 73 4f 66 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e sOf->getLicense();.}..public.fun
912c0 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 ction.getAutoload().{.return.$th
912e0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 7d 0a 0a 70 is->aliasOf->getAutoload();.}..p
91300 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 0a ublic.function.getDevAutoload().
91320 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 65 76 41 {.return.$this->aliasOf->getDevA
91340 75 74 6f 6c 6f 61 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 utoload();.}..public.function.ge
91360 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tIncludePaths().{.return.$this->
91380 61 6c 69 61 73 4f 66 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 7d 0a 0a 70 aliasOf->getIncludePaths();.}..p
913a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 ublic.function.getRepositories()
913c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 .{.return.$this->aliasOf->getRep
913e0 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ositories();.}..public.function.
91400 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d getReleaseDate().{.return.$this-
91420 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b 0a 7d 0a 0a 70 >aliasOf->getReleaseDate();.}..p
91440 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 0a 7b 0a 72 ublic.function.getBinaries().{.r
91460 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 42 69 6e 61 72 69 65 eturn.$this->aliasOf->getBinarie
91480 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f s();.}..public.function.getKeywo
914a0 72 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 rds().{.return.$this->aliasOf->g
914c0 65 74 4b 65 79 77 6f 72 64 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e etKeywords();.}..public.function
914e0 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .getDescription().{.return.$this
91500 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a ->aliasOf->getDescription();.}..
91520 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 0a 7b 0a public.function.getHomepage().{.
91540 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 48 6f 6d 65 70 61 return.$this->aliasOf->getHomepa
91560 67 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 ge();.}..public.function.getSugg
91580 65 73 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e ests().{.return.$this->aliasOf->
915a0 67 65 74 53 75 67 67 65 73 74 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f getSuggests();.}..public.functio
915c0 6e 20 67 65 74 41 75 74 68 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 n.getAuthors().{.return.$this->a
915e0 6c 69 61 73 4f 66 2d 3e 67 65 74 41 75 74 68 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 liasOf->getAuthors();.}..public.
91600 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getSupport().{.return.$
91620 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a this->aliasOf->getSupport();.}..
91640 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 public.function.getNotificationU
91660 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 rl().{.return.$this->aliasOf->ge
91680 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 tNotificationUrl();.}..public.fu
916a0 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 0a 7b 0a 72 65 nction.getArchiveExcludes().{.re
916c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 72 63 68 69 76 65 45 turn.$this->aliasOf->getArchiveE
916e0 78 63 6c 75 64 65 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 xcludes();.}..public.function.is
91700 41 62 61 6e 64 6f 6e 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 Abandoned().{.return.$this->alia
91720 73 4f 66 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 sOf->isAbandoned();.}..public.fu
91740 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b nction.getReplacementPackage().{
91760 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 6c 61 .return.$this->aliasOf->getRepla
91780 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 cementPackage();.}..public.funct
917a0 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 ion.__toString().{.return.parent
917c0 3a 3a 5f 5f 74 6f 53 74 72 69 6e 67 28 29 2e 27 20 28 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 ::__toString().'.(alias.of.'.$th
917e0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2e 27 29 27 3b 0a 7d is->aliasOf->getVersion().')';.}
91800 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
91820 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 46 69 mposer\Package\Archiver;..use.Fi
91840 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 50 68 61 72 44 61 74 61 3b 0a 0a 63 6c 61 lterIterator;.use.PharData;..cla
91860 73 73 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 ss.ArchivableFilesFilter.extends
91880 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 69 72 73 20 .FilterIterator.{.private.$dirs.
918a0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 =.array();.....public.function.a
918c0 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 ccept().{.$file.=.$this->getInne
918e0 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 24 66 69 6c rIterator()->current();.if.($fil
91900 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 72 73 5b 5d 20 3d 20 28 73 e->isDir()).{.$this->dirs[].=.(s
91920 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a tring).$file;..return.false;.}..
91940 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 return.true;.}..public.function.
91960 61 64 64 45 6d 70 74 79 44 69 72 28 50 68 61 72 44 61 74 61 20 24 70 68 61 72 2c 20 24 73 6f 75 addEmptyDir(PharData.$phar,.$sou
91980 72 63 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 rces).{.foreach.($this->dirs.as.
919a0 24 66 69 6c 65 70 61 74 68 29 20 7b 0a 24 6c 6f 63 61 6c 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 $filepath).{.$localname.=.str_re
919c0 70 6c 61 63 65 28 24 73 6f 75 72 63 65 73 20 2e 20 22 2f 22 2c 20 27 27 2c 20 24 66 69 6c 65 70 place($sources..."/",.'',.$filep
919e0 61 74 68 29 3b 0a 24 70 68 61 72 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 61 6c 6e ath);.$phar->addEmptyDir($localn
91a00 61 6d 65 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ame);.}.}.}.<?php............nam
91a20 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 espace.Composer\Package\Archiver
91a40 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b ;..use.Composer\Util\Filesystem;
91a60 0a 75 73 65 20 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d .use.FilesystemIterator;.use.Sym
91a80 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 fony\Component\Finder\Finder;.us
91aa0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 e.Symfony\Component\Finder\SplFi
91ac0 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 61 62 6c leInfo;..........class.Archivabl
91ae0 65 46 69 6c 65 73 46 69 6e 64 65 72 20 65 78 74 65 6e 64 73 20 5c 46 69 6c 74 65 72 49 74 65 72 eFilesFinder.extends.\FilterIter
91b00 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6e 64 65 72 3b 0a 0a 0a 0a ator.{....protected.$finder;....
91b20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
91b40 28 24 73 6f 75 72 63 65 73 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e ($sources,.array.$excludes,.$ign
91b60 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 oreFilters.=.false).{.$fs.=.new.
91b80 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 2d 3e 6e Filesystem();..$sources.=.$fs->n
91ba0 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 24 69 67 ormalizePath($sources);..if.($ig
91bc0 6e 6f 72 65 46 69 6c 74 65 72 73 29 20 7b 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 noreFilters).{.$filters.=.array(
91be0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 0a 6e 65 );.}.else.{.$filters.=.array(.ne
91c00 77 20 48 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 w.HgExcludeFilter($sources),.new
91c20 20 47 69 74 45 78 63 6c 75 64 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 .GitExcludeFilter($sources),.new
91c40 20 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 64 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 2c .ComposerExcludeFilter($sources,
91c60 20 24 65 78 63 6c 75 64 65 73 29 2c 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 .$excludes),.);.}..$this->finder
91c80 20 3d 20 6e 65 77 20 46 69 6e 64 65 72 28 29 3b 0a 0a 24 66 69 6c 74 65 72 20 3d 20 66 75 6e 63 .=.new.Finder();..$filter.=.func
91ca0 74 69 6f 6e 20 28 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 20 75 73 65 20 28 24 tion.(\SplFileInfo.$file).use.($
91cc0 73 6f 75 72 63 65 73 2c 20 24 66 69 6c 74 65 72 73 2c 20 24 66 73 29 20 7b 0a 69 66 20 28 24 66 sources,.$filters,.$fs).{.if.($f
91ce0 69 6c 65 2d 3e 69 73 4c 69 6e 6b 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 66 69 6c 65 2d 3e 67 ile->isLink().&&.strpos($file->g
91d00 65 74 4c 69 6e 6b 54 61 72 67 65 74 28 29 2c 20 24 73 6f 75 72 63 65 73 29 20 21 3d 3d 20 30 29 etLinkTarget(),.$sources).!==.0)
91d20 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 6c 61 74 69 76 65 50 61 74 .{.return.false;.}..$relativePat
91d40 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 5e 27 2e 70 72 65 67 5f 71 75 6f 74 h.=.preg_replace(.'#^'.preg_quot
91d60 65 28 24 73 6f 75 72 63 65 73 2c 20 27 23 27 29 2e 27 23 27 2c 0a 27 27 2c 0a 24 66 73 2d 3e 6e e($sources,.'#').'#',.'',.$fs->n
91d80 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 ormalizePath($file->getRealPath(
91da0 29 29 0a 29 3b 0a 0a 24 65 78 63 6c 75 64 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 )).);..$exclude.=.false;.foreach
91dc0 20 28 24 66 69 6c 74 65 72 73 20 61 73 20 24 66 69 6c 74 65 72 29 20 7b 0a 24 65 78 63 6c 75 64 .($filters.as.$filter).{.$exclud
91de0 65 20 3d 20 24 66 69 6c 74 65 72 2d 3e 66 69 6c 74 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 e.=.$filter->filter($relativePat
91e00 68 2c 20 24 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 65 78 63 6c 75 64 h,.$exclude);.}..return.!$exclud
91e20 65 3b 0a 7d 3b 0a 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 66 69 6c 74 65 72 e;.};..if.(method_exists($filter
91e40 2c 20 27 62 69 6e 64 54 6f 27 29 29 20 7b 0a 24 66 69 6c 74 65 72 20 3d 20 24 66 69 6c 74 65 72 ,.'bindTo')).{.$filter.=.$filter
91e60 2d 3e 62 69 6e 64 54 6f 28 6e 75 6c 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 ->bindTo(null);.}..$this->finder
91e80 0a 2d 3e 69 6e 28 24 73 6f 75 72 63 65 73 29 0a 2d 3e 66 69 6c 74 65 72 28 24 66 69 6c 74 65 72 .->in($sources).->filter($filter
91ea0 29 0a 2d 3e 69 67 6e 6f 72 65 56 43 53 28 74 72 75 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 ).->ignoreVCS(true).->ignoreDotF
91ec0 69 6c 65 73 28 66 61 6c 73 65 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 iles(false);..parent::__construc
91ee0 74 28 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 29 3b t($this->finder->getIterator());
91f00 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 0a .}..public.function.accept().{..
91f20 24 63 75 72 72 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 $current.=.$this->getInnerIterat
91f40 6f 72 28 29 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 21 24 63 75 72 72 65 6e 74 2d or()->current();..if.(!$current-
91f60 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 69 74 65 >isDir()).{.return.true;.}..$ite
91f80 72 61 74 6f 72 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 rator.=.new.FilesystemIterator($
91fa0 63 75 72 72 65 6e 74 2c 20 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 current,.FilesystemIterator::SKI
91fc0 50 5f 44 4f 54 53 29 3b 0a 0a 72 65 74 75 72 6e 20 21 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c P_DOTS);..return.!$iterator->val
91fe0 69 64 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 id();.}.}.<?php............names
92000 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a pace.Composer\Package\Archiver;.
92020 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 .use.Composer\Downloader\Downloa
92040 64 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 dManager;.use.Composer\Package\P
92060 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ackageInterface;.use.Composer\Pa
92080 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ckage\RootPackageInterface;.use.
920a0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f Composer\Util\Filesystem;.use.Co
920c0 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 mposer\Json\JsonFile;......class
920e0 20 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 .ArchiveManager.{.protected.$dow
92100 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 nloadManager;..protected.$archiv
92120 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 76 ers.=.array();.....protected.$ov
92140 65 72 77 72 69 74 65 46 69 6c 65 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 erwriteFiles.=.true;.....public.
92160 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 44 6f 77 6e 6c 6f 61 64 4d 61 6e function.__construct(DownloadMan
92180 61 67 65 72 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e ager.$downloadManager).{.$this->
921a0 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 downloadManager.=.$downloadManag
921c0 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 63 er;.}.....public.function.addArc
921e0 68 69 76 65 72 28 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 72 63 68 69 76 65 hiver(ArchiverInterface.$archive
92200 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 72 73 5b 5d 20 3d 20 24 61 72 63 68 69 r).{.$this->archivers[].=.$archi
92220 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ver;.}.........public.function.s
92240 65 74 4f 76 65 72 77 72 69 74 65 46 69 6c 65 73 28 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 etOverwriteFiles($overwriteFiles
92260 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 20 3d 20 24 6f 76 65 ).{.$this->overwriteFiles.=.$ove
92280 72 77 72 69 74 65 46 69 6c 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a rwriteFiles;..return.$this;.}...
922a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 ......public.function.getPackage
922c0 46 69 6c 65 6e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 Filename(PackageInterface.$packa
922e0 67 65 29 0a 7b 0a 24 6e 61 6d 65 50 61 72 74 73 20 3d 20 61 72 72 61 79 28 70 72 65 67 5f 72 65 ge).{.$nameParts.=.array(preg_re
92300 70 6c 61 63 65 28 27 23 5b 5e 61 2d 7a 30 2d 39 2d 5f 5d 23 69 27 2c 20 27 2d 27 2c 20 24 70 61 place('#[^a-z0-9-_]#i',.'-',.$pa
92320 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 ckage->getName()));..if.(preg_ma
92340 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 tch('{^[a-f0-9]{40}$}',.$package
92360 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 20 7b 0a 61 72 72 61 79 5f 70 ->getDistReference())).{.array_p
92380 75 73 68 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 ush($nameParts,.$package->getDis
923a0 74 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 tReference(),.$package->getDistT
923c0 79 70 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6e 61 6d ype());.}.else.{.array_push($nam
923e0 65 50 61 72 74 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 eParts,.$package->getPrettyVersi
92400 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 on(),.$package->getDistReference
92420 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 ());.}..if.($package->getSourceR
92440 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 6e 61 6d 65 50 61 72 74 73 5b 5d 20 3d 20 73 75 62 eference()).{.$nameParts[].=.sub
92460 73 74 72 28 73 68 61 31 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 str(sha1($package->getSourceRefe
92480 72 65 6e 63 65 28 29 29 2c 20 30 2c 20 36 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 69 6d 70 6c rence()),.0,.6);.}..$name.=.impl
924a0 6f 64 65 28 27 2d 27 2c 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 50 61 72 74 73 ode('-',.array_filter($nameParts
924c0 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 29 20 7b 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 ,.function.($p).{.return.!empty(
924e0 24 70 29 3b 0a 7d 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f $p);.}));..return.str_replace('/
92500 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ',.'-',.$name);.}...............
92520 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 50 61 63 6b 61 67 65 49 public.function.archive(PackageI
92540 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c 20 24 74 61 72 nterface.$package,.$format,.$tar
92560 67 65 74 44 69 72 2c 20 24 66 69 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 getDir,.$fileName.=.null,.$ignor
92580 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 66 eFilters.=.false).{.if.(empty($f
925a0 6f 72 6d 61 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ormat)).{.throw.new.\InvalidArgu
925c0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 46 6f 72 6d 61 74 20 6d 75 73 74 20 62 65 20 73 70 mentException('Format.must.be.sp
925e0 65 63 69 66 69 65 64 27 29 3b 0a 7d 0a 0a 0a 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 20 ecified');.}....$usableArchiver.
92600 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 72 =.null;.foreach.($this->archiver
92620 73 20 61 73 20 24 61 72 63 68 69 76 65 72 29 20 7b 0a 69 66 20 28 24 61 72 63 68 69 76 65 72 2d s.as.$archiver).{.if.($archiver-
92640 3e 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 >supports($format,.$package->get
92660 53 6f 75 72 63 65 54 79 70 65 28 29 29 29 20 7b 0a 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 SourceType())).{.$usableArchiver
92680 20 3d 20 24 61 72 63 68 69 76 65 72 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 .=.$archiver;.break;.}.}....if.(
926a0 6e 75 6c 6c 20 3d 3d 3d 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 29 20 7b 0a 74 68 72 6f null.===.$usableArchiver).{.thro
926c0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 w.new.\RuntimeException(sprintf(
926e0 27 4e 6f 20 61 72 63 68 69 76 65 72 20 66 6f 75 6e 64 20 74 6f 20 73 75 70 70 6f 72 74 20 25 73 'No.archiver.found.to.support.%s
92700 20 66 6f 72 6d 61 74 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 .format',.$format));.}..$filesys
92720 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 69 66 20 28 6e 75 6c 6c tem.=.new.Filesystem();.if.(null
92740 20 3d 3d 3d 20 24 66 69 6c 65 4e 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d .===.$fileName).{.$packageName.=
92760 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 24 70 61 63 6b .$this->getPackageFilename($pack
92780 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 66 age);.}.else.{.$packageName.=.$f
927a0 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a 0a 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 ileName;.}....$filesystem->ensur
927c0 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 eDirectoryExists($targetDir);.$t
927e0 61 72 67 65 74 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2e 27 2f 27 arget.=.realpath($targetDir).'/'
92800 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 .$packageName.'.'.$format;.$file
92820 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 system->ensureDirectoryExists(di
92840 72 6e 61 6d 65 28 24 74 61 72 67 65 74 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 rname($target));..if.(!$this->ov
92860 65 72 77 72 69 74 65 46 69 6c 65 73 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 erwriteFiles.&&.file_exists($tar
92880 67 65 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 69 66 20 28 24 get)).{.return.$target;.}..if.($
928a0 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e package.instanceof.RootPackageIn
928c0 74 65 72 66 61 63 65 29 20 7b 0a 24 73 6f 75 72 63 65 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 terface).{.$sourcePath.=.realpat
928e0 68 28 27 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 73 6f 75 72 63 65 50 61 74 68 20 3d h('.');.}.else.{...$sourcePath.=
92900 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 5f 61 .sys_get_temp_dir().'/composer_a
92920 72 63 68 69 76 65 27 2e 75 6e 69 71 69 64 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 rchive'.uniqid();.$filesystem->e
92940 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 nsureDirectoryExists($sourcePath
92960 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f );....$this->downloadManager->do
92980 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a wnload($package,.$sourcePath);..
929a0 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 ..if.(file_exists($composerJsonP
929c0 61 74 68 20 3d 20 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f ath.=.$sourcePath.'/composer.jso
929e0 6e 27 29 29 20 7b 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 n')).{.$jsonFile.=.new.JsonFile(
92a00 24 63 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 61 74 68 29 3b 0a 24 6a 73 6f 6e 44 61 74 61 20 3d 20 $composerJsonPath);.$jsonData.=.
92a20 24 6a 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6a $jsonFile->read();.if.(!empty($j
92a40 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 29 20 sonData['archive']['exclude'])).
92a60 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 24 {.$package->setArchiveExcludes($
92a80 6a 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b jsonData['archive']['exclude']);
92aa0 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 74 65 6d 70 54 61 72 67 65 74 20 3d 20 73 79 73 5f 67 65 74 5f .}.}.}....$tempTarget.=.sys_get_
92ac0 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 5f 61 72 63 68 69 76 65 27 2e 75 temp_dir().'/composer_archive'.u
92ae0 6e 69 71 69 64 28 29 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d niqid().'.'.$format;.$filesystem
92b00 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 ->ensureDirectoryExists(dirname(
92b20 24 74 65 6d 70 54 61 72 67 65 74 29 29 3b 0a 0a 24 61 72 63 68 69 76 65 50 61 74 68 20 3d 20 24 $tempTarget));..$archivePath.=.$
92b40 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 2d 3e 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 50 usableArchiver->archive($sourceP
92b60 61 74 68 2c 20 24 74 65 6d 70 54 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 24 70 61 63 6b ath,.$tempTarget,.$format,.$pack
92b80 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 2c 20 24 69 67 6e 6f age->getArchiveExcludes(),.$igno
92ba0 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 reFilters);.$filesystem->rename(
92bc0 24 61 72 63 68 69 76 65 50 61 74 68 2c 20 24 74 61 72 67 65 74 29 3b 0a 0a 0a 20 69 66 20 28 21 $archivePath,.$target);....if.(!
92be0 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 $package.instanceof.RootPackageI
92c00 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 nterface).{.$filesystem->removeD
92c20 69 72 65 63 74 6f 72 79 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 7d 0a 24 66 69 6c 65 73 79 irectory($sourcePath);.}.$filesy
92c40 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 28 24 74 65 6d 70 54 61 72 67 65 74 29 3b 0a 0a 72 65 74 75 stem->remove($tempTarget);..retu
92c60 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$target;.}.}.<?php...........
92c80 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 .namespace.Composer\Package\Arch
92ca0 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 41 72 63 68 69 76 65 72 49 6e iver;.......interface.ArchiverIn
92cc0 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 terface.{...........public.funct
92ce0 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 73 2c 20 24 74 61 72 67 65 74 2c 20 24 ion.archive($sources,.$target,.$
92d00 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 format,.array.$excludes.=.array(
92d20 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a ),.$ignoreFilters.=.false);.....
92d40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 .....public.function.supports($f
92d60 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ormat,.$sourceType);.}.<?php....
92d80 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ........namespace.Composer\Packa
92da0 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ge\Archiver;..use.Symfony\Compon
92dc0 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 ent\Finder;.....abstract.class.B
92de0 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 aseExcludeFilter.{....protected.
92e00 24 73 6f 75 72 63 65 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 63 6c $sourcePath;.....protected.$excl
92e20 75 64 65 50 61 74 74 65 72 6e 73 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e udePatterns;.....public.function
92e40 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 .__construct($sourcePath).{.$thi
92e60 73 2d 3e 73 6f 75 72 63 65 50 61 74 68 20 3d 20 24 73 6f 75 72 63 65 50 61 74 68 3b 0a 24 74 68 s->sourcePath.=.$sourcePath;.$th
92e80 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d is->excludePatterns.=.array();.}
92ea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 ............public.function.filt
92ec0 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 65 78 63 6c 75 64 65 29 0a 7b 0a 66 6f er($relativePath,.$exclude).{.fo
92ee0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 61 73 reach.($this->excludePatterns.as
92f00 20 24 70 61 74 74 65 72 6e 44 61 74 61 29 20 7b 0a 6c 69 73 74 28 24 70 61 74 74 65 72 6e 2c 20 .$patternData).{.list($pattern,.
92f20 24 6e 65 67 61 74 65 2c 20 24 73 74 72 69 70 4c 65 61 64 69 6e 67 53 6c 61 73 68 29 20 3d 20 24 $negate,.$stripLeadingSlash).=.$
92f40 70 61 74 74 65 72 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 73 74 72 69 70 4c 65 61 64 69 6e 67 53 patternData;..if.($stripLeadingS
92f60 6c 61 73 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 72 65 6c 61 74 69 76 65 lash).{.$path.=.substr($relative
92f80 50 61 74 68 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 72 65 6c 61 Path,.1);.}.else.{.$path.=.$rela
92fa0 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 tivePath;.}..if.(preg_match($pat
92fc0 74 65 72 6e 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 65 78 63 6c 75 64 65 20 3d 20 21 24 6e 65 67 tern,.$path)).{.$exclude.=.!$neg
92fe0 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 63 6c 75 64 65 3b 0a 7d 0a 0a 0a 0a ate;.}.}..return.$exclude;.}....
93000 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 69 ......protected.function.parseLi
93020 6e 65 73 28 61 72 72 61 79 20 24 6c 69 6e 65 73 2c 20 24 6c 69 6e 65 50 61 72 73 65 72 29 0a 7b nes(array.$lines,.$lineParser).{
93040 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 61 72 72 61 79 5f 6d 61 70 28 .return.array_filter(.array_map(
93060 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 75 73 65 20 28 24 6c 69 6e 65 50 61 72 73 .function.($line).use.($linePars
93080 65 72 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 0a 69 66 20 28 er).{.$line.=.trim($line);..if.(
930a0 21 24 6c 69 6e 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6c 69 6e 65 2c 20 27 23 !$line.||.0.===.strpos($line,.'#
930c0 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c ')).{.return.null;.}..return.cal
930e0 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 6c 69 6e 65 50 61 72 73 65 72 2c 20 24 6c 69 6e 65 29 3b l_user_func($lineParser,.$line);
93100 0a 7d 2c 0a 24 6c 69 6e 65 73 0a 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 74 65 72 6e .},.$lines.),.function.($pattern
93120 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 74 65 72 6e 20 21 3d 3d 20 6e 75 6c 6c 3b 0a 7d 0a ).{.return.$pattern.!==.null;.}.
93140 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 );.}.........protected.function.
93160 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 73 28 24 72 75 6c 65 73 29 0a 7b 0a 24 70 61 74 74 generatePatterns($rules).{.$patt
93180 65 72 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c 65 73 20 erns.=.array();.foreach.($rules.
931a0 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 70 61 74 74 65 72 6e 73 5b 5d 20 3d 20 24 74 68 69 73 2d as.$rule).{.$patterns[].=.$this-
931c0 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 72 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 >generatePattern($rule);.}..retu
931e0 72 6e 20 24 70 61 74 74 65 72 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 rn.$patterns;.}.........protecte
93200 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 72 75 6c 65 d.function.generatePattern($rule
93220 29 0a 7b 0a 24 6e 65 67 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 24 70 61 74 74 65 72 6e 20 3d 20 ).{.$negate.=.false;.$pattern.=.
93240 27 7b 27 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 26 26 20 24 72 75 6c 65 '{';..if.(strlen($rule).&&.$rule
93260 5b 30 5d 20 3d 3d 3d 20 27 21 27 29 20 7b 0a 24 6e 65 67 61 74 65 20 3d 20 74 72 75 65 3b 0a 24 [0].===.'!').{.$negate.=.true;.$
93280 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 rule.=.substr($rule,.1);.}..if.(
932a0 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 26 26 20 24 72 75 6c 65 5b 30 5d 20 3d 3d 3d 20 27 2f strlen($rule).&&.$rule[0].===.'/
932c0 27 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 5e 2f 27 3b 0a 24 72 75 6c 65 20 3d 20 73 ').{.$pattern..=.'^/';.$rule.=.s
932e0 75 62 73 74 72 28 24 72 75 6c 65 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 6c 65 ubstr($rule,.1);.}.elseif.(strle
93300 6e 28 24 72 75 6c 65 29 20 2d 20 31 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 72 75 6c 65 2c 20 27 n($rule).-.1.===.strpos($rule,.'
93320 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 2f 27 3b 0a 24 72 75 6c 65 20 3d 20 /')).{.$pattern..=.'/';.$rule.=.
93340 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 30 2c 20 2d 31 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 substr($rule,.0,.-1);.}.elseif.(
93360 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 72 75 6c 65 2c 20 27 2f 27 29 29 20 7b 0a false.===.strpos($rule,.'/')).{.
93380 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 2f 27 3b 0a 7d 0a 0a 0a 20 24 70 61 74 74 65 72 6e 20 2e $pattern..=.'/';.}....$pattern..
933a0 3d 20 73 75 62 73 74 72 28 46 69 6e 64 65 72 5c 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 72 =.substr(Finder\Glob::toRegex($r
933c0 75 6c 65 29 2c 20 32 2c 20 2d 32 29 20 2e 20 27 28 3f 3d 24 7c 2f 29 27 3b 0a 0a 72 65 74 75 72 ule),.2,.-2)...'(?=$|/)';..retur
933e0 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 20 2e 20 27 7d 27 2c 20 24 6e 65 67 61 74 65 2c n.array($pattern...'}',.$negate,
93400 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 .false);.}.}.<?php............na
93420 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 mespace.Composer\Package\Archive
93440 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 64 65 46 69 r;.......class.ComposerExcludeFi
93460 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b lter.extends.BaseExcludeFilter.{
93480 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
934a0 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 52 75 6c 65 ($sourcePath,.array.$excludeRule
934c0 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 s).{.parent::__construct($source
934e0 50 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 Path);.$this->excludePatterns.=.
93500 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 73 28 24 65 78 63 6c 75 64 65 $this->generatePatterns($exclude
93520 52 75 6c 65 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d Rules);.}.}.<?php............nam
93540 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 espace.Composer\Package\Archiver
93560 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 45 78 63 6c 75 64 65 46 69 6c 74 65 72 ;.........class.GitExcludeFilter
93580 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a .extends.BaseExcludeFilter.{....
935a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 ..public.function.__construct($s
935c0 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 ourcePath).{.parent::__construct
935e0 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 ($sourcePath);..if.(file_exists(
93600 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 29 29 20 7b 0a 24 74 $sourcePath.'/.gitignore')).{.$t
93620 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 his->excludePatterns.=.$this->pa
93640 72 73 65 4c 69 6e 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 rseLines(.file($sourcePath.'/.gi
93660 74 69 67 6e 6f 72 65 27 29 2c 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 47 69 tignore'),.array($this,.'parseGi
93680 74 49 67 6e 6f 72 65 4c 69 6e 65 27 29 0a 29 3b 0a 7d 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 tIgnoreLine').);.}.if.(file_exis
936a0 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 61 74 74 72 69 62 75 74 65 73 27 ts($sourcePath.'/.gitattributes'
936c0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 61 72 )).{.$this->excludePatterns.=.ar
936e0 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e ray_merge(.$this->excludePattern
93700 73 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 s,.$this->parseLines(.file($sour
93720 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 61 74 74 72 69 62 75 74 65 73 27 29 2c 0a 61 72 72 61 79 cePath.'/.gitattributes'),.array
93740 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 47 69 74 41 74 74 72 69 62 75 74 65 73 4c 69 6e 65 27 ($this,.'parseGitAttributesLine'
93760 29 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ).).);.}.}.........public.functi
93780 6f 6e 20 70 61 72 73 65 47 69 74 49 67 6e 6f 72 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 72 on.parseGitIgnoreLine($line).{.r
937a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 6c 69 eturn.$this->generatePattern($li
937c0 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 ne);.}.........public.function.p
937e0 61 72 73 65 47 69 74 41 74 74 72 69 62 75 74 65 73 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 arseGitAttributesLine($line).{.$
93800 70 61 72 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 23 5c 73 2b 23 27 2c 20 24 6c 69 6e parts.=.preg_split('#\s+#',.$lin
93820 65 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 72 74 73 29 20 3d 3d 20 32 20 26 26 20 24 e);..if.(count($parts).==.2.&&.$
93840 70 61 72 74 73 5b 31 5d 20 3d 3d 3d 20 27 65 78 70 6f 72 74 2d 69 67 6e 6f 72 65 27 29 20 7b 0a parts[1].===.'export-ignore').{.
93860 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 70 return.$this->generatePattern($p
93880 61 72 74 73 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f arts[0]);.}..return.null;.}.}.<?
938a0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
938c0 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 r\Package\Archiver;..use.Symfony
938e0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 \Component\Finder;.......class.H
93900 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 6c 75 gExcludeFilter.extends.BaseExclu
93920 64 65 46 69 6c 74 65 72 0a 7b 0a 63 6f 6e 73 74 20 48 47 5f 49 47 4e 4f 52 45 5f 52 45 47 45 58 deFilter.{.const.HG_IGNORE_REGEX
93940 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 48 47 5f 49 47 4e 4f 52 45 5f 47 4c 4f 42 20 3d 20 32 3b 0a .=.1;.const.HG_IGNORE_GLOB.=.2;.
93960 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 74 65 72 6e 4d 6f 64 65 3b 0a 0a 0a 0a .....protected.$patternMode;....
93980 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
939a0 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 sourcePath).{.parent::__construc
939c0 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d t($sourcePath);..$this->patternM
939e0 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 52 45 47 45 58 3b 0a 0a 69 66 ode.=.self::HG_IGNORE_REGEX;..if
93a00 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 68 67 69 .(file_exists($sourcePath.'/.hgi
93a20 67 6e 6f 72 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e gnore')).{.$this->excludePattern
93a40 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 s.=.$this->parseLines(.file($sou
93a60 72 63 65 50 61 74 68 2e 27 2f 2e 68 67 69 67 6e 6f 72 65 27 29 2c 0a 61 72 72 61 79 28 24 74 68 rcePath.'/.hgignore'),.array($th
93a80 69 73 2c 20 27 70 61 72 73 65 48 67 49 67 6e 6f 72 65 4c 69 6e 65 27 29 0a 29 3b 0a 7d 0a 7d 0a is,.'parseHgIgnoreLine').);.}.}.
93aa0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 48 67 49 ........public.function.parseHgI
93ac0 67 6e 6f 72 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 gnoreLine($line).{.if.(preg_matc
93ae0 68 28 27 23 5e 73 79 6e 74 61 78 5c 73 2a 3a 5c 73 2a 28 67 6c 6f 62 7c 72 65 67 65 78 70 29 24 h('#^syntax\s*:\s*(glob|regexp)$
93b00 23 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 6d 61 74 #',.$line,.$matches)).{.if.($mat
93b20 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 67 6c 6f 62 27 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 ches[1].===.'glob').{.$this->pat
93b40 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 47 4c 4f 42 3b ternMode.=.self::HG_IGNORE_GLOB;
93b60 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 .}.else.{.$this->patternMode.=.s
93b80 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 52 45 47 45 58 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 elf::HG_IGNORE_REGEX;.}..return.
93ba0 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 null;.}..if.($this->patternMode.
93bc0 3d 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 47 4c 4f 42 29 20 7b 0a 72 65 74 75 72 ==.self::HG_IGNORE_GLOB).{.retur
93be0 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 46 72 6f 6d 47 6c 6f 62 28 24 6c 69 6e 65 29 3b n.$this->patternFromGlob($line);
93c00 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 46 72 6f 6d 52 65 67 .}..return.$this->patternFromReg
93c20 65 78 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ex($line);.}.........protected.f
93c40 75 6e 63 74 69 6f 6e 20 70 61 74 74 65 72 6e 46 72 6f 6d 47 6c 6f 62 28 24 6c 69 6e 65 29 0a 7b unction.patternFromGlob($line).{
93c60 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 23 27 2e 73 75 62 73 74 72 28 46 69 6e 64 65 72 5c 47 6c .$pattern.=.'#'.substr(Finder\Gl
93c80 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 6c 69 6e 65 29 2c 20 32 2c 20 2d 31 29 2e 27 23 27 3b 0a ob::toRegex($line),.2,.-1).'#';.
93ca0 24 70 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5b 5e 2f 5d 2a 27 2c 20 $pattern.=.str_replace('[^/]*',.
93cc0 27 2e 2a 27 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 '.*',.$pattern);..return.array($
93ce0 70 61 74 74 65 72 6e 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a pattern,.false,.true);.}........
93d00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 74 65 72 6e 46 72 6f 6d 52 65 67 65 .public.function.patternFromRege
93d20 78 28 24 6c 69 6e 65 29 0a 7b 0a 0a 20 24 70 61 74 74 65 72 6e 20 3d 20 27 23 27 2e 70 72 65 67 x($line).{...$pattern.=.'#'.preg
93d40 5f 72 65 70 6c 61 63 65 28 27 2f 28 28 3f 3a 5c 5c 5c 5c 5c 5c 5c 5c 29 2a 29 28 5c 5c 5c 5c 3f _replace('/((?:\\\\\\\\)*)(\\\\?
93d60 29 23 2f 27 2c 20 27 5c 31 5c 32 5c 32 5c 5c 23 27 2c 20 24 6c 69 6e 65 29 2e 27 23 27 3b 0a 0a )#/',.'\1\2\2\\#',.$line).'#';..
93d80 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 2c 20 66 61 6c 73 65 2c 20 74 72 return.array($pattern,.false,.tr
93da0 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ue);.}.}.<?php............namesp
93dc0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a ace.Composer\Package\Archiver;..
93de0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 61 72 41 72 63 68 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e .....class.PharArchiver.implemen
93e00 74 73 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 ts.ArchiverInterface.{.protected
93e20 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 27 7a 69 70 27 20 .static.$formats.=.array(.'zip'.
93e40 3d 3e 20 5c 50 68 61 72 3a 3a 5a 49 50 2c 0a 27 74 61 72 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 =>.\Phar::ZIP,.'tar'.=>.\Phar::T
93e60 41 52 2c 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c 0a 27 74 61 72 AR,.'tar.gz'.=>.\Phar::TAR,.'tar
93e80 2e 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 .bz2'.=>.\Phar::TAR,.);..protect
93ea0 65 64 20 73 74 61 74 69 63 20 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 20 3d 20 61 72 72 ed.static.$compressFormats.=.arr
93ec0 61 79 28 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 47 5a 2c 0a 27 74 61 72 2e ay(.'tar.gz'.=>.\Phar::GZ,.'tar.
93ee0 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 42 5a 32 2c 0a 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 bz2'.=>.\Phar::BZ2,.);.....publi
93f00 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 73 2c 20 24 74 61 c.function.archive($sources,.$ta
93f20 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 20 3d rget,.$format,.array.$excludes.=
93f40 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 .array(),.$ignoreFilters.=.false
93f60 29 0a 7b 0a 24 73 6f 75 72 63 65 73 20 3d 20 72 65 61 6c 70 61 74 68 28 24 73 6f 75 72 63 65 73 ).{.$sources.=.realpath($sources
93f80 29 3b 0a 0a 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 74 29 29 20 );....if.(file_exists($target)).
93fa0 7b 0a 75 6e 6c 69 6e 6b 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 66 69 6c {.unlink($target);.}..try.{.$fil
93fc0 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 2c 20 30 2c 20 73 74 72 72 70 ename.=.substr($target,.0,.strrp
93fe0 6f 73 28 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 29 20 2d 20 31 29 3b 0a 0a 0a 20 69 66 os($target,.$format).-.1);....if
94000 20 28 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 .(isset(static::$compressFormats
94020 5b 24 66 6f 72 6d 61 74 5d 29 29 20 7b 0a 0a 20 24 74 61 72 67 65 74 20 3d 20 24 66 69 6c 65 6e [$format])).{...$target.=.$filen
94040 61 6d 65 20 2e 20 27 2e 74 61 72 27 3b 0a 7d 0a 0a 24 70 68 61 72 20 3d 20 6e 65 77 20 5c 50 68 ame...'.tar';.}..$phar.=.new.\Ph
94060 61 72 44 61 74 61 28 24 74 61 72 67 65 74 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 arData($target,.null,.null,.stat
94080 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 3b 0a 24 66 69 6c 65 73 20 3d ic::$formats[$format]);.$files.=
940a0 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 28 24 73 6f 75 72 .new.ArchivableFilesFinder($sour
940c0 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b ces,.$excludes,.$ignoreFilters);
940e0 0a 24 66 69 6c 65 73 4f 6e 6c 79 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 .$filesOnly.=.new.ArchivableFile
94100 73 46 69 6c 74 65 72 28 24 66 69 6c 65 73 29 3b 0a 24 70 68 61 72 2d 3e 62 75 69 6c 64 46 72 6f sFilter($files);.$phar->buildFro
94120 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 4f 6e 6c 79 2c 20 24 73 6f 75 72 63 65 73 29 3b mIterator($filesOnly,.$sources);
94140 0a 24 66 69 6c 65 73 4f 6e 6c 79 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 70 68 61 72 2c 20 .$filesOnly->addEmptyDir($phar,.
94160 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 63 $sources);..if.(isset(static::$c
94180 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 29 20 7b 0a 0a 20 69 66 ompressFormats[$format])).{...if
941a0 20 28 21 24 70 68 61 72 2d 3e 63 61 6e 43 6f 6d 70 72 65 73 73 28 73 74 61 74 69 63 3a 3a 24 63 .(!$phar->canCompress(static::$c
941c0 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 29 20 7b 0a 74 68 72 6f ompressFormats[$format])).{.thro
941e0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 w.new.\RuntimeException(sprintf(
94200 27 43 61 6e 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 20 74 6f 20 25 73 20 66 6f 72 6d 61 74 27 2c 'Can.not.compress.to.%s.format',
94220 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 0a 20 75 6e 6c 69 6e 6b 28 24 74 61 72 67 65 74 29 .$format));.}....unlink($target)
94240 3b 0a 0a 0a 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 73 28 73 74 61 74 69 63 3a 3a 24 63 6f ;....$phar->compress(static::$co
94260 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 3b 0a 0a 0a 20 24 74 61 72 mpressFormats[$format]);....$tar
94280 67 65 74 20 3d 20 24 66 69 6c 65 6e 61 6d 65 20 2e 20 27 2e 27 20 2e 20 24 66 6f 72 6d 61 74 3b get.=.$filename...'.'...$format;
942a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e .}..return.$target;.}.catch.(\Un
942c0 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 expectedValueException.$e).{.$me
942e0 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 ssage.=.sprintf(."Could.not.crea
94300 74 65 20 61 72 63 68 69 76 65 20 27 25 73 27 20 66 72 6f 6d 20 27 25 73 27 3a 20 25 73 22 2c 0a te.archive.'%s'.from.'%s':.%s",.
94320 24 74 61 72 67 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 $target,.$sources,.$e->getMessag
94340 65 28 29 0a 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 e().);..throw.new.\RuntimeExcept
94360 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 24 65 29 ion($message,.$e->getCode(),.$e)
94380 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 ;.}.}.....public.function.suppor
943a0 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 ts($format,.$sourceType).{.retur
943c0 6e 20 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 n.isset(static::$formats[$format
943e0 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ]);.}.}.<?php............namespa
94400 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 ce.Composer\Package\Archiver;..u
94420 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c se.ZipArchive;.use.Composer\Util
94440 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 5a 69 70 41 72 63 68 69 76 \Filesystem;.....class.ZipArchiv
94460 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a er.implements.ArchiverInterface.
94480 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 20 3d 20 61 72 {.protected.static.$formats.=.ar
944a0 72 61 79 28 0a 27 7a 69 70 27 20 3d 3e 20 31 2c 0a 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ray(.'zip'.=>.1,.);.....public.f
944c0 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 73 2c 20 24 74 61 72 67 65 unction.archive($sources,.$targe
944e0 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 20 3d 20 61 72 t,.$format,.array.$excludes.=.ar
94500 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b ray(),.$ignoreFilters.=.false).{
94520 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 73 6f 75 72 63 65 .$fs.=.new.Filesystem();.$source
94540 73 20 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 73 6f 75 72 63 65 73 29 s.=.$fs->normalizePath($sources)
94560 3b 0a 0a 24 7a 69 70 20 3d 20 6e 65 77 20 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 24 72 65 73 ;..$zip.=.new.ZipArchive();.$res
94580 20 3d 20 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 74 61 72 67 65 74 2c 20 5a 69 70 41 72 63 68 69 76 .=.$zip->open($target,.ZipArchiv
945a0 65 3a 3a 43 52 45 41 54 45 29 3b 0a 69 66 20 28 24 72 65 73 20 3d 3d 3d 20 74 72 75 65 29 20 7b e::CREATE);.if.($res.===.true).{
945c0 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e .$files.=.new.ArchivableFilesFin
945e0 64 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e 6f 72 65 der($sources,.$excludes,.$ignore
94600 46 69 6c 74 65 72 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 Filters);.foreach.($files.as.$fi
94620 6c 65 29 20 7b 0a 0a 24 66 69 6c 65 70 61 74 68 20 3d 20 73 74 72 74 72 28 24 66 69 6c 65 2d 3e le).{..$filepath.=.strtr($file->
94640 67 65 74 50 61 74 68 28 29 2e 22 2f 22 2e 24 66 69 6c 65 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 getPath()."/".$file->getFilename
94660 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 6c 6f 63 61 6c 6e 61 6d 65 20 3d 20 73 74 72 (),.'\\',.'/');.$localname.=.str
94680 5f 72 65 70 6c 61 63 65 28 24 73 6f 75 72 63 65 73 2e 27 2f 27 2c 20 27 27 2c 20 24 66 69 6c 65 _replace($sources.'/',.'',.$file
946a0 70 61 74 68 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 7a 69 path);.if.($file->isDir()).{.$zi
946c0 70 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 20 65 6c p->addEmptyDir($localname);.}.el
946e0 73 65 20 7b 0a 24 7a 69 70 2d 3e 61 64 64 46 69 6c 65 28 24 66 69 6c 65 70 61 74 68 2c 20 24 6c se.{.$zip->addFile($filepath,.$l
94700 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 ocalname);.}.}.if.($zip->close()
94720 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 24 6d 65 73 73 61 67 65 ).{.return.$target;.}.}.$message
94740 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 72 .=.sprintf(."Could.not.create.ar
94760 63 68 69 76 65 20 27 25 73 27 20 66 72 6f 6d 20 27 25 73 27 3a 20 25 73 22 2c 0a 24 74 61 72 67 chive.'%s'.from.'%s':.%s",.$targ
94780 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a 24 7a 69 70 2d 3e 67 65 74 53 74 61 74 75 73 53 74 72 et,.$sources,.$zip->getStatusStr
947a0 69 6e 67 28 29 0a 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ing().);.throw.new.\RuntimeExcep
947c0 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e tion($message);.}.....public.fun
947e0 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 ction.supports($format,.$sourceT
94800 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 66 6f 72 ype).{.return.isset(static::$for
94820 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 6d 70 72 65 73 mats[$format]).&&.$this->compres
94840 73 69 6f 6e 41 76 61 69 6c 61 62 6c 65 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 sionAvailable();.}..private.func
94860 74 69 6f 6e 20 63 6f 6d 70 72 65 73 73 69 6f 6e 41 76 61 69 6c 61 62 6c 65 28 29 0a 7b 0a 72 65 tion.compressionAvailable().{.re
94880 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 3b turn.class_exists('ZipArchive');
948a0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
948c0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c Composer\Package;..use.Composer\
948e0 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a Repository\RepositoryInterface;.
94900 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d use.Composer\Repository\Platform
94920 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 Repository;.......abstract.class
94940 20 42 61 73 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 61 63 6b 61 67 65 49 .BasePackage.implements.PackageI
94960 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 73 75 70 70 6f 72 nterface.{.public.static.$suppor
94980 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 27 72 65 71 75 69 72 65 27 20 tedLinkTypes.=.array(.'require'.
949a0 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 72 65 71 75 69 =>.array('description'.=>.'requi
949c0 72 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 27 29 2c 0a 27 res',.'method'.=>.'requires'),.'
949e0 63 6f 6e 66 6c 69 63 74 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 conflict'.=>.array('description'
94a00 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 63 6f .=>.'conflicts',.'method'.=>.'co
94a20 6e 66 6c 69 63 74 73 27 29 2c 0a 27 70 72 6f 76 69 64 65 27 20 3d 3e 20 61 72 72 61 79 28 27 64 nflicts'),.'provide'.=>.array('d
94a40 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 6d 65 74 68 escription'.=>.'provides',.'meth
94a60 6f 64 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 29 2c 0a 27 72 65 70 6c 61 63 65 27 20 3d 3e od'.=>.'provides'),.'replace'.=>
94a80 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 72 65 70 6c 61 63 65 .array('description'.=>.'replace
94aa0 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 70 6c 61 63 65 73 27 29 2c 0a 27 72 65 s',.'method'.=>.'replaces'),.'re
94ac0 71 75 69 72 65 2d 64 65 76 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e quire-dev'.=>.array('description
94ae0 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 20 28 66 6f 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 29 '.=>.'requires.(for.development)
94b00 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 64 65 76 52 65 71 75 69 72 65 73 27 29 2c 0a 29 ',.'method'.=>.'devRequires'),.)
94b20 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 20 3d 20 30 3b 0a 63 ;..const.STABILITY_STABLE.=.0;.c
94b40 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 52 43 20 3d 20 35 3b 0a 63 6f 6e 73 74 20 53 54 41 onst.STABILITY_RC.=.5;.const.STA
94b60 42 49 4c 49 54 59 5f 42 45 54 41 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 BILITY_BETA.=.10;.const.STABILIT
94b80 59 5f 41 4c 50 48 41 20 3d 20 31 35 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 44 45 Y_ALPHA.=.15;.const.STABILITY_DE
94ba0 56 20 3d 20 32 30 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 73 74 61 62 69 6c 69 74 V.=.20;..public.static.$stabilit
94bc0 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 73 74 61 62 6c 65 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 ies.=.array(.'stable'.=>.self::S
94be0 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 2c 0a 27 52 43 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 TABILITY_STABLE,.'RC'.=>.self::S
94c00 54 41 42 49 4c 49 54 59 5f 52 43 2c 0a 27 62 65 74 61 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 TABILITY_RC,.'beta'.=>.self::STA
94c20 42 49 4c 49 54 59 5f 42 45 54 41 2c 0a 27 61 6c 70 68 61 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 BILITY_BETA,.'alpha'.=>.self::ST
94c40 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 2c 0a 27 64 65 76 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 ABILITY_ALPHA,.'dev'.=>.self::ST
94c60 41 42 49 4c 49 54 59 5f 44 45 56 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 24 69 64 3b ABILITY_DEV,.);......public.$id;
94c80 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 ..protected.$name;..protected.$p
94ca0 72 65 74 74 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 rettyName;..protected.$repositor
94cc0 79 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 y;..protected.$transportOptions.
94ce0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e =.array();.......public.function
94d00 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 .__construct($name).{.$this->pre
94d20 74 74 79 4e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 73 ttyName.=.$name;.$this->name.=.s
94d40 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 trtolower($name);.$this->id.=.-1
94d60 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 ;.}.....public.function.getName(
94d80 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ).{.return.$this->name;.}.....pu
94da0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 0a 7b 0a blic.function.getPrettyName().{.
94dc0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a return.$this->prettyName;.}.....
94de0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 28 29 0a 7b 0a 24 6e 61 public.function.getNames().{.$na
94e00 6d 65 73 20 3d 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3e mes.=.array(.$this->getName().=>
94e20 20 74 72 75 65 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 .true,.);..foreach.($this->getPr
94e40 6f 76 69 64 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e ovides().as.$link).{.$names[$lin
94e60 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 k->getTarget()].=.true;.}..forea
94e80 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e ch.($this->getReplaces().as.$lin
94ea0 6b 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 k).{.$names[$link->getTarget()].
94ec0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6e 61 =.true;.}..return.array_keys($na
94ee0 6d 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 mes);.}.....public.function.setI
94f00 64 28 24 69 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 24 69 64 3b 0a 7d 0a 0a 0a 0a 0a d($id).{.$this->id.=.$id;.}.....
94f20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 28 29 0a 7b 0a 72 65 74 75 72 6e public.function.getId().{.return
94f40 20 24 74 68 69 73 2d 3e 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$this->id;.}.....public.functio
94f60 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 n.setRepository(RepositoryInterf
94f80 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 ace.$repository).{.if.($this->re
94fa0 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 73 69 74 6f 72 79 20 21 3d 3d 20 24 74 68 69 pository.&&.$repository.!==.$thi
94fc0 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 s->repository).{.throw.new.\Logi
94fe0 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 70 61 63 6b 61 67 65 20 63 61 6e 20 6f 6e 6c 79 20 62 cException('A.package.can.only.b
95000 65 20 61 64 64 65 64 20 74 6f 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 24 e.added.to.one.repository');.}.$
95020 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a this->repository.=.$repository;.
95040 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 }.....public.function.getReposit
95060 6f 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 ory().{.return.$this->repository
95080 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 ;.}.....public.function.getTrans
950a0 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 portOptions().{.return.$this->tr
950c0 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ansportOptions;.}.......public.f
950e0 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 unction.setTransportOptions(arra
95100 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 6f 72 74 4f 70 y.$options).{.$this->transportOp
95120 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tions.=.$options;.}.......public
95140 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 6c 61 74 66 6f 72 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .function.isPlatform().{.return.
95160 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 20 69 6e 73 74 61 6e 63 65 6f $this->getRepository().instanceo
95180 66 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 f.PlatformRepository;.}.......pu
951a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 0a 7b 0a blic.function.getUniqueName().{.
951c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 2d 27 2e 24 74 68 69 return.$this->getName().'-'.$thi
951e0 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->getVersion();.}..public.funct
95200 69 6f 6e 20 65 71 75 61 6c 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ion.equals(PackageInterface.$pac
95220 6b 61 67 65 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 69 66 20 28 24 74 68 69 73 kage).{.$self.=.$this;.if.($this
95240 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 65 6c .instanceof.AliasPackage).{.$sel
95260 66 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 69 66 20 28 24 f.=.$this->getAliasOf();.}.if.($
95280 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 package.instanceof.AliasPackage)
952a0 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 .{.$package.=.$package->getAlias
952c0 4f 66 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 20 3d 3d 3d 20 24 73 65 Of();.}..return.$package.===.$se
952e0 6c 66 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f lf;.}.......public.function.__to
95300 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 55 6e 69 71 String().{.return.$this->getUniq
95320 75 65 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ueName();.}..public.function.get
95340 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 PrettyString().{.return.$this->g
95360 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 72 65 etPrettyName().'.'.$this->getPre
95380 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ttyVersion();.}.....public.funct
953a0 69 6f 6e 20 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 24 74 72 75 6e 63 61 ion.getFullPrettyVersion($trunca
953c0 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 44 65 76 28 29 te.=.true).{.if.(!$this->isDev()
953e0 20 7c 7c 20 21 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 .||.!in_array($this->getSourceTy
95400 70 65 28 29 2c 20 61 72 72 61 79 28 27 68 67 27 2c 20 27 67 69 74 27 29 29 29 20 7b 0a 72 65 74 pe(),.array('hg',.'git'))).{.ret
95420 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d urn.$this->getPrettyVersion();.}
95440 0a 0a 0a 20 69 66 20 28 24 74 72 75 6e 63 61 74 65 20 26 26 20 73 74 72 6c 65 6e 28 24 74 68 69 ....if.($truncate.&&.strlen($thi
95460 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 3d 3d 3d 20 34 30 29 s->getSourceReference()).===.40)
95480 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f .{.return.$this->getPrettyVersio
954a0 6e 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 n()...'.'...substr($this->getSou
954c0 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 37 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e rceReference(),.0,.7);.}..return
954e0 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 27 .$this->getPrettyVersion()...'.'
95500 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a ...$this->getSourceReference();.
95520 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 50 }..public.function.getStabilityP
95540 72 69 6f 72 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 61 62 69 6c riority().{.return.self::$stabil
95560 69 74 69 65 73 5b 24 74 68 69 73 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 5d 3b 0a 7d 0a ities[$this->getStability()];.}.
95580 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 .public.function.__clone().{.$th
955a0 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 64 is->repository.=.null;.$this->id
955c0 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 .=.-1;.}.}.<?php............name
955e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 72 65 72 3b space.Composer\Package\Comparer;
95600 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 .......class.Comparer.{.private.
95620 24 73 6f 75 72 63 65 3b 0a 70 72 69 76 61 74 65 20 24 75 70 64 61 74 65 3b 0a 70 72 69 76 61 74 $source;.private.$update;.privat
95640 65 20 24 63 68 61 6e 67 65 64 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 e.$changed;..public.function.set
95660 53 6f 75 72 63 65 28 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 Source($source).{.$this->source.
95680 3d 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 =.$source;.}..public.function.se
956a0 74 55 70 64 61 74 65 28 24 75 70 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 tUpdate($update).{.$this->update
956c0 20 3d 20 24 75 70 64 61 74 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .=.$update;.}..public.function.g
956e0 65 74 43 68 61 6e 67 65 64 28 24 74 6f 53 74 72 69 6e 67 20 3d 20 66 61 6c 73 65 2c 20 24 65 78 etChanged($toString.=.false,.$ex
95700 70 6c 69 63 61 74 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 68 61 6e 67 65 64 20 3d 20 24 plicated.=.false).{.$changed.=.$
95720 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 3b 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 63 68 61 6e 67 this->changed;.if.(!count($chang
95740 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 78 70 6c ed)).{.return.false;.}.if.($expl
95760 69 63 61 74 65 64 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 icated).{.foreach.($changed.as.$
95780 73 65 63 74 69 6f 6e 4b 65 79 20 3d 3e 20 24 69 74 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f sectionKey.=>.$itemSection).{.fo
957a0 72 65 61 63 68 20 28 24 69 74 65 6d 53 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 reach.($itemSection.as.$itemKey.
957c0 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 24 63 68 61 6e 67 65 64 5b 24 73 65 63 74 69 6f 6e 4b 65 79 =>.$item).{.$changed[$sectionKey
957e0 5d 5b 24 69 74 65 6d 4b 65 79 5d 20 3d 20 24 69 74 65 6d 2e 27 20 28 27 2e 24 73 65 63 74 69 6f ][$itemKey].=.$item.'.('.$sectio
95800 6e 4b 65 79 2e 27 29 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 6f 53 74 72 69 6e 67 29 20 nKey.')';.}.}.}..if.($toString).
95820 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 73 65 63 74 69 6f 6e 4b {.foreach.($changed.as.$sectionK
95840 65 79 20 3d 3e 20 24 69 74 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ey.=>.$itemSection).{.foreach.($
95860 69 74 65 6d 53 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 3d 3e 20 24 69 74 65 6d itemSection.as.$itemKey.=>.$item
95880 29 20 7b 0a 24 63 68 61 6e 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 5b 5d 20 3d 20 24 69 74 65 6d ).{.$changed['string'][].=.$item
958a0 2e 22 5c 72 5c 6e 22 3b 0a 7d 0a 7d 0a 24 63 68 61 6e 67 65 64 20 3d 20 69 6d 70 6c 6f 64 65 28 ."\r\n";.}.}.$changed.=.implode(
958c0 22 5c 72 5c 6e 22 2c 20 24 63 68 61 6e 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 29 3b 0a 7d 0a 0a "\r\n",.$changed['string']);.}..
958e0 72 65 74 75 72 6e 20 24 63 68 61 6e 67 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 return.$changed;.}..public.funct
95900 69 6f 6e 20 64 6f 43 6f 6d 70 61 72 65 28 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 ion.doCompare().{.$source.=.arra
95920 79 28 29 3b 0a 24 64 65 73 74 69 6e 61 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 y();.$destination.=.array();.$th
95940 69 73 2d 3e 63 68 61 6e 67 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 75 72 72 65 6e 74 44 is->changed.=.array();.$currentD
95960 69 72 65 63 74 6f 72 79 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 irectory.=.getcwd();.chdir($this
95980 2d 3e 73 6f 75 72 63 65 29 3b 0a 24 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 54 72 ->source);.$source.=.$this->doTr
959a0 65 65 28 27 2e 27 2c 20 24 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 ee('.',.$source);.if.(!is_array(
959c0 24 73 6f 75 72 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 63 68 64 69 72 28 24 74 68 69 $source)).{.return;.}.chdir($thi
959e0 73 2d 3e 75 70 64 61 74 65 29 3b 0a 24 64 65 73 74 69 6e 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 s->update);.$destination.=.$this
95a00 2d 3e 64 6f 54 72 65 65 28 27 2e 27 2c 20 24 64 65 73 74 69 6e 61 74 69 6f 6e 29 3b 0a 69 66 20 ->doTree('.',.$destination);.if.
95a20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 29 29 20 7b 0a 65 78 69 74 (!is_array($destination)).{.exit
95a40 3b 0a 7d 0a 63 68 64 69 72 28 24 63 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79 29 3b 0a 66 6f ;.}.chdir($currentDirectory);.fo
95a60 72 65 61 63 68 20 28 24 73 6f 75 72 63 65 20 61 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c 75 65 reach.($source.as.$dir.=>.$value
95a80 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d 3e 20 ).{.foreach.($value.as.$file.=>.
95aa0 24 68 61 73 68 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 5b $hash).{.if.(isset($destination[
95ac0 24 64 69 72 5d 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 69 66 20 28 24 68 61 73 68 20 21 3d 3d 20 24 $dir][$file])).{.if.($hash.!==.$
95ae0 64 65 73 74 69 6e 61 74 69 6f 6e 5b 24 64 69 72 5d 5b 24 66 69 6c 65 5d 29 20 7b 0a 24 74 68 69 destination[$dir][$file]).{.$thi
95b00 73 2d 3e 63 68 61 6e 67 65 64 5b 27 63 68 61 6e 67 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 s->changed['changed'][].=.$dir.'
95b20 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e /'.$file;.}.}.else.{.$this->chan
95b40 67 65 64 5b 27 72 65 6d 6f 76 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c ged['removed'][].=.$dir.'/'.$fil
95b60 65 3b 0a 7d 0a 7d 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 20 61 e;.}.}.}.foreach.($destination.a
95b80 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 s.$dir.=>.$value).{.foreach.($va
95ba0 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d 3e 20 24 68 61 73 68 29 20 7b 0a 69 66 20 28 21 69 73 lue.as.$file.=>.$hash).{.if.(!is
95bc0 73 65 74 28 24 73 6f 75 72 63 65 5b 24 64 69 72 5d 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 24 74 68 set($source[$dir][$file])).{.$th
95be0 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 61 64 64 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f is->changed['added'][].=.$dir.'/
95c00 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 '.$file;.}.}.}.}..private.functi
95c20 6f 6e 20 64 6f 54 72 65 65 28 24 64 69 72 2c 20 26 24 61 72 72 61 79 29 0a 7b 0a 69 66 20 28 24 on.doTree($dir,.&$array).{.if.($
95c40 64 68 20 3d 20 6f 70 65 6e 64 69 72 28 24 64 69 72 29 29 20 7b 0a 77 68 69 6c 65 20 28 24 66 69 dh.=.opendir($dir)).{.while.($fi
95c60 6c 65 20 3d 20 72 65 61 64 64 69 72 28 24 64 68 29 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 20 21 le.=.readdir($dh)).{.if.($file.!
95c80 3d 3d 20 27 2e 27 20 26 26 20 24 66 69 6c 65 20 21 3d 3d 20 27 2e 2e 27 29 20 7b 0a 69 66 20 28 ==.'.'.&&.$file.!==.'..').{.if.(
95ca0 69 73 5f 64 69 72 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 29 29 20 7b 0a 69 66 20 28 21 63 is_dir($dir.'/'.$file)).{.if.(!c
95cc0 6f 75 6e 74 28 24 61 72 72 61 79 29 29 20 7b 0a 24 61 72 72 61 79 5b 30 5d 20 3d 20 27 54 65 6d ount($array)).{.$array[0].=.'Tem
95ce0 70 27 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 6f 54 72 65 65 28 24 64 69 72 2e 27 2f p';.}.if.(!$this->doTree($dir.'/
95d00 27 2e 24 66 69 6c 65 2c 20 24 61 72 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 '.$file,.$array)).{.return.false
95d20 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 66 69 6c 65 73 69 7a 65 28 24 64 69 72 2e 27 ;.}.}.else.{.if.(filesize($dir.'
95d40 2f 27 2e 24 66 69 6c 65 29 29 20 7b 0a 73 65 74 5f 74 69 6d 65 5f 6c 69 6d 69 74 28 33 30 29 3b /'.$file)).{.set_time_limit(30);
95d60 0a 24 61 72 72 61 79 5b 24 64 69 72 5d 5b 24 66 69 6c 65 5d 20 3d 20 6d 64 35 5f 66 69 6c 65 28 .$array[$dir][$file].=.md5_file(
95d80 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 63 6f 75 $dir.'/'.$file);.}.}.}.}.if.(cou
95da0 6e 74 28 24 61 72 72 61 79 29 20 3e 20 31 20 26 26 20 69 73 73 65 74 28 24 61 72 72 61 79 5b 27 nt($array).>.1.&&.isset($array['
95dc0 30 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 61 72 72 61 79 5b 27 30 27 5d 29 3b 0a 7d 0a 0a 72 0'])).{.unset($array['0']);.}..r
95de0 65 74 75 72 6e 20 24 61 72 72 61 79 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d eturn.$array;.}..return.false;.}
95e00 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
95e20 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 mposer\Package;.......class.Comp
95e40 6c 65 74 65 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 50 61 63 6b 61 67 65 20 69 6d 70 6c letePackage.extends.Package.impl
95e60 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a ements.CompletePackageInterface.
95e80 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 70 72 6f 74 65 {.protected.$repositories;.prote
95ea0 63 74 65 64 20 24 6c 69 63 65 6e 73 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 cted.$license.=.array();.protect
95ec0 65 64 20 24 6b 65 79 77 6f 72 64 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 6f 72 73 ed.$keywords;.protected.$authors
95ee0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 ;.protected.$description;.protec
95f00 74 65 64 20 24 68 6f 6d 65 70 61 67 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 ted.$homepage;.protected.$script
95f20 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 70 70 6f 72 74 20 s.=.array();.protected.$support.
95f40 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 62 61 6e 64 6f 6e 65 64 20 =.array();.protected.$abandoned.
95f60 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 =.false;.....public.function.set
95f80 53 63 72 69 70 74 73 28 61 72 72 61 79 20 24 73 63 72 69 70 74 73 29 0a 7b 0a 24 74 68 69 73 2d Scripts(array.$scripts).{.$this-
95fa0 3e 73 63 72 69 70 74 73 20 3d 20 24 73 63 72 69 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 >scripts.=.$scripts;.}.....publi
95fc0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getScripts().{.return
95fe0 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->scripts;.}.......public.
96000 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 function.setRepositories($reposi
96020 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 tories).{.$this->repositories.=.
96040 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $repositories;.}.....public.func
96060 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getRepositories().{.return.
96080 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 $this->repositories;.}.......pub
960a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 69 63 65 6e 73 65 28 61 72 72 61 79 20 24 6c lic.function.setLicense(array.$l
960c0 69 63 65 6e 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 icense).{.$this->license.=.$lice
960e0 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 nse;.}.....public.function.getLi
96100 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 3b cense().{.return.$this->license;
96120 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4b 65 79 77 .}.......public.function.setKeyw
96140 6f 72 64 73 28 61 72 72 61 79 20 24 6b 65 79 77 6f 72 64 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6b ords(array.$keywords).{.$this->k
96160 65 79 77 6f 72 64 73 20 3d 20 24 6b 65 79 77 6f 72 64 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 eywords.=.$keywords;.}.....publi
96180 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f 72 64 73 28 29 0a 7b 0a 72 65 74 75 72 c.function.getKeywords().{.retur
961a0 6e 20 24 74 68 69 73 2d 3e 6b 65 79 77 6f 72 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 n.$this->keywords;.}.......publi
961c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 6f 72 73 28 61 72 72 61 79 20 24 61 75 74 c.function.setAuthors(array.$aut
961e0 68 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 68 6f 72 73 20 3d 20 24 61 75 74 68 6f 72 hors).{.$this->authors.=.$author
96200 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 s;.}.....public.function.getAuth
96220 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 6f 72 73 3b 0a 7d ors().{.return.$this->authors;.}
96240 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 .......public.function.setDescri
96260 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 ption($description).{.$this->des
96280 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 cription.=.$description;.}.....p
962a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a ublic.function.getDescription().
962c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a {.return.$this->description;.}..
962e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 6f 6d 65 70 61 67 65 .....public.function.setHomepage
96300 28 24 68 6f 6d 65 70 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 6f 6d 65 70 61 67 65 20 3d 20 ($homepage).{.$this->homepage.=.
96320 24 68 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $homepage;.}.....public.function
96340 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 .getHomepage().{.return.$this->h
96360 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e omepage;.}.......public.function
96380 20 73 65 74 53 75 70 70 6f 72 74 28 61 72 72 61 79 20 24 73 75 70 70 6f 72 74 29 0a 7b 0a 24 74 .setSupport(array.$support).{.$t
963a0 68 69 73 2d 3e 73 75 70 70 6f 72 74 20 3d 20 24 73 75 70 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 his->support.=.$support;.}.....p
963c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 ublic.function.getSupport().{.re
963e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 70 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 turn.$this->support;.}.....publi
96400 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 0a 7b 0a 72 65 74 75 72 c.function.isAbandoned().{.retur
96420 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a 0a 0a n.(bool).$this->abandoned;.}....
96440 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 61 .public.function.setAbandoned($a
96460 62 61 6e 64 6f 6e 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 20 3d 20 24 bandoned).{.$this->abandoned.=.$
96480 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 abandoned;.}.......public.functi
964a0 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 on.getReplacementPackage().{.ret
964c0 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 29 20 urn.is_string($this->abandoned).
964e0 3f 20 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c ?.$this->abandoned.:.null;.}.}.<
96500 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
96520 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6d 70 er\Package;.......interface.Comp
96540 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 50 61 63 letePackageInterface.extends.Pac
96560 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 kageInterface.{......public.func
96580 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tion.getScripts();.........publi
965a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 0a 0a c.function.getRepositories();...
965c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 ....public.function.getLicense()
965e0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f ;.......public.function.getKeywo
96600 72 64 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rds();.......public.function.get
96620 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Description();.......public.func
96640 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tion.getHomepage();.........publ
96660 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a ic.function.getAuthors();.......
96680 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 0a 0a public.function.getSupport();...
966a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 ....public.function.isAbandoned(
966c0 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c );.......public.function.getRepl
966e0 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a acementPackage();.}.<?php.......
96700 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c .....namespace.Composer\Package\
96720 44 75 6d 70 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 Dumper;..use.Composer\Package\Ba
96740 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c sePackage;.use.Composer\Package\
96760 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 PackageInterface;.use.Composer\P
96780 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b ackage\CompletePackageInterface;
967a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 .use.Composer\Package\RootPackag
967c0 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 44 75 6d 70 eInterface;......class.ArrayDump
967e0 65 72 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 50 61 63 6b 61 67 er.{.public.function.dump(Packag
96800 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 6b 65 79 73 20 3d 20 61 eInterface.$package).{.$keys.=.a
96820 72 72 61 79 28 0a 27 62 69 6e 61 72 69 65 73 27 20 3d 3e 20 27 62 69 6e 27 2c 0a 27 74 79 70 65 rray(.'binaries'.=>.'bin',.'type
96840 27 2c 0a 27 65 78 74 72 61 27 2c 0a 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 27 ',.'extra',.'installationSource'
96860 20 3d 3e 20 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 2c 0a 27 61 75 74 6f .=>.'installation-source',.'auto
96880 6c 6f 61 64 27 2c 0a 27 64 65 76 41 75 74 6f 6c 6f 61 64 27 20 3d 3e 20 27 61 75 74 6f 6c 6f 61 load',.'devAutoload'.=>.'autoloa
968a0 64 2d 64 65 76 27 2c 0a 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 27 20 3d 3e 20 27 6e 6f d-dev',.'notificationUrl'.=>.'no
968c0 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 2c 0a 27 69 6e 63 6c 75 64 65 50 61 74 68 73 27 20 tification-url',.'includePaths'.
968e0 3d 3e 20 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 3d 20 61 =>.'include-path',.);..$data.=.a
96900 72 72 61 79 28 29 3b 0a 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 rray();.$data['name'].=.$package
96920 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f ->getPrettyName();.$data['versio
96940 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e n'].=.$package->getPrettyVersion
96960 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 ();.$data['version_normalized'].
96980 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 =.$package->getVersion();..if.($
969a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 20 7b 0a 24 64 61 74 61 package->getTargetDir()).{.$data
969c0 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 ['target-dir'].=.$package->getTa
969e0 72 67 65 74 44 69 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 rgetDir();.}..if.($package->getS
96a00 6f 75 72 63 65 54 79 70 65 28 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 ourceType().&&.$package->getType
96a20 28 29 20 21 3d 3d 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 29 20 7b 0a 24 64 61 74 61 5b 27 73 ().!==.'metapackage').{.$data['s
96a40 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 ource']['type'].=.$package->getS
96a60 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 75 72 ourceType();.$data['source']['ur
96a80 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a l'].=.$package->getSourceUrl();.
96aa0 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 24 $data['source']['reference'].=.$
96ac0 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 69 package->getSourceReference();.i
96ae0 66 20 28 24 6d 69 72 72 6f 72 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 f.($mirrors.=.$package->getSourc
96b00 65 4d 69 72 72 6f 72 73 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d eMirrors()).{.$data['source']['m
96b20 69 72 72 6f 72 73 27 5d 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 irrors'].=.$mirrors;.}.}..if.($p
96b40 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 20 26 26 20 24 70 61 63 6b 61 67 ackage->getDistType().&&.$packag
96b60 65 2d 3e 67 65 74 54 79 70 65 28 29 20 21 3d 3d 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 29 20 e->getType().!==.'metapackage').
96b80 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 61 63 6b 61 {.$data['dist']['type'].=.$packa
96ba0 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d ge->getDistType();.$data['dist']
96bc0 5b 27 75 72 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 ['url'].=.$package->getDistUrl()
96be0 3b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 24 ;.$data['dist']['reference'].=.$
96c00 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 64 61 package->getDistReference();.$da
96c20 74 61 5b 27 64 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d ta['dist']['shasum'].=.$package-
96c40 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 69 66 20 28 24 6d 69 72 >getDistSha1Checksum();.if.($mir
96c60 72 6f 72 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 rors.=.$package->getDistMirrors(
96c80 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 20 3d 20 )).{.$data['dist']['mirrors'].=.
96ca0 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 $mirrors;.}.}..if.($package->get
96cc0 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 61 72 63 68 ArchiveExcludes()).{.$data['arch
96ce0 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ive']['exclude'].=.$package->get
96d00 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 42 ArchiveExcludes();.}..foreach.(B
96d20 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 asePackage::$supportedLinkTypes.
96d40 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 73 20 as.$type.=>.$opts).{.if.($links.
96d60 3d 20 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6f 70 74 73 =.$package->{'get'.ucfirst($opts
96d80 5b 27 6d 65 74 68 6f 64 27 5d 29 7d 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b ['method'])}()).{.foreach.($link
96da0 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 64 61 74 61 5b 24 74 79 70 65 5d 5b 24 6c 69 6e 6b s.as.$link).{.$data[$type][$link
96dc0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 ->getTarget()].=.$link->getPrett
96de0 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 6b 73 6f 72 74 28 24 64 61 74 61 5b 24 74 79 yConstraint();.}.ksort($data[$ty
96e00 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 61 63 6b pe]);.}.}..if.($packages.=.$pack
96e20 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 29 20 7b 0a 6b 73 6f 72 74 28 24 70 61 63 age->getSuggests()).{.ksort($pac
96e40 6b 61 67 65 73 29 3b 0a 24 64 61 74 61 5b 27 73 75 67 67 65 73 74 27 5d 20 3d 20 24 70 61 63 6b kages);.$data['suggest'].=.$pack
96e60 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 ages;.}..if.($package->getReleas
96e80 65 44 61 74 65 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 74 69 6d 65 27 5d 20 3d 20 24 70 61 63 6b eDate()).{.$data['time'].=.$pack
96ea0 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 2d 3e 66 6f 72 6d 61 74 28 44 41 age->getReleaseDate()->format(DA
96ec0 54 45 5f 52 46 43 33 33 33 39 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 64 TE_RFC3339);.}..$data.=.$this->d
96ee0 75 6d 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6b 65 79 73 2c 20 24 64 61 74 61 umpValues($package,.$keys,.$data
96f00 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 );..if.($package.instanceof.Comp
96f20 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6b 65 79 73 20 3d 20 letePackageInterface).{.$keys.=.
96f40 61 72 72 61 79 28 0a 27 73 63 72 69 70 74 73 27 2c 0a 27 6c 69 63 65 6e 73 65 27 2c 0a 27 61 75 array(.'scripts',.'license',.'au
96f60 74 68 6f 72 73 27 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 0a 27 68 6f 6d 65 70 61 67 65 thors',.'description',.'homepage
96f80 27 2c 0a 27 6b 65 79 77 6f 72 64 73 27 2c 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 0a 27 ',.'keywords',.'repositories',.'
96fa0 73 75 70 70 6f 72 74 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 64 75 6d support',.);..$data.=.$this->dum
96fc0 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6b 65 79 73 2c 20 24 64 61 74 61 29 3b pValues($package,.$keys,.$data);
96fe0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 20 26 ..if.(isset($data['keywords']).&
97000 26 20 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 29 20 7b &.is_array($data['keywords'])).{
97020 0a 73 6f 72 74 28 24 64 61 74 61 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 .sort($data['keywords']);.}..if.
97040 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 64 61 74 ($package->isAbandoned()).{.$dat
97060 61 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 a['abandoned'].=.$package->getRe
97080 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 3f 3a 20 74 72 75 65 3b 0a 7d 0a 7d 0a placementPackage().?:.true;.}.}.
970a0 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 .if.($package.instanceof.RootPac
970c0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 kageInterface).{.$minimumStabili
970e0 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 ty.=.$package->getMinimumStabili
97100 74 79 28 29 3b 0a 69 66 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 20 7b 0a 24 ty();.if.($minimumStability).{.$
97120 64 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3d 20 24 6d 69 6e data['minimum-stability'].=.$min
97140 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 imumStability;.}.}..if.(count($p
97160 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 29 20 3e ackage->getTransportOptions()).>
97180 20 30 29 20 7b 0a 24 64 61 74 61 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f 6e 73 27 5d .0).{.$data['transport-options']
971a0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 .=.$package->getTransportOptions
971c0 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 ();.}..return.$data;.}..private.
971e0 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 56 61 6c 75 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 function.dumpValues(PackageInter
97200 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 6b 65 79 73 2c 20 61 72 72 61 face.$package,.array.$keys,.arra
97220 79 20 24 64 61 74 61 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6b 65 79 73 20 61 73 20 24 6d 65 y.$data).{.foreach.($keys.as.$me
97240 74 68 6f 64 20 3d 3e 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 thod.=>.$key).{.if.(is_numeric($
97260 6d 65 74 68 6f 64 29 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 24 6b 65 79 3b 0a 7d 0a 0a 24 67 method)).{.$method.=.$key;.}..$g
97280 65 74 74 65 72 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6d 65 74 68 6f 64 29 3b 0a etter.=.'get'.ucfirst($method);.
972a0 24 76 61 6c 75 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 24 67 65 74 74 65 72 28 29 3b 0a 0a 69 $value.=.$package->$getter();..i
972c0 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 21 28 69 73 5f 61 72 72 61 79 f.(null.!==.$value.&&.!(is_array
972e0 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 ($value).&&.0.===.count($value))
97300 29 20 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 ).{.$data[$key].=.$value;.}.}..r
97320 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eturn.$data;.}.}.<?php..........
97340 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 ..namespace.Composer\Package;..u
97360 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f se.Composer\Semver\Constraint\Co
97380 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c nstraintInterface;.......class.L
973a0 69 6e 6b 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 3b 0a 0a 0a 0a 0a ink.{....protected.$source;.....
973c0 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 protected.$target;.....protected
973e0 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 73 .$constraint;.....protected.$des
97400 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 43 cription;.....protected.$prettyC
97420 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 onstraint;...........public.func
97440 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 tion.__construct($source,.$targe
97460 74 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 t,.ConstraintInterface.$constrai
97480 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 72 65 6c 61 74 nt.=.null,.$description.=.'relat
974a0 65 73 20 74 6f 27 2c 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c es.to',.$prettyConstraint.=.null
974c0 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 ).{.$this->source.=.strtolower($
974e0 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 20 3d 20 73 74 72 74 6f 6c 6f source);.$this->target.=.strtolo
97500 77 65 72 28 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 20 wer($target);.$this->constraint.
97520 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f =.$constraint;.$this->descriptio
97540 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 43 n.=.$description;.$this->prettyC
97560 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d onstraint.=.$prettyConstraint;.}
97580 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 .....public.function.getDescript
975a0 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f ion().{.return.$this->descriptio
975c0 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 n;.}.....public.function.getSour
975e0 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 3b 0a 7d 0a 0a ce().{.return.$this->source;.}..
97600 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 28 29 0a 7b ...public.function.getTarget().{
97620 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 .return.$this->target;.}.....pub
97640 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a 72 lic.function.getConstraint().{.r
97660 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a eturn.$this->constraint;.}......
97680 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 public.function.getPrettyConstra
976a0 69 6e 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 65 74 int().{.if.(null.===.$this->pret
976c0 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 tyConstraint).{.throw.new.\Unexp
976e0 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 69 6e ectedValueException(sprintf('Lin
97700 6b 20 25 73 20 68 61 73 20 62 65 65 6e 20 6d 69 73 63 6f 6e 66 69 67 75 72 65 64 20 61 6e 64 20 k.%s.has.been.misconfigured.and.
97720 68 61 64 20 6e 6f 20 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 67 69 76 65 6e 2e 27 2c had.no.prettyConstraint.given.',
97740 20 24 74 68 69 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 .$this));.}..return.$this->prett
97760 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 yConstraint;.}.....public.functi
97780 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e on.__toString().{.return.$this->
977a0 73 6f 75 72 63 65 2e 27 20 27 2e 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 20 source.'.'.$this->description.'.
977c0 27 2e 24 74 68 69 73 2d 3e 74 61 72 67 65 74 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 '.$this->target.'.('.$this->cons
977e0 74 72 61 69 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 traint.')';.}......public.functi
97800 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 on.getPrettyString(PackageInterf
97820 61 63 65 20 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 73 6f ace.$sourcePackage).{.return.$so
97840 75 72 63 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 urcePackage->getPrettyString().'
97860 20 27 2e 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 20 27 2e 24 74 68 69 73 2d .'.$this->description.'.'.$this-
97880 3e 74 61 72 67 65 74 2e 27 20 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 >target.'.'.$this->constraint->g
978a0 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a etPrettyString().'';.}.}.<?php..
978c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ..........namespace.Composer\Pac
978e0 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 kage\LinkConstraint;..use.Compos
97900 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 er\Semver\Constraint\EmptyConstr
97920 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a aint.as.SemverEmptyConstraint;..
97940 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 trigger_error('The.'...__NAMESPA
97960 43 45 5f 5f 20 2e 20 27 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 69 CE__...'\EmptyConstraint.class.i
97980 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 s.deprecated,.use.Composer\Semve
979a0 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 r\Constraint\EmptyConstraint.ins
979c0 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a tead.',.E_USER_DEPRECATED);.....
979e0 63 6c 61 73 73 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 53 65 class.EmptyConstraint.extends.Se
97a00 6d 76 65 72 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c mverEmptyConstraint.implements.L
97a20 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 inkConstraintInterface.{.}.<?php
97a40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 ............namespace.Composer\P
97a60 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 ackage\LinkConstraint;..use.Comp
97a80 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e oser\Semver\Constraint\Constrain
97aa0 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 tInterface;..trigger_error('The.
97ac0 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 4c 69 6e 6b 43 6f 6e 73 74 72 '...__NAMESPACE__...'\LinkConstr
97ae0 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 64 65 70 72 65 aintInterface.interface.is.depre
97b00 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 cated,.use.Composer\Semver\Const
97b20 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 65 61 raint\ConstraintInterface.instea
97b40 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 69 6e 74 d.',.E_USER_DEPRECATED);.....int
97b60 65 72 66 61 63 65 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 65 erface.LinkConstraintInterface.e
97b80 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c xtends.ConstraintInterface.{.}.<
97ba0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
97bc0 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 er\Package\LinkConstraint;..use.
97be0 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 6c 74 69 Composer\Semver\Constraint\Multi
97c00 43 6f 6e 73 74 72 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 4d 75 6c 74 69 43 6f 6e 73 74 72 61 Constraint.as.SemverMultiConstra
97c20 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e int;..trigger_error('The.'...__N
97c40 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 63 AMESPACE__...'\MultiConstraint.c
97c60 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 lass.is.deprecated,.use.Composer
97c80 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 \Semver\Constraint\MultiConstrai
97ca0 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 nt.instead.',.E_USER_DEPRECATED)
97cc0 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 ;.....class.MultiConstraint.exte
97ce0 6e 64 73 20 53 65 6d 76 65 72 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d nds.SemverMultiConstraint.implem
97d00 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d ents.LinkConstraintInterface.{.}
97d20 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
97d40 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 oser\Package\LinkConstraint;..us
97d60 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 41 62 73 e.Composer\Semver\Constraint\Abs
97d80 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 tractConstraint;..trigger_error(
97da0 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 53 70 65 63 69 'The.'...__NAMESPACE__...'\Speci
97dc0 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 20 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 69 73 20 ficConstraint.abstract.class.is.
97de0 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 72 65 70 6c 61 63 65 6d deprecated,.there.is.no.replacem
97e00 65 6e 74 20 66 6f 72 20 69 74 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ent.for.it.',.E_USER_DEPRECATED)
97e20 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 53 70 65 63 69 66 69 63 43 6f 6e ;.....abstract.class.SpecificCon
97e40 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 straint.extends.AbstractConstrai
97e60 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 nt.implements.LinkConstraintInte
97e80 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 rface.{.}.<?php............names
97ea0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 pace.Composer\Package\LinkConstr
97ec0 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 aint;..use.Composer\Semver\Const
97ee0 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 raint\Constraint;..trigger_error
97f00 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 56 65 72 73 ('The.'...__NAMESPACE__...'\Vers
97f20 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 ionConstraint.class.is.deprecate
97f40 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e d,.use.Composer\Semver\Constrain
97f60 74 5c 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 t\Constraint.instead.',.E_USER_D
97f80 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 43 6f 6e EPRECATED);.....class.VersionCon
97fa0 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 straint.extends.Constraint.imple
97fc0 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a ments.LinkConstraintInterface.{.
97fe0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
98000 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f poser\Package\Loader;..use.Compo
98020 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ser\Package;.use.Composer\Packag
98040 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 e\AliasPackage;.use.Composer\Pac
98060 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c kage\Link;.use.Composer\Package\
98080 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 RootAliasPackage;.use.Composer\P
980a0 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 ackage\RootPackageInterface;.use
980c0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f .Composer\Package\Version\Versio
980e0 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 nParser;.use.Composer\Semver\Ver
98100 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 sionParser.as.SemverVersionParse
98120 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 4c 6f 61 64 65 72 20 69 6d 70 6c 65 6d r;......class.ArrayLoader.implem
98140 65 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 ents.LoaderInterface.{.protected
98160 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 .$versionParser;.protected.$load
98180 4f 70 74 69 6f 6e 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 Options;..public.function.__cons
981a0 74 72 75 63 74 28 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 truct(SemverVersionParser.$parse
981c0 72 20 3d 20 6e 75 6c 6c 2c 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 29 0a r.=.null,.$loadOptions.=.false).
981e0 7b 0a 69 66 20 28 21 24 70 61 72 73 65 72 29 20 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 {.if.(!$parser).{.$parser.=.new.
98200 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 7d 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 VersionParser;.}.$this->versionP
98220 61 72 73 65 72 20 3d 20 24 70 61 72 73 65 72 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 4f 70 74 69 arser.=.$parser;.$this->loadOpti
98240 6f 6e 73 20 3d 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 ons.=.$loadOptions;.}..public.fu
98260 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 nction.load(array.$config,.$clas
98280 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 s.=.'Composer\Package\CompletePa
982a0 63 6b 61 67 65 27 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6e 61 ckage').{.if.(!isset($config['na
982c0 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 me'])).{.throw.new.\UnexpectedVa
982e0 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 70 61 63 6b 61 67 65 20 68 61 lueException('Unknown.package.ha
98300 73 20 6e 6f 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 s.no.name.defined.('.json_encode
98320 28 24 63 6f 6e 66 69 67 29 2e 27 29 2e 27 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 ($config).').');.}.if.(!isset($c
98340 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c onfig['version'])).{.throw.new.\
98360 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 UnexpectedValueException('Packag
98380 65 20 27 2e 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2e 27 20 68 61 73 20 6e 6f 20 76 65 72 e.'.$config['name'].'.has.no.ver
983a0 73 69 6f 6e 20 64 65 66 69 6e 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 sion.defined.');.}....if.(isset(
983c0 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 29 20 $config['version_normalized'])).
983e0 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f {.$version.=.$config['version_no
98400 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 rmalized'];.}.else.{.$version.=.
98420 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 $this->versionParser->normalize(
98440 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 20 $config['version']);.}.$package.
98460 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2c 20 24 76 =.new.$class($config['name'],.$v
98480 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 ersion,.$config['version']);.$pa
984a0 63 6b 61 67 65 2d 3e 73 65 74 54 79 70 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 79 ckage->setType(isset($config['ty
984c0 70 65 27 5d 29 20 3f 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 66 69 67 5b 27 74 79 70 65 pe']).?.strtolower($config['type
984e0 27 5d 29 20 3a 20 27 6c 69 62 72 61 72 79 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f ']).:.'library');..if.(isset($co
98500 6e 66 69 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d nfig['target-dir'])).{.$package-
98520 3e 73 65 74 54 61 72 67 65 74 44 69 72 28 24 63 6f 6e 66 69 67 5b 27 74 61 72 67 65 74 2d 64 69 >setTargetDir($config['target-di
98540 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 r']);.}..if.(isset($config['extr
98560 61 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 a']).&&.is_array($config['extra'
98580 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 45 78 74 72 61 28 24 63 6f 6e 66 69 67 ])).{.$package->setExtra($config
985a0 5b 27 65 78 74 72 61 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 ['extra']);.}..if.(isset($config
985c0 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 63 6f ['bin'])).{.foreach.((array).$co
985e0 6e 66 69 67 5b 27 62 69 6e 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 62 69 6e 29 20 7b 0a 24 nfig['bin'].as.$key.=>.$bin).{.$
98600 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 5b 24 6b 65 79 5d 20 3d 20 6c 74 72 69 6d 28 24 62 69 6e config['bin'][$key].=.ltrim($bin
98620 2c 20 27 2f 27 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 42 69 6e 61 72 69 65 73 28 ,.'/');.}.$package->setBinaries(
98640 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 (array).$config['bin']);.}..if.(
98660 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 isset($config['installation-sour
98680 63 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 ce'])).{.$package->setInstallati
986a0 6f 6e 53 6f 75 72 63 65 28 24 63 6f 6e 66 69 67 5b 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 onSource($config['installation-s
986c0 6f 75 72 63 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 ource']);.}..if.(isset($config['
986e0 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b source'])).{.if.(!isset($config[
98700 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 29 20 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 'source']['type']).||.!isset($co
98720 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 75 72 6c 27 5d 29 20 7c 7c 20 21 69 73 73 65 74 nfig['source']['url']).||.!isset
98740 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 29 ($config['source']['reference'])
98760 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 ).{.throw.new.\UnexpectedValueEx
98780 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 63 6b 61 67 65 20 25 73 27 73 20 73 ception(sprintf(."Package.%s's.s
987a0 6f 75 72 63 65 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 73 ource.key.should.be.specified.as
987c0 20 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 72 6c 5c 22 3a 20 2e 2e 2e 2c 20 5c .{\"type\":....,.\"url\":....,.\
987e0 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 7d 2c 5c 6e 25 73 20 67 69 76 65 6e 2e 22 2c "reference\":....},\n%s.given.",
98800 0a 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 .$config['name'],.json_encode($c
98820 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 29 0a 29 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d onfig['source']).));.}.$package-
98840 3e 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d >setSourceType($config['source']
98860 5b 27 74 79 70 65 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 55 72 ['type']);.$package->setSourceUr
98880 6c 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 75 72 6c 27 5d 29 3b 0a 24 70 61 l($config['source']['url']);.$pa
988a0 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 63 6f 6e 66 69 ckage->setSourceReference($confi
988c0 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 29 3b 0a 69 66 20 28 69 g['source']['reference']);.if.(i
988e0 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 sset($config['source']['mirrors'
98900 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 ])).{.$package->setSourceMirrors
98920 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a ($config['source']['mirrors']);.
98940 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 29 29 }.}..if.(isset($config['dist']))
98960 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 .{.if.(!isset($config['dist']['t
98980 79 70 65 27 5d 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d ype']).||.!isset($config['dist']
989a0 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 ['url'])).{.throw.new.\Unexpecte
989c0 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 63 6b 61 67 dValueException(sprintf(."Packag
989e0 65 20 25 73 27 73 20 64 69 73 74 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 70 65 63 69 66 e.%s's.dist.key.should.be.specif
98a00 69 65 64 20 61 73 20 22 2e 0a 22 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 72 6c ied.as.".."{\"type\":....,.\"url
98a20 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 73 \":....,.\"reference\":....,.\"s
98a40 68 61 73 75 6d 5c 22 3a 20 2e 2e 2e 7d 2c 5c 6e 25 73 20 67 69 76 65 6e 2e 22 2c 0a 24 63 6f 6e hasum\":....},\n%s.given.",.$con
98a60 66 69 67 5b 27 6e 61 6d 65 27 5d 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 fig['name'],.json_encode($config
98a80 5b 27 64 69 73 74 27 5d 29 0a 29 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 ['dist']).));.}.$package->setDis
98aa0 74 54 79 70 65 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 29 3b 0a tType($config['dist']['type']);.
98ac0 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 64 69 $package->setDistUrl($config['di
98ae0 73 74 27 5d 5b 27 75 72 6c 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 st']['url']);.$package->setDistR
98b00 65 66 65 72 65 6e 63 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 eference(isset($config['dist']['
98b20 72 65 66 65 72 65 6e 63 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 reference']).?.$config['dist']['
98b40 72 65 66 65 72 65 6e 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 reference'].:.null);.$package->s
98b60 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 etDistSha1Checksum(isset($config
98b80 5b 27 64 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 ['dist']['shasum']).?.$config['d
98ba0 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 69 66 20 28 69 73 73 ist']['shasum'].:.null);.if.(iss
98bc0 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 et($config['dist']['mirrors'])).
98be0 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 63 6f 6e 66 {.$package->setDistMirrors($conf
98c00 69 67 5b 27 64 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 ig['dist']['mirrors']);.}.}..for
98c20 65 61 63 68 20 28 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 each.(Package\BasePackage::$supp
98c40 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 ortedLinkTypes.as.$type.=>.$opts
98c60 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 29 29 20 7b ).{.if.(isset($config[$type])).{
98c80 0a 24 6d 65 74 68 6f 64 20 3d 20 27 73 65 74 27 2e 75 63 66 69 72 73 74 28 24 6f 70 74 73 5b 27 .$method.=.'set'.ucfirst($opts['
98ca0 6d 65 74 68 6f 64 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 7b 24 6d 65 74 68 6f 64 7d 28 0a method']);.$package->{$method}(.
98cc0 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 $this->parseLinks(.$package->get
98ce0 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 Name(),.$package->getPrettyVersi
98d00 6f 6e 28 29 2c 0a 24 6f 70 74 73 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 0a 24 63 6f 6e on(),.$opts['description'],.$con
98d20 66 69 67 5b 24 74 79 70 65 5d 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 fig[$type].).);.}.}..if.(isset($
98d40 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 config['suggest']).&&.is_array($
98d60 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 config['suggest'])).{.foreach.($
98d80 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 config['suggest'].as.$target.=>.
98da0 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d $reason).{.if.('self.version'.==
98dc0 3d 20 74 72 69 6d 28 24 72 65 61 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 =.trim($reason)).{.$config['sugg
98de0 65 73 74 27 5d 5b 24 74 61 72 67 65 74 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 est'][$target].=.$package->getPr
98e00 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 ettyVersion();.}.}.$package->set
98e20 53 75 67 67 65 73 74 73 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 3b 0a 7d 0a Suggests($config['suggest']);.}.
98e40 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 .if.(isset($config['autoload']))
98e60 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 .{.$package->setAutoload($config
98e80 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e ['autoload']);.}..if.(isset($con
98ea0 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 2d 64 65 76 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 fig['autoload-dev'])).{.$package
98ec0 2d 3e 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f ->setDevAutoload($config['autolo
98ee0 61 64 2d 64 65 76 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b ad-dev']);.}..if.(isset($config[
98f00 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 'include-path'])).{.$package->se
98f20 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 64 65 2d 70 tIncludePaths($config['include-p
98f40 61 74 68 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 74 ath']);.}..if.(!empty($config['t
98f60 69 6d 65 27 5d 29 29 20 7b 0a 24 74 69 6d 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e ime'])).{.$time.=.preg_match('/^
98f80 5c 64 2b 2b 24 2f 44 27 2c 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 20 3f 20 27 40 27 \d++$/D',.$config['time']).?.'@'
98fa0 2e 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 20 3a 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 .$config['time'].:.$config['time
98fc0 27 5d 3b 0a 0a 74 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 '];..try.{.$date.=.new.\DateTime
98fe0 28 24 74 69 6d 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 ($time,.new.\DateTimeZone('UTC')
99000 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 24 64 61 74 );.$package->setReleaseDate($dat
99020 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a e);.}.catch.(\Exception.$e).{.}.
99040 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 }..if.(!empty($config['notificat
99060 69 6f 6e 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4e 6f 74 69 66 ion-url'])).{.$package->setNotif
99080 69 63 61 74 69 6f 6e 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e icationUrl($config['notification
990a0 2d 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 -url']);.}..if.(!empty($config['
990c0 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 archive']['exclude'])).{.$packag
990e0 65 2d 3e 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 24 63 6f 6e 66 69 67 5b 27 61 e->setArchiveExcludes($config['a
99100 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 rchive']['exclude']);.}..if.($pa
99120 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 ckage.instanceof.Package\Complet
99140 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 ePackageInterface).{.if.(isset($
99160 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 config['scripts']).&&.is_array($
99180 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 config['scripts'])).{.foreach.($
991a0 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 65 76 65 6e 74 20 3d 3e 20 24 config['scripts'].as.$event.=>.$
991c0 6c 69 73 74 65 6e 65 72 73 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b listeners).{.$config['scripts'][
991e0 24 65 76 65 6e 74 5d 20 3d 20 28 61 72 72 61 79 29 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 7d 0a $event].=.(array).$listeners;.}.
99200 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b 27 63 6f if.(isset($config['scripts']['co
99220 6d 70 6f 73 65 72 27 5d 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 mposer'])).{.trigger_error('The.
99240 60 63 6f 6d 70 6f 73 65 72 60 20 73 63 72 69 70 74 20 6e 61 6d 65 20 69 73 20 72 65 73 65 72 76 `composer`.script.name.is.reserv
99260 65 64 20 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2c 20 70 6c 65 61 73 65 20 61 76 6f 69 ed.for.internal.use,.please.avoi
99280 64 20 64 65 66 69 6e 69 6e 67 20 69 74 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 d.defining.it',.E_USER_DEPRECATE
992a0 44 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 63 72 69 70 74 73 28 24 63 6f 6e 66 D);.}.$package->setScripts($conf
992c0 69 67 5b 27 73 63 72 69 70 74 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 ig['scripts']);.}..if.(!empty($c
992e0 6f 6e 66 69 67 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 onfig['description']).&&.is_stri
99300 6e 67 28 24 63 6f 6e 66 69 67 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 29 20 7b 0a 24 70 ng($config['description'])).{.$p
99320 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 63 6f 6e 66 69 67 5b 27 ackage->setDescription($config['
99340 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 description']);.}..if.(!empty($c
99360 6f 6e 66 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 onfig['homepage']).&&.is_string(
99380 24 63 6f 6e 66 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 $config['homepage'])).{.$package
993a0 2d 3e 73 65 74 48 6f 6d 65 70 61 67 65 28 24 63 6f 6e 66 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 ->setHomepage($config['homepage'
993c0 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f ]);.}..if.(!empty($config['keywo
993e0 72 64 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 rds']).&&.is_array($config['keyw
99400 6f 72 64 73 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4b 65 79 77 6f 72 64 73 ords'])).{.$package->setKeywords
99420 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 ($config['keywords']);.}..if.(!e
99440 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 70 61 63 mpty($config['license'])).{.$pac
99460 6b 61 67 65 2d 3e 73 65 74 4c 69 63 65 6e 73 65 28 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 kage->setLicense(is_array($confi
99480 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 g['license']).?.$config['license
994a0 27 5d 20 3a 20 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 3b '].:.array($config['license']));
994c0 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 .}..if.(!empty($config['authors'
994e0 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 ]).&&.is_array($config['authors'
99500 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 68 6f 72 73 28 24 63 6f 6e 66 ])).{.$package->setAuthors($conf
99520 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f ig['authors']);.}..if.(isset($co
99540 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 nfig['support'])).{.$package->se
99560 74 53 75 70 70 6f 72 74 28 24 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a tSupport($config['support']);.}.
99580 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 .if.(isset($config['abandoned'])
995a0 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 63 6f 6e 66 ).{.$package->setAbandoned($conf
995c0 69 67 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 61 6c 69 61 ig['abandoned']);.}.}..if.($alia
995e0 73 4e 6f 72 6d 61 6c 69 7a 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 41 6c sNormalized.=.$this->getBranchAl
99600 69 61 73 28 24 63 6f 6e 66 69 67 29 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 ias($config)).{.if.($package.ins
99620 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a tanceof.RootPackageInterface).{.
99640 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 28 $package.=.new.RootAliasPackage(
99660 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 $package,.$aliasNormalized,.preg
99680 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 _replace('{(\.9{7})+}',.'.x',.$a
996a0 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b liasNormalized));.}.else.{.$pack
996c0 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c age.=.new.AliasPackage($package,
996e0 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 .$aliasNormalized,.preg_replace(
99700 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 '{(\.9{7})+}',.'.x',.$aliasNorma
99720 6c 69 7a 65 64 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 4f 70 74 lized));.}.}..if.($this->loadOpt
99740 69 6f 6e 73 20 26 26 20 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 ions.&&.isset($config['transport
99760 2d 6f 70 74 69 6f 6e 73 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 72 61 6e -options'])).{.$package->setTran
99780 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 2d sportOptions($config['transport-
997a0 6f 70 74 69 6f 6e 73 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a options']);.}..return.$package;.
997c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c }.........public.function.parseL
997e0 69 6e 6b 73 28 24 73 6f 75 72 63 65 2c 20 24 73 6f 75 72 63 65 56 65 72 73 69 6f 6e 2c 20 24 64 inks($source,.$sourceVersion,.$d
99800 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 6c 69 6e 6b 73 29 0a 7b 0a 24 72 65 73 20 3d 20 61 72 72 escription,.$links).{.$res.=.arr
99820 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 74 61 72 67 65 74 ay();.foreach.($links.as.$target
99840 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e .=>.$constraint).{.if.(!is_strin
99860 67 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 g($constraint)).{.throw.new.\Une
99880 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 4c 69 6e 6b 20 63 6f 6e 73 xpectedValueException('Link.cons
998a0 74 72 61 69 6e 74 20 69 6e 20 27 2e 24 73 6f 75 72 63 65 2e 27 20 27 2e 24 64 65 73 63 72 69 70 traint.in.'.$source.'.'.$descrip
998c0 74 69 6f 6e 2e 27 20 3e 20 27 2e 24 74 61 72 67 65 74 2e 27 20 73 68 6f 75 6c 64 20 62 65 20 61 tion.'.>.'.$target.'.should.be.a
998e0 20 73 74 72 69 6e 67 2c 20 67 6f 74 20 27 2e 67 65 74 74 79 70 65 28 24 63 6f 6e 73 74 72 61 69 .string,.got.'.gettype($constrai
99900 6e 74 29 20 2e 20 27 20 28 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6f 6e 73 74 72 61 nt)...'.('...var_export($constra
99920 69 6e 74 2c 20 74 72 75 65 29 20 2e 20 27 29 27 29 3b 0a 7d 0a 69 66 20 28 27 73 65 6c 66 2e 76 int,.true)...')');.}.if.('self.v
99940 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 70 61 72 73 ersion'.===.$constraint).{.$pars
99960 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 edConstraint.=.$this->versionPar
99980 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 73 6f 75 72 63 65 56 65 72 ser->parseConstraints($sourceVer
999a0 73 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e sion);.}.else.{.$parsedConstrain
999c0 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 t.=.$this->versionParser->parseC
999e0 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 72 65 73 onstraints($constraint);.}..$res
99a00 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b [strtolower($target)].=.new.Link
99a20 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 ($source,.$target,.$parsedConstr
99a40 61 69 6e 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 aint,.$description,.$constraint)
99a60 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ;.}..return.$res;.}........publi
99a80 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 61 72 72 61 79 20 c.function.getBranchAlias(array.
99aa0 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 28 28 27 64 65 76 2d 27 20 21 3d 3d 20 73 75 62 73 74 $config).{.if.(('dev-'.!==.subst
99ac0 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 30 2c 20 34 29 20 26 26 20 27 r($config['version'],.0,.4).&&.'
99ae0 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f -dev'.!==.substr($config['versio
99b00 6e 27 5d 2c 20 2d 34 29 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 n'],.-4)).||.!isset($config['ext
99b20 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a 7c 7c 20 21 69 73 5f 61 72 72 ra']['branch-alias']).||.!is_arr
99b40 61 79 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 ay($config['extra']['branch-alia
99b60 73 27 5d 29 0a 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f s']).).{.return;.}..foreach.($co
99b80 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 20 61 73 nfig['extra']['branch-alias'].as
99ba0 20 24 73 6f 75 72 63 65 42 72 61 6e 63 68 20 3d 3e 20 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 .$sourceBranch.=>.$targetBranch)
99bc0 20 7b 0a 0a 20 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 .{...if.('-dev'.!==.substr($targ
99be0 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 etBranch,.-4)).{.continue;.}....
99c00 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e $validatedTargetBranch.=.$this->
99c20 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 73 versionParser->normalizeBranch(s
99c40 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 2d 34 29 29 3b 0a 69 66 ubstr($targetBranch,.0,.-4));.if
99c60 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c 69 64 61 74 65 64 54 61 .('-dev'.!==.substr($validatedTa
99c80 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a rgetBranch,.-4)).{.continue;.}..
99ca0 0a 20 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f ..if.(strtolower($config['versio
99cc0 6e 27 5d 29 20 21 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 72 63 65 42 72 61 6e 63 n']).!==.strtolower($sourceBranc
99ce0 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 h)).{.continue;.}....if.(($sourc
99d00 65 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e ePrefix.=.$this->versionParser->
99d20 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 parseNumericAliasPrefix($sourceB
99d40 72 61 6e 63 68 29 29 0a 26 26 20 28 24 74 61 72 67 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 ranch)).&&.($targetPrefix.=.$thi
99d60 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c s->versionParser->parseNumericAl
99d80 69 61 73 50 72 65 66 69 78 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 iasPrefix($targetBranch)).&&.(st
99da0 72 69 70 6f 73 28 24 74 61 72 67 65 74 50 72 65 66 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 ripos($targetPrefix,.$sourcePref
99dc0 69 78 29 20 21 3d 3d 20 30 29 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 ix).!==.0).).{.continue;.}..retu
99de0 72 6e 20 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 7d rn.$validatedTargetBranch;.}.}.}
99e00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
99e20 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 oser\Package\Loader;.....class.I
99e40 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c nvalidPackageException.extends.\
99e60 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 Exception.{.private.$errors;.pri
99e80 76 61 74 65 20 24 77 61 72 6e 69 6e 67 73 3b 0a 70 72 69 76 61 74 65 20 24 64 61 74 61 3b 0a 0a vate.$warnings;.private.$data;..
99ea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 public.function.__construct(arra
99ec0 79 20 24 65 72 72 6f 72 73 2c 20 61 72 72 61 79 20 24 77 61 72 6e 69 6e 67 73 2c 20 61 72 72 61 y.$errors,.array.$warnings,.arra
99ee0 79 20 24 64 61 74 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 65 72 72 6f y.$data).{.$this->errors.=.$erro
99f00 72 73 3b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 24 77 61 72 6e 69 6e 67 73 3b rs;.$this->warnings.=.$warnings;
99f20 0a 24 74 68 69 73 2d 3e 64 61 74 61 20 3d 20 24 64 61 74 61 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f .$this->data.=.$data;.parent::__
99f40 63 6f 6e 73 74 72 75 63 74 28 22 49 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 construct("Invalid.package.infor
99f60 6d 61 74 69 6f 6e 3a 20 5c 6e 22 2e 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f mation:.\n".implode("\n",.array_
99f80 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 29 29 3b 0a 7d 0a 0a merge($errors,.$warnings)));.}..
99fa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 public.function.getData().{.retu
99fc0 72 6e 20 24 74 68 69 73 2d 3e 64 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.$this->data;.}..public.functi
99fe0 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 on.getErrors().{.return.$this->e
9a000 72 72 6f 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 61 72 rrors;.}..public.function.getWar
9a020 6e 69 6e 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 nings().{.return.$this->warnings
9a040 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
9a060 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 .Composer\Package\Loader;..use.C
9a080 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 omposer\Json\JsonFile;.....class
9a0a0 20 4a 73 6f 6e 4c 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 0a .JsonLoader.{.private.$loader;..
9a0c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 public.function.__construct(Load
9a0e0 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f erInterface.$loader).{.$this->lo
9a100 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ader.=.$loader;.}......public.fu
9a120 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 24 6a 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 6a 73 6f 6e 20 69 nction.load($json).{.if.($json.i
9a140 6e 73 74 61 6e 63 65 6f 66 20 4a 73 6f 6e 46 69 6c 65 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 nstanceof.JsonFile).{.$config.=.
9a160 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 $json->read();.}.elseif.(file_ex
9a180 69 73 74 73 28 24 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c ists($json)).{.$config.=.JsonFil
9a1a0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 e::parseJson(file_get_contents($
9a1c0 6a 73 6f 6e 29 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 73 74 72 69 json),.$json);.}.elseif.(is_stri
9a1e0 6e 67 28 24 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a ng($json)).{.$config.=.JsonFile:
9a200 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 :parseJson($json);.}..return.$th
9a220 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 7d 0a 3c is->loader->load($config);.}.}.<
9a240 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
9a260 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 er\Package\Loader;.......interfa
9a280 63 65 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ce.LoaderInterface.{........publ
9a2a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 2c ic.function.load(array.$package,
9a2c0 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 .$class.=.'Composer\Package\Comp
9a2e0 6c 65 74 65 50 61 63 6b 61 67 65 27 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a letePackage');.}.<?php..........
9a300 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 ..namespace.Composer\Package\Loa
9a320 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 der;..use.Composer\Package\BaseP
9a340 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 ackage;.use.Composer\Package\Ali
9a360 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a asPackage;.use.Composer\Config;.
9a380 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 use.Composer\Package\RootPackage
9a3a0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f Interface;.use.Composer\Reposito
9a3c0 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 ry\RepositoryFactory;.use.Compos
9a3e0 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 er\Package\Version\VersionGuesse
9a400 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c r;.use.Composer\Package\Version\
9a420 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f VersionParser;.use.Composer\Repo
9a440 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f sitory\RepositoryManager;.use.Co
9a460 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a mposer\Util\ProcessExecutor;....
9a480 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 20 65 78 74 .....class.RootPackageLoader.ext
9a4a0 65 6e 64 73 20 41 72 72 61 79 4c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d ends.ArrayLoader.{....private.$m
9a4c0 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a anager;.....private.$config;....
9a4e0 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 0a 70 75 62 6c 69 .private.$versionGuesser;..publi
9a500 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 65 70 6f 73 69 74 6f 72 c.function.__construct(Repositor
9a520 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 yManager.$manager,.Config.$confi
9a540 67 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 2c g,.VersionParser.$parser.=.null,
9a560 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 24 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 .VersionGuesser.$versionGuesser.
9a580 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 =.null).{.parent::__construct($p
9a5a0 61 72 73 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 arser);..$this->manager.=.$manag
9a5c0 65 72 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 er;.$this->config.=.$config;.$th
9a5e0 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 3d 20 24 76 65 72 73 69 6f 6e 47 75 65 is->versionGuesser.=.$versionGue
9a600 73 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e 66 sser.?:.new.VersionGuesser($conf
9a620 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 2c 20 24 74 68 69 73 ig,.new.ProcessExecutor(),.$this
9a640 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ->versionParser);.}........publi
9a660 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 c.function.load(array.$config,.$
9a680 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 class.=.'Composer\Package\RootPa
9a6a0 63 6b 61 67 65 27 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 ckage',.$cwd.=.null).{.if.(!isse
9a6c0 74 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 6e t($config['name'])).{.$config['n
9a6e0 61 6d 65 27 5d 20 3d 20 27 5f 5f 72 6f 6f 74 5f 5f 27 3b 0a 7d 0a 24 61 75 74 6f 56 65 72 73 69 ame'].=.'__root__';.}.$autoVersi
9a700 6f 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 oned.=.false;.if.(!isset($config
9a720 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 6e 75 6c 6c 3b 0a ['version'])).{.$commit.=.null;.
9a740 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 ...if.(getenv('COMPOSER_ROOT_VER
9a760 53 49 4f 4e 27 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 67 SION')).{.$config['version'].=.g
9a780 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 29 3b 0a etenv('COMPOSER_ROOT_VERSION');.
9a7a0 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 76 }.else.{.$versionData.=.$this->v
9a7c0 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 63 6f 6e ersionGuesser->guessVersion($con
9a7e0 66 69 67 2c 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 29 3b 0a 69 66 20 28 24 76 65 72 fig,.$cwd.?:.getcwd());.if.($ver
9a800 73 69 6f 6e 44 61 74 61 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d sionData).{.$config['version'].=
9a820 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b .$versionData['pretty_version'];
9a840 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d .$config['version_normalized'].=
9a860 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 63 6f 6d 6d 69 .$versionData['version'];.$commi
9a880 74 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 7d 0a t.=.$versionData['commit'];.}.}.
9a8a0 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 .if.(!isset($config['version']))
9a8c0 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 27 3b .{.$config['version'].=.'1.0.0';
9a8e0 0a 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 .$autoVersioned.=.true;.}..if.($
9a900 63 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 61 72 commit).{.$config['source'].=.ar
9a920 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 27 2c 0a ray(.'type'.=>.'',.'url'.=>.'',.
9a940 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 0a 29 3b 0a 24 63 6f 6e 66 'reference'.=>.$commit,.);.$conf
9a960 69 67 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 ig['dist'].=.array(.'type'.=>.''
9a980 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 27 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 63 ,.'url'.=>.'',.'reference'.=>.$c
9a9a0 6f 6d 6d 69 74 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 20 3d 20 24 70 ommit,.);.}.}..$realPackage.=.$p
9a9c0 61 63 6b 61 67 65 20 3d 20 70 61 72 65 6e 74 3a 3a 6c 6f 61 64 28 24 63 6f 6e 66 69 67 2c 20 24 ackage.=.parent::load($config,.$
9a9e0 63 6c 61 73 73 29 3b 0a 69 66 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 class);.if.($realPackage.instanc
9aa00 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 eof.AliasPackage).{.$realPackage
9aa20 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 69 66 .=.$package->getAliasOf();.}..if
9aa40 20 28 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 .($autoVersioned).{.$realPackage
9aa60 2d 3e 72 65 70 6c 61 63 65 56 65 72 73 69 6f 6e 28 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 67 ->replaceVersion($realPackage->g
9aa80 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 73 65 74 20 28 70 61 etVersion(),.'No.version.set.(pa
9aaa0 72 73 65 64 20 61 73 20 31 2e 30 2e 30 29 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 rsed.as.1.0.0)');.}..if.(isset($
9aac0 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a config['minimum-stability'])).{.
9aae0 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 $realPackage->setMinimumStabilit
9ab00 79 28 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c y(VersionParser::normalizeStabil
9ab20 69 74 79 28 24 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d ity($config['minimum-stability']
9ab40 29 29 3b 0a 7d 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 74 61 62 ));.}..$aliases.=.array();.$stab
9ab60 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 66 65 72 65 6e 63 65 ilityFlags.=.array();.$reference
9ab80 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 72 65 71 s.=.array();.foreach.(array('req
9aba0 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 24 6c 69 6e 6b 54 79 uire',.'require-dev').as.$linkTy
9abc0 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 pe).{.if.(isset($config[$linkTyp
9abe0 65 5d 29 29 20 7b 0a 24 6c 69 6e 6b 49 6e 66 6f 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a e])).{.$linkInfo.=.BasePackage::
9ac00 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 5b 24 6c 69 6e 6b 54 79 70 65 5d 3b 0a $supportedLinkTypes[$linkType];.
9ac20 24 6d 65 74 68 6f 64 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6c 69 6e 6b 49 6e 66 $method.=.'get'.ucfirst($linkInf
9ac40 6f 5b 27 6d 65 74 68 6f 64 27 5d 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a o['method']);.$links.=.array();.
9ac60 66 6f 72 65 61 63 68 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 24 6d 65 74 68 6f 64 28 29 foreach.($realPackage->$method()
9ac80 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 .as.$link).{.$links[$link->getTa
9aca0 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 rget()].=.$link->getConstraint()
9acc0 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 24 61 6c 69 61 73 65 73 20 ->getPrettyString();.}.$aliases.
9ace0 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 24 6c 69 6e 6b 73 2c 20 =.$this->extractAliases($links,.
9ad00 24 61 6c 69 61 73 65 73 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 74 68 $aliases);.$stabilityFlags.=.$th
9ad20 69 73 2d 3e 65 78 74 72 61 63 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 6c 69 6e 6b 73 is->extractStabilityFlags($links
9ad40 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 72 65 61 6c 50 61 63 6b 61 67 65 2d ,.$stabilityFlags,.$realPackage-
9ad60 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 29 3b 0a 24 72 65 66 65 72 65 >getMinimumStability());.$refere
9ad80 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 52 65 66 65 72 65 6e 63 65 73 28 nces.=.$this->extractReferences(
9ada0 24 6c 69 6e 6b 73 2c 20 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 $links,.$references);.}.}..if.(i
9adc0 73 73 65 74 28 24 6c 69 6e 6b 73 5b 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 5d 29 29 20 7b sset($links[$config['name']])).{
9ade0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
9ae00 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 52 6f 6f 74 20 70 61 63 6b 61 67 65 20 5c 27 25 73 5c tion(sprintf('Root.package.\'%s\
9ae20 27 20 63 61 6e 6e 6f 74 20 72 65 71 75 69 72 65 20 69 74 73 65 6c 66 20 69 6e 20 69 74 73 20 63 '.cannot.require.itself.in.its.c
9ae40 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 0a 27 44 69 64 20 79 omposer.json'...PHP_EOL...'Did.y
9ae60 6f 75 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6e 61 6d 65 20 79 6f 75 72 20 72 6f 6f 74 20 70 ou.accidentally.name.your.root.p
9ae80 61 63 6b 61 67 65 20 61 66 74 65 72 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 ackage.after.an.external.package
9aea0 3f 27 2c 20 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 3b 0a 7d 0a 0a 24 72 65 61 6c 50 ?',.$config['name']));.}..$realP
9aec0 61 63 6b 61 67 65 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 3b 0a 24 72 ackage->setAliases($aliases);.$r
9aee0 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 73 ealPackage->setStabilityFlags($s
9af00 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 tabilityFlags);.$realPackage->se
9af20 74 52 65 66 65 72 65 6e 63 65 73 28 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 0a 69 66 20 28 69 tReferences($references);..if.(i
9af40 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 29 20 sset($config['prefer-stable'])).
9af60 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 {.$realPackage->setPreferStable(
9af80 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 (bool).$config['prefer-stable'])
9afa0 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d ;.}..if.(isset($config['config']
9afc0 29 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f )).{.$realPackage->setConfig($co
9afe0 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 20 3d 20 52 65 70 nfig['config']);.}..$repos.=.Rep
9b000 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 6e 75 6c ositoryFactory::defaultRepos(nul
9b020 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 l,.$this->config,.$this->manager
9b040 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 );.foreach.($repos.as.$repo).{.$
9b060 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 this->manager->addRepository($re
9b080 70 6f 29 3b 0a 7d 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f po);.}.$realPackage->setReposito
9b0a0 72 69 65 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 ries($this->config->getRepositor
9b0c0 69 65 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 70 72 69 ies());..return.$package;.}..pri
9b0e0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 61 72 72 vate.function.extractAliases(arr
9b100 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a ay.$requires,.array.$aliases).{.
9b120 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d foreach.($requires.as.$reqName.=
9b140 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 >.$reqVersion).{.if.(preg_match(
9b160 27 7b 5e 28 5b 5e 2c 5c 73 23 5d 2b 29 28 3f 3a 23 5b 5e 20 5d 2b 29 3f 20 2b 61 73 20 2b 28 5b '{^([^,\s#]+)(?:#[^.]+)?.+as.+([
9b180 5e 2c 5c 73 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 ^,\s]+)$}',.$reqVersion,.$match)
9b1a0 29 20 7b 0a 24 61 6c 69 61 73 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 ).{.$aliases[].=.array(.'package
9b1c0 27 20 3d 3e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 2c 0a 27 76 65 72 73 '.=>.strtolower($reqName),.'vers
9b1e0 69 6f 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f ion'.=>.$this->versionParser->no
9b200 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 29 2c rmalize($match[1],.$reqVersion),
9b220 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f .'alias'.=>.$match[2],.'alias_no
9b240 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 rmalized'.=>.$this->versionParse
9b260 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 72 65 71 56 65 72 73 r->normalize($match[2],.$reqVers
9b280 69 6f 6e 29 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 69 61 73 65 73 3b 0a 7d ion),.);.}.}..return.$aliases;.}
9b2a0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 53 74 61 62 69 6c ..private.function.extractStabil
9b2c0 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 ityFlags(array.$requires,.array.
9b2e0 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 $stabilityFlags,.$minimumStabili
9b300 74 79 29 0a 7b 0a 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 ty).{.$stabilities.=.BasePackage
9b320 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 3b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 ::$stabilities;.$minimumStabilit
9b340 79 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 y.=.$stabilities[$minimumStabili
9b360 74 79 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e ty];.foreach.($requires.as.$reqN
9b380 61 6d 65 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e ame.=>.$reqVersion).{.$constrain
9b3a0 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 6f 72 53 70 6c 69 74 20 3d 20 70 72 65 67 ts.=.array();....$orSplit.=.preg
9b3c0 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 7c 5c 7c 3f 5c 73 2a 7d 27 2c 20 74 72 69 6d 28 24 72 65 _split('{\s*\|\|?\s*}',.trim($re
9b3e0 71 56 65 72 73 69 6f 6e 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 72 53 70 6c 69 74 20 61 73 qVersion));.foreach.($orSplit.as
9b400 20 24 6f 72 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 61 6e 64 53 70 6c 69 74 20 3d 20 70 72 .$orConstraint).{.$andSplit.=.pr
9b420 65 67 5f 73 70 6c 69 74 28 27 7b 28 3f 3c 21 5e 7c 61 73 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f eg_split('{(?<!^|as|[=><.,]).*(?
9b440 3c 21 2d 29 5b 2c 20 5d 28 3f 21 2d 29 20 2a 28 3f 21 2c 7c 61 73 7c 24 29 7d 27 2c 20 24 6f 72 <!-)[,.](?!-).*(?!,|as|$)}',.$or
9b460 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 6e 64 53 70 6c 69 74 20 Constraint);.foreach.($andSplit.
9b480 61 73 20 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 as.$andConstraint).{.$constraint
9b4a0 73 5b 5d 20 3d 20 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6d 61 s[].=.$andConstraint;.}.}....$ma
9b4c0 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e tch.=.false;.foreach.($constrain
9b4e0 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 ts.as.$constraint).{.if.(preg_ma
9b500 74 63 68 28 27 7b 5e 5b 5e 40 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 tch('{^[^@]*?@('.implode('|',.ar
9b520 72 61 79 5f 6b 65 79 73 28 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 24 7d 69 27 2c 20 ray_keys($stabilities)).')$}i',.
9b540 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 $constraint,.$match)).{.$name.=.
9b560 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 strtolower($reqName);.$stability
9b580 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e .=.$stabilities[VersionParser::n
9b5a0 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 5d 3b 0a 0a ormalizeStability($match[1])];..
9b5c0 69 66 20 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d if.(isset($stabilityFlags[$name]
9b5e0 29 20 26 26 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3e 20 24 73 ).&&.$stabilityFlags[$name].>.$s
9b600 74 61 62 69 6c 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 74 61 62 69 6c 69 tability).{.continue;.}.$stabili
9b620 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 24 6d 61 tyFlags[$name].=.$stability;.$ma
9b640 74 63 68 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 29 20 7b 0a 63 tch.=.true;.}.}..if.($match).{.c
9b660 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 ontinue;.}..foreach.($constraint
9b680 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 0a 20 0a 20 24 72 65 71 56 65 72 73 s.as.$constraint).{.....$reqVers
9b6a0 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 2c 5c 73 40 5d 2b 29 ion.=.preg_replace('{^([^,\s@]+)
9b6c0 20 61 73 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 69 .as..+$}',.'$1',.$constraint);.i
9b6e0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 40 5d 2b 24 7d 27 2c 20 24 72 f.(preg_match('{^[^,\s@]+$}',.$r
9b700 65 71 56 65 72 73 69 6f 6e 29 20 26 26 20 27 73 74 61 62 6c 65 27 20 21 3d 3d 20 28 24 73 74 61 eqVersion).&&.'stable'.!==.($sta
9b720 62 69 6c 69 74 79 4e 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 bilityName.=.VersionParser::pars
9b740 65 53 74 61 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 6f 6e 29 29 29 20 7b 0a 24 6e 61 6d eStability($reqVersion))).{.$nam
9b760 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 e.=.strtolower($reqName);.$stabi
9b780 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 4e 61 lity.=.$stabilities[$stabilityNa
9b7a0 6d 65 5d 3b 0a 69 66 20 28 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b me];.if.((isset($stabilityFlags[
9b7c0 24 6e 61 6d 65 5d 29 20 26 26 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 $name]).&&.$stabilityFlags[$name
9b7e0 5d 20 3e 20 24 73 74 61 62 69 6c 69 74 79 29 20 7c 7c 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 ].>.$stability).||.($minimumStab
9b800 69 6c 69 74 79 20 3e 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b ility.>.$stability)).{.continue;
9b820 0a 7d 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 .}.$stabilityFlags[$name].=.$sta
9b840 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 bility;.}.}.}..return.$stability
9b860 46 6c 61 67 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 Flags;.}..private.function.extra
9b880 63 74 52 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 ctReferences(array.$requires,.ar
9b8a0 72 61 79 20 24 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 ray.$references).{.foreach.($req
9b8c0 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e uires.as.$reqName.=>.$reqVersion
9b8e0 29 20 7b 0a 24 72 65 71 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ).{.$reqVersion.=.preg_replace('
9b900 7b 5e 28 5b 5e 2c 5c 73 40 5d 2b 29 20 61 73 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 72 65 {^([^,\s@]+).as..+$}',.'$1',.$re
9b920 71 56 65 72 73 69 6f 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c qVersion);.if.(preg_match('{^[^,
9b940 5c 73 40 5d 2b 3f 23 28 5b 61 2d 66 30 2d 39 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 \s@]+?#([a-f0-9]+)$}',.$reqVersi
9b960 6f 6e 2c 20 24 6d 61 74 63 68 29 20 26 26 20 27 64 65 76 27 20 3d 3d 3d 20 56 65 72 73 69 6f 6e on,.$match).&&.'dev'.===.Version
9b980 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 Parser::parseStability($reqVersi
9b9a0 6f 6e 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 on)).{.$name.=.strtolower($reqNa
9b9c0 6d 65 29 3b 0a 24 72 65 66 65 72 65 6e 63 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 61 74 63 68 me);.$references[$name].=.$match
9b9e0 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a [1];.}.}..return.$references;.}.
9ba00 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
9ba20 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f poser\Package\Loader;..use.Compo
9ba40 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d ser\Package\BasePackage;.use.Com
9ba60 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 poser\Semver\Constraint\Constrai
9ba80 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e nt;.use.Composer\Package\Version
9baa0 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 \VersionParser;.use.Composer\Rep
9bac0 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 ository\PlatformRepository;.use.
9bae0 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a Composer\Spdx\SpdxLicenses;.....
9bb00 63 6c 61 73 73 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 20 69 6d 70 6c class.ValidatingArrayLoader.impl
9bb20 65 6d 65 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 43 ements.LoaderInterface.{.const.C
9bb40 48 45 43 4b 5f 41 4c 4c 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 55 4e 42 4f 55 4e HECK_ALL.=.3;.const.CHECK_UNBOUN
9bb60 44 5f 43 4f 4e 53 54 52 41 49 4e 54 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 53 D_CONSTRAINTS.=.1;.const.CHECK_S
9bb80 54 52 49 43 54 5f 43 4f 4e 53 54 52 41 49 4e 54 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 TRICT_CONSTRAINTS.=.2;..private.
9bba0 24 6c 6f 61 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b $loader;.private.$versionParser;
9bbc0 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 77 61 72 6e 69 .private.$errors;.private.$warni
9bbe0 6e 67 73 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 73 ngs;.private.$config;.private.$s
9bc00 74 72 69 63 74 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 66 6c 61 67 73 3b 0a 0a 70 75 62 6c trictName;.private.$flags;..publ
9bc20 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e ic.function.__construct(LoaderIn
9bc40 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 2c 20 24 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 74 terface.$loader,.$strictName.=.t
9bc60 72 75 65 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c rue,.VersionParser.$parser.=.nul
9bc80 6c 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d l,.$flags.=.0).{.$this->loader.=
9bca0 20 24 6c 6f 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d .$loader;.$this->versionParser.=
9bcc0 20 24 70 61 72 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b .$parser.?:.new.VersionParser();
9bce0 0a 24 74 68 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 24 73 74 72 69 63 74 4e 61 6d 65 .$this->strictName.=.$strictName
9bd00 3b 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 7d 0a 0a 70 75 62 6c ;.$this->flags.=.$flags;.}..publ
9bd20 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 ic.function.load(array.$config,.
9bd40 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c $class.=.'Composer\Package\Compl
9bd60 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 etePackage').{.$this->errors.=.a
9bd80 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 rray();.$this->warnings.=.array(
9bda0 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 69 66 20 );.$this->config.=.$config;..if.
9bdc0 28 24 74 68 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c ($this->strictName).{.$this->val
9bde0 69 64 61 74 65 52 65 67 65 78 28 27 6e 61 6d 65 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b idateRegex('name',.'[A-Za-z0-9][
9be00 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2d 5d 2a 2f 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d A-Za-z0-9_.-]*/[A-Za-z0-9][A-Za-
9be20 7a 30 2d 39 5f 2e 2d 5d 2a 27 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 z0-9_.-]*',.true);.}.else.{.$thi
9be40 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 6e 61 6d 65 27 2c 20 74 72 75 65 29 3b s->validateString('name',.true);
9be60 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 .}..if.(!empty($this->config['ve
9be80 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e rsion'])).{.try.{.$this->version
9bea0 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b Parser->normalize($this->config[
9bec0 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 'version']);.}.catch.(\Exception
9bee0 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 76 65 72 73 69 6f .$e).{.$this->errors[].=.'versio
9bf00 6e 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 n.:.invalid.value.('.$this->conf
9bf20 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 ig['version'].'):.'.$e->getMessa
9bf40 67 65 28 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 ge();.unset($this->config['versi
9bf60 6f 6e 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f on']);.}.}..if.(!empty($this->co
9bf80 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 66 nfig['config']['platform'])).{.f
9bfa0 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 63 oreach.((array).$this->config['c
9bfc0 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 onfig']['platform'].as.$key.=>.$
9bfe0 70 6c 61 74 66 6f 72 6d 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e platform).{.try.{.$this->version
9c000 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 6c 61 74 66 6f 72 6d 29 3b 0a 7d 20 Parser->normalize($platform);.}.
9c020 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 catch.(\Exception.$e).{.$this->e
9c040 72 72 6f 72 73 5b 5d 20 3d 20 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 2e 27 20 2e 20 24 rrors[].=.'config.platform.'...$
9c060 6b 65 79 20 2e 20 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 70 6c 61 74 key...'.:.invalid.value.('.$plat
9c080 66 6f 72 6d 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d form.'):.'.$e->getMessage();.}.}
9c0a0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 27 74 79 70 65 27 2c .}..$this->validateRegex('type',
9c0c0 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 2d 5d 2b 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 .'[A-Za-z0-9-]+');.$this->valida
9c0e0 74 65 53 74 72 69 6e 67 28 27 74 61 72 67 65 74 2d 64 69 72 27 29 3b 0a 24 74 68 69 73 2d 3e 76 teString('target-dir');.$this->v
9c100 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 65 78 74 72 61 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 alidateArray('extra');..if.(isse
9c120 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 69 66 20 28 69 t($this->config['bin'])).{.if.(i
9c140 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 s_string($this->config['bin'])).
9c160 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 62 69 6e 27 29 3b 0a {.$this->validateString('bin');.
9c180 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 }.else.{.$this->validateFlatArra
9c1a0 79 28 27 62 69 6e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 y('bin');.}.}..$this->validateAr
9c1c0 72 61 79 28 27 73 63 72 69 70 74 73 27 29 3b 20 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 ray('scripts');...$this->validat
9c1e0 65 53 74 72 69 6e 67 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 76 eString('description');.$this->v
9c200 61 6c 69 64 61 74 65 55 72 6c 28 27 68 6f 6d 65 70 61 67 65 27 29 3b 0a 24 74 68 69 73 2d 3e 76 alidateUrl('homepage');.$this->v
9c220 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 5b 5c alidateFlatArray('keywords',.'[\
9c240 70 7b 4e 7d 5c 70 7b 4c 7d 20 2e 5f 2d 5d 2b 27 29 3b 0a 0a 24 72 65 6c 65 61 73 65 44 61 74 65 p{N}\p{L}.._-]+');..$releaseDate
9c260 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 .=.null;.$this->validateString('
9c280 74 69 6d 65 27 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 time');.if.(!empty($this->config
9c2a0 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 6c 65 61 73 65 44 61 74 65 20 ['time'])).{.try.{.$releaseDate.
9c2c0 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 =.new.\DateTime($this->config['t
9c2e0 69 6d 65 27 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 ime'],.new.\DateTimeZone('UTC'))
9c300 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 ;.}.catch.(\Exception.$e).{.$thi
9c320 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 74 69 6d 65 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 s->errors[].=.'time.:.invalid.va
9c340 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 2e 27 29 3a lue.('.$this->config['time'].'):
9c360 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 .'.$e->getMessage();.unset($this
9c380 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 ->config['time']);.}.}....if.(is
9c3a0 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 26 26 set($this->config['license']).&&
9c3c0 20 28 21 24 72 65 6c 65 61 73 65 44 61 74 65 20 7c 7c 20 24 72 65 6c 65 61 73 65 44 61 74 65 2d .(!$releaseDate.||.$releaseDate-
9c3e0 3e 67 65 74 54 69 6d 65 73 74 61 6d 70 28 29 20 3e 3d 20 73 74 72 74 6f 74 69 6d 65 28 27 2d 38 >getTimestamp().>=.strtotime('-8
9c400 64 61 79 73 27 29 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 days'))).{.if.(is_array($this->c
9c420 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 7c 7c 20 69 73 5f 73 74 72 69 6e 67 28 24 onfig['license']).||.is_string($
9c440 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 6c 69 63 this->config['license'])).{.$lic
9c460 65 6e 73 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c enses.=.(array).$this->config['l
9c480 69 63 65 6e 73 65 27 5d 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 icense'];....foreach.($licenses.
9c4a0 61 73 20 24 6b 65 79 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 66 20 28 27 70 72 6f 70 as.$key.=>.$license).{.if.('prop
9c4c0 72 69 65 74 61 72 79 27 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 75 6e 73 65 74 28 24 rietary'.===.$license).{.unset($
9c4e0 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 56 61 licenses[$key]);.}.}..$licenseVa
9c500 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 69 66 lidator.=.new.SpdxLicenses();.if
9c520 20 28 63 6f 75 6e 74 28 24 6c 69 63 65 6e 73 65 73 29 20 3d 3d 3d 20 31 20 26 26 20 21 24 6c 69 .(count($licenses).===.1.&&.!$li
9c540 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 censeValidator->validate($licens
9c560 65 73 29 20 26 26 20 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 es).&&.$licenseValidator->valida
9c580 74 65 28 74 72 69 6d 28 24 6c 69 63 65 6e 73 65 73 5b 30 5d 29 29 29 20 7b 0a 24 74 68 69 73 2d te(trim($licenses[0]))).{.$this-
9c5a0 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 >warnings[].=.sprintf(.'License.
9c5c0 25 73 20 6d 75 73 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 65 78 74 72 61 20 73 70 61 63 65 73 %s.must.not.contain.extra.spaces
9c5e0 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 74 72 69 6d 20 69 74 2e 27 2c 0a 6a 73 6f 6e 5f 65 ,.make.sure.to.trim.it.',.json_e
9c600 6e 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a ncode($this->config['license']).
9c620 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 6c 69 63 65 6e 73 );.}.elseif.(array().!==.$licens
9c640 65 73 20 26 26 20 21 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 es.&&.!$licenseValidator->valida
9c660 74 65 28 24 6c 69 63 65 6e 73 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 te($licenses)).{.$this->warnings
9c680 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 25 73 20 69 73 20 6e 6f 74 [].=.sprintf(.'License.%s.is.not
9c6a0 20 61 20 76 61 6c 69 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 .a.valid.SPDX.license.identifier
9c6c0 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f ,.see.https://spdx.org/licenses/
9c6e0 20 69 66 20 79 6f 75 20 75 73 65 20 61 6e 20 6f 70 65 6e 20 6c 69 63 65 6e 73 65 2e 27 20 2e 20 .if.you.use.an.open.license.'...
9c700 50 48 50 5f 45 4f 4c 20 2e 0a 27 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6c PHP_EOL...'If.the.software.is.cl
9c720 6f 73 65 64 2d 73 6f 75 72 63 65 2c 20 79 6f 75 20 6d 61 79 20 75 73 65 20 22 70 72 6f 70 72 69 osed-source,.you.may.use."propri
9c740 65 74 61 72 79 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 27 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 etary".as.license.',.json_encode
9c760 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a 29 3b 0a 7d 0a ($this->config['license']).);.}.
9c780 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 61 }.}..if.($this->validateArray('a
9c7a0 75 74 68 6f 72 73 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 uthors').&&.!empty($this->config
9c7c0 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ['authors'])).{.foreach.($this->
9c7e0 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 61 75 config['authors'].as.$key.=>.$au
9c800 74 68 6f 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 68 6f 72 29 29 20 thor).{.if.(!is_array($author)).
9c820 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 {.$this->errors[].=.'authors.'.$
9c840 6b 65 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 key.'.:.should.be.an.array,.'.ge
9c860 74 74 79 70 65 28 24 61 75 74 68 6f 72 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 ttype($author).'.given';.unset($
9c880 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a this->config['authors'][$key]);.
9c8a0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 68 6f 6d 65 continue;.}.foreach.(array('home
9c8c0 70 61 67 65 27 2c 20 27 65 6d 61 69 6c 27 2c 20 27 6e 61 6d 65 27 2c 20 27 72 6f 6c 65 27 29 20 page',.'email',.'name',.'role').
9c8e0 61 73 20 24 61 75 74 68 6f 72 44 61 74 61 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 as.$authorData).{.if.(isset($aut
9c900 68 6f 72 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 hor[$authorData]).&&.!is_string(
9c920 24 61 75 74 68 6f 72 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e $author[$authorData])).{.$this->
9c940 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 27 2e 24 errors[].=.'authors.'.$key.'.'.$
9c960 61 75 74 68 6f 72 44 61 74 61 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 authorData.'.:.invalid.value,.mu
9c980 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f st.be.a.string';.unset($this->co
9c9a0 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 24 61 75 74 68 6f 72 44 61 74 nfig['authors'][$key][$authorDat
9c9c0 61 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 a]);.}.}.if.(isset($author['home
9c9e0 70 61 67 65 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 61 75 page']).&&.!$this->filterUrl($au
9ca00 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e thor['homepage'])).{.$this->warn
9ca20 69 6e 67 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 68 6f 6d 65 70 ings[].=.'authors.'.$key.'.homep
9ca40 61 67 65 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 age.:.invalid.value.('.$author['
9ca60 68 6f 6d 65 70 61 67 65 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 homepage'].'),.must.be.an.http/h
9ca80 74 74 70 73 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 ttps.URL';.unset($this->config['
9caa0 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 3b 0a 7d 0a authors'][$key]['homepage']);.}.
9cac0 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 20 26 26 20 21 if.(isset($author['email']).&&.!
9cae0 66 69 6c 74 65 72 5f 76 61 72 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c filter_var($author['email'],.FIL
9cb00 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 TER_VALIDATE_EMAIL)).{.$this->wa
9cb20 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 65 6d 61 rnings[].=.'authors.'.$key.'.ema
9cb40 69 6c 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 65 il.:.invalid.value.('.$author['e
9cb60 6d 61 69 6c 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 65 6d 61 69 6c mail'].'),.must.be.a.valid.email
9cb80 20 61 64 64 72 65 73 73 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 .address';.unset($this->config['
9cba0 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 69 66 20 authors'][$key]['email']);.}.if.
9cbc0 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b (empty($this->config['authors'][
9cbe0 24 6b 65 79 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 $key])).{.unset($this->config['a
9cc00 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 uthors'][$key]);.}.}.if.(empty($
9cc20 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a 75 6e 73 65 this->config['authors'])).{.unse
9cc40 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 7d t($this->config['authors']);.}.}
9cc60 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 75 70 70 ..if.($this->validateArray('supp
9cc80 6f 72 74 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 ort').&&.!empty($this->config['s
9cca0 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 69 73 73 upport'])).{.foreach.(array('iss
9ccc0 75 65 73 27 2c 20 27 66 6f 72 75 6d 27 2c 20 27 77 69 6b 69 27 2c 20 27 73 6f 75 72 63 65 27 2c ues',.'forum',.'wiki',.'source',
9cce0 20 27 65 6d 61 69 6c 27 2c 20 27 69 72 63 27 2c 20 27 64 6f 63 73 27 2c 20 27 72 73 73 27 29 20 .'email',.'irc',.'docs',.'rss').
9cd00 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 as.$key).{.if.(isset($this->conf
9cd20 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 ig['support'][$key]).&&.!is_stri
9cd40 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 ng($this->config['support'][$key
9cd60 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 ])).{.$this->errors[].=.'support
9cd80 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 .'.$key.'.:.invalid.value,.must.
9cda0 62 65 20 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 be.a.string';.unset($this->confi
9cdc0 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 g['support'][$key]);.}.}..if.(is
9cde0 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d set($this->config['support']['em
9ce00 61 69 6c 27 5d 29 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 74 68 69 73 2d 3e 63 6f 6e ail']).&&.!filter_var($this->con
9ce20 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c 54 45 52 5f fig['support']['email'],.FILTER_
9ce40 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e VALIDATE_EMAIL)).{.$this->warnin
9ce60 67 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 65 6d 61 69 6c 20 3a 20 69 6e 76 61 6c 69 64 20 gs[].=.'support.email.:.invalid.
9ce80 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 value.('.$this->config['support'
9cea0 5d 5b 27 65 6d 61 69 6c 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 65 ]['email'].'),.must.be.a.valid.e
9cec0 6d 61 69 6c 20 61 64 64 72 65 73 73 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 mail.address';.unset($this->conf
9cee0 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 ig['support']['email']);.}..if.(
9cf00 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 isset($this->config['support']['
9cf20 69 72 63 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 69 irc']).&&.!$this->filterUrl($thi
9cf40 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 2c 20 61 72 72 s->config['support']['irc'],.arr
9cf60 61 79 28 27 69 72 63 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 ay('irc'))).{.$this->warnings[].
9cf80 3d 20 27 73 75 70 70 6f 72 74 2e 69 72 63 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 =.'support.irc.:.invalid.value.(
9cfa0 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 '.$this->config['support']['irc'
9cfc0 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 69 72 63 3a 2f 2f 3c 73 65 72 76 65 72 3e 2f 3c ].'),.must.be.a.irc://<server>/<
9cfe0 63 68 61 6e 6e 65 6c 3e 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 channel>.URL';.unset($this->conf
9d000 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 ig['support']['irc']);.}..foreac
9d020 68 20 28 61 72 72 61 79 28 27 69 73 73 75 65 73 27 2c 20 27 66 6f 72 75 6d 27 2c 20 27 77 69 6b h.(array('issues',.'forum',.'wik
9d040 69 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 64 6f 63 73 27 29 20 61 73 20 24 6b 65 79 29 20 7b i',.'source',.'docs').as.$key).{
9d060 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 .if.(isset($this->config['suppor
9d080 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 t'][$key]).&&.!$this->filterUrl(
9d0a0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 29 $this->config['support'][$key]))
9d0c0 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e .{.$this->warnings[].=.'support.
9d0e0 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 '.$key.'.:.invalid.value.('.$thi
9d100 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 2e 27 29 2c 20 6d s->config['support'][$key].'),.m
9d120 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c 27 3b 0a 75 6e 73 65 74 ust.be.an.http/https.URL';.unset
9d140 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 ($this->config['support'][$key])
9d160 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 ;.}.}.if.(empty($this->config['s
9d180 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 upport'])).{.unset($this->config
9d1a0 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a 7d 0a 0a 24 75 6e 62 6f 75 6e 64 43 6f 6e 73 74 ['support']);.}.}..$unboundConst
9d1c0 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 74 68 69 raint.=.new.Constraint('=',.$thi
9d1e0 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 27 64 65 76 s->versionParser->normalize('dev
9d200 2d 6d 61 73 74 65 72 27 29 29 3b 0a 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 -master'));.$stableConstraint.=.
9d220 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 27 31 2e 30 2e 30 27 29 3b 0a 0a 66 new.Constraint('=',.'1.0.0');..f
9d240 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a oreach.(array_keys(BasePackage::
9d260 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 29 20 61 73 20 24 6c 69 6e 6b 54 79 70 $supportedLinkTypes).as.$linkTyp
9d280 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 6c e).{.if.($this->validateArray($l
9d2a0 69 6e 6b 54 79 70 65 29 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b inkType).&&.isset($this->config[
9d2c0 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 $linkType])).{.foreach.($this->c
9d2e0 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 onfig[$linkType].as.$package.=>.
9d300 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 $constraint).{.if.(!preg_match('
9d320 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 29 {^[A-Za-z0-9_./-]+$}',.$package)
9d340 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 ).{.$this->warnings[].=.$linkTyp
9d360 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 6b 65 79 2c 20 e.'.'.$package.'.:.invalid.key,.
9d380 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 6d 75 73 74 20 62 65 20 73 74 72 69 6e 67 73 20 63 6f package.names.must.be.strings.co
9d3a0 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 27 3b 0a ntaining.only.[A-Za-z0-9_./-]';.
9d3c0 7d 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b }.if.(!is_string($constraint)).{
9d3e0 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 .$this->errors[].=.$linkType.'.'
9d400 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 .$package.'.:.invalid.value,.mus
9d420 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 76 65 72 73 69 t.be.a.string.containing.a.versi
9d440 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e on.constraint';.unset($this->con
9d460 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 65 6c 73 fig[$linkType][$package]);.}.els
9d480 65 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 eif.('self.version'.!==.$constra
9d4a0 69 6e 74 29 20 7b 0a 74 72 79 20 7b 0a 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 int).{.try.{.$linkConstraint.=.$
9d4c0 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 this->versionParser->parseConstr
9d4e0 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 aints($constraint);.}.catch.(\Ex
9d500 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 ception.$e).{.$this->errors[].=.
9d520 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c $linkType.'.'.$package.'.:.inval
9d540 69 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 28 27 2e 24 65 2d 3e 67 65 74 id.version.constraint.('.$e->get
9d560 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 Message().')';.unset($this->conf
9d580 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 63 6f 6e 74 69 6e ig[$linkType][$package]);.contin
9d5a0 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 0a 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 ue;.}....if.(.($this->flags.&.se
9d5c0 6c 66 3a 3a 43 48 45 43 4b 5f 55 4e 42 4f 55 4e 44 5f 43 4f 4e 53 54 52 41 49 4e 54 53 29 0a 26 lf::CHECK_UNBOUND_CONSTRAINTS).&
9d5e0 26 20 27 72 65 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c 69 6e 6b 54 79 70 65 0a 26 26 20 24 6c 69 &.'require'.===.$linkType.&&.$li
9d600 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 75 6e 62 6f 75 6e 64 43 6f nkConstraint->matches($unboundCo
9d620 6e 73 74 72 61 69 6e 74 29 0a 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 nstraint).&&.!preg_match(Platfor
9d640 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 mRepository::PLATFORM_PACKAGE_RE
9d660 47 45 58 2c 20 24 70 61 63 6b 61 67 65 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e GEX,.$package).).{.$this->warnin
9d680 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 gs[].=.$linkType.'.'.$package.'.
9d6a0 3a 20 75 6e 62 6f 75 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 27 :.unbound.version.constraints.('
9d6c0 2e 24 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 .$constraint.').should.be.avoide
9d6e0 64 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 0a 0a 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 d';.}.elseif.(...($this->flags.&
9d700 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 53 54 52 49 43 54 5f 43 4f 4e 53 54 52 41 49 4e 54 53 29 .self::CHECK_STRICT_CONSTRAINTS)
9d720 0a 26 26 20 27 72 65 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c 69 6e 6b 54 79 70 65 0a 26 26 20 73 .&&.'require'.===.$linkType.&&.s
9d740 75 62 73 74 72 28 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2c 20 30 2c 20 31 29 20 3d 3d 3d ubstr($linkConstraint,.0,.1).===
9d760 20 27 3d 27 0a 26 26 20 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 76 65 72 73 69 .'='.&&.$stableConstraint->versi
9d780 6f 6e 43 6f 6d 70 61 72 65 28 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6c 69 onCompare($stableConstraint,.$li
9d7a0 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2c 20 27 3c 3d 27 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 77 nkConstraint,.'<=').).{.$this->w
9d7c0 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 arnings[].=.$linkType.'.'.$packa
9d7e0 67 65 2e 27 20 3a 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 ge.'.:.exact.version.constraints
9d800 20 28 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f .('.$constraint.').should.be.avo
9d820 69 64 65 64 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 66 6f 6c 6c 6f 77 73 20 73 65 6d 61 ided.if.the.package.follows.sema
9d840 6e 74 69 63 20 76 65 72 73 69 6f 6e 69 6e 67 27 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 ntic.versioning';.}.}.}.}.}..if.
9d860 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 75 67 67 65 73 74 27 29 ($this->validateArray('suggest')
9d880 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 .&&.!empty($this->config['sugges
9d8a0 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 t'])).{.foreach.($this->config['
9d8c0 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 64 65 73 63 72 69 suggest'].as.$package.=>.$descri
9d8e0 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 64 65 73 63 72 69 70 ption).{.if.(!is_string($descrip
9d900 74 69 6f 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 73 75 67 67 tion)).{.$this->errors[].=.'sugg
9d920 65 73 74 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 est.'.$package.'.:.invalid.value
9d940 2c 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 77 68 ,.must.be.a.string.describing.wh
9d960 79 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 75 6e 73 y.the.package.is.suggested';.uns
9d980 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 5b 24 70 61 63 et($this->config['suggest'][$pac
9d9a0 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 kage]);.}.}.}..if.($this->valida
9d9c0 74 65 53 74 72 69 6e 67 28 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 29 20 26 26 teString('minimum-stability').&&
9d9e0 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 .!empty($this->config['minimum-s
9da00 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 tability'])).{.if.(!isset(BasePa
9da20 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ckage::$stabilities[$this->confi
9da40 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 5d 29 29 20 7b 0a 24 74 68 69 g['minimum-stability']])).{.$thi
9da60 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 s->errors[].=.'minimum-stability
9da80 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 .:.invalid.value.('.$this->confi
9daa0 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 2e 27 29 2c 20 6d 75 73 74 20 g['minimum-stability'].'),.must.
9dac0 62 65 20 6f 6e 65 20 6f 66 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f be.one.of.'.implode(',.',.array_
9dae0 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 keys(BasePackage::$stabilities))
9db00 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 ;.unset($this->config['minimum-s
9db20 74 61 62 69 6c 69 74 79 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c tability']);.}.}..if.($this->val
9db40 69 64 61 74 65 41 72 72 61 79 28 27 61 75 74 6f 6c 6f 61 64 27 29 20 26 26 20 21 65 6d 70 74 79 idateArray('autoload').&&.!empty
9db60 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 ($this->config['autoload'])).{.$
9db80 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 27 70 73 72 2d 30 27 2c 20 27 70 73 72 2d 34 27 2c 20 types.=.array('psr-0',.'psr-4',.
9dba0 27 63 6c 61 73 73 6d 61 70 27 2c 20 27 66 69 6c 65 73 27 2c 20 27 65 78 63 6c 75 64 65 2d 66 72 'classmap',.'files',.'exclude-fr
9dbc0 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 om-classmap');.foreach.($this->c
9dbe0 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 74 onfig['autoload'].as.$type.=>.$t
9dc00 79 70 65 43 6f 6e 66 69 67 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 74 79 70 65 ypeConfig).{.if.(!in_array($type
9dc20 2c 20 24 74 79 70 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 ,.$types)).{.$this->errors[].=.'
9dc40 61 75 74 6f 6c 6f 61 64 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 79 70 autoload.:.invalid.value.('.$typ
9dc60 65 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 27 2e 69 6d 70 6c 6f 64 65 28 27 e.'),.must.be.one.of.'.implode('
9dc80 2c 20 27 2c 20 24 74 79 70 65 73 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ,.',.$types);.unset($this->confi
9dca0 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 69 66 20 28 24 74 79 g['autoload'][$type]);.}.if.($ty
9dcc0 70 65 20 3d 3d 3d 20 27 70 73 72 2d 34 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 pe.===.'psr-4').{.foreach.($type
9dce0 43 6f 6e 66 69 67 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 64 69 72 73 29 20 7b Config.as.$namespace.=>.$dirs).{
9dd00 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 21 3d 3d 20 27 27 20 26 26 20 27 5c 5c 27 20 21 .if.($namespace.!==.''.&&.'\\'.!
9dd20 3d 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 2d 31 29 29 20 7b 0a 24 74 68 ==.substr($namespace,.-1)).{.$th
9dd40 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 34 20 3a is->errors[].=.'autoload.psr-4.:
9dd60 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 6e 61 6d 65 73 70 61 63 65 2e 27 29 2c .invalid.value.('.$namespace.'),
9dd80 20 6e 61 6d 65 73 70 61 63 65 73 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 .namespaces.must.end.with.a.name
9dda0 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2c 20 73 68 6f 75 6c 64 20 62 65 20 27 2e 24 6e 61 space.separator,.should.be.'.$na
9ddc0 6d 65 73 70 61 63 65 2e 27 5c 5c 5c 5c 27 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 mespace.'\\\\';.}.}.}.}.}..if.(!
9dde0 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b empty($this->config['autoload'][
9de00 27 70 73 72 2d 34 27 5d 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 'psr-4']).&&.!empty($this->confi
9de20 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 g['target-dir'])).{.$this->error
9de40 73 5b 5d 20 3d 20 27 74 61 72 67 65 74 2d 64 69 72 20 3a 20 74 68 69 73 20 63 61 6e 20 6e 6f 74 s[].=.'target-dir.:.this.can.not
9de60 20 62 65 20 75 73 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c .be.used.together.with.the.autol
9de80 6f 61 64 2e 70 73 72 2d 34 20 73 65 74 74 69 6e 67 2c 20 72 65 6d 6f 76 65 20 74 61 72 67 65 74 oad.psr-4.setting,.remove.target
9dea0 2d 64 69 72 20 74 6f 20 75 70 67 72 61 64 65 20 74 6f 20 70 73 72 2d 34 27 3b 0a 0a 20 0a 20 75 -dir.to.upgrade.to.psr-4';.....u
9dec0 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 nset($this->config['autoload']['
9dee0 70 73 72 2d 34 27 5d 29 3b 0a 7d 0a 0a 0a 20 0a 0a 0a 20 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 psr-4']);.}..........$this->vali
9df00 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 29 3b 0a 24 dateFlatArray('include-path');.$
9df20 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 74 72 61 6e 73 70 6f 72 74 2d 6f this->validateArray('transport-o
9df40 70 74 69 6f 6e 73 27 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f ptions');....if.(isset($this->co
9df60 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 29 20 nfig['extra']['branch-alias'])).
9df80 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 {.if.(!is_array($this->config['e
9dfa0 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 xtra']['branch-alias'])).{.$this
9dfc0 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 ->errors[].=.'extra.branch-alias
9dfe0 20 3a 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 20 76 65 72 73 69 6f 6e 73 20 .:.must.be.an.array.of.versions.
9e000 3d 3e 20 61 6c 69 61 73 65 73 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 =>.aliases';.}.else.{.foreach.($
9e020 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c this->config['extra']['branch-al
9e040 69 61 73 27 5d 20 61 73 20 24 73 6f 75 72 63 65 42 72 61 6e 63 68 20 3d 3e 20 24 74 61 72 67 65 ias'].as.$sourceBranch.=>.$targe
9e060 74 42 72 61 6e 63 68 29 20 7b 0a 0a 20 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 tBranch).{...if.('-dev'.!==.subs
9e080 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e tr($targetBranch,.-4)).{.$this->
9e0a0 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 warnings[].=.'extra.branch-alias
9e0c0 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 74 20 .'.$sourceBranch.'.:.the.target.
9e0e0 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 6d 75 73 74 20 branch.('.$targetBranch.').must.
9e100 65 6e 64 20 69 6e 20 2d 64 65 76 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 end.in.-dev';.unset($this->confi
9e120 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 73 6f 75 72 g['extra']['branch-alias'][$sour
9e140 63 65 42 72 61 6e 63 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c ceBranch]);..continue;.}....$val
9e160 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 idatedTargetBranch.=.$this->vers
9e180 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 73 75 62 73 74 ionParser->normalizeBranch(subst
9e1a0 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 2d 34 29 29 3b 0a 69 66 20 28 27 2d r($targetBranch,.0,.-4));.if.('-
9e1c0 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 dev'.!==.substr($validatedTarget
9e1e0 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d Branch,.-4)).{.$this->warnings[]
9e200 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 .=.'extra.branch-alias.'.$source
9e220 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e Branch.'.:.the.target.branch.('.
9e240 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 6d 75 73 74 20 62 65 20 61 20 70 61 72 73 65 $targetBranch.').must.be.a.parse
9e260 61 62 6c 65 20 6e 75 6d 62 65 72 20 6c 69 6b 65 20 32 2e 30 2d 64 65 76 27 3b 0a 75 6e 73 65 74 able.number.like.2.0-dev';.unset
9e280 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d ($this->config['extra']['branch-
9e2a0 61 6c 69 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e alias'][$sourceBranch]);..contin
9e2c0 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 65 50 72 65 66 69 78 20 3d 20 24 74 ue;.}....if.(($sourcePrefix.=.$t
9e2e0 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 his->versionParser->parseNumeric
9e300 41 6c 69 61 73 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 29 29 0a 26 26 20 28 AliasPrefix($sourceBranch)).&&.(
9e320 24 74 61 72 67 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 $targetPrefix.=.$this->versionPa
9e340 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 74 rser->parseNumericAliasPrefix($t
9e360 61 72 67 65 74 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 72 69 70 6f 73 28 24 74 61 72 67 65 argetBranch)).&&.(stripos($targe
9e380 74 50 72 65 66 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 69 78 29 20 21 3d 3d 20 30 29 0a 29 tPrefix,.$sourcePrefix).!==.0).)
9e3a0 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 .{.$this->warnings[].=.'extra.br
9e3c0 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a 20 74 anch-alias.'.$sourceBranch.'.:.t
9e3e0 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 6e 63 he.target.branch.('.$targetBranc
9e400 68 2e 27 29 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6e 75 6d 65 72 69 63 20 61 6c 69 61 h.').is.not.a.valid.numeric.alia
9e420 73 20 66 6f 72 20 74 68 69 73 20 76 65 72 73 69 6f 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 s.for.this.version';.unset($this
9e440 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 ->config['extra']['branch-alias'
9e460 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 ][$sourceBranch]);.}.}.}.}..if.(
9e480 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c $this->errors).{.throw.new.Inval
9e4a0 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 idPackageException($this->errors
9e4c0 2c 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a ,.$this->warnings,.$config);.}..
9e4e0 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 $package.=.$this->loader->load($
9e500 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f this->config,.$class);.$this->co
9e520 6e 66 69 67 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d nfig.=.null;..return.$package;.}
9e540 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 61 72 6e 69 6e 67 73 28 29 0a ..public.function.getWarnings().
9e560 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 3b 0a 7d 0a 0a 70 75 62 {.return.$this->warnings;.}..pub
9e580 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 lic.function.getErrors().{.retur
9e5a0 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 n.$this->errors;.}..private.func
9e5c0 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 70 72 6f 70 65 72 74 79 2c 20 24 72 tion.validateRegex($property,.$r
9e5e0 65 67 65 78 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 egex,.$mandatory.=.false).{.if.(
9e600 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 74 79 !$this->validateString($property
9e620 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ,.$mandatory)).{.return.false;.}
9e640 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 72 65 67 65 78 2e 27 24 ..if.(!preg_match('{^'.$regex.'$
9e660 7d 75 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 }u',.$this->config[$property])).
9e680 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e 76 61 6c {.$message.=.$property.'.:.inval
9e6a0 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 id.value.('.$this->config[$prope
9e6c0 72 74 79 5d 2e 27 29 2c 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b 0a 69 66 rty].'),.must.match.'.$regex;.if
9e6e0 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 .($mandatory).{.$this->errors[].
9e700 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e =.$message;.}.else.{.$this->warn
9e720 69 6e 67 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 ings[].=.$message;.}.unset($this
9e740 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 ->config[$property]);..return.fa
9e760 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 lse;.}..return.true;.}..private.
9e780 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 74 function.validateString($propert
9e7a0 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 y,.$mandatory.=.false).{.if.(iss
9e7c0 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 26 26 20 et($this->config[$property]).&&.
9e7e0 21 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 !is_string($this->config[$proper
9e800 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 ty])).{.$this->errors[].=.$prope
9e820 72 74 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 2c 20 27 2e 67 65 rty.'.:.should.be.a.string,.'.ge
9e840 74 74 79 70 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 2e ttype($this->config[$property]).
9e860 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 '.given';.unset($this->config[$p
9e880 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 roperty]);..return.false;.}..if.
9e8a0 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d (!isset($this->config[$property]
9e8c0 29 20 7c 7c 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 ).||.trim($this->config[$propert
9e8e0 79 5d 29 20 3d 3d 3d 20 27 27 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a y]).===.'').{.if.($mandatory).{.
9e900 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 $this->errors[].=.$property.'.:.
9e920 6d 75 73 74 20 62 65 20 70 72 65 73 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d must.be.present';.}.unset($this-
9e940 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c >config[$property]);..return.fal
9e960 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 se;.}..return.true;.}..private.f
9e980 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c unction.validateArray($property,
9e9a0 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 .$mandatory.=.false).{.if.(isset
9e9c0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 26 26 20 21 69 ($this->config[$property]).&&.!i
9e9e0 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d s_array($this->config[$property]
9ea00 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 )).{.$this->errors[].=.$property
9ea20 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 74 74 79 .'.:.should.be.an.array,.'.getty
9ea40 70 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 2e 27 20 67 pe($this->config[$property]).'.g
9ea60 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 iven';.unset($this->config[$prop
9ea80 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 erty]);..return.false;.}..if.(!i
9eaa0 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 7c sset($this->config[$property]).|
9eac0 7c 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 |.!count($this->config[$property
9eae0 5d 29 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 ])).{.if.($mandatory).{.$this->e
9eb00 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 rrors[].=.$property.'.:.must.be.
9eb20 70 72 65 73 65 6e 74 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 present.and.contain.at.least.one
9eb40 20 65 6c 65 6d 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .element';.}.unset($this->config
9eb60 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a [$property]);..return.false;.}..
9eb80 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e return.true;.}..private.function
9eba0 20 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c 20 24 72 .validateFlatArray($property,.$r
9ebc0 65 67 65 78 20 3d 20 6e 75 6c 6c 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 egex.=.null,.$mandatory.=.false)
9ebe0 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 70 72 .{.if.(!$this->validateArray($pr
9ec00 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 operty,.$mandatory)).{.return.fa
9ec20 6c 73 65 3b 0a 7d 0a 0a 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 lse;.}..$pass.=.true;.foreach.($
9ec40 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 20 61 73 20 24 6b 65 79 20 this->config[$property].as.$key.
9ec60 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c =>.$value).{.if.(!is_string($val
9ec80 75 65 29 20 26 26 20 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 ue).&&.!is_numeric($value)).{.$t
9eca0 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 2e 27 2e 24 6b his->errors[].=.$property.'.'.$k
9ecc0 65 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 6f 72 20 69 6e 74 2c 20 ey.'.:.must.be.a.string.or.int,.
9ece0 27 2e 67 65 74 74 79 70 65 28 24 76 61 6c 75 65 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 '.gettype($value).'.given';.unse
9ed00 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 5b 24 6b 65 79 5d t($this->config[$property][$key]
9ed20 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a );.$pass.=.false;..continue;.}..
9ed40 69 66 20 28 24 72 65 67 65 78 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 if.($regex.&&.!preg_match('{^'.$
9ed60 72 65 67 65 78 2e 27 24 7d 75 27 2c 20 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 regex.'$}u',.$value)).{.$this->w
9ed80 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 2e 27 2e 24 6b 65 79 2e 27 arnings[].=.$property.'.'.$key.'
9eda0 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 76 61 6c 75 65 2e 27 29 2c 20 6d .:.invalid.value.('.$value.'),.m
9edc0 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d ust.match.'.$regex;.unset($this-
9ede0 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 5b 24 6b 65 79 5d 29 3b 0a 24 70 61 73 73 >config[$property][$key]);.$pass
9ee00 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 73 73 3b 0a 7d 0a 0a .=.false;.}.}..return.$pass;.}..
9ee20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 55 72 6c 28 24 70 72 private.function.validateUrl($pr
9ee40 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 operty,.$mandatory.=.false).{.if
9ee60 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 .(!$this->validateString($proper
9ee80 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ty,.$mandatory)).{.return.false;
9eea0 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 69 73 2d .}..if.(!$this->filterUrl($this-
9eec0 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 >config[$property])).{.$this->wa
9eee0 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 rnings[].=.$property.'.:.invalid
9ef00 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 .value.('.$this->config[$propert
9ef20 79 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c y].'),.must.be.an.http/https.URL
9ef40 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 ';.unset($this->config[$property
9ef60 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 ]);..return.false;.}..return.tru
9ef80 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 55 72 6c e;.}..private.function.filterUrl
9efa0 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 20 24 73 63 68 65 6d 65 73 20 3d 20 61 72 72 61 79 28 ($value,.array.$schemes.=.array(
9efc0 27 68 74 74 70 27 2c 20 27 68 74 74 70 73 27 29 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 'http',.'https')).{.if.($value.=
9efe0 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 62 69 74 73 20 3d ==.'').{.return.true;.}..$bits.=
9f000 20 70 61 72 73 65 5f 75 72 6c 28 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 62 .parse_url($value);.if.(empty($b
9f020 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 62 69 74 73 5b 27 68 its['scheme']).||.empty($bits['h
9f040 6f 73 74 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 ost'])).{.return.false;.}..if.(!
9f060 69 6e 5f 61 72 72 61 79 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 2c 20 24 73 63 68 65 6d in_array($bits['scheme'],.$schem
9f080 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 es,.true)).{.return.false;.}..re
9f0a0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.true;.}.}.<?php............
9f0c0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 namespace.Composer\Package;..use
9f0e0 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d .Composer\Json\JsonFile;.use.Com
9f100 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 poser\Installer\InstallationMana
9f120 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 ger;.use.Composer\Repository\Rep
9f140 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 ositoryManager;.use.Composer\Uti
9f160 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
9f180 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 Repository\ArrayRepository;.use.
9f1a0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d Composer\Package\Dumper\ArrayDum
9f1c0 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 per;.use.Composer\Package\Loader
9f1e0 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c \ArrayLoader;.use.Composer\Util\
9f200 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c Git.as.GitUtil;.use.Composer\IO\
9f220 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 50 IOInterface;.use.Seld\JsonLint\P
9f240 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f arsingException;........class.Lo
9f260 63 6b 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 46 69 6c 65 3b 0a 70 72 69 76 61 74 cker.{.private.$lockFile;.privat
9f280 65 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 69 e.$repositoryManager;.private.$i
9f2a0 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 nstallationManager;.private.$has
9f2c0 68 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 6e 74 48 61 73 68 3b 0a 70 72 69 76 61 74 65 h;.private.$contentHash;.private
9f2e0 20 24 6c 6f 61 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 64 75 6d 70 65 72 3b 0a 70 72 69 76 61 .$loader;.private.$dumper;.priva
9f300 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 44 61 74 61 43 61 te.$process;.private.$lockDataCa
9f320 63 68 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f che;...........public.function._
9f340 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 4a 73 6f 6e _construct(IOInterface.$io,.Json
9f360 46 69 6c 65 20 24 6c 6f 63 6b 46 69 6c 65 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 File.$lockFile,.RepositoryManage
9f380 72 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 49 6e 73 74 61 6c 6c 61 74 69 r.$repositoryManager,.Installati
9f3a0 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 onManager.$installationManager,.
9f3c0 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e $composerFileContents).{.$this->
9f3e0 6c 6f 63 6b 46 69 6c 65 20 3d 20 24 6c 6f 63 6b 46 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 72 65 70 lockFile.=.$lockFile;.$this->rep
9f400 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 ositoryManager.=.$repositoryMana
9f420 67 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 ger;.$this->installationManager.
9f440 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 68 =.$installationManager;.$this->h
9f460 61 73 68 20 3d 20 6d 64 35 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 ash.=.md5($composerFileContents)
9f480 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 20 73 65 6c 66 3a 3a 67 65 74 ;.$this->contentHash.=.self::get
9f4a0 43 6f 6e 74 65 6e 74 48 61 73 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 ContentHash($composerFileContent
9f4c0 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 s);.$this->loader.=.new.ArrayLoa
9f4e0 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 65 72 20 3d der(null,.true);.$this->dumper.=
9f500 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 .new.ArrayDumper();.$this->proce
9f520 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 7d ss.=.new.ProcessExecutor($io);.}
9f540 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
9f560 67 65 74 43 6f 6e 74 65 6e 74 48 61 73 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 getContentHash($composerFileCont
9f580 65 6e 74 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 ents).{.$content.=.json_decode($
9f5a0 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 3b 0a 0a 24 72 composerFileContents,.true);..$r
9f5c0 65 6c 65 76 61 6e 74 4b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 2c 0a 27 76 65 elevantKeys.=.array(.'name',.'ve
9f5e0 72 73 69 6f 6e 27 2c 0a 27 72 65 71 75 69 72 65 27 2c 0a 27 72 65 71 75 69 72 65 2d 64 65 76 27 rsion',.'require',.'require-dev'
9f600 2c 0a 27 63 6f 6e 66 6c 69 63 74 27 2c 0a 27 72 65 70 6c 61 63 65 27 2c 0a 27 70 72 6f 76 69 64 ,.'conflict',.'replace',.'provid
9f620 65 27 2c 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 2c 0a 27 70 72 65 66 65 72 e',.'minimum-stability',.'prefer
9f640 2d 73 74 61 62 6c 65 27 2c 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 0a 27 65 78 74 72 61 -stable',.'repositories',.'extra
9f660 27 2c 0a 29 3b 0a 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 20 3d 20 61 72 72 61 79 28 ',.);..$relevantContent.=.array(
9f680 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 28 24 72 65 );..foreach.(array_intersect($re
9f6a0 6c 65 76 61 6e 74 4b 65 79 73 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6e 74 65 6e 74 29 levantKeys,.array_keys($content)
9f6c0 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 5b 24 6b ).as.$key).{.$relevantContent[$k
9f6e0 65 79 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 5b 24 6b 65 79 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 ey].=.$content[$key];.}.if.(isse
9f700 74 28 24 63 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d t($content['config']['platform']
9f720 29 29 20 7b 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b )).{.$relevantContent['config'][
9f740 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 'platform'].=.$content['config']
9f760 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 72 65 6c 65 76 61 6e 74 ['platform'];.}..ksort($relevant
9f780 43 6f 6e 74 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6d 64 35 28 6a 73 6f 6e 5f 65 6e 63 6f 64 Content);..return.md5(json_encod
9f7a0 65 28 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 e($relevantContent));.}.......pu
9f7c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 63 6b 65 64 28 29 0a 7b 0a 69 66 20 28 21 blic.function.isLocked().{.if.(!
9f7e0 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 72 65 74 $this->lockFile->exists()).{.ret
9f800 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 urn.false;.}..$data.=.$this->get
9f820 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 64 61 74 61 5b LockData();..return.isset($data[
9f840 27 70 61 63 6b 61 67 65 73 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 'packages']);.}.......public.fun
9f860 63 74 69 6f 6e 20 69 73 46 72 65 73 68 28 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 24 74 68 69 73 2d ction.isFresh().{.$lock.=.$this-
9f880 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 >lockFile->read();..if.(!empty($
9f8a0 6c 6f 63 6b 5b 27 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 5d 29 29 20 7b 0a 0a 20 72 65 74 75 72 lock['content-hash'])).{...retur
9f8c0 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 3d 3d 20 24 6c 6f 63 6b 5b 27 n.$this->contentHash.===.$lock['
9f8e0 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 content-hash'];.}....if.(!empty(
9f900 24 6c 6f 63 6b 5b 27 68 61 73 68 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e $lock['hash'])).{.return.$this->
9f920 68 61 73 68 20 3d 3d 3d 20 24 6c 6f 63 6b 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 20 72 65 74 hash.===.$lock['hash'];.}....ret
9f940 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 urn.false;.}.........public.func
9f960 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 24 77 69 74 68 44 65 tion.getLockedRepository($withDe
9f980 76 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 vReqs.=.false).{.$lockData.=.$th
9f9a0 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e is->getLockData();.$packages.=.n
9f9c0 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 6c 6f 63 6b 65 64 50 61 ew.ArrayRepository();..$lockedPa
9f9e0 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 3b 0a ckages.=.$lockData['packages'];.
9fa00 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6c if.($withDevReqs).{.if.(isset($l
9fa20 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 29 20 7b 0a 24 6c 6f 63 ockData['packages-dev'])).{.$loc
9fa40 6b 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 6f 63 6b 65 kedPackages.=.array_merge($locke
9fa60 64 50 61 63 6b 61 67 65 73 2c 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 dPackages,.$lockData['packages-d
9fa80 65 76 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 ev']);.}.else.{.throw.new.\Runti
9faa0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 64 6f 65 73 20 meException('The.lock.file.does.
9fac0 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 6e 66 6f 72 6d 61 74 not.contain.require-dev.informat
9fae0 69 6f 6e 2c 20 72 75 6e 20 69 6e 73 74 61 6c 6c 20 77 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 ion,.run.install.with.the.--no-d
9fb00 65 76 20 6f 70 74 69 6f 6e 20 6f 72 20 72 75 6e 20 75 70 64 61 74 65 20 74 6f 20 69 6e 73 74 61 ev.option.or.run.update.to.insta
9fb20 6c 6c 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 ll.those.packages.');.}.}..if.(e
9fb40 6d 70 74 79 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 mpty($lockedPackages)).{.return.
9fb60 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6c 6f 63 6b 65 64 50 $packages;.}..if.(isset($lockedP
9fb80 61 63 6b 61 67 65 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 ackages[0]['name'])).{.foreach.(
9fba0 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 69 6e 66 6f 29 20 7b 0a 24 70 61 63 $lockedPackages.as.$info).{.$pac
9fbc0 6b 61 67 65 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d kages->addPackage($this->loader-
9fbe0 3e 6c 6f 61 64 28 24 69 6e 66 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 >load($info));.}..return.$packag
9fc00 65 73 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 es;.}..throw.new.\RuntimeExcepti
9fc20 6f 6e 28 27 59 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 77 61 73 20 63 72 65 61 74 on('Your.composer.lock.was.creat
9fc40 65 64 20 62 65 66 6f 72 65 20 32 30 31 32 2d 30 39 2d 31 35 2c 20 61 6e 64 20 69 73 20 6e 6f 74 ed.before.2012-09-15,.and.is.not
9fc60 20 73 75 70 70 6f 72 74 65 64 20 61 6e 79 6d 6f 72 65 2e 20 52 75 6e 20 22 63 6f 6d 70 6f 73 65 .supported.anymore..Run."compose
9fc80 72 20 75 70 64 61 74 65 22 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 6f 6e 65 2e r.update".to.generate.a.new.one.
9fca0 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ');.}........public.function.get
9fcc0 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 77 69 74 68 44 65 76 52 65 71 PlatformRequirements($withDevReq
9fce0 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e s.=.false).{.$lockData.=.$this->
9fd00 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 getLockData();.$requirements.=.a
9fd20 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 rray();..if.(!empty($lockData['p
9fd40 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 latform'])).{.$requirements.=.$t
9fd60 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 27 5f 5f 52 4f 4f 54 his->loader->parseLinks(.'__ROOT
9fd80 5f 5f 27 2c 0a 27 31 2e 30 2e 30 27 2c 0a 27 72 65 71 75 69 72 65 73 27 2c 0a 69 73 73 65 74 28 __',.'1.0.0',.'requires',.isset(
9fda0 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 $lockData['platform']).?.$lockDa
9fdc0 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 7d 0a 0a 69 ta['platform'].:.array().);.}..i
9fde0 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 20 26 26 20 21 65 6d 70 74 79 28 24 6c 6f 63 6b 44 f.($withDevReqs.&&.!empty($lockD
9fe00 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 29 20 7b 0a 24 64 65 76 52 65 71 75 ata['platform-dev'])).{.$devRequ
9fe20 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 70 61 72 73 65 4c irements.=.$this->loader->parseL
9fe40 69 6e 6b 73 28 0a 27 5f 5f 52 4f 4f 54 5f 5f 27 2c 0a 27 31 2e 30 2e 30 27 2c 0a 27 72 65 71 75 inks(.'__ROOT__',.'1.0.0',.'requ
9fe60 69 72 65 73 27 2c 0a 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d ires',.isset($lockData['platform
9fe80 2d 64 65 76 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 -dev']).?.$lockData['platform-de
9fea0 76 27 5d 20 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 v'].:.array().);..$requirements.
9fec0 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 64 65 =.array_merge($requirements,.$de
9fee0 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 vRequirements);.}..return.$requi
9ff00 72 65 6d 65 6e 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d rements;.}..public.function.getM
9ff20 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 inimumStability().{.$lockData.=.
9ff40 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 $this->getLockData();..return.is
9ff60 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 set($lockData['minimum-stability
9ff80 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 ']).?.$lockData['minimum-stabili
9ffa0 74 79 27 5d 20 3a 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ty'].:.'stable';.}..public.funct
9ffc0 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 ion.getStabilityFlags().{.$lockD
9ffe0 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 ata.=.$this->getLockData();..ret
a0000 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 62 69 6c 69 74 79 2d 66 urn.isset($lockData['stability-f
a0020 6c 61 67 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 62 69 6c 69 74 79 2d 66 lags']).?.$lockData['stability-f
a0040 6c 61 67 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 lags'].:.array();.}..public.func
a0060 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 tion.getPreferStable().{.$lockDa
a0080 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 0a 20 0a 20 ta.=.$this->getLockData();......
a00a0 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 73 return.isset($lockData['prefer-s
a00c0 74 61 62 6c 65 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 73 74 61 table']).?.$lockData['prefer-sta
a00e0 62 6c 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ble'].:.null;.}..public.function
a0100 20 67 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d .getPreferLowest().{.$lockData.=
a0120 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 0a 20 0a 20 72 65 74 75 .$this->getLockData();......retu
a0140 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 rn.isset($lockData['prefer-lowes
a0160 74 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 t']).?.$lockData['prefer-lowest'
a0180 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ].:.null;.}..public.function.get
a01a0 50 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 PlatformOverrides().{.$lockData.
a01c0 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 =.$this->getLockData();..return.
a01e0 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 isset($lockData['platform-overri
a0200 64 65 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 des']).?.$lockData['platform-ove
a0220 72 72 69 64 65 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 rrides'].:.array();.}..public.fu
a0240 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 nction.getAliases().{.$lockData.
a0260 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 =.$this->getLockData();..return.
a0280 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d 29 20 3f 20 24 6c isset($lockData['aliases']).?.$l
a02a0 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a ockData['aliases'].:.array();.}.
a02c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 0a 7b .public.function.getLockData().{
a02e0 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 .if.(null.!==.$this->lockDataCac
a0300 68 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 he).{.return.$this->lockDataCach
a0320 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 e;.}..if.(!$this->lockFile->exis
a0340 74 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f ts()).{.throw.new.\LogicExceptio
a0360 6e 28 27 4e 6f 20 6c 6f 63 6b 66 69 6c 65 20 66 6f 75 6e 64 2e 20 55 6e 61 62 6c 65 20 74 6f 20 n('No.lockfile.found..Unable.to.
a0380 72 65 61 64 20 6c 6f 63 6b 65 64 20 70 61 63 6b 61 67 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 read.locked.packages');.}..retur
a03a0 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 20 3d 20 24 74 68 69 73 2d 3e n.$this->lockDataCache.=.$this->
a03c0 6c 6f 63 6b 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a lockFile->read();.}.............
a03e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 6b 44 61 74 61 .....public.function.setLockData
a0400 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 2c 20 (array.$packages,.$devPackages,.
a0420 61 72 72 61 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 70 6c 61 74 66 6f 72 6d 44 65 array.$platformReqs,.$platformDe
a0440 76 52 65 71 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 2c 20 24 6d 69 6e 69 6d 75 6d 53 vReqs,.array.$aliases,.$minimumS
a0460 74 61 62 69 6c 69 74 79 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c tability,.array.$stabilityFlags,
a0480 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 2c 20 61 .$preferStable,.$preferLowest,.a
a04a0 72 72 61 79 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 0a 7b 0a 24 6c 6f 63 6b rray.$platformOverrides).{.$lock
a04c0 20 3d 20 61 72 72 61 79 28 0a 27 5f 72 65 61 64 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 27 54 68 .=.array(.'_readme'.=>.array('Th
a04e0 69 73 20 66 69 6c 65 20 6c 6f 63 6b 73 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f is.file.locks.the.dependencies.o
a0500 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 20 74 6f 20 61 20 6b 6e 6f 77 6e 20 73 74 61 74 65 27 f.your.project.to.a.known.state'
a0520 2c 0a 27 52 65 61 64 20 6d 6f 72 65 20 61 62 6f 75 74 20 69 74 20 61 74 20 68 74 74 70 73 3a 2f ,.'Read.more.about.it.at.https:/
a0540 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 31 2d 62 61 73 69 63 2d 75 73 /getcomposer.org/doc/01-basic-us
a0560 61 67 65 2e 6d 64 23 69 6e 73 74 61 6c 6c 69 6e 67 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c age.md#installing-dependencies',
a0580 0a 27 54 68 69 73 20 66 69 6c 65 20 69 73 20 40 67 65 6e 65 72 27 2e 27 61 74 65 64 20 61 75 74 .'This.file.is.@gener'.'ated.aut
a05a0 6f 6d 61 74 69 63 61 6c 6c 79 27 2c 20 29 2c 0a 27 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 20 3d omatically',.),.'content-hash'.=
a05c0 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 48 61 73 68 2c 0a 27 70 61 63 6b 61 67 65 73 27 >.$this->contentHash,.'packages'
a05e0 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 20 3d 3e 20 6e 75 6c 6c .=>.null,.'packages-dev'.=>.null
a0600 2c 0a 27 61 6c 69 61 73 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 27 6d 69 6e 69 6d 75 6d ,.'aliases'.=>.array(),.'minimum
a0620 2d 73 74 61 62 69 6c 69 74 79 27 20 3d 3e 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 -stability'.=>.$minimumStability
a0640 2c 0a 27 73 74 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 20 3d 3e 20 24 73 74 61 62 69 6c 69 74 ,.'stability-flags'.=>.$stabilit
a0660 79 46 6c 61 67 73 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 20 3d 3e 20 24 70 72 65 66 yFlags,.'prefer-stable'.=>.$pref
a0680 65 72 53 74 61 62 6c 65 2c 0a 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 20 3d 3e 20 24 70 72 erStable,.'prefer-lowest'.=>.$pr
a06a0 65 66 65 72 4c 6f 77 65 73 74 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 eferLowest,.);..foreach.($aliase
a06c0 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f s.as.$package.=>.$versions).{.fo
a06e0 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 reach.($versions.as.$version.=>.
a0700 24 61 6c 69 61 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 61 6c 69 61 73 65 73 27 5d 5b 5d 20 3d 20 61 $alias).{.$lock['aliases'][].=.a
a0720 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d rray(.'alias'.=>.$alias['alias']
a0740 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 ,.'alias_normalized'.=>.$alias['
a0760 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e alias_normalized'],.'version'.=>
a0780 20 24 76 65 72 73 69 6f 6e 2c 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 .$version,.'package'.=>.$package
a07a0 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 3d 20 24 74 ,.);.}.}..$lock['packages'].=.$t
a07c0 68 69 73 2d 3e 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 69 66 his->lockPackages($packages);.if
a07e0 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 6c 6f 63 6b .(null.!==.$devPackages).{.$lock
a0800 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 50 61 ['packages-dev'].=.$this->lockPa
a0820 63 6b 61 67 65 73 28 24 64 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 24 6c 6f 63 6b 5b 27 ckages($devPackages);.}..$lock['
a0840 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 24 6c 6f 63 platform'].=.$platformReqs;.$loc
a0860 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 44 65 76 k['platform-dev'].=.$platformDev
a0880 52 65 71 73 3b 0a 69 66 20 28 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 20 7b 0a Reqs;.if.($platformOverrides).{.
a08a0 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d 20 3d 20 24 70 $lock['platform-overrides'].=.$p
a08c0 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 latformOverrides;.}..if.(empty($
a08e0 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b lock['packages']).&&.empty($lock
a0900 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b ['packages-dev']).&&.empty($lock
a0920 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 6c ['platform']).&&.empty($lock['pl
a0940 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b atform-dev'])).{.if.($this->lock
a0960 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e File->exists()).{.unlink($this->
a0980 6c 6f 63 6b 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 lockFile->getPath());.}..return.
a09a0 66 61 6c 73 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 69 73 4c 6f 63 6b 65 64 20 3d 20 24 74 68 69 false;.}..try.{.$isLocked.=.$thi
a09c0 73 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 69 6e 67 45 s->isLocked();.}.catch.(ParsingE
a09e0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 73 4c 6f 63 6b 65 64 20 3d 20 66 61 6c 73 65 xception.$e).{.$isLocked.=.false
a0a00 3b 0a 7d 0a 69 66 20 28 21 24 69 73 4c 6f 63 6b 65 64 20 7c 7c 20 24 6c 6f 63 6b 20 21 3d 3d 20 ;.}.if.(!$isLocked.||.$lock.!==.
a0a20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c $this->getLockData()).{.$this->l
a0a40 6f 63 6b 46 69 6c 65 2d 3e 77 72 69 74 65 28 24 6c 6f 63 6b 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f ockFile->write($lock);.$this->lo
a0a60 63 6b 44 61 74 61 43 61 63 68 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 ckDataCache.=.null;..return.true
a0a80 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 ;.}..return.false;.}..private.fu
a0aa0 6e 63 74 69 6f 6e 20 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 nction.lockPackages(array.$packa
a0ac0 67 65 73 29 0a 7b 0a 24 6c 6f 63 6b 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 ges).{.$locked.=.array();..forea
a0ae0 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 ch.($packages.as.$package).{.if.
a0b00 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 ($package.instanceof.AliasPackag
a0b20 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 e).{.continue;.}..$name.=.$packa
a0b40 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 ge->getPrettyName();.$version.=.
a0b60 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 $package->getPrettyVersion();..i
a0b80 66 20 28 21 24 6e 61 6d 65 20 7c 7c 20 21 24 76 65 72 73 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 f.(!$name.||.!$version).{.throw.
a0ba0 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 new.\LogicException(sprintf(.'Pa
a0bc0 63 6b 61 67 65 20 22 25 73 22 20 68 61 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 6f 72 20 6e 61 6d ckage."%s".has.no.version.or.nam
a0be0 65 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 6c 6f 63 6b 65 64 27 2c 0a 24 70 61 63 6b 61 e.and.can.not.be.locked',.$packa
a0c00 67 65 0a 29 29 3b 0a 7d 0a 0a 24 73 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 64 75 6d 70 65 72 2d ge.));.}..$spec.=.$this->dumper-
a0c20 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 27 76 65 >dump($package);.unset($spec['ve
a0c40 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a 0a 0a 20 24 74 69 6d 65 20 3d 20 rsion_normalized']);....$time.=.
a0c60 69 73 73 65 74 28 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 29 20 3f 20 24 73 70 65 63 5b 27 74 69 isset($spec['time']).?.$spec['ti
a0c80 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 27 74 69 6d 65 27 5d me'].:.null;.unset($spec['time']
a0ca0 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 70 61 63 );.if.($package->isDev().&&.$pac
a0cc0 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 20 3d 3d kage->getInstallationSource().==
a0ce0 3d 20 27 73 6f 75 72 63 65 27 29 20 7b 0a 0a 20 24 74 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 =.'source').{...$time.=.$this->g
a0d00 65 74 50 61 63 6b 61 67 65 54 69 6d 65 28 24 70 61 63 6b 61 67 65 29 20 3f 3a 20 24 74 69 6d 65 etPackageTime($package).?:.$time
a0d20 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 29 20 7b 0a 24 73 70 65 63 5b ;.}.if.(null.!==.$time).{.$spec[
a0d40 27 74 69 6d 65 27 5d 20 3d 20 24 74 69 6d 65 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 'time'].=.$time;.}..unset($spec[
a0d60 27 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 3b 0a 0a 24 6c 6f 63 6b 65 'installation-source']);..$locke
a0d80 64 5b 5d 20 3d 20 24 73 70 65 63 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 6c 6f 63 6b 65 64 2c 20 66 d[].=.$spec;.}..usort($locked,.f
a0da0 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 24 63 6f 6d 70 61 72 69 73 6f 6e 20 3d unction.($a,.$b).{.$comparison.=
a0dc0 20 73 74 72 63 6d 70 28 24 61 5b 27 6e 61 6d 65 27 5d 2c 20 24 62 5b 27 6e 61 6d 65 27 5d 29 3b .strcmp($a['name'],.$b['name']);
a0de0 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 63 6f 6d 70 61 72 69 73 6f 6e 29 20 7b 0a 72 65 74 75 72 ..if.(0.!==.$comparison).{.retur
a0e00 6e 20 24 63 6f 6d 70 61 72 69 73 6f 6e 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 63 6d n.$comparison;.}....return.strcm
a0e20 70 28 24 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 24 62 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b p($a['version'],.$b['version']);
a0e40 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 63 6b 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 .});..return.$locked;.}........p
a0e60 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 54 69 6d 65 28 50 rivate.function.getPackageTime(P
a0e80 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 ackageInterface.$package).{.if.(
a0ea0 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b !function_exists('proc_open')).{
a0ec0 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 72 65 61 6c 70 61 74 .return.null;.}..$path.=.realpat
a0ee0 68 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 67 65 h($this->installationManager->ge
a0f00 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 73 6f 75 72 63 65 tInstallPath($package));.$source
a0f20 54 79 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 Type.=.$package->getSourceType()
a0f40 3b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 24 70 61 74 68 20 26 ;.$datetime.=.null;..if.($path.&
a0f60 26 20 69 6e 5f 61 72 72 61 79 28 24 73 6f 75 72 63 65 54 79 70 65 2c 20 61 72 72 61 79 28 27 67 &.in_array($sourceType,.array('g
a0f80 69 74 27 2c 20 27 68 67 27 29 29 29 20 7b 0a 24 73 6f 75 72 63 65 52 65 66 20 3d 20 24 70 61 63 it',.'hg'))).{.$sourceRef.=.$pac
a0fa0 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3f 3a 20 24 70 kage->getSourceReference().?:.$p
a0fc0 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 73 77 69 74 ackage->getDistReference();.swit
a0fe0 63 68 20 28 24 73 6f 75 72 63 65 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 67 69 74 27 3a 0a 47 ch.($sourceType).{.case.'git':.G
a1000 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 itUtil::cleanEnv();..if.(0.===.$
a1020 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 6f 67 20 this->process->execute('git.log.
a1040 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d 25 63 74 20 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 -n1.--pretty=%ct.'.ProcessExecut
a1060 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 52 65 66 29 2c 20 24 6f 75 74 70 75 74 2c or::escape($sourceRef),.$output,
a1080 20 24 70 61 74 68 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 5c 64 2b 5c .$path).&&.preg_match('{^\s*\d+\
a10a0 73 2a 24 7d 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e s*$}',.$output)).{.$datetime.=.n
a10c0 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 ew.\DateTime('@'.trim($output),.
a10e0 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 62 72 65 new.\DateTimeZone('UTC'));.}.bre
a1100 61 6b 3b 0a 0a 63 61 73 65 20 27 68 67 27 3a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d ak;..case.'hg':.if.(0.===.$this-
a1120 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 6c 6f 67 20 2d 2d 74 65 6d 70 >process->execute('hg.log.--temp
a1140 6c 61 74 65 20 22 7b 64 61 74 65 7c 68 67 64 61 74 65 7d 22 20 2d 72 20 27 2e 50 72 6f 63 65 73 late."{date|hgdate}".-r.'.Proces
a1160 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 52 65 66 29 2c 20 24 sExecutor::escape($sourceRef),.$
a1180 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e output,.$path).&&.preg_match('{^
a11a0 5c 73 2a 28 5c 64 2b 29 5c 73 2a 7d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 29 29 \s*(\d+)\s*}',.$output,.$match))
a11c0 20 7b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 .{.$datetime.=.new.\DateTime('@'
a11e0 2e 24 6d 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 .$match[1],.new.\DateTimeZone('U
a1200 54 43 27 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 TC'));.}.break;.}.}..return.$dat
a1220 65 74 69 6d 65 20 3f 20 24 64 61 74 65 74 69 6d 65 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 etime.?.$datetime->format(DATE_R
a1240 46 43 33 33 33 39 29 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a FC3339).:.null;.}.}.<?php.......
a1260 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b .....namespace.Composer\Package;
a1280 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 ..use.Composer\Package\Version\V
a12a0 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c ersionParser;.use.Composer\Util\
a12c0 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b ComposerMirror;.......class.Pack
a12e0 61 67 65 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 65 0a 7b 0a 70 72 6f 74 65 63 age.extends.BasePackage.{.protec
a1300 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 44 69 72 3b ted.$type;.protected.$targetDir;
a1320 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 3b 0a .protected.$installationSource;.
a1340 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 protected.$sourceType;.protected
a1360 20 24 73 6f 75 72 63 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 52 65 .$sourceUrl;.protected.$sourceRe
a1380 66 65 72 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 4d 69 72 72 6f 72 ference;.protected.$sourceMirror
a13a0 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 s;.protected.$distType;.protecte
a13c0 64 20 24 64 69 73 74 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 52 65 66 65 72 d.$distUrl;.protected.$distRefer
a13e0 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 ence;.protected.$distSha1Checksu
a1400 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 m;.protected.$distMirrors;.prote
a1420 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 cted.$version;.protected.$pretty
a1440 56 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6c 65 61 73 65 44 61 74 65 3b Version;.protected.$releaseDate;
a1460 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 74 72 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f .protected.$extra.=.array();.pro
a1480 74 65 63 74 65 64 20 24 62 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 tected.$binaries.=.array();.prot
a14a0 65 63 74 65 64 20 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 ected.$dev;.protected.$stability
a14c0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 0a 0a ;.protected.$notificationUrl;...
a14e0 70 72 6f 74 65 63 74 65 64 20 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a protected.$requires.=.array();..
a1500 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a protected.$conflicts.=.array();.
a1520 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .protected.$provides.=.array();.
a1540 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6c 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .protected.$replaces.=.array();.
a1560 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 .protected.$devRequires.=.array(
a1580 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 73 20 3d 20 61 72 72 61 79 28 29 );.protected.$suggests.=.array()
a15a0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 6f 6c 6f 61 64 20 3d 20 61 72 72 61 79 28 29 3b ;.protected.$autoload.=.array();
a15c0 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 20 3d 20 61 72 72 61 79 28 .protected.$devAutoload.=.array(
a15e0 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 61 72 72 );.protected.$includePaths.=.arr
a1600 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 ay();.protected.$archiveExcludes
a1620 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .=.array();.........public.funct
a1640 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c ion.__construct($name,.$version,
a1660 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e .$prettyVersion).{.parent::__con
a1680 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d struct($name);..$this->version.=
a16a0 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 .$version;.$this->prettyVersion.
a16c0 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c =.$prettyVersion;..$this->stabil
a16e0 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c ity.=.VersionParser::parseStabil
a1700 69 74 79 28 24 76 65 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 ity($version);.$this->dev.=.$thi
a1720 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 s->stability.===.'dev';.}.....pu
a1740 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 blic.function.isDev().{.return.$
a1760 74 68 69 73 2d 3e 64 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e this->dev;.}.....public.function
a1780 20 73 65 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 .setType($type).{.$this->type.=.
a17a0 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 $type;.}.....public.function.get
a17c0 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 79 70 65 20 3f 3a 20 27 Type().{.return.$this->type.?:.'
a17e0 6c 69 62 72 61 72 79 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 library';.}.....public.function.
a1800 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 getStability().{.return.$this->s
a1820 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tability;.}.....public.function.
a1840 73 65 74 54 61 72 67 65 74 44 69 72 28 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 74 68 69 73 setTargetDir($targetDir).{.$this
a1860 2d 3e 74 61 72 67 65 74 44 69 72 20 3d 20 24 74 61 72 67 65 74 44 69 72 3b 0a 7d 0a 0a 0a 0a 0a ->targetDir.=.$targetDir;.}.....
a1880 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 0a 7b public.function.getTargetDir().{
a18a0 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 69 72 29 20 .if.(null.===.$this->targetDir).
a18c0 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 {.return;.}..return.ltrim(preg_r
a18e0 65 70 6c 61 63 65 28 27 7b 20 28 3f 3a 5e 7c 5b 5c 5c 5c 5c 2f 5d 2b 29 20 5c 2e 5c 2e 3f 20 28 eplace('{.(?:^|[\\\\/]+).\.\.?.(
a1900 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 28 3f 3a 5c 2e 5c 2e 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f ?:[\\\\/]+|$).(?:\.\.?.(?:[\\\\/
a1920 5d 2b 7c 24 29 20 29 2a 7d 78 27 2c 20 27 2f 27 2c 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 ]+|$).)*}x',.'/',.$this->targetD
a1940 69 72 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ir),.'/');.}.....public.function
a1960 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 61 29 0a 7b 0a 24 74 68 69 73 2d .setExtra(array.$extra).{.$this-
a1980 3e 65 78 74 72 61 20 3d 20 24 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 >extra.=.$extra;.}.....public.fu
a19a0 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 nction.getExtra().{.return.$this
a19c0 2d 3e 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ->extra;.}.....public.function.s
a19e0 65 74 42 69 6e 61 72 69 65 73 28 61 72 72 61 79 20 24 62 69 6e 61 72 69 65 73 29 0a 7b 0a 24 74 etBinaries(array.$binaries).{.$t
a1a00 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 20 3d 20 24 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a 0a 0a his->binaries.=.$binaries;.}....
a1a20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 0a 7b .public.function.getBinaries().{
a1a40 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 .return.$this->binaries;.}.....p
a1a60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f ublic.function.setInstallationSo
a1a80 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f urce($type).{.$this->installatio
a1aa0 6e 53 6f 75 72 63 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 nSource.=.$type;.}.....public.fu
a1ac0 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b nction.getInstallationSource().{
a1ae0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 .return.$this->installationSourc
a1b00 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 e;.}.....public.function.setSour
a1b20 63 65 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 79 70 ceType($type).{.$this->sourceTyp
a1b40 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e e.=.$type;.}.....public.function
a1b60 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .getSourceType().{.return.$this-
a1b80 3e 73 6f 75 72 63 65 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 >sourceType;.}.....public.functi
a1ba0 6f 6e 20 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 on.setSourceUrl($url).{.$this->s
a1bc0 6f 75 72 63 65 55 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ourceUrl.=.$url;.}.....public.fu
a1be0 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 nction.getSourceUrl().{.return.$
a1c00 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->sourceUrl;.}.....public.fu
a1c20 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 nction.setSourceReference($refer
a1c40 65 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 20 3d ence).{.$this->sourceReference.=
a1c60 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$reference;.}.....public.functi
a1c80 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e on.getSourceReference().{.return
a1ca0 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 .$this->sourceReference;.}.....p
a1cc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 ublic.function.setSourceMirrors(
a1ce0 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 $mirrors).{.$this->sourceMirrors
a1d00 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .=.$mirrors;.}.....public.functi
a1d20 6f 6e 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 on.getSourceMirrors().{.return.$
a1d40 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 this->sourceMirrors;.}.....publi
a1d60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 0a 7b 0a 72 65 74 c.function.getSourceUrls().{.ret
a1d80 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 73 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 urn.$this->getUrls($this->source
a1da0 55 72 6c 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 2c 20 24 74 68 69 73 Url,.$this->sourceMirrors,.$this
a1dc0 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 ->sourceReference,.$this->source
a1de0 54 79 70 65 2c 20 27 73 6f 75 72 63 65 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 Type,.'source');.}.....public.fu
a1e00 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 nction.setDistType($type).{.$thi
a1e20 73 2d 3e 64 69 73 74 54 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 s->distType.=.$type;.}.....publi
a1e40 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 c.function.getDistType().{.retur
a1e60 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$this->distType;.}.....public.
a1e80 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 function.setDistUrl($url).{.$thi
a1ea0 73 2d 3e 64 69 73 74 55 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 s->distUrl.=.$url;.}.....public.
a1ec0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getDistUrl().{.return.$
a1ee0 74 68 69 73 2d 3e 64 69 73 74 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->distUrl;.}.....public.func
a1f00 74 69 6f 6e 20 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 tion.setDistReference($reference
a1f20 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 65 20 3d 20 24 72 65 66 65 ).{.$this->distReference.=.$refe
a1f40 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rence;.}.....public.function.get
a1f60 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e DistReference().{.return.$this->
a1f80 64 69 73 74 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 distReference;.}.....public.func
a1fa0 74 69 6f 6e 20 73 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 24 73 68 61 31 63 68 tion.setDistSha1Checksum($sha1ch
a1fc0 65 63 6b 73 75 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 ecksum).{.$this->distSha1Checksu
a1fe0 6d 20 3d 20 24 73 68 61 31 63 68 65 63 6b 73 75 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 m.=.$sha1checksum;.}.....public.
a2000 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 0a 7b function.getDistSha1Checksum().{
a2020 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 3b .return.$this->distSha1Checksum;
a2040 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 4d 69 .}.....public.function.setDistMi
a2060 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 rrors($mirrors).{.$this->distMir
a2080 72 6f 72 73 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rors.=.$mirrors;.}.....public.fu
a20a0 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e nction.getDistMirrors().{.return
a20c0 20 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 .$this->distMirrors;.}.....publi
a20e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 c.function.getDistUrls().{.retur
a2100 6e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 73 28 24 74 68 69 73 2d 3e 64 69 73 74 55 72 6c 2c n.$this->getUrls($this->distUrl,
a2120 20 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 .$this->distMirrors,.$this->dist
a2140 52 65 66 65 72 65 6e 63 65 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 54 79 70 65 2c 20 27 64 69 73 Reference,.$this->distType,.'dis
a2160 74 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 t');.}.....public.function.getVe
a2180 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b rsion().{.return.$this->version;
a21a0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 .}.....public.function.getPretty
a21c0 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 Version().{.return.$this->pretty
a21e0 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Version;.}.......public.function
a2200 20 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 5c 44 61 74 65 54 69 6d 65 20 24 72 65 6c 65 61 .setReleaseDate(\DateTime.$relea
a2220 73 65 44 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 24 seDate).{.$this->releaseDate.=.$
a2240 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 releaseDate;.}.....public.functi
a2260 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 on.getReleaseDate().{.return.$th
a2280 69 73 2d 3e 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 is->releaseDate;.}.......public.
a22a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 71 75 function.setRequires(array.$requ
a22c0 69 72 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 ires).{.$this->requires.=.$requi
a22e0 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 res;.}.....public.function.getRe
a2300 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 quires().{.return.$this->require
a2320 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f s;.}.......public.function.setCo
a2340 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 0a 7b 0a 24 74 68 69 nflicts(array.$conflicts).{.$thi
a2360 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 20 3d 20 24 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a s->conflicts.=.$conflicts;.}....
a2380 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a .public.function.getConflicts().
a23a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a {.return.$this->conflicts;.}....
a23c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 61 ...public.function.setProvides(a
a23e0 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 rray.$provides).{.$this->provide
a2400 73 20 3d 20 24 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s.=.$provides;.}.....public.func
a2420 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tion.getProvides().{.return.$thi
a2440 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->provides;.}.......public.func
a2460 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 tion.setReplaces(array.$replaces
a2480 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 20 3d 20 24 72 65 70 6c 61 63 65 73 3b ).{.$this->replaces.=.$replaces;
a24a0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 .}.....public.function.getReplac
a24c0 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d es().{.return.$this->replaces;.}
a24e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 .......public.function.setDevReq
a2500 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 73 29 0a 7b 0a 24 74 68 69 uires(array.$devRequires).{.$thi
a2520 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 24 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d s->devRequires.=.$devRequires;.}
a2540 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 .....public.function.getDevRequi
a2560 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 res().{.return.$this->devRequire
a2580 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 s;.}.......public.function.setSu
a25a0 67 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 0a 7b 0a 24 74 68 69 73 2d ggests(array.$suggests).{.$this-
a25c0 3e 73 75 67 67 65 73 74 73 20 3d 20 24 73 75 67 67 65 73 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 >suggests.=.$suggests;.}.....pub
a25e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 0a 7b 0a 72 65 74 lic.function.getSuggests().{.ret
a2600 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 urn.$this->suggests;.}.......pub
a2620 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 lic.function.setAutoload(array.$
a2640 61 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 20 3d 20 24 61 autoload).{.$this->autoload.=.$a
a2660 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 utoload;.}.....public.function.g
a2680 65 74 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 etAutoload().{.return.$this->aut
a26a0 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 oload;.}.......public.function.s
a26c0 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 etDevAutoload(array.$devAutoload
a26e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 41 75 74 6f 6c 6f 61 64 20 3d 20 24 64 65 76 41 75 74 ).{.$this->devAutoload.=.$devAut
a2700 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 oload;.}.....public.function.get
a2720 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 DevAutoload().{.return.$this->de
a2740 76 41 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 vAutoload;.}.......public.functi
a2760 6f 6e 20 73 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 61 72 72 61 79 20 24 69 6e 63 6c 75 64 on.setIncludePaths(array.$includ
a2780 65 50 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 ePaths).{.$this->includePaths.=.
a27a0 24 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $includePaths;.}.....public.func
a27c0 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getIncludePaths().{.return.
a27e0 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 $this->includePaths;.}.......pub
a2800 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 lic.function.setNotificationUrl(
a2820 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 $notificationUrl).{.$this->notif
a2840 69 63 61 74 69 6f 6e 55 72 6c 20 3d 20 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 7d icationUrl.=.$notificationUrl;.}
a2860 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 .....public.function.getNotifica
a2880 74 69 6f 6e 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 tionUrl().{.return.$this->notifi
a28a0 63 61 74 69 6f 6e 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 cationUrl;.}.......public.functi
a28c0 6f 6e 20 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 61 72 72 61 79 20 24 65 78 63 on.setArchiveExcludes(array.$exc
a28e0 6c 75 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 20 ludes).{.$this->archiveExcludes.
a2900 3d 20 24 65 78 63 6c 75 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 =.$excludes;.}.....public.functi
a2920 6f 6e 20 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e on.getArchiveExcludes().{.return
a2940 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .$this->archiveExcludes;.}......
a2960 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 56 65 72 73 69 6f ...public.function.replaceVersio
a2980 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 n($version,.$prettyVersion).{.$t
a29a0 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e his->version.=.$version;.$this->
a29c0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a prettyVersion.=.$prettyVersion;.
a29e0 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 .$this->stability.=.VersionParse
a2a00 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 3b 0a 24 74 68 r::parseStability($version);.$th
a2a20 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 is->dev.=.$this->stability.===.'
a2a40 64 65 76 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 dev';.}..protected.function.getU
a2a60 72 6c 73 28 24 75 72 6c 2c 20 24 6d 69 72 72 6f 72 73 2c 20 24 72 65 66 2c 20 24 74 79 70 65 2c rls($url,.$mirrors,.$ref,.$type,
a2a80 20 24 75 72 6c 54 79 70 65 29 0a 7b 0a 69 66 20 28 21 24 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e .$urlType).{.if.(!$url).{.return
a2aa0 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 75 72 6c 73 20 3d 20 61 72 72 61 79 28 24 75 72 6c 29 3b .array();.}.$urls.=.array($url);
a2ac0 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 69 72 72 6f .if.($mirrors).{.foreach.($mirro
a2ae0 72 73 20 61 73 20 24 6d 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 24 75 72 6c 54 79 70 65 20 3d 3d rs.as.$mirror).{.if.($urlType.==
a2b00 3d 20 27 64 69 73 74 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 =.'dist').{.$mirrorUrl.=.Compose
a2b20 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 73 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c rMirror::processUrl($mirror['url
a2b40 27 5d 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 2c '],.$this->name,.$this->version,
a2b60 20 24 72 65 66 2c 20 24 74 79 70 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 75 72 6c 54 79 70 .$ref,.$type);.}.elseif.($urlTyp
a2b80 65 20 3d 3d 3d 20 27 73 6f 75 72 63 65 27 20 26 26 20 24 74 79 70 65 20 3d 3d 3d 20 27 67 69 74 e.===.'source'.&&.$type.===.'git
a2ba0 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 ').{.$mirrorUrl.=.ComposerMirror
a2bc0 3a 3a 70 72 6f 63 65 73 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c 27 5d 2c 20 ::processGitUrl($mirror['url'],.
a2be0 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 20 65 6c 73 $this->name,.$url,.$type);.}.els
a2c00 65 69 66 20 28 24 75 72 6c 54 79 70 65 20 3d 3d 3d 20 27 73 6f 75 72 63 65 27 20 26 26 20 24 74 eif.($urlType.===.'source'.&&.$t
a2c20 79 70 65 20 3d 3d 3d 20 27 68 67 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d ype.===.'hg').{.$mirrorUrl.=.Com
a2c40 70 6f 73 65 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 73 48 67 55 72 6c 28 24 6d 69 72 72 6f poserMirror::processHgUrl($mirro
a2c60 72 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 r['url'],.$this->name,.$url,.$ty
a2c80 70 65 29 3b 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 69 72 72 6f 72 55 72 6c 2c pe);.}.if.(!in_array($mirrorUrl,
a2ca0 20 24 75 72 6c 73 29 29 20 7b 0a 24 66 75 6e 63 20 3d 20 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 .$urls)).{.$func.=.$mirror['pref
a2cc0 65 72 72 65 64 27 5d 20 3f 20 27 61 72 72 61 79 5f 75 6e 73 68 69 66 74 27 20 3a 20 27 61 72 72 erred'].?.'array_unshift'.:.'arr
a2ce0 61 79 5f 70 75 73 68 27 3b 0a 24 66 75 6e 63 28 24 75 72 6c 73 2c 20 24 6d 69 72 72 6f 72 55 72 ay_push';.$func($urls,.$mirrorUr
a2d00 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 73 3b 0a 7d 0a 7d 0a 3c 3f 70 l);.}.}.}..return.$urls;.}.}.<?p
a2d20 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
a2d40 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f \Package;..use.Composer\Reposito
a2d60 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e ry\RepositoryInterface;.......in
a2d80 74 65 72 66 61 63 65 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a terface.PackageInterface.{......
a2da0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a public.function.getName();......
a2dc0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 .public.function.getPrettyName()
a2de0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 ;..........public.function.getNa
a2e00 6d 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 mes();.......public.function.set
a2e20 49 64 28 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 Id($id);.......public.function.g
a2e40 65 74 49 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 etId();.......public.function.is
a2e60 44 65 76 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 Dev();.......public.function.get
a2e80 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 Type();.......public.function.ge
a2ea0 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tTargetDir();.......public.funct
a2ec0 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ion.getExtra();.......public.fun
a2ee0 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 ction.setInstallationSource($typ
a2f00 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 e);.......public.function.getIns
a2f20 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tallationSource();.......public.
a2f40 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a function.getSourceType();.......
a2f60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a public.function.getSourceUrl();.
a2f80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 ......public.function.getSourceU
a2fa0 72 6c 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rls();.......public.function.get
a2fc0 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 SourceReference();.......public.
a2fe0 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a function.getSourceMirrors();....
a3000 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 ...public.function.getDistType()
a3020 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 ;.......public.function.getDistU
a3040 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 rl();.......public.function.getD
a3060 69 73 74 55 72 6c 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e istUrls();.......public.function
a3080 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .getDistReference();.......publi
a30a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 c.function.getDistSha1Checksum()
a30c0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 4d ;.......public.function.getDistM
a30e0 69 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 irrors();.......public.function.
a3100 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 getVersion();.......public.funct
a3120 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ion.getPrettyVersion();.........
a3140 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 .public.function.getFullPrettyVe
a3160 72 73 69 6f 6e 28 24 74 72 75 6e 63 61 74 65 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 rsion($truncate.=.true);.......p
a3180 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b ublic.function.getReleaseDate();
a31a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c .......public.function.getStabil
a31c0 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ity();........public.function.ge
a31e0 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tRequires();........public.funct
a3200 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ion.getConflicts();........publi
a3220 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a c.function.getProvides();.......
a3240 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a .public.function.getReplaces();.
a3260 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 .......public.function.getDevReq
a3280 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 uires();........public.function.
a32a0 67 65 74 53 75 67 67 65 73 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 getSuggests();............public
a32c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a .function.getAutoload();........
a32e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f ....public.function.getDevAutolo
a3300 61 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ad();........public.function.get
a3320 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e IncludePaths();.......public.fun
a3340 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e ction.setRepository(RepositoryIn
a3360 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c terface.$repository);.......publ
a3380 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 0a 0a ic.function.getRepository();....
a33a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 ...public.function.getBinaries()
a33c0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 69 71 75 ;.......public.function.getUniqu
a33e0 65 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 eName();.......public.function.g
a3400 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 etNotificationUrl();.......publi
a3420 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 c.function.__toString();.......p
a3440 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 ublic.function.getPrettyString()
a3460 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 ;.......public.function.getArchi
a3480 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 veExcludes();.......public.funct
a34a0 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 3c 3f 70 ion.getTransportOptions();.}.<?p
a34c0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
a34e0 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 \Package;.....class.RootAliasPac
a3500 6b 61 67 65 20 65 78 74 65 6e 64 73 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d kage.extends.AliasPackage.implem
a3520 65 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c ents.RootPackageInterface.{.publ
a3540 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 6f 6f 74 50 61 63 6b ic.function.__construct(RootPack
a3560 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c ageInterface.$aliasOf,.$version,
a3580 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e .$prettyVersion).{.parent::__con
a35a0 73 74 72 75 63 74 28 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 struct($aliasOf,.$version,.$pret
a35c0 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tyVersion);.}.....public.functio
a35e0 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 n.getAliases().{.return.$this->a
a3600 6c 69 61 73 4f 66 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c liasOf->getAliases();.}.....publ
a3620 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 ic.function.getMinimumStability(
a3640 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4d 69 ).{.return.$this->aliasOf->getMi
a3660 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 nimumStability();.}.....public.f
a3680 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 72 65 unction.getStabilityFlags().{.re
a36a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 turn.$this->aliasOf->getStabilit
a36c0 79 46 6c 61 67 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 yFlags();.}.....public.function.
a36e0 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e getReferences().{.return.$this->
a3700 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a aliasOf->getReferences();.}.....
a3720 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 public.function.getPreferStable(
a3740 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 50 72 ).{.return.$this->aliasOf->getPr
a3760 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 eferStable();.}.....public.funct
a3780 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ion.getConfig().{.return.$this->
a37a0 61 6c 69 61 73 4f 66 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c aliasOf->getConfig();.}.....publ
a37c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 ic.function.setRequires(array.$r
a37e0 65 71 75 69 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 equire).{.$this->requires.=.$thi
a3800 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 s->replaceSelfVersionDependencie
a3820 73 28 24 72 65 71 75 69 72 65 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 0a 24 74 68 69 73 2d s($require,.'requires');..$this-
a3840 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 72 65 71 75 69 72 65 29 3b >aliasOf->setRequires($require);
a3860 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 .}.....public.function.setDevReq
a3880 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 29 0a 7b 0a 24 74 68 69 73 uires(array.$devRequire).{.$this
a38a0 2d 3e 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 ->devRequires.=.$this->replaceSe
a38c0 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 64 65 76 52 65 71 75 69 72 lfVersionDependencies($devRequir
a38e0 65 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 e,.'devRequires');..$this->alias
a3900 4f 66 2d 3e 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 24 64 65 76 52 65 71 75 69 72 65 29 3b Of->setDevRequires($devRequire);
a3920 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 6c 69 .}.....public.function.setConfli
a3940 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 cts(array.$conflicts).{.$this->c
a3960 6f 6e 66 6c 69 63 74 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 onflicts.=.$this->replaceSelfVer
a3980 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 63 6f 6e 66 6c 69 63 74 73 2c 20 27 63 6f sionDependencies($conflicts,.'co
a39a0 6e 66 6c 69 63 74 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 43 6f nflicts');.$this->aliasOf->setCo
a39c0 6e 66 6c 69 63 74 73 28 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 nflicts($conflicts);.}.....publi
a39e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 24 70 72 c.function.setProvides(array.$pr
a3a00 6f 76 69 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 20 3d 20 24 74 68 69 ovides).{.$this->provides.=.$thi
a3a20 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 s->replaceSelfVersionDependencie
a3a40 73 28 24 70 72 6f 76 69 64 65 73 2c 20 27 70 72 6f 76 69 64 65 73 27 29 3b 0a 24 74 68 69 73 2d s($provides,.'provides');.$this-
a3a60 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 70 72 6f 76 69 64 65 73 29 >aliasOf->setProvides($provides)
a3a80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 ;.}.....public.function.setRepla
a3aa0 63 65 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 ces(array.$replaces).{.$this->re
a3ac0 70 6c 61 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 places.=.$this->replaceSelfVersi
a3ae0 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 72 65 70 6c 61 63 65 73 2c 20 27 72 65 70 6c 61 onDependencies($replaces,.'repla
a3b00 63 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 70 6c 61 63 ces');.$this->aliasOf->setReplac
a3b20 65 73 28 24 72 65 70 6c 61 63 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 es($replaces);.}.....public.func
a3b40 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 tion.setRepositories($repositori
a3b60 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 70 6f 73 69 74 es).{.$this->aliasOf->setReposit
a3b80 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ories($repositories);.}.....publ
a3ba0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 61 ic.function.setAutoload(array.$a
a3bc0 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 41 75 utoload).{.$this->aliasOf->setAu
a3be0 74 6f 6c 6f 61 64 28 24 61 75 74 6f 6c 6f 61 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 toload($autoload);.}.....public.
a3c00 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 function.setDevAutoload(array.$d
a3c20 65 76 41 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 evAutoload).{.$this->aliasOf->se
a3c40 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 3b 0a 7d 0a 0a 0a tDevAutoload($devAutoload);.}...
a3c60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c ..public.function.setStabilityFl
a3c80 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 0a 7b 0a 24 74 68 ags(array.$stabilityFlags).{.$th
a3ca0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 is->aliasOf->setStabilityFlags($
a3cc0 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 stabilityFlags);.}.....public.fu
a3ce0 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 nction.setSuggests(array.$sugges
a3d00 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 75 67 67 65 73 74 ts).{.$this->aliasOf->setSuggest
a3d20 73 28 24 73 75 67 67 65 73 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s($suggests);.}.....public.funct
a3d40 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 61 29 0a 7b 0a 24 74 68 ion.setExtra(array.$extra).{.$th
a3d60 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 45 78 74 72 61 28 24 65 78 74 72 61 29 3b 0a 7d is->aliasOf->setExtra($extra);.}
a3d80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 70 61 ..public.function.__clone().{.pa
a3da0 72 65 6e 74 3a 3a 5f 5f 63 6c 6f 6e 65 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 20 rent::__clone();.$this->aliasOf.
a3dc0 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d 0a 7d 0a 3c 3f 70 68 =.clone.$this->aliasOf;.}.}.<?ph
a3de0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
a3e00 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 Package;.......class.RootPackage
a3e20 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 .extends.CompletePackage.impleme
a3e40 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 nts.RootPackageInterface.{.prote
a3e60 63 74 65 64 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 cted.$minimumStability.=.'stable
a3e80 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 66 61 6c ';.protected.$preferStable.=.fal
a3ea0 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 se;.protected.$stabilityFlags.=.
a3ec0 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 20 3d 20 61 72 72 array();.protected.$config.=.arr
a3ee0 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 ay();.protected.$references.=.ar
a3f00 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 ray();.protected.$aliases.=.arra
a3f20 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 69 y();.......public.function.setMi
a3f40 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 nimumStability($minimumStability
a3f60 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 6d ).{.$this->minimumStability.=.$m
a3f80 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 inimumStability;.}.....public.fu
a3fa0 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 nction.getMinimumStability().{.r
a3fc0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d eturn.$this->minimumStability;.}
a3fe0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 62 69 6c .......public.function.setStabil
a4000 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 0a ityFlags(array.$stabilityFlags).
a4020 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 73 74 61 62 69 {.$this->stabilityFlags.=.$stabi
a4040 6c 69 74 79 46 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e lityFlags;.}.....public.function
a4060 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 .getStabilityFlags().{.return.$t
a4080 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 his->stabilityFlags;.}.......pub
a40a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 70 72 lic.function.setPreferStable($pr
a40c0 65 66 65 72 53 74 61 62 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c eferStable).{.$this->preferStabl
a40e0 65 20 3d 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 e.=.$preferStable;.}.....public.
a4100 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 72 65 74 function.getPreferStable().{.ret
a4120 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a urn.$this->preferStable;.}......
a4140 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 61 72 72 61 79 .public.function.setConfig(array
a4160 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e .$config).{.$this->config.=.$con
a4180 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f fig;.}.....public.function.getCo
a41a0 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 3b 0a 7d nfig().{.return.$this->config;.}
a41c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 66 65 72 65 .......public.function.setRefere
a41e0 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d nces(array.$references).{.$this-
a4200 3e 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 0a 0a >references.=.$references;.}....
a4220 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 .public.function.getReferences()
a4240 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a .{.return.$this->references;.}..
a4260 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 6c 69 61 73 65 73 28 .....public.function.setAliases(
a4280 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 array.$aliases).{.$this->aliases
a42a0 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .=.$aliases;.}.....public.functi
a42c0 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e on.getAliases().{.return.$this->
a42e0 61 6c 69 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 aliases;.}.}.<?php............na
a4300 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a mespace.Composer\Package;.......
a4320 69 6e 74 65 72 66 61 63 65 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 65 interface.RootPackageInterface.e
a4340 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a xtends.CompletePackageInterface.
a4360 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 {......public.function.getAliase
a4380 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 s();.......public.function.getMi
a43a0 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 nimumStability();.........public
a43c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 0a .function.getStabilityFlags();..
a43e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 .......public.function.getRefere
a4400 6e 63 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 nces();.......public.function.ge
a4420 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 tPreferStable();.......public.fu
a4440 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 nction.getConfig();.......public
a4460 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 71 .function.setRequires(array.$req
a4480 75 69 72 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 uires);.......public.function.se
a44a0 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 73 29 tDevRequires(array.$devRequires)
a44c0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 6c ;.......public.function.setConfl
a44e0 69 63 74 73 28 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 icts(array.$conflicts);.......pu
a4500 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 blic.function.setProvides(array.
a4520 24 70 72 6f 76 69 64 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $provides);.......public.functio
a4540 6e 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 3b 0a n.setReplaces(array.$replaces);.
a4560 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 ......public.function.setReposit
a4580 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ories($repositories);.......publ
a45a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 61 ic.function.setAutoload(array.$a
a45c0 75 74 6f 6c 6f 61 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 utoload);.......public.function.
a45e0 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 setDevAutoload(array.$devAutoloa
a4600 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 d);.......public.function.setSta
a4620 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 bilityFlags(array.$stabilityFlag
a4640 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 s);.......public.function.setSug
a4660 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c gests(array.$suggests);.....publ
a4680 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 ic.function.setExtra(array.$extr
a46a0 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 a);.}.<?php............namespace
a46c0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 .Composer\Package\Version;..use.
a46e0 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 Composer\Config;.use.Composer\Re
a4700 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f pository\Vcs\HgDriver;.use.Compo
a4720 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 ser\IO\NullIO;.use.Composer\Semv
a4740 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f er\VersionParser.as.SemverVersio
a4760 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 nParser;.use.Composer\Util\Git.a
a4780 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f s.GitUtil;.use.Composer\Util\Pro
a47a0 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
a47c0 53 76 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 Svn.as.SvnUtil;........class.Ver
a47e0 73 69 6f 6e 47 75 65 73 73 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 sionGuesser.{....private.$config
a4800 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 69 76 ;.....private.$process;.....priv
a4820 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ate.$versionParser;.......public
a4840 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6e 66 69 67 20 24 63 6f .function.__construct(Config.$co
a4860 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 nfig,.ProcessExecutor.$process,.
a4880 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 SemverVersionParser.$versionPars
a48a0 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 er).{.$this->config.=.$config;.$
a48c0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d this->process.=.$process;.$this-
a48e0 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b >versionParser.=.$versionParser;
a4900 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 56 .}........public.function.guessV
a4920 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 ersion(array.$packageConfig,.$pa
a4940 74 68 29 0a 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f th).{.if.(function_exists('proc_
a4960 6f 70 65 6e 27 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e open')).{.$versionData.=.$this->
a4980 67 75 65 73 73 47 69 74 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 guessGitVersion($packageConfig,.
a49a0 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 $path);.if.(null.!==.$versionDat
a49c0 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 a.&&.null.!==.$versionData['vers
a49e0 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 ion']).{.return.$this->postproce
a4a00 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 74 ss($versionData);.}..$versionDat
a4a20 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 48 67 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 a.=.$this->guessHgVersion($packa
a4a40 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 geConfig,.$path);.if.(null.!==.$
a4a60 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e versionData.&&.null.!==.$version
a4a80 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d Data['version']).{.return.$this-
a4aa0 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 >postprocess($versionData);.}..$
a4ac0 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 46 6f 73 73 69 6c versionData.=.$this->guessFossil
a4ae0 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a Version($packageConfig,.$path);.
a4b00 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c if.(null.!==.$versionData.&&.nul
a4b20 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b l.!==.$versionData['version']).{
a4b40 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 .return.$this->postprocess($vers
a4b60 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 ionData);.}..$versionData.=.$thi
a4b80 73 2d 3e 67 75 65 73 73 53 76 6e 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 s->guessSvnVersion($packageConfi
a4ba0 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e g,.$path);.if.(null.!==.$version
a4bc0 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 Data.&&.null.!==.$versionData['v
a4be0 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 ersion']).{.return.$this->postpr
a4c00 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 ocess($versionData);.}.}.}..priv
a4c20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 73 74 70 72 6f 63 65 73 73 28 61 72 72 61 79 20 24 ate.function.postprocess(array.$
a4c40 76 65 72 73 69 6f 6e 44 61 74 61 29 0a 7b 0a 69 66 20 28 27 2d 64 65 76 27 20 3d 3d 3d 20 73 75 versionData).{.if.('-dev'.===.su
a4c60 62 73 74 72 28 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 2d 34 bstr($versionData['version'],.-4
a4c80 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 2e 39 7b 37 7d 7d 27 2c 20 24 76 65 72 ).&&.preg_match('{\.9{7}}',.$ver
a4ca0 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e sionData['version'])).{.$version
a4cc0 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 65 67 5f 72 65 Data['pretty_version'].=.preg_re
a4ce0 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 76 65 72 73 place('{(\.9{7})+}',.'.x',.$vers
a4d00 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ionData['version']);.}..return.$
a4d20 76 65 72 73 69 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e versionData;.}..private.function
a4d40 20 67 75 65 73 73 47 69 74 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 .guessGitVersion(array.$packageC
a4d60 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e onfig,.$path).{.GitUtil::cleanEn
a4d80 76 28 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 6e 75 6c 6c 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 v();.$commit.=.null;.$version.=.
a4da0 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 69 73 null;.$prettyVersion.=.null;.$is
a4dc0 44 65 74 61 63 68 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 Detached.=.false;....if.(0.===.$
a4de0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e this->process->execute('git.bran
a4e00 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d 61 62 62 72 65 76 20 2d 76 27 2c 20 24 ch.--no-color.--no-abbrev.-v',.$
a4e20 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 output,.$path)).{.$branches.=.ar
a4e40 72 61 79 28 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 66 61 6c 73 65 3b ray();.$isFeatureBranch.=.false;
a4e60 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c ....foreach.($this->process->spl
a4e80 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 itLines($output).as.$branch).{.i
a4ea0 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 5c f.($branch.&&.preg_match('{^(?:\
a4ec0 2a 20 29 20 2a 28 5c 28 6e 6f 20 62 72 61 6e 63 68 5c 29 7c 5c 28 64 65 74 61 63 68 65 64 20 66 *.).*(\(no.branch\)|\(detached.f
a4ee0 72 6f 6d 20 5c 53 2b 5c 29 7c 5c 28 48 45 41 44 20 64 65 74 61 63 68 65 64 20 61 74 20 5c 53 2b rom.\S+\)|\(HEAD.detached.at.\S+
a4f00 5c 29 7c 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 2e 2a 24 7d 27 2c 20 24 62 72 61 \)|\S+).*([a-f0-9]+)..*$}',.$bra
a4f20 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 6d 61 74 63 68 5b 31 5d 20 3d 3d nch,.$match)).{.if.($match[1].==
a4f40 3d 20 27 28 6e 6f 20 62 72 61 6e 63 68 29 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6d 61 74 63 68 =.'(no.branch)'.||.substr($match
a4f60 5b 31 5d 2c 20 30 2c 20 31 30 29 20 3d 3d 3d 20 27 28 64 65 74 61 63 68 65 64 20 27 20 7c 7c 20 [1],.0,.10).===.'(detached.'.||.
a4f80 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 31 5d 2c 20 30 2c 20 31 37 29 20 3d 3d 3d 20 27 28 48 substr($match[1],.0,.17).===.'(H
a4fa0 45 41 44 20 64 65 74 61 63 68 65 64 20 61 74 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 EAD.detached.at').{.$version.=.'
a4fc0 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f dev-'...$match[2];.$prettyVersio
a4fe0 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d n.=.$version;.$isFeatureBranch.=
a5000 20 74 72 75 65 3b 0a 24 69 73 44 65 74 61 63 68 65 64 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 .true;.$isDetached.=.true;.}.els
a5020 65 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 e.{.$version.=.$this->versionPar
a5040 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 5b 31 5d 29 3b ser->normalizeBranch($match[1]);
a5060 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 .$prettyVersion.=.'dev-'...$matc
a5080 68 5b 31 5d 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 30 20 3d 3d 3d 20 73 h[1];.$isFeatureBranch.=.0.===.s
a50a0 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 64 65 76 2d 27 29 3b 0a 7d 0a 0a 69 66 20 28 trpos($version,.'dev-');.}..if.(
a50c0 24 6d 61 74 63 68 5b 32 5d 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 24 6d 61 74 63 68 5b 32 5d $match[2]).{.$commit.=.$match[2]
a50e0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 ;.}.}..if.($branch.&&.!preg_matc
a5100 68 28 27 7b 5e 20 2a 5b 5e 2f 5d 2b 2f 48 45 41 44 20 7d 27 2c 20 24 62 72 61 6e 63 68 29 29 20 h('{^.*[^/]+/HEAD.}',.$branch)).
a5120 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 3f 20 2a 28 5c {.if.(preg_match('{^(?:\*.)?.*(\
a5140 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 2e 2a 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c S+).*([a-f0-9]+)..*$}',.$branch,
a5160 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 5d 20 3d 20 24 6d 61 74 63 68 .$match)).{.$branches[].=.$match
a5180 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 [1];.}.}.}..if.($isFeatureBranch
a51a0 29 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 46 65 61 74 ).{...$result.=.$this->guessFeat
a51c0 75 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 ureVersion($packageConfig,.$vers
a51e0 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c 20 27 67 69 74 20 72 65 76 2d 6c 69 73 74 20 25 63 ion,.$branches,.'git.rev-list.%c
a5200 61 6e 64 69 64 61 74 65 25 2e 2e 25 62 72 61 6e 63 68 25 27 2c 20 24 70 61 74 68 29 3b 0a 24 76 andidate%..%branch%',.$path);.$v
a5220 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 70 72 ersion.=.$result['version'];.$pr
a5240 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 70 72 65 74 74 79 5f 76 65 ettyVersion.=.$result['pretty_ve
a5260 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 73 69 6f 6e 20 7c 7c 20 24 rsion'];.}.}..if.(!$version.||.$
a5280 69 73 44 65 74 61 63 68 65 64 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 76 isDetached).{.$result.=.$this->v
a52a0 65 72 73 69 6f 6e 46 72 6f 6d 47 69 74 54 61 67 73 28 24 70 61 74 68 29 3b 0a 69 66 20 28 24 72 ersionFromGitTags($path);.if.($r
a52c0 65 73 75 6c 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 76 65 72 esult).{.$version.=.$result['ver
a52e0 73 69 6f 6e 27 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 sion'];.$prettyVersion.=.$result
a5300 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 63 ['pretty_version'];.}.}..if.(!$c
a5320 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 6c 6f 67 20 2d 2d 70 ommit).{.$command.=.'git.log.--p
a5340 72 65 74 74 79 3d 22 25 48 22 20 2d 6e 31 20 48 45 41 44 27 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 retty="%H".-n1.HEAD';.if.(0.===.
a5360 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
a5380 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 74 ,.$output,.$path)).{.$commit.=.t
a53a0 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 rim($output).?:.null;.}.}..retur
a53c0 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 n.array('version'.=>.$version,.'
a53e0 63 6f 6d 6d 69 74 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 commit'.=>.$commit,.'pretty_vers
a5400 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 ion'.=>.$prettyVersion);.}..priv
a5420 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 46 72 6f 6d 47 69 74 54 61 67 73 28 ate.function.versionFromGitTags(
a5440 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 $path).{...if.(0.===.$this->proc
a5460 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 64 65 73 63 72 69 62 65 20 2d 2d 65 78 61 ess->execute('git.describe.--exa
a5480 63 74 2d 6d 61 74 63 68 20 2d 2d 74 61 67 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 ct-match.--tags',.$output,.$path
a54a0 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 )).{.try.{.$version.=.$this->ver
a54c0 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 74 72 69 6d 28 24 6f 75 74 70 sionParser->normalize(trim($outp
a54e0 75 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e ut));..return.array('version'.=>
a5500 20 24 76 65 72 73 69 6f 6e 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 74 .$version,.'pretty_version'.=>.t
a5520 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 rim($output));.}.catch.(\Excepti
a5540 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 on.$e).{.}.}..return.null;.}..pr
a5560 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 48 67 56 65 72 73 69 6f 6e 28 61 72 ivate.function.guessHgVersion(ar
a5580 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 ray.$packageConfig,.$path).{...i
a55a0 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.===.$this->process->execute
a55c0 28 27 68 67 20 62 72 61 6e 63 68 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b ('hg.branch',.$output,.$path)).{
a55e0 0a 24 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 .$branch.=.trim($output);.$versi
a5600 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 on.=.$this->versionParser->norma
a5620 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 lizeBranch($branch);.$isFeatureB
a5640 72 61 6e 63 68 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 ranch.=.0.===.strpos($version,.'
a5660 64 65 76 2d 27 29 3b 0a 0a 69 66 20 28 27 39 39 39 39 39 39 39 2d 64 65 76 27 20 3d 3d 3d 20 24 dev-');..if.('9999999-dev'.===.$
a5680 76 65 72 73 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e version).{.return.array('version
a56a0 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 6e 75 6c 6c 2c '.=>.$version,.'commit'.=>.null,
a56c0 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 27 64 65 76 2d 27 2e 24 62 72 61 .'pretty_version'.=>.'dev-'.$bra
a56e0 6e 63 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 29 20 nch);.}..if.(!$isFeatureBranch).
a5700 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 {.return.array('version'.=>.$ver
a5720 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 72 65 74 74 79 5f sion,.'commit'.=>.null,.'pretty_
a5740 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 24 64 72 69 version'.=>.$version);.}....$dri
a5760 76 65 72 20 3d 20 6e 65 77 20 48 67 44 72 69 76 65 72 28 61 72 72 61 79 28 27 75 72 6c 27 20 3d ver.=.new.HgDriver(array('url'.=
a5780 3e 20 24 70 61 74 68 29 2c 20 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 2c 20 24 74 68 69 73 2d 3e 63 >.$path),.new.NullIO(),.$this->c
a57a0 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 62 72 61 6e 63 68 65 onfig,.$this->process);.$branche
a57c0 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 s.=.array_keys($driver->getBranc
a57e0 68 65 73 28 29 29 3b 0a 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 hes());....$result.=.$this->gues
a5800 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 sFeatureVersion($packageConfig,.
a5820 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c 20 27 68 67 20 6c 6f 67 20 2d 72 20 $version,.$branches,.'hg.log.-r.
a5840 22 6e 6f 74 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 63 61 6e 64 69 64 61 74 65 25 5c 27 29 20 "not.ancestors(\'%candidate%\').
a5860 61 6e 64 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 62 72 61 6e 63 68 25 5c 27 29 22 20 2d 2d 74 and.ancestors(\'%branch%\')".--t
a5880 65 6d 70 6c 61 74 65 20 22 7b 6e 6f 64 65 7d 5c 5c 6e 22 27 2c 20 24 70 61 74 68 29 3b 0a 24 72 emplate."{node}\\n"',.$path);.$r
a58a0 65 73 75 6c 74 5b 27 63 6f 6d 6d 69 74 27 5d 20 3d 20 27 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 esult['commit'].=.'';..return.$r
a58c0 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 esult;.}.}..private.function.gue
a58e0 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 ssFeatureVersion(array.$packageC
a5900 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 61 72 72 61 79 20 24 62 72 61 6e 63 68 65 73 onfig,.$version,.array.$branches
a5920 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 72 65 74 74 79 56 ,.$scmCmdline,.$path).{.$prettyV
a5940 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 20 0a 20 69 66 20 28 28 69 73 73 ersion.=.$version;......if.((iss
a5960 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e et($packageConfig['extra']['bran
a5980 63 68 2d 61 6c 69 61 73 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f ch-alias']).&&.!isset($packageCo
a59a0 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 76 nfig['extra']['branch-alias'][$v
a59c0 65 72 73 69 6f 6e 5d 29 29 0a 7c 7c 20 73 74 72 70 6f 73 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 ersion])).||.strpos(json_encode(
a59e0 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 29 2c 20 27 22 73 65 6c 66 2e 76 65 72 73 69 6f 6e 22 $packageConfig),.'"self.version"
a5a00 27 29 0a 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b ').).{.$branch.=.preg_replace('{
a5a20 5e 64 65 76 2d 7d 27 2c 20 27 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 6c 65 6e 67 74 68 20 ^dev-}',.'',.$version);.$length.
a5a40 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 =.PHP_INT_MAX;..$nonFeatureBranc
a5a60 68 65 73 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 43 6f 6e hes.=.'';.if.(!empty($packageCon
a5a80 66 69 67 5b 27 6e 6f 6e 2d 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 65 73 27 5d 29 29 20 7b 0a fig['non-feature-branches'])).{.
a5aa0 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c $nonFeatureBranches.=.implode('|
a5ac0 27 2c 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 6e 6f 6e 2d 66 65 61 74 75 72 65 2d 62 ',.$packageConfig['non-feature-b
a5ae0 72 61 6e 63 68 65 73 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 ranches']);.}..foreach.($branche
a5b00 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 0a 20 69 66 20 28 24 63 61 6e 64 69 64 s.as.$candidate).{...if.($candid
a5b20 61 74 65 20 3d 3d 3d 20 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b ate.===.$branch.&&.preg_match('{
a5b40 5e 28 27 20 2e 20 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 2e 20 27 29 24 7d ^('...$nonFeatureBranches...')$}
a5b60 27 2c 20 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 0a 20 69 66 ',.$candidate)).{.break;.}....if
a5b80 20 28 24 63 61 6e 64 69 64 61 74 65 20 3d 3d 3d 20 24 62 72 61 6e 63 68 20 7c 7c 20 21 70 72 65 .($candidate.===.$branch.||.!pre
a5ba0 67 5f 6d 61 74 63 68 28 27 7b 5e 28 27 20 2e 20 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 g_match('{^('...$nonFeatureBranc
a5bc0 68 65 73 20 2e 20 27 7c 6d 61 73 74 65 72 7c 74 72 75 6e 6b 7c 64 65 66 61 75 6c 74 7c 64 65 76 hes...'|master|trunk|default|dev
a5be0 65 6c 6f 70 7c 5c 64 2b 5c 2e 2e 2b 29 24 7d 27 2c 20 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6d elop|\d+\..+)$}',.$candidate,.$m
a5c00 61 74 63 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6d 64 4c 69 6e 65 20 3d atch)).{.continue;.}..$cmdLine.=
a5c20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 63 61 6e 64 69 64 61 74 65 25 27 .str_replace(array('%candidate%'
a5c40 2c 20 27 25 62 72 61 6e 63 68 25 27 29 2c 20 61 72 72 61 79 28 24 63 61 6e 64 69 64 61 74 65 2c ,.'%branch%'),.array($candidate,
a5c60 20 24 62 72 61 6e 63 68 29 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 29 3b 0a 69 66 20 28 30 20 21 .$branch),.$scmCmdline);.if.(0.!
a5c80 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 4c ==.$this->process->execute($cmdL
a5ca0 69 6e 65 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 ine,.$output,.$path)).{.continue
a5cc0 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 29 20 3c 20 24 6c 65 6e 67 ;.}..if.(strlen($output).<.$leng
a5ce0 74 68 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 29 3b th).{.$length.=.strlen($output);
a5d00 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 .$version.=.$this->versionParser
a5d20 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 24 ->normalizeBranch($candidate);.$
a5d40 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 5b prettyVersion.=.'dev-'...$match[
a5d60 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 1];.}.}.}..return.array('version
a5d80 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 '.=>.$version,.'pretty_version'.
a5da0 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 =>.$prettyVersion);.}..private.f
a5dc0 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 46 6f 73 73 69 6c 56 65 72 73 69 6f 6e 28 61 72 72 61 79 unction.guessFossilVersion(array
a5de0 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 24 76 65 72 73 69 .$packageConfig,.$path).{.$versi
a5e00 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c on.=.null;.$prettyVersion.=.null
a5e20 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 ;....if.(0.===.$this->process->e
a5e40 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 62 72 61 6e 63 68 20 6c 69 73 74 27 2c 20 24 6f 75 xecute('fossil.branch.list',.$ou
a5e60 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 24 tput,.$path)).{.$branch.=.trim($
a5e80 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 output);.$version.=.$this->versi
a5ea0 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 onParser->normalizeBranch($branc
a5ec0 68 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 62 h);.$prettyVersion.=.'dev-'...$b
a5ee0 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f ranch;.}....if.(0.===.$this->pro
a5f00 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 74 61 67 20 6c 69 73 74 27 2c cess->execute('fossil.tag.list',
a5f20 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 .$output,.$path)).{.try.{.$versi
a5f40 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 on.=.$this->versionParser->norma
a5f60 6c 69 7a 65 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 lize(trim($output));.$prettyVers
a5f80 69 6f 6e 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 ion.=.trim($output);.}.catch.(\E
a5fa0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 xception.$e).{.}.}..return.array
a5fc0 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 ('version'.=>.$version,.'commit'
a5fe0 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 .=>.'',.'pretty_version'.=>.$pre
a6000 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ttyVersion);.}..private.function
a6020 20 67 75 65 73 73 53 76 6e 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 .guessSvnVersion(array.$packageC
a6040 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e onfig,.$path).{.SvnUtil::cleanEn
a6060 76 28 29 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 v();....if.(0.===.$this->process
a6080 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 69 6e 66 6f 20 2d 2d 78 6d 6c 27 2c 20 24 6f 75 74 ->execute('svn.info.--xml',.$out
a60a0 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 74 72 75 6e 6b 50 61 74 68 20 3d 20 69 73 73 65 put,.$path)).{.$trunkPath.=.isse
a60c0 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 29 20 t($packageConfig['trunk-path']).
a60e0 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 72 75 ?.preg_quote($packageConfig['tru
a6100 6e 6b 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 74 72 75 6e 6b 27 3b 0a 24 62 72 61 6e nk-path'],.'#').:.'trunk';.$bran
a6120 63 68 65 73 50 61 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b chesPath.=.isset($packageConfig[
a6140 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 'branches-path']).?.preg_quote($
a6160 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 2c 20 packageConfig['branches-path'],.
a6180 27 23 27 29 20 3a 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 24 74 61 67 73 50 61 74 68 20 3d 20 69 '#').:.'branches';.$tagsPath.=.i
a61a0 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d sset($packageConfig['tags-path']
a61c0 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 ).?.preg_quote($packageConfig['t
a61e0 61 67 73 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 74 61 67 73 27 3b 0a 0a 24 75 72 6c ags-path'],.'#').:.'tags';..$url
a6200 50 61 74 74 65 72 6e 20 3d 20 27 23 3c 75 72 6c 3e 2e 2a 2f 28 27 20 2e 20 24 74 72 75 6e 6b 50 Pattern.=.'#<url>.*/('...$trunkP
a6220 61 74 68 20 2e 20 27 7c 28 27 20 2e 20 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 2e 20 27 7c 27 ath...'|('...$branchesPath...'|'
a6240 20 2e 20 24 74 61 67 73 50 61 74 68 20 2e 20 27 29 2f 28 2e 2a 29 29 3c 2f 75 72 6c 3e 23 27 3b ...$tagsPath...')/(.*))</url>#';
a6260 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 75 72 6c 50 61 74 74 65 72 6e 2c 20 24 6f ..if.(preg_match($urlPattern,.$o
a6280 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d utput,.$matches)).{.if.(isset($m
a62a0 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 28 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 3d 3d atches[2]).&&.($branchesPath.===
a62c0 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c 7c 20 24 74 61 67 73 50 61 74 68 20 3d 3d 3d 20 24 6d .$matches[2].||.$tagsPath.===.$m
a62e0 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 0a 20 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 atches[2])).{...$version.=.$this
a6300 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 ->versionParser->normalizeBranch
a6320 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 ($matches[3]);.$prettyVersion.=.
a6340 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 61 72 'dev-'...$matches[3];..return.ar
a6360 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d ray('version'.=>.$version,.'comm
a6380 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 it'.=>.'',.'pretty_version'.=>.$
a63a0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f prettyVersion);.}..$prettyVersio
a63c0 6e 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 24 76 65 72 73 69 6f 6e 20 n.=.trim($matches[1]);.$version.
a63e0 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a =.$this->versionParser->normaliz
a6400 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 e($prettyVersion);..return.array
a6420 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 ('version'.=>.$version,.'commit'
a6440 20 3d 3e 20 27 27 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 .=>.'',.'pretty_version'.=>.$pre
a6460 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ttyVersion);.}.}.}.}.<?php......
a6480 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
a64a0 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f \Version;..use.Composer\Reposito
a64c0 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f ry\PlatformRepository;.use.Compo
a64e0 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 ser\Semver\VersionParser.as.Semv
a6500 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 erVersionParser;.use.Composer\Se
a6520 6d 76 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 50 61 72 73 65 mver\Semver;..class.VersionParse
a6540 72 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a r.extends.SemverVersionParser.{.
a6560 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 61 72 private.static.$constraints.=.ar
a6580 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 ray();.....public.function.parse
a65a0 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 69 66 20 28 Constraints($constraints).{.if.(
a65c0 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 !isset(self::$constraints[$const
a65e0 72 61 69 6e 74 73 5d 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 raints])).{.self::$constraints[$
a6600 63 6f 6e 73 74 72 61 69 6e 74 73 5d 20 3d 20 70 61 72 65 6e 74 3a 3a 70 61 72 73 65 43 6f 6e 73 constraints].=.parent::parseCons
a6620 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e traints($constraints);.}..return
a6640 20 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 .self::$constraints[$constraints
a6660 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ];.}............public.function.
a6680 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 61 72 72 61 79 20 24 70 61 69 parseNameVersionPairs(array.$pai
a66a0 72 73 29 0a 7b 0a 24 70 61 69 72 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 70 61 69 rs).{.$pairs.=.array_values($pai
a66c0 72 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 20 28 24 69 rs);.$result.=.array();..for.($i
a66e0 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 70 61 69 72 73 29 3b 20 24 69 .=.0,.$count.=.count($pairs);.$i
a6700 20 3c 20 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 24 70 61 69 72 20 3d 20 70 72 65 67 5f .<.$count;.$i++).{.$pair.=.preg_
a6720 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 3d 3a 20 5d 2b 29 5b 3d 3a 20 5d 28 2e 2a 29 24 7d 27 replace('{^([^=:.]+)[=:.](.*)$}'
a6740 2c 20 27 24 31 20 24 32 27 2c 20 74 72 69 6d 28 24 70 61 69 72 73 5b 24 69 5d 29 29 3b 0a 69 66 ,.'$1.$2',.trim($pairs[$i]));.if
a6760 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 72 2c 20 27 20 27 29 20 26 .(false.===.strpos($pair,.'.').&
a6780 26 20 69 73 73 65 74 28 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 29 20 26 26 20 66 61 6c 73 65 &.isset($pairs[$i.+.1]).&&.false
a67a0 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 2c 20 27 2f 27 29 .===.strpos($pairs[$i.+.1],.'/')
a67c0 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f .&&.!preg_match(PlatformReposito
a67e0 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 70 61 69 ry::PLATFORM_PACKAGE_REGEX,.$pai
a6800 72 73 5b 24 69 20 2b 20 31 5d 29 29 20 7b 0a 24 70 61 69 72 20 2e 3d 20 27 20 27 2e 24 70 61 69 rs[$i.+.1])).{.$pair..=.'.'.$pai
a6820 72 73 5b 24 69 20 2b 20 31 5d 3b 0a 24 69 2b 2b 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 rs[$i.+.1];.$i++;.}..if.(strpos(
a6840 24 70 61 69 72 2c 20 27 20 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 $pair,.'.')).{.list($name,.$vers
a6860 69 6f 6e 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 61 69 72 2c 20 32 29 3b 0a 24 ion).=.explode('.',.$pair,.2);.$
a6880 72 65 73 75 6c 74 5b 5d 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 result[].=.array('name'.=>.$name
a68a0 2c 20 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 ,.'version'.=>.$version);.}.else
a68c0 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 .{.$result[].=.array('name'.=>.$
a68e0 70 61 69 72 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a pair);.}.}..return.$result;.}...
a6900 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 55 70 67 72 61 ..public.static.function.isUpgra
a6920 64 65 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 de($normalizedFrom,.$normalizedT
a6940 6f 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 2c o).{.if.(substr($normalizedFrom,
a6960 20 30 2c 20 34 29 20 3d 3d 3d 20 27 64 65 76 2d 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6e 6f 72 .0,.4).===.'dev-'.||.substr($nor
a6980 6d 61 6c 69 7a 65 64 54 6f 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 64 65 76 2d 27 29 20 7b 0a 72 malizedTo,.0,.4).===.'dev-').{.r
a69a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 73 6f 72 74 65 64 20 3d 20 53 65 6d 76 65 72 3a eturn.true;.}..$sorted.=.Semver:
a69c0 3a 73 6f 72 74 28 61 72 72 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 6f 2c 20 24 6e 6f 72 6d :sort(array($normalizedTo,.$norm
a69e0 61 6c 69 7a 65 64 46 72 6f 6d 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 65 64 5b 30 5d alizedFrom));..return.$sorted[0]
a6a00 20 3d 3d 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a .===.$normalizedFrom;.}.}.<?php.
a6a20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ...........namespace.Composer\Pa
a6a40 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 ckage\Version;..use.Composer\Dep
a6a60 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 endencyResolver\Pool;.use.Compos
a6a80 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 er\Package\BasePackage;.use.Comp
a6aa0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 oser\Package\PackageInterface;.u
a6ac0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 se.Composer\Package\Loader\Array
a6ae0 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d Loader;.use.Composer\Package\Dum
a6b00 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 per\ArrayDumper;.use.Composer\Se
a6b20 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a mver\Constraint\Constraint;.....
a6b40 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 0a 7b 0a 70 72 69 76 61 ...class.VersionSelector.{.priva
a6b60 74 65 20 24 70 6f 6f 6c 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 61 72 73 65 72 3b 0a 0a 70 75 62 te.$pool;..private.$parser;..pub
a6b80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6f 6c 20 24 70 lic.function.__construct(Pool.$p
a6ba0 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a ool).{.$this->pool.=.$pool;.}...
a6bc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 42 65 73 .........public.function.findBes
a6be0 74 43 61 6e 64 69 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 74 61 72 67 65 74 tCandidate($packageName,.$target
a6c00 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 50 68 PackageVersion.=.null,.$targetPh
a6c20 70 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 pVersion.=.null,.$preferredStabi
a6c40 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d lity.=.'stable').{.$constraint.=
a6c60 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3f 20 24 74 68 69 73 2d 3e .$targetPackageVersion.?.$this->
a6c80 67 65 74 50 61 72 73 65 72 28 29 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 74 getParser()->parseConstraints($t
a6ca0 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 29 20 3a 20 6e 75 6c 6c 3b 0a 24 63 61 argetPackageVersion).:.null;.$ca
a6cc0 6e 64 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 ndidates.=.$this->pool->whatProv
a6ce0 69 64 65 73 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 2c 20 24 ides(strtolower($packageName),.$
a6d00 63 6f 6e 73 74 72 61 69 6e 74 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 50 constraint,.true);..if.($targetP
a6d20 68 70 56 65 72 73 69 6f 6e 29 20 7b 0a 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 hpVersion).{.$phpConstraint.=.ne
a6d40 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 50 61 72 w.Constraint('==',.$this->getPar
a6d60 73 65 72 28 29 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 ser()->normalize($targetPhpVersi
a6d80 6f 6e 29 29 3b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 on));.$candidates.=.array_filter
a6da0 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 6b 67 29 20 75 73 ($candidates,.function.($pkg).us
a6dc0 65 20 28 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 72 65 71 73 20 3d 20 24 70 6b e.($phpConstraint).{.$reqs.=.$pk
a6de0 67 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 21 69 73 73 65 74 g->getRequires();..return.!isset
a6e00 28 24 72 65 71 73 5b 27 70 68 70 27 5d 29 20 7c 7c 20 24 72 65 71 73 5b 27 70 68 70 27 5d 2d 3e ($reqs['php']).||.$reqs['php']->
a6e20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 70 68 70 43 6f 6e getConstraint()->matches($phpCon
a6e40 73 74 72 61 69 6e 74 29 3b 0a 7d 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 63 61 6e 64 69 64 61 74 65 straint);.});.}..if.(!$candidate
a6e60 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 s).{.return.false;.}....$package
a6e80 20 3d 20 72 65 73 65 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b 0a 24 6d 69 6e 50 72 69 6f 72 .=.reset($candidates);.$minPrior
a6ea0 69 74 79 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b ity.=.BasePackage::$stabilities[
a6ec0 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 $preferredStability];.foreach.($
a6ee0 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 63 61 6e candidates.as.$candidate).{.$can
a6f00 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 didatePriority.=.$candidate->get
a6f20 53 74 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 3b 0a 24 63 75 72 72 65 6e 74 50 72 69 StabilityPriority();.$currentPri
a6f40 6f 72 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 50 72 ority.=.$package->getStabilityPr
a6f60 69 6f 72 69 74 79 28 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 iority();......if.($minPriority.
a6f80 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 20 24 63 75 72 72 65 6e 74 <.$candidatePriority.&&.$current
a6fa0 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 29 20 7b Priority.<.$candidatePriority).{
a6fc0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 .continue;.}......if.($minPriori
a6fe0 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 20 24 63 61 6e 64 ty.<.$candidatePriority.&&.$cand
a7000 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 3c 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 idatePriority.<.$currentPriority
a7020 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 63 6f 6e 74 69 ).{.$package.=.$candidate;.conti
a7040 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3e 3d 20 nue;.}......if.($minPriority.>=.
a7060 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 20 24 6d 69 6e 50 72 69 6f 72 69 $candidatePriority.&&.$minPriori
a7080 74 79 20 3c 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 29 20 7b 0a 24 70 61 63 6b 61 67 ty.<.$currentPriority).{.$packag
a70a0 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 e.=.$candidate;.continue;.}....i
a70c0 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 f.(version_compare($package->get
a70e0 56 65 72 73 69 6f 6e 28 29 2c 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 56 65 72 73 69 6f Version(),.$candidate->getVersio
a7100 6e 28 29 2c 20 27 3c 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 n(),.'<')).{.$package.=.$candida
a7120 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a te;.}.}..return.$package;.}.....
a7140 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 ............public.function.find
a7160 52 65 63 6f 6d 6d 65 6e 64 65 64 52 65 71 75 69 72 65 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 67 RecommendedRequireVersion(Packag
a7180 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 eInterface.$package).{.$version.
a71a0 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 21 24 =.$package->getVersion();.if.(!$
a71c0 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 package->isDev()).{.return.$this
a71e0 2d 3e 74 72 61 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 70 61 ->transformVersion($version,.$pa
a7200 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b ckage->getPrettyVersion(),.$pack
a7220 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 72 age->getStability());.}..$loader
a7240 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 24 74 68 69 73 2d 3e 67 65 74 50 61 72 .=.new.ArrayLoader($this->getPar
a7260 73 65 72 28 29 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 ser());.$dumper.=.new.ArrayDumpe
a7280 72 28 29 3b 0a 24 65 78 74 72 61 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 r();.$extra.=.$loader->getBranch
a72a0 41 6c 69 61 73 28 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 29 3b 0a Alias($dumper->dump($package));.
a72c0 69 66 20 28 24 65 78 74 72 61 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 70 72 65 67 5f 72 65 70 6c if.($extra).{.$extra.=.preg_repl
a72e0 61 63 65 28 27 7b 5e 28 5c 64 2b 5c 2e 5c 64 2b 5c 2e 5c 64 2b 29 28 5c 2e 39 39 39 39 39 39 39 ace('{^(\d+\.\d+\.\d+)(\.9999999
a7300 29 2d 64 65 76 24 7d 27 2c 20 27 24 31 2e 30 27 2c 20 24 65 78 74 72 61 2c 20 2d 31 2c 20 24 63 )-dev$}',.'$1.0',.$extra,.-1,.$c
a7320 6f 75 6e 74 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 73 74 ount);.if.($count).{.$extra.=.st
a7340 72 5f 72 65 70 6c 61 63 65 28 27 2e 39 39 39 39 39 39 39 27 2c 20 27 2e 30 27 2c 20 24 65 78 74 r_replace('.9999999',.'.0',.$ext
a7360 72 61 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 66 6f 72 6d 56 65 72 ra);..return.$this->transformVer
a7380 73 69 6f 6e 28 24 65 78 74 72 61 2c 20 24 65 78 74 72 61 2c 20 27 64 65 76 27 29 3b 0a 7d 0a 7d sion($extra,.$extra,.'dev');.}.}
a73a0 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 ..return.$package->getPrettyVers
a73c0 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 ion();.}..private.function.trans
a73e0 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 formVersion($version,.$prettyVer
a7400 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 0a 20 0a 20 24 73 65 6d 61 6e 74 69 sion,.$stability).{.....$semanti
a7420 63 56 65 72 73 69 6f 6e 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 76 65 cVersionParts.=.explode('.',.$ve
a7440 72 73 69 6f 6e 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 73 65 6d 61 6e 74 69 63 56 65 rsion);....if.(count($semanticVe
a7460 72 73 69 6f 6e 50 61 72 74 73 29 20 3d 3d 20 34 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 rsionParts).==.4.&&.preg_match('
a7480 7b 5e 30 5c 44 3f 7d 27 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b {^0\D?}',.$semanticVersionParts[
a74a0 33 5d 29 29 20 7b 0a 0a 20 69 66 20 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 3])).{...if.($semanticVersionPar
a74c0 74 73 5b 30 5d 20 3d 3d 3d 20 27 30 27 29 20 7b 0a 75 6e 73 65 74 28 24 73 65 6d 61 6e 74 69 63 ts[0].===.'0').{.unset($semantic
a74e0 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 33 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 VersionParts[3]);.}.else.{.unset
a7500 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 32 5d 2c 20 24 73 65 6d 61 ($semanticVersionParts[2],.$sema
a7520 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 33 5d 29 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e nticVersionParts[3]);.}.$version
a7540 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e .=.implode('.',.$semanticVersion
a7560 50 61 72 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 70 72 65 74 74 79 56 Parts);.}.else.{.return.$prettyV
a7580 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 73 74 61 62 69 6c 69 74 79 20 21 3d 20 27 ersion;.}....if.($stability.!=.'
a75a0 73 74 61 62 6c 65 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 40 27 2e 24 73 74 61 62 stable').{.$version..=.'@'.$stab
a75c0 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 27 5e 27 20 2e 20 24 76 65 72 73 69 6f ility;.}....return.'^'...$versio
a75e0 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 73 65 72 n;.}..private.function.getParser
a7600 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 72 73 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 ().{.if.($this->parser.===.null)
a7620 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 .{.$this->parser.=.new.VersionPa
a7640 72 73 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 72 3b rser();.}..return.$this->parser;
a7660 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
a7680 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a Composer\Plugin\Capability;.....
a76a0 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 61 70 61 62 69 6c 69 74 79 0a 7b 0a 7d 0a 3c 3f 70 68 ...interface.Capability.{.}.<?ph
a76c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
a76e0 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e Plugin\Capability;............in
a7700 74 65 72 66 61 63 65 20 43 6f 6d 6d 61 6e 64 50 72 6f 76 69 64 65 72 20 65 78 74 65 6e 64 73 20 terface.CommandProvider.extends.
a7720 43 61 70 61 62 69 6c 69 74 79 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f Capability.{......public.functio
a7740 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a n.getCommands();.}.<?php........
a7760 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a ....namespace.Composer\Plugin;..
a7780 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 61 70 61 62 6c 65 0a 7b 0a 0a 0a 0a 0a 0a .......interface.Capable.{......
a77a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .............public.function.get
a77c0 43 61 70 61 62 69 6c 69 74 69 65 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a Capabilities();.}.<?php.........
a77e0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 ...namespace.Composer\Plugin;..u
a7800 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e se.Composer\EventDispatcher\Even
a7820 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 t;.use.Symfony\Component\Console
a7840 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
a7860 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
a7880 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 utInterface;.......class.Command
a78a0 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 Event.extends.Event.{....private
a78c0 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 .$commandName;.....private.$inpu
a78e0 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a t;.....private.$output;.........
a7900 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
a7920 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 name,.$commandName,.$input,.$out
a7940 70 75 74 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 put,.array.$args.=.array(),.arra
a7960 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f y.$flags.=.array()).{.parent::__
a7980 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 61 72 67 73 2c 20 24 66 6c 61 67 73 29 3b construct($name,.$args,.$flags);
a79a0 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 .$this->commandName.=.$commandNa
a79c0 6d 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 me;.$this->input.=.$input;.$this
a79e0 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ->output.=.$output;.}.......publ
a7a00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ic.function.getInput().{.return.
a7a20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->input;.}.......public.fun
a7a40 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ction.getOutput().{.return.$this
a7a60 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->output;.}.......public.functio
a7a80 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 n.getCommandName().{.return.$thi
a7aa0 73 2d 3e 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a s->commandName;.}.}.<?php.......
a7ac0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a .....namespace.Composer\Plugin;.
a7ae0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 75 67 69 6e 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a ......class.PluginEvents.{......
a7b00 0a 0a 0a 63 6f 6e 73 74 20 49 4e 49 54 20 3d 20 27 69 6e 69 74 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ...const.INIT.=.'init';.........
a7b20 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d 20 27 63 6f 6d 6d 61 6e 64 27 3b 0a 0a 0a 0a 0a .const.COMMAND.=.'command';.....
a7b40 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 20 3d 20 27 .....const.PRE_FILE_DOWNLOAD.=.'
a7b60 70 72 65 2d 66 69 6c 65 2d 64 6f 77 6e 6c 6f 61 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e pre-file-download';..........con
a7b80 73 74 20 50 52 45 5f 43 4f 4d 4d 41 4e 44 5f 52 55 4e 20 3d 20 27 70 72 65 2d 63 6f 6d 6d 61 6e st.PRE_COMMAND_RUN.=.'pre-comman
a7ba0 64 2d 72 75 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 d-run';.}.<?php............names
a7bc0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f pace.Composer\Plugin;..use.Compo
a7be0 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f ser\Composer;.use.Composer\IO\IO
a7c00 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 6c 75 67 69 Interface;.......interface.Plugi
a7c20 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4c 55 47 49 4e 5f 41 nInterface.{......const.PLUGIN_A
a7c40 50 49 5f 56 45 52 53 49 4f 4e 20 3d 20 27 31 2e 31 2e 30 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 PI_VERSION.=.'1.1.0';........pub
a7c60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 74 69 76 61 74 65 28 43 6f 6d 70 6f 73 65 72 20 24 lic.function.activate(Composer.$
a7c80 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 3b 0a 7d 0a 3c 3f composer,.IOInterface.$io);.}.<?
a7ca0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
a7cc0 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 r\Plugin;..use.Composer\Composer
a7ce0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 ;.use.Composer\EventDispatcher\E
a7d00 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d ventSubscriberInterface;.use.Com
a7d20 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 poser\IO\IOInterface;.use.Compos
a7d40 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\Package\Package;.use.Composer
a7d60 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a \Package\Version\VersionParser;.
a7d80 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f use.Composer\Repository\Reposito
a7da0 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ryInterface;.use.Composer\Packag
a7dc0 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 e\AliasPackage;.use.Composer\Pac
a7de0 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f kage\PackageInterface;.use.Compo
a7e00 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 ser\Package\Link;.use.Composer\S
a7e20 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 emver\Constraint\Constraint;.use
a7e40 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f .Composer\DependencyResolver\Poo
a7e60 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 l;.use.Composer\Plugin\Capabilit
a7e80 79 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 75 67 69 y\Capability;........class.Plugi
a7ea0 6e 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a nManager.{.protected.$composer;.
a7ec0 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 67 6c 6f 62 61 6c protected.$io;.protected.$global
a7ee0 43 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 Composer;.protected.$versionPars
a7f00 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 er;.protected.$disablePlugins.=.
a7f20 66 61 6c 73 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6c 75 67 69 6e 73 20 3d 20 61 72 72 false;..protected.$plugins.=.arr
a7f40 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 ay();.protected.$registeredPlugi
a7f60 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 ns.=.array();..private.static.$c
a7f80 6c 61 73 73 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 lassCounter.=.0;..........public
a7fa0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 .function.__construct(IOInterfac
a7fc0 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 43 6f 6d 70 6f e.$io,.Composer.$composer,.Compo
a7fe0 73 65 72 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 ser.$globalComposer.=.null,.$dis
a8000 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f ablePlugins.=.false).{.$this->io
a8020 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f .=.$io;.$this->composer.=.$compo
a8040 73 65 72 3b 0a 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 24 67 6c ser;.$this->globalComposer.=.$gl
a8060 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 obalComposer;.$this->versionPars
a8080 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 74 68 69 73 2d er.=.new.VersionParser();.$this-
a80a0 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e >disablePlugins.=.$disablePlugin
a80c0 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 49 6e 73 s;.}.....public.function.loadIns
a80e0 74 61 6c 6c 65 64 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 talledPlugins().{.if.($this->dis
a8100 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 20 ablePlugins).{.return;.}..$repo.
a8120 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 =.$this->composer->getRepository
a8140 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b Manager()->getLocalRepository();
a8160 0a 24 67 6c 6f 62 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 .$globalRepo.=.$this->globalComp
a8180 6f 73 65 72 20 3f 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 oser.?.$this->globalComposer->ge
a81a0 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 tRepositoryManager()->getLocalRe
a81c0 70 6f 73 69 74 6f 72 79 28 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 72 65 70 6f 29 20 7b 0a pository().:.null;.if.($repo).{.
a81e0 24 74 68 69 73 2d 3e 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a $this->loadRepository($repo);.}.
a8200 69 66 20 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 52 65 if.($globalRepo).{.$this->loadRe
a8220 70 6f 73 69 74 6f 72 79 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a pository($globalRepo);.}.}......
a8240 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 73 28 29 0a 7b 0a .public.function.getPlugins().{.
a8260 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 return.$this->plugins;.}.......p
a8280 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 ublic.function.getGlobalComposer
a82a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 ().{.return.$this->globalCompose
a82c0 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e r;.}.............public.function
a82e0 20 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 .registerPackage(PackageInterfac
a8300 65 20 24 70 61 63 6b 61 67 65 2c 20 24 66 61 69 6c 4f 6e 4d 69 73 73 69 6e 67 43 6c 61 73 73 65 e.$package,.$failOnMissingClasse
a8320 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 s.=.false).{.if.($this->disableP
a8340 6c 75 67 69 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 lugins).{.return;.}..if.($packag
a8360 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 e->getType().===.'composer-plugi
a8380 6e 27 29 20 7b 0a 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a n').{.$requiresComposer.=.null;.
a83a0 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 foreach.($package->getRequires()
a83c0 20 61 73 20 24 6c 69 6e 6b 29 20 7b 20 0a 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 .as.$link).{..if.('composer-plug
a83e0 69 6e 2d 61 70 69 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 in-api'.===.$link->getTarget()).
a8400 7b 0a 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 {.$requiresComposer.=.$link->get
a8420 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 Constraint();.break;.}.}..if.(!$
a8440 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 requiresComposer).{.throw.new.\R
a8460 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 50 6c 75 67 69 6e 20 22 2e 24 70 61 63 6b 61 untimeException("Plugin.".$packa
a8480 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 20 69 73 20 6d 69 73 73 69 6e 67 20 61 20 72 65 71 ge->getName().".is.missing.a.req
a84a0 75 69 72 65 20 73 74 61 74 65 6d 65 6e 74 20 66 6f 72 20 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 uire.statement.for.a.version.of.
a84c0 74 68 65 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 20 70 61 63 6b 61 67 65 2e the.composer-plugin-api.package.
a84e0 22 29 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 20 ");.}..$currentPluginApiVersion.
a8500 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 3b 0a =.$this->getPluginApiVersion();.
a8520 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 $currentPluginApiConstraint.=.ne
a8540 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f w.Constraint('==',.$this->versio
a8560 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 63 75 72 72 65 6e 74 50 6c 75 67 69 nParser->normalize($currentPlugi
a8580 6e 41 70 69 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 43 6f 6d nApiVersion));..if.($requiresCom
a85a0 70 6f 73 65 72 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 3d 3d 3d 20 27 31 2e poser->getPrettyString().===.'1.
a85c0 30 2e 30 27 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 0.0'.&&.$this->getPluginApiVersi
a85e0 6f 6e 28 29 20 3d 3d 3d 20 27 31 2e 30 2e 30 27 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 on().===.'1.0.0').{.$this->io->w
a8600 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 54 68 65 20 22 27 20 2e 20 24 70 61 riteError('<warning>The."'...$pa
a8620 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 70 6c 75 67 69 6e 20 72 65 71 ckage->getName()...'".plugin.req
a8640 75 69 72 65 73 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 20 31 2e 30 2e 30 2c uires.composer-plugin-api.1.0.0,
a8660 20 74 68 69 73 20 2a 57 49 4c 4c 2a 20 62 72 65 61 6b 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 .this.*WILL*.break.in.the.future
a8680 20 61 6e 64 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 66 69 78 65 64 20 41 53 41 50 20 28 72 65 .and.it.should.be.fixed.ASAP.(re
a86a0 71 75 69 72 65 20 5e 31 2e 30 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 2e 3c 2f 77 61 72 6e 69 6e quire.^1.0.for.example).</warnin
a86c0 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 g>');.}.elseif.(!$requiresCompos
a86e0 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 43 6f 6e er->matches($currentPluginApiCon
a8700 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f straint)).{.$this->io->writeErro
a8720 72 28 27 3c 77 61 72 6e 69 6e 67 3e 54 68 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 r('<warning>The."'...$package->g
a8740 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 70 6c 75 67 69 6e 20 77 61 73 20 73 6b 69 70 70 65 64 etName()...'".plugin.was.skipped
a8760 20 62 65 63 61 75 73 65 20 69 74 20 72 65 71 75 69 72 65 73 20 61 20 50 6c 75 67 69 6e 20 41 50 .because.it.requires.a.Plugin.AP
a8780 49 20 76 65 72 73 69 6f 6e 20 28 22 27 20 2e 20 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 I.version.("'...$requiresCompose
a87a0 72 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 2e 20 27 22 29 20 74 68 61 74 20 r->getPrettyString()...'").that.
a87c0 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 79 6f 75 72 20 43 6f 6d 70 6f 73 65 72 20 69 6e 73 does.not.match.your.Composer.ins
a87e0 74 61 6c 6c 61 74 69 6f 6e 20 28 22 27 20 2e 20 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 tallation.("'...$currentPluginAp
a8800 69 56 65 72 73 69 6f 6e 20 2e 20 27 22 29 2e 20 59 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 iVersion...'")..You.may.need.to.
a8820 72 75 6e 20 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 77 69 74 68 20 74 68 65 20 22 2d 2d run.composer.update.with.the."--
a8840 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 6f 70 74 69 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b no-plugins".option.</warning>');
a8860 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 24 6f 6c 64 49 6e 73 74 61 6c 6c 65 72 50 6c 75 67 ..return;.}.}..$oldInstallerPlug
a8880 69 6e 20 3d 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 in.=.($package->getType().===.'c
a88a0 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 omposer-installer');..if.(in_arr
a88c0 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d 3e 72 ay($package->getName(),.$this->r
a88e0 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a egisteredPlugins)).{.return;.}..
a8900 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 $extra.=.$package->getExtra();.i
a8920 66 20 28 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 f.(empty($extra['class'])).{.thr
a8940 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e ow.new.\UnexpectedValueException
a8960 28 27 45 72 72 6f 72 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 70 61 63 6b ('Error.while.installing.'.$pack
a8980 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 age->getPrettyName().',.composer
a89a0 2d 70 6c 75 67 69 6e 20 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 -plugin.packages.should.have.a.c
a89c0 6c 61 73 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 lass.defined.in.their.extra.key.
a89e0 74 6f 20 62 65 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 63 6c 61 73 73 65 73 20 3d 20 69 73 to.be.usable.');.}.$classes.=.is
a8a00 5f 61 72 72 61 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 65 78 74 72 61 _array($extra['class']).?.$extra
a8a20 5b 27 63 6c 61 73 73 27 5d 20 3a 20 61 72 72 61 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 ['class'].:.array($extra['class'
a8a40 5d 29 3b 0a 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 ]);..$localRepo.=.$this->compose
a8a60 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f r->getRepositoryManager()->getLo
a8a80 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 52 65 70 6f 20 3d 20 24 calRepository();.$globalRepo.=.$
a8aa0 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3f 20 24 74 68 69 73 2d 3e 67 6c this->globalComposer.?.$this->gl
a8ac0 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 obalComposer->getRepositoryManag
a8ae0 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 20 3a 20 6e 75 6c er()->getLocalRepository().:.nul
a8b00 6c 3b 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f l;..$pool.=.new.Pool('dev');.$po
a8b20 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 6c 52 65 70 6f 29 3b 0a 69 ol->addRepository($localRepo);.i
a8b40 66 20 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 20 7b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f f.($globalRepo).{.$pool->addRepo
a8b60 73 69 74 6f 72 79 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a 7d 0a 0a 24 61 75 74 6f 6c 6f 61 sitory($globalRepo);.}..$autoloa
a8b80 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e dPackages.=.array($package->getN
a8ba0 61 6d 65 28 29 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 50 61 63 ame().=>.$package);.$autoloadPac
a8bc0 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 kages.=.$this->collectDependenci
a8be0 65 73 28 24 70 6f 6f 6c 2c 20 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 2c 20 24 70 61 es($pool,.$autoloadPackages,.$pa
a8c00 63 6b 61 67 65 29 3b 0a 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d ckage);..$generator.=.$this->com
a8c20 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 24 poser->getAutoloadGenerator();.$
a8c40 61 75 74 6f 6c 6f 61 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 autoloads.=.array();.foreach.($a
a8c60 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b utoloadPackages.as.$autoloadPack
a8c80 61 67 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 age).{.$downloadPath.=.$this->ge
a8ca0 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 2c 20 24 tInstallPath($autoloadPackage,.$
a8cc0 67 6c 6f 62 61 6c 52 65 70 6f 20 26 26 20 24 67 6c 6f 62 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 globalRepo.&&.$globalRepo->hasPa
a8ce0 63 6b 61 67 65 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 29 29 3b 0a 24 61 75 74 6f 6c ckage($autoloadPackage));.$autol
a8d00 6f 61 64 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 2c oads[].=.array($autoloadPackage,
a8d20 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 .$downloadPath);.}..$map.=.$gene
a8d40 72 61 74 6f 72 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 61 75 74 6f 6c 6f 61 64 73 rator->parseAutoloads($autoloads
a8d60 2c 20 6e 65 77 20 50 61 63 6b 61 67 65 28 27 64 75 6d 6d 79 27 2c 20 27 31 2e 30 2e 30 2e 30 27 ,.new.Package('dummy',.'1.0.0.0'
a8d80 2c 20 27 31 2e 30 2e 30 27 29 29 3b 0a 24 63 6c 61 73 73 4c 6f 61 64 65 72 20 3d 20 24 67 65 6e ,.'1.0.0'));.$classLoader.=.$gen
a8da0 65 72 61 74 6f 72 2d 3e 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 63 6c 61 erator->createLoader($map);.$cla
a8dc0 73 73 4c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 ssLoader->register();..foreach.(
a8de0 24 63 6c 61 73 73 65 73 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 69 66 20 28 63 6c 61 73 73 5f $classes.as.$class).{.if.(class_
a8e00 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 20 7b 0a 24 63 6c 61 73 73 20 exists($class,.false)).{.$class.
a8e20 3d 20 74 72 69 6d 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 3b 0a 24 70 61 74 68 20 3d 20 24 63 =.trim($class,.'\\');.$path.=.$c
a8e40 6c 61 73 73 4c 6f 61 64 65 72 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 3b 0a 24 63 lassLoader->findFile($class);.$c
a8e60 6f 64 65 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 3b 0a ode.=.file_get_contents($path);.
a8e80 24 73 65 70 61 72 61 74 6f 72 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 $separatorPos.=.strrpos($class,.
a8ea0 27 5c 5c 27 29 3b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 63 6c 61 73 73 3b 0a 69 66 20 28 '\\');.$className.=.$class;.if.(
a8ec0 24 73 65 70 61 72 61 74 6f 72 50 6f 73 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 $separatorPos).{.$className.=.su
a8ee0 62 73 74 72 28 24 63 6c 61 73 73 2c 20 24 73 65 70 61 72 61 74 6f 72 50 6f 73 20 2b 20 31 29 3b bstr($class,.$separatorPos.+.1);
a8f00 0a 7d 0a 24 63 6f 64 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 28 3f 3a 66 .}.$code.=.preg_replace('{^((?:f
a8f20 69 6e 61 6c 5c 73 2b 29 3f 28 3f 3a 5c 73 2a 29 29 63 6c 61 73 73 5c 73 2b 28 27 2e 70 72 65 67 inal\s+)?(?:\s*))class\s+('.preg
a8f40 5f 71 75 6f 74 65 28 24 63 6c 61 73 73 4e 61 6d 65 29 2e 27 29 7d 6d 69 27 2c 20 27 24 31 63 6c _quote($className).')}mi',.'$1cl
a8f60 61 73 73 20 24 32 5f 63 6f 6d 70 6f 73 65 72 5f 74 6d 70 27 2e 73 65 6c 66 3a 3a 24 63 6c 61 73 ass.$2_composer_tmp'.self::$clas
a8f80 73 43 6f 75 6e 74 65 72 2c 20 24 63 6f 64 65 2c 20 31 29 3b 0a 24 63 6f 64 65 20 3d 20 73 74 72 sCounter,.$code,.1);.$code.=.str
a8fa0 5f 72 65 70 6c 61 63 65 28 27 5f 5f 46 49 4c 45 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 _replace('__FILE__',.var_export(
a8fc0 24 70 61 74 68 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 3d 20 73 74 $path,.true),.$code);.$code.=.st
a8fe0 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 r_replace('__DIR__',.var_export(
a9000 64 69 72 6e 61 6d 65 28 24 70 61 74 68 29 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 dirname($path),.true),.$code);.$
a9020 63 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 43 4c 41 53 53 5f 5f 27 2c 20 code.=.str_replace('__CLASS__',.
a9040 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 var_export($class,.true),.$code)
a9060 3b 0a 24 63 6f 64 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 73 2a 3c 5c 3f ;.$code.=.preg_replace('/^\s*<\?
a9080 28 70 68 70 29 3f 2f 69 27 2c 20 27 27 2c 20 24 63 6f 64 65 2c 20 31 29 3b 0a 65 76 61 6c 28 24 (php)?/i',.'',.$code,.1);.eval($
a90a0 63 6f 64 65 29 3b 0a 24 63 6c 61 73 73 20 2e 3d 20 27 5f 63 6f 6d 70 6f 73 65 72 5f 74 6d 70 27 code);.$class..=.'_composer_tmp'
a90c0 2e 73 65 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 3b 0a 73 65 6c 66 3a 3a 24 63 6c 61 .self::$classCounter;.self::$cla
a90e0 73 73 43 6f 75 6e 74 65 72 2b 2b 3b 0a 7d 0a 0a 69 66 20 28 24 6f 6c 64 49 6e 73 74 61 6c 6c 65 ssCounter++;.}..if.($oldInstalle
a9100 72 50 6c 75 67 69 6e 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 24 63 6c 61 rPlugin).{.$installer.=.new.$cla
a9120 73 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 3b 0a ss($this->io,.$this->composer);.
a9140 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e $this->composer->getInstallation
a9160 4d 61 6e 61 67 65 72 28 29 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 73 74 61 6c 6c Manager()->addInstaller($install
a9180 65 72 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 er);.}.elseif.(class_exists($cla
a91a0 73 73 29 29 20 7b 0a 24 70 6c 75 67 69 6e 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 29 3b 0a 24 ss)).{.$plugin.=.new.$class();.$
a91c0 74 68 69 73 2d 3e 61 64 64 50 6c 75 67 69 6e 28 24 70 6c 75 67 69 6e 29 3b 0a 24 74 68 69 73 2d this->addPlugin($plugin);.$this-
a91e0 3e 72 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 6e 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d >registeredPlugins[].=.$package-
a9200 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 66 61 69 6c 4f 6e 4d 69 73 >getName();.}.elseif.($failOnMis
a9220 73 69 6e 67 43 6c 61 73 73 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 singClasses).{.throw.new.\Unexpe
a9240 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 27 2e 24 70 61 ctedValueException('Plugin.'.$pa
a9260 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 ckage->getName().'.could.not.be.
a9280 69 6e 69 74 69 61 6c 69 7a 65 64 2c 20 63 6c 61 73 73 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 27 2e initialized,.class.not.found:.'.
a92a0 24 63 6c 61 73 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 $class);.}.}.}.......protected.f
a92c0 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 0a 7b 0a unction.getPluginApiVersion().{.
a92e0 72 65 74 75 72 6e 20 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3a 3a 50 4c 55 47 49 4e 5f 41 return.PluginInterface::PLUGIN_A
a9300 50 49 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 PI_VERSION;.}...........public.f
a9320 75 6e 63 74 69 6f 6e 20 61 64 64 50 6c 75 67 69 6e 28 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 unction.addPlugin(PluginInterfac
a9340 65 20 24 70 6c 75 67 69 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 e.$plugin).{.$this->io->writeErr
a9360 6f 72 28 27 4c 6f 61 64 69 6e 67 20 70 6c 75 67 69 6e 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 or('Loading.plugin.'.get_class($
a9380 70 6c 75 67 69 6e 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 plugin),.true,.IOInterface::DEBU
a93a0 47 29 3b 0a 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 73 5b 5d 20 3d 20 24 70 6c 75 67 69 6e 3b 0a G);.$this->plugins[].=.$plugin;.
a93c0 24 70 6c 75 67 69 6e 2d 3e 61 63 74 69 76 61 74 65 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 $plugin->activate($this->compose
a93e0 72 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 70 6c 75 67 69 6e 20 69 6e 73 74 r,.$this->io);..if.($plugin.inst
a9400 61 6e 63 65 6f 66 20 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 29 anceof.EventSubscriberInterface)
a9420 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 .{.$this->composer->getEventDisp
a9440 61 74 63 68 65 72 28 29 2d 3e 61 64 64 53 75 62 73 63 72 69 62 65 72 28 24 70 6c 75 67 69 6e 29 atcher()->addSubscriber($plugin)
a9460 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ;.}.}.............private.functi
a9480 6f 6e 20 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 on.loadRepository(RepositoryInte
a94a0 72 66 61 63 65 20 24 72 65 70 6f 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 rface.$repo).{.foreach.($repo->g
a94c0 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 20 0a 69 66 20 etPackages().as.$package).{..if.
a94e0 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 ($package.instanceof.AliasPackag
a9500 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 70 e).{.continue;.}.if.('composer-p
a9520 6c 75 67 69 6e 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 lugin'.===.$package->getType()).
a9540 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 {.$this->registerPackage($packag
a9560 65 29 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c e);...}.elseif.('composer-instal
a9580 6c 65 72 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a ler'.===.$package->getType()).{.
a95a0 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 $this->registerPackage($package)
a95c0 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ;.}.}.}...........private.functi
a95e0 6f 6e 20 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 50 6f 6f 6c 20 24 70 6f 6f on.collectDependencies(Pool.$poo
a9600 6c 2c 20 61 72 72 61 79 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 l,.array.$collected,.PackageInte
a9620 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 rface.$package).{.$requires.=.ar
a9640 72 61 79 5f 6d 65 72 67 65 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 ray_merge(.$package->getRequires
a9660 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 29 (),.$package->getDevRequires().)
a9680 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 ;..foreach.($requires.as.$requir
a96a0 65 4c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 eLink).{.$requiredPackage.=.$thi
a96c0 73 2d 3e 6c 6f 6f 6b 75 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 6f 6f 6c 2c s->lookupInstalledPackage($pool,
a96e0 20 24 72 65 71 75 69 72 65 4c 69 6e 6b 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 50 61 63 .$requireLink);.if.($requiredPac
a9700 6b 61 67 65 20 26 26 20 21 69 73 73 65 74 28 24 63 6f 6c 6c 65 63 74 65 64 5b 24 72 65 71 75 69 kage.&&.!isset($collected[$requi
a9720 72 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 63 6f 6c 6c redPackage->getName()])).{.$coll
a9740 65 63 74 65 64 5b 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ected[$requiredPackage->getName(
a9760 29 5d 20 3d 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 3b 0a 24 63 6f 6c 6c 65 63 74 65 )].=.$requiredPackage;.$collecte
a9780 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 d.=.$this->collectDependencies($
a97a0 70 6f 6f 6c 2c 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 pool,.$collected,.$requiredPacka
a97c0 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 6c 65 63 74 65 64 3b 0a 7d 0a 0a ge);.}.}..return.$collected;.}..
a97e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 6f 6b 75 ..........private.function.looku
a9800 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 4c 69 pInstalledPackage(Pool.$pool,.Li
a9820 6e 6b 20 24 6c 69 6e 6b 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 nk.$link).{.$packages.=.$pool->w
a9840 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 hatProvides($link->getTarget(),.
a9860 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 72 65 74 75 72 6e $link->getConstraint());..return
a9880 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 24 70 61 63 6b 61 67 65 73 5b 30 .!empty($packages).?.$packages[0
a98a0 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ].:.null;.}..........private.fun
a98c0 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 ction.getInstallPath(PackageInte
a98e0 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 67 6c 6f 62 61 6c 20 3d 20 66 61 6c 73 65 29 rface.$package,.$global.=.false)
a9900 0a 7b 0a 69 66 20 28 21 24 67 6c 6f 62 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .{.if.(!$global).{.return.$this-
a9920 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 >composer->getInstallationManage
a9940 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d r()->getInstallPath($package);.}
a9960 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2d 3e ..return.$this->globalComposer->
a9980 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 getInstallationManager()->getIns
a99a0 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f tallPath($package);.}........pro
a99c0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 70 61 62 69 6c 69 74 79 49 6d 70 tected.function.getCapabilityImp
a99e0 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 50 6c 75 67 69 6e 49 6e 74 65 72 lementationClassName(PluginInter
a9a00 66 61 63 65 20 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 74 79 29 0a 7b 0a 69 66 20 face.$plugin,.$capability).{.if.
a9a20 28 21 28 24 70 6c 75 67 69 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 61 70 61 62 6c 65 29 29 20 (!($plugin.instanceof.Capable)).
a9a40 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 61 70 61 62 69 6c 69 74 69 65 73 20 {.return.null;.}..$capabilities.
a9a60 3d 20 28 61 72 72 61 79 29 20 24 70 6c 75 67 69 6e 2d 3e 67 65 74 43 61 70 61 62 69 6c 69 74 69 =.(array).$plugin->getCapabiliti
a9a80 65 73 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b es();..if.(!empty($capabilities[
a9aa0 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 61 70 61 $capability]).&&.is_string($capa
a9ac0 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 26 26 20 74 72 69 6d 28 24 bilities[$capability]).&&.trim($
a9ae0 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 29 20 7b 0a 72 65 capabilities[$capability])).{.re
a9b00 74 75 72 6e 20 74 72 69 6d 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c turn.trim($capabilities[$capabil
a9b20 69 74 79 5d 29 3b 0a 7d 0a 0a 69 66 20 28 0a 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 ity]);.}..if.(.array_key_exists(
a9b40 24 63 61 70 61 62 69 6c 69 74 79 2c 20 24 63 61 70 61 62 69 6c 69 74 69 65 73 29 0a 26 26 20 28 $capability,.$capabilities).&&.(
a9b60 65 6d 70 74 79 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d empty($capabilities[$capability]
a9b80 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 ).||.!is_string($capabilities[$c
a9ba0 61 70 61 62 69 6c 69 74 79 5d 29 20 7c 7c 20 21 74 72 69 6d 28 24 63 61 70 61 62 69 6c 69 74 69 apability]).||.!trim($capabiliti
a9bc0 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 es[$capability])).).{.throw.new.
a9be0 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 \UnexpectedValueException('Plugi
a9c00 6e 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e 27 20 70 72 6f 76 69 64 65 n.'.get_class($plugin).'.provide
a9c20 64 20 69 6e 76 61 6c 69 64 20 63 61 70 61 62 69 6c 69 74 79 20 63 6c 61 73 73 20 6e 61 6d 65 28 d.invalid.capability.class.name(
a9c40 73 29 2c 20 67 6f 74 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 63 61 70 61 62 69 6c 69 74 69 s),.got.'.var_export($capabiliti
a9c60 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 2c 20 31 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a es[$capability],.1));.}.}.......
a9c80 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 61 70 61 ...public.function.getPluginCapa
a9ca0 62 69 6c 69 74 79 28 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 6e 2c 20 bility(PluginInterface.$plugin,.
a9cc0 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 61 72 72 61 79 20 24 63 74 6f $capabilityClassName,.array.$cto
a9ce0 72 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 63 61 70 61 62 69 6c 69 rArgs.=.array()).{.if.($capabili
a9d00 74 79 43 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 70 61 62 69 6c 69 74 79 49 6d tyClass.=.$this->getCapabilityIm
a9d20 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 24 70 6c 75 67 69 6e 2c 20 24 plementationClassName($plugin,.$
a9d40 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 69 66 20 28 21 63 6c 61 capabilityClassName)).{.if.(!cla
a9d60 73 73 5f 65 78 69 73 74 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 29 29 20 7b 0a 74 ss_exists($capabilityClass)).{.t
a9d80 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 61 6e 6e hrow.new.\RuntimeException("Cann
a9da0 6f 74 20 69 6e 73 74 61 6e 74 69 61 74 65 20 43 61 70 61 62 69 6c 69 74 79 2c 20 61 73 20 63 6c ot.instantiate.Capability,.as.cl
a9dc0 61 73 73 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 66 72 6f 6d 20 70 6c 75 67 69 6e ass.$capabilityClass.from.plugin
a9de0 20 22 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e 22 20 64 6f 65 73 20 6e 6f 74 .".get_class($plugin).".does.not
a9e00 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 0a 24 63 74 6f 72 41 72 67 73 5b 27 70 6c 75 67 69 6e 27 .exist.");.}..$ctorArgs['plugin'
a9e20 5d 20 3d 20 24 70 6c 75 67 69 6e 3b 0a 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 3d 20 6e 65 ].=.$plugin;.$capabilityObj.=.ne
a9e40 77 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 28 24 63 74 6f 72 41 72 67 73 29 3b 0a 0a w.$capabilityClass($ctorArgs);..
a9e60 0a 20 69 66 20 28 21 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 69 6e 73 74 61 6e 63 65 6f 66 ..if.(!$capabilityObj.instanceof
a9e80 20 43 61 70 61 62 69 6c 69 74 79 20 7c 7c 20 21 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 69 .Capability.||.!$capabilityObj.i
a9ea0 6e 73 74 61 6e 63 65 6f 66 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 29 20 nstanceof.$capabilityClassName).
a9ec0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 {.throw.new.\RuntimeException(.'
a9ee0 43 6c 61 73 73 20 27 20 2e 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 2e 20 27 20 6d Class.'...$capabilityClass...'.m
a9f00 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 20 62 6f 74 68 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 ust.implement.both.Composer\Plug
a9f20 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 61 70 61 62 69 6c 69 74 79 20 61 6e 64 20 27 2e 20 in\Capability\Capability.and.'..
a9f40 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 20 2e 20 27 2e 27 0a 29 3b 0a 7d 0a $capabilityClassName...'.'.);.}.
a9f60 0a 72 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a .return.$capabilityObj;.}.}.....
a9f80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 61 70 ....public.function.getPluginCap
a9fa0 61 62 69 6c 69 74 69 65 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 abilities($capabilityClassName,.
a9fc0 61 72 72 61 79 20 24 63 74 6f 72 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 61 array.$ctorArgs.=.array()).{.$ca
a9fe0 70 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 pabilities.=.array();.foreach.($
aa000 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 73 28 29 20 61 73 20 24 70 6c 75 67 69 6e 29 20 7b this->getPlugins().as.$plugin).{
aa020 0a 69 66 20 28 24 63 61 70 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 .if.($capability.=.$this->getPlu
aa040 67 69 6e 43 61 70 61 62 69 6c 69 74 79 28 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 ginCapability($plugin,.$capabili
aa060 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 24 63 74 6f 72 41 72 67 73 29 29 20 7b 0a 24 63 61 70 61 tyClassName,.$ctorArgs)).{.$capa
aa080 62 69 6c 69 74 69 65 73 5b 5d 20 3d 20 24 63 61 70 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 0a 72 bilities[].=.$capability;.}.}..r
aa0a0 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 69 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a eturn.$capabilities;.}.}.<?php..
aa0c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 ..........namespace.Composer\Plu
aa0e0 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 gin;..use.Composer\EventDispatch
aa100 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c er\Event;.use.Symfony\Component\
aa120 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a Console\Input\InputInterface;...
aa140 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 20 65 78 74 ....class.PreCommandRunEvent.ext
aa160 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a ends.Event.{....private.$input;.
aa180 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ....private.$command;.........pu
aa1a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c blic.function.__construct($name,
aa1c0 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 63 6f 6d 6d 61 6e 64 .InputInterface.$input,.$command
aa1e0 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a ).{.parent::__construct($name);.
aa200 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 63 6f $this->input.=.$input;.$this->co
aa220 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 mmand.=.$command;.}.......public
aa240 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 .function.getInput().{.return.$t
aa260 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->input;.}.......public.funct
aa280 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ion.getCommand().{.return.$this-
aa2a0 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e >command;.}.}.<?php............n
aa2c0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 amespace.Composer\Plugin;..use.C
aa2e0 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 omposer\EventDispatcher\Event;.u
aa300 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 se.Composer\Util\RemoteFilesyste
aa320 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 m;.......class.PreFileDownloadEv
aa340 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 ent.extends.Event.{....private.$
aa360 72 66 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 3b 0a rfs;.....private.$processedUrl;.
aa380 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
aa3a0 75 63 74 28 24 6e 61 6d 65 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 uct($name,.RemoteFilesystem.$rfs
aa3c0 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e ,.$processedUrl).{.parent::__con
aa3e0 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 struct($name);.$this->rfs.=.$rfs
aa400 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 65 64 55 72 6c 20 3d 20 24 70 72 6f 63 65 73 73 ;.$this->processedUrl.=.$process
aa420 65 64 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 edUrl;.}.......public.function.g
aa440 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 etRemoteFilesystem().{.return.$t
aa460 68 69 73 2d 3e 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f his->rfs;.}.......public.functio
aa480 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 52 65 6d 6f 74 65 46 69 6c 65 n.setRemoteFilesystem(RemoteFile
aa4a0 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 system.$rfs).{.$this->rfs.=.$rfs
aa4c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f ;.}.......public.function.getPro
aa4e0 63 65 73 73 65 64 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 cessedUrl().{.return.$this->proc
aa500 65 73 73 65 64 55 72 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e essedUrl;.}.}.<?php............n
aa520 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 amespace.Composer\Question;..use
aa540 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 .Symfony\Component\Console\Excep
aa560 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 tion\InvalidArgumentException;.u
aa580 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 se.Symfony\Component\Console\Que
aa5a0 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 stion\Question;.........class.St
aa5c0 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 rictConfirmationQuestion.extends
aa5e0 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 72 75 65 41 6e 73 77 65 72 52 .Question.{.private.$trueAnswerR
aa600 65 67 65 78 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b egex;.private.$falseAnswerRegex;
aa620 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 ..........public.function.__cons
aa640 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 truct($question,.$default.=.true
aa660 2c 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f 5e 79 28 3f 3a 65 73 29 3f ,.$trueAnswerRegex.=.'/^y(?:es)?
aa680 24 2f 69 27 2c 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f 5e 6e 6f 3f $/i',.$falseAnswerRegex.=.'/^no?
aa6a0 24 2f 69 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 $/i').{.parent::__construct($que
aa6c0 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d stion,.(bool).$default);..$this-
aa6e0 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 >trueAnswerRegex.=.$trueAnswerRe
aa700 67 65 78 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 gex;.$this->falseAnswerRegex.=.$
aa720 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4e 6f 72 6d falseAnswerRegex;.$this->setNorm
aa740 61 6c 69 7a 65 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a alizer($this->getDefaultNormaliz
aa760 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 er());.$this->setValidator($this
aa780 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a ->getDefaultValidator());.}.....
aa7a0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 ..private.function.getDefaultNor
aa7c0 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 malizer().{.$default.=.$this->ge
aa7e0 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 74 72 75 65 52 65 67 65 78 20 3d 20 24 74 68 69 73 2d 3e tDefault();.$trueRegex.=.$this->
aa800 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 66 61 6c 73 65 52 65 67 65 78 20 3d 20 24 trueAnswerRegex;.$falseRegex.=.$
aa820 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 72 65 74 75 72 6e 20 this->falseAnswerRegex;..return.
aa840 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 28 24 64 65 66 61 75 6c 74 function.($answer).use.($default
aa860 2c 20 24 74 72 75 65 52 65 67 65 78 2c 20 24 66 61 6c 73 65 52 65 67 65 78 29 20 7b 0a 69 66 20 ,.$trueRegex,.$falseRegex).{.if.
aa880 28 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 (is_bool($answer)).{.return.$ans
aa8a0 77 65 72 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 61 6e 73 77 65 72 29 20 26 26 20 21 65 6d wer;.}.if.(empty($answer).&&.!em
aa8c0 70 74 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 pty($default)).{.return.$default
aa8e0 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 72 75 65 52 65 67 65 78 2c 20 ;.}..if.(preg_match($trueRegex,.
aa900 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 $answer)).{.return.true;.}..if.(
aa920 70 72 65 67 5f 6d 61 74 63 68 28 24 66 61 6c 73 65 52 65 67 65 78 2c 20 24 61 6e 73 77 65 72 29 preg_match($falseRegex,.$answer)
aa940 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c ).{.return.false;.}..return.null
aa960 3b 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ;.};.}.......private.function.ge
aa980 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 75 6e tDefaultValidator().{.return.fun
aa9a0 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 62 6f 6f 6c 28 24 ction.($answer).{.if.(!is_bool($
aa9c0 61 6e 73 77 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 answer)).{.throw.new.InvalidArgu
aa9e0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 61 6e 73 77 65 72 20 79 65 73 mentException('Please.answer.yes
aaa00 2c 20 79 2c 20 6e 6f 2c 20 6f 72 20 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6e 73 ,.y,.no,.or.n.');.}..return.$ans
aaa20 77 65 72 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d wer;.};.}.}.<?php............nam
aaa40 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 espace.Composer\Repository;..use
aaa60 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a .Composer\Package\AliasPackage;.
aaa80 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
aaaa0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 rface;.use.Composer\Package\Comp
aaac0 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 letePackageInterface;.use.Compos
aaae0 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 er\Package\Version\VersionParser
aab00 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 ;.use.Composer\Semver\Constraint
aab20 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \ConstraintInterface;.use.Compos
aab40 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b er\Semver\Constraint\Constraint;
aab60 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 .......class.ArrayRepository.ext
aab80 65 6e 64 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 ends.BaseRepository.{..protected
aaba0 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 .$packages;..public.function.__c
aabc0 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 onstruct(array.$packages.=.array
aabe0 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 ()).{.foreach.($packages.as.$pac
aac00 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 kage).{.$this->addPackage($packa
aac20 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e ge);.}.}.....public.function.fin
aac40 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 24 dPackage($name,.$constraint).{.$
aac60 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 name.=.strtolower($name);..if.(!
aac80 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 6e $constraint.instanceof.Constrain
aaca0 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e tInterface).{.$versionParser.=.n
aacc0 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 ew.VersionParser();.$constraint.
aace0 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e =.$versionParser->parseConstrain
aad00 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 ts($constraint);.}..foreach.($th
aad20 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b is->getPackages().as.$package).{
aad40 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 .if.($name.===.$package->getName
aad60 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 ()).{.$pkgConstraint.=.new.Const
aad80 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e raint('==',.$package->getVersion
aada0 28 29 29 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 ());.if.($constraint->matches($p
aadc0 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 kgConstraint)).{.return.$package
aade0 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ;.}.}.}..return.null;.}.....publ
aae00 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 ic.function.findPackages($name,.
aae20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 $constraint.=.null).{...$name.=.
aae40 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 strtolower($name);.$packages.=.a
aae60 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e rray();..if.(null.!==.$constrain
aae80 74 20 26 26 20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e t.&&.!$constraint.instanceof.Con
aaea0 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 straintInterface).{.$versionPars
aaec0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 er.=.new.VersionParser();.$const
aaee0 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e raint.=.$versionParser->parseCon
aaf00 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 straints($constraint);.}..foreac
aaf20 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b h.($this->getPackages().as.$pack
aaf40 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 age).{.if.($name.===.$package->g
aaf60 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 etName()).{.$pkgConstraint.=.new
aaf80 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 .Constraint('==',.$package->getV
aafa0 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 ersion());.if.(null.===.$constra
aafc0 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 int.||.$constraint->matches($pkg
aafe0 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 Constraint)).{.$packages[].=.$pa
ab000 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a ckage;.}.}.}..return.$packages;.
ab020 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 }.....public.function.search($qu
ab040 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ery,.$mode.=.0,.$type.=.null).{.
ab060 24 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 70 72 65 $regex.=.'{(?:'.implode('|',.pre
ab080 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 29 29 2e 27 29 7d 69 27 3b g_split('{\s+}',.$query)).')}i';
ab0a0 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ..$matches.=.array();.foreach.($
ab0c0 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 this->getPackages().as.$package)
ab0e0 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a .{.$name.=.$package->getName();.
ab100 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 63 6f if.(isset($matches[$name])).{.co
ab120 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c ntinue;.}.if.(preg_match($regex,
ab140 20 24 6e 61 6d 65 29 0a 7c 7c 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 73 65 6c 66 3a 3a 53 45 41 52 .$name).||.($mode.===.self::SEAR
ab160 43 48 5f 46 55 4c 4c 54 45 58 54 20 26 26 20 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 CH_FULLTEXT.&&.$package.instance
ab180 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 26 26 20 70 of.CompletePackageInterface.&&.p
ab1a0 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 28 reg_match($regex,.implode('.',.(
ab1c0 61 72 72 61 79 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 29 29 20 array).$package->getKeywords()).
ab1e0 2e 20 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e ..'.'...$package->getDescription
ab200 28 29 29 29 0a 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 20 26 26 20 24 ())).).{.if.(null.!==.$type.&&.$
ab220 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a package->getType().!==.$type).{.
ab240 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 61 continue;.}..$matches[$name].=.a
ab260 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 rray(.'name'.=>.$package->getPre
ab280 74 74 79 4e 61 6d 65 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 24 70 61 63 ttyName(),.'description'.=>.$pac
ab2a0 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 kage.instanceof.CompletePackageI
ab2c0 6e 74 65 72 66 61 63 65 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 nterface.?.$package->getDescript
ab2e0 69 6f 6e 28 29 20 3a 20 6e 75 6c 6c 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 ion().:.null,.);.}.}..return.arr
ab300 61 79 5f 76 61 6c 75 65 73 28 24 6d 61 74 63 68 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ay_values($matches);.}.....publi
ab320 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 c.function.hasPackage(PackageInt
ab340 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 erface.$package).{.$packageId.=.
ab360 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 0a 66 6f 72 65 $package->getUniqueName();..fore
ab380 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 72 65 ach.($this->getPackages().as.$re
ab3a0 70 6f 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 49 64 20 3d 3d 3d 20 poPackage).{.if.($packageId.===.
ab3c0 24 72 65 70 6f 50 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 29 20 7b $repoPackage->getUniqueName()).{
ab3e0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b .return.true;.}.}..return.false;
ab400 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b .}.......public.function.addPack
ab420 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b age(PackageInterface.$package).{
ab440 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 20 7b .if.(null.===.$this->packages).{
ab460 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 .$this->initialize();.}.$package
ab480 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 24 74 68 69 73 2d 3e 70 ->setRepository($this);.$this->p
ab4a0 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 24 70 61 63 6b ackages[].=.$package;..if.($pack
ab4c0 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 age.instanceof.AliasPackage).{.$
ab4e0 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c aliasedPackage.=.$package->getAl
ab500 69 61 73 4f 66 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 6c 69 61 73 65 64 50 61 iasOf();.if.(null.===.$aliasedPa
ab520 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 24 74 68 69 73 2d ckage->getRepository()).{.$this-
ab540 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 0a >addPackage($aliasedPackage);.}.
ab560 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 6c }.}..protected.function.createAl
ab580 69 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 iasPackage(PackageInterface.$pac
ab5a0 6b 61 67 65 2c 20 24 61 6c 69 61 73 2c 20 24 70 72 65 74 74 79 41 6c 69 61 73 29 0a 7b 0a 72 65 kage,.$alias,.$prettyAlias).{.re
ab5c0 74 75 72 6e 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 20 69 turn.new.AliasPackage($package.i
ab5e0 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 3f 20 24 70 61 63 6b 61 67 nstanceof.AliasPackage.?.$packag
ab600 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3a 20 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 e->getAliasOf().:.$package,.$ali
ab620 61 73 2c 20 24 70 72 65 74 74 79 41 6c 69 61 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 as,.$prettyAlias);.}.......publi
ab640 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 c.function.removePackage(Package
ab660 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 Interface.$package).{.$packageId
ab680 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 0a 66 .=.$package->getUniqueName();..f
ab6a0 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 oreach.($this->getPackages().as.
ab6c0 24 6b 65 79 20 3d 3e 20 24 72 65 70 6f 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 $key.=>.$repoPackage).{.if.($pac
ab6e0 6b 61 67 65 49 64 20 3d 3d 3d 20 24 72 65 70 6f 50 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 kageId.===.$repoPackage->getUniq
ab700 75 65 4e 61 6d 65 28 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 68 69 73 2d 3e ueName()).{.array_splice($this->
ab720 70 61 63 6b 61 67 65 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d packages,.$key,.1);..return;.}.}
ab740 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 .}.....public.function.getPackag
ab760 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 es().{.if.(null.===.$this->packa
ab780 67 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 72 ges).{.$this->initialize();.}..r
ab7a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 eturn.$this->packages;.}.......p
ab7c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ublic.function.count().{.return.
ab7e0 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 count($this->packages);.}.....pr
ab800 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a otected.function.initialize().{.
ab820 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 3c $this->packages.=.array();.}.}.<
ab840 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
ab860 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c er\Repository;..use.Composer\IO\
ab880 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a IOInterface;.use.Composer\Json\J
ab8a0 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f sonFile;.use.Composer\Package\Lo
ab8c0 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 ader\ArrayLoader;.use.Composer\P
ab8e0 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a ackage\Loader\LoaderInterface;..
ab900 0a 0a 0a 63 6c 61 73 73 20 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 ...class.ArtifactRepository.exte
ab920 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 nds.ArrayRepository.implements.C
ab940 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b onfigurableRepositoryInterface.{
ab960 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 ..protected.$loader;..protected.
ab980 24 6c 6f 6f 6b 75 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a $lookup;.protected.$repoConfig;.
ab9a0 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f private.$io;..public.function.__
ab9c0 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 construct(array.$repoConfig,.IOI
ab9e0 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 nterface.$io).{.parent::__constr
aba00 75 63 74 28 29 3b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 69 uct();.if.(!extension_loaded('zi
aba20 70 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 p')).{.throw.new.\RuntimeExcepti
aba40 6f 6e 28 27 54 68 65 20 61 72 74 69 66 61 63 74 20 72 65 70 6f 73 69 74 6f 72 79 20 72 65 71 75 on('The.artifact.repository.requ
aba60 69 72 65 73 20 50 48 50 5c 27 73 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 27 29 3b 0a 7d 0a 0a ires.PHP\'s.zip.extension');.}..
aba80 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 $this->loader.=.new.ArrayLoader(
abaa0 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 );.$this->lookup.=.$repoConfig['
abac0 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 url'];.$this->io.=.$io;.$this->r
abae0 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c epoConfig.=.$repoConfig;.}..publ
abb00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 ic.function.getRepoConfig().{.re
abb20 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 72 6f 74 65 turn.$this->repoConfig;.}..prote
abb40 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 cted.function.initialize().{.par
abb60 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 61 6e 44 ent::initialize();..$this->scanD
abb80 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 29 3b 0a 7d 0a 0a 70 72 69 76 irectory($this->lookup);.}..priv
abba0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 6e 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 ate.function.scanDirectory($path
abbc0 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 0a 24 64 69 72 65 63 74 6f 72 79 ).{.$io.=.$this->io;..$directory
abbe0 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 .=.new.\RecursiveDirectoryIterat
abc00 6f 72 28 24 70 61 74 68 2c 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 or($path,.\RecursiveDirectoryIte
abc20 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 29 3b 0a 24 69 74 65 72 61 74 rator::FOLLOW_SYMLINKS);.$iterat
abc40 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 or.=.new.\RecursiveIteratorItera
abc60 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 24 72 65 67 65 78 20 3d 20 6e 65 77 20 5c 52 tor($directory);.$regex.=.new.\R
abc80 65 67 65 78 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 27 2f 5e 2e 2b 5c 2e 28 egexIterator($iterator,.'/^.+\.(
abca0 7a 69 70 7c 70 68 61 72 29 24 2f 69 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 67 65 78 20 zip|phar)$/i');.foreach.($regex.
abcc0 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 69 73 46 69 6c 65 28 as.$file).{..if.(!$file->isFile(
abce0 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 )).{.continue;.}..$package.=.$th
abd00 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 66 69 6c 65 is->getComposerInformation($file
abd20 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 );.if.(!$package).{.$io->writeEr
abd40 72 6f 72 28 22 46 69 6c 65 20 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 66 69 6c 65 2d 3e 67 65 74 42 61 ror("File.<comment>{$file->getBa
abd60 73 65 6e 61 6d 65 28 29 7d 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 64 6f 65 73 6e 27 74 20 73 65 65 6d sename()}</comment>.doesn't.seem
abd80 20 74 6f 20 68 6f 6c 64 20 61 20 70 61 63 6b 61 67 65 22 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 .to.hold.a.package",.true,.IOInt
abda0 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 erface::VERBOSE);.continue;.}..$
abdc0 74 65 6d 70 6c 61 74 65 20 3d 20 27 46 6f 75 6e 64 20 70 61 63 6b 61 67 65 20 3c 69 6e 66 6f 3e template.=.'Found.package.<info>
abde0 25 73 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e %s</info>.(<comment>%s</comment>
abe00 29 20 69 6e 20 66 69 6c 65 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 3b 0a 24 69 6f 2d ).in.file.<info>%s</info>';.$io-
abe20 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 24 74 65 6d 70 6c 61 74 65 2c 20 24 >writeError(sprintf($template,.$
abe40 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 package->getName(),.$package->ge
abe60 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 tPrettyVersion(),.$file->getBase
abe80 6e 61 6d 65 28 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 name()),.true,.IOInterface::VERB
abea0 4f 53 45 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 OSE);..$this->addPackage($packag
abec0 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e e);.}.}.........private.function
abee0 20 6c 6f 63 61 74 65 46 69 6c 65 28 5c 5a 69 70 41 72 63 68 69 76 65 20 24 7a 69 70 2c 20 24 66 .locateFile(\ZipArchive.$zip,.$f
abf00 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 ilename).{.$indexOfShortestMatch
abf20 20 3d 20 66 61 6c 73 65 3b 0a 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 .=.false;.$lengthOfShortestMatch
abf40 20 3d 20 2d 31 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 7a 69 70 2d 3e .=.-1;..for.($i.=.0;.$i.<.$zip->
abf60 6e 75 6d 46 69 6c 65 73 3b 20 24 69 2b 2b 29 20 7b 0a 24 73 74 61 74 20 3d 20 24 7a 69 70 2d 3e numFiles;.$i++).{.$stat.=.$zip->
abf80 73 74 61 74 49 6e 64 65 78 28 24 69 29 3b 0a 69 66 20 28 73 74 72 63 6d 70 28 62 61 73 65 6e 61 statIndex($i);.if.(strcmp(basena
abfa0 6d 65 28 24 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 2c 20 24 66 69 6c 65 6e 61 6d 65 29 20 3d 3d me($stat['name']),.$filename).==
abfc0 3d 20 30 29 20 7b 0a 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 20 3d 20 64 69 72 6e 61 6d 65 28 =.0).{.$directoryName.=.dirname(
abfe0 24 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 66 20 28 24 64 69 72 65 63 74 6f 72 79 4e 61 $stat['name']);.if.($directoryNa
ac000 6d 65 20 3d 3d 20 27 2e 27 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 69 3b 0a 7d 0a 0a 69 me.==.'.').{.....return.$i;.}..i
ac020 66 20 28 73 74 72 70 6f 73 28 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 2c 20 27 5c 5c 27 29 20 f.(strpos($directoryName,.'\\').
ac040 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 0a 73 74 72 70 6f 73 28 24 64 69 72 65 63 74 6f 72 79 4e 61 !==.false.||.strpos($directoryNa
ac060 6d 65 2c 20 27 2f 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 63 6f 6e 74 69 6e 75 65 me,.'/').!==.false).{...continue
ac080 3b 0a 7d 0a 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 73 74 61 74 5b 27 6e 61 6d ;.}..$length.=.strlen($stat['nam
ac0a0 65 27 5d 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 e']);.if.($indexOfShortestMatch.
ac0c0 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 6c 65 6e 67 74 68 20 3c 20 24 6c 65 6e 67 74 68 4f 66 ===.false.||.$length.<.$lengthOf
ac0e0 53 68 6f 72 74 65 73 74 4d 61 74 63 68 29 20 7b 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 ShortestMatch).{...$contents.=.$
ac100 7a 69 70 2d 3e 67 65 74 46 72 6f 6d 49 6e 64 65 78 28 24 69 29 3b 0a 69 66 20 28 24 63 6f 6e 74 zip->getFromIndex($i);.if.($cont
ac120 65 6e 74 73 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 ents.!==.false).{.$indexOfShorte
ac140 73 74 4d 61 74 63 68 20 3d 20 24 69 3b 0a 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 74 4d stMatch.=.$i;.$lengthOfShortestM
ac160 61 74 63 68 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 atch.=.$length;.}.}.}.}..return.
ac180 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 3b 0a 7d 0a 0a 70 72 69 76 61 74 $indexOfShortestMatch;.}..privat
ac1a0 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f e.function.getComposerInformatio
ac1c0 6e 28 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 0a 7b 0a 24 7a 69 70 20 3d 20 6e n(\SplFileInfo.$file).{.$zip.=.n
ac1e0 65 77 20 5c 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 66 69 ew.\ZipArchive();.$zip->open($fi
ac200 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 20 24 7a le->getPathname());..if.(0.==.$z
ac220 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a 0a ip->numFiles).{.$zip->close();..
ac240 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 return.false;.}..$foundFileIndex
ac260 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 61 74 65 46 69 6c 65 28 24 7a 69 70 2c 20 27 63 6f 6d 70 .=.$this->locateFile($zip,.'comp
ac280 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 6f 75 6e oser.json');.if.(false.===.$foun
ac2a0 64 46 69 6c 65 49 6e 64 65 78 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a 0a 72 65 dFileIndex).{.$zip->close();..re
ac2c0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 46 69 6c turn.false;.}..$configurationFil
ac2e0 65 4e 61 6d 65 20 3d 20 24 7a 69 70 2d 3e 67 65 74 4e 61 6d 65 49 6e 64 65 78 28 24 66 6f 75 6e eName.=.$zip->getNameIndex($foun
ac300 64 46 69 6c 65 49 6e 64 65 78 29 3b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a 0a 24 63 6f dFileIndex);.$zip->close();..$co
ac320 6d 70 6f 73 65 72 46 69 6c 65 20 3d 20 22 7a 69 70 3a 2f 2f 7b 24 66 69 6c 65 2d 3e 67 65 74 50 mposerFile.=."zip://{$file->getP
ac340 61 74 68 6e 61 6d 65 28 29 7d 23 24 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 46 69 6c 65 4e 61 6d athname()}#$configurationFileNam
ac360 65 22 3b 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 e";.$json.=.file_get_contents($c
ac380 6f 6d 70 6f 73 65 72 46 69 6c 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 4a 73 6f 6e 46 69 omposerFile);..$package.=.JsonFi
ac3a0 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 63 6f 6d 70 6f 73 65 72 46 69 le::parseJson($json,.$composerFi
ac3c0 6c 65 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 le);.$package['dist'].=.array(.'
ac3e0 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 73 74 72 74 72 28 24 type'.=>.'zip',.'url'.=>.strtr($
ac400 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c file->getPathname(),.'\\',.'/'),
ac420 0a 27 73 68 61 73 75 6d 27 20 3d 3e 20 73 68 61 31 5f 66 69 6c 65 28 24 66 69 6c 65 2d 3e 67 65 .'shasum'.=>.sha1_file($file->ge
ac440 74 52 65 61 6c 50 61 74 68 28 29 29 2c 0a 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 61 63 6b 61 67 65 tRealPath()),.);..try.{.$package
ac460 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 .=.$this->loader->load($package)
ac480 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 ;.}.catch.(\UnexpectedValueExcep
ac4a0 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 tion.$e).{.throw.new.\Unexpected
ac4c0 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 6c 6f 61 64 69 6e 67 20 70 ValueException('Failed.loading.p
ac4e0 61 63 6b 61 67 65 20 69 6e 20 27 2e 24 66 69 6c 65 2e 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 ackage.in.'.$file.':.'.$e->getMe
ac500 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b ssage(),.0,.$e);.}..return.$pack
ac520 61 67 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 age;.}.}.<?php............namesp
ac540 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f ace.Composer\Repository;..use.Co
ac560 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 mposer\Package\RootPackageInterf
ac580 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 ace;.use.Composer\Semver\Constra
ac5a0 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d int\ConstraintInterface;.use.Com
ac5c0 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 poser\Semver\Constraint\Constrai
ac5e0 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 0a nt;.use.Composer\Package\Link;..
ac600 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f .....abstract.class.BaseReposito
ac620 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 ry.implements.RepositoryInterfac
ac640 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e e.{..............public.function
ac660 20 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6e 65 65 64 6c 65 2c 20 24 63 6f 6e 73 74 72 61 .getDependents($needle,.$constra
ac680 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 76 65 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 72 65 int.=.null,.$invert.=.false,.$re
ac6a0 63 75 72 73 65 20 3d 20 74 72 75 65 2c 20 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 20 3d 20 6e curse.=.true,.$packagesFound.=.n
ac6c0 75 6c 6c 29 0a 7b 0a 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 ull).{.$needles.=.array_map('str
ac6e0 74 6f 6c 6f 77 65 72 27 2c 20 28 61 72 72 61 79 29 20 24 6e 65 65 64 6c 65 29 3b 0a 24 72 65 73 tolower',.(array).$needle);.$res
ac700 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 ults.=.array();....if.(null.===.
ac720 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 $packagesFound).{.$packagesFound
ac740 20 3d 20 24 6e 65 65 64 6c 65 73 3b 0a 7d 0a 0a 0a 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d .=.$needles;.}....$rootPackage.=
ac760 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 .null;.foreach.($this->getPackag
ac780 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 es().as.$package).{.if.($package
ac7a0 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 .instanceof.RootPackageInterface
ac7c0 29 20 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 62 72 65 ).{.$rootPackage.=.$package;.bre
ac7e0 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 ak;.}.}....foreach.($this->getPa
ac800 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d ckages().as.$package).{.$links.=
ac820 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 20 0a 20 24 .$package->getRequires();......$
ac840 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 3b packagesInTree.=.$packagesFound;
ac860 0a 0a 0a 20 69 66 20 28 21 24 69 6e 76 65 72 74 29 20 7b 0a 24 6c 69 6e 6b 73 20 2b 3d 20 24 70 ....if.(!$invert).{.$links.+=.$p
ac880 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ackage->getReplaces();.}....if.(
ac8a0 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 $package.instanceof.RootPackageI
ac8c0 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 2b 3d 20 24 70 61 63 6b 61 67 65 2d 3e nterface).{.$links.+=.$package->
ac8e0 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 getDevRequires();.}....foreach.(
ac900 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 65 $links.as.$link).{.foreach.($nee
ac920 64 6c 65 73 20 61 73 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 dles.as.$needle).{.if.($link->ge
ac940 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 63 6f tTarget().===.$needle).{.if.($co
ac960 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 nstraint.===.null.||.($link->get
ac980 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 63 6f 6e 73 74 72 61 69 6e Constraint()->matches($constrain
ac9a0 74 29 20 3d 3d 3d 20 21 24 69 6e 76 65 72 74 29 29 20 7b 0a 0a 20 69 66 20 28 69 6e 5f 61 72 72 t).===.!$invert)).{...if.(in_arr
ac9c0 61 79 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 70 61 63 6b 61 67 65 73 ay($link->getSource(),.$packages
ac9e0 49 6e 54 72 65 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f InTree)).{.$results[$link->getSo
aca00 75 72 63 65 28 29 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c urce()].=.array($package,.$link,
aca20 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 73 49 6e .false);.continue;.}.$packagesIn
aca40 54 72 65 65 5b 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 3b 0a 24 64 65 Tree[].=.$link->getSource();.$de
aca60 70 65 6e 64 65 6e 74 73 20 3d 20 24 72 65 63 75 72 73 65 20 3f 20 24 74 68 69 73 2d 3e 67 65 74 pendents.=.$recurse.?.$this->get
aca80 44 65 70 65 6e 64 65 6e 74 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 6e Dependents($link->getSource(),.n
acaa0 75 6c 6c 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 ull,.false,.true,.$packagesInTre
acac0 65 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 75 6c 74 73 5b 24 6c 69 6e 6b 2d 3e 67 65 e).:.array();.$results[$link->ge
acae0 74 53 6f 75 72 63 65 28 29 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 tSource()].=.array($package,.$li
acb00 6e 6b 2c 20 24 64 65 70 65 6e 64 65 6e 74 73 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 nk,.$dependents);.}.}.}.}....if.
acb20 28 24 69 6e 76 65 72 74 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 ($invert.&&.in_array($package->g
acb40 65 74 4e 61 6d 65 28 29 2c 20 24 6e 65 65 64 6c 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 etName(),.$needles)).{.foreach.(
acb60 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 20 61 73 20 24 6c 69 6e $package->getConflicts().as.$lin
acb80 6b 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 k).{.foreach.($this->findPackage
acba0 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 61 73 20 24 70 6b 67 29 20 7b s($link->getTarget()).as.$pkg).{
acbc0 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 .$version.=.new.Constraint('=',.
acbe0 24 70 6b 67 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e $pkg->getVersion());.if.($link->
acc00 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 76 65 72 73 69 6f getConstraint()->matches($versio
acc20 6e 29 20 3d 3d 3d 20 24 69 6e 76 65 72 74 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 n).===.$invert).{.$results[].=.a
acc40 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a rray($package,.$link,.false);.}.
acc60 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 76 65 72 74 20 26 26 20 24 63 6f 6e 73 74 72 61 }.}.}....if.($invert.&&.$constra
acc80 69 6e 74 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d int.&&.in_array($package->getNam
acca0 65 28 29 2c 20 24 6e 65 65 64 6c 65 73 29 20 26 26 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d e(),.$needles).&&.$constraint->m
accc0 61 74 63 68 65 73 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b atches(new.Constraint('=',.$pack
acce0 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 age->getVersion()))).{.foreach.(
acd00 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b $package->getRequires().as.$link
acd20 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 ).{.if.(preg_match(PlatformRepos
acd40 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 itory::PLATFORM_PACKAGE_REGEX,.$
acd60 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d link->getTarget())).{.if.($this-
acd80 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c >findPackage($link->getTarget(),
acda0 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 63 6f 6e 74 .$link->getConstraint())).{.cont
acdc0 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6c 61 74 66 6f 72 6d 50 6b 67 20 3d 20 24 74 68 69 73 2d 3e 66 inue;.}..$platformPkg.=.$this->f
acde0 69 6e 64 50 61 63 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 27 indPackage($link->getTarget(),.'
ace00 2a 27 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 70 6c 61 74 66 6f 72 6d 50 6b 67 *');.$description.=.$platformPkg
ace20 20 3f 20 27 62 75 74 20 27 2e 24 70 6c 61 74 66 6f 72 6d 50 6b 67 2d 3e 67 65 74 50 72 65 74 74 .?.'but.'.$platformPkg->getPrett
ace40 79 56 65 72 73 69 6f 6e 28 29 2e 27 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 27 62 75 yVersion().'.is.installed'.:.'bu
ace60 74 20 69 74 20 69 73 20 6d 69 73 73 69 6e 67 27 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 t.it.is.missing';.$results[].=.a
ace80 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 6e 65 77 20 4c 69 6e 6b 28 24 70 61 63 6b 61 67 65 rray($package,.new.Link($package
acea0 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c ->getName(),.$link->getTarget(),
acec0 20 6e 75 6c 6c 2c 20 27 72 65 71 75 69 72 65 73 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 .null,.'requires',.$link->getPre
acee0 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 2e 27 20 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e ttyConstraint().'.'.$description
acf00 29 2c 20 66 61 6c 73 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 ),.false);..continue;.}..foreach
acf20 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 6b 67 29 20 .($this->getPackages().as.$pkg).
acf40 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 {.if.(!in_array($link->getTarget
acf60 28 29 2c 20 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 (),.$pkg->getNames())).{.continu
acf80 65 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 e;.}..$version.=.new.Constraint(
acfa0 27 3d 27 2c 20 24 70 6b 67 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 21 24 '=',.$pkg->getVersion());.if.(!$
acfc0 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 link->getConstraint()->matches($
acfe0 76 65 72 73 69 6f 6e 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 version)).{.....if.($rootPackage
ad000 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 50 61 ).{.foreach.(array_merge($rootPa
ad020 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 6f 6f 74 50 61 63 6b 61 ckage->getRequires(),.$rootPacka
ad040 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 20 24 72 6f 6f 74 52 65 ge->getDevRequires()).as.$rootRe
ad060 71 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 72 6f 6f 74 52 65 71 2d 3e 67 65 74 54 q).{.if.(in_array($rootReq->getT
ad080 61 72 67 65 74 28 29 2c 20 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 20 26 26 20 21 24 arget(),.$pkg->getNames()).&&.!$
ad0a0 72 6f 6f 74 52 65 71 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 rootReq->getConstraint()->matche
ad0c0 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 24 72 65 s($link->getConstraint())).{.$re
ad0e0 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c sults[].=.array($package,.$link,
ad100 20 66 61 6c 73 65 29 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 72 6f 6f .false);.$results[].=.array($roo
ad120 74 50 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 52 65 71 2c 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 tPackage,.$rootReq,.false);.cont
ad140 69 6e 75 65 20 33 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 inue.3;.}.}.$results[].=.array($
ad160 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 24 72 65 73 75 6c 74 73 package,.$link,.false);.$results
ad180 5b 5d 20 3d 20 61 72 72 61 79 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2c 20 6e 65 77 20 4c 69 6e [].=.array($rootPackage,.new.Lin
ad1a0 6b 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6c 69 6e 6b k($rootPackage->getName(),.$link
ad1c0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c 20 27 64 6f 65 73 20 6e 6f 74 20 72 ->getTarget(),.null,.'does.not.r
ad1e0 65 71 75 69 72 65 27 2c 20 27 62 75 74 20 27 20 2e 20 24 70 6b 67 2d 3e 67 65 74 50 72 65 74 74 equire',.'but.'...$pkg->getPrett
ad200 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 20 66 yVersion()...'.is.installed'),.f
ad220 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 alse);.}.else.{...$results[].=.a
ad240 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a rray($package,.$link,.false);.}.
ad260 7d 0a 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 6b 73 6f 72 74 28 24 72 }..continue.2;.}.}.}.}..ksort($r
ad280 65 73 75 6c 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 7d 0a 3c esults);..return.$results;.}.}.<
ad2a0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
ad2c0 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 er\Repository;..use.Composer\Pac
ad2e0 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d kage\Loader\ArrayLoader;.use.Com
ad300 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
ad320 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 use.Composer\Package\AliasPackag
ad340 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c e;.use.Composer\Package\Version\
ad360 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 VersionParser;.use.Composer\Depe
ad380 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ndencyResolver\Pool;.use.Compose
ad3a0 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 r\Json\JsonFile;.use.Composer\Ca
ad3c0 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f che;.use.Composer\Config;.use.Co
ad3e0 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c mposer\Factory;.use.Composer\IO\
ad400 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 IOInterface;.use.Composer\Util\R
ad420 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c emoteFilesystem;.use.Composer\Pl
ad440 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ugin\PluginEvents;.use.Composer\
ad460 50 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 3b 0a 75 73 65 Plugin\PreFileDownloadEvent;.use
ad480 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 .Composer\EventDispatcher\EventD
ad4a0 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 ispatcher;.use.Composer\Download
ad4c0 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f er\TransportException;.use.Compo
ad4e0 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 ser\Semver\Constraint\Constraint
ad500 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 Interface;.use.Composer\Semver\C
ad520 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 onstraint\Constraint;.....class.
ad540 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 ComposerRepository.extends.Array
ad560 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 Repository.implements.Configurab
ad580 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 leRepositoryInterface.{.protecte
ad5a0 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 d.$config;.protected.$repoConfig
ad5c0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 ;.protected.$options;.protected.
ad5e0 24 75 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 61 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 $url;.protected.$baseUrl;.protec
ad600 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b 0a 70 72 6f 74 65 63 74 ted.$io;.protected.$rfs;.protect
ad620 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 69 66 79 55 72 6c 3b ed.$cache;.protected.$notifyUrl;
ad640 0a 70 72 6f 74 65 63 74 65 64 20 24 73 65 61 72 63 68 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 .protected.$searchUrl;.protected
ad660 20 24 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 .$hasProviders.=.false;.protecte
ad680 64 20 24 70 72 6f 76 69 64 65 72 73 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 7a 79 d.$providersUrl;.protected.$lazy
ad6a0 50 72 6f 76 69 64 65 72 73 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 ProvidersUrl;.protected.$provide
ad6c0 72 4c 69 73 74 69 6e 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 20 3d rListing;.protected.$providers.=
ad6e0 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 42 79 .array();.protected.$providersBy
ad700 55 69 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 Uid.=.array();.protected.$loader
ad720 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 3b 0a 70 72 6f 74 65 63 ;.protected.$rootAliases;.protec
ad740 74 65 64 20 24 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 20 3d 20 66 61 6c 73 65 3b 0a ted.$allowSslDowngrade.=.false;.
ad760 70 72 6f 74 65 63 74 65 64 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 70 72 6f 74 protected.$eventDispatcher;.prot
ad780 65 63 74 65 64 20 24 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 ected.$sourceMirrors;.protected.
ad7a0 24 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 64 65 67 72 61 64 65 64 4d $distMirrors;.private.$degradedM
ad7c0 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 6f 6f 74 44 61 74 61 3b 0a ode.=.false;.private.$rootData;.
ad7e0 70 72 69 76 61 74 65 20 24 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 3b 0a 70 72 69 private.$hasPartialPackages;.pri
ad800 76 61 74 65 20 24 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 3b 0a 0a 70 75 vate.$partialPackagesByName;..pu
ad820 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 blic.function.__construct(array.
ad840 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f $repoConfig,.IOInterface.$io,.Co
ad860 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 nfig.$config,.EventDispatcher.$e
ad880 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c ventDispatcher.=.null,.RemoteFil
ad8a0 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f esystem.$rfs.=.null).{.parent::_
ad8c0 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b _construct();.if.(!preg_match('{
ad8e0 5e 5b 5c 77 2e 5d 2b 5c 3f 3f 3a 2f 2f 7d 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 ^[\w.]+\??://}',.$repoConfig['ur
ad900 6c 27 5d 29 29 20 7b 0a 0a 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 27 l'])).{...$repoConfig['url'].=.'
ad920 68 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 7d 0a 24 http://'.$repoConfig['url'];.}.$
ad940 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 72 74 72 69 6d 28 24 72 65 70 6f 43 repoConfig['url'].=.rtrim($repoC
ad960 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 27 68 74 74 70 73 3f onfig['url'],.'/');..if.('https?
ad980 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c '.===.substr($repoConfig['url'],
ad9a0 20 30 2c 20 36 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 28 .0,.6)).{.$repoConfig['url'].=.(
ad9c0 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 extension_loaded('openssl').?.'h
ad9e0 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 29 20 2e 20 73 75 62 73 74 72 28 24 72 65 70 6f 43 6f ttps'.:.'http')...substr($repoCo
ada00 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 36 29 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 nfig['url'],.6);.}..$urlBits.=.p
ada20 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 arse_url($repoConfig['url']);.if
ada40 20 28 24 75 72 6c 42 69 74 73 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 65 6d 70 74 79 28 24 75 .($urlBits.===.false.||.empty($u
ada60 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c rlBits['scheme'])).{.throw.new.\
ada80 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 UnexpectedValueException('Invali
adaa0 64 20 75 72 6c 20 67 69 76 65 6e 20 66 6f 72 20 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 d.url.given.for.Composer.reposit
adac0 6f 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 ory:.'.$repoConfig['url']);.}..i
adae0 66 20 28 21 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d f.(!isset($repoConfig['options']
adb00 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 61 72 )).{.$repoConfig['options'].=.ar
adb20 72 61 79 28 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 ray();.}.if.(isset($repoConfig['
adb40 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 5d 29 20 26 26 20 74 72 75 65 20 3d allow_ssl_downgrade']).&&.true.=
adb60 3d 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 ==.$repoConfig['allow_ssl_downgr
adb80 61 64 65 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 ade']).{.$this->allowSslDowngrad
adba0 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f e.=.true;.}..$this->config.=.$co
adbc0 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 72 65 70 6f 43 6f 6e 66 nfig;.$this->options.=.$repoConf
adbe0 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 3b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 ig['options'];.$this->url.=.$rep
adc00 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 oConfig['url'];....if.(preg_matc
adc20 68 28 27 7b 5e 28 3f 50 3c 70 72 6f 74 6f 3e 68 74 74 70 73 3f 29 3a 2f 2f 70 61 63 6b 61 67 69 h('{^(?P<proto>https?)://packagi
adc40 73 74 5c 2e 6f 72 67 2f 3f 24 7d 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 st\.org/?$}i',.$this->url,.$matc
adc60 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 6d 61 74 63 68 5b 27 70 72 6f 74 6f h)).{.$this->url.=.$match['proto
adc80 27 5d 2e 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 7d 0a 0a 24 '].'://repo.packagist.org';.}..$
adca0 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 72 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 this->baseUrl.=.rtrim(preg_repla
adcc0 63 65 28 27 7b 28 3f 3a 2f 5b 5e 2f 5c 5c 5c 5c 5d 2b 5c 2e 6a 73 6f 6e 29 3f 28 3f 3a 5b 3f 23 ce('{(?:/[^/\\\\]+\.json)?(?:[?#
adce0 5d 2e 2a 29 3f 24 7d 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b ].*)?$}',.'',.$this->url),.'/');
add00 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d .$this->io.=.$io;.$this->cache.=
add20 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 .new.Cache($io,.$config->get('ca
add40 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 che-repo-dir').'/'.preg_replace(
add60 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c '{[^a-z0-9.]}i',.'-',.$this->url
add80 29 2c 20 27 61 2d 7a 30 2d 39 2e 24 27 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 ),.'a-z0-9.$');.$this->loader.=.
adda0 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 3b 0a 69 66 20 28 24 72 66 73 20 26 26 20 24 new.ArrayLoader();.if.($rfs.&&.$
addc0 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 20 7b 0a 24 72 66 73 20 3d 20 63 6c 6f 6e 65 20 24 72 this->options).{.$rfs.=.clone.$r
adde0 66 73 3b 0a 24 72 66 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 fs;.$rfs->setOptions($this->opti
ade00 6f 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 61 63 ons);.}.$this->rfs.=.$rfs.?:.Fac
ade20 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 tory::createRemoteFilesystem($th
ade40 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6f 70 is->io,.$this->config,.$this->op
ade60 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d tions);.$this->eventDispatcher.=
ade80 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f .$eventDispatcher;.$this->repoCo
adea0 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 nfig.=.$repoConfig;.}..public.fu
adec0 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.getRepoConfig().{.return.
adee0 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->repoConfig;.}..public.fun
adf00 63 74 69 6f 6e 20 73 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 24 72 6f 6f 74 ction.setRootAliases(array.$root
adf20 41 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 Aliases).{.$this->rootAliases.=.
adf40 24 72 6f 6f 74 41 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $rootAliases;.}.....public.funct
adf60 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 ion.findPackage($name,.$constrai
adf80 6e 74 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 nt).{.if.(!$this->hasProviders()
adfa0 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 28 24 ).{.return.parent::findPackage($
adfc0 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 73 name,.$constraint);.}..$name.=.s
adfe0 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 trtolower($name);.if.(!$constrai
ae000 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 nt.instanceof.ConstraintInterfac
ae020 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f e).{.$versionParser.=.new.Versio
ae040 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f nParser();.$constraint.=.$versio
ae060 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 nParser->parseConstraints($const
ae080 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 raint);.}..foreach.($this->getPr
ae0a0 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 oviderNames().as.$providerName).
ae0c0 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b {.if.($name.===.$providerName).{
ae0e0 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 .$packages.=.$this->whatProvides
ae100 28 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 (new.Pool('dev'),.$providerName)
ae120 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 ;.foreach.($packages.as.$package
ae140 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ).{.if.($name.===.$package->getN
ae160 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f ame()).{.$pkgConstraint.=.new.Co
ae180 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 nstraint('==',.$package->getVers
ae1a0 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 ion());.if.($constraint->matches
ae1c0 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b ($pkgConstraint)).{.return.$pack
ae1e0 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c age;.}.}.}.break;.}.}.}.....publ
ae200 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 ic.function.findPackages($name,.
ae220 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 $constraint.=.null).{.if.(!$this
ae240 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e ->hasProviders()).{.return.paren
ae260 74 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 t::findPackages($name,.$constrai
ae280 6e 74 29 3b 0a 7d 0a 0a 20 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d nt);.}...$name.=.strtolower($nam
ae2a0 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 e);..if.(null.!==.$constraint.&&
ae2c0 20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 .!$constraint.instanceof.Constra
ae2e0 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d intInterface).{.$versionParser.=
ae300 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e .new.VersionParser();.$constrain
ae320 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 t.=.$versionParser->parseConstra
ae340 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 ints($constraint);.}..$packages.
ae360 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 =.array();..foreach.($this->getP
ae380 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 roviderNames().as.$providerName)
ae3a0 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 .{.if.($name.===.$providerName).
ae3c0 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 {.$candidates.=.$this->whatProvi
ae3e0 64 65 73 28 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 des(new.Pool('dev'),.$providerNa
ae400 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 70 61 me);.foreach.($candidates.as.$pa
ae420 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d ckage).{.if.($name.===.$package-
ae440 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e >getName()).{.$pkgConstraint.=.n
ae460 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 ew.Constraint('==',.$package->ge
ae480 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e 73 74 tVersion());.if.(null.===.$const
ae4a0 72 61 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 raint.||.$constraint->matches($p
ae4c0 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 kgConstraint)).{.$packages[].=.$
ae4e0 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 package;.}.}.}.break;.}.}..retur
ae500 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 n.$packages;.}..public.function.
ae520 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 72 getPackages().{.if.($this->hasPr
ae540 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 oviders()).{.throw.new.\LogicExc
ae560 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74 68 eption('Composer.repositories.th
ae580 61 74 20 68 61 76 65 20 70 72 6f 76 69 64 65 72 73 20 63 61 6e 20 6e 6f 74 20 6c 6f 61 64 20 74 at.have.providers.can.not.load.t
ae5a0 68 65 20 63 6f 6d 70 6c 65 74 65 20 6c 69 73 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2c 20 75 73 he.complete.list.of.packages,.us
ae5c0 65 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 20 69 6e 73 74 65 61 64 2e 27 29 3b 0a 7d e.getProviderNames.instead.');.}
ae5e0 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a ..return.parent::getPackages();.
ae600 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 }.....public.function.search($qu
ae620 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ery,.$mode.=.0,.$type.=.null).{.
ae640 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 $this->loadRootServerFile();..if
ae660 20 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 26 26 20 24 6d 6f 64 65 20 3d 3d 3d 20 .($this->searchUrl.&&.$mode.===.
ae680 73 65 6c 66 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 29 20 7b 0a 24 75 72 6c 20 3d 20 self::SEARCH_FULLTEXT).{.$url.=.
ae6a0 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 71 75 65 72 79 25 27 2c 20 27 25 74 str_replace(array('%query%',.'%t
ae6c0 79 70 65 25 27 29 2c 20 61 72 72 61 79 28 24 71 75 65 72 79 2c 20 24 74 79 70 65 29 2c 20 24 74 ype%'),.array($query,.$type),.$t
ae6e0 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 29 3b 0a 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 his->searchUrl);..$hostname.=.pa
ae700 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 3f 3a 20 24 rse_url($url,.PHP_URL_HOST).?:.$
ae720 75 72 6c 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 url;.$json.=.$this->rfs->getCont
ae740 65 6e 74 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 73 ents($hostname,.$url,.false);.$s
ae760 65 61 72 63 68 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f earch.=.JsonFile::parseJson($jso
ae780 6e 2c 20 24 75 72 6c 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 65 61 72 63 68 5b 27 72 65 n,.$url);..if.(empty($search['re
ae7a0 73 75 6c 74 73 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 sults'])).{.return.array();.}..$
ae7c0 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 results.=.array();.foreach.($sea
ae7e0 72 63 68 5b 27 72 65 73 75 6c 74 73 27 5d 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 20 69 rch['results'].as.$result).{...i
ae800 66 20 28 65 6d 70 74 79 28 24 72 65 73 75 6c 74 5b 27 76 69 72 74 75 61 6c 27 5d 29 29 20 7b 0a f.(empty($result['virtual'])).{.
ae820 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 $results[].=.$result;.}.}..retur
ae840 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 72 6f n.$results;.}..if.($this->hasPro
ae860 76 69 64 65 72 73 28 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a viders()).{.$results.=.array();.
ae880 24 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 70 72 65 $regex.=.'{(?:'.implode('|',.pre
ae8a0 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 29 29 2e 27 29 7d 69 27 3b g_split('{\s+}',.$query)).')}i';
ae8c0 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d ..foreach.($this->getProviderNam
ae8e0 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 es().as.$name).{.if.(preg_match(
ae900 24 72 65 67 65 78 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 $regex,.$name)).{.$results[].=.a
ae920 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 rray('name'.=>.$name);.}.}..retu
ae940 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 73 rn.$results;.}..return.parent::s
ae960 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 earch($query,.$mode);.}..public.
ae980 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 0a 7b 0a 24 74 function.getProviderNames().{.$t
ae9a0 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 20 28 his->loadRootServerFile();..if.(
ae9c0 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 null.===.$this->providerListing)
ae9e0 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 .{.$this->loadProviderListings($
aea00 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a this->loadRootServerFile());.}..
aea20 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 0a if.($this->lazyProvidersUrl).{..
aea40 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 .return.array();.}..if.($this->p
aea60 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 rovidersUrl).{.return.array_keys
aea80 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 ($this->providerListing);.}..ret
aeaa0 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 urn.array();.}..protected.functi
aeac0 6f 6e 20 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 on.configurePackageTransportOpti
aeae0 6f 6e 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b ons(PackageInterface.$package).{
aeb00 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 .foreach.($package->getDistUrls(
aeb20 29 20 61 73 20 24 75 72 6c 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 24 74 ).as.$url).{.if.(strpos($url,.$t
aeb40 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d his->baseUrl).===.0).{.$package-
aeb60 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 >setTransportOptions($this->opti
aeb80 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ons);..return;.}.}.}..public.fun
aeba0 63 74 69 6f 6e 20 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f ction.hasProviders().{.$this->lo
aebc0 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 adRootServerFile();..return.$thi
aebe0 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->hasProviders;.}..public.funct
aec00 69 6f 6e 20 72 65 73 65 74 50 61 63 6b 61 67 65 49 64 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 ion.resetPackageIds().{.foreach.
aec20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 20 61 73 20 24 70 61 63 6b 61 ($this->providersByUid.as.$packa
aec40 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c ge).{.if.($package.instanceof.Al
aec60 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 iasPackage).{.$package->getAlias
aec80 4f 66 28 29 2d 3e 73 65 74 49 64 28 2d 31 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 Of()->setId(-1);.}.$package->set
aeca0 49 64 28 2d 31 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 Id(-1);.}.}........public.functi
aecc0 6f 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 24 6e 61 6d on.whatProvides(Pool.$pool,.$nam
aece0 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 e,.$bypassFilters.=.false).{.if.
aed00 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 29 20 (isset($this->providers[$name]).
aed20 26 26 20 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 &&.!$bypassFilters).{.return.$th
aed40 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 is->providers[$name];.}..if.($th
aed60 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 26 26 20 6e 75 6c 6c 20 3d is->hasPartialPackages.&&.null.=
aed80 3d 3d 20 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 29 ==.$this->partialPackagesByName)
aeda0 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 74 69 61 6c 50 61 63 6b 61 .{.$this->initializePartialPacka
aedc0 67 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c ges();.}..if.(!$this->hasPartial
aede0 50 61 63 6b 61 67 65 73 20 7c 7c 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 72 74 69 61 Packages.||.!isset($this->partia
aee00 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 0a 20 69 66 20 lPackagesByName[$name])).{...if.
aee20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a (preg_match(PlatformRepository::
aee40 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d 65 29 20 7c PLATFORM_PACKAGE_REGEX,.$name).|
aee60 7c 20 27 5f 5f 72 6f 6f 74 5f 5f 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 7c 7c 20 27 63 6f 6d 70 6f |.'__root__'.===.$name.||.'compo
aee80 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 ser-plugin-api'.===.$name).{.ret
aeea0 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 urn.array();.}..if.(null.===.$th
aeec0 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f is->providerListing).{.$this->lo
aeee0 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f adProviderListings($this->loadRo
aef00 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a 24 75 73 65 4c 61 73 74 4d 6f 64 69 otServerFile());.}..$useLastModi
aef20 66 69 65 64 43 68 65 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 fiedCheck.=.false;.if.($this->la
aef40 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e zyProvidersUrl.&&.!isset($this->
aef60 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 68 61 73 68 providerListing[$name])).{.$hash
aef80 20 3d 20 6e 75 6c 6c 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 70 61 .=.null;.$url.=.str_replace('%pa
aefa0 63 6b 61 67 65 25 27 2c 20 24 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 ckage%',.$name,.$this->lazyProvi
aefc0 64 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 27 70 72 6f 76 69 64 65 72 2d dersUrl);.$cacheKey.=.'provider-
aefe0 27 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f 27 2c 20 27 24 27 29 2e 27 2e 6a 73 6f 6e 27 '.strtr($name,.'/',.'$').'.json'
af000 3b 0a 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 20 3d 20 74 72 75 65 3b 0a ;.$useLastModifiedCheck.=.true;.
af020 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b }.elseif.($this->providersUrl).{
af040 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 ...if.(!isset($this->providerLis
af060 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a ting[$name])).{.return.array();.
af080 7d 0a 0a 24 68 61 73 68 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e }..$hash.=.$this->providerListin
af0a0 67 5b 24 6e 61 6d 65 5d 5b 27 73 68 61 32 35 36 27 5d 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 g[$name]['sha256'];.$url.=.str_r
af0c0 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 68 61 73 68 eplace(array('%package%',.'%hash
af0e0 25 27 29 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 68 61 73 68 29 2c 20 24 74 68 69 73 2d %'),.array($name,.$hash),.$this-
af100 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 27 70 72 6f >providersUrl);.$cacheKey.=.'pro
af120 76 69 64 65 72 2d 27 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f 27 2c 20 27 24 27 29 2e 27 vider-'.strtr($name,.'/',.'$').'
af140 2e 6a 73 6f 6e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b .json';.}.else.{.return.array();
af160 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 61 63 68 65 .}..$packages.=.null;.if.($cache
af180 4b 65 79 29 20 7b 0a 69 66 20 28 21 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 Key).{.if.(!$useLastModifiedChec
af1a0 6b 20 26 26 20 24 68 61 73 68 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 32 k.&&.$hash.&&.$this->cache->sha2
af1c0 35 36 28 24 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 68 61 73 68 29 20 7b 0a 24 70 61 63 6b 56($cacheKey).===.$hash).{.$pack
af1e0 61 67 65 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d ages.=.json_decode($this->cache-
af200 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 69 >read($cacheKey),.true);.}.elsei
af220 66 20 28 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 29 20 7b 0a 69 66 20 28 f.($useLastModifiedCheck).{.if.(
af240 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 $contents.=.$this->cache->read($
af260 63 61 63 68 65 4b 65 79 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 6a 73 6f 6e 5f 64 65 cacheKey)).{.$contents.=.json_de
af280 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 69 73 73 65 74 code($contents,.true);.if.(isset
af2a0 28 24 63 6f 6e 74 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 29 29 20 7b 0a ($contents['last-modified'])).{.
af2c0 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 49 66 4c 61 $response.=.$this->fetchFileIfLa
af2e0 73 74 4d 6f 64 69 66 69 65 64 28 24 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 63 6f 6e stModified($url,.$cacheKey,.$con
af300 74 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 29 3b 0a 69 66 20 28 74 72 75 tents['last-modified']);.if.(tru
af320 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 e.===.$response).{.$packages.=.$
af340 63 6f 6e 74 65 6e 74 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 73 70 6f 6e 73 65 29 20 7b contents;.}.elseif.($response).{
af360 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a .$packages.=.$response;.}.}.}.}.
af380 7d 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 74 72 79 20 7b 0a 24 70 61 63 6b }..if.(!$packages).{.try.{.$pack
af3a0 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 75 72 6c 2c 20 24 63 ages.=.$this->fetchFile($url,.$c
af3c0 61 63 68 65 4b 65 79 2c 20 24 68 61 73 68 2c 20 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 acheKey,.$hash,.$useLastModified
af3e0 43 68 65 63 6b 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 Check);.}.catch.(TransportExcept
af400 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 ion.$e).{...if.($e->getStatusCod
af420 65 28 29 20 3d 3d 3d 20 34 30 34 20 26 26 20 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 e().===.404.&&.$this->lazyProvid
af440 65 72 73 55 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 27 70 61 63 ersUrl).{.$packages.=.array('pac
af460 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 kages'.=>.array());.}.else.{.thr
af480 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 6c 50 61 63 ow.$e;.}.}.}..$loadingPartialPac
af4a0 6b 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 kage.=.false;.}.else.{.$packages
af4c0 20 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 27 76 65 .=.array('packages'.=>.array('ve
af4e0 72 73 69 6f 6e 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 rsions'.=>.$this->partialPackage
af500 73 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 3b 0a 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 sByName[$name]));.$loadingPartia
af520 6c 50 61 63 6b 61 67 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 lPackage.=.true;.}..$this->provi
af540 64 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 ders[$name].=.array();.foreach.(
af560 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 76 65 72 73 69 6f $packages['packages'].as.$versio
af580 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 ns).{.foreach.($versions.as.$ver
af5a0 73 69 6f 6e 29 20 7b 0a 69 66 20 28 21 24 6c 6f 61 64 69 6e 67 50 61 72 74 69 61 6c 50 61 63 6b sion).{.if.(!$loadingPartialPack
af5c0 61 67 65 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 age.&&.$this->hasPartialPackages
af5e0 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 .&&.isset($this->partialPackages
af600 42 79 4e 61 6d 65 5b 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 5d 29 29 20 7b 0a 63 6f 6e ByName[$version['name']])).{.con
af620 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f tinue;.}....if.(isset($this->pro
af640 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b vidersByUid[$version['uid']])).{
af660 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 ...if.(!isset($this->providers[$
af680 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b 0a 0a 20 69 66 20 name][$version['uid']])).{...if.
af6a0 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b ($this->providersByUid[$version[
af6c0 27 75 69 64 27 5d 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 'uid']].instanceof.AliasPackage)
af6e0 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 .{.$this->providers[$name][$vers
af700 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 ion['uid']].=.$this->providersBy
af720 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 2d 3e 67 65 74 41 6c 69 61 73 4f 66 Uid[$version['uid']]->getAliasOf
af740 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 ();.$this->providers[$name][$ver
af760 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 61 6c 69 61 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 sion['uid'].'-alias'].=.$this->p
af780 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a rovidersByUid[$version['uid']];.
af7a0 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d }.else.{.$this->providers[$name]
af7c0 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 [$version['uid']].=.$this->provi
af7e0 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a 7d 0a 0a 20 dersByUid[$version['uid']];.}...
af800 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b if.(isset($this->providersByUid[
af820 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 29 29 20 7b 0a 24 74 68 $version['uid'].'-root'])).{.$th
af840 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 is->providers[$name][$version['u
af860 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 id'].'-root'].=.$this->providers
af880 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 3b 0a ByUid[$version['uid'].'-root'];.
af8a0 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 }.}.}.else.{.if.(!$bypassFilters
af8c0 20 26 26 20 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 .&&.!$pool->isPackageAcceptable(
af8e0 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 29 2c 20 56 65 strtolower($version['name']),.Ve
af900 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 rsionParser::parseStability($ver
af920 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d sion['version']))).{.continue;.}
af940 0a 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 63 6b ....$package.=.$this->createPack
af960 61 67 65 28 24 76 65 72 73 69 6f 6e 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c age($version,.'Composer\Package\
af980 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 CompletePackage');.$package->set
af9a0 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 Repository($this);..if.($package
af9c0 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 .instanceof.AliasPackage).{.$ali
af9e0 61 73 65 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 ased.=.$package->getAliasOf();.$
afa00 61 6c 69 61 73 65 64 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a aliased->setRepository($this);..
afa20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e $this->providers[$name][$version
afa40 5b 27 75 69 64 27 5d 5d 20 3d 20 24 61 6c 69 61 73 65 64 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 ['uid']].=.$aliased;.$this->prov
afa60 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 61 iders[$name][$version['uid'].'-a
afa80 6c 69 61 73 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f lias'].=.$package;....$this->pro
afaa0 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 vidersByUid[$version['uid']].=.$
afac0 70 61 63 6b 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 package;.}.else.{.$this->provide
afae0 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 61 rs[$name][$version['uid']].=.$pa
afb00 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 ckage;.$this->providersByUid[$ve
afb20 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 20 75 rsion['uid']].=.$package;.}....u
afb40 6e 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 nset($rootAliasData);..if.(isset
afb60 28 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 ($this->rootAliases[$package->ge
afb80 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d tName()][$package->getVersion()]
afba0 29 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f 6f )).{.$rootAliasData.=.$this->roo
afbc0 74 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 tAliases[$package->getName()][$p
afbe0 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 ackage->getVersion()];.}.elseif.
afc00 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 ($package.instanceof.AliasPackag
afc20 65 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 e.&&.isset($this->rootAliases[$p
afc40 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ackage->getName()][$package->get
afc60 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 29 29 20 7b 0a 24 72 6f AliasOf()->getVersion()])).{.$ro
afc80 6f 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 otAliasData.=.$this->rootAliases
afca0 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e [$package->getName()][$package->
afcc0 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 7d 0a 0a getAliasOf()->getVersion()];.}..
afce0 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 29 20 7b 0a 24 61 6c if.(isset($rootAliasData)).{.$al
afd00 69 61 73 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 ias.=.$this->createAliasPackage(
afd20 24 70 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c 69 61 73 5f $package,.$rootAliasData['alias_
afd40 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c normalized'],.$rootAliasData['al
afd60 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 ias']);.$alias->setRepository($t
afd80 68 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 his);..$this->providers[$name][$
afda0 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 61 73 version['uid'].'-root'].=.$alias
afdc0 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e ;.$this->providersByUid[$version
afde0 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 7d 0a 7d 0a 7d ['uid'].'-root'].=.$alias;.}.}.}
afe00 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 .}..$result.=.$this->providers[$
afe20 6e 61 6d 65 5d 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 name];......if.($bypassFilters).
afe40 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d {.foreach.($this->providers[$nam
afe60 65 5d 20 61 73 20 24 75 69 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 75 6e 73 65 74 e].as.$uid.=>.$provider).{.unset
afe80 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 75 69 64 5d 29 3b 0a 7d ($this->providersByUid[$uid]);.}
afea0 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 29 3b .unset($this->providers[$name]);
afec0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 .}..return.$result;.}.....protec
afee0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 ted.function.initialize().{.pare
aff00 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 24 nt::initialize();..$repoData.=.$
aff20 74 68 69 73 2d 3e 6c 6f 61 64 44 61 74 61 46 72 6f 6d 53 65 72 76 65 72 28 29 3b 0a 0a 66 6f 72 this->loadDataFromServer();..for
aff40 65 61 63 68 20 28 24 72 65 70 6f 44 61 74 61 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 each.($repoData.as.$package).{.$
aff60 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 this->addPackage($this->createPa
aff80 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 ckage($package,.'Composer\Packag
affa0 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a e\CompletePackage'));.}.}.......
affc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 public.function.addPackage(Packa
affe0 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a geInterface.$package).{.parent::
b0000 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e addPackage($package);.$this->con
b0020 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 70 figurePackageTransportOptions($p
b0040 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c ackage);.}..protected.function.l
b0060 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 oadRootServerFile().{.if.(null.!
b0080 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 ==.$this->rootData).{.return.$th
b00a0 69 73 2d 3e 72 6f 6f 74 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f is->rootData;.}..if.(!extension_
b00c0 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d loaded('openssl').&&.'https'.===
b00e0 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 35 29 29 20 7b 0a 74 68 72 .substr($this->url,.0,.5)).{.thr
b0100 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 ow.new.\RuntimeException('You.mu
b0120 73 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 st.enable.the.openssl.extension.
b0140 69 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 20 74 6f 20 6c 6f 61 64 20 69 6e 66 6f 72 6d 61 74 in.your.php.ini.to.load.informat
b0160 69 6f 6e 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e ion.from.'.$this->url);.}..$json
b0180 55 72 6c 50 61 72 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 UrlParts.=.parse_url($this->url)
b01a0 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 73 6f 6e 55 72 6c 50 61 72 74 73 5b 27 70 61 74 68 ;..if.(isset($jsonUrlParts['path
b01c0 27 5d 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6a 73 6f 6e 55 72 6c ']).&&.false.!==.strpos($jsonUrl
b01e0 50 61 72 74 73 5b 27 70 61 74 68 27 5d 2c 20 27 2e 6a 73 6f 6e 27 29 29 20 7b 0a 24 6a 73 6f 6e Parts['path'],.'.json')).{.$json
b0200 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6a 73 6f 6e Url.=.$this->url;.}.else.{.$json
b0220 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 20 2e 20 27 2f 70 61 63 6b 61 67 65 73 2e 6a 73 Url.=.$this->url...'/packages.js
b0240 6f 6e 27 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 on';.}..$data.=.$this->fetchFile
b0260 28 24 6a 73 6f 6e 55 72 6c 2c 20 27 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 29 3b 0a 0a 69 66 ($jsonUrl,.'packages.json');..if
b0280 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 2d 62 61 74 63 68 27 5d 29 29 .(!empty($data['notify-batch']))
b02a0 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e .{.$this->notifyUrl.=.$this->can
b02c0 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 2d 62 61 74 63 68 onicalizeUrl($data['notify-batch
b02e0 27 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 ']);.}.elseif.(!empty($data['not
b0300 69 66 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 74 68 ify'])).{.$this->notifyUrl.=.$th
b0320 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 is->canonicalizeUrl($data['notif
b0340 79 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 73 65 61 72 63 y']);.}..if.(!empty($data['searc
b0360 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 3d 20 24 74 68 69 73 h'])).{.$this->searchUrl.=.$this
b0380 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 73 65 61 72 63 68 27 ->canonicalizeUrl($data['search'
b03a0 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6d 69 72 72 6f 72 73 ]);.}..if.(!empty($data['mirrors
b03c0 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 5b 27 6d 69 72 72 6f 72 73 27 5d '])).{.foreach.($data['mirrors']
b03e0 20 61 73 20 24 6d 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f .as.$mirror).{.if.(!empty($mirro
b0400 72 5b 27 67 69 74 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 r['git-url'])).{.$this->sourceMi
b0420 72 72 6f 72 73 5b 27 67 69 74 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 rrors['git'][].=.array('url'.=>.
b0440 24 6d 69 72 72 6f 72 5b 27 67 69 74 2d 75 72 6c 27 5d 2c 20 27 70 72 65 66 65 72 72 65 64 27 20 $mirror['git-url'],.'preferred'.
b0460 3d 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 29 =>.!empty($mirror['preferred']))
b0480 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 68 67 2d 75 72 6c 27 5d ;.}.if.(!empty($mirror['hg-url']
b04a0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 27 68 67 27 5d 5b )).{.$this->sourceMirrors['hg'][
b04c0 5d 20 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 6d 69 72 72 6f 72 5b 27 68 67 2d 75 ].=.array('url'.=>.$mirror['hg-u
b04e0 72 6c 27 5d 2c 20 27 70 72 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 rl'],.'preferred'.=>.!empty($mir
b0500 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 ror['preferred']));.}.if.(!empty
b0520 28 24 6d 69 72 72 6f 72 5b 27 64 69 73 74 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e ($mirror['dist-url'])).{.$this->
b0540 64 69 73 74 4d 69 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 75 72 6c 27 20 3d 3e 20 distMirrors[].=.array(.'url'.=>.
b0560 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 $this->canonicalizeUrl($mirror['
b0580 64 69 73 74 2d 75 72 6c 27 5d 29 2c 0a 27 70 72 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 6d 70 dist-url']),.'preferred'.=>.!emp
b05a0 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 2c 0a 29 3b 0a 7d 0a 7d ty($mirror['preferred']),.);.}.}
b05c0 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d .}..if.(!empty($data['providers-
b05e0 6c 61 7a 79 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 lazy-url'])).{.$this->lazyProvid
b0600 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 ersUrl.=.$this->canonicalizeUrl(
b0620 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 6c 61 7a 79 2d 75 72 6c 27 5d 29 3b 0a 24 74 $data['providers-lazy-url']);.$t
b0640 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 65 3b 0a 0a 24 74 68 69 73 his->hasProviders.=.true;..$this
b0660 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 3d 20 21 65 6d 70 74 79 28 24 64 ->hasPartialPackages.=.!empty($d
b0680 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 64 61 ata['packages']).&&.is_array($da
b06a0 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 ta['packages']);.}..if.($this->a
b06c0 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d llowSslDowngrade).{.$this->url.=
b06e0 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f 27 2c 20 27 68 74 74 70 3a 2f .str_replace('https://',.'http:/
b0700 2f 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 /',.$this->url);.$this->baseUrl.
b0720 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f 27 2c 20 27 68 74 74 70 3a =.str_replace('https://',.'http:
b0740 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d //',.$this->baseUrl);.}..if.(!em
b0760 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 pty($data['providers-url'])).{.$
b0780 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f this->providersUrl.=.$this->cano
b07a0 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 75 72 6c nicalizeUrl($data['providers-url
b07c0 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 65 3b ']);.$this->hasProviders.=.true;
b07e0 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 27 .}..if.(!empty($data['providers'
b0800 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 69 6e ]).||.!empty($data['providers-in
b0820 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 cludes'])).{.$this->hasProviders
b0840 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e .=.true;.}....if.(preg_match('{^
b0860 68 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 5c 2e 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 2f 3f 24 https?://repo\.packagist\.org/?$
b0880 7d 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 }i',.$this->url).&&.!empty($this
b08a0 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 ->repoConfig['force-lazy-provide
b08c0 72 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 72 rs'])).{.$this->url.=.'https://r
b08e0 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 epo.packagist.org';.$this->baseU
b0900 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 rl.=.'https://repo.packagist.org
b0920 27 3b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 ';.$this->lazyProvidersUrl.=.$th
b0940 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 68 74 74 70 73 3a 2f 2f 72 65 70 is->canonicalizeUrl('https://rep
b0960 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 2f 25 70 61 63 6b 61 67 65 25 2e 6a 73 6f 6e o.packagist.org/p/%package%.json
b0980 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 6e 75 6c 6c 3b 0a ');.$this->providersUrl.=.null;.
b09a0 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 }.elseif.(!empty($this->repoConf
b09c0 69 67 5b 27 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 73 27 5d 29 29 20 7b 0a 24 ig['force-lazy-providers'])).{.$
b09e0 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e this->lazyProvidersUrl.=.$this->
b0a00 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 2f 70 2f 25 70 61 63 6b 61 67 65 25 2e 6a 73 canonicalizeUrl('/p/%package%.js
b0a20 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 6e 75 6c 6c on');.$this->providersUrl.=.null
b0a40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 20 3d 20 24 64 ;.}..return.$this->rootData.=.$d
b0a60 61 74 61 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6f 6e ata;.}..protected.function.canon
b0a80 69 63 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 icalizeUrl($url).{.if.('/'.===.$
b0aa0 75 72 6c 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b url[0]).{.return.preg_replace('{
b0ac0 28 68 74 74 70 73 3f 3a 2f 2f 5b 5e 2f 5d 2b 29 2e 2a 7d 69 27 2c 20 27 24 31 27 20 2e 20 24 75 (https?://[^/]+).*}i',.'$1'...$u
b0ae0 72 6c 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b rl,.$this->url);.}..return.$url;
b0b00 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 44 61 74 61 46 .}..protected.function.loadDataF
b0b20 72 6f 6d 53 65 72 76 65 72 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 romServer().{.$data.=.$this->loa
b0b40 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 dRootServerFile();..return.$this
b0b60 2d 3e 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ->loadIncludes($data);.}..protec
b0b80 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 ted.function.loadProviderListing
b0ba0 73 28 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 s($data).{.if.(isset($data['prov
b0bc0 69 64 65 72 73 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d iders'])).{.if.(!is_array($this-
b0be0 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 >providerListing)).{.$this->prov
b0c00 69 64 65 72 4c 69 73 74 69 6e 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e iderListing.=.array();.}.$this->
b0c20 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 providerListing.=.array_merge($t
b0c40 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 2c 20 24 64 61 74 61 5b 27 70 72 6f his->providerListing,.$data['pro
b0c60 76 69 64 65 72 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 viders']);.}..if.($this->provide
b0c80 72 73 55 72 6c 20 26 26 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 rsUrl.&&.isset($data['provider-i
b0ca0 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 69 6e 63 6c 75 64 65 73 20 3d 20 24 64 61 74 61 5b ncludes'])).{.$includes.=.$data[
b0cc0 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 'provider-includes'];.foreach.($
b0ce0 69 6e 63 6c 75 64 65 73 20 61 73 20 24 69 6e 63 6c 75 64 65 20 3d 3e 20 24 6d 65 74 61 64 61 74 includes.as.$include.=>.$metadat
b0d00 61 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 a).{.$url.=.$this->baseUrl...'/'
b0d20 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 68 61 73 68 25 27 2c 20 24 6d 65 74 61 64 61 ...str_replace('%hash%',.$metada
b0d40 74 61 5b 27 73 68 61 32 35 36 27 5d 2c 20 24 69 6e 63 6c 75 64 65 29 3b 0a 24 63 61 63 68 65 4b ta['sha256'],.$include);.$cacheK
b0d60 65 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 68 61 73 68 25 27 2c ey.=.str_replace(array('%hash%',
b0d80 27 24 27 29 2c 20 27 27 2c 20 24 69 6e 63 6c 75 64 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e '$'),.'',.$include);.if.($this->
b0da0 63 61 63 68 65 2d 3e 73 68 61 32 35 36 28 24 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 6d 65 cache->sha256($cacheKey).===.$me
b0dc0 74 61 64 61 74 61 5b 27 73 68 61 32 35 36 27 5d 29 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 tadata['sha256']).{.$includedDat
b0de0 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 a.=.json_decode($this->cache->re
b0e00 61 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 ad($cacheKey),.true);.}.else.{.$
b0e20 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 includedData.=.$this->fetchFile(
b0e40 24 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 32 $url,.$cacheKey,.$metadata['sha2
b0e60 35 36 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 56']);.}..$this->loadProviderLis
b0e80 74 69 6e 67 73 28 24 69 6e 63 6c 75 64 65 64 44 61 74 61 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f tings($includedData);.}.}.}..pro
b0ea0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 64 61 tected.function.loadIncludes($da
b0ec0 74 61 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 ta).{.$packages.=.array();....if
b0ee0 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 21 .(!isset($data['packages']).&&.!
b0f00 69 73 73 65 74 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 isset($data['includes'])).{.fore
b0f20 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 70 6b 67 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ach.($data.as.$pkg).{.foreach.($
b0f40 70 6b 67 5b 27 76 65 72 73 69 6f 6e 73 27 5d 20 61 73 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a pkg['versions'].as.$metadata).{.
b0f60 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 6d 65 74 61 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 72 65 $packages[].=.$metadata;.}.}..re
b0f80 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 turn.$packages;.}..if.(isset($da
b0fa0 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 ta['packages'])).{.foreach.($dat
b0fc0 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 a['packages'].as.$package.=>.$ve
b0fe0 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 rsions).{.foreach.($versions.as.
b1000 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 $version.=>.$metadata).{.$packag
b1020 65 73 5b 5d 20 3d 20 24 6d 65 74 61 64 61 74 61 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 es[].=.$metadata;.}.}.}..if.(iss
b1040 65 74 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 et($data['includes'])).{.foreach
b1060 20 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 20 61 73 20 24 69 6e 63 6c 75 64 65 20 .($data['includes'].as.$include.
b1080 3d 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 =>.$metadata).{.if.($this->cache
b10a0 2d 3e 73 68 61 31 28 24 69 6e 63 6c 75 64 65 29 20 3d 3d 3d 20 24 6d 65 74 61 64 61 74 61 5b 27 ->sha1($include).===.$metadata['
b10c0 73 68 61 31 27 5d 29 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 sha1']).{.$includedData.=.json_d
b10e0 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 6e 63 6c 75 64 ecode($this->cache->read($includ
b1100 65 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 e),.true);.}.else.{.$includedDat
b1120 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 69 6e 63 6c 75 64 65 29 3b 0a a.=.$this->fetchFile($include);.
b1140 7d 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 }.$packages.=.array_merge($packa
b1160 67 65 73 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 69 6e 63 6c 75 64 ges,.$this->loadIncludes($includ
b1180 65 64 44 61 74 61 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b edData));.}.}..return.$packages;
b11a0 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 61 63 .}..protected.function.createPac
b11c0 6b 61 67 65 28 61 72 72 61 79 20 24 64 61 74 61 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 kage(array.$data,.$class.=.'Comp
b11e0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b oser\Package\CompletePackage').{
b1200 0a 74 72 79 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 .try.{.if.(!isset($data['notific
b1220 61 74 69 6f 6e 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 61 74 ation-url'])).{.$data['notificat
b1240 69 6f 6e 2d 75 72 6c 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 3b 0a 7d 0a ion-url'].=.$this->notifyUrl;.}.
b1260 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 .$package.=.$this->loader->load(
b1280 24 64 61 74 61 2c 20 24 63 6c 61 73 73 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d $data,.$class);.if.(isset($this-
b12a0 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 >sourceMirrors[$package->getSour
b12c0 63 65 54 79 70 65 28 29 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 ceType()])).{.$package->setSourc
b12e0 65 4d 69 72 72 6f 72 73 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 24 70 eMirrors($this->sourceMirrors[$p
b1300 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 5d 29 3b 0a 7d 0a 24 70 61 ackage->getSourceType()]);.}.$pa
b1320 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 74 68 69 73 2d 3e 64 69 73 ckage->setDistMirrors($this->dis
b1340 74 4d 69 72 72 6f 72 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 tMirrors);.$this->configurePacka
b1360 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 72 geTransportOptions($package);..r
b1380 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 eturn.$package;.}.catch.(\Except
b13a0 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 ion.$e).{.throw.new.\RuntimeExce
b13c0 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 70 61 63 6b 61 67 65 20 27 2e ption('Could.not.load.package.'.
b13e0 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e (isset($data['name']).?.$data['n
b1400 61 6d 65 27 5d 20 3a 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 29 2e 27 20 69 6e ame'].:.json_encode($data)).'.in
b1420 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 .'.$this->url.':.['.get_class($e
b1440 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b ).'].'.$e->getMessage(),.0,.$e);
b1460 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 46 69 .}.}..protected.function.fetchFi
b1480 6c 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 61 63 68 65 4b 65 79 20 3d 20 6e 75 6c 6c 2c 20 le($filename,.$cacheKey.=.null,.
b14a0 24 73 68 61 32 35 36 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 6f 72 65 4c 61 73 74 4d 6f 64 69 66 69 $sha256.=.null,.$storeLastModifi
b14c0 65 64 54 69 6d 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 edTime.=.false).{.if.(null.===.$
b14e0 63 61 63 68 65 4b 65 79 29 20 7b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 24 66 69 6c 65 6e 61 6d cacheKey).{.$cacheKey.=.$filenam
b1500 65 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2e 27 2f e;.$filename.=.$this->baseUrl.'/
b1520 27 2e 24 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 '.$filename;.}....if.(($pos.=.st
b1540 72 70 6f 73 28 24 66 69 6c 65 6e 61 6d 65 2c 20 27 24 27 29 29 20 26 26 20 70 72 65 67 5f 6d 61 rpos($filename,.'$')).&&.preg_ma
b1560 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 2e 2a 7d 69 27 2c 20 24 66 69 6c 65 6e 61 6d 65 tch('{^https?://.*}i',.$filename
b1580 29 29 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 6e 61 6d )).{.$filename.=.substr($filenam
b15a0 65 2c 20 30 2c 20 24 70 6f 73 29 20 2e 20 27 25 32 34 27 20 2e 20 73 75 62 73 74 72 28 24 66 69 e,.0,.$pos)...'%24'...substr($fi
b15c0 6c 65 6e 61 6d 65 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 7d 0a 0a 24 72 65 74 72 69 65 73 20 3d lename,.$pos.+.1);.}..$retries.=
b15e0 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 .3;.while.($retries--).{.try.{.$
b1600 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 preFileDownloadEvent.=.new.PreFi
b1620 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 leDownloadEvent(PluginEvents::PR
b1640 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 66 69 E_FILE_DOWNLOAD,.$this->rfs,.$fi
b1660 6c 65 6e 61 6d 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 lename);.if.($this->eventDispatc
b1680 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 her).{.$this->eventDispatcher->d
b16a0 69 73 70 61 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 ispatch($preFileDownloadEvent->g
b16c0 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 etName(),.$preFileDownloadEvent)
b16e0 3b 0a 7d 0a 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 ;.}..$hostname.=.parse_url($file
b1700 6e 61 6d 65 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 3f 3a 20 24 66 69 6c 65 6e 61 6d 65 name,.PHP_URL_HOST).?:.$filename
b1720 3b 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e ;.$rfs.=.$preFileDownloadEvent->
b1740 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 getRemoteFilesystem();..$json.=.
b1760 24 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 66 69 $rfs->getContents($hostname,.$fi
b1780 6c 65 6e 61 6d 65 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 73 68 61 32 35 36 20 26 26 20 24 lename,.false);.if.($sha256.&&.$
b17a0 73 68 61 32 35 36 20 21 3d 3d 20 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 6a 73 6f 6e 29 sha256.!==.hash('sha256',.$json)
b17c0 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 ).{...if.($this->allowSslDowngra
b17e0 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 de).{.$this->url.=.str_replace('
b1800 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c http://',.'https://',.$this->url
b1820 29 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 );.$this->baseUrl.=.str_replace(
b1840 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 62 61 'http://',.'https://',.$this->ba
b1860 73 65 55 72 6c 29 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 seUrl);.$filename.=.str_replace(
b1880 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 'http://',.'https://',.$filename
b18a0 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 );.}..if.($retries).{.usleep(100
b18c0 30 30 30 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 000);..continue;.}....throw.new.
b18e0 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 RepositorySecurityException('The
b1900 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 27 2e 24 66 69 6c 65 6e 61 6d 65 2e 27 20 64 6f 20 6e 6f .contents.of.'.$filename.'.do.no
b1920 74 20 6d 61 74 63 68 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 2e 20 54 68 69 73 20 63 6f 75 6c t.match.its.signature..This.coul
b1940 64 20 69 6e 64 69 63 61 74 65 20 61 20 6d 61 6e 2d 69 6e 2d 74 68 65 2d 6d 69 64 64 6c 65 20 61 d.indicate.a.man-in-the-middle.a
b1960 74 74 61 63 6b 20 6f 72 20 65 2e 67 2e 20 61 6e 74 69 76 69 72 75 73 20 73 6f 66 74 77 61 72 65 ttack.or.e.g..antivirus.software
b1980 20 63 6f 72 72 75 70 74 69 6e 67 20 66 69 6c 65 73 2e 20 54 72 79 20 72 75 6e 6e 69 6e 67 20 63 .corrupting.files..Try.running.c
b19a0 6f 6d 70 6f 73 65 72 20 61 67 61 69 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 74 68 69 73 20 69 66 omposer.again.and.report.this.if
b19c0 20 79 6f 75 20 74 68 69 6e 6b 20 69 74 20 69 73 20 61 20 6d 69 73 74 61 6b 65 2e 27 29 3b 0a 7d .you.think.it.is.a.mistake.');.}
b19e0 0a 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a ..$data.=.JsonFile::parseJson($j
b1a00 73 6f 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 son,.$filename);.if.(!empty($dat
b1a20 61 5b 27 77 61 72 6e 69 6e 67 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 a['warning'])).{.$this->io->writ
b1a40 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 20 66 72 6f 6d 20 27 2e eError('<warning>Warning.from.'.
b1a60 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3a 20 27 2e 24 64 61 74 61 5b 27 77 61 72 6e 69 6e 67 27 5d $this->url.':.'.$data['warning']
b1a80 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 .'</warning>');.}.if.(!empty($da
b1aa0 74 61 5b 27 69 6e 66 6f 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ta['info'])).{.$this->io->writeE
b1ac0 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 66 6f 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 rror('<info>Info.from.'.$this->u
b1ae0 72 6c 2e 27 3a 20 27 2e 24 64 61 74 61 5b 27 69 6e 66 6f 27 5d 2e 27 3c 2f 69 6e 66 6f 3e 27 29 rl.':.'.$data['info'].'</info>')
b1b00 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 4b 65 79 29 20 7b 0a 69 66 20 28 24 73 74 6f 72 65 ;.}..if.($cacheKey).{.if.($store
b1b20 4c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 29 20 7b 0a 24 6c 61 73 74 4d 6f 64 69 66 69 65 LastModifiedTime).{.$lastModifie
b1b40 64 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 72 dDate.=.$rfs->findHeaderValue($r
b1b60 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 2c 20 27 6c 61 73 74 2d 6d 6f 64 69 fs->getLastHeaders(),.'last-modi
b1b80 66 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 29 20 7b fied');.if.($lastModifiedDate).{
b1ba0 0a 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 20 3d 20 24 6c 61 73 74 4d .$data['last-modified'].=.$lastM
b1bc0 6f 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 odifiedDate;.$json.=.json_encode
b1be0 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 ($data);.}.}.$this->cache->write
b1c00 28 24 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 20 ($cacheKey,.$json);.}..break;.}.
b1c20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 catch.(\Exception.$e).{.if.($e.i
b1c40 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 nstanceof.TransportException.&&.
b1c60 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 74 $e->getStatusCode().===.404).{.t
b1c80 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 hrow.$e;.}..if.($retries).{.usle
b1ca0 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 65 20 ep(100000);.continue;.}..if.($e.
b1cc0 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 instanceof.RepositorySecurityExc
b1ce0 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 eption).{.throw.$e;.}..if.($cach
b1d00 65 4b 65 79 20 26 26 20 28 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 eKey.&&.($contents.=.$this->cach
b1d20 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 e->read($cacheKey))).{.if.(!$thi
b1d40 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 s->degradedMode).{.$this->io->wr
b1d60 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 iteError('<warning>'.$e->getMess
b1d80 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e age().'</warning>');.$this->io->
b1da0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 74 68 69 73 2d 3e 75 72 writeError('<warning>'.$this->ur
b1dc0 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 75 6c 6c 79 20 6c 6f 61 64 65 64 2c 20 70 l.'.could.not.be.fully.loaded,.p
b1de0 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 ackage.information.was.loaded.fr
b1e00 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 63 61 63 68 65 20 61 6e 64 20 6d 61 79 20 62 65 20 6f 75 om.the.local.cache.and.may.be.ou
b1e20 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e t.of.date</warning>');.}.$this->
b1e40 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 24 64 61 74 61 20 3d 20 4a 73 6f degradedMode.=.true;.$data.=.Jso
b1e60 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 74 68 69 nFile::parseJson($contents,.$thi
b1e80 73 2d 3e 63 61 63 68 65 2d 3e 67 65 74 52 6f 6f 74 28 29 2e 24 63 61 63 68 65 4b 65 79 29 3b 0a s->cache->getRoot().$cacheKey);.
b1ea0 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e .break;.}..throw.$e;.}.}..return
b1ec0 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 .$data;.}..protected.function.fe
b1ee0 74 63 68 46 69 6c 65 49 66 4c 61 73 74 4d 6f 64 69 66 69 65 64 28 24 66 69 6c 65 6e 61 6d 65 2c tchFileIfLastModified($filename,
b1f00 20 24 63 61 63 68 65 4b 65 79 2c 20 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 29 0a 7b .$cacheKey,.$lastModifiedTime).{
b1f20 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d .$retries.=.3;.while.($retries--
b1f40 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 ).{.try.{.$preFileDownloadEvent.
b1f60 3d 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 =.new.PreFileDownloadEvent(Plugi
b1f80 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 nEvents::PRE_FILE_DOWNLOAD,.$thi
b1fa0 73 2d 3e 72 66 73 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 s->rfs,.$filename);.if.($this->e
b1fc0 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 ventDispatcher).{.$this->eventDi
b1fe0 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c spatcher->dispatch($preFileDownl
b2000 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 44 6f 77 oadEvent->getName(),.$preFileDow
b2020 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 73 nloadEvent);.}..$hostname.=.pars
b2040 65 5f 75 72 6c 28 24 66 69 6c 65 6e 61 6d 65 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 3f e_url($filename,.PHP_URL_HOST).?
b2060 3a 20 24 66 69 6c 65 6e 61 6d 65 3b 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c 65 44 6f 77 6e :.$filename;.$rfs.=.$preFileDown
b2080 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 loadEvent->getRemoteFilesystem()
b20a0 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 ;.$options.=.array('http'.=>.arr
b20c0 61 79 28 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 49 66 2d 4d 6f 64 69 66 69 65 ay('header'.=>.array('If-Modifie
b20e0 64 2d 53 69 6e 63 65 3a 20 27 2e 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 29 29 29 3b d-Since:.'.$lastModifiedTime)));
b2100 0a 24 6a 73 6f 6e 20 3d 20 24 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 68 6f 73 74 .$json.=.$rfs->getContents($host
b2120 6e 61 6d 65 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 name,.$filename,.false,.$options
b2140 29 3b 0a 69 66 20 28 24 6a 73 6f 6e 20 3d 3d 3d 20 27 27 20 26 26 20 24 72 66 73 2d 3e 66 69 6e );.if.($json.===.''.&&.$rfs->fin
b2160 64 53 74 61 74 75 73 43 6f 64 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 dStatusCode($rfs->getLastHeaders
b2180 28 29 29 20 3d 3d 3d 20 33 30 34 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 ()).===.304).{.return.true;.}..$
b21a0 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e data.=.JsonFile::parseJson($json
b21c0 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 ,.$filename);.if.(!empty($data['
b21e0 77 61 72 6e 69 6e 67 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 warning'])).{.$this->io->writeEr
b2200 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 20 66 72 6f 6d 20 27 2e 24 74 68 ror('<warning>Warning.from.'.$th
b2220 69 73 2d 3e 75 72 6c 2e 27 3a 20 27 2e 24 64 61 74 61 5b 27 77 61 72 6e 69 6e 67 27 5d 2e 27 3c is->url.':.'.$data['warning'].'<
b2240 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b /warning>');.}.if.(!empty($data[
b2260 27 69 6e 66 6f 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 'info'])).{.$this->io->writeErro
b2280 72 28 27 3c 69 6e 66 6f 3e 49 6e 66 6f 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e r('<info>Info.from.'.$this->url.
b22a0 27 3a 20 27 2e 24 64 61 74 61 5b 27 69 6e 66 6f 27 5d 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d ':.'.$data['info'].'</info>');.}
b22c0 0a 0a 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 69 6e 64 ..$lastModifiedDate.=.$rfs->find
b22e0 48 65 61 64 65 72 56 61 6c 75 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 HeaderValue($rfs->getLastHeaders
b2300 28 29 2c 20 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 73 74 4d (),.'last-modified');.if.($lastM
b2320 6f 64 69 66 69 65 64 44 61 74 65 29 20 7b 0a 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 odifiedDate).{.$data['last-modif
b2340 69 65 64 27 5d 20 3d 20 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a 73 6f 6e ied'].=.$lastModifiedDate;.$json
b2360 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e .=.json_encode($data);.}.$this->
b2380 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a cache->write($cacheKey,.$json);.
b23a0 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 .return.$data;.}.catch.(\Excepti
b23c0 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 on.$e).{.if.($e.instanceof.Trans
b23e0 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f portException.&&.$e->getStatusCo
b2400 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 de().===.404).{.throw.$e;.}..if.
b2420 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e ($retries).{.usleep(100000);.con
b2440 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f tinue;.}..if.(!$this->degradedMo
b2460 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 de).{.$this->io->writeError('<wa
b2480 72 6e 69 6e 67 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e rning>'.$e->getMessage().'</warn
b24a0 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ing>');.$this->io->writeError('<
b24c0 77 61 72 6e 69 6e 67 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 warning>'.$this->url.'.could.not
b24e0 20 62 65 20 66 75 6c 6c 79 20 6c 6f 61 64 65 64 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d .be.fully.loaded,.package.inform
b2500 61 74 69 6f 6e 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 ation.was.loaded.from.the.local.
b2520 63 61 63 68 65 20 61 6e 64 20 6d 61 79 20 62 65 20 6f 75 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 cache.and.may.be.out.of.date</wa
b2540 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 rning>');.}.$this->degradedMode.
b2560 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a =.true;..return.true;.}.}.}.....
b2580 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 ..private.function.initializePar
b25a0 74 69 61 6c 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 24 72 6f 6f 74 44 61 74 61 20 3d 20 24 74 68 tialPackages().{.$rootData.=.$th
b25c0 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 24 74 68 69 73 is->loadRootServerFile();..$this
b25e0 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 ->partialPackagesByName.=.array(
b2600 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 );.foreach.($rootData['packages'
b2620 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 24 70 ].as.$package.=>.$versions).{.$p
b2640 61 63 6b 61 67 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 29 3b 0a 66 ackage.=.strtolower($package);.f
b2660 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b oreach.($versions.as.$version).{
b2680 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 .$this->partialPackagesByName[$p
b26a0 61 63 6b 61 67 65 5d 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 69 66 20 28 21 65 6d 70 74 79 ackage][].=.$version;.if.(!empty
b26c0 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 ($version['provide']).&&.is_arra
b26e0 79 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 y($version['provide'])).{.foreac
b2700 68 20 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 20 61 73 20 24 70 72 6f 76 69 h.($version['provide'].as.$provi
b2720 64 65 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 ded.=>.$providedVersion).{.$this
b2740 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 73 74 72 74 6f 6c 6f 77 ->partialPackagesByName[strtolow
b2760 65 72 28 24 70 72 6f 76 69 64 65 64 29 5d 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d er($provided)][].=.$version;.}.}
b2780 0a 69 66 20 28 21 65 6d 70 74 79 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 29 .if.(!empty($version['replace'])
b27a0 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d .&&.is_array($version['replace']
b27c0 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 )).{.foreach.($version['replace'
b27e0 5d 20 61 73 20 24 70 72 6f 76 69 64 65 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 64 56 65 72 73 69 ].as.$provided.=>.$providedVersi
b2800 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 on).{.$this->partialPackagesByNa
b2820 6d 65 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 72 6f 76 69 64 65 64 29 5d 5b 5d 20 3d 20 24 76 me[strtolower($provided)][].=.$v
b2840 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 ersion;.}.}.}.}....$this->rootDa
b2860 74 61 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ta.=.true;.}.}.<?php............
b2880 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
b28a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
b28c0 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f rface;.......class.CompositeRepo
b28e0 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a sitory.extends.BaseRepository.{.
b2900 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 0a 0a 0a 0a 0a ....private.$repositories;......
b2920 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 public.function.__construct(arra
b2940 79 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 y.$repositories).{.$this->reposi
b2960 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f tories.=.array();.foreach.($repo
b2980 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 sitories.as.$repo).{.$this->addR
b29a0 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c epository($repo);.}.}.......publ
b29c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a ic.function.getRepositories().{.
b29e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a return.$this->repositories;.}...
b2a00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 ..public.function.hasPackage(Pac
b2a20 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 kageInterface.$package).{.foreac
b2a40 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 h.($this->repositories.as.$repos
b2a60 69 74 6f 72 79 29 20 7b 0a 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 68 61 73 50 61 itory).{..if.($repository->hasPa
b2a80 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ckage($package)).{.return.true;.
b2aa0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 }.}..return.false;.}.....public.
b2ac0 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e function.findPackage($name,.$con
b2ae0 73 74 72 61 69 6e 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 straint).{.foreach.($this->repos
b2b00 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b itories.as.$repository).{..$pack
b2b20 61 67 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 age.=.$repository->findPackage($
b2b40 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d name,.$constraint);.if.(null.!==
b2b60 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a .$package).{.return.$package;.}.
b2b80 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e }..return.null;.}.....public.fun
b2ba0 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 ction.findPackages($name,.$const
b2bc0 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 raint.=.null).{.$packages.=.arra
b2be0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 y();.foreach.($this->repositorie
b2c00 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 5b 5d s.as.$repository).{..$packages[]
b2c20 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 .=.$repository->findPackages($na
b2c40 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 me,.$constraint);.}..return.$pac
b2c60 6b 61 67 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 kages.?.call_user_func_array('ar
b2c80 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 29 ray_merge',.$packages).:.array()
b2ca0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 ;.}.....public.function.search($
b2cc0 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a query,.$mode.=.0,.$type.=.null).
b2ce0 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 {.$matches.=.array();.foreach.($
b2d00 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 this->repositories.as.$repositor
b2d20 79 29 20 7b 0a 0a 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e y).{..$matches[].=.$repository->
b2d40 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a search($query,.$mode,.$type);.}.
b2d60 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e .return.$matches.?.call_user_fun
b2d80 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 6d 61 74 63 68 65 73 29 c_array('array_merge',.$matches)
b2da0 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .:.array();.}.....public.functio
b2dc0 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 n.getPackages().{.$packages.=.ar
b2de0 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 ray();.foreach.($this->repositor
b2e00 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 ies.as.$repository).{..$packages
b2e20 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b [].=.$repository->getPackages();
b2e40 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 .}..return.$packages.?.call_user
b2e60 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b _func_array('array_merge',.$pack
b2e80 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ages).:.array();.}.....public.fu
b2ea0 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 nction.removePackage(PackageInte
b2ec0 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 rface.$package).{.foreach.($this
b2ee0 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b ->repositories.as.$repository).{
b2f00 0a 0a 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 ..$repository->removePackage($pa
b2f20 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ckage);.}.}.....public.function.
b2f40 63 6f 75 6e 74 28 29 0a 7b 0a 24 74 6f 74 61 6c 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 count().{.$total.=.0;.foreach.($
b2f60 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 this->repositories.as.$repositor
b2f80 79 29 20 7b 0a 0a 24 74 6f 74 61 6c 20 2b 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 63 6f 75 y).{..$total.+=.$repository->cou
b2fa0 6e 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 74 61 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 nt();.}..return.$total;.}......p
b2fc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 ublic.function.addRepository(Rep
b2fe0 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a ositoryInterface.$repository).{.
b3000 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 if.($repository.instanceof.self)
b3020 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f .{.foreach.($repository->getRepo
b3040 73 69 74 6f 72 69 65 73 28 29 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 sitories().as.$repo).{.$this->ad
b3060 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 dRepository($repo);.}.}.else.{.$
b3080 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f this->repositories[].=.$reposito
b30a0 72 79 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ry;.}.}.}.<?php............names
b30c0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a pace.Composer\Repository;.......
b30e0 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 interface.ConfigurableRepository
b3100 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 Interface.{.public.function.getR
b3120 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a epoConfig();.}.<?php............
b3140 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
b3160 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 use.Composer\Json\JsonFile;.use.
b3180 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 Composer\Package\Loader\ArrayLoa
b31a0 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 der;.use.Composer\Package\Dumper
b31c0 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 \ArrayDumper;........class.Files
b31e0 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 ystemRepository.extends.Writable
b3200 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b ArrayRepository.{.private.$file;
b3220 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
b3240 63 74 28 4a 73 6f 6e 46 69 6c 65 20 24 72 65 70 6f 73 69 74 6f 72 79 46 69 6c 65 29 0a 7b 0a 70 ct(JsonFile.$repositoryFile).{.p
b3260 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c arent::__construct();.$this->fil
b3280 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 e.=.$repositoryFile;.}.....prote
b32a0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 cted.function.initialize().{.par
b32c0 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e ent::initialize();..if.(!$this->
b32e0 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 74 72 79 file->exists()).{.return;.}..try
b3300 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 .{.$packages.=.$this->file->read
b3320 28 29 3b 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b ();..if.(!is_array($packages)).{
b3340 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 .throw.new.\UnexpectedValueExcep
b3360 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 70 61 63 6b 61 67 65 20 6c 69 tion('Could.not.parse.package.li
b3380 73 74 20 66 72 6f 6d 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 7d 20 63 61 st.from.the.repository');.}.}.ca
b33a0 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 tch.(\Exception.$e).{.throw.new.
b33c0 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 InvalidRepositoryException('Inva
b33e0 6c 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 64 61 74 61 20 69 6e 20 27 2e 24 74 68 69 73 2d 3e lid.repository.data.in.'.$this->
b3400 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2e 27 2c 20 70 61 63 6b 61 67 65 73 20 63 6f 75 6c file->getPath().',.packages.coul
b3420 64 20 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 d.not.be.loaded:.['.get_class($e
b3440 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 24 6c 6f ).'].'.$e->getMessage());.}..$lo
b3460 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 ader.=.new.ArrayLoader(null,.tru
b3480 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 e);.foreach.($packages.as.$packa
b34a0 67 65 44 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f geData).{.$package.=.$loader->lo
b34c0 61 64 28 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b ad($packageData);.$this->addPack
b34e0 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 age($package);.}.}..public.funct
b3500 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d ion.reload().{.$this->packages.=
b3520 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a .null;.$this->initialize();.}...
b3540 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 24 64 61 74 ..public.function.write().{.$dat
b3560 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 a.=.array();.$dumper.=.new.Array
b3580 44 75 6d 70 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 43 61 Dumper();..foreach.($this->getCa
b35a0 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b nonicalPackages().as.$package).{
b35c0 0a 24 64 61 74 61 5b 5d 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 .$data[].=.$dumper->dump($packag
b35e0 65 29 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 64 61 74 61 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 e);.}..usort($data,.function.($a
b3600 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 5b 27 6e 61 6d 65 27 5d ,.$b).{.return.strcmp($a['name']
b3620 2c 20 24 62 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 2d ,.$b['name']);.});..$this->file-
b3640 3e 77 72 69 74 65 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a >write($data);.}.}.<?php........
b3660 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b3680 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 y;.........class.InstalledArrayR
b36a0 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 epository.extends.WritableArrayR
b36c0 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 64 52 65 epository.implements.InstalledRe
b36e0 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a positoryInterface.{.}.<?php.....
b3700 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 .......namespace.Composer\Reposi
b3720 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 tory;.......class.InstalledFiles
b3740 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 46 69 6c 65 73 79 73 74 ystemRepository.extends.Filesyst
b3760 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 emRepository.implements.Installe
b3780 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a dRepositoryInterface.{.}.<?php..
b37a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ..........namespace.Composer\Rep
b37c0 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 73 74 61 ository;.........interface.Insta
b37e0 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 lledRepositoryInterface.extends.
b3800 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a WritableRepositoryInterface.{.}.
b3820 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
b3840 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 ser\Repository;.......class.Inva
b3860 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c lidRepositoryException.extends.\
b3880 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e Exception.{.}.<?php............n
b38a0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 amespace.Composer\Repository;..u
b38c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 se.Composer\Package\Loader\Array
b38e0 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 Loader;.use.Composer\Package\Loa
b3900 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a der\ValidatingArrayLoader;......
b3920 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 .class.PackageRepository.extends
b3940 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 .ArrayRepository.{.private.$conf
b3960 69 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 ig;.......public.function.__cons
b3980 74 72 75 63 74 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f truct(array.$config).{.parent::_
b39a0 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 _construct();.$this->config.=.$c
b39c0 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 6e 75 6d onfig['package'];....if.(!is_num
b39e0 65 72 69 63 28 6b 65 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 29 29 20 7b 0a 24 74 68 69 eric(key($this->config))).{.$thi
b3a00 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 s->config.=.array($this->config)
b3a20 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 ;.}.}.....protected.function.ini
b3a40 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 tialize().{.parent::initialize()
b3a60 3b 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 ;..$loader.=.new.ValidatingArray
b3a80 4c 6f 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 Loader(new.ArrayLoader(null,.tru
b3aa0 65 29 2c 20 66 61 6c 73 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 e),.false);.foreach.($this->conf
b3ac0 69 67 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 74 72 79 20 7b 0a 24 70 61 63 6b 61 67 65 ig.as.$package).{.try.{.$package
b3ae0 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 .=.$loader->load($package);.}.ca
b3b00 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 tch.(\Exception.$e).{.throw.new.
b3b20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 27 41 20 72 65 InvalidRepositoryException('A.re
b3b40 70 6f 73 69 74 6f 72 79 20 6f 66 20 74 79 70 65 20 22 70 61 63 6b 61 67 65 22 20 63 6f 6e 74 61 pository.of.type."package".conta
b3b60 69 6e 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f ins.an.invalid.package.definitio
b3b80 6e 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 22 5c 6e 5c 6e 49 6e 76 61 6c n:.'.$e->getMessage()."\n\nInval
b3ba0 69 64 20 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 3a 5c 6e 22 2e 6a 73 6f 6e 5f 65 id.package.definition:\n".json_e
b3bc0 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 ncode($package));.}..$this->addP
b3be0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ackage($package);.}.}.}.<?php...
b3c00 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
b3c20 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 sitory;..use.Composer\Config;.us
b3c40 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 e.Composer\IO\IOInterface;.use.C
b3c60 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Json\JsonFile;.use.Compo
b3c80 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a ser\Package\Loader\ArrayLoader;.
b3ca0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 use.Composer\Package\Version\Ver
b3cc0 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 sionGuesser;.use.Composer\Packag
b3ce0 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d e\Version\VersionParser;.use.Com
b3d00 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 poser\Util\Platform;.use.Compose
b3d20 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a r\Util\ProcessExecutor;.........
b3d40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 ............................clas
b3d60 73 20 50 61 74 68 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 s.PathRepository.extends.ArrayRe
b3d80 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 pository.implements.Configurable
b3da0 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 RepositoryInterface.{....private
b3dc0 20 24 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 47 75 .$loader;.....private.$versionGu
b3de0 65 73 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 72 6c 3b 0a 0a 0a 0a 0a 70 72 69 esser;.....private.$url;.....pri
b3e00 76 61 74 65 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 vate.$repoConfig;.....private.$p
b3e20 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a rocess;.....private.$options;...
b3e40 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
b3e60 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 t(array.$repoConfig,.IOInterface
b3e80 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 28 21 69 73 73 .$io,.Config.$config).{.if.(!iss
b3ea0 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 et($repoConfig['url'])).{.throw.
b3ec0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 new.\RuntimeException('You.must.
b3ee0 73 70 65 63 69 66 79 20 74 68 65 20 60 75 72 6c 60 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 specify.the.`url`.configuration.
b3f00 66 6f 72 20 74 68 65 20 70 61 74 68 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 0a 24 74 for.the.path.repository');.}..$t
b3f20 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 his->loader.=.new.ArrayLoader(nu
b3f40 6c 6c 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 50 6c 61 74 66 6f 72 6d ll,.true);.$this->url.=.Platform
b3f60 3a 3a 65 78 70 61 6e 64 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 ::expandPath($repoConfig['url'])
b3f80 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 ;.$this->process.=.new.ProcessEx
b3fa0 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 ecutor($io);.$this->versionGuess
b3fc0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e 66 69 67 2c er.=.new.VersionGuesser($config,
b3fe0 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 .$this->process,.new.VersionPars
b4000 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f er());.$this->repoConfig.=.$repo
b4020 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 Config;.$this->options.=.isset($
b4040 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f repoConfig['options']).?.$repoCo
b4060 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 70 61 72 65 nfig['options'].:.array();..pare
b4080 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e nt::__construct();.}..public.fun
b40a0 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.getRepoConfig().{.return.$
b40c0 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 this->repoConfig;.}.......protec
b40e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 ted.function.initialize().{.pare
b4100 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 nt::initialize();..foreach.($thi
b4120 73 2d 3e 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 20 61 73 20 24 75 72 6c 29 20 7b 0a 24 70 s->getUrlMatches().as.$url).{.$p
b4140 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 20 2e 20 44 49 52 45 43 54 4f 52 59 ath.=.realpath($url)...DIRECTORY
b4160 5f 53 45 50 41 52 41 54 4f 52 3b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 20 3d 20 _SEPARATOR;.$composerFilePath.=.
b4180 24 70 61 74 68 2e 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 0a 69 66 20 28 21 66 69 6c $path.'composer.json';..if.(!fil
b41a0 65 5f 65 78 69 73 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 29 20 7b 0a 63 e_exists($composerFilePath)).{.c
b41c0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e ontinue;.}..$json.=.file_get_con
b41e0 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 70 61 63 6b 61 tents($composerFilePath);.$packa
b4200 67 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 ge.=.JsonFile::parseJson($json,.
b4220 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 $composerFilePath);.$package['di
b4240 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 70 61 74 68 27 2c 0a st'].=.array(.'type'.=>.'path',.
b4260 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 73 68 'url'.=>.$url,.'reference'.=>.sh
b4280 61 31 28 24 6a 73 6f 6e 20 2e 20 73 65 72 69 61 6c 69 7a 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 a1($json...serialize($this->opti
b42a0 6f 6e 73 29 29 2c 0a 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 ons)),.);.$package['transport-op
b42c0 74 69 6f 6e 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 20 69 66 20 tions'].=.$this->options;....if.
b42e0 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 26 26 20 (!isset($package['version']).&&.
b4300 28 24 72 6f 6f 74 56 65 72 73 69 6f 6e 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 ($rootVersion.=.getenv('COMPOSER
b4320 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 29 29 29 20 7b 0a 69 66 20 28 0a 30 20 3d 3d 3d 20 24 _ROOT_VERSION'))).{.if.(.0.===.$
b4340 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d this->process->execute('git.rev-
b4360 70 61 72 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 31 2c 20 24 70 61 74 68 29 0a 26 26 20 30 20 parse.HEAD',.$ref1,.$path).&&.0.
b4380 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 ===.$this->process->execute('git
b43a0 20 72 65 76 2d 70 61 72 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 32 29 0a 26 26 20 24 72 65 66 .rev-parse.HEAD',.$ref2).&&.$ref
b43c0 31 20 3d 3d 3d 20 24 72 65 66 32 0a 29 20 7b 0a 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 1.===.$ref2.).{.$package['versio
b43e0 6e 27 5d 20 3d 20 24 72 6f 6f 74 56 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 n'].=.$rootVersion;.}.}..if.(!is
b4400 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 76 65 72 set($package['version'])).{.$ver
b4420 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 sionData.=.$this->versionGuesser
b4440 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b ->guessVersion($package,.$path);
b4460 0a 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 .$package['version'].=.$versionD
b4480 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 27 64 65 76 2d 6d 61 ata['pretty_version'].?:.'dev-ma
b44a0 73 74 65 72 27 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 69 66 20 28 69 73 5f 64 ster';.}..$output.=.'';.if.(is_d
b44c0 69 72 28 24 70 61 74 68 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e ir($path...DIRECTORY_SEPARATOR..
b44e0 20 27 2e 67 69 74 27 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 .'.git').&&.0.===.$this->process
b4500 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d ->execute('git.log.-n1.--pretty=
b4520 25 48 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 %H',.$output,.$path)).{.$package
b4540 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 74 72 69 6d 28 24 6f 75 ['dist']['reference'].=.trim($ou
b4560 74 70 75 74 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 tput);.}.$package.=.$this->loade
b4580 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 r->load($package);.$this->addPac
b45a0 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 kage($package);.}.}.......privat
b45c0 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 0a 7b 0a 24 66 6c e.function.getUrlMatches().{.$fl
b45e0 61 67 73 20 3d 20 47 4c 4f 42 5f 4d 41 52 4b 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 3b 0a ags.=.GLOB_MARK.|.GLOB_ONLYDIR;.
b4600 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 29 20 7b 0a 24 66 .if.(defined('GLOB_BRACE')).{.$f
b4620 6c 61 67 73 20 7c 3d 20 47 4c 4f 42 5f 42 52 41 43 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 lags.|=.GLOB_BRACE;.}.elseif.(st
b4640 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7b 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 rpos($this->url,.'{').!==.false.
b4660 7c 7c 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7d 27 29 20 21 3d 3d 20 66 ||.strpos($this->url,.'}').!==.f
b4680 61 6c 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 alse).{.throw.new.\RuntimeExcept
b46a0 69 6f 6e 28 27 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 65 73 20 6e ion('The.operating.system.does.n
b46c0 6f 74 20 73 75 70 70 6f 72 74 20 47 4c 4f 42 5f 42 52 41 43 45 20 77 68 69 63 68 20 69 73 20 72 ot.support.GLOB_BRACE.which.is.r
b46e0 65 71 75 69 72 65 64 20 66 6f 72 20 74 68 65 20 75 72 6c 20 27 2e 20 24 74 68 69 73 2d 3e 75 72 equired.for.the.url.'..$this->ur
b4700 6c 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 l);.}....return.array_map(functi
b4720 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 5f 72 65 70 on.($val).{.return.rtrim(str_rep
b4740 6c 61 63 65 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 27 2f 27 2c 20 24 lace(DIRECTORY_SEPARATOR,.'/',.$
b4760 76 61 6c 29 2c 20 27 2f 27 29 3b 0a 7d 2c 20 67 6c 6f 62 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 val),.'/');.},.glob($this->url,.
b4780 24 66 6c 61 67 73 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e $flags));.}.}.<?php............n
b47a0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 amespace.Composer\Repository\Pea
b47c0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 r;..use.Composer\Util\RemoteFile
b47e0 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 system;.........abstract.class.B
b4800 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 43 48 41 4e aseChannelReader.{....const.CHAN
b4820 4e 45 4c 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 63 68 NEL_NS.=.'http://pear.php.net/ch
b4840 61 6e 6e 65 6c 2d 31 2e 30 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 53 annel-1.0';.const.ALL_CATEGORIES
b4860 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 _NS.=.'http://pear.php.net/dtd/r
b4880 65 73 74 2e 61 6c 6c 63 61 74 65 67 6f 72 69 65 73 27 3b 0a 63 6f 6e 73 74 20 43 41 54 45 47 4f est.allcategories';.const.CATEGO
b48a0 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 RY_PACKAGES_INFO_NS.=.'http://pe
b48c0 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 63 61 74 65 67 6f 72 79 70 61 63 6b ar.php.net/dtd/rest.categorypack
b48e0 61 67 65 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 50 41 43 4b 41 47 45 53 5f 4e 53 20 ageinfo';.const.ALL_PACKAGES_NS.
b4900 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e =.'http://pear.php.net/dtd/rest.
b4920 61 6c 6c 70 61 63 6b 61 67 65 73 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 52 45 4c 45 41 53 45 53 allpackages';.const.ALL_RELEASES
b4940 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 _NS.=.'http://pear.php.net/dtd/r
b4960 65 73 74 2e 61 6c 6c 72 65 6c 65 61 73 65 73 27 3b 0a 63 6f 6e 73 74 20 50 41 43 4b 41 47 45 5f est.allreleases';.const.PACKAGE_
b4980 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 INFO_NS.=.'http://pear.php.net/d
b49a0 74 64 2f 72 65 73 74 2e 70 61 63 6b 61 67 65 27 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 66 73 td/rest.package';...private.$rfs
b49c0 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ;..protected.function.__construc
b49e0 74 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 t(RemoteFilesystem.$rfs).{.$this
b4a00 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ->rfs.=.$rfs;.}..........protect
b4a20 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 6f 72 69 67 ed.function.requestContent($orig
b4a40 69 6e 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 3d 20 72 74 72 69 6d 28 24 6f 72 69 67 69 in,.$path).{.$url.=.rtrim($origi
b4a60 6e 2c 20 27 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 24 70 61 74 68 2c 20 27 2f 27 n,.'/')...'/'...ltrim($path,.'/'
b4a80 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e );.$content.=.$this->rfs->getCon
b4aa0 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 tents($origin,.$url,.false);.if.
b4ac0 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 (!$content).{.throw.new.\Unexpec
b4ae0 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 45 41 52 20 63 68 61 6e tedValueException('The.PEAR.chan
b4b00 6e 65 6c 20 61 74 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 64 69 64 20 6e 6f 74 20 72 65 73 70 nel.at.'...$url...'.did.not.resp
b4b20 6f 6e 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 ond.');.}..return.str_replace('h
b4b40 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 27 68 74 74 70 ttp://pear.php.net/rest/',.'http
b4b60 73 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 24 63 6f 6e 74 65 6e s://pear.php.net/rest/',.$conten
b4b80 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f t);.}..........protected.functio
b4ba0 6e 20 72 65 71 75 65 73 74 58 6d 6c 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 29 0a 7b 0a 0a n.requestXml($origin,.$path).{..
b4bc0 20 24 78 6d 6c 20 3d 20 73 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 6e 67 28 24 74 .$xml.=.simplexml_load_string($t
b4be0 68 69 73 2d 3e 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 his->requestContent($origin,.$pa
b4c00 74 68 29 2c 20 22 53 69 6d 70 6c 65 58 4d 4c 45 6c 65 6d 65 6e 74 22 2c 20 4c 49 42 58 4d 4c 5f th),."SimpleXMLElement",.LIBXML_
b4c20 4e 4f 45 52 52 4f 52 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 78 6d 6c 29 20 7b NOERROR);..if.(false.===.$xml).{
b4c40 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 .throw.new.\UnexpectedValueExcep
b4c60 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 50 45 41 52 20 63 68 61 6e 6e 65 6c 20 61 tion(sprintf('The.PEAR.channel.a
b4c80 74 20 27 20 2e 20 24 6f 72 69 67 69 6e 20 2e 20 27 20 69 73 20 62 72 6f 6b 65 6e 2e 20 28 49 6e t.'...$origin...'.is.broken..(In
b4ca0 76 61 6c 69 64 20 58 4d 4c 20 61 74 20 66 69 6c 65 20 60 25 73 60 29 27 2c 20 24 70 61 74 68 29 valid.XML.at.file.`%s`)',.$path)
b4cc0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 78 6d 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a );.}..return.$xml;.}.}.<?php....
b4ce0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ........namespace.Composer\Repos
b4d00 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e 65 6c 49 itory\Pear;.......class.ChannelI
b4d20 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 61 6c nfo.{.private.$name;.private.$al
b4d40 69 61 73 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 0a 0a 0a 0a 0a 70 75 ias;.private.$packages;.......pu
b4d60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c blic.function.__construct($name,
b4d80 20 24 61 6c 69 61 73 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 74 68 69 .$alias,.array.$packages).{.$thi
b4da0 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 20 3d 20 s->name.=.$name;.$this->alias.=.
b4dc0 24 61 6c 69 61 73 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 24 70 61 63 6b 61 $alias;.$this->packages.=.$packa
b4de0 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ges;.}.......public.function.get
b4e00 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a Name().{.return.$this->name;.}..
b4e20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 28 29 0a .....public.function.getAlias().
b4e40 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 {.return.$this->alias;.}.......p
b4e60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 72 ublic.function.getPackages().{.r
b4e80 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 eturn.$this->packages;.}.}.<?php
b4ea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ............namespace.Composer\R
b4ec0 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 epository\Pear;..use.Composer\Ut
b4ee0 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 il\RemoteFilesystem;.........cla
b4f00 73 73 20 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 ss.ChannelReader.extends.BaseCha
b4f20 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 65 72 4d 61 70 nnelReader.{..private.$readerMap
b4f40 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 ;..public.function.__construct(R
b4f60 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a emoteFilesystem.$rfs).{.parent::
b4f80 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 72 65 73 74 31 30 72 65 61 64 65 __construct($rfs);..$rest10reade
b4fa0 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 28 24 72 66 73 r.=.new.ChannelRest10Reader($rfs
b4fc0 29 3b 0a 24 72 65 73 74 31 31 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 );.$rest11reader.=.new.ChannelRe
b4fe0 73 74 31 31 52 65 61 64 65 72 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 61 64 65 72 st11Reader($rfs);..$this->reader
b5000 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 27 52 45 53 54 31 2e 33 27 20 3d 3e 20 24 72 65 73 74 31 Map.=.array(.'REST1.3'.=>.$rest1
b5020 31 72 65 61 64 65 72 2c 0a 27 52 45 53 54 31 2e 32 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 61 1reader,.'REST1.2'.=>.$rest11rea
b5040 64 65 72 2c 0a 27 52 45 53 54 31 2e 31 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 61 64 65 72 2c der,.'REST1.1'.=>.$rest11reader,
b5060 0a 27 52 45 53 54 31 2e 30 27 20 3d 3e 20 24 72 65 73 74 31 30 72 65 61 64 65 72 2c 0a 29 3b 0a .'REST1.0'.=>.$rest10reader,.);.
b5080 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 }.........public.function.read($
b50a0 75 72 6c 29 0a 7b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 url).{.$xml.=.$this->requestXml(
b50c0 24 75 72 6c 2c 20 22 2f 63 68 61 6e 6e 65 6c 2e 78 6d 6c 22 29 3b 0a 0a 24 63 68 61 6e 6e 65 6c $url,."/channel.xml");..$channel
b50e0 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 61 6d 65 3b 0a 24 63 68 61 Name.=.(string).$xml->name;.$cha
b5100 6e 6e 65 6c 41 6c 69 61 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 75 67 67 65 nnelAlias.=.(string).$xml->sugge
b5120 73 74 65 64 61 6c 69 61 73 3b 0a 0a 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 20 3d stedalias;..$supportedVersions.=
b5140 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 29 3b 0a 24 .array_keys($this->readerMap);.$
b5160 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c selectedRestVersion.=.$this->sel
b5180 65 63 74 52 65 73 74 56 65 72 73 69 6f 6e 28 24 78 6d 6c 2c 20 24 73 75 70 70 6f 72 74 65 64 56 ectRestVersion($xml,.$supportedV
b51a0 65 72 73 69 6f 6e 73 29 3b 0a 69 66 20 28 21 24 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 ersions);.if.(!$selectedRestVers
b51c0 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 ion).{.throw.new.\UnexpectedValu
b51e0 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 45 41 52 20 72 65 70 6f 73 69 74 eException(sprintf('PEAR.reposit
b5200 6f 72 79 20 25 73 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20 61 6e 79 20 6f 66 20 ory.%s.does.not.supports.any.of.
b5220 25 73 20 70 72 6f 74 6f 63 6f 6c 73 2e 27 2c 20 24 75 72 6c 2c 20 69 6d 70 6c 6f 64 65 28 27 2c %s.protocols.',.$url,.implode(',
b5240 20 27 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 29 29 3b 0a 7d 0a 0a 24 72 .',.$supportedVersions)));.}..$r
b5260 65 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 5b 24 73 65 6c 65 63 74 eader.=.$this->readerMap[$select
b5280 65 64 52 65 73 74 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 5d 3b 0a 24 70 61 63 6b edRestVersion['version']];.$pack
b52a0 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 73 20 3d 20 24 72 65 61 64 65 72 2d 3e 72 65 61 64 28 24 ageDefinitions.=.$reader->read($
b52c0 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 5b 27 62 61 73 65 55 72 6c 27 5d 29 3b selectedRestVersion['baseUrl']);
b52e0 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 43 68 61 6e 6e 65 6c 49 6e 66 6f 28 24 63 68 61 6e 6e 65 ..return.new.ChannelInfo($channe
b5300 6c 4e 61 6d 65 2c 20 24 63 68 61 6e 6e 65 6c 41 6c 69 61 73 2c 20 24 70 61 63 6b 61 67 65 44 65 lName,.$channelAlias,.$packageDe
b5320 66 69 6e 69 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 finitions);.}.........private.fu
b5340 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 52 65 73 74 56 65 72 73 69 6f 6e 28 24 63 68 61 6e 6e 65 nction.selectRestVersion($channe
b5360 6c 58 6d 6c 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 0a 7b 0a 24 63 68 61 lXml,.$supportedVersions).{.$cha
b5380 6e 6e 65 6c 58 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 nnelXml->registerXPathNamespace(
b53a0 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 48 41 4e 4e 45 4c 5f 4e 53 29 3b 0a 0a 66 6f 72 65 61 63 'ns',.self::CHANNEL_NS);..foreac
b53c0 68 20 28 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f h.($supportedVersions.as.$versio
b53e0 6e 29 20 7b 0a 24 78 70 61 74 68 54 65 73 74 20 3d 20 22 6e 73 3a 73 65 72 76 65 72 73 2f 6e 73 n).{.$xpathTest.=."ns:servers/ns
b5400 3a 2a 2f 6e 73 3a 72 65 73 74 2f 6e 73 3a 62 61 73 65 75 72 6c 5b 40 74 79 70 65 3d 27 7b 24 76 :*/ns:rest/ns:baseurl[@type='{$v
b5420 65 72 73 69 6f 6e 7d 27 5d 22 3b 0a 24 74 65 73 74 52 65 73 75 6c 74 20 3d 20 24 63 68 61 6e 6e ersion}']";.$testResult.=.$chann
b5440 65 6c 58 6d 6c 2d 3e 78 70 61 74 68 28 24 78 70 61 74 68 54 65 73 74 29 3b 0a 0a 66 6f 72 65 61 elXml->xpath($xpathTest);..forea
b5460 63 68 20 28 24 74 65 73 74 52 65 73 75 6c 74 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 20 ch.($testResult.as.$result).{...
b5480 24 72 65 73 75 6c 74 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 3b 0a 69 66 20 28 $result.=.(string).$result;.if.(
b54a0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3a 2f 2f 7d 69 27 2c 20 24 72 65 73 75 preg_match('{^https://}i',.$resu
b54c0 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e lt)).{.return.array('version'.=>
b54e0 20 24 76 65 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 24 72 65 73 75 6c 74 29 .$version,.'baseUrl'.=>.$result)
b5500 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 65 73 74 52 65 73 75 6c 74 29 20 ;.}.}....if.(count($testResult).
b5520 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e >.0).{.return.array('version'.=>
b5540 20 24 76 65 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 .$version,.'baseUrl'.=>.(string)
b5560 20 24 74 65 73 74 52 65 73 75 6c 74 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 .$testResult[0]);.}.}..return.nu
b5580 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ll;.}.}.<?php............namespa
b55a0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 75 73 ce.Composer\Repository\Pear;..us
b55c0 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 e.Composer\Downloader\TransportE
b55e0 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e xception;.............class.Chan
b5600 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 6e nelRest10Reader.extends.BaseChan
b5620 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 52 nelReader.{.private.$dependencyR
b5640 65 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 eader;..public.function.__constr
b5660 75 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 uct($rfs).{.parent::__construct(
b5680 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 $rfs);..$this->dependencyReader.
b56a0 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b =.new.PackageDependencyParser();
b56c0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 .}.........public.function.read(
b56e0 24 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 64 50 61 $baseUrl).{.return.$this->readPa
b5700 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ckages($baseUrl);.}.........priv
b5720 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 ate.function.readPackages($baseU
b5740 72 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 78 6d 6c 50 61 rl).{.$result.=.array();..$xmlPa
b5760 74 68 20 3d 20 27 2f 70 2f 70 61 63 6b 61 67 65 73 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 th.=.'/p/packages.xml';.$xml.=.$
b5780 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 this->requestXml($baseUrl,.$xmlP
b57a0 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 ath);.$xml->registerXPathNamespa
b57c0 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 50 41 43 4b 41 47 45 53 5f 4e 53 29 3b ce('ns',.self::ALL_PACKAGES_NS);
b57e0 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 27 29 20 61 73 .foreach.($xml->xpath('ns:p').as
b5800 20 24 6e 6f 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 .$node).{.$packageName.=.(string
b5820 29 20 24 6e 6f 64 65 3b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 72 ).$node;.$packageInfo.=.$this->r
b5840 65 61 64 50 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d eadPackage($baseUrl,.$packageNam
b5860 65 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 3b 0a 7d 0a e);.$result[].=.$packageInfo;.}.
b5880 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 .return.$result;.}..........priv
b58a0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 ate.function.readPackage($baseUr
b58c0 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 78 6d 6c 50 61 74 68 20 3d 20 27 2f l,.$packageName).{.$xmlPath.=.'/
b58e0 70 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 2e p/'...strtolower($packageName)..
b5900 20 27 2f 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 .'/info.xml';.$xml.=.$this->requ
b5920 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c estXml($baseUrl,.$xmlPath);.$xml
b5940 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 ->registerXPathNamespace('ns',.s
b5960 65 6c 66 3a 3a 50 41 43 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 0a 24 63 68 61 6e 6e 65 6c elf::PACKAGE_INFO_NS);..$channel
b5980 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 63 3b 0a 24 70 61 63 6b 61 67 Name.=.(string).$xml->c;.$packag
b59a0 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 3b 0a 24 6c 69 63 65 6e eName.=.(string).$xml->n;.$licen
b59c0 73 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6c 3b 0a 24 73 68 6f 72 74 44 65 73 se.=.(string).$xml->l;.$shortDes
b59e0 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 3b 0a 24 64 65 cription.=.(string).$xml->s;.$de
b5a00 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 64 3b 0a 0a 72 scription.=.(string).$xml->d;..r
b5a20 65 74 75 72 6e 20 6e 65 77 20 50 61 63 6b 61 67 65 49 6e 66 6f 28 0a 24 63 68 61 6e 6e 65 6c 4e eturn.new.PackageInfo(.$channelN
b5a40 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a 24 6c 69 63 65 6e 73 65 2c 0a 24 73 68 ame,.$packageName,.$license,.$sh
b5a60 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 74 ortDescription,.$description,.$t
b5a80 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 73 28 24 62 61 73 65 55 72 his->readPackageReleases($baseUr
b5aa0 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a l,.$packageName).);.}...........
b5ac0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 private.function.readPackageRele
b5ae0 61 73 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 ases($baseUrl,.$packageName).{.$
b5b00 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 78 6d 6c 50 61 74 result.=.array();..try.{.$xmlPat
b5b20 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e h.=.'/r/'...strtolower($packageN
b5b40 61 6d 65 29 20 2e 20 27 2f 61 6c 6c 72 65 6c 65 61 73 65 73 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 ame)...'/allreleases.xml';.$xml.
b5b60 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 =.$this->requestXml($baseUrl,.$x
b5b80 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 mlPath);.$xml->registerXPathName
b5ba0 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 52 45 4c 45 41 53 45 53 5f 4e space('ns',.self::ALL_RELEASES_N
b5bc0 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 72 27 29 S);.foreach.($xml->xpath('ns:r')
b5be0 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 20 3d 20 28 .as.$node).{.$releaseVersion.=.(
b5c00 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c string).$node->v;.$releaseStabil
b5c20 69 74 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 0a 74 72 79 20 7b 0a ity.=.(string).$node->s;..try.{.
b5c40 24 72 65 73 75 6c 74 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 52 $result[$releaseVersion].=.new.R
b5c60 65 6c 65 61 73 65 49 6e 66 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 2c 0a 24 eleaseInfo(.$releaseStability,.$
b5c80 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 70 65 6e 64 65 6e this->readPackageReleaseDependen
b5ca0 63 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 72 65 cies($baseUrl,.$packageName,.$re
b5cc0 6c 65 61 73 65 56 65 72 73 69 6f 6e 29 0a 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 leaseVersion).);.}.catch.(Transp
b5ce0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 ortException.$exception).{.if.($
b5d00 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 20 34 30 34 29 20 7b 0a 74 exception->getCode().!=.404).{.t
b5d20 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 hrow.$exception;.}.}.}.}.catch.(
b5d40 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b TransportException.$exception).{
b5d60 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 20 34 30 .if.($exception->getCode().!=.40
b5d80 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 4).{.throw.$exception;.}.}..retu
b5da0 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 rn.$result;.}...........private.
b5dc0 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 70 65 6e function.readPackageReleaseDepen
b5de0 64 65 6e 63 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 dencies($baseUrl,.$packageName,.
b5e00 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 3d 20 $version).{.$dependencyReader.=.
b5e20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b 0a 0a new.PackageDependencyParser();..
b5e40 24 64 65 70 74 68 50 61 74 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 $depthPath.=.'/r/'...strtolower(
b5e60 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 64 65 70 73 2e 27 20 2e 20 24 76 65 72 73 $packageName)...'/deps.'...$vers
b5e80 69 6f 6e 20 2e 20 27 2e 74 78 74 27 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e ion...'.txt';.$content.=.$this->
b5ea0 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 62 61 73 65 55 72 6c 2c 20 24 64 65 70 74 68 50 requestContent($baseUrl,.$depthP
b5ec0 61 74 68 29 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 6e 73 65 72 69 61 ath);.$dependencyArray.=.unseria
b5ee0 6c 69 7a 65 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 70 65 6e 64 65 lize($content);..return.$depende
b5f00 6e 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 ncyReader->buildDependencyInfo($
b5f20 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a dependencyArray);.}.}.<?php.....
b5f40 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 .......namespace.Composer\Reposi
b5f60 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e tory\Pear;...........class.Chann
b5f80 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 6e 6e elRest11Reader.extends.BaseChann
b5fa0 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 52 65 elReader.{.private.$dependencyRe
b5fc0 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 ader;..public.function.__constru
b5fe0 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ct($rfs).{.parent::__construct($
b6000 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 3d rfs);..$this->dependencyReader.=
b6020 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b 0a .new.PackageDependencyParser();.
b6040 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 }.........public.function.read($
b6060 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 64 43 68 61 baseUrl).{.return.$this->readCha
b6080 6e 6e 65 6c 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a nnelPackages($baseUrl);.}.......
b60a0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 68 61 6e 6e 65 6c 50 61 ..private.function.readChannelPa
b60c0 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 ckages($baseUrl).{.$result.=.arr
b60e0 61 79 28 29 3b 0a 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 ay();..$xml.=.$this->requestXml(
b6100 24 62 61 73 65 55 72 6c 2c 20 22 2f 63 2f 63 61 74 65 67 6f 72 69 65 73 2e 78 6d 6c 22 29 3b 0a $baseUrl,."/c/categories.xml");.
b6120 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 $xml->registerXPathNamespace('ns
b6140 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 53 5f 4e 53 29 3b 0a 66 6f 72 ',.self::ALL_CATEGORIES_NS);.for
b6160 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 63 27 29 20 61 73 20 24 6e 6f each.($xml->xpath('ns:c').as.$no
b6180 64 65 29 20 7b 0a 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 de).{.$categoryName.=.(string).$
b61a0 6e 6f 64 65 3b 0a 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d node;.$categoryPackages.=.$this-
b61c0 3e 72 65 61 64 43 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 2c 20 >readCategoryPackages($baseUrl,.
b61e0 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f $categoryName);.$result.=.array_
b6200 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 merge($result,.$categoryPackages
b6220 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a );.}..return.$result;.}.........
b6240 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 61 74 65 67 6f 72 79 50 61 .private.function.readCategoryPa
b6260 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 0a ckages($baseUrl,.$categoryName).
b6280 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 61 74 65 67 6f 72 79 50 {.$result.=.array();..$categoryP
b62a0 61 74 68 20 3d 20 27 2f 63 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 63 61 74 65 67 6f 72 79 4e ath.=.'/c/'.urlencode($categoryN
b62c0 61 6d 65 29 2e 27 2f 70 61 63 6b 61 67 65 73 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d ame).'/packagesinfo.xml';.$xml.=
b62e0 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 .$this->requestXml($baseUrl,.$ca
b6300 74 65 67 6f 72 79 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 tegoryPath);.$xml->registerXPath
b6320 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 41 54 45 47 4f 52 59 5f 50 Namespace('ns',.self::CATEGORY_P
b6340 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d ACKAGES_INFO_NS);.foreach.($xml-
b6360 3e 78 70 61 74 68 28 27 6e 73 3a 70 69 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 70 61 63 >xpath('ns:pi').as.$node).{.$pac
b6380 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 50 61 63 6b 61 67 65 28 24 kageInfo.=.$this->parsePackage($
b63a0 6e 6f 64 65 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 3b node);.$result[].=.$packageInfo;
b63c0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 .}..return.$result;.}........pri
b63e0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b vate.function.parsePackage($pack
b6400 61 67 65 49 6e 66 6f 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 72 65 67 69 73 74 65 ageInfo).{.$packageInfo->registe
b6420 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 41 54 45 rXPathNamespace('ns',.self::CATE
b6440 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 24 63 68 61 6e 6e 65 6c GORY_PACKAGES_INFO_NS);.$channel
b6460 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d Name.=.(string).$packageInfo->p-
b6480 3e 63 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 >c;.$packageName.=.(string).$pac
b64a0 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6e 3b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 28 73 74 72 69 kageInfo->p->n;.$license.=.(stri
b64c0 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6c 3b 0a 24 73 68 6f 72 74 44 65 ng).$packageInfo->p->l;.$shortDe
b64e0 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 scription.=.(string).$packageInf
b6500 6f 2d 3e 70 2d 3e 73 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 o->p->s;.$description.=.(string)
b6520 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 64 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 .$packageInfo->p->d;..$dependenc
b6540 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 ies.=.array();.foreach.($package
b6560 49 6e 66 6f 2d 3e 78 70 61 74 68 28 27 6e 73 3a 64 65 70 73 27 29 20 61 73 20 24 6e 6f 64 65 29 Info->xpath('ns:deps').as.$node)
b6580 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 .{.$dependencyVersion.=.(string)
b65a0 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 6e .$node->v;.$dependencyArray.=.un
b65c0 73 65 72 69 61 6c 69 7a 65 28 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 64 29 3b 0a 0a 24 serialize((string).$node->d);..$
b65e0 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e dependencyInfo.=.$this->dependen
b6600 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 64 cyReader->buildDependencyInfo($d
b6620 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b ependencyArray);..$dependencies[
b6640 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 5d 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 $dependencyVersion].=.$dependenc
b6660 79 49 6e 66 6f 3b 0a 7d 0a 0a 24 72 65 6c 65 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 yInfo;.}..$releases.=.array();.$
b6680 72 65 6c 65 61 73 65 73 49 6e 66 6f 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 78 70 61 releasesInfo.=.$packageInfo->xpa
b66a0 74 68 28 27 6e 73 3a 61 2f 6e 73 3a 72 27 29 3b 0a 69 66 20 28 24 72 65 6c 65 61 73 65 73 49 6e th('ns:a/ns:r');.if.($releasesIn
b66c0 66 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 73 49 6e 66 6f 20 61 73 20 fo).{.foreach.($releasesInfo.as.
b66e0 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 $node).{.$releaseVersion.=.(stri
b6700 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 20 ng).$node->v;.$releaseStability.
b6720 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 24 72 65 6c 65 61 73 65 73 5b 24 =.(string).$node->s;.$releases[$
b6740 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 52 65 6c 65 61 73 65 49 6e 66 releaseVersion].=.new.ReleaseInf
b6760 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 2c 0a 69 73 73 65 74 28 24 64 65 70 o(.$releaseStability,.isset($dep
b6780 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 29 20 3f 20 24 64 endencies[$releaseVersion]).?.$d
b67a0 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3a 20 6e ependencies[$releaseVersion].:.n
b67c0 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 ew.DependencyInfo(array(),.array
b67e0 28 29 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 61 63 6b 61 67 65 49 6e ()).);.}.}..return.new.PackageIn
b6800 66 6f 28 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a fo(.$channelName,.$packageName,.
b6820 24 6c 69 63 65 6e 73 65 2c 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 64 65 $license,.$shortDescription,.$de
b6840 73 63 72 69 70 74 69 6f 6e 2c 0a 24 72 65 6c 65 61 73 65 73 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 scription,.$releases.);.}.}.<?ph
b6860 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
b6880 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 Repository\Pear;.......class.Dep
b68a0 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 79 70 endencyConstraint.{.private.$typ
b68c0 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 70 72 69 76 61 74 65 20 e;.private.$constraint;.private.
b68e0 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 $channelName;.private.$packageNa
b6900 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e me;........public.function.__con
b6920 73 74 72 75 63 74 28 24 74 79 70 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 63 68 61 6e struct($type,.$constraint,.$chan
b6940 6e 65 6c 4e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e nelName,.$packageName).{.$this->
b6960 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 20 type.=.$type;.$this->constraint.
b6980 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d =.$constraint;.$this->channelNam
b69a0 65 20 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 e.=.$channelName;.$this->package
b69c0 4e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 Name.=.$packageName;.}..public.f
b69e0 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 unction.getChannelName().{.retur
b6a00 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 n.$this->channelName;.}..public.
b6a20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a 72 65 74 75 72 function.getConstraint().{.retur
b6a40 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 n.$this->constraint;.}..public.f
b6a60 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 unction.getPackageName().{.retur
b6a80 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 n.$this->packageName;.}..public.
b6aa0 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 function.getType().{.return.$thi
b6ac0 73 2d 3e 74 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 s->type;.}.}.<?php............na
b6ae0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 mespace.Composer\Repository\Pear
b6b00 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 0a 7b 0a 70 ;.......class.DependencyInfo.{.p
b6b20 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 73 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f rivate.$requires;.private.$optio
b6b40 6e 61 6c 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e nals;......public.function.__con
b6b60 73 74 72 75 63 74 28 24 72 65 71 75 69 72 65 73 2c 20 24 6f 70 74 69 6f 6e 61 6c 73 29 0a 7b 0a struct($requires,.$optionals).{.
b6b80 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 72 65 73 3b 0a 24 74 68 $this->requires.=.$requires;.$th
b6ba0 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 24 6f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 0a 0a is->optionals.=.$optionals;.}...
b6bc0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a ..public.function.getRequires().
b6be0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a {.return.$this->requires;.}.....
b6c00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 61 6c 73 28 29 0a 7b public.function.getOptionals().{
b6c20 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 7d 0a 3c 3f .return.$this->optionals;.}.}.<?
b6c40 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
b6c60 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 r\Repository\Pear;.......class.P
b6c80 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 ackageDependencyParser.{.......p
b6ca0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e ublic.function.buildDependencyIn
b6cc0 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 fo($depArray).{.if.(!is_array($d
b6ce0 65 70 41 72 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 epArray)).{.return.new.Dependenc
b6d00 79 49 6e 66 6f 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 69 66 20 28 21 yInfo(array(),.array());.}.if.(!
b6d20 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 41 72 72 61 79 29 29 20 7b 0a 72 65 74 75 $this->isHash($depArray)).{.retu
b6d40 72 6e 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 74 68 69 73 2d 3e 62 75 69 rn.new.DependencyInfo($this->bui
b6d60 6c 64 44 65 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 2c 20 61 ldDependency10Info($depArray),.a
b6d80 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 rray());.}..return.$this->buildD
b6da0 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 3b 0a 7d 0a 0a 0a ependency20Info($depArray);.}...
b6dc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c ...........private.function.buil
b6de0 64 44 65 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 73 dDependency10Info($depArray).{.s
b6e00 74 61 74 69 63 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 20 3d 20 61 72 72 61 tatic.$dep10toOperatorMap.=.arra
b6e20 79 28 27 68 61 73 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 65 71 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 y('has'.=>.'==',.'eq'.=>.'==',.'
b6e40 67 65 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 67 74 27 20 3d 3e 20 27 3e 27 2c 20 27 6c 65 27 20 3d ge'.=>.'>=',.'gt'.=>.'>',.'le'.=
b6e60 3e 20 27 3c 3d 27 2c 20 27 6c 74 27 20 3d 3e 20 27 3c 27 2c 20 27 6e 6f 74 27 20 3d 3e 20 27 21 >.'<=',.'lt'.=>.'<',.'not'.=>.'!
b6e80 3d 27 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 =');..$result.=.array();..foreac
b6ea0 68 20 28 24 64 65 70 41 72 72 61 79 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 69 66 20 28 h.($depArray.as.$depItem).{.if.(
b6ec0 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 7c 7c 20 21 61 72 72 61 79 empty($depItem['rel']).||.!array
b6ee0 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 2c 20 24 64 65 _key_exists($depItem['rel'],.$de
b6f00 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 29 20 7b 0a 0a 20 63 6f 6e 74 69 6e 75 65 3b p10toOperatorMap)).{...continue;
b6f20 0a 7d 0a 0a 24 64 65 70 54 79 70 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 .}..$depType.=.!empty($depItem['
b6f40 6f 70 74 69 6f 6e 61 6c 27 5d 29 20 26 26 20 27 79 65 73 27 20 3d 3d 20 24 64 65 70 49 74 65 6d optional']).&&.'yes'.==.$depItem
b6f60 5b 27 6f 70 74 69 6f 6e 61 6c 27 5d 0a 3f 20 27 6f 70 74 69 6f 6e 61 6c 27 0a 3a 20 27 72 65 71 ['optional'].?.'optional'.:.'req
b6f80 75 69 72 65 64 27 3b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 6e 6f 74 27 20 3d 3d 20 24 64 65 70 uired';.$depType.=.'not'.==.$dep
b6fa0 49 74 65 6d 5b 27 72 65 6c 27 5d 0a 3f 20 27 63 6f 6e 66 6c 69 63 74 73 27 0a 3a 20 24 64 65 70 Item['rel'].?.'conflicts'.:.$dep
b6fc0 54 79 70 65 3b 0a 0a 24 64 65 70 56 65 72 73 69 6f 6e 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 Type;..$depVersion.=.!empty($dep
b6fe0 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 Item['version']).?.$this->parseV
b7000 65 72 73 69 6f 6e 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3a 20 27 2a ersion($depItem['version']).:.'*
b7020 27 3b 0a 0a 0a 20 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 28 27 ';....$depVersionConstraint.=.('
b7040 68 61 73 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 20 7c 7c 20 27 6e 6f 74 27 has'.==.$depItem['rel'].||.'not'
b7060 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 26 26 20 27 2a 27 20 3d 3d 20 24 .==.$depItem['rel']).&&.'*'.==.$
b7080 64 65 70 56 65 72 73 69 6f 6e 0a 3f 20 27 2a 27 0a 3a 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 depVersion.?.'*'.:.$dep10toOpera
b70a0 74 6f 72 4d 61 70 5b 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 5d 20 2e 20 24 64 65 70 56 65 torMap[$depItem['rel']]...$depVe
b70c0 72 73 69 6f 6e 3b 0a 0a 73 77 69 74 63 68 20 28 24 64 65 70 49 74 65 6d 5b 27 74 79 70 65 27 5d rsion;..switch.($depItem['type']
b70e0 29 20 7b 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 ).{.case.'php':.$depChannelName.
b7100 3d 20 27 70 68 70 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 =.'php';.$depPackageName.=.'';.b
b7120 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 6b 67 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d reak;.case.'pkg':.$depChannelNam
b7140 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 29 20 e.=.!empty($depItem['channel']).
b7160 3f 20 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 3a 20 27 70 65 61 72 2e 70 68 ?.$depItem['channel'].:.'pear.ph
b7180 70 2e 6e 65 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 64 65 70 49 74 p.net';.$depPackageName.=.$depIt
b71a0 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 27 3a 0a 24 em['name'];.break;.case.'ext':.$
b71c0 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 65 78 74 27 3b 0a 24 64 65 70 50 61 63 6b depChannelName.=.'ext';.$depPack
b71e0 61 67 65 4e 61 6d 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 ageName.=.$depItem['name'];.brea
b7200 6b 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 73 61 70 69 27 3a 0a 24 64 65 70 43 k;.case.'os':.case.'sapi':.$depC
b7220 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 hannelName.=.'';.$depPackageName
b7240 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 64 65 70 43 68 61 6e 6e .=.'';.break;.default:.$depChann
b7260 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 elName.=.'';.$depPackageName.=.'
b7280 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 27 27 20 21 3d 20 24 64 65 70 43 68 61 6e 6e ';.break;.}..if.(''.!=.$depChann
b72a0 65 6c 4e 61 6d 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 elName).{.$result[].=.new.Depend
b72c0 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 64 65 70 56 65 encyConstraint(.$depType,.$depVe
b72e0 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 rsionConstraint,.$depChannelName
b7300 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ,.$depPackageName.);.}.}..return
b7320 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 .$result;.}........private.funct
b7340 69 6f 6e 20 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 65 70 41 72 ion.buildDependency20Info($depAr
b7360 72 61 79 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6f 70 74 69 6f ray).{.$result.=.array();.$optio
b7380 6e 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c nals.=.array();.$defaultOptional
b73a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 41 72 72 61 79 20 s.=.array();.foreach.($depArray.
b73c0 61 73 20 24 64 65 70 54 79 70 65 20 3d 3e 20 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 20 7b 0a as.$depType.=>.$depTypeGroup).{.
b73e0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 29 20 7b 0a if.(!is_array($depTypeGroup)).{.
b7400 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 72 65 71 75 69 72 65 64 27 20 3d 3d 20 24 64 continue;.}.if.('required'.==.$d
b7420 65 70 54 79 70 65 20 7c 7c 20 27 6f 70 74 69 6f 6e 61 6c 27 20 3d 3d 20 24 64 65 70 54 79 70 65 epType.||.'optional'.==.$depType
b7440 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 61 73 20 24 64 ).{.foreach.($depTypeGroup.as.$d
b7460 65 70 49 74 65 6d 54 79 70 65 20 3d 3e 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 73 77 69 74 63 68 epItemType.=>.$depItem).{.switch
b7480 20 28 24 64 65 70 49 74 65 6d 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 72 .($depItemType).{.case.'php':.$r
b74a0 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 esult[].=.new.DependencyConstrai
b74c0 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 nt(.$depType,.$this->parse20Vers
b74e0 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 24 64 65 70 49 74 65 6d 29 2c 0a 27 70 68 70 27 2c 0a ionConstraint($depItem),.'php',.
b7500 27 27 0a 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 61 63 6b 61 67 65 27 3a 0a 24 64 65 ''.);.break;.case.'package':.$de
b7520 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 ps.=.$this->buildDepPackageConst
b7540 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 3b 0a 24 72 65 73 raints($depItem,.$depType);.$res
b7560 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 65 70 73 ult.=.array_merge($result,.$deps
b7580 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 65 6e 73 69 6f 6e 27 3a 0a 24 64 65 70 );.break;.case.'extension':.$dep
b75a0 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 s.=.$this->buildDepExtensionCons
b75c0 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 3b 0a 24 72 65 traints($depItem,.$depType);.$re
b75e0 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 65 70 sult.=.array_merge($result,.$dep
b7600 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 75 62 70 61 63 6b 61 67 65 27 3a 0a 24 64 s);.break;.case.'subpackage':.$d
b7620 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 eps.=.$this->buildDepPackageCons
b7640 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 24 traints($depItem,.'replaces');.$
b7660 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 2b 3d 20 24 64 65 70 73 3b 0a 62 72 65 61 6b defaultOptionals.+=.$deps;.break
b7680 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 70 65 61 72 69 6e 73 74 61 6c 6c 65 72 ;.case.'os':.case.'pearinstaller
b76a0 27 3a 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 20 ':.break;.default:.break;.}.}.}.
b76c0 65 6c 73 65 69 66 20 28 27 67 72 6f 75 70 27 20 3d 3d 20 24 64 65 70 54 79 70 65 29 20 7b 0a 69 elseif.('group'.==.$depType).{.i
b76e0 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 29 f.($this->isHash($depTypeGroup))
b7700 20 7b 0a 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 3d 20 61 72 72 61 79 28 24 64 65 70 54 79 70 .{.$depTypeGroup.=.array($depTyp
b7720 65 47 72 6f 75 70 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 65 47 72 6f eGroup);.}..foreach.($depTypeGro
b7740 75 70 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 24 67 72 6f 75 70 4e 61 6d 65 20 3d 20 24 up.as.$depItem).{.$groupName.=.$
b7760 64 65 70 49 74 65 6d 5b 27 61 74 74 72 69 62 73 27 5d 5b 27 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 depItem['attribs']['name'];.if.(
b7780 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 29 29 20 !isset($optionals[$groupName])).
b77a0 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 {.$optionals[$groupName].=.array
b77c0 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 70 49 74 65 6d 5b 27 73 75 62 70 61 ();.}..if.(isset($depItem['subpa
b77e0 63 6b 61 67 65 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d ckage'])).{.$optionals[$groupNam
b7800 65 5d 20 2b 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 e].+=.$this->buildDepPackageCons
b7820 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 73 75 62 70 61 63 6b 61 67 65 27 5d 2c 20 traints($depItem['subpackage'],.
b7840 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 20 2b 3d 'replaces');.}.else.{.$result.+=
b7860 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e .$this->buildDepPackageConstrain
b7880 74 73 28 24 64 65 70 49 74 65 6d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 20 27 6f 70 74 69 6f 6e 61 ts($depItem['package'],.'optiona
b78a0 6c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 66 61 75 6c 74 l');.}.}.}.}..if.(count($default
b78c0 4f 70 74 69 6f 6e 61 6c 73 29 20 3e 20 30 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 27 2a 27 Optionals).>.0).{.$optionals['*'
b78e0 5d 20 3d 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e ].=.$defaultOptionals;.}..return
b7900 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6f 70 .new.DependencyInfo($result,.$op
b7920 74 69 6f 6e 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 tionals);.}.........private.func
b7940 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 tion.buildDepExtensionConstraint
b7960 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 s($depItem,.$depType).{.if.($thi
b7980 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 7b 0a 24 64 65 70 49 74 65 6d 20 s->isHash($depItem)).{.$depItem.
b79a0 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 =.array($depItem);.}..$result.=.
b79c0 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 49 74 65 6d 20 61 73 20 24 73 array();.foreach.($depItem.as.$s
b79e0 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 ubDepItem).{.$depChannelName.=.'
b7a00 65 78 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 ext';.$depPackageName.=.$subDepI
b7a20 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 tem['name'];.$depVersionConstrai
b7a40 6e 74 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 nt.=.$this->parse20VersionConstr
b7a60 61 69 6e 74 28 24 73 75 62 44 65 70 49 74 65 6d 29 3b 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 aint($subDepItem);..$result[].=.
b7a80 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 new.DependencyConstraint(.$depTy
b7aa0 70 65 2c 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 pe,.$depVersionConstraint,.$depC
b7ac0 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d hannelName,.$depPackageName.);.}
b7ae0 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ..return.$result;.}.........priv
b7b00 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 ate.function.buildDepPackageCons
b7b20 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 0a 7b 0a 69 66 traints($depItem,.$depType).{.if
b7b40 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 7b 0a 24 64 65 .($this->isHash($depItem)).{.$de
b7b60 70 49 74 65 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 pItem.=.array($depItem);.}..$res
b7b80 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 49 74 65 6d ult.=.array();.foreach.($depItem
b7ba0 20 61 73 20 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 .as.$subDepItem).{.if.(!array_ke
b7bc0 79 5f 65 78 69 73 74 73 28 27 63 68 61 6e 6e 65 6c 27 2c 20 24 73 75 62 44 65 70 49 74 65 6d 29 y_exists('channel',.$subDepItem)
b7be0 29 20 7b 0a 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 3d 20 24 73 75 ).{.$subDepItem['channel'].=.$su
b7c00 62 44 65 70 49 74 65 6d 5b 27 75 72 69 27 5d 3b 0a 7d 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 bDepItem['uri'];.}.$depChannelNa
b7c20 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 3b 0a 24 64 65 me.=.$subDepItem['channel'];.$de
b7c40 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 6e 61 6d 65 pPackageName.=.$subDepItem['name
b7c60 27 5d 3b 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 '];.$depVersionConstraint.=.$thi
b7c80 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 24 73 75 62 s->parse20VersionConstraint($sub
b7ca0 44 65 70 49 74 65 6d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 75 62 44 65 70 49 74 65 6d 5b DepItem);.if.(isset($subDepItem[
b7cc0 27 63 6f 6e 66 6c 69 63 74 73 27 5d 29 29 20 7b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 63 6f 6e 'conflicts'])).{.$depType.=.'con
b7ce0 66 6c 69 63 74 73 27 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 flicts';.}..$result[].=.new.Depe
b7d00 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 64 65 70 ndencyConstraint(.$depType,.$dep
b7d20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 VersionConstraint,.$depChannelNa
b7d40 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e me,.$depPackageName.);.}..return
b7d60 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 .$result;.}........private.funct
b7d80 69 6f 6e 20 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 61 72 72 ion.parse20VersionConstraint(arr
b7da0 61 79 20 24 64 61 74 61 29 0a 7b 0a 73 74 61 74 69 63 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 ay.$data).{.static.$dep20toOpera
b7dc0 74 6f 72 4d 61 70 20 3d 20 61 72 72 61 79 28 27 68 61 73 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 6d torMap.=.array('has'.=>.'==',.'m
b7de0 69 6e 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 6d 61 78 27 20 3d 3e 20 27 3c 3d 27 2c 20 27 65 78 63 in'.=>.'>=',.'max'.=>.'<=',.'exc
b7e00 6c 75 64 65 27 20 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 lude'.=>.'!=');..$versions.=.arr
b7e20 61 79 28 29 3b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f ay();.$values.=.array_intersect_
b7e40 6b 65 79 28 24 64 61 74 61 2c 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 3b key($data,.$dep20toOperatorMap);
b7e60 0a 69 66 20 28 30 20 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 .if.(0.==.count($values)).{.retu
b7e80 72 6e 20 27 2a 27 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 6d 69 6e rn.'*';.}.if.(isset($values['min
b7ea0 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 64 65 27 5d 29 ']).&&.isset($values['exclude'])
b7ec0 20 26 26 20 24 64 61 74 61 5b 27 6d 69 6e 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 65 78 63 6c 75 .&&.$data['min'].==.$data['exclu
b7ee0 64 65 27 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3e 27 20 2e 20 24 74 68 69 de']).{.$versions[].=.'>'...$thi
b7f00 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 69 6e 27 5d 29 3b s->parseVersion($values['min']);
b7f20 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 6d 61 78 27 5d 29 .}.elseif.(isset($values['max'])
b7f40 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 26 26 .&&.isset($values['exclude']).&&
b7f60 20 24 64 61 74 61 5b 27 6d 61 78 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 65 78 63 6c 75 64 65 27 .$data['max'].==.$data['exclude'
b7f80 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3c 27 20 2e 20 24 74 68 69 73 2d 3e ]).{.$versions[].=.'<'...$this->
b7fa0 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 61 78 27 5d 29 3b 0a 7d 20 parseVersion($values['max']);.}.
b7fc0 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 6f 70 20 3d else.{.foreach.($values.as.$op.=
b7fe0 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 27 65 78 63 6c 75 64 65 27 20 3d 3d 20 24 >.$version).{.if.('exclude'.==.$
b8000 6f 70 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 66 6f 72 65 op.&&.is_array($version)).{.fore
b8020 61 63 68 20 28 24 76 65 72 73 69 6f 6e 20 61 73 20 24 76 65 72 73 69 6f 6e 50 61 72 74 29 20 7b ach.($version.as.$versionPart).{
b8040 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d .$versions[].=.$dep20toOperatorM
b8060 61 70 5b 24 6f 70 5d 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 ap[$op]...$this->parseVersion($v
b8080 65 72 73 69 6f 6e 50 61 72 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e ersionPart);.}.}.else.{.$version
b80a0 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 6f 70 5d 20 2e s[].=.$dep20toOperatorMap[$op]..
b80c0 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 3b 0a .$this->parseVersion($version);.
b80e0 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2c 20 24 76 65 72 73 }.}.}..return.implode(',',.$vers
b8100 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ions);.}........private.function
b8120 20 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 66 20 28 70 72 .parseVersion($version).{.if.(pr
b8140 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 33 7d 29 28 5c 2e 5c 64 2b 29 3f 28 eg_match('{^v?(\d{1,3})(\.\d+)?(
b8160 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d \.\d+)?(\.\d+)?}i',.$version,.$m
b8180 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 atches)).{.$version.=.$matches[1
b81a0 5d 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 ]..(!empty($matches[2]).?.$match
b81c0 65 73 5b 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b es[2].:.'.0')..(!empty($matches[
b81e0 33 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 3]).?.$matches[3].:.'.0')..(!emp
b8200 74 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 3a 20 ty($matches[4]).?.$matches[4].:.
b8220 27 2e 30 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 '.0');..return.$version;.}..retu
b8240 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 rn.null;.}........private.functi
b8260 6f 6e 20 69 73 48 61 73 68 28 61 72 72 61 79 20 24 61 72 72 61 79 29 0a 7b 0a 72 65 74 75 72 6e on.isHash(array.$array).{.return
b8280 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 24 61 72 72 61 79 29 20 26 26 .!array_key_exists(1,.$array).&&
b82a0 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 61 72 72 61 79 29 3b 0a 7d .!array_key_exists(0,.$array);.}
b82c0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
b82e0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c mposer\Repository\Pear;.......cl
b8300 61 73 73 20 50 61 63 6b 61 67 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 6e ass.PackageInfo.{.private.$chann
b8320 65 6c 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 70 72 elName;.private.$packageName;.pr
b8340 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 44 65 ivate.$license;.private.$shortDe
b8360 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b scription;.private.$description;
b8380 0a 70 72 69 76 61 74 65 20 24 72 65 6c 65 61 73 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .private.$releases;..........pub
b83a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 68 61 6e 6e 65 lic.function.__construct($channe
b83c0 6c 4e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6c 69 63 65 6e 73 65 2c 20 24 lName,.$packageName,.$license,.$
b83e0 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 shortDescription,.$description,.
b8400 24 72 65 6c 65 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 20 $releases).{.$this->channelName.
b8420 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 =.$channelName;.$this->packageNa
b8440 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 me.=.$packageName;.$this->licens
b8460 65 20 3d 20 24 6c 69 63 65 6e 73 65 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 44 65 73 63 72 69 e.=.$license;.$this->shortDescri
b8480 70 74 69 6f 6e 20 3d 20 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 69 73 ption.=.$shortDescription;.$this
b84a0 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 ->description.=.$description;.$t
b84c0 68 69 73 2d 3e 72 65 6c 65 61 73 65 73 20 3d 20 24 72 65 6c 65 61 73 65 73 3b 0a 7d 0a 0a 0a 0a his->releases.=.$releases;.}....
b84e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 .public.function.getChannelName(
b8500 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 7d ).{.return.$this->channelName;.}
b8520 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4e .....public.function.getPackageN
b8540 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d ame().{.return.$this->packageNam
b8560 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 e;.}.....public.function.getDesc
b8580 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 ription().{.return.$this->descri
b85a0 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ption;.}.....public.function.get
b85c0 53 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ShortDescription().{.return.$thi
b85e0 73 2d 3e 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 s->shortDescription;.}.....publi
b8600 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getLicense().{.return
b8620 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .$this->license;.}.....public.fu
b8640 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.getReleases().{.return.$t
b8660 68 69 73 2d 3e 72 65 6c 65 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a his->releases;.}.}.<?php........
b8680 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b86a0 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6c 65 61 73 65 49 6e 66 6f 0a y\Pear;.......class.ReleaseInfo.
b86c0 7b 0a 70 72 69 76 61 74 65 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 64 {.private.$stability;.private.$d
b86e0 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ependencyInfo;......public.funct
b8700 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 74 61 62 69 6c 69 74 79 2c 20 24 64 65 70 ion.__construct($stability,.$dep
b8720 65 6e 64 65 6e 63 79 49 6e 66 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 endencyInfo).{.$this->stability.
b8740 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 49 =.$stability;.$this->dependencyI
b8760 6e 66 6f 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 nfo.=.$dependencyInfo;.}.....pub
b8780 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 lic.function.getDependencyInfo()
b87a0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b .{.return.$this->dependencyInfo;
b87c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c .}.....public.function.getStabil
b87e0 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b ity().{.return.$this->stability;
b8800 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
b8820 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 Composer\Repository;..use.Compos
b8840 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c er\IO\IOInterface;.use.Composer\
b8860 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 Semver\VersionParser.as.SemverVe
b8880 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 rsionParser;.use.Composer\Packag
b88a0 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d e\Version\VersionParser;.use.Com
b88c0 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 5c 43 68 61 6e 6e 65 6c 52 65 61 poser\Repository\Pear\ChannelRea
b88e0 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 der;.use.Composer\Package\Comple
b8900 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f tePackage;.use.Composer\Reposito
b8920 72 79 5c 50 65 61 72 5c 43 68 61 6e 6e 65 6c 49 6e 66 6f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ry\Pear\ChannelInfo;.use.Compose
b8940 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 r\EventDispatcher\EventDispatche
b8960 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 r;.use.Composer\Package\Link;.us
b8980 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e e.Composer\Semver\Constraint\Con
b89a0 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 straint;.use.Composer\Util\Remot
b89c0 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 eFilesystem;.use.Composer\Config
b89e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ;.use.Composer\Factory;.........
b8a00 0a 0a 63 6c 61 73 73 20 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 ..class.PearRepository.extends.A
b8a20 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 rrayRepository.implements.Config
b8a40 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 urableRepositoryInterface.{.priv
b8a60 61 74 65 20 24 75 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 ate.$url;.private.$io;.private.$
b8a80 72 66 73 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 69 rfs;.private.$versionParser;.pri
b8aa0 76 61 74 65 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 vate.$repoConfig;.....private.$v
b8ac0 65 6e 64 6f 72 41 6c 69 61 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 endorAlias;..public.function.__c
b8ae0 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e onstruct(array.$repoConfig,.IOIn
b8b00 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 terface.$io,.Config.$config,.Eve
b8b20 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c ntDispatcher.$dispatcher.=.null,
b8b40 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b .RemoteFilesystem.$rfs.=.null).{
b8b60 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 28 21 70 72 65 .parent::__construct();.if.(!pre
b8b80 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 27 2c 20 24 72 65 70 6f 43 6f 6e g_match('{^https?://}',.$repoCon
b8ba0 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 fig['url'])).{.$repoConfig['url'
b8bc0 5d 20 3d 20 27 68 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d ].=.'http://'.$repoConfig['url']
b8be0 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 ;.}..$urlBits.=.parse_url($repoC
b8c00 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 72 6c 42 69 74 onfig['url']);.if.(empty($urlBit
b8c20 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 75 72 6c 42 69 74 73 5b 27 s['scheme']).||.empty($urlBits['
b8c40 68 6f 73 74 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 host'])).{.throw.new.\Unexpected
b8c60 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 72 6c 20 67 69 76 65 ValueException('Invalid.url.give
b8c80 6e 20 66 6f 72 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f n.for.PEAR.repository:.'.$repoCo
b8ca0 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 72 74 nfig['url']);.}..$this->url.=.rt
b8cc0 72 69 6d 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 2f 27 29 3b 0a 24 74 rim($repoConfig['url'],.'/');.$t
b8ce0 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 his->io.=.$io;.$this->rfs.=.$rfs
b8d00 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 .?:.Factory::createRemoteFilesys
b8d20 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e tem($this->io,.$config);.$this->
b8d40 76 65 6e 64 6f 72 41 6c 69 61 73 20 3d 20 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b vendorAlias.=.isset($repoConfig[
b8d60 27 76 65 6e 64 6f 72 2d 61 6c 69 61 73 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 'vendor-alias']).?.$repoConfig['
b8d80 76 65 6e 64 6f 72 2d 61 6c 69 61 73 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 76 65 vendor-alias'].:.null;.$this->ve
b8da0 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 rsionParser.=.new.VersionParser(
b8dc0 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 );.$this->repoConfig.=.$repoConf
b8de0 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f ig;.}..public.function.getRepoCo
b8e00 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 nfig().{.return.$this->repoConfi
b8e20 67 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c g;.}..protected.function.initial
b8e40 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 ize().{.parent::initialize();..$
b8e60 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6e 69 74 69 61 6c 69 7a 69 this->io->writeError('Initializi
b8e80 6e 67 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 ng.PEAR.repository.'.$this->url)
b8ea0 3b 0a 0a 24 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 28 24 ;..$reader.=.new.ChannelReader($
b8ec0 74 68 69 73 2d 3e 72 66 73 29 3b 0a 74 72 79 20 7b 0a 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 20 3d this->rfs);.try.{.$channelInfo.=
b8ee0 20 24 72 65 61 64 65 72 2d 3e 72 65 61 64 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 63 61 .$reader->read($this->url);.}.ca
b8f00 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d tch.(\Exception.$e).{.$this->io-
b8f20 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 45 41 52 20 72 65 70 6f 73 >writeError('<warning>PEAR.repos
b8f40 69 74 6f 72 79 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 itory.from.'.$this->url.'.could.
b8f60 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 2e 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 not.be.loaded..'.$e->getMessage(
b8f80 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 70 61 63 ).'</warning>');..return;.}.$pac
b8fa0 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b kages.=.$this->buildComposerPack
b8fc0 61 67 65 73 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f ages($channelInfo,.$this->versio
b8fe0 6e 50 61 72 73 65 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 nParser);.foreach.($packages.as.
b9000 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 $package).{.$this->addPackage($p
b9020 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ackage);.}.}.........private.fun
b9040 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 73 28 43 68 61 6e ction.buildComposerPackages(Chan
b9060 6e 65 6c 49 6e 66 6f 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 53 65 6d 76 65 72 56 65 72 73 nelInfo.$channelInfo,.SemverVers
b9080 69 6f 6e 50 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 0a 7b 0a 24 72 65 73 ionParser.$versionParser).{.$res
b90a0 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 6e 65 6c ult.=.array();.foreach.($channel
b90c0 49 6e 66 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 44 Info->getPackages().as.$packageD
b90e0 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 44 65 efinition).{.foreach.($packageDe
b9100 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 52 65 6c 65 61 73 65 73 28 29 20 61 73 20 24 76 65 72 73 finition->getReleases().as.$vers
b9120 69 6f 6e 20 3d 3e 20 24 72 65 6c 65 61 73 65 49 6e 66 6f 29 20 7b 0a 74 72 79 20 7b 0a 24 6e 6f ion.=>.$releaseInfo).{.try.{.$no
b9140 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 rmalizedVersion.=.$versionParser
b9160 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 ->normalize($version);.}.catch.(
b9180 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a \UnexpectedValueException.$e).{.
b91a0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 75 6c 64 20 6e 6f 74 $this->io->writeError('Could.not
b91c0 20 6c 6f 61 64 20 27 2e 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 .load.'.$packageDefinition->getP
b91e0 61 63 6b 61 67 65 4e 61 6d 65 28 29 2e 27 20 27 2e 24 76 65 72 73 69 6f 6e 2e 27 3a 20 27 2e 24 ackageName().'.'.$version.':.'.$
b9200 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 e->getMessage(),.true,.IOInterfa
b9220 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 ce::VERBOSE);.continue;.}..$comp
b9240 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f oserPackageName.=.$this->buildCo
b9260 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 mposerPackageName($packageDefini
b9280 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 tion->getChannelName(),.$package
b92a0 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 0a Definition->getPackageName());..
b92c0 0a 20 0a 20 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e ....$urlBits.=.parse_url($this->
b92e0 75 72 6c 29 3b 0a 24 73 63 68 65 6d 65 20 3d 20 28 69 73 73 65 74 28 24 75 72 6c 42 69 74 73 5b url);.$scheme.=.(isset($urlBits[
b9300 27 73 63 68 65 6d 65 27 5d 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d 20 24 75 72 6c 42 69 'scheme']).&&.'https'.===.$urlBi
b9320 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 ts['scheme'].&&.extension_loaded
b9340 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b ('openssl')).?.'https'.:.'http';
b9360 0a 24 64 69 73 74 55 72 6c 20 3d 20 22 7b 24 73 63 68 65 6d 65 7d 3a 2f 2f 7b 24 70 61 63 6b 61 .$distUrl.=."{$scheme}://{$packa
b9380 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 7d 2f geDefinition->getChannelName()}/
b93a0 67 65 74 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b get/{$packageDefinition->getPack
b93c0 61 67 65 4e 61 6d 65 28 29 7d 2d 7b 24 76 65 72 73 69 6f 6e 7d 2e 74 67 7a 22 3b 0a 0a 24 72 65 ageName()}-{$version}.tgz";..$re
b93e0 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 73 74 73 20 3d 20 61 72 quires.=.array();.$suggests.=.ar
b9400 72 61 79 28 29 3b 0a 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 ray();.$conflicts.=.array();.$re
b9420 70 6c 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 63 68 61 6e places.=.array();......if.($chan
b9440 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 70 61 63 6b 61 67 65 44 65 nelInfo->getName().==.$packageDe
b9460 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 20 7b 0a 24 63 finition->getChannelName()).{.$c
b9480 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 omposerPackageAlias.=.$this->bui
b94a0 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e 6e 65 6c 49 6e ldComposerPackageName($channelIn
b94c0 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 2c 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 fo->getAlias(),.$packageDefiniti
b94e0 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 61 6c 69 61 73 43 6f 6e on->getPackageName());.$aliasCon
b9500 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 straint.=.new.Constraint('==',.$
b9520 6e 6f 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 normalizedVersion);.$replaces[].
b9540 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c =.new.Link($composerPackageName,
b9560 20 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c 69 61 73 43 6f .$composerPackageAlias,.$aliasCo
b9580 6e 73 74 72 61 69 6e 74 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 6e 67 29 20 24 nstraint,.'replaces',.(string).$
b95a0 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 aliasConstraint);.}....if.(!empt
b95c0 79 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 29 0a 26 26 20 28 24 74 68 69 73 2d y($this->vendorAlias).&&.($this-
b95e0 3e 76 65 6e 64 6f 72 41 6c 69 61 73 20 21 3d 20 27 70 65 61 72 2d 27 2e 24 63 68 61 6e 6e 65 6c >vendorAlias.!=.'pear-'.$channel
b9600 49 6e 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 20 7c 7c 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f Info->getAlias().||.$channelInfo
b9620 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f ->getName().!=.$packageDefinitio
b9640 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 0a 29 20 7b 0a 24 63 6f 6d 70 6f 73 n->getChannelName()).).{.$compos
b9660 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 22 7b 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 erPackageAlias.=."{$this->vendor
b9680 41 6c 69 61 73 7d 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 Alias}/{$packageDefinition->getP
b96a0 61 63 6b 61 67 65 4e 61 6d 65 28 29 7d 22 3b 0a 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 ackageName()}";.$aliasConstraint
b96c0 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 6e 6f 72 6d 61 6c 69 .=.new.Constraint('==',.$normali
b96e0 7a 65 64 56 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 3d 20 6e 65 77 20 4c zedVersion);.$replaces[].=.new.L
b9700 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f ink($composerPackageName,.$compo
b9720 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e serPackageAlias,.$aliasConstrain
b9740 74 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 6e 67 29 20 24 61 6c 69 61 73 43 6f t,.'replaces',.(string).$aliasCo
b9760 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 49 nstraint);.}..foreach.($releaseI
b9780 6e 66 6f 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 2d 3e 67 65 74 52 65 71 nfo->getDependencyInfo()->getReq
b97a0 75 69 72 65 73 28 29 20 61 73 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 uires().as.$dependencyConstraint
b97c0 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 ).{.$dependencyPackageName.=.$th
b97e0 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 64 65 is->buildComposerPackageName($de
b9800 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 pendencyConstraint->getChannelNa
b9820 6d 65 28 29 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 me(),.$dependencyConstraint->get
b9840 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 PackageName());.$constraint.=.$v
b9860 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 ersionParser->parseConstraints($
b9880 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 dependencyConstraint->getConstra
b98a0 69 6e 74 28 29 29 3b 0a 24 6c 69 6e 6b 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 int());.$link.=.new.Link($compos
b98c0 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 erPackageName,.$dependencyPackag
b98e0 65 4e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 eName,.$constraint,.$dependencyC
b9900 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 54 79 70 65 28 29 2c 20 24 64 65 70 65 6e 64 65 6e 63 onstraint->getType(),.$dependenc
b9920 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 73 yConstraint->getConstraint());.s
b9940 77 69 74 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 witch.($dependencyConstraint->ge
b9960 74 54 79 70 65 28 29 29 20 7b 0a 63 61 73 65 20 27 72 65 71 75 69 72 65 64 27 3a 0a 24 72 65 71 tType()).{.case.'required':.$req
b9980 75 69 72 65 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 63 6f uires[].=.$link;.break;.case.'co
b99a0 6e 66 6c 69 63 74 73 27 3a 0a 24 63 6f 6e 66 6c 69 63 74 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a nflicts':.$conflicts[].=.$link;.
b99c0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 72 65 70 6c 61 63 65 73 27 3a 0a 24 72 65 70 6c 61 63 65 break;.case.'replaces':.$replace
b99e0 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 s[].=.$link;.break;.}.}..foreach
b9a00 20 28 24 72 65 6c 65 61 73 65 49 6e 66 6f 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 .($releaseInfo->getDependencyInf
b9a20 6f 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 61 6c 73 28 29 20 61 73 20 24 67 72 6f 75 70 20 3d 3e o()->getOptionals().as.$group.=>
b9a40 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 66 6f 72 65 61 .$dependencyConstraints).{.forea
b9a60 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 64 ch.($dependencyConstraints.as.$d
b9a80 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e ependencyConstraint).{.$dependen
b9aa0 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 cyPackageName.=.$this->buildComp
b9ac0 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 oserPackageName($dependencyConst
b9ae0 72 61 69 6e 74 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 64 65 70 65 6e 64 raint->getChannelName(),.$depend
b9b00 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 encyConstraint->getPackageName()
b9b20 29 3b 0a 24 73 75 67 67 65 73 74 73 5b 24 67 72 6f 75 70 2e 27 2d 27 2e 24 64 65 70 65 6e 64 65 );.$suggests[$group.'-'.$depende
b9b40 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e ncyPackageName].=.$dependencyCon
b9b60 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 7d 0a 0a 24 straint->getConstraint();.}.}..$
b9b80 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 63 package.=.new.CompletePackage($c
b9ba0 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 omposerPackageName,.$normalizedV
b9bc0 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 ersion,.$version);.$package->set
b9be0 54 79 70 65 28 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e Type('pear-library');.$package->
b9c00 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f setDescription($packageDefinitio
b9c20 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e n->getDescription());.$package->
b9c40 73 65 74 4c 69 63 65 6e 73 65 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 setLicense(array($packageDefinit
b9c60 69 6f 6e 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 ion->getLicense()));.$package->s
b9c80 65 74 44 69 73 74 54 79 70 65 28 27 66 69 6c 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 etDistType('file');.$package->se
b9ca0 74 44 69 73 74 55 72 6c 28 24 64 69 73 74 55 72 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 tDistUrl($distUrl);.$package->se
b9cc0 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 28 27 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 61 72 tAutoload(array('classmap'.=>.ar
b9ce0 72 61 79 28 27 27 29 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 63 6c 75 64 65 50 ray('')));.$package->setIncludeP
b9d00 61 74 68 73 28 61 72 72 61 79 28 27 2f 27 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 aths(array('/'));.$package->setR
b9d20 65 71 75 69 72 65 73 28 24 72 65 71 75 69 72 65 73 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 equires($requires);.$package->se
b9d40 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 24 70 61 63 6b 61 67 65 tConflicts($conflicts);.$package
b9d60 2d 3e 73 65 74 53 75 67 67 65 73 74 73 28 24 73 75 67 67 65 73 74 73 29 3b 0a 24 70 61 63 6b 61 ->setSuggests($suggests);.$packa
b9d80 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 72 65 70 6c 61 63 65 73 29 3b 0a 24 72 65 73 ge->setReplaces($replaces);.$res
b9da0 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 ult[].=.$package;.}.}..return.$r
b9dc0 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 esult;.}..private.function.build
b9de0 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 ComposerPackageName($channelName
b9e00 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 27 70 68 70 27 20 3d 3d 3d 20 ,.$packageName).{.if.('php'.===.
b9e20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 70 68 70 22 3b 0a 7d 0a $channelName).{.return."php";.}.
b9e40 69 66 20 28 27 65 78 74 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 72 65 if.('ext'.===.$channelName).{.re
b9e60 74 75 72 6e 20 22 65 78 74 2d 7b 24 70 61 63 6b 61 67 65 4e 61 6d 65 7d 22 3b 0a 7d 0a 0a 72 65 turn."ext-{$packageName}";.}..re
b9e80 74 75 72 6e 20 22 70 65 61 72 2d 7b 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 7d 2f 7b 24 70 61 63 6b turn."pear-{$channelName}/{$pack
b9ea0 61 67 65 4e 61 6d 65 7d 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ageName}";.}.}.<?php............
b9ec0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
b9ee0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 use.Composer\Package\CompletePac
b9f00 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 kage;.use.Composer\Package\Packa
b9f20 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 geInterface;.use.Composer\Packag
b9f40 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d e\Version\VersionParser;.use.Com
b9f60 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 poser\Plugin\PluginInterface;.us
b9f80 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f e.Composer\Util\Silencer;.use.Co
b9fa0 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c mposer\XdebugHandler\XdebugHandl
b9fc0 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 er;.....class.PlatformRepository
b9fe0 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 63 6f 6e 73 74 .extends.ArrayRepository.{.const
ba000 20 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 20 3d 20 27 7b 5e 28 3f 3a .PLATFORM_PACKAGE_REGEX.=.'{^(?:
ba020 70 68 70 28 3f 3a 2d 36 34 62 69 74 7c 2d 69 70 76 36 7c 2d 7a 74 73 7c 2d 64 65 62 75 67 29 3f php(?:-64bit|-ipv6|-zts|-debug)?
ba040 7c 68 68 76 6d 7c 28 3f 3a 65 78 74 7c 6c 69 62 29 2d 5b 5e 2f 20 5d 2b 29 24 7d 69 27 3b 0a 0a |hhvm|(?:ext|lib)-[^/.]+)$}i';..
ba060 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a private.$versionParser;.........
ba080 70 72 69 76 61 74 65 20 24 6f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 private.$overrides.=.array();..p
ba0a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 ublic.function.__construct(array
ba0c0 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 6f 76 65 .$packages.=.array(),.array.$ove
ba0e0 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 76 rrides.=.array()).{.foreach.($ov
ba100 65 72 72 69 64 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a errides.as.$name.=>.$version).{.
ba120 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d $this->overrides[strtolower($nam
ba140 65 29 5d 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 2c 20 27 76 65 e)].=.array('name'.=>.$name,.'ve
ba160 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 70 61 72 65 6e 74 3a 3a 5f rsion'.=>.$version);.}.parent::_
ba180 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 _construct($packages);.}..protec
ba1a0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 ted.function.initialize().{.pare
ba1c0 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f nt::initialize();..$this->versio
ba1e0 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 0a nParser.=.new.VersionParser();..
ba200 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 20 61 73 ....foreach.($this->overrides.as
ba220 20 24 6f 76 65 72 72 69 64 65 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 .$override).{...if.(!preg_match(
ba240 73 65 6c 66 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6f self::PLATFORM_PACKAGE_REGEX,.$o
ba260 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 verride['name'])).{.throw.new.\I
ba280 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 nvalidArgumentException('Invalid
ba2a0 20 70 6c 61 74 66 6f 72 6d 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 6e 20 63 6f 6e 66 69 67 .platform.package.name.in.config
ba2c0 2e 70 6c 61 74 66 6f 72 6d 3a 20 27 2e 24 6f 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 29 3b .platform:.'.$override['name']);
ba2e0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 .}..$this->addOverriddenPackage(
ba300 24 6f 76 65 72 72 69 64 65 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 $override);.}..$prettyVersion.=.
ba320 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3a 3a 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 PluginInterface::PLUGIN_API_VERS
ba340 49 4f 4e 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 ION;.$version.=.$this->versionPa
ba360 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b rser->normalize($prettyVersion);
ba380 0a 24 63 6f 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 .$composerPluginApi.=.new.Comple
ba3a0 74 65 50 61 63 6b 61 67 65 28 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 2c tePackage('composer-plugin-api',
ba3c0 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 63 6f 6d .$version,.$prettyVersion);.$com
ba3e0 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 poserPluginApi->setDescription('
ba400 54 68 65 20 43 6f 6d 70 6f 73 65 72 20 50 6c 75 67 69 6e 20 41 50 49 27 29 3b 0a 24 74 68 69 73 The.Composer.Plugin.API');.$this
ba420 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 63 6f 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 29 ->addPackage($composerPluginApi)
ba440 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 50 48 50 5f 56 45 ;..try.{.$prettyVersion.=.PHP_VE
ba460 52 53 49 4f 4e 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e RSION;.$version.=.$this->version
ba480 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e Parser->normalize($prettyVersion
ba4a0 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 );.}.catch.(\UnexpectedValueExce
ba4c0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 ption.$e).{.$prettyVersion.=.pre
ba4e0 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 24 31 g_replace('#^([^~+-]+).*$#',.'$1
ba500 27 2c 20 50 48 50 5f 56 45 52 53 49 4f 4e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 ',.PHP_VERSION);.$version.=.$thi
ba520 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 s->versionParser->normalize($pre
ba540 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 68 70 20 3d 20 6e 65 77 20 43 6f 6d 70 6c ttyVersion);.}..$php.=.new.Compl
ba560 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 etePackage('php',.$version,.$pre
ba580 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f ttyVersion);.$php->setDescriptio
ba5a0 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 27 29 3b 0a 24 74 68 69 73 2d n('The.PHP.interpreter');.$this-
ba5c0 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 29 3b 0a 0a 69 66 20 28 50 48 50 5f 44 45 42 55 >addPackage($php);..if.(PHP_DEBU
ba5e0 47 29 20 7b 0a 24 70 68 70 64 65 62 75 67 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 G).{.$phpdebug.=.new.CompletePac
ba600 6b 61 67 65 28 27 70 68 70 2d 64 65 62 75 67 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 kage('php-debug',.$version,.$pre
ba620 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 64 65 62 75 67 2d 3e 73 65 74 44 65 73 63 72 ttyVersion);.$phpdebug->setDescr
ba640 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 iption('The.PHP.interpreter,.wit
ba660 68 20 64 65 62 75 67 67 69 6e 67 20 73 79 6d 62 6f 6c 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 h.debugging.symbols');.$this->ad
ba680 64 50 61 63 6b 61 67 65 28 24 70 68 70 64 65 62 75 67 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 dPackage($phpdebug);.}..if.(defi
ba6a0 6e 65 64 28 27 50 48 50 5f 5a 54 53 27 29 20 26 26 20 50 48 50 5f 5a 54 53 29 20 7b 0a 24 70 68 ned('PHP_ZTS').&&.PHP_ZTS).{.$ph
ba6c0 70 7a 74 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d pzts.=.new.CompletePackage('php-
ba6e0 7a 74 73 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b zts',.$version,.$prettyVersion);
ba700 0a 24 70 68 70 7a 74 73 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 .$phpzts->setDescription('The.PH
ba720 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 5a 65 6e 64 20 54 68 72 65 61 64 20 P.interpreter,.with.Zend.Thread.
ba740 53 61 66 65 74 79 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 Safety');.$this->addPackage($php
ba760 7a 74 73 29 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 5f 53 49 5a 45 20 3d 3d 3d 20 38 29 zts);.}..if.(PHP_INT_SIZE.===.8)
ba780 20 7b 0a 24 70 68 70 36 34 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 .{.$php64.=.new.CompletePackage(
ba7a0 27 70 68 70 2d 36 34 62 69 74 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 'php-64bit',.$version,.$prettyVe
ba7c0 72 73 69 6f 6e 29 3b 0a 24 70 68 70 36 34 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 rsion);.$php64->setDescription('
ba7e0 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 36 34 62 69 74 27 29 3b 0a 24 74 The.PHP.interpreter,.64bit');.$t
ba800 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 36 34 29 3b 0a 7d 0a 0a 0a 20 0a 20 his->addPackage($php64);.}......
ba820 69 66 20 28 64 65 66 69 6e 65 64 28 27 41 46 5f 49 4e 45 54 36 27 29 20 7c 7c 20 53 69 6c 65 6e if.(defined('AF_INET6').||.Silen
ba840 63 65 72 3a 3a 63 61 6c 6c 28 27 69 6e 65 74 5f 70 74 6f 6e 27 2c 20 27 3a 3a 27 29 20 21 3d 3d cer::call('inet_pton',.'::').!==
ba860 20 66 61 6c 73 65 29 20 7b 0a 24 70 68 70 49 70 76 36 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 .false).{.$phpIpv6.=.new.Complet
ba880 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d 69 70 76 36 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 ePackage('php-ipv6',.$version,.$
ba8a0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 49 70 76 36 2d 3e 73 65 74 44 65 73 prettyVersion);.$phpIpv6->setDes
ba8c0 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 cription('The.PHP.interpreter,.w
ba8e0 69 74 68 20 49 50 76 36 20 73 75 70 70 6f 72 74 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 ith.IPv6.support');.$this->addPa
ba900 63 6b 61 67 65 28 24 70 68 70 49 70 76 36 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 64 45 78 74 65 6e ckage($phpIpv6);.}..$loadedExten
ba920 73 69 6f 6e 73 20 3d 20 67 65 74 5f 6c 6f 61 64 65 64 5f 65 78 74 65 6e 73 69 6f 6e 73 28 29 3b sions.=.get_loaded_extensions();
ba940 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 61 ....foreach.($loadedExtensions.a
ba960 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 61 s.$name).{.if.(in_array($name,.a
ba980 72 72 61 79 28 27 73 74 61 6e 64 61 72 64 27 2c 20 27 43 6f 72 65 27 29 29 29 20 7b 0a 63 6f 6e rray('standard',.'Core'))).{.con
ba9a0 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 66 6c 45 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 tinue;.}..$reflExt.=.new.\Reflec
ba9c0 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 24 70 72 65 74 74 79 56 65 72 tionExtension($name);.$prettyVer
ba9e0 73 69 6f 6e 20 3d 20 24 72 65 66 6c 45 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 sion.=.$reflExt->getVersion();.$
baa00 74 68 69 73 2d 3e 61 64 64 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 70 72 65 74 74 this->addExtension($name,.$prett
baa20 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 78 yVersion);.}....if.(!in_array('x
baa40 64 65 62 75 67 27 2c 20 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 2c 20 74 72 75 65 29 debug',.$loadedExtensions,.true)
baa60 20 26 26 20 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 58 64 65 62 75 67 48 61 6e 64 .&&.($prettyVersion.=.XdebugHand
baa80 6c 65 72 3a 3a 67 65 74 53 6b 69 70 70 65 64 56 65 72 73 69 6f 6e 28 29 29 29 20 7b 0a 24 74 68 ler::getSkippedVersion())).{.$th
baaa0 69 73 2d 3e 61 64 64 45 78 74 65 6e 73 69 6f 6e 28 27 78 64 65 62 75 67 27 2c 20 24 70 72 65 74 is->addExtension('xdebug',.$pret
baac0 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6c tyVersion);.}........foreach.($l
baae0 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 70 72 65 oadedExtensions.as.$name).{.$pre
bab00 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 ttyVersion.=.null;.$description.
bab20 3d 20 27 54 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 50 48 50 20 6c 69 62 72 61 72 79 27 3b 0a 73 =.'The.'.$name.'.PHP.library';.s
bab40 77 69 74 63 68 20 28 24 6e 61 6d 65 29 20 7b 0a 63 61 73 65 20 27 63 75 72 6c 27 3a 0a 24 63 75 witch.($name).{.case.'curl':.$cu
bab60 72 6c 56 65 72 73 69 6f 6e 20 3d 20 63 75 72 6c 5f 76 65 72 73 69 6f 6e 28 29 3b 0a 24 70 72 65 rlVersion.=.curl_version();.$pre
bab80 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 63 75 72 6c 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 ttyVersion.=.$curlVersion['versi
baba0 6f 6e 27 5d 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 63 6f 6e 76 27 3a 0a 24 70 72 65 on'];.break;..case.'iconv':.$pre
babc0 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 49 43 4f 4e 56 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 ttyVersion.=.ICONV_VERSION;.brea
babe0 6b 3b 0a 0a 63 61 73 65 20 27 69 6e 74 6c 27 3a 0a 24 6e 61 6d 65 20 3d 20 27 49 43 55 27 3b 0a k;..case.'intl':.$name.=.'ICU';.
bac00 69 66 20 28 64 65 66 69 6e 65 64 28 27 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f 4e 27 29 29 if.(defined('INTL_ICU_VERSION'))
bac20 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 49 4e 54 4c 5f 49 43 55 5f 56 45 52 .{.$prettyVersion.=.INTL_ICU_VER
bac40 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 SION;.}.else.{.$reflector.=.new.
bac60 5c 52 65 66 6c 65 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 69 6e 74 6c 27 29 3b 0a 0a 6f \ReflectionExtension('intl');..o
bac80 62 5f 73 74 61 72 74 28 29 3b 0a 24 72 65 66 6c 65 63 74 6f 72 2d 3e 69 6e 66 6f 28 29 3b 0a 24 b_start();.$reflector->info();.$
baca0 6f 75 74 70 75 74 20 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 0a 70 72 65 67 5f 6d output.=.ob_get_clean();..preg_m
bacc0 61 74 63 68 28 27 2f 5e 49 43 55 20 76 65 72 73 69 6f 6e 20 3d 3e 20 28 2e 2a 29 24 2f 6d 27 2c atch('/^ICU.version.=>.(.*)$/m',
bace0 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 .$output,.$matches);.$prettyVers
bad00 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 ion.=.$matches[1];.}..break;..ca
bad20 73 65 20 27 6c 69 62 78 6d 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 se.'libxml':.$prettyVersion.=.LI
bad40 42 58 4d 4c 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 BXML_DOTTED_VERSION;.break;..cas
bad60 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 e.'openssl':.$prettyVersion.=.pr
bad80 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 5e 28 3f 3a 4f 70 65 6e 53 53 eg_replace_callback('{^(?:OpenSS
bada0 4c 7c 4c 69 62 72 65 53 53 4c 29 3f 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 28 5b 61 2d 7a 5d 2a 29 L|LibreSSL)?\s*([0-9.]+)([a-z]*)
badc0 2e 2a 7d 69 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 7b 0a 69 66 20 28 65 .*}i',.function.($match).{.if.(e
bade0 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 mpty($match[2])).{.return.$match
bae00 5b 31 5d 3b 0a 7d 0a 0a 0a 20 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7a [1];.}......if.(!preg_match('{^z
bae20 2a 5b 61 2d 7a 5d 24 7d 27 2c 20 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 0a 20 72 65 74 75 72 *[a-z]$}',.$match[2])).{...retur
bae40 6e 20 30 3b 0a 7d 0a 0a 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 32 5d 29 n.0;.}..$len.=.strlen($match[2])
bae60 3b 0a 24 70 61 74 63 68 56 65 72 73 69 6f 6e 20 3d 20 28 24 6c 65 6e 20 2d 20 31 29 20 2a 20 32 ;.$patchVersion.=.($len.-.1).*.2
bae80 36 3b 20 0a 20 24 70 61 74 63 68 56 65 72 73 69 6f 6e 20 2b 3d 20 6f 72 64 28 24 6d 61 74 63 68 6;...$patchVersion.+=.ord($match
baea0 5b 32 5d 5b 24 6c 65 6e 20 2d 20 31 5d 29 20 2d 20 39 36 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 61 [2][$len.-.1]).-.96;..return.$ma
baec0 74 63 68 5b 31 5d 2e 27 2e 27 2e 24 70 61 74 63 68 56 65 72 73 69 6f 6e 3b 0a 7d 2c 20 4f 50 45 tch[1].'.'.$patchVersion;.},.OPE
baee0 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f NSSL_VERSION_TEXT);..$descriptio
baf00 6e 20 3d 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 3b 0a 62 72 65 61 6b 3b n.=.OPENSSL_VERSION_TEXT;.break;
baf20 0a 0a 63 61 73 65 20 27 70 63 72 65 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 ..case.'pcre':.$prettyVersion.=.
baf40 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5c 53 2b 29 2e 2a 7d 27 2c 20 27 24 31 27 2c preg_replace('{^(\S+).*}',.'$1',
baf60 20 50 43 52 45 5f 56 45 52 53 49 4f 4e 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 75 .PCRE_VERSION);.break;..case.'uu
baf80 69 64 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 68 70 76 65 72 73 69 6f 6e id':.$prettyVersion.=.phpversion
bafa0 28 27 75 75 69 64 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 73 6c 27 3a 0a 24 70 ('uuid');.break;..case.'xsl':.$p
bafc0 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 42 58 53 4c 54 5f 44 4f 54 54 45 44 5f 56 45 rettyVersion.=.LIBXSLT_DOTTED_VE
bafe0 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 63 6f 6e 74 69 6e RSION;.break;..default:...contin
bb000 75 65 20 32 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d ue.2;.}..try.{.$version.=.$this-
bb020 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 >versionParser->normalize($prett
bb040 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 yVersion);.}.catch.(\UnexpectedV
bb060 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a alueException.$e).{.continue;.}.
bb080 0a 24 6c 69 62 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 6c 69 62 .$lib.=.new.CompletePackage('lib
bb0a0 2d 27 2e 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 -'.$name,.$version,.$prettyVersi
bb0c0 6f 6e 29 3b 0a 24 6c 69 62 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 on);.$lib->setDescription($descr
bb0e0 69 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 6c 69 62 29 iption);.$this->addPackage($lib)
bb100 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 ;.}..if.(defined('HHVM_VERSION')
bb120 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 48 48 56 4d 5f ).{.try.{.$prettyVersion.=.HHVM_
bb140 56 45 52 53 49 4f 4e 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 VERSION;.$version.=.$this->versi
bb160 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 onParser->normalize($prettyVersi
bb180 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 on);.}.catch.(\UnexpectedValueEx
bb1a0 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 ception.$e).{.$prettyVersion.=.p
bb1c0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 reg_replace('#^([^~+-]+).*$#',.'
bb1e0 24 31 27 2c 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 $1',.HHVM_VERSION);.$version.=.$
bb200 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 this->versionParser->normalize($
bb220 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 68 68 76 6d 20 3d 20 6e 65 77 20 43 prettyVersion);.}..$hhvm.=.new.C
bb240 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 68 68 76 6d 27 2c 20 24 76 65 72 73 69 6f 6e 2c ompletePackage('hhvm',.$version,
bb260 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 68 68 76 6d 2d 3e 73 65 74 44 65 73 63 .$prettyVersion);.$hhvm->setDesc
bb280 72 69 70 74 69 6f 6e 28 27 54 68 65 20 48 48 56 4d 20 52 75 6e 74 69 6d 65 20 28 36 34 62 69 74 ription('The.HHVM.Runtime.(64bit
bb2a0 29 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 68 68 76 6d 29 3b 0a 7d )');.$this->addPackage($hhvm);.}
bb2c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 .}.....public.function.addPackag
bb2e0 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 0a e(PackageInterface.$package).{..
bb300 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 24 70 61 63 .if.(isset($this->overrides[$pac
bb320 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 6f 76 65 72 72 69 64 65 72 20 kage->getName()])).{.$overrider.
bb340 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 =.$this->findPackage($package->g
bb360 65 74 4e 61 6d 65 28 29 2c 20 27 2a 27 29 3b 0a 24 6f 76 65 72 72 69 64 65 72 2d 3e 73 65 74 44 etName(),.'*');.$overrider->setD
bb380 65 73 63 72 69 70 74 69 6f 6e 28 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 44 65 73 63 72 69 escription($overrider->getDescri
bb3a0 70 74 69 6f 6e 28 29 2e 27 20 28 61 63 74 75 61 6c 3a 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 ption().'.(actual:.'.$package->g
bb3c0 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 27 29 3b 0a 0a 72 65 74 75 72 6e 3b etPrettyVersion().')');..return;
bb3e0 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 .}....if.(isset($this->overrides
bb400 5b 27 70 68 70 27 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 ['php']).&&.0.===.strpos($packag
bb420 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 70 68 70 2d 27 29 29 20 7b 0a 24 6f 76 65 72 72 69 e->getName(),.'php-')).{.$overri
bb440 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 der.=.$this->addOverriddenPackag
bb460 65 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 27 70 68 70 27 5d 2c 20 24 70 61 63 6b e($this->overrides['php'],.$pack
bb480 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 3b 0a 24 6f 76 65 72 72 69 64 65 age->getPrettyName());.$override
bb4a0 72 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 r->setDescription($overrider->ge
bb4c0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2e 27 20 28 61 63 74 75 61 6c 3a 20 27 2e 24 70 61 63 tDescription().'.(actual:.'.$pac
bb4e0 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 27 29 3b 0a 0a kage->getPrettyVersion().')');..
bb500 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 return;.}..parent::addPackage($p
bb520 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 ackage);.}..private.function.add
bb540 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 6f 76 65 72 72 69 64 OverriddenPackage(array.$overrid
bb560 65 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 e,.$name.=.null).{.$version.=.$t
bb580 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6f his->versionParser->normalize($o
bb5a0 76 65 72 72 69 64 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 verride['version']);.$package.=.
bb5c0 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 20 3f 3a 20 24 6f 76 new.CompletePackage($name.?:.$ov
bb5e0 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6f 76 65 72 72 erride['name'],.$version,.$overr
bb600 69 64 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 ide['version']);.$package->setDe
bb620 73 63 72 69 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 scription('Package.overridden.vi
bb640 61 20 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 a.config.platform');.$package->s
bb660 65 74 45 78 74 72 61 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 20 etExtra(array('config.platform'.
bb680 3d 3e 20 74 72 75 65 29 29 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 =>.true));.parent::addPackage($p
bb6a0 61 63 6b 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a ackage);..return.$package;.}....
bb6c0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 78 74 65 6e 73 69 6f ....private.function.addExtensio
bb6e0 6e 28 24 6e 61 6d 65 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 65 78 74 72 n($name,.$prettyVersion).{.$extr
bb700 61 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 76 65 72 aDescription.=.null;..try.{.$ver
bb720 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 sion.=.$this->versionParser->nor
bb740 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 malize($prettyVersion);.}.catch.
bb760 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b (\UnexpectedValueException.$e).{
bb780 0a 24 65 78 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 20 28 61 63 74 75 61 6c 20 76 .$extraDescription.=.'.(actual.v
bb7a0 65 72 73 69 6f 6e 3a 20 27 2e 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2e 27 29 27 3b 0a 69 66 ersion:.'.$prettyVersion.')';.if
bb7c0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5c 64 2b 5c 2e 5c 64 2b 5c 2e 5c 64 2b 28 3f .(preg_match('{^(\d+\.\d+\.\d+(?
bb7e0 3a 5c 2e 5c 64 2b 29 3f 29 7d 27 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2c 20 24 6d 61 :\.\d+)?)}',.$prettyVersion,.$ma
bb800 74 63 68 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b tch)).{.$prettyVersion.=.$match[
bb820 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 30 1];.}.else.{.$prettyVersion.=.'0
bb840 27 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 ';.}.$version.=.$this->versionPa
bb860 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b rser->normalize($prettyVersion);
bb880 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 .}..$packageName.=.$this->buildP
bb8a0 61 63 6b 61 67 65 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 24 65 78 74 20 3d 20 6e 65 77 20 43 6f ackageName($name);.$ext.=.new.Co
bb8c0 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 mpletePackage($packageName,.$ver
bb8e0 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 65 78 74 2d 3e 73 65 74 sion,.$prettyVersion);.$ext->set
bb900 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 50 48 50 20 65 Description('The.'.$name.'.PHP.e
bb920 78 74 65 6e 73 69 6f 6e 27 2e 24 65 78 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 24 74 xtension'.$extraDescription);.$t
bb940 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 65 78 74 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 his->addPackage($ext);.}..privat
bb960 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 6e 61 6d e.function.buildPackageName($nam
bb980 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 65 78 74 2d 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 e).{.return.'ext-'...str_replace
bb9a0 28 27 20 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ('.',.'-',.$name);.}.}.<?php....
bb9c0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ........namespace.Composer\Repos
bb9e0 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 itory;..use.Composer\Factory;.us
bba00 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 e.Composer\IO\IOInterface;.use.C
bba20 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 omposer\Config;.use.Composer\Eve
bba40 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 ntDispatcher\EventDispatcher;.us
bba60 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d e.Composer\Util\RemoteFilesystem
bba80 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a ;.use.Composer\Json\JsonFile;...
bbaa0 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a ..class.RepositoryFactory.{.....
bbac0 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 ...public.static.function.config
bbae0 46 72 6f 6d 53 74 72 69 6e 67 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 FromString(IOInterface.$io,.Conf
bbb00 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 ig.$config,.$repository,.$allowF
bbb20 69 6c 65 73 79 73 74 65 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 ilesystem.=.false).{.if.(0.===.s
bbb40 74 72 70 6f 73 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 27 68 74 74 70 27 29 29 20 7b 0a 24 72 trpos($repository,.'http')).{.$r
bbb60 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d epoConfig.=.array('type'.=>.'com
bbb80 70 6f 73 65 72 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d poser',.'url'.=>.$repository);.}
bbba0 20 65 6c 73 65 69 66 20 28 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 61 74 68 69 6e 66 6f 28 24 72 65 .elseif.("json".===.pathinfo($re
bbbc0 70 6f 73 69 74 6f 72 79 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 29 20 7b pository,.PATHINFO_EXTENSION)).{
bbbe0 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 72 65 70 6f 73 69 74 6f 72 .$json.=.new.JsonFile($repositor
bbc00 79 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 y,.Factory::createRemoteFilesyst
bbc20 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 64 61 74 61 20 3d 20 24 6a 73 6f 6e em($io,.$config));.$data.=.$json
bbc40 2d 3e 72 65 61 64 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 61 63 6b ->read();.if.(!empty($data['pack
bbc60 61 67 65 73 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 ages']).||.!empty($data['include
bbc80 73 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 s']).||.!empty($data['provider-i
bbca0 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 ncludes'])).{.$repoConfig.=.arra
bbcc0 79 28 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 75 72 6c 27 20 3d 3e y('type'.=>.'composer',.'url'.=>
bbce0 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 73 74 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 72 65 70 .'file://'...strtr(realpath($rep
bbd00 6f 73 69 74 6f 72 79 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ository),.'\\',.'/'));.}.elseif.
bbd20 28 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 ($allowFilesystem).{.$repoConfig
bbd40 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 66 69 6c 65 73 79 73 74 65 6d 27 2c .=.array('type'.=>.'filesystem',
bbd60 20 27 6a 73 6f 6e 27 20 3d 3e 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f .'json'.=>.$json);.}.else.{.thro
bbd80 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
bbda0 22 49 6e 76 61 6c 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 28 24 72 65 70 6f 73 69 "Invalid.repository.URL.($reposi
bbdc0 74 6f 72 79 29 20 67 69 76 65 6e 2e 20 54 68 69 73 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 tory).given..This.file.does.not.
bbde0 63 6f 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 contain.a.valid.composer.reposit
bbe00 6f 72 79 2e 22 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d 3d 20 73 75 62 73 ory.");.}.}.elseif.('{'.===.subs
bbe20 74 72 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 30 2c 20 31 29 29 20 7b 0a 0a 20 24 72 65 70 6f tr($repository,.0,.1)).{...$repo
bbe40 43 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 Config.=.JsonFile::parseJson($re
bbe60 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 pository);.}.else.{.throw.new.\I
bbe80 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 nvalidArgumentException("Invalid
bbea0 20 72 65 70 6f 73 69 74 6f 72 79 20 75 72 6c 20 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 67 69 .repository.url.($repository).gi
bbec0 76 65 6e 2e 20 48 61 73 20 74 6f 20 62 65 20 61 20 2e 6a 73 6f 6e 20 66 69 6c 65 2c 20 61 6e 20 ven..Has.to.be.a..json.file,.an.
bbee0 68 74 74 70 20 75 72 6c 20 6f 72 20 61 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 2e 22 29 3b 0a 7d 0a http.url.or.a.JSON.object.");.}.
bbf00 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .return.$repoConfig;.}.........p
bbf20 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 53 74 72 69 6e 67 ublic.static.function.fromString
bbf40 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 (IOInterface.$io,.Config.$config
bbf60 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 20 ,.$repository,.$allowFilesystem.
bbf80 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a =.false).{.$repoConfig.=.static:
bbfa0 3a 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 :configFromString($io,.$config,.
bbfc0 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a $repository,.$allowFilesystem);.
bbfe0 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 .return.static::createRepo($io,.
bc000 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a $config,.$repoConfig);.}........
bc020 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 public.static.function.createRep
bc040 6f 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 o(IOInterface.$io,.Config.$confi
bc060 67 2c 20 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 24 72 6d 20 3d 20 73 74 g,.array.$repoConfig).{.$rm.=.st
bc080 61 74 69 63 3a 3a 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c atic::manager($io,.$config,.null
bc0a0 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 ,.Factory::createRemoteFilesyste
bc0c0 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 73 74 61 74 69 m($io,.$config));.$repos.=.stati
bc0e0 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 73 28 24 72 6d 2c 20 61 72 72 61 79 28 24 72 65 70 6f 43 c::createRepos($rm,.array($repoC
bc100 6f 6e 66 69 67 29 29 3b 0a 0a 72 65 74 75 72 6e 20 72 65 73 65 74 28 24 72 65 70 6f 73 29 3b 0a onfig));..return.reset($repos);.
bc120 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 }........public.static.function.
bc140 64 65 66 61 75 6c 74 52 65 70 6f 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e defaultRepos(IOInterface.$io.=.n
bc160 75 6c 6c 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f ull,.Config.$config.=.null,.Repo
bc180 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 sitoryManager.$rm.=.null).{.if.(
bc1a0 21 24 63 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 !$config).{.$config.=.Factory::c
bc1c0 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 7d 0a 69 66 20 28 21 24 72 6d 29 20 7b 0a reateConfig($io);.}.if.(!$rm).{.
bc1e0 69 66 20 28 21 24 69 6f 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 if.(!$io).{.throw.new.\InvalidAr
bc200 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 gumentException('This.function.r
bc220 65 71 75 69 72 65 73 20 65 69 74 68 65 72 20 61 6e 20 49 4f 49 6e 74 65 72 66 61 63 65 20 6f 72 equires.either.an.IOInterface.or
bc240 20 61 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 27 29 3b 0a 7d 0a 24 72 6d 20 3d 20 .a.RepositoryManager');.}.$rm.=.
bc260 73 74 61 74 69 63 3a 3a 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 6e 75 static::manager($io,.$config,.nu
bc280 6c 6c 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 ll,.Factory::createRemoteFilesys
bc2a0 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 tem($io,.$config));.}..return.st
bc2c0 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 73 28 24 72 6d 2c 20 24 63 6f 6e 66 69 67 2d 3e atic::createRepos($rm,.$config->
bc2e0 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 getRepositories());.}.........pu
bc300 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e 61 67 65 72 28 49 4f 49 blic.static.function.manager(IOI
bc320 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 nterface.$io,.Config.$config,.Ev
bc340 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d entDispatcher.$eventDispatcher.=
bc360 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e .null,.RemoteFilesystem.$rfs.=.n
bc380 75 6c 6c 29 0a 7b 0a 24 72 6d 20 3d 20 6e 65 77 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 ull).{.$rm.=.new.RepositoryManag
bc3a0 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 er($io,.$config,.$eventDispatche
bc3c0 72 2c 20 24 72 66 73 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 r,.$rfs);.$rm->setRepositoryClas
bc3e0 73 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f s('composer',.'Composer\Reposito
bc400 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 ry\ComposerRepository');.$rm->se
bc420 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 76 63 73 27 2c 20 27 43 6f 6d 70 6f 73 65 tRepositoryClass('vcs',.'Compose
bc440 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 r\Repository\VcsRepository');.$r
bc460 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 61 63 6b 61 67 65 27 2c m->setRepositoryClass('package',
bc480 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 61 63 6b 61 67 65 52 65 70 .'Composer\Repository\PackageRep
bc4a0 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 ository');.$rm->setRepositoryCla
bc4c0 73 73 28 27 70 65 61 72 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c ss('pear',.'Composer\Repository\
bc4e0 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 PearRepository');.$rm->setReposi
bc500 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 toryClass('git',.'Composer\Repos
bc520 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 itory\VcsRepository');.$rm->setR
bc540 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 2d 62 69 74 62 75 63 6b 65 74 27 2c 20 epositoryClass('git-bitbucket',.
bc560 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 'Composer\Repository\VcsReposito
bc580 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 ry');.$rm->setRepositoryClass('g
bc5a0 69 74 68 75 62 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 ithub',.'Composer\Repository\Vcs
bc5c0 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 Repository');.$rm->setRepository
bc5e0 43 6c 61 73 73 28 27 67 69 74 6c 61 62 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 Class('gitlab',.'Composer\Reposi
bc600 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 tory\VcsRepository');.$rm->setRe
bc620 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 73 76 6e 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 positoryClass('svn',.'Composer\R
bc640 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e epository\VcsRepository');.$rm->
bc660 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 66 6f 73 73 69 6c 27 2c 20 27 43 6f setRepositoryClass('fossil',.'Co
bc680 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 mposer\Repository\VcsRepository'
bc6a0 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 65 72 66 );.$rm->setRepositoryClass('perf
bc6c0 6f 72 63 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 orce',.'Composer\Repository\VcsR
bc6e0 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 epository');.$rm->setRepositoryC
bc700 6c 61 73 73 28 27 68 67 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c lass('hg',.'Composer\Repository\
bc720 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 VcsRepository');.$rm->setReposit
bc740 6f 72 79 43 6c 61 73 73 28 27 68 67 2d 62 69 74 62 75 63 6b 65 74 27 2c 20 27 43 6f 6d 70 6f 73 oryClass('hg-bitbucket',.'Compos
bc760 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 er\Repository\VcsRepository');.$
bc780 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 61 72 74 69 66 61 63 74 rm->setRepositoryClass('artifact
bc7a0 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 74 69 66 61 63 74 ',.'Composer\Repository\Artifact
bc7c0 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 Repository');.$rm->setRepository
bc7e0 43 6c 61 73 73 28 27 70 61 74 68 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f Class('path',.'Composer\Reposito
bc800 72 79 5c 50 61 74 68 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 6d ry\PathRepository');..return.$rm
bc820 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.....private.static.function.
bc840 63 72 65 61 74 65 52 65 70 6f 73 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 createRepos(RepositoryManager.$r
bc860 6d 2c 20 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 73 29 0a 7b 0a 24 72 65 70 6f 73 20 m,.array.$repoConfigs).{.$repos.
bc880 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 43 6f 6e 66 69 67 =.array();..foreach.($repoConfig
bc8a0 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 72 65 70 6f 29 20 7b 0a 69 66 20 28 69 73 5f 73 s.as.$index.=>.$repo).{.if.(is_s
bc8c0 74 72 69 6e 67 28 24 72 65 70 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 tring($repo)).{.throw.new.\Unexp
bc8e0 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 22 72 65 70 6f 73 69 74 6f 72 69 ectedValueException('"repositori
bc900 65 73 22 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 20 72 65 70 6f 73 69 es".should.be.an.array.of.reposi
bc920 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c 65 20 tory.definitions,.only.a.single.
bc940 72 65 70 6f 73 69 74 6f 72 79 20 77 61 73 20 67 69 76 65 6e 27 29 3b 0a 7d 0a 69 66 20 28 21 69 repository.was.given');.}.if.(!i
bc960 73 5f 61 72 72 61 79 28 24 72 65 70 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 s_array($repo)).{.throw.new.\Une
bc980 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 xpectedValueException('Repositor
bc9a0 79 20 22 27 2e 24 69 6e 64 65 78 2e 27 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 y."'.$index.'".('.json_encode($r
bc9c0 65 70 6f 29 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 epo).').should.be.an.array,.'.ge
bc9e0 74 74 79 70 65 28 24 72 65 70 6f 29 2e 27 20 67 69 76 65 6e 27 29 3b 0a 7d 0a 69 66 20 28 21 69 ttype($repo).'.given');.}.if.(!i
bca00 73 73 65 74 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 sset($repo['type'])).{.throw.new
bca20 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 70 6f .\UnexpectedValueException('Repo
bca40 73 69 74 6f 72 79 20 22 27 2e 24 69 6e 64 65 78 2e 27 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f sitory."'.$index.'".('.json_enco
bca60 64 65 28 24 72 65 70 6f 29 2e 27 29 20 6d 75 73 74 20 68 61 76 65 20 61 20 74 79 70 65 20 64 65 de($repo).').must.have.a.type.de
bca80 66 69 6e 65 64 27 29 3b 0a 7d 0a 24 6e 61 6d 65 20 3d 20 69 73 5f 69 6e 74 28 24 69 6e 64 65 78 fined');.}.$name.=.is_int($index
bcaa0 29 20 26 26 20 69 73 73 65 74 28 24 72 65 70 6f 5b 27 75 72 6c 27 5d 29 20 3f 20 70 72 65 67 5f ).&&.isset($repo['url']).?.preg_
bcac0 72 65 70 6c 61 63 65 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 69 27 2c 20 27 27 2c 20 24 72 65 replace('{^https?://}i',.'',.$re
bcae0 70 6f 5b 27 75 72 6c 27 5d 29 20 3a 20 24 69 6e 64 65 78 3b 0a 77 68 69 6c 65 20 28 69 73 73 65 po['url']).:.$index;.while.(isse
bcb00 74 28 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 2e 3d 20 27 32 27 t($repos[$name])).{.$name..=.'2'
bcb20 3b 0a 7d 0a 69 66 20 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 20 3d 3d 3d 20 27 66 69 6c 65 73 ;.}.if.($repo['type'].===.'files
bcb40 79 73 74 65 6d 27 29 20 7b 0a 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 20 3d 20 6e 65 77 20 46 69 ystem').{.$repos[$name].=.new.Fi
bcb60 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 5b 27 6a 73 6f 6e 27 5d lesystemRepository($repo['json']
bcb80 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 72 6d 2d );.}.else.{.$repos[$name].=.$rm-
bcba0 3e 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 2c >createRepository($repo['type'],
bcbc0 20 24 72 65 70 6f 2c 20 24 69 6e 64 65 78 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 .$repo,.$index);.}.}..return.$re
bcbe0 70 6f 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 pos;.}.}.<?php............namesp
bcc00 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f ace.Composer\Repository;..use.Co
bcc20 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b mposer\Package\PackageInterface;
bcc40 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 .........interface.RepositoryInt
bcc60 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 erface.extends.\Countable.{.cons
bcc80 74 20 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 45 41 t.SEARCH_FULLTEXT.=.0;.const.SEA
bcca0 52 43 48 5f 4e 41 4d 45 20 3d 20 31 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e RCH_NAME.=.1;.........public.fun
bccc0 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 ction.hasPackage(PackageInterfac
bcce0 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e e.$package);..........public.fun
bcd00 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 ction.findPackage($name,.$constr
bcd20 61 69 6e 74 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 aint);..........public.function.
bcd40 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 findPackages($name,.$constraint.
bcd60 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 =.null);.......public.function.g
bcd80 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 etPackages();..........public.fu
bcda0 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 29 nction.search($query,.$mode.=.0)
bcdc0 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 ;.}.<?php............namespace.C
bcde0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 omposer\Repository;..use.Compose
bce00 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 r\IO\IOInterface;.use.Composer\C
bce20 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 onfig;.use.Composer\EventDispatc
bce40 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 her\EventDispatcher;.use.Compose
bce60 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 r\Package\PackageInterface;.use.
bce80 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a Composer\Util\RemoteFilesystem;.
bcea0 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 0a ........class.RepositoryManager.
bcec0 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 70 72 69 76 {.private.$localRepository;.priv
bcee0 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 ate.$repositories.=.array();.pri
bcf00 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 vate.$repositoryClasses.=.array(
bcf20 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b );.private.$io;.private.$config;
bcf40 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 70 72 69 76 61 .private.$eventDispatcher;.priva
bcf60 74 65 20 24 72 66 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 te.$rfs;..public.function.__cons
bcf80 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 truct(IOInterface.$io,.Config.$c
bcfa0 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 onfig,.EventDispatcher.$eventDis
bcfc0 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d patcher.=.null,.RemoteFilesystem
bcfe0 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b .$rfs.=.null).{.$this->io.=.$io;
bd000 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d .$this->config.=.$config;.$this-
bd020 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 >eventDispatcher.=.$eventDispatc
bd040 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a her;.$this->rfs.=.$rfs;.}.......
bd060 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 ...public.function.findPackage($
bd080 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 name,.$constraint).{.foreach.($t
bd0a0 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 his->repositories.as.$repository
bd0c0 29 20 7b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d ).{..if.($package.=.$repository-
bd0e0 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 >findPackage($name,.$constraint)
bd100 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ).{.return.$package;.}.}..return
bd120 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .null;.}..........public.functio
bd140 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e n.findPackages($name,.$constrain
bd160 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 t).{.$packages.=.array();..forea
bd180 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 20 61 73 20 ch.($this->getRepositories().as.
bd1a0 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 $repository).{.$packages.=.array
bd1c0 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 _merge($packages,.$repository->f
bd1e0 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 indPackages($name,.$constraint))
bd200 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ;.}..return.$packages;.}.......p
bd220 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 ublic.function.addRepository(Rep
bd240 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a ositoryInterface.$repository).{.
bd260 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 $this->repositories[].=.$reposit
bd280 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 ory;.}.........public.function.p
bd2a0 72 65 70 65 6e 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 rependRepository(RepositoryInter
bd2c0 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 face.$repository).{.array_unshif
bd2e0 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 72 65 70 6f 73 69 74 6f t($this->repositories,.$reposito
bd300 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ry);.}...........public.function
bd320 20 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 74 79 70 65 2c 20 24 63 6f 6e 66 69 67 .createRepository($type,.$config
bd340 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 ,.$name.=.null).{.if.(!isset($th
bd360 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 70 65 5d 29 29 20 7b is->repositoryClasses[$type])).{
bd380 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
bd3a0 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 74 79 70 65 20 69 73 20 6e 6f 74 20 72 65 67 tion('Repository.type.is.not.reg
bd3c0 69 73 74 65 72 65 64 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 istered:.'.$type);.}..if.(isset(
bd3e0 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 27 5d 29 20 26 26 20 66 61 6c 73 65 20 3d $config['packagist']).&&.false.=
bd400 3d 3d 20 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 27 5d 29 20 7b 0a 24 74 68 69 73 ==.$config['packagist']).{.$this
bd420 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 52 65 70 6f 73 ->io->writeError('<warning>Repos
bd440 69 74 6f 72 79 20 22 27 2e 24 6e 61 6d 65 2e 27 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 itory."'.$name.'".('.json_encode
bd460 28 24 63 6f 6e 66 69 67 29 2e 27 29 20 68 61 73 20 61 20 70 61 63 6b 61 67 69 73 74 20 6b 65 79 ($config).').has.a.packagist.key
bd480 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 69 74 73 20 6f 77 6e 20 72 65 70 6f .which.should.be.in.its.own.repo
bd4a0 73 69 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d sitory.definition</warning>');.}
bd4c0 0a 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 ..$class.=.$this->repositoryClas
bd4e0 73 65 73 5b 24 74 79 70 65 5d 3b 0a 0a 24 72 65 66 6c 4d 65 74 68 6f 64 20 3d 20 6e 65 77 20 5c ses[$type];..$reflMethod.=.new.\
bd500 52 65 66 6c 65 63 74 69 6f 6e 4d 65 74 68 6f 64 28 24 63 6c 61 73 73 2c 20 27 5f 5f 63 6f 6e 73 ReflectionMethod($class,.'__cons
bd520 74 72 75 63 74 27 29 3b 0a 24 70 61 72 61 6d 73 20 3d 20 24 72 65 66 6c 4d 65 74 68 6f 64 2d 3e truct');.$params.=.$reflMethod->
bd540 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 72 61 getParameters();.if.(isset($para
bd560 6d 73 5b 34 5d 29 20 26 26 20 24 70 61 72 61 6d 73 5b 34 5d 2d 3e 67 65 74 43 6c 61 73 73 28 29 ms[4]).&&.$params[4]->getClass()
bd580 20 26 26 20 24 70 61 72 61 6d 73 5b 34 5d 2d 3e 67 65 74 43 6c 61 73 73 28 29 2d 3e 67 65 74 4e .&&.$params[4]->getClass()->getN
bd5a0 61 6d 65 28 29 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 ame().===.'Composer\Util\RemoteF
bd5c0 69 6c 65 73 79 73 74 65 6d 27 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 24 63 6c 61 73 73 28 ilesystem').{.return.new.$class(
bd5e0 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 $config,.$this->io,.$this->confi
bd600 67 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 74 68 69 73 g,.$this->eventDispatcher,.$this
bd620 2d 3e 72 66 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f ->rfs);.}..return.new.$class($co
bd640 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 nfig,.$this->io,.$this->config,.
bd660 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a $this->eventDispatcher);.}......
bd680 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 ..public.function.setRepositoryC
bd6a0 6c 61 73 73 28 24 74 79 70 65 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 lass($type,.$class).{.$this->rep
bd6c0 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 63 6c 61 73 73 3b 0a ositoryClasses[$type].=.$class;.
bd6e0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 }.......public.function.getRepos
bd700 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 itories().{.return.$this->reposi
bd720 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tories;.}.......public.function.
bd740 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 57 72 69 74 61 62 6c 65 52 65 70 6f 73 setLocalRepository(WritableRepos
bd760 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 24 74 itoryInterface.$repository).{.$t
bd780 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 72 65 70 6f 73 69 74 6f his->localRepository.=.$reposito
bd7a0 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c ry;.}.......public.function.getL
bd7c0 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ocalRepository().{.return.$this-
bd7e0 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a >localRepository;.}.}.<?php.....
bd800 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 .......namespace.Composer\Reposi
bd820 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 tory;.......class.RepositorySecu
bd840 72 69 74 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e rityException.extends.\Exception
bd860 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .{.}.<?php............namespace.
bd880 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f Composer\Repository\Vcs;..use.Co
bd8a0 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c mposer\Cache;.use.Composer\Downl
bd8c0 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f oader\TransportException;.use.Co
bd8e0 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 mposer\Json\JsonFile;.use.Compos
bd900 65 72 5c 55 74 69 6c 5c 42 69 74 62 75 63 6b 65 74 3b 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 er\Util\Bitbucket;..abstract.cla
bd920 73 73 20 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 ss.BitbucketDriver.extends.VcsDr
bd940 69 76 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 iver.{..protected.$cache;.protec
bd960 74 65 64 20 24 6f 77 6e 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 ted.$owner;.protected.$repositor
bd980 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 49 73 73 75 65 73 3b 0a 70 72 6f 74 65 63 74 y;.protected.$hasIssues;.protect
bd9a0 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 ed.$rootIdentifier;.protected.$t
bd9c0 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 ags;.protected.$branches;.protec
bd9e0 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 ted.$infoCache.=.array();.protec
bda00 74 65 64 20 24 62 72 61 6e 63 68 65 73 55 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 ted.$branchesUrl.=.'';.protected
bda20 20 24 74 61 67 73 55 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 6f 6d 65 55 .$tagsUrl.=.'';.protected.$homeU
bda40 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 65 62 73 69 74 65 20 3d 20 27 27 rl.=.'';.protected.$website.=.''
bda60 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 20 3d 20 27 27 3b ;.protected.$cloneHttpsUrl.=.'';
bda80 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 3b 0a .....protected.$fallbackDriver;.
bdaa0 0a 70 72 6f 74 65 63 74 65 64 20 24 76 63 73 54 79 70 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .protected.$vcsType;.....public.
bdac0 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 function.initialize().{.preg_mat
bdae0 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b ch('#^https?://bitbucket\.org/([
bdb00 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 5c 2e 67 69 74 7c 2f 3f 29 24 23 27 2c 20 24 74 68 ^/]+)/([^/]+?)(\.git|/?)$#',.$th
bdb20 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d is->url,.$match);.$this->owner.=
bdb40 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 .$match[1];.$this->repository.=.
bdb60 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 62 $match[2];.$this->originUrl.=.'b
bdb80 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 itbucket.org';.$this->cache.=.ne
bdba0 77 20 43 61 63 68 65 28 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 69 6d 70 6c 6f 64 65 28 27 2f 27 2c w.Cache(.$this->io,.implode('/',
bdbc0 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 .array(.$this->config->get('cach
bdbe0 65 2d 72 65 70 6f 2d 64 69 72 27 29 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a e-repo-dir'),.$this->originUrl,.
bdc00 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c $this->owner,.$this->repository,
bdc20 0a 29 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .)).);.}.....public.function.get
bdc40 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 Url().{.if.($this->fallbackDrive
bdc60 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 r).{.return.$this->fallbackDrive
bdc80 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c r->getUrl();.}..return.$this->cl
bdca0 6f 6e 65 48 74 74 70 73 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 oneHttpsUrl;.}........protected.
bdcc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 44 61 74 61 28 29 0a 7b 0a 24 72 65 73 6f 75 72 function.getRepoData().{.$resour
bdce0 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 ce.=.sprintf(.'https://api.bitbu
bdd00 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 3f cket.org/2.0/repositories/%s/%s?
bdd20 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 %s',.$this->owner,.$this->reposi
bdd40 74 6f 72 79 2c 0a 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 27 66 tory,.http_build_query(.array('f
bdd60 69 65 6c 64 73 27 20 3d 3e 20 27 2d 70 72 6f 6a 65 63 74 2c 2d 6f 77 6e 65 72 27 29 2c 0a 6e 75 ields'.=>.'-project,-owner'),.nu
bdd80 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 ll,.'&'.).);..$repoData.=.JsonFi
bdda0 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 le::parseJson($this->getContents
bddc0 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 2c 20 WithOAuthCredentials($resource,.
bdde0 74 72 75 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 true),.$resource);.if.($this->fa
bde00 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a llbackDriver).{.return.false;.}.
bde20 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6c 6f 6e 65 55 72 6c 73 28 24 72 65 70 6f 44 61 74 61 5b $this->parseCloneUrls($repoData[
bde40 27 6c 69 6e 6b 73 27 5d 5b 27 63 6c 6f 6e 65 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 49 'links']['clone']);..$this->hasI
bde60 73 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 72 65 70 6f 44 61 74 61 5b 27 68 61 73 5f 69 73 ssues.=.!empty($repoData['has_is
bde80 73 75 65 73 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 55 72 6c 20 3d 20 24 72 sues']);.$this->branchesUrl.=.$r
bdea0 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 62 72 61 6e 63 68 65 73 27 5d 5b 27 68 72 epoData['links']['branches']['hr
bdec0 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 74 61 67 73 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 ef'];.$this->tagsUrl.=.$repoData
bdee0 5b 27 6c 69 6e 6b 73 27 5d 5b 27 74 61 67 73 27 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 ['links']['tags']['href'];.$this
bdf00 2d 3e 68 6f 6d 65 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 ->homeUrl.=.$repoData['links']['
bdf20 68 74 6d 6c 27 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 77 65 62 73 69 74 65 20 3d html']['href'];.$this->website.=
bdf40 20 24 72 65 70 6f 44 61 74 61 5b 27 77 65 62 73 69 74 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 76 63 .$repoData['website'];.$this->vc
bdf60 73 54 79 70 65 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 73 63 6d 27 5d 3b 0a 0a 72 65 74 75 72 sType.=.$repoData['scm'];..retur
bdf80 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 n.true;.}.....public.function.ge
bdfa0 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 tComposerInformation($identifier
bdfc0 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b ).{.if.($this->fallbackDriver).{
bdfe0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 .return.$this->fallbackDriver->g
be000 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 etComposerInformation($identifie
be020 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 r);.}..if.(!isset($this->infoCac
be040 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 he[$identifier])).{.if.($this->s
be060 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 houldCache($identifier).&&.$res.
be080 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 =.$this->cache->read($identifier
be0a0 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 )).{.return.$this->infoCache[$id
be0c0 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 entifier].=.JsonFile::parseJson(
be0e0 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 $res);.}..$composer.=.$this->get
be100 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 BaseComposerInformation($identif
be120 69 65 72 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 ier);....if.(!isset($composer['s
be140 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d 20 upport']['source'])).{.$label.=.
be160 61 72 72 61 79 5f 73 65 61 72 63 68 28 0a 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 74 68 69 73 array_search(.$identifier,.$this
be180 2d 3e 67 65 74 54 61 67 73 28 29 0a 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 0a 24 ->getTags().).?:.array_search(.$
be1a0 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 identifier,.$this->getBranches()
be1c0 0a 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 .).?:.$identifier;..if.(array_ke
be1e0 79 5f 65 78 69 73 74 73 28 24 6c 61 62 65 6c 2c 20 24 74 61 67 73 20 3d 20 24 74 68 69 73 2d 3e y_exists($label,.$tags.=.$this->
be200 67 65 74 54 61 67 73 28 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 74 61 67 73 5b 24 6c 61 62 getTags())).{.$hash.=.$tags[$lab
be220 65 6c 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 el];.}.elseif.(array_key_exists(
be240 24 6c 61 62 65 6c 2c 20 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 $label,.$branches.=.$this->getBr
be260 61 6e 63 68 65 73 28 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 anches())).{.$hash.=.$branches[$
be280 6c 61 62 65 6c 5d 3b 0a 7d 0a 0a 69 66 20 28 21 20 69 73 73 65 74 28 24 68 61 73 68 29 29 20 7b label];.}..if.(!.isset($hash)).{
be2a0 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 .$composer['support']['source'].
be2c0 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 63 =.sprintf(.'https://%s/%s/%s/src
be2e0 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 ',.$this->originUrl,.$this->owne
be300 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b r,.$this->repository.);.}.else.{
be320 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 .$composer['support']['source'].
be340 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 63 =.sprintf(.'https://%s/%s/%s/src
be360 2f 25 73 2f 3f 61 74 3d 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 /%s/?at=%s',.$this->originUrl,.$
be380 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a this->owner,.$this->repository,.
be3a0 24 68 61 73 68 2c 0a 24 6c 61 62 65 6c 0a 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 $hash,.$label.);.}.}.if.(!isset(
be3c0 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 29 20 $composer['support']['issues']).
be3e0 26 26 20 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 &&.$this->hasIssues).{.$composer
be400 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 ['support']['issues'].=.sprintf(
be420 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 0a 24 74 68 69 .'https://%s/%s/%s/issues',.$thi
be440 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 s->originUrl,.$this->owner,.$thi
be460 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 s->repository.);.}.if.(!isset($c
be480 6f 6d 70 6f 73 65 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 omposer['homepage'])).{.$compose
be4a0 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 20 3d 20 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 77 65 62 r['homepage'].=.empty($this->web
be4c0 73 69 74 65 29 20 3f 20 24 74 68 69 73 2d 3e 68 6f 6d 65 55 72 6c 20 3a 20 24 74 68 69 73 2d 3e site).?.$this->homeUrl.:.$this->
be4e0 77 65 62 73 69 74 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 website;.}..$this->infoCache[$id
be500 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 69 66 20 28 24 74 68 69 entifier].=.$composer;..if.($thi
be520 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 s->shouldCache($identifier)).{.$
be540 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 this->cache->write($identifier,.
be560 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 json_encode($composer));.}.}..re
be580 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 turn.$this->infoCache[$identifie
be5a0 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c r];.}.....public.function.getFil
be5c0 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 eContent($file,.$identifier).{.i
be5e0 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 f.($this->fallbackDriver).{.retu
be600 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 46 69 6c rn.$this->fallbackDriver->getFil
be620 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a eContent($file,.$identifier);.}.
be640 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 .$resource.=.sprintf(.'https://a
be660 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 pi.bitbucket.org/1.0/repositorie
be680 73 2f 25 73 2f 25 73 2f 72 61 77 2f 25 73 2f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 s/%s/%s/raw/%s/%s',.$this->owner
be6a0 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 ,.$this->repository,.$identifier
be6c0 2c 0a 24 66 69 6c 65 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e ,.$file.);..return.$this->getCon
be6e0 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 tentsWithOAuthCredentials($resou
be700 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 rce);.}.....public.function.getC
be720 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 hangeDate($identifier).{.if.($th
be740 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 is->fallbackDriver).{.return.$th
be760 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 is->fallbackDriver->getChangeDat
be780 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 e($identifier);.}..$resource.=.s
be7a0 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f printf(.'https://api.bitbucket.o
be7c0 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 2f 63 6f 6d 6d 69 74 rg/2.0/repositories/%s/%s/commit
be7e0 2f 25 73 3f 66 69 65 6c 64 73 3d 64 61 74 65 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a /%s?fields=date',.$this->owner,.
be800 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 0a 29 $this->repository,.$identifier.)
be820 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 ;.$commit.=.JsonFile::parseJson(
be840 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 $this->getContentsWithOAuthCrede
be860 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a ntials($resource),.$resource);..
be880 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 74 5b 27 64 61 return.new.\DateTime($commit['da
be8a0 74 65 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 te']);.}.....public.function.get
be8c0 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d Source($identifier).{.if.($this-
be8e0 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d >fallbackDriver).{.return.$this-
be900 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e >fallbackDriver->getSource($iden
be920 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 tifier);.}..return.array('type'.
be940 3d 3e 20 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 =>.$this->vcsType,.'url'.=>.$thi
be960 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 s->getUrl(),.'reference'.=>.$ide
be980 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ntifier);.}.....public.function.
be9a0 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 getDist($identifier).{.if.($this
be9c0 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ->fallbackDriver).{.return.$this
be9e0 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 ->fallbackDriver->getDist($ident
bea00 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 ifier);.}..$url.=.sprintf(.'http
bea20 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 25 73 2f 25 73 2f 67 65 74 2f 25 73 2e 7a s://bitbucket.org/%s/%s/get/%s.z
bea40 69 70 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 ip',.$this->owner,.$this->reposi
bea60 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 tory,.$identifier.);..return.arr
bea80 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 ay('type'.=>.'zip',.'url'.=>.$ur
beaa0 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 l,.'reference'.=>.$identifier,.'
beac0 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e shasum'.=>.'');.}.....public.fun
beae0 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c ction.getTags().{.if.($this->fal
beb00 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c lbackDriver).{.return.$this->fal
beb20 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e lbackDriver->getTags();.}..if.(n
beb40 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 ull.===.$this->tags).{.$this->ta
beb60 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 gs.=.array();.$resource.=.sprint
beb80 66 28 0a 27 25 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 74 61 67 73 55 72 6c 2c 0a 68 74 74 70 f(.'%s?%s',.$this->tagsUrl,.http
beba0 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d _build_query(.array(.'pagelen'.=
bebc0 3e 20 31 30 30 2c 0a 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c >.100,.'fields'.=>.'values.name,
bebe0 76 61 6c 75 65 73 2e 74 61 72 67 65 74 2e 68 61 73 68 2c 6e 65 78 74 27 2c 0a 27 73 6f 72 74 27 values.target.hash,next',.'sort'
bec00 20 3d 3e 20 27 2d 74 61 72 67 65 74 2e 64 61 74 65 27 2c 0a 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 .=>.'-target.date',.),.null,.'&'
bec20 0a 29 0a 29 3b 0a 24 68 61 73 4e 65 78 74 20 3d 20 74 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 68 .).);.$hasNext.=.true;.while.($h
bec40 61 73 4e 65 78 74 29 20 7b 0a 24 74 61 67 73 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a asNext).{.$tagsData.=.JsonFile::
bec60 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 parseJson($this->getContentsWith
bec80 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 OAuthCredentials($resource),.$re
beca0 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 5b 27 76 61 6c source);.foreach.($tagsData['val
becc0 75 65 73 27 5d 20 61 73 20 24 64 61 74 61 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 64 ues'].as.$data).{.$this->tags[$d
bece0 61 74 61 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 64 61 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 ata['name']].=.$data['target']['
bed00 68 61 73 68 27 5d 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 61 67 73 44 61 74 61 5b 27 6e hash'];.}.if.(empty($tagsData['n
bed20 65 78 74 27 5d 29 29 20 7b 0a 24 68 61 73 4e 65 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c ext'])).{.$hasNext.=.false;.}.el
bed40 73 65 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 61 67 73 44 61 74 61 5b 27 6e 65 78 74 se.{.$resource.=.$tagsData['next
bed60 27 5d 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 '];.}.}.if.($this->vcsType.===.'
bed80 68 67 27 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 74 61 67 73 5b 27 74 69 70 27 5d 29 hg').{.unset($this->tags['tip'])
beda0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a ;.}.}..return.$this->tags;.}....
bedc0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b .public.function.getBranches().{
bede0 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 .if.($this->fallbackDriver).{.re
bee00 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 42 turn.$this->fallbackDriver->getB
bee20 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 ranches();.}..if.(null.===.$this
bee40 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 ->branches).{.$this->branches.=.
bee60 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 array();.$resource.=.sprintf(.'%
bee80 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 55 72 6c 2c 0a 68 74 74 70 5f s?%s',.$this->branchesUrl,.http_
beea0 62 75 69 6c 64 5f 71 75 65 72 79 28 0a 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d 3e build_query(.array(.'pagelen'.=>
beec0 20 31 30 30 2c 0a 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c 76 .100,.'fields'.=>.'values.name,v
beee0 61 6c 75 65 73 2e 74 61 72 67 65 74 2e 68 61 73 68 2c 76 61 6c 75 65 73 2e 68 65 61 64 73 2c 6e alues.target.hash,values.heads,n
bef00 65 78 74 27 2c 0a 27 73 6f 72 74 27 20 3d 3e 20 27 2d 74 61 72 67 65 74 2e 64 61 74 65 27 2c 0a ext',.'sort'.=>.'-target.date',.
bef20 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 24 68 61 73 4e 65 78 74 20 3d 20 74 72 75 ),.null,.'&'.).);.$hasNext.=.tru
bef40 65 3b 0a 77 68 69 6c 65 20 28 24 68 61 73 4e 65 78 74 29 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 e;.while.($hasNext).{.$branchDat
bef60 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 a.=.JsonFile::parseJson($this->g
bef80 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 etContentsWithOAuthCredentials($
befa0 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 resource),.$resource);.foreach.(
befc0 24 62 72 61 6e 63 68 44 61 74 61 5b 27 76 61 6c 75 65 73 27 5d 20 61 73 20 24 64 61 74 61 29 20 $branchData['values'].as.$data).
befe0 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 68 67 27 20 {...if.($this->vcsType.===.'hg'.
bf000 26 26 20 65 6d 70 74 79 28 24 64 61 74 61 5b 27 68 65 61 64 73 27 5d 29 29 20 7b 0a 63 6f 6e 74 &&.empty($data['heads'])).{.cont
bf020 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 64 61 74 61 5b 27 inue;.}..$this->branches[$data['
bf040 6e 61 6d 65 27 5d 5d 20 3d 20 24 64 61 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 68 61 73 68 27 name']].=.$data['target']['hash'
bf060 5d 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 ];.}.if.(empty($branchData['next
bf080 27 5d 29 29 20 7b 0a 24 68 61 73 4e 65 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 '])).{.$hasNext.=.false;.}.else.
bf0a0 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 27 {.$resource.=.$branchData['next'
bf0c0 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 ];.}.}.}..return.$this->branches
bf0e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ;.}..........protected.function.
bf100 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 getContentsWithOAuthCredentials(
bf120 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 $url,.$fetchingRepoData.=.false)
bf140 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 .{.try.{.return.parent::getConte
bf160 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 nts($url);.}.catch.(TransportExc
bf180 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 eption.$e).{.$bitbucketUtil.=.ne
bf1a0 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f w.Bitbucket($this->io,.$this->co
bf1c0 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d nfig,.$this->process,.$this->rem
bf1e0 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 69 66 20 28 34 30 33 20 3d 3d 3d 20 24 65 2d oteFilesystem);..if.(403.===.$e-
bf200 3e 67 65 74 43 6f 64 65 28 29 20 7c 7c 20 28 34 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f >getCode().||.(401.===.$e->getCo
bf220 64 65 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c de().&&.strpos($e->getMessage(),
bf240 20 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 .'Could.not.authenticate.against
bf260 27 29 20 3d 3d 3d 20 30 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 ').===.0)).{.if.(!$this->io->has
bf280 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 Authentication($this->originUrl)
bf2a0 0a 26 26 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 .&&.$bitbucketUtil->authorizeOAu
bf2c0 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 th($this->originUrl).).{.return.
bf2e0 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 parent::getContents($url);.}..if
bf300 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 .(!$this->io->isInteractive().&&
bf320 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 .$fetchingRepoData).{.return.$th
bf340 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 7d 0a is->attemptCloneFallback();.}.}.
bf360 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 .throw.$e;.}.}.......abstract.pr
bf380 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 otected.function.generateSshUrl(
bf3a0 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c );..protected.function.attemptCl
bf3c0 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 oneFallback().{.try.{.$this->set
bf3e0 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 upFallbackDriver($this->generate
bf400 53 73 68 55 72 6c 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 SshUrl());.}.catch.(\RuntimeExce
bf420 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 ption.$e).{.$this->fallbackDrive
bf440 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 r.=.null;..$this->io->writeError
bf460 28 0a 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 20 (.'<error>Failed.to.clone.the.'.
bf480 2e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 20 2e 20 27 20 72 65 ..$this->generateSshUrl()...'.re
bf4a0 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 pository,.try.running.in.interac
bf4c0 74 69 76 65 20 6d 6f 64 65 27 0a 2e 20 27 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 tive.mode'...'.so.that.you.can.e
bf4e0 6e 74 65 72 20 79 6f 75 72 20 42 69 74 62 75 63 6b 65 74 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d nter.your.Bitbucket.OAuth.consum
bf500 65 72 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 0a 29 3b 0a 74 68 72 6f 77 er.credentials</error>'.);.throw
bf520 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 .$e;.}.}......abstract.protected
bf540 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 .function.setupFallbackDriver($u
bf560 72 6c 29 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 rl);......protected.function.par
bf580 73 65 43 6c 6f 6e 65 55 72 6c 73 28 61 72 72 61 79 20 24 63 6c 6f 6e 65 4c 69 6e 6b 73 29 0a 7b seCloneUrls(array.$cloneLinks).{
bf5a0 0a 66 6f 72 65 61 63 68 20 28 24 63 6c 6f 6e 65 4c 69 6e 6b 73 20 61 73 20 24 63 6c 6f 6e 65 4c .foreach.($cloneLinks.as.$cloneL
bf5c0 69 6e 6b 29 20 7b 0a 69 66 20 28 24 63 6c 6f 6e 65 4c 69 6e 6b 5b 27 6e 61 6d 65 27 5d 20 3d 3d ink).{.if.($cloneLink['name'].==
bf5e0 3d 20 27 68 74 74 70 73 27 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 =.'https').{.....$this->cloneHtt
bf600 70 73 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 68 74 74 70 73 3a 5c 2f 5c psUrl.=.preg_replace('/https:\/\
bf620 2f 28 5b 5e 40 5d 2b 40 29 3f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 63 6c 6f 6e 65 /([^@]+@)?/',.'https://',.$clone
bf640 4c 69 6e 6b 5b 27 68 72 65 66 27 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 Link['href']);.}.}.}.....protect
bf660 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 0a ed.function.getMainBranchData().
bf680 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f {.$resource.=.sprintf(.'https://
bf6a0 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 api.bitbucket.org/1.0/repositori
bf6c0 65 73 2f 25 73 2f 25 73 2f 6d 61 69 6e 2d 62 72 61 6e 63 68 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 es/%s/%s/main-branch',.$this->ow
bf6e0 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 0a 72 65 74 75 72 ner,.$this->repository.);..retur
bf700 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 n.JsonFile::parseJson($this->get
bf720 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 ContentsWithOAuthCredentials($re
bf740 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a source),.$resource);.}.}.<?php..
bf760 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ..........namespace.Composer\Rep
bf780 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 ository\Vcs;..use.Composer\Confi
bf7a0 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 g;.use.Composer\Util\ProcessExec
bf7c0 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 utor;.use.Composer\Util\Filesyst
bf7e0 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b em;.use.Composer\IO\IOInterface;
bf800 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 73 73 69 6c 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 .....class.FossilDriver.extends.
bf820 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f VcsDriver.{.protected.$tags;.pro
bf840 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f tected.$branches;.protected.$roo
bf860 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 46 69 6c 65 tIdentifier;.protected.$repoFile
bf880 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 68 65 63 6b 6f 75 74 44 69 72 3b 0a 70 72 6f 74 65 63 ;.protected.$checkoutDir;.protec
bf8a0 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 ted.$infoCache.=.array();.....pu
bf8c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 0a 20 24 blic.function.initialize().{...$
bf8e0 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 73 73 69 6c 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 this->checkFossil();....$this->c
bf900 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 74 68 69 73 onfig->prohibitUrlByConfig($this
bf920 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 46 69 6c 65 ->url,.$this->io);......if.(File
bf940 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 20 system::isLocalPath($this->url).
bf960 26 26 20 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e &&.is_dir($this->url)).{.$this->
bf980 63 68 65 63 6b 6f 75 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 checkoutDir.=.$this->url;.}.else
bf9a0 20 7b 0a 24 6c 6f 63 61 6c 4e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b .{.$localName.=.preg_replace('{[
bf9c0 5e 61 2d 7a 30 2d 39 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 ^a-z0-9]}i',.'-',.$this->url);.$
bf9e0 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e this->repoFile.=.$this->config->
bfa00 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 6c get('cache-repo-dir')...'/'...$l
bfa20 6f 63 61 6c 4e 61 6d 65 20 2e 20 27 2e 66 6f 73 73 69 6c 27 3b 0a 24 74 68 69 73 2d 3e 63 68 65 ocalName...'.fossil';.$this->che
bfa40 63 6b 6f 75 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 ckoutDir.=.$this->config->get('c
bfa60 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 6c 6f 63 61 6c 4e 61 6d ache-vcs-dir')...'/'...$localNam
bfa80 65 20 2e 20 27 2f 27 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4c 6f 63 61 6c 52 65 70 6f e...'/';..$this->updateLocalRepo
bfaa0 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e ();.}..$this->getTags();.$this->
bfac0 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 getBranches();.}.....protected.f
bfae0 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f 73 73 69 6c 28 29 0a 7b 0a 69 66 20 28 30 20 21 3d unction.checkFossil().{.if.(0.!=
bfb00 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 =.$this->process->execute('fossi
bfb20 6c 20 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 l.version',.$ignoredOutput)).{.t
bfb40 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 66 6f 73 73 hrow.new.\RuntimeException("foss
bfb60 69 6c 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 il.was.not.found,.check.that.it.
bfb80 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e is.installed.and.in.your.PATH.en
bfba0 76 2e 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 v.\n\n"...$this->process->getErr
bfbc0 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 orOutput());.}.}.....protected.f
bfbe0 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 4c 6f 63 61 6c 52 65 70 6f 28 29 0a 7b 0a 24 66 73 20 unction.updateLocalRepo().{.$fs.
bfc00 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 =.new.Filesystem();.$fs->ensureD
bfc20 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 irectoryExists($this->checkoutDi
bfc40 72 29 3b 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 r);..if.(!is_writable(dirname($t
bfc60 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 his->checkoutDir))).{.throw.new.
bfc80 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 \RuntimeException('Can.not.clone
bfca0 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 .'.$this->url.'.to.access.packag
bfcc0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 63 68 65 e.information..The."'.$this->che
bfce0 63 6b 6f 75 74 44 69 72 2e 27 22 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 ckoutDir.'".directory.is.not.wri
bfd00 74 61 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a table.by.the.current.user.');.}.
bfd20 0a 0a 20 69 66 20 28 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 20 ...if.(is_file($this->repoFile).
bfd40 26 26 20 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 20 26 26 &&.is_dir($this->checkoutDir).&&
bfd60 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 .0.===.$this->process->execute('
bfd80 66 6f 73 73 69 6c 20 69 6e 66 6f 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 fossil.info',.$output,.$this->ch
bfda0 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 eckoutDir)).{.if.(0.!==.$this->p
bfdc0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 70 75 6c 6c 27 2c 20 24 rocess->execute('fossil.pull',.$
bfde0 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 output,.$this->checkoutDir)).{.$
bfe00 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 this->io->writeError('<error>Fai
bfe20 6c 65 64 20 74 6f 20 75 70 64 61 74 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 led.to.update.'.$this->url.',.pa
bfe40 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f ckage.information.from.this.repo
bfe60 73 69 74 6f 72 79 20 6d 61 79 20 62 65 20 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 68 69 73 2d sitory.may.be.outdated.('.$this-
bfe80 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 29 3c 2f 65 >process->getErrorOutput().')</e
bfea0 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 65 6d 6f 76 rror>');.}.}.else.{...$fs->remov
bfec0 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a eDirectory($this->checkoutDir);.
bfee0 24 66 73 2d 3e 72 65 6d 6f 76 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 3b 0a 0a 24 $fs->remove($this->repoFile);..$
bff00 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d fs->ensureDirectoryExists($this-
bff20 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d >checkoutDir);..if.(0.!==.$this-
bff40 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 >process->execute(sprintf('fossi
bff60 6c 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a l.clone.%s.%s',.ProcessExecutor:
bff80 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 :escape($this->url),.ProcessExec
bffa0 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 utor::escape($this->repoFile)),.
bffc0 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f $output)).{.$output.=.$this->pro
bffe0 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e cess->getErrorOutput();..throw.n
c0000 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 ew.\RuntimeException('Failed.to.
c0020 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 72 65 70 6f 73 69 74 6f clone.'.$this->url.'.to.reposito
c0040 72 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 20 2e 20 22 5c 6e 5c 6e 22 20 ry.'...$this->repoFile..."\n\n".
c0060 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 .$output);.}..if.(0.!==.$this->p
c0080 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 rocess->execute(sprintf('fossil.
c00a0 6f 70 65 6e 20 25 73 20 2d 2d 6e 65 73 74 65 64 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 open.%s.--nested',.ProcessExecut
c00c0 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 24 6f or::escape($this->repoFile)),.$o
c00e0 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 6f utput,.$this->checkoutDir)).{.$o
c0100 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 utput.=.$this->process->getError
c0120 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 Output();..throw.new.\RuntimeExc
c0140 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6f 70 65 6e 20 72 65 70 6f 73 69 74 6f 72 eption('Failed.to.open.repositor
c0160 79 20 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 2e 27 20 69 6e 20 27 20 2e 20 24 74 68 y.'.$this->repoFile.'.in.'...$th
c0180 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 20 2e 20 22 5c 6e 5c 6e 22 20 2e 24 6f 75 74 70 75 is->checkoutDir..."\n\n"..$outpu
c01a0 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 t);.}.}.}.....public.function.ge
c01c0 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d tRootIdentifier().{.if.(null.===
c01e0 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d .$this->rootIdentifier).{.$this-
c0200 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 74 72 75 6e 6b 27 3b 0a 7d 0a 0a 72 65 >rootIdentifier.=.'trunk';.}..re
c0220 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a turn.$this->rootIdentifier;.}...
c0240 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 ..public.function.getUrl().{.ret
c0260 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e urn.$this->url;.}.....public.fun
c0280 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 ction.getSource($identifier).{.r
c02a0 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 66 6f 73 73 69 6c 27 2c 20 eturn.array('type'.=>.'fossil',.
c02c0 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 'url'.=>.$this->getUrl(),.'refer
c02e0 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ence'.=>.$identifier);.}.....pub
c0300 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 lic.function.getDist($identifier
c0320 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ).{.return.null;.}.....public.fu
c0340 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 nction.getFileContent($file,.$id
c0360 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 entifier).{.$command.=.sprintf('
c0380 66 6f 73 73 69 6c 20 63 61 74 20 2d 72 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 fossil.cat.-r.%s.%s',.ProcessExe
c03a0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 cutor::escape($identifier),.Proc
c03c0 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 essExecutor::escape($file));.$th
c03e0 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 is->process->execute($command,.$
c0400 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 content,.$this->checkoutDir);..i
c0420 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c f.(!trim($content)).{.return.nul
c0440 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 l;.}..return.$content;.}.....pub
c0460 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e lic.function.getChangeDate($iden
c0480 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 tifier).{.$this->process->execut
c04a0 65 28 27 66 6f 73 73 69 6c 20 66 69 6e 66 6f 20 2d 62 20 2d 6e 20 31 20 63 6f 6d 70 6f 73 65 72 e('fossil.finfo.-b.-n.1.composer
c04c0 2e 6a 73 6f 6e 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 .json',.$output,.$this->checkout
c04e0 44 69 72 29 3b 0a 6c 69 73 74 28 24 63 6b 6f 75 74 2c 20 24 64 61 74 65 2c 20 24 6d 65 73 73 61 Dir);.list($ckout,.$date,.$messa
c0500 67 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 ge).=.explode('.',.trim($output)
c0520 2c 20 33 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 64 61 74 ,.3);..return.new.\DateTime($dat
c0540 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a e,.new.\DateTimeZone('UTC'));.}.
c0560 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a ....public.function.getTags().{.
c0580 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 61 67 if.(null.===.$this->tags).{.$tag
c05a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 s.=.array();..$this->process->ex
c05c0 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 74 61 67 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 ecute('fossil.tag.list',.$output
c05e0 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 ,.$this->checkoutDir);.foreach.(
c0600 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 $this->process->splitLines($outp
c0620 75 74 29 20 61 73 20 24 74 61 67 29 20 7b 0a 24 74 61 67 73 5b 24 74 61 67 5d 20 3d 20 24 74 61 ut).as.$tag).{.$tags[$tag].=.$ta
c0640 67 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 74 61 67 73 3b 0a 7d 0a 0a 72 65 g;.}..$this->tags.=.$tags;.}..re
c0660 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 turn.$this->tags;.}.....public.f
c0680 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c unction.getBranches().{.if.(null
c06a0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 .===.$this->branches).{.$branche
c06c0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 20 3d 20 61 72 72 61 79 28 s.=.array();.$bookmarks.=.array(
c06e0 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 );..$this->process->execute('fos
c0700 73 69 6c 20 62 72 61 6e 63 68 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 sil.branch.list',.$output,.$this
c0720 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ->checkoutDir);.foreach.($this->
c0740 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 process->splitLines($output).as.
c0760 24 62 72 61 6e 63 68 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 70 72 65 67 5f 72 $branch).{.$branch.=.trim(preg_r
c0780 65 70 6c 61 63 65 28 27 2f 5e 5c 2a 2f 27 2c 20 27 27 2c 20 74 72 69 6d 28 24 62 72 61 6e 63 68 eplace('/^\*/',.'',.trim($branch
c07a0 29 29 29 3b 0a 24 62 72 61 6e 63 68 65 73 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 62 72 61 6e 63 )));.$branches[$branch].=.$branc
c07c0 68 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 24 62 72 61 6e 63 68 65 h;.}..$this->branches.=.$branche
c07e0 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a s;.}..return.$this->branches;.}.
c0800 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f ....public.static.function.suppo
c0820 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e rts(IOInterface.$io,.Config.$con
c0840 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 fig,.$url,.$deep.=.false).{.if.(
c0860 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 28 3f 3a 68 74 74 70 73 3f 7c 73 73 68 29 3a 2f 2f preg_match('#(^(?:https?|ssh)://
c0880 28 3f 3a 5b 5e 40 5d 40 29 3f 28 3f 3a 63 68 69 73 65 6c 61 70 70 5c 2e 63 6f 6d 7c 66 6f 73 73 (?:[^@]@)?(?:chiselapp\.com|foss
c08a0 69 6c 5c 2e 29 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b il\.))#i',.$url)).{.return.true;
c08c0 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 21 2f 66 6f 73 73 69 6c 2f 7c 5c 2e .}..if.(preg_match('!/fossil/|\.
c08e0 66 6f 73 73 69 6c 21 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a fossil!',.$url)).{.return.true;.
c0900 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 }....if.(Filesystem::isLocalPath
c0920 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 ($url)).{.$url.=.Filesystem::get
c0940 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 PlatformPath($url);.if.(!is_dir(
c0960 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 $url)).{.return.false;.}..$proce
c0980 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 0a 20 69 66 ss.=.new.ProcessExecutor();...if
c09a0 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 69 6e 66 6f .($process->execute('fossil.info
c09c0 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 ',.$output,.$url).===.0).{.retur
c09e0 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c n.true;.}.}..return.false;.}.}.<
c0a00 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
c0a20 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\Repository\Vcs;..use.Composer
c0a40 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 \Config;.use.Composer\IO\IOInter
c0a60 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 face;.....class.GitBitbucketDriv
c0a80 65 72 20 65 78 74 65 6e 64 73 20 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a er.extends.BitbucketDriver.{....
c0aa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 public.function.getRootIdentifie
c0ac0 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 r().{.if.($this->fallbackDriver)
c0ae0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d .{.return.$this->fallbackDriver-
c0b00 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c >getRootIdentifier();.}..if.(nul
c0b20 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 69 l.===.$this->rootIdentifier).{.i
c0b40 66 20 28 21 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 44 61 74 61 28 29 29 20 7b 0a 72 65 74 f.(!.$this->getRepoData()).{.ret
c0b60 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f urn.$this->fallbackDriver->getRo
c0b80 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 otIdentifier();.}..if.($this->vc
c0ba0 73 54 79 70 65 20 21 3d 3d 20 27 67 69 74 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 sType.!==.'git').{.throw.new.\Ru
c0bc0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 ntimeException(.$this->url.'.doe
c0be0 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 61 20 67 69 74 20 72 65 70 6f 73 69 74 s.not.appear.to.be.a.git.reposit
c0c00 6f 72 79 2c 20 75 73 65 20 27 2e 0a 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c ory,.use.'..$this->cloneHttpsUrl
c0c20 2e 27 20 69 66 20 74 68 69 73 20 69 73 20 61 20 6d 65 72 63 75 72 69 61 6c 20 62 69 74 62 75 63 .'.if.this.is.a.mercurial.bitbuc
c0c40 6b 65 74 20 72 65 70 6f 73 69 74 6f 72 79 27 0a 29 3b 0a 7d 0a 0a 24 6d 61 69 6e 42 72 61 6e 63 ket.repository'.);.}..$mainBranc
c0c60 68 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 hData.=.$this->getMainBranchData
c0c80 28 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 21 65 6d 70 ();.$this->rootIdentifier.=.!emp
c0ca0 74 79 28 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 6d ty($mainBranchData['name']).?.$m
c0cc0 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 27 6d 61 73 74 65 72 27 ainBranchData['name'].:.'master'
c0ce0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 ;.}..return.$this->rootIdentifie
c0d00 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 r;.}.....public.static.function.
c0d20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 supports(IOInterface.$io,.Config
c0d40 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b .$config,.$url,.$deep.=.false).{
c0d60 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 .if.(!preg_match('#^https?://bit
c0d80 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 5c 2e 67 69 74 24 23 bucket\.org/([^/]+)/(.+?)\.git$#
c0da0 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 ',.$url)).{.return.false;.}..if.
c0dc0 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b (!extension_loaded('openssl')).{
c0de0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 .$io->writeError('Skipping.Bitbu
c0e00 63 6b 65 74 20 67 69 74 20 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 cket.git.driver.for.'.$url.'.bec
c0e20 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 ause.the.OpenSSL.PHP.extension.i
c0e40 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a s.missing.',.true,.IOInterface::
c0e60 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 VERBOSE);..return.false;.}..retu
c0e80 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f rn.true;.}.....protected.functio
c0ea0 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 n.setupFallbackDriver($url).{.$t
c0ec0 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 his->fallbackDriver.=.new.GitDri
c0ee0 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 ver(.array('url'.=>.$url),.$this
c0f00 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 ->io,.$this->config,.$this->proc
c0f20 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a ess,.$this->remoteFilesystem.);.
c0f40 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a $this->fallbackDriver->initializ
c0f60 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 e();.}.....protected.function.ge
c0f80 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e nerateSshUrl().{.return.'git@'..
c0fa0 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 20 2e 20 24 74 68 69 73 2d .$this->originUrl...':'...$this-
c0fc0 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 >owner.'/'.$this->repository.'.g
c0fe0 69 74 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 it';.}.}.<?php............namesp
c1000 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 ace.Composer\Repository\Vcs;..us
c1020 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b e.Composer\Util\ProcessExecutor;
c1040 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 .use.Composer\Util\Filesystem;.u
c1060 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b se.Composer\Util\Git.as.GitUtil;
c1080 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Composer\IO\IOInterface;.us
c10a0 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 e.Composer\Cache;.use.Composer\C
c10c0 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 44 72 69 76 65 72 20 65 78 74 65 6e onfig;.....class.GitDriver.exten
c10e0 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b ds.VcsDriver.{.protected.$cache;
c1100 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 .protected.$tags;.protected.$bra
c1120 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 nches;.protected.$rootIdentifier
c1140 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 ;.protected.$repoDir;.protected.
c1160 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $infoCache.=.array();.....public
c1180 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 6c .function.initialize().{.if.(Fil
c11a0 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 esystem::isLocalPath($this->url)
c11c0 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b ).{.$this->url.=.preg_replace('{
c11e0 5b 5c 5c 2f 5d 5c 2e 67 69 74 2f 3f 24 7d 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 [\\/]\.git/?$}',.'',.$this->url)
c1200 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 24 ;.$this->repoDir.=.$this->url;.$
c1220 63 61 63 68 65 55 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b cacheUrl.=.realpath($this->url);
c1240 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 .}.else.{.$this->repoDir.=.$this
c1260 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e ->config->get('cache-vcs-dir')..
c1280 20 27 2f 27 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d .'/'...preg_replace('{[^a-z0-9.]
c12a0 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 2f 27 3b 0a 0a 47 69 }i',.'-',.$this->url)...'/';..Gi
c12c0 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 tUtil::cleanEnv();..$fs.=.new.Fi
c12e0 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 lesystem();.$fs->ensureDirectory
c1300 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 3b Exists(dirname($this->repoDir));
c1320 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 ..if.(!is_writable(dirname($this
c1340 2d 3e 72 65 70 6f 44 69 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d ->repoDir))).{.throw.new.\Runtim
c1360 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 eException('Can.not.clone.'.$thi
c1380 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 s->url.'.to.access.package.infor
c13a0 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 27 2e 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 mation..The."'.dirname($this->re
c13c0 70 6f 44 69 72 29 2e 27 22 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 poDir).'".directory.is.not.writa
c13e0 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 69 ble.by.the.current.user.');.}..i
c1400 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b 5e 40 5d 2b 40 5b 5e 3a f.(preg_match('{^ssh://[^@]+@[^:
c1420 5d 2b 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 74 68 72 ]+:[^0-9]+}',.$this->url)).{.thr
c1440 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
c1460 28 27 54 68 65 20 73 6f 75 72 63 65 20 55 52 4c 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 ('The.source.URL.'.$this->url.'.
c1480 69 73 20 69 6e 76 61 6c 69 64 2c 20 73 73 68 20 55 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 is.invalid,.ssh.URLs.should.have
c14a0 20 61 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 61 66 74 65 72 20 22 3a 22 2e 27 2e 22 5c 6e 22 2e .a.port.number.after.":".'."\n".
c14c0 27 55 73 65 20 73 73 68 3a 2f 2f 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 32 32 2f 70 61 'Use.ssh://git@example.com:22/pa
c14e0 74 68 20 6f 72 20 6a 75 73 74 20 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 70 61 74 68 20 th.or.just.git@example.com:path.
c1500 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 if.you.do.not.want.to.provide.a.
c1520 70 61 73 73 77 6f 72 64 20 6f 72 20 63 75 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a 24 password.or.custom.port.');.}..$
c1540 67 69 74 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 28 24 74 68 69 73 2d 3e 69 6f 2c gitUtil.=.new.GitUtil($this->io,
c1560 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 .$this->config,.$this->process,.
c1580 24 66 73 29 3b 0a 69 66 20 28 21 24 67 69 74 55 74 69 6c 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 $fs);.if.(!$gitUtil->syncMirror(
c15a0 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 24 $this->url,.$this->repoDir)).{.$
c15c0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 this->io->writeError('<error>Fai
c15e0 6c 65 64 20 74 6f 20 75 70 64 61 74 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 led.to.update.'.$this->url.',.pa
c1600 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f ckage.information.from.this.repo
c1620 73 69 74 6f 72 79 20 6d 61 79 20 62 65 20 6f 75 74 64 61 74 65 64 3c 2f 65 72 72 6f 72 3e 27 29 sitory.may.be.outdated</error>')
c1640 3b 0a 7d 0a 0a 24 63 61 63 68 65 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a ;.}..$cacheUrl.=.$this->url;.}..
c1660 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e $this->getTags();.$this->getBran
c1680 63 68 65 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 ches();..$this->cache.=.new.Cach
c16a0 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 e($this->io,.$this->config->get(
c16c0 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 'cache-repo-dir').'/'.preg_repla
c16e0 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 63 61 63 68 65 55 ce('{[^a-z0-9.]}i',.'-',.$cacheU
c1700 72 6c 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 rl));.}.....public.function.getR
c1720 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 ootIdentifier().{.if.(null.===.$
c1740 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 this->rootIdentifier).{.$this->r
c1760 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 3b 0a 0a 0a 20 24 74 68 ootIdentifier.=.'master';....$th
c1780 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 is->process->execute('git.branch
c17a0 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 .--no-color',.$output,.$this->re
c17c0 70 6f 44 69 72 29 3b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 poDir);.$branches.=.$this->proce
c17e0 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 21 69 6e ss->splitLines($output);.if.(!in
c1800 5f 61 72 72 61 79 28 27 2a 20 6d 61 73 74 65 72 27 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b _array('*.master',.$branches)).{
c1820 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 62 72 61 6e 63 68 29 20 .foreach.($branches.as.$branch).
c1840 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c {.if.($branch.&&.preg_match('{^\
c1860 2a 20 2b 28 5c 53 2b 29 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a *.+(\S+)}',.$branch,.$match)).{.
c1880 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 $this->rootIdentifier.=.$match[1
c18a0 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ];.break;.}.}.}.}..return.$this-
c18c0 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 >rootIdentifier;.}.....public.fu
c18e0 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e nction.getUrl().{.return.$this->
c1900 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f url;.}.....public.function.getSo
c1920 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 urce($identifier).{.return.array
c1940 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 ('type'.=>.'git',.'url'.=>.$this
c1960 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e ->getUrl(),.'reference'.=>.$iden
c1980 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tifier);.}.....public.function.g
c19a0 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c etDist($identifier).{.return.nul
c19c0 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 l;.}.....public.function.getFile
c19e0 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 72 Content($file,.$identifier).{.$r
c1a00 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3a 25 73 27 2c 20 50 72 6f 63 65 esource.=.sprintf('%s:%s',.Proce
c1a20 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c ssExecutor::escape($identifier),
c1a40 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 .ProcessExecutor::escape($file))
c1a60 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 ;.$this->process->execute(sprint
c1a80 66 28 27 67 69 74 20 73 68 6f 77 20 25 73 27 2c 20 24 72 65 73 6f 75 72 63 65 29 2c 20 24 63 6f f('git.show.%s',.$resource),.$co
c1aa0 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 ntent,.$this->repoDir);..if.(!tr
c1ac0 69 6d 28 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a im($content)).{.return.null;.}..
c1ae0 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 return.$content;.}.....public.fu
c1b00 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 nction.getChangeDate($identifier
c1b20 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 ).{.$this->process->execute(spri
c1b40 6e 74 66 28 0a 27 67 69 74 20 6c 6f 67 20 2d 31 20 2d 2d 66 6f 72 6d 61 74 3d 25 25 61 74 20 25 ntf(.'git.log.-1.--format=%%at.%
c1b60 73 27 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 s',.ProcessExecutor::escape($ide
c1b80 6e 74 69 66 69 65 72 29 0a 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f ntifier).),.$output,.$this->repo
c1ba0 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e Dir);..return.new.\DateTime('@'.
c1bc0 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 trim($output),.new.\DateTimeZone
c1be0 28 27 55 54 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ('UTC'));.}.....public.function.
c1c00 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e getTags().{.if.(null.===.$this->
c1c20 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a tags).{.$this->tags.=.array();..
c1c40 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 68 6f $this->process->execute('git.sho
c1c60 77 2d 72 65 66 20 2d 2d 74 61 67 73 20 2d 2d 64 65 72 65 66 65 72 65 6e 63 65 27 2c 20 24 6f 75 w-ref.--tags.--dereference',.$ou
c1c80 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 tput,.$this->repoDir);.foreach.(
c1ca0 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c $output.=.$this->process->splitL
c1cc0 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 ines($output).as.$tag).{.if.($ta
c1ce0 67 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d g.&&.preg_match('{^([a-f0-9]{40}
c1d00 29 20 72 65 66 73 2f 74 61 67 73 2f 28 5c 53 2b 3f 29 28 5c 5e 5c 7b 5c 7d 29 3f 24 7d 27 2c 20 ).refs/tags/(\S+?)(\^\{\})?$}',.
c1d20 24 74 61 67 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 6d 61 $tag,.$match)).{.$this->tags[$ma
c1d40 74 63 68 5b 32 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 tch[2]].=.$match[1];.}.}.}..retu
c1d60 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rn.$this->tags;.}.....public.fun
c1d80 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d ction.getBranches().{.if.(null.=
c1da0 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 ==.$this->branches).{.$branches.
c1dc0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 =.array();..$this->process->exec
c1de0 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d ute('git.branch.--no-color.--no-
c1e00 61 62 62 72 65 76 20 2d 76 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f abbrev.-v',.$output,.$this->repo
c1e20 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 Dir);.foreach.($this->process->s
c1e40 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b plitLines($output).as.$branch).{
c1e60 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 .if.($branch.&&.!preg_match('{^.
c1e80 2a 5b 5e 2f 5d 2b 2f 48 45 41 44 20 7d 27 2c 20 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 *[^/]+/HEAD.}',.$branch)).{.if.(
c1ea0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 3f 20 2a 28 5c 53 2b 29 20 2a 28 preg_match('{^(?:\*.)?.*(\S+).*(
c1ec0 5b 61 2d 66 30 2d 39 5d 2b 29 28 3f 3a 20 2e 2a 29 3f 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 [a-f0-9]+)(?:..*)?$}',.$branch,.
c1ee0 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 $match)).{.$branches[$match[1]].
c1f00 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 =.$match[2];.}.}.}..$this->branc
c1f20 68 65 73 20 3d 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 hes.=.$branches;.}..return.$this
c1f40 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ->branches;.}.....public.static.
c1f60 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 function.supports(IOInterface.$i
c1f80 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d o,.Config.$config,.$url,.$deep.=
c1fa0 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 67 69 74 .false).{.if.(preg_match('#(^git
c1fc0 3a 2f 2f 7c 5c 2e 67 69 74 2f 3f 24 7c 67 69 74 28 3f 3a 6f 6c 69 74 65 29 3f 40 7c 2f 2f 67 69 ://|\.git/?$|git(?:olite)?@|//gi
c1fe0 74 5c 2e 7c 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a t\.|//github.com/)#i',.$url)).{.
c2000 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d return.true;.}....if.(Filesystem
c2020 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 46 69 ::isLocalPath($url)).{.$url.=.Fi
c2040 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 75 72 6c 29 3b lesystem::getPlatformPath($url);
c2060 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c .if.(!is_dir($url)).{.return.fal
c2080 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 se;.}..$process.=.new.ProcessExe
c20a0 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 cutor($io);...if.($process->exec
c20c0 75 74 65 28 27 67 69 74 20 74 61 67 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d ute('git.tag',.$output,.$url).==
c20e0 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 64 =.0).{.return.true;.}.}..if.(!$d
c2100 65 65 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 eep).{.return.false;.}..$process
c2120 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 72 65 .=.new.ProcessExecutor($io);..re
c2140 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 73 2d 72 turn.$process->execute('git.ls-r
c2160 65 6d 6f 74 65 20 2d 2d 68 65 61 64 73 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f emote.--heads.'...ProcessExecuto
c2180 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b r::escape($url),.$output).===.0;
c21a0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
c21c0 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f Composer\Repository\Vcs;..use.Co
c21e0 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e mposer\Config;.use.Composer\Down
c2200 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 loader\TransportException;.use.C
c2220 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Json\JsonFile;.use.Compo
c2240 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 ser\Cache;.use.Composer\IO\IOInt
c2260 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 48 75 62 erface;.use.Composer\Util\GitHub
c2280 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 48 75 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 ;.....class.GitHubDriver.extends
c22a0 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 .VcsDriver.{.protected.$cache;.p
c22c0 72 6f 74 65 63 74 65 64 20 24 6f 77 6e 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f rotected.$owner;.protected.$repo
c22e0 73 69 74 6f 72 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 sitory;.protected.$tags;.protect
c2300 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 ed.$branches;.protected.$rootIde
c2320 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 61 74 61 3b 0a 70 72 ntifier;.protected.$repoData;.pr
c2340 6f 74 65 63 74 65 64 20 24 68 61 73 49 73 73 75 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 otected.$hasIssues;.protected.$i
c2360 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 nfoCache.=.array();.protected.$i
c2380 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 sPrivate.=.false;.......protecte
c23a0 64 20 24 67 69 74 44 72 69 76 65 72 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f d.$gitDriver;.....public.functio
c23c0 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 n.initialize().{.preg_match('#^(
c23e0 3f 3a 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 69 74 40 ?:(?:https?|git)://([^/]+)/|git@
c2400 28 5b 5e 3a 5d 2b 29 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f ([^:]+):)([^/]+)/(.+?)(?:\.git|/
c2420 29 3f 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 )?$#',.$this->url,.$match);.$thi
c2440 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 s->owner.=.$match[3];.$this->rep
c2460 6f 73 69 74 6f 72 79 20 3d 20 24 6d 61 74 63 68 5b 34 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 ository.=.$match[4];.$this->orig
c2480 69 6e 55 72 6c 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 24 6d 61 74 inUrl.=.!empty($match[1]).?.$mat
c24a0 63 68 5b 31 5d 20 3a 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 72 ch[1].:.$match[2];.if.($this->or
c24c0 69 67 69 6e 55 72 6c 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a iginUrl.===.'www.github.com').{.
c24e0 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b $this->originUrl.=.'github.com';
c2500 0a 7d 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 .}.$this->cache.=.new.Cache($thi
c2520 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 s->io,.$this->config->get('cache
c2540 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c -repo-dir').'/'.$this->originUrl
c2560 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 .'/'.$this->owner.'/'.$this->rep
c2580 6f 73 69 74 6f 72 79 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f ository);..if.(isset($this->repo
c25a0 43 6f 6e 66 69 67 5b 27 6e 6f 2d 61 70 69 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f Config['no-api']).&&.$this->repo
c25c0 43 6f 6e 66 69 67 5b 27 6e 6f 2d 61 70 69 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 Config['no-api']).{.$this->setup
c25e0 47 69 74 44 72 69 76 65 72 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a GitDriver($this->url);..return;.
c2600 7d 0a 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b }..$this->fetchRootIdentifier();
c2620 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 .}..public.function.getRepositor
c2640 79 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 74 68 69 73 yUrl().{.return.'https://'.$this
c2660 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 ->originUrl.'/'.$this->owner.'/'
c2680 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$this->repository;.}.....public
c26a0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a .function.getRootIdentifier().{.
c26c0 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 if.($this->gitDriver).{.return.$
c26e0 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 this->gitDriver->getRootIdentifi
c2700 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 er();.}..return.$this->rootIdent
c2720 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ifier;.}.....public.function.get
c2740 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a Url().{.if.($this->gitDriver).{.
c2760 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 55 72 6c 28 return.$this->gitDriver->getUrl(
c2780 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 74 68 69 73 2d );.}..return.'https://'...$this-
c27a0 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f >originUrl...'/'.$this->owner.'/
c27c0 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 0a '.$this->repository.'.git';.}...
c27e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 6c 28 29 ..protected.function.getApiUrl()
c2800 0a 7b 0a 69 66 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f .{.if.('github.com'.===.$this->o
c2820 72 69 67 69 6e 55 72 6c 29 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 27 61 70 69 2e 67 69 74 68 75 riginUrl).{.$apiUrl.=.'api.githu
c2840 62 2e 63 6f 6d 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 24 74 68 69 73 b.com';.}.else.{.$apiUrl.=.$this
c2860 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 2f 61 70 69 2f 76 33 27 3b 0a 7d 0a 0a 72 65 74 75 ->originUrl...'/api/v3';.}..retu
c2880 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 61 70 69 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 rn.'https://'...$apiUrl;.}.....p
c28a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 ublic.function.getSource($identi
c28c0 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a fier).{.if.($this->gitDriver).{.
c28e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 return.$this->gitDriver->getSour
c2900 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 ce($identifier);.}.if.($this->is
c2920 50 72 69 76 61 74 65 29 20 7b 0a 0a 20 0a 20 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e Private).{.....$url.=.$this->gen
c2940 65 72 61 74 65 53 73 68 55 72 6c 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 24 erateSshUrl();.}.else.{.$url.=.$
c2960 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 this->getUrl();.}..return.array(
c2980 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 'type'.=>.'git',.'url'.=>.$url,.
c29a0 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 'reference'.=>.$identifier);.}..
c29c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e ...public.function.getDist($iden
c29e0 74 69 66 69 65 72 29 0a 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 tifier).{.$url.=.$this->getApiUr
c2a00 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 l()...'/repos/'.$this->owner.'/'
c2a20 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 7a 69 70 62 61 6c 6c 2f 27 2e 24 .$this->repository.'/zipball/'.$
c2a40 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 identifier;..return.array('type'
c2a60 20 3d 3e 20 27 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 .=>.'zip',.'url'.=>.$url,.'refer
c2a80 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d ence'.=>.$identifier,.'shasum'.=
c2aa0 3e 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 >.'');.}.....public.function.get
c2ac0 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 ComposerInformation($identifier)
c2ae0 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 .{.if.($this->gitDriver).{.retur
c2b00 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 n.$this->gitDriver->getComposerI
c2b20 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 nformation($identifier);.}..if.(
c2b40 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 !isset($this->infoCache[$identif
c2b60 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 ier])).{.if.($this->shouldCache(
c2b80 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 $identifier).&&.$res.=.$this->ca
c2ba0 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e che->read($identifier)).{.return
c2bc0 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d .$this->infoCache[$identifier].=
c2be0 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 .JsonFile::parseJson($res);.}..$
c2c00 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 composer.=.$this->getBaseCompose
c2c20 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 69 66 20 28 24 rInformation($identifier);.if.($
c2c40 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f composer).{....if.(!isset($compo
c2c60 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 ser['support']['source'])).{.$la
c2c80 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 bel.=.array_search($identifier,.
c2ca0 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 $this->getTags()).?:.array_searc
c2cc0 68 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 h($identifier,.$this->getBranche
c2ce0 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 s()).?:.$identifier;.$composer['
c2d00 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 support']['source'].=.sprintf('h
c2d20 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 74 72 65 65 2f 25 73 27 2c 20 24 74 68 69 73 2d ttps://%s/%s/%s/tree/%s',.$this-
c2d40 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 68 69 73 2d >originUrl,.$this->owner,.$this-
c2d60 3e 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 6c 61 62 65 6c 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 >repository,.$label);.}.if.(!iss
c2d80 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 et($composer['support']['issues'
c2da0 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f ]).&&.$this->hasIssues).{.$compo
c2dc0 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e ser['support']['issues'].=.sprin
c2de0 74 66 28 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 20 24 74 tf('https://%s/%s/%s/issues',.$t
c2e00 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 his->originUrl,.$this->owner,.$t
c2e20 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 his->repository);.}.}..if.($this
c2e40 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 ->shouldCache($identifier)).{.$t
c2e60 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a his->cache->write($identifier,.j
c2e80 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 son_encode($composer));.}..$this
c2ea0 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 ->infoCache[$identifier].=.$comp
c2ec0 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 oser;.}..return.$this->infoCache
c2ee0 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 [$identifier];.}.....public.func
c2f00 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e tion.getFileContent($file,.$iden
c2f20 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 tifier).{.if.($this->gitDriver).
c2f40 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 46 69 {.return.$this->gitDriver->getFi
c2f60 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d leContent($file,.$identifier);.}
c2f80 0a 0a 24 6e 6f 74 46 6f 75 6e 64 52 65 74 72 69 65 73 20 3d 20 32 3b 0a 77 68 69 6c 65 20 28 24 ..$notFoundRetries.=.2;.while.($
c2fa0 6e 6f 74 46 6f 75 6e 64 52 65 74 72 69 65 73 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 73 6f 75 72 notFoundRetries).{.try.{.$resour
c2fc0 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f ce.=.$this->getApiUrl()...'/repo
c2fe0 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f s/'.$this->owner.'/'.$this->repo
c3000 73 69 74 6f 72 79 2e 27 2f 63 6f 6e 74 65 6e 74 73 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 3f sitory.'/contents/'...$file...'?
c3020 72 65 66 3d 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 72 ref='.urlencode($identifier);.$r
c3040 65 73 6f 75 72 63 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 esource.=.JsonFile::parseJson($t
c3060 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 29 3b 0a 69 66 his->getContents($resource));.if
c3080 20 28 65 6d 70 74 79 28 24 72 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 20 7c 7c .(empty($resource['content']).||
c30a0 20 24 72 65 73 6f 75 72 63 65 5b 27 65 6e 63 6f 64 69 6e 67 27 5d 20 21 3d 3d 20 27 62 61 73 65 .$resource['encoding'].!==.'base
c30c0 36 34 27 20 7c 7c 20 21 28 24 63 6f 6e 74 65 6e 74 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 64'.||.!($content.=.base64_decod
c30e0 65 28 24 72 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 29 29 20 7b 0a 74 68 72 6f e($resource['content']))).{.thro
c3100 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e w.new.\RuntimeException('Could.n
c3120 6f 74 20 72 65 74 72 69 65 76 65 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 66 6f 72 20 27 2e ot.retrieve.'...$file...'.for.'.
c3140 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 $identifier);.}..return.$content
c3160 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 ;.}.catch.(TransportException.$e
c3180 29 20 7b 0a 69 66 20 28 34 30 34 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b ).{.if.(404.!==.$e->getCode()).{
c31a0 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 0a 20 24 6e 6f 74 46 6f 75 6e 64 52 65 74 72 69 .throw.$e;.}......$notFoundRetri
c31c0 65 73 2d 2d 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 es--;..return.null;.}.}..return.
c31e0 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 null;.}.....public.function.getC
c3200 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 hangeDate($identifier).{.if.($th
c3220 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 is->gitDriver).{.return.$this->g
c3240 69 74 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 itDriver->getChangeDate($identif
c3260 69 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 ier);.}..$resource.=.$this->getA
c3280 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 piUrl()...'/repos/'.$this->owner
c32a0 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 63 6f 6d 6d 69 74 73 .'/'.$this->repository.'/commits
c32c0 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 6d /'.urlencode($identifier);.$comm
c32e0 69 74 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e it.=.JsonFile::parseJson($this->
c3300 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 getContents($resource),.$resourc
c3320 65 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 e);..return.new.\DateTime($commi
c3340 74 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 63 6f 6d 6d 69 74 74 65 72 27 5d 5b 27 64 61 74 65 27 5d t['commit']['committer']['date']
c3360 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 );.}.....public.function.getTags
c3380 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 ().{.if.($this->gitDriver).{.ret
c33a0 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 3b urn.$this->gitDriver->getTags();
c33c0 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 .}.if.(null.===.$this->tags).{.$
c33e0 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 this->tags.=.array();.$resource.
c3400 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 =.$this->getApiUrl()...'/repos/'
c3420 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 .$this->owner.'/'.$this->reposit
c3440 6f 72 79 2e 27 2f 74 61 67 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 64 6f 20 7b 0a ory.'/tags?per_page=100';..do.{.
c3460 24 74 61 67 73 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 $tagsData.=.JsonFile::parseJson(
c3480 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 $this->getContents($resource),.$
c34a0 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 20 61 73 resource);.foreach.($tagsData.as
c34c0 20 24 74 61 67 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 74 61 67 5b 27 6e 61 6d 65 27 .$tag).{.$this->tags[$tag['name'
c34e0 5d 5d 20 3d 20 24 74 61 67 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 0a 24 ]].=.$tag['commit']['sha'];.}..$
c3500 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b resource.=.$this->getNextPage();
c3520 0a 7d 20 77 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .}.while.($resource);.}..return.
c3540 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $this->tags;.}.....public.functi
c3560 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 on.getBranches().{.if.($this->gi
c3580 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 tDriver).{.return.$this->gitDriv
c35a0 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d er->getBranches();.}.if.(null.==
c35c0 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e =.$this->branches).{.$this->bran
c35e0 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 ches.=.array();.$resource.=.$thi
c3600 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 s->getApiUrl()...'/repos/'.$this
c3620 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f ->owner.'/'.$this->repository.'/
c3640 67 69 74 2f 72 65 66 73 2f 68 65 61 64 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 24 git/refs/heads?per_page=100';..$
c3660 62 72 61 6e 63 68 42 6c 61 63 6b 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 67 68 2d 70 61 67 65 branchBlacklist.=.array('gh-page
c3680 73 27 29 3b 0a 0a 64 6f 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c s');..do.{.$branchData.=.JsonFil
c36a0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 e::parseJson($this->getContents(
c36c0 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 $resource),.$resource);.foreach.
c36e0 28 24 62 72 61 6e 63 68 44 61 74 61 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 24 6e 61 6d 65 ($branchData.as.$branch).{.$name
c3700 20 3d 20 73 75 62 73 74 72 28 24 62 72 61 6e 63 68 5b 27 72 65 66 27 5d 2c 20 31 31 29 3b 0a 69 .=.substr($branch['ref'],.11);.i
c3720 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 62 72 61 6e 63 68 42 6c 61 63 6b f.(!in_array($name,.$branchBlack
c3740 6c 69 73 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 6e 61 6d 65 5d 20 list)).{.$this->branches[$name].
c3760 3d 20 24 62 72 61 6e 63 68 5b 27 6f 62 6a 65 63 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 7d 0a =.$branch['object']['sha'];.}.}.
c3780 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 .$resource.=.$this->getNextPage(
c37a0 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 );.}.while.($resource);.}..retur
c37c0 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$this->branches;.}.....public.
c37e0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 static.function.supports(IOInter
c3800 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 face.$io,.Config.$config,.$url,.
c3820 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 $deep.=.false).{.if.(!preg_match
c3840 28 27 23 5e 28 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 ('#^((?:https?|git)://([^/]+)/|g
c3860 69 74 40 28 5b 5e 3a 5d 2b 29 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 it@([^:]+):)([^/]+)/(.+?)(?:\.gi
c3880 74 7c 2f 29 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 t|/)?$#',.$url,.$matches)).{.ret
c38a0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 21 65 6d 70 74 urn.false;.}..$originUrl.=.!empt
c38c0 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 24 y($matches[2]).?.$matches[2].:.$
c38e0 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 70 72 65 67 5f 72 matches[3];.if.(!in_array(preg_r
c3900 65 70 6c 61 63 65 28 27 7b 5e 77 77 77 5c 2e 7d 69 27 2c 20 27 27 2c 20 24 6f 72 69 67 69 6e 55 eplace('{^www\.}i',.'',.$originU
c3920 72 6c 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e rl),.$config->get('github-domain
c3940 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 s'))).{.return.false;.}..if.(!ex
c3960 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f tension_loaded('openssl')).{.$io
c3980 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 47 69 74 48 75 62 20 64 72 ->writeError('Skipping.GitHub.dr
c39a0 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 iver.for.'.$url.'.because.the.Op
c39c0 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 enSSL.PHP.extension.is.missing.'
c39e0 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a ,.true,.IOInterface::VERBOSE);..
c3a00 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a return.false;.}..return.true;.}.
c3a20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 44 61 74 ......public.function.getRepoDat
c3a40 61 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 a().{.$this->fetchRootIdentifier
c3a60 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 3b 0a 7d 0a 0a ();..return.$this->repoData;.}..
c3a80 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 .....protected.function.generate
c3aa0 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 SshUrl().{.return.'git@'...$this
c3ac0 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 ->originUrl...':'.$this->owner.'
c3ae0 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a /'.$this->repository.'.git';.}..
c3b00 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 ...protected.function.getContent
c3b20 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 s($url,.$fetchingRepoData.=.fals
c3b40 65 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e e).{.try.{.return.parent::getCon
c3b60 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 tents($url);.}.catch.(TransportE
c3b80 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 xception.$e).{.$gitHubUtil.=.new
c3ba0 20 47 69 74 48 75 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .GitHub($this->io,.$this->config
c3bc0 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 ,.$this->process,.$this->remoteF
c3be0 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 ilesystem);..switch.($e->getCode
c3c00 28 29 29 20 7b 0a 63 61 73 65 20 34 30 31 3a 0a 63 61 73 65 20 34 30 34 3a 0a 0a 20 69 66 20 28 ()).{.case.401:.case.404:...if.(
c3c20 21 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a !$fetchingRepoData).{.throw.$e;.
c3c40 7d 0a 0a 69 66 20 28 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 }..if.($gitHubUtil->authorizeOAu
c3c60 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 th($this->originUrl)).{.return.p
c3c80 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 arent::getContents($url);.}..if.
c3ca0 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a (!$this->io->isInteractive()).{.
c3cc0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 return.$this->attemptCloneFallba
c3ce0 63 6b 28 29 3b 0a 7d 0a 0a 24 73 63 6f 70 65 73 49 73 73 75 65 64 20 3d 20 61 72 72 61 79 28 29 ck();.}..$scopesIssued.=.array()
c3d00 3b 0a 24 73 63 6f 70 65 73 4e 65 65 64 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 ;.$scopesNeeded.=.array();.if.($
c3d20 68 65 61 64 65 72 73 20 3d 20 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 20 7b 0a 69 66 headers.=.$e->getHeaders()).{.if
c3d40 20 28 24 73 63 6f 70 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 .($scopes.=.$this->remoteFilesys
c3d60 74 65 6d 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 tem->findHeaderValue($headers,.'
c3d80 58 2d 4f 41 75 74 68 2d 53 63 6f 70 65 73 27 29 29 20 7b 0a 24 73 63 6f 70 65 73 49 73 73 75 65 X-OAuth-Scopes')).{.$scopesIssue
c3da0 64 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 73 63 6f 70 65 73 29 3b 0a 7d 0a 69 66 20 d.=.explode('.',.$scopes);.}.if.
c3dc0 28 24 73 63 6f 70 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 ($scopes.=.$this->remoteFilesyst
c3de0 65 6d 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 58 em->findHeaderValue($headers,.'X
c3e00 2d 41 63 63 65 70 74 65 64 2d 4f 41 75 74 68 2d 53 63 6f 70 65 73 27 29 29 20 7b 0a 24 73 63 6f -Accepted-OAuth-Scopes')).{.$sco
c3e20 70 65 73 4e 65 65 64 65 64 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 73 63 6f 70 65 73 pesNeeded.=.explode('.',.$scopes
c3e40 29 3b 0a 7d 0a 7d 0a 24 73 63 6f 70 65 73 46 61 69 6c 65 64 20 3d 20 61 72 72 61 79 5f 64 69 66 );.}.}.$scopesFailed.=.array_dif
c3e60 66 28 24 73 63 6f 70 65 73 4e 65 65 64 65 64 2c 20 24 73 63 6f 70 65 73 49 73 73 75 65 64 29 3b f($scopesNeeded,.$scopesIssued);
c3e80 0a 0a 20 0a 20 69 66 20 28 21 24 68 65 61 64 65 72 73 20 7c 7c 20 21 63 6f 75 6e 74 28 24 73 63 .....if.(!$headers.||.!count($sc
c3ea0 6f 70 65 73 4e 65 65 64 65 64 29 20 7c 7c 20 63 6f 75 6e 74 28 24 73 63 6f 70 65 73 46 61 69 6c opesNeeded).||.count($scopesFail
c3ec0 65 64 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 ed)).{.$gitHubUtil->authorizeOAu
c3ee0 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c thInteractively($this->originUrl
c3f00 2c 20 27 59 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 61 72 65 20 72 ,.'Your.GitHub.credentials.are.r
c3f20 65 71 75 69 72 65 64 20 74 6f 20 66 65 74 63 68 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 69 74 equired.to.fetch.private.reposit
c3f40 6f 72 79 20 6d 65 74 61 64 61 74 61 20 28 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c ory.metadata.(<info>'.$this->url
c3f60 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a .'</info>)');.}..return.parent::
c3f80 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 63 61 73 65 20 34 30 33 3a 0a 69 66 getContents($url);..case.403:.if
c3fa0 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 .(!$this->io->hasAuthentication(
c3fc0 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 24 67 69 74 48 75 62 55 74 69 6c $this->originUrl).&&.$gitHubUtil
c3fe0 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 ->authorizeOAuth($this->originUr
c4000 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 l)).{.return.parent::getContents
c4020 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 ($url);.}..if.(!$this->io->isInt
c4040 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 eractive().&&.$fetchingRepoData)
c4060 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c .{.return.$this->attemptCloneFal
c4080 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 24 67 69 74 68 lback();.}..$rateLimited.=.$gith
c40a0 75 62 55 74 69 6c 2d 3e 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 24 65 2d 3e 67 65 74 48 65 61 ubUtil->isRateLimited($e->getHea
c40c0 64 65 72 73 28 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 ders());..if.(!$this->io->hasAut
c40e0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b hentication($this->originUrl)).{
c4100 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 .if.(!$this->io->isInteractive()
c4120 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f ).{.$this->io->writeError('<erro
c4140 72 3e 47 69 74 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 74 65 64 2e 20 46 61 r>GitHub.API.limit.exhausted..Fa
c4160 69 6c 65 64 20 74 6f 20 67 65 74 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 74 68 65 20 27 2e 24 iled.to.get.metadata.for.the.'.$
c4180 74 68 69 73 2d 3e 75 72 6c 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e this->url.'.repository,.try.runn
c41a0 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 ing.in.interactive.mode.so.that.
c41c0 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e you.can.enter.your.GitHub.creden
c41e0 74 69 61 6c 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 41 50 49 20 6c 69 6d 69 74 3c tials.to.increase.the.API.limit<
c4200 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 67 69 74 48 75 62 55 /error>');.throw.$e;.}..$gitHubU
c4220 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 til->authorizeOAuthInteractively
c4240 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 41 50 49 20 6c 69 6d 69 74 20 65 78 ($this->originUrl,.'API.limit.ex
c4260 68 61 75 73 74 65 64 2e 20 45 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 hausted..Enter.your.GitHub.crede
c4280 6e 74 69 61 6c 73 20 74 6f 20 67 65 74 20 61 20 6c 61 72 67 65 72 20 41 50 49 20 6c 69 6d 69 74 ntials.to.get.a.larger.API.limit
c42a0 20 28 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 .(<info>'.$this->url.'</info>)')
c42c0 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 ;..return.parent::getContents($u
c42e0 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 rl);.}..if.($rateLimited).{.$rat
c4300 65 4c 69 6d 69 74 20 3d 20 24 67 69 74 68 75 62 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d eLimit.=.$githubUtil->getRateLim
c4320 69 74 28 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d it($e->getHeaders());.$this->io-
c4340 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c 65 72 72 6f 72 3e 47 69 74 >writeError(sprintf(.'<error>Git
c4360 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 28 25 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 Hub.API.limit.(%d.calls/hr).is.e
c4380 78 68 61 75 73 74 65 64 2e 20 59 6f 75 20 61 72 65 20 61 6c 72 65 61 64 79 20 61 75 74 68 6f 72 xhausted..You.are.already.author
c43a0 69 7a 65 64 20 73 6f 20 79 6f 75 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 25 ized.so.you.have.to.wait.until.%
c43c0 73 20 62 65 66 6f 72 65 20 64 6f 69 6e 67 20 6d 6f 72 65 20 72 65 71 75 65 73 74 73 3c 2f 65 72 s.before.doing.more.requests</er
c43e0 72 6f 72 3e 27 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 5d 2c 0a 24 72 61 74 ror>',.$rateLimit['limit'],.$rat
c4400 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 0a 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b eLimit['reset'].));.}..throw.$e;
c4420 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a ..default:.throw.$e;.}.}.}......
c4440 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 6f 74 49 64 65 .protected.function.fetchRootIde
c4460 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 29 ntifier().{.if.($this->repoData)
c4480 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 44 61 74 61 55 72 6c 20 3d 20 24 74 68 .{.return;.}..$repoDataUrl.=.$th
c44a0 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 is->getApiUrl()...'/repos/'.$thi
c44c0 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a s->owner.'/'.$this->repository;.
c44e0 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 .$this->repoData.=.JsonFile::par
c4500 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 70 6f 44 seJson($this->getContents($repoD
c4520 61 74 61 55 72 6c 2c 20 74 72 75 65 29 2c 20 24 72 65 70 6f 44 61 74 61 55 72 6c 29 3b 0a 69 66 ataUrl,.true),.$repoDataUrl);.if
c4540 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 20 26 26 20 6e 75 .(null.===.$this->repoData.&&.nu
c4560 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 ll.!==.$this->gitDriver).{.retur
c4580 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f n;.}..$this->owner.=.$this->repo
c45a0 44 61 74 61 5b 27 6f 77 6e 65 72 27 5d 5b 27 6c 6f 67 69 6e 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 Data['owner']['login'];.$this->r
c45c0 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6e 61 6d epository.=.$this->repoData['nam
c45e0 65 27 5d 3b 0a 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 21 65 6d 70 74 79 28 e'];..$this->isPrivate.=.!empty(
c4600 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 70 72 69 76 61 74 65 27 5d 29 3b 0a 69 66 20 $this->repoData['private']);.if.
c4620 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f (isset($this->repoData['default_
c4640 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 branch'])).{.$this->rootIdentifi
c4660 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 er.=.$this->repoData['default_br
c4680 61 6e 63 68 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 anch'];.}.elseif.(isset($this->r
c46a0 65 70 6f 44 61 74 61 5b 27 6d 61 73 74 65 72 5f 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 epoData['master_branch'])).{.$th
c46c0 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f is->rootIdentifier.=.$this->repo
c46e0 44 61 74 61 5b 27 6d 61 73 74 65 72 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a Data['master_branch'];.}.else.{.
c4700 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 $this->rootIdentifier.=.'master'
c4720 3b 0a 7d 0a 24 74 68 69 73 2d 3e 68 61 73 49 73 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 74 ;.}.$this->hasIssues.=.!empty($t
c4740 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 68 61 73 5f 69 73 73 75 65 73 27 5d 29 3b 0a 7d 0a his->repoData['has_issues']);.}.
c4760 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 .protected.function.attemptClone
c4780 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 Fallback().{.$this->isPrivate.=.
c47a0 74 72 75 65 3b 0a 0a 74 72 79 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 75 true;..try.{.........$this->setu
c47c0 70 47 69 74 44 72 69 76 65 72 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c pGitDriver($this->generateSshUrl
c47e0 28 29 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 ());..return;.}.catch.(\RuntimeE
c4800 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 xception.$e).{.$this->gitDriver.
c4820 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 =.null;..$this->io->writeError('
c4840 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 74 68 <error>Failed.to.clone.the.'.$th
c4860 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 2e 27 20 72 65 70 6f 73 69 74 6f 72 is->generateSshUrl().'.repositor
c4880 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f y,.try.running.in.interactive.mo
c48a0 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 de.so.that.you.can.enter.your.Gi
c48c0 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f tHub.credentials</error>');.thro
c48e0 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 w.$e;.}.}..protected.function.se
c4900 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 tupGitDriver($url).{.$this->gitD
c4920 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 river.=.new.GitDriver(.array('ur
c4940 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 l'.=>.$url),.$this->io,.$this->c
c4960 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 onfig,.$this->process,.$this->re
c4980 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 moteFilesystem.);.$this->gitDriv
c49a0 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 er->initialize();.}..protected.f
c49c0 75 6e 63 74 69 6f 6e 20 67 65 74 4e 65 78 74 50 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 unction.getNextPage().{.$headers
c49e0 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c .=.$this->remoteFilesystem->getL
c4a00 61 73 74 48 65 61 64 65 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 astHeaders();.foreach.($headers.
c4a20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e as.$header).{.if.(preg_match('{^
c4a40 6c 69 6e 6b 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 link:\s*(.+?)\s*$}i',.$header,.$
c4a60 6d 61 74 63 68 29 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 match)).{.$links.=.explode(',',.
c4a80 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 $match[1]);.foreach.($links.as.$
c4aa0 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e link).{.if.(preg_match('{<(.+?)>
c4ac0 3b 20 2a 72 65 6c 3d 22 6e 65 78 74 22 7d 27 2c 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 ;.*rel="next"}',.$link,.$match))
c4ae0 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d .{.return.$match[1];.}.}.}.}.}.}
c4b00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
c4b20 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Repository\Vcs;..use.Compos
c4b40 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 er\Config;.use.Composer\Cache;.u
c4b60 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 se.Composer\IO\IOInterface;.use.
c4b80 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 Composer\Json\JsonFile;.use.Comp
c4ba0 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 oser\Downloader\TransportExcepti
c4bc0 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 on;.use.Composer\Util\RemoteFile
c4be0 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 4c 61 62 system;.use.Composer\Util\GitLab
c4c00 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 4c 61 62 44 72 69 76 65 72 20 65 78 74 65 ;........class.GitLabDriver.exte
c4c20 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 65 3b nds.VcsDriver.{.private.$scheme;
c4c40 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 .private.$namespace;.private.$re
c4c60 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 6a 65 63 74 3b 0a pository;.....private.$project;.
c4c80 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 69 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ....private.$commits.=.array();.
c4ca0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 61 67 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 ....private.$tags;.....private.$
c4cc0 62 72 61 6e 63 68 65 73 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 67 69 74 44 72 branches;.......protected.$gitDr
c4ce0 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 73 50 72 69 76 61 74 65 20 3d iver;.......private.$isPrivate.=
c4d00 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 72 74 4e 75 6d 62 65 72 .true;.....protected.$portNumber
c4d20 3b 0a 0a 63 6f 6e 73 74 20 55 52 4c 5f 52 45 47 45 58 20 3d 20 27 23 5e 28 3f 3a 28 3f 50 3c 73 ;..const.URL_REGEX.=.'#^(?:(?P<s
c4d40 63 68 65 6d 65 3e 68 74 74 70 73 3f 29 3a 2f 2f 28 3f 50 3c 64 6f 6d 61 69 6e 3e 2e 2b 3f 29 28 cheme>https?)://(?P<domain>.+?)(
c4d60 3f 3a 3a 28 3f 50 3c 70 6f 72 74 3e 5b 30 2d 39 5d 2b 29 29 3f 2f 7c 67 69 74 40 28 3f 50 3c 64 ?::(?P<port>[0-9]+))?/|git@(?P<d
c4d80 6f 6d 61 69 6e 32 3e 5b 5e 3a 5d 2b 29 3a 29 28 3f 50 3c 70 61 72 74 73 3e 2e 2b 29 2f 28 3f 50 omain2>[^:]+):)(?P<parts>.+)/(?P
c4da0 3c 72 65 70 6f 3e 5b 5e 2f 5d 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 23 27 3b 0a 0a 0a <repo>[^/]+?)(?:\.git|/)?$#';...
c4dc0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 ......public.function.initialize
c4de0 28 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 55 52 4c 5f 52 ().{.if.(!preg_match(self::URL_R
c4e00 45 47 45 58 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 68 72 EGEX,.$this->url,.$match)).{.thr
c4e20 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
c4e40 28 27 54 68 65 20 55 52 4c 20 70 72 6f 76 69 64 65 64 20 69 73 20 69 6e 76 61 6c 69 64 2e 20 49 ('The.URL.provided.is.invalid..I
c4e60 74 20 6d 75 73 74 20 62 65 20 74 68 65 20 48 54 54 50 20 55 52 4c 20 6f 66 20 61 20 47 69 74 4c t.must.be.the.HTTP.URL.of.a.GitL
c4e80 61 62 20 70 72 6f 6a 65 63 74 2e 27 29 3b 0a 7d 0a 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e ab.project.');.}..$guessedDomain
c4ea0 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 29 20 3f 20 24 6d .=.!empty($match['domain']).?.$m
c4ec0 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 32 atch['domain'].:.$match['domain2
c4ee0 27 5d 3b 0a 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e '];.$configuredDomains.=.$this->
c4f00 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 3b 0a 24 config->get('gitlab-domains');.$
c4f20 75 72 6c 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 6d 61 74 63 68 5b 27 urlParts.=.explode('/',.$match['
c4f40 70 61 72 74 73 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 21 65 6d 70 74 parts']);..$this->scheme.=.!empt
c4f60 79 28 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 29 0a 3f 20 24 6d 61 74 63 68 5b 27 73 63 y($match['scheme']).?.$match['sc
c4f80 68 65 6d 65 27 5d 0a 3a 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 heme'].:.(isset($this->repoConfi
c4fa0 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f g['secure-http']).&&.$this->repo
c4fc0 43 6f 6e 66 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 20 3d 3d 3d 20 66 61 6c 73 65 20 Config['secure-http'].===.false.
c4fe0 3f 20 27 68 74 74 70 27 20 3a 20 27 68 74 74 70 73 27 29 0a 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 ?.'http'.:.'https').;.$this->ori
c5000 67 69 6e 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 ginUrl.=.$this->determineOrigin(
c5020 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 $configuredDomains,.$guessedDoma
c5040 69 6e 2c 20 24 75 72 6c 50 61 72 74 73 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 in,.$urlParts);..if.(!empty($mat
c5060 63 68 5b 27 70 6f 72 74 27 5d 29 20 26 26 20 74 72 75 65 20 3d 3d 3d 20 69 73 5f 6e 75 6d 65 72 ch['port']).&&.true.===.is_numer
c5080 69 63 28 24 6d 61 74 63 68 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 ic($match['port'])).{...$this->p
c50a0 6f 72 74 4e 75 6d 62 65 72 20 3d 20 28 69 6e 74 29 20 24 6d 61 74 63 68 5b 27 70 6f 72 74 27 5d ortNumber.=.(int).$match['port']
c50c0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3d 20 69 6d 70 6c 6f 64 65 28 ;.}..$this->namespace.=.implode(
c50e0 27 2f 27 2c 20 24 75 72 6c 50 61 72 74 73 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f '/',.$urlParts);.$this->reposito
c5100 72 79 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 28 5c 2e 67 69 74 29 24 23 27 2c 20 ry.=.preg_replace('#(\.git)$#',.
c5120 27 27 2c 20 24 6d 61 74 63 68 5b 27 72 65 70 6f 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 '',.$match['repo']);..$this->cac
c5140 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d he.=.new.Cache($this->io,.$this-
c5160 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 >config->get('cache-repo-dir').'
c5180 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6e /'.$this->originUrl.'/'.$this->n
c51a0 61 6d 65 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b amespace.'/'.$this->repository);
c51c0 0a 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 50 72 6f 6a 65 63 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ..$this->fetchProject();.}......
c51e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 ..public.function.setRemoteFiles
c5200 79 73 74 65 6d 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 ystem(RemoteFilesystem.$remoteFi
c5220 6c 65 73 79 73 74 65 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 lesystem).{.$this->remoteFilesys
c5240 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 tem.=.$remoteFilesystem;.}.....p
c5260 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 ublic.function.getFileContent($f
c5280 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 ile,.$identifier).{.if.($this->g
c52a0 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 itDriver).{.return.$this->gitDri
c52c0 76 65 72 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e ver->getFileContent($file,.$iden
c52e0 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b tifier);.}....if.(!preg_match('{
c5300 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 7d 69 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b [a-f0-9]{40}}i',.$identifier)).{
c5320 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 .$branches.=.$this->getBranches(
c5340 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 );.if.(isset($branches[$identifi
c5360 65 72 5d 29 29 20 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 24 62 72 61 6e 63 68 65 73 5b er])).{.$identifier.=.$branches[
c5380 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 $identifier];.}.}..$resource.=.$
c53a0 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 66 this->getApiUrl().'/repository/f
c53c0 69 6c 65 73 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 66 69 6c 65 iles/'.$this->urlEncodeAll($file
c53e0 29 2e 27 2f 72 61 77 3f 72 65 66 3d 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 74 72 79 20 ).'/raw?ref='.$identifier;..try.
c5400 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 {.$content.=.$this->getContents(
c5420 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 $resource);.}.catch.(TransportEx
c5440 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 ception.$e).{.if.($e->getCode().
c5460 21 3d 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e !==.404).{.throw.$e;.}..return.n
c5480 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 ull;.}..return.$content;.}.....p
c54a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 ublic.function.getChangeDate($id
c54c0 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 entifier).{.if.($this->gitDriver
c54e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 ).{.return.$this->gitDriver->get
c5500 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 ChangeDate($identifier);.}..if.(
c5520 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 isset($this->commits[$identifier
c5540 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 68 69 73 ])).{.return.new.\DateTime($this
c5560 2d 3e 63 6f 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 5b 27 63 6f 6d 6d 69 74 74 65 ->commits[$identifier]['committe
c5580 64 5f 64 61 74 65 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 d_date']);.}..return.new.\DateTi
c55a0 6d 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 me();.}.....public.function.getR
c55c0 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 epositoryUrl().{.return.$this->i
c55e0 73 50 72 69 76 61 74 65 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 73 73 68 5f 75 sPrivate.?.$this->project['ssh_u
c5600 72 6c 5f 74 6f 5f 72 65 70 6f 27 5d 20 3a 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 68 rl_to_repo'].:.$this->project['h
c5620 74 74 70 5f 75 72 6c 5f 74 6f 5f 72 65 70 6f 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ttp_url_to_repo'];.}.....public.
c5640 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 function.getUrl().{.if.($this->g
c5660 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 itDriver).{.return.$this->gitDri
c5680 76 65 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ver->getUrl();.}..return.$this->
c56a0 70 72 6f 6a 65 63 74 5b 27 77 65 62 5f 75 72 6c 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 project['web_url'];.}.....public
c56c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b .function.getDist($identifier).{
c56e0 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 .$url.=.$this->getApiUrl().'/rep
c5700 6f 73 69 74 6f 72 79 2f 61 72 63 68 69 76 65 2e 7a 69 70 3f 73 68 61 3d 27 2e 24 69 64 65 6e 74 ository/archive.zip?sha='.$ident
c5720 69 66 69 65 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 ifier;..return.array('type'.=>.'
c5740 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 zip',.'url'.=>.$url,.'reference'
c5760 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 .=>.$identifier,.'shasum'.=>.'')
c5780 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 ;.}.....public.function.getSourc
c57a0 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 e($identifier).{.if.($this->gitD
c57c0 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 river).{.return.$this->gitDriver
c57e0 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 ->getSource($identifier);.}..ret
c5800 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 urn.array('type'.=>.'git',.'url'
c5820 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 2c 20 27 .=>.$this->getRepositoryUrl(),.'
c5840 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a reference'.=>.$identifier);.}...
c5860 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 ..public.function.getRootIdentif
c5880 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a ier().{.if.($this->gitDriver).{.
c58a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 return.$this->gitDriver->getRoot
c58c0 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 Identifier();.}..return.$this->p
c58e0 72 6f 6a 65 63 74 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a roject['default_branch'];.}.....
c5900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a public.function.getBranches().{.
c5920 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 if.($this->gitDriver).{.return.$
c5940 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a this->gitDriver->getBranches();.
c5960 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 }..if.(!$this->branches).{.$this
c5980 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 ->branches.=.$this->getReference
c59a0 73 28 27 62 72 61 6e 63 68 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e s('branches');.}..return.$this->
c59c0 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 branches;.}.....public.function.
c59e0 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 getTags().{.if.($this->gitDriver
c5a00 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 ).{.return.$this->gitDriver->get
c5a20 54 61 67 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 Tags();.}..if.(!$this->tags).{.$
c5a40 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 this->tags.=.$this->getReference
c5a60 73 28 27 74 61 67 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 s('tags');.}..return.$this->tags
c5a80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 ;.}.....public.function.getApiUr
c5aa0 6c 28 29 0a 7b 0a 24 64 6f 6d 61 69 6e 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 l().{.$domainName.=.$this->origi
c5ac0 6e 55 72 6c 3b 0a 24 70 6f 72 74 4e 75 6d 62 65 72 20 3d 20 28 74 72 75 65 20 3d 3d 3d 20 69 73 nUrl;.$portNumber.=.(true.===.is
c5ae0 5f 6e 75 6d 65 72 69 63 28 24 74 68 69 73 2d 3e 70 6f 72 74 4e 75 6d 62 65 72 29 29 20 3f 20 73 _numeric($this->portNumber)).?.s
c5b00 70 72 69 6e 74 66 28 27 3a 25 73 27 2c 20 24 74 68 69 73 2d 3e 70 6f 72 74 4e 75 6d 62 65 72 29 printf(':%s',.$this->portNumber)
c5b20 20 3a 20 27 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2e 27 3a 2f .:.'';..return.$this->scheme.':/
c5b40 2f 27 2e 24 64 6f 6d 61 69 6e 4e 61 6d 65 2e 24 70 6f 72 74 4e 75 6d 62 65 72 2e 27 2f 61 70 69 /'.$domainName.$portNumber.'/api
c5b60 2f 76 34 2f 70 72 6f 6a 65 63 74 73 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 /v4/projects/'.$this->urlEncodeA
c5b80 6c 6c 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 29 2e 27 25 32 46 27 2e 24 74 68 69 73 ll($this->namespace).'%2F'.$this
c5ba0 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 ->urlEncodeAll($this->repository
c5bc0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 72 6c );.}........private.function.url
c5be0 45 6e 63 6f 64 65 41 6c 6c 28 24 73 74 72 69 6e 67 29 0a 7b 0a 24 65 6e 63 6f 64 65 64 20 3d 20 EncodeAll($string).{.$encoded.=.
c5c00 27 27 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 24 73 74 72 69 6e 67 5b 24 '';.for.($i.=.0;.isset($string[$
c5c20 69 5d 29 3b 20 24 69 2b 2b 29 20 7b 0a 24 63 68 61 72 61 63 74 65 72 20 3d 20 24 73 74 72 69 6e i]);.$i++).{.$character.=.$strin
c5c40 67 5b 24 69 5d 3b 0a 69 66 20 28 21 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 63 68 61 72 61 63 74 g[$i];.if.(!ctype_alnum($charact
c5c60 65 72 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 63 68 61 72 61 63 74 65 72 2c 20 61 72 72 er).&&.!in_array($character,.arr
c5c80 61 79 28 27 2d 27 2c 20 27 5f 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 63 68 61 72 61 63 74 65 ay('-',.'_'),.true)).{.$characte
c5ca0 72 20 3d 20 27 25 27 20 2e 20 73 70 72 69 6e 74 66 28 27 25 30 32 58 27 2c 20 6f 72 64 28 24 63 r.=.'%'...sprintf('%02X',.ord($c
c5cc0 68 61 72 61 63 74 65 72 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 65 64 20 2e 3d 20 24 63 68 61 72 61 haracter));.}.$encoded..=.$chara
c5ce0 63 74 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 63 6f 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a cter;.}..return.$encoded;.}.....
c5d00 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 ..protected.function.getReferenc
c5d20 65 73 28 24 74 79 70 65 29 0a 7b 0a 24 70 65 72 50 61 67 65 20 3d 20 31 30 30 3b 0a 24 72 65 73 es($type).{.$perPage.=.100;.$res
c5d40 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 ource.=.$this->getApiUrl().'/rep
c5d60 6f 73 69 74 6f 72 79 2f 27 2e 24 74 79 70 65 2e 27 3f 70 65 72 5f 70 61 67 65 3d 27 2e 24 70 65 ository/'.$type.'?per_page='.$pe
c5d80 72 50 61 67 65 3b 0a 0a 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 64 rPage;..$references.=.array();.d
c5da0 6f 20 7b 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 o.{.$data.=.JsonFile::parseJson(
c5dc0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 $this->getContents($resource),.$
c5de0 72 65 73 6f 75 72 63 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 64 resource);..foreach.($data.as.$d
c5e00 61 74 75 6d 29 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 73 5b 24 64 61 74 75 6d 5b 27 6e 61 6d 65 atum).{.$references[$datum['name
c5e20 27 5d 5d 20 3d 20 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 69 64 27 5d 3b 0a 0a 0a ']].=.$datum['commit']['id'];...
c5e40 20 0a 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 69 74 73 5b 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 ...$this->commits[$datum['commit
c5e60 27 5d 5b 27 69 64 27 5d 5d 20 3d 20 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a ']['id']].=.$datum['commit'];.}.
c5e80 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 61 74 61 29 20 3e 3d 20 24 70 65 72 50 61 67 65 29 20 7b .if.(count($data).>=.$perPage).{
c5ea0 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 .$resource.=.$this->getNextPage(
c5ec0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d );.}.else.{.$resource.=.false;.}
c5ee0 0a 7d 20 77 68 69 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 .}.while.($resource);..return.$r
c5f00 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e eferences;.}..protected.function
c5f20 20 66 65 74 63 68 50 72 6f 6a 65 63 74 28 29 0a 7b 0a 0a 20 24 72 65 73 6f 75 72 63 65 20 3d 20 .fetchProject().{...$resource.=.
c5f40 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 6a 65 $this->getApiUrl();.$this->proje
c5f60 63 74 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e ct.=.JsonFile::parseJson($this->
c5f80 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 2c 20 74 72 75 65 29 2c 20 24 72 getContents($resource,.true),.$r
c5fa0 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 6a 65 esource);.if.(isset($this->proje
c5fc0 63 74 5b 27 76 69 73 69 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 ct['visibility'])).{.$this->isPr
c5fe0 69 76 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 76 69 73 69 62 69 6c 69 ivate.=.$this->project['visibili
c6000 74 79 27 5d 20 21 3d 3d 20 27 70 75 62 6c 69 63 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 ty'].!==.'public';.}.else.{...$t
c6020 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f his->isPrivate.=.false;.}.}..pro
c6040 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c tected.function.attemptCloneFall
c6060 62 61 63 6b 28 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 72 69 76 back().{.try.{.if.($this->isPriv
c6080 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 ate.===.false).{.$url.=.$this->g
c60a0 65 6e 65 72 61 74 65 50 75 62 6c 69 63 55 72 6c 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 eneratePublicUrl();.}.else.{.$ur
c60c0 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 3b 0a 7d 0a 0a l.=.$this->generateSshUrl();.}..
c60e0 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 6c ......$this->setupGitDriver($url
c6100 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 );..return;.}.catch.(\RuntimeExc
c6120 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 eption.$e).{.$this->gitDriver.=.
c6140 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 null;..$this->io->writeError('<e
c6160 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 75 72 6c 2e rror>Failed.to.clone.the.'.$url.
c6180 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 '.repository,.try.running.in.int
c61a0 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e eractive.mode.so.that.you.can.en
c61c0 74 65 72 20 79 6f 75 72 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a ter.your.credentials</error>');.
c61e0 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 throw.$e;.}.}.......protected.fu
c6200 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e nction.generateSshUrl().{.return
c6220 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 .'git@'...$this->originUrl...':'
c6240 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 .$this->namespace.'/'.$this->rep
c6260 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ository.'.git';.}..protected.fun
c6280 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 75 62 6c 69 63 55 72 6c 28 29 0a 7b 0a 72 65 74 75 ction.generatePublicUrl().{.retu
c62a0 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 2e 20 27 3a 2f 2f 27 20 2e 20 24 74 68 69 73 rn.$this->scheme...'://'...$this
c62c0 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 2f 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 ->originUrl...'/'.$this->namespa
c62e0 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b ce.'/'.$this->repository.'.git';
c6300 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 47 69 74 44 .}..protected.function.setupGitD
c6320 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d river($url).{.$this->gitDriver.=
c6340 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 .new.GitDriver(.array('url'.=>.$
c6360 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a url),.$this->io,.$this->config,.
c6380 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c $this->process,.$this->remoteFil
c63a0 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 69 6e 69 esystem.);.$this->gitDriver->ini
c63c0 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 tialize();.}.....protected.funct
c63e0 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 ion.getContents($url,.$fetchingR
c6400 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 72 65 73 20 3d 20 epoData.=.false).{.try.{.$res.=.
c6420 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 parent::getContents($url);..if.(
c6440 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 4a 73 6f $fetchingRepoData).{.$json.=.Jso
c6460 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 2c 20 24 75 72 6c 29 3b 0a 0a 0a nFile::parseJson($res,.$url);...
c6480 20 69 66 20 28 21 69 73 73 65 74 28 24 6a 73 6f 6e 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 .if.(!isset($json['default_branc
c64a0 68 27 5d 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f 6e 5b 27 69 64 27 5d 29 29 h'])).{.if.(!empty($json['id']))
c64c0 20 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a .{.$this->isPrivate.=.false;.}..
c64e0 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 47 69 throw.new.TransportException('Gi
c6500 74 4c 61 62 20 41 50 49 20 73 65 65 6d 73 20 74 6f 20 6e 6f 74 20 62 65 20 61 75 74 68 65 6e 74 tLab.API.seems.to.not.be.authent
c6520 69 63 61 74 65 64 20 61 73 20 69 74 20 64 69 64 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 64 65 icated.as.it.did.not.return.a.de
c6540 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e fault_branch',.401);.}.}..return
c6560 20 24 72 65 73 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 .$res;.}.catch.(TransportExcepti
c6580 6f 6e 20 24 65 29 20 7b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c 61 on.$e).{.$gitLabUtil.=.new.GitLa
c65a0 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 b($this->io,.$this->config,.$thi
c65c0 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 s->process,.$this->remoteFilesys
c65e0 74 65 6d 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b 0a tem);..switch.($e->getCode()).{.
c6600 63 61 73 65 20 34 30 31 3a 0a 63 61 73 65 20 34 30 34 3a 0a 0a 20 69 66 20 28 21 24 66 65 74 63 case.401:.case.404:...if.(!$fetc
c6620 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 hingRepoData).{.throw.$e;.}..if.
c6640 28 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 ($gitLabUtil->authorizeOAuth($th
c6660 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a is->originUrl)).{.return.parent:
c6680 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 :getContents($url);.}..if.(!$thi
c66a0 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e s->io->isInteractive()).{.return
c66c0 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a .$this->attemptCloneFallback();.
c66e0 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e }.$this->io->writeError('<warnin
c6700 67 3e 46 61 69 6c 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 27 20 2e 20 24 74 68 69 73 2d 3e g>Failed.to.download.'...$this->
c6720 6e 61 6d 65 73 70 61 63 65 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 namespace...'/'...$this->reposit
c6740 6f 72 79 20 2e 20 27 3a 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 ory...':'...$e->getMessage()...'
c6760 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f </warning>');.$gitLabUtil->autho
c6780 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 rizeOAuthInteractively($this->sc
c67a0 68 65 6d 65 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 59 6f 75 72 20 63 72 heme,.$this->originUrl,.'Your.cr
c67c0 65 64 65 6e 74 69 61 6c 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 66 65 74 63 68 20 edentials.are.required.to.fetch.
c67e0 70 72 69 76 61 74 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 65 74 61 64 61 74 61 20 28 3c 69 6e private.repository.metadata.(<in
c6800 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 0a 72 65 fo>'.$this->url.'</info>)');..re
c6820 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a turn.parent::getContents($url);.
c6840 0a 63 61 73 65 20 34 30 33 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 .case.403:.if.(!$this->io->hasAu
c6860 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 thentication($this->originUrl).&
c6880 26 20 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 &.$gitLabUtil->authorizeOAuth($t
c68a0 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 his->originUrl)).{.return.parent
c68c0 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 ::getContents($url);.}..if.(!$th
c68e0 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 is->io->isInteractive().&&.$fetc
c6900 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 hingRepoData).{.return.$this->at
c6920 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 temptCloneFallback();.}..throw.$
c6940 65 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a e;..default:.throw.$e;.}.}.}....
c6960 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f ....public.static.function.suppo
c6980 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e rts(IOInterface.$io,.Config.$con
c69a0 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 fig,.$url,.$deep.=.false).{.if.(
c69c0 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 55 52 4c 5f 52 45 47 45 58 2c 20 24 75 72 !preg_match(self::URL_REGEX,.$ur
c69e0 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 l,.$match)).{.return.false;.}..$
c6a00 73 63 68 65 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d scheme.=.!empty($match['scheme']
c6a20 29 20 3f 20 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 67 75 ).?.$match['scheme'].:.null;.$gu
c6a40 65 73 73 65 64 44 6f 6d 61 69 6e 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d essedDomain.=.!empty($match['dom
c6a60 61 69 6e 27 5d 29 20 3f 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 ain']).?.$match['domain'].:.$mat
c6a80 63 68 5b 27 64 6f 6d 61 69 6e 32 27 5d 3b 0a 24 75 72 6c 50 61 72 74 73 20 3d 20 65 78 70 6c 6f ch['domain2'];.$urlParts.=.explo
c6aa0 64 65 28 27 2f 27 2c 20 24 6d 61 74 63 68 5b 27 70 61 72 74 73 27 5d 29 3b 0a 0a 69 66 20 28 66 de('/',.$match['parts']);..if.(f
c6ac0 61 6c 73 65 20 3d 3d 3d 20 73 65 6c 66 3a 3a 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 28 alse.===.self::determineOrigin((
c6ae0 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 array).$config->get('gitlab-doma
c6b00 69 6e 73 27 29 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 24 75 72 6c 50 61 72 74 73 ins'),.$guessedDomain,.$urlParts
c6b20 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 68 74 74 70 73 )).{.return.false;.}..if.('https
c6b40 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 '.===.$scheme.&&.!extension_load
c6b60 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ed('openssl')).{.$io->writeError
c6b80 28 27 53 6b 69 70 70 69 6e 67 20 47 69 74 4c 61 62 20 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 ('Skipping.GitLab.driver.for.'.$
c6ba0 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 url.'.because.the.OpenSSL.PHP.ex
c6bc0 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e tension.is.missing.',.true,.IOIn
c6be0 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 terface::VERBOSE);..return.false
c6c00 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ;.}..return.true;.}..private.fun
c6c20 63 74 69 6f 6e 20 67 65 74 4e 65 78 74 50 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d ction.getNextPage().{.$headers.=
c6c40 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c 61 73 .$this->remoteFilesystem->getLas
c6c60 74 48 65 61 64 65 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 tHeaders();.foreach.($headers.as
c6c80 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 6c 69 .$header).{.if.(preg_match('{^li
c6ca0 6e 6b 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 nk:\s*(.+?)\s*$}i',.$header,.$ma
c6cc0 74 63 68 29 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 6d tch)).{.$links.=.explode(',',.$m
c6ce0 61 74 63 68 5b 31 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 atch[1]);.foreach.($links.as.$li
c6d00 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e 3b 20 nk).{.if.(preg_match('{<(.+?)>;.
c6d20 2a 72 65 6c 3d 22 6e 65 78 74 22 7d 27 2c 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 20 7b *rel="next"}',.$link,.$match)).{
c6d40 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a .return.$match[1];.}.}.}.}.}....
c6d60 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 ....private.static.function.dete
c6d80 72 6d 69 6e 65 4f 72 69 67 69 6e 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d rmineOrigin(array.$configuredDom
c6da0 61 69 6e 73 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 61 72 72 61 79 20 26 24 75 72 ains,.$guessedDomain,.array.&$ur
c6dc0 6c 50 61 72 74 73 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 64 44 lParts).{.if.(in_array($guessedD
c6de0 6f 6d 61 69 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 29 20 7b 0a 72 65 omain,.$configuredDomains)).{.re
c6e00 74 75 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 6e turn.$guessedDomain;.}..while.(n
c6e20 75 6c 6c 20 21 3d 3d 20 28 24 70 61 72 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 ull.!==.($part.=.array_shift($ur
c6e40 6c 50 61 72 74 73 29 29 29 20 7b 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 20 2e 3d 20 27 2f lParts))).{.$guessedDomain..=.'/
c6e60 27 20 2e 20 24 70 61 72 74 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 '...$part;..if.(in_array($guesse
c6e80 64 44 6f 6d 61 69 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 29 20 7b 0a dDomain,.$configuredDomains)).{.
c6ea0 72 65 74 75 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 return.$guessedDomain;.}.}..retu
c6ec0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e rn.false;.}.}.<?php............n
c6ee0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 amespace.Composer\Repository\Vcs
c6f00 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
c6f20 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 oser\IO\IOInterface;.....class.H
c6f40 67 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 42 69 74 62 75 63 6b gBitbucketDriver.extends.Bitbuck
c6f60 65 74 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 etDriver.{....public.function.ge
c6f80 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 tRootIdentifier().{.if.($this->f
c6fa0 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 allbackDriver).{.return.$this->f
c6fc0 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 allbackDriver->getRootIdentifier
c6fe0 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 ();.}..if.(null.===.$this->rootI
c7000 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 69 66 20 28 21 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 dentifier).{.if.(!.$this->getRep
c7020 6f 44 61 74 61 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 oData()).{.return.$this->fallbac
c7040 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a kDriver->getRootIdentifier();.}.
c7060 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 21 3d 3d 20 27 68 67 27 29 20 7b 0a .if.($this->vcsType.!==.'hg').{.
c7080 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 74 68 throw.new.\RuntimeException(.$th
c70a0 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 is->url.'.does.not.appear.to.be.
c70c0 61 20 6d 65 72 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 20 27 2e 0a 24 a.mercurial.repository,.use.'..$
c70e0 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 2e 27 20 69 66 20 74 68 69 73 20 69 73 this->cloneHttpsUrl.'.if.this.is
c7100 20 61 20 67 69 74 20 62 69 74 62 75 63 6b 65 74 20 72 65 70 6f 73 69 74 6f 72 79 27 0a 29 3b 0a .a.git.bitbucket.repository'.);.
c7120 7d 0a 0a 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4d }..$mainBranchData.=.$this->getM
c7140 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e ainBranchData();.$this->rootIden
c7160 74 69 66 69 65 72 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b tifier.=.!empty($mainBranchData[
c7180 27 6e 61 6d 65 27 5d 29 20 3f 20 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 'name']).?.$mainBranchData['name
c71a0 27 5d 20 3a 20 27 64 65 66 61 75 6c 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d '].:.'default';.}..return.$this-
c71c0 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 >rootIdentifier;.}.....public.st
c71e0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 atic.function.supports(IOInterfa
c7200 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 ce.$io,.Config.$config,.$url,.$d
c7220 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 eep.=.false).{.if.(!preg_match('
c7240 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b #^https?://bitbucket\.org/([^/]+
c7260 29 2f 28 5b 5e 2f 5d 2b 29 2f 3f 24 23 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 )/([^/]+)/?$#',.$url)).{.return.
c7280 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 false;.}..if.(!extension_loaded(
c72a0 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 'openssl')).{.$io->writeError('S
c72c0 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 68 67 20 64 72 69 76 65 72 20 66 6f 72 20 kipping.Bitbucket.hg.driver.for.
c72e0 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 '.$url.'.because.the.OpenSSL.PHP
c7300 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 .extension.is.missing.',.true,.I
c7320 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 OInterface::VERBOSE);..return.fa
c7340 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 lse;.}..return.true;.}.....prote
c7360 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 cted.function.setupFallbackDrive
c7380 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 20 r($url).{.$this->fallbackDriver.
c73a0 3d 20 6e 65 77 20 48 67 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 =.new.HgDriver(.array('url'.=>.$
c73c0 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a url),.$this->io,.$this->config,.
c73e0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c $this->process,.$this->remoteFil
c7400 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 esystem.);.$this->fallbackDriver
c7420 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ->initialize();.}.....protected.
c7440 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 75 function.generateSshUrl().{.retu
c7460 72 6e 20 27 73 73 68 3a 2f 2f 68 67 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 rn.'ssh://hg@'...$this->originUr
c7480 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 l...'/'...$this->owner.'/'.$this
c74a0 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ->repository;.}.}.<?php.........
c74c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
c74e0 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 \Vcs;..use.Composer\Config;.use.
c7500 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 75 73 65 Composer\Util\Hg.as.HgUtils;.use
c7520 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a .Composer\Util\ProcessExecutor;.
c7540 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 use.Composer\Util\Filesystem;.us
c7560 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 e.Composer\IO\IOInterface;.....c
c7580 6c 61 73 73 20 48 67 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a lass.HgDriver.extends.VcsDriver.
c75a0 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 {.protected.$tags;.protected.$br
c75c0 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 anches;.protected.$rootIdentifie
c75e0 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 r;.protected.$repoDir;.protected
c7600 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 .$infoCache.=.array();.....publi
c7620 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 c.function.initialize().{.if.(Fi
c7640 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c lesystem::isLocalPath($this->url
c7660 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c )).{.$this->repoDir.=.$this->url
c7680 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f ;.}.else.{.$cacheDir.=.$this->co
c76a0 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 3b 0a 24 74 68 69 nfig->get('cache-vcs-dir');.$thi
c76c0 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 63 61 63 68 65 44 69 72 20 2e 20 27 2f 27 20 2e 20 70 s->repoDir.=.$cacheDir...'/'...p
c76e0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5d 7d 69 27 2c 20 27 2d 27 2c reg_replace('{[^a-z0-9]}i',.'-',
c7700 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 2f 27 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 .$this->url)...'/';..$fs.=.new.F
c7720 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 ilesystem();.$fs->ensureDirector
c7740 79 45 78 69 73 74 73 28 24 63 61 63 68 65 44 69 72 29 3b 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 yExists($cacheDir);..if.(!is_wri
c7760 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 29 20 table(dirname($this->repoDir))).
c7780 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 {.throw.new.\RuntimeException('C
c77a0 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 an.not.clone.'.$this->url.'.to.a
c77c0 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 ccess.package.information..The."
c77e0 27 2e 24 63 61 63 68 65 44 69 72 2e 27 22 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 '.$cacheDir.'".directory.is.not.
c7800 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b writable.by.the.current.user.');
c7820 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c .}....$this->config->prohibitUrl
c7840 42 79 43 6f 6e 66 69 67 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b ByConfig($this->url,.$this->io);
c7860 0a 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e ..$hgUtils.=.new.HgUtils($this->
c7880 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 io,.$this->config,.$this->proces
c78a0 73 29 3b 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 s);....if.(is_dir($this->repoDir
c78c0 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 ).&&.0.===.$this->process->execu
c78e0 74 65 28 27 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d te('hg.summary',.$output,.$this-
c7900 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 >repoDir)).{.if.(0.!==.$this->pr
c7920 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 70 75 6c 6c 27 2c 20 24 6f 75 74 70 75 ocess->execute('hg.pull',.$outpu
c7940 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d t,.$this->repoDir)).{.$this->io-
c7960 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 >writeError('<error>Failed.to.up
c7980 64 61 74 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 date.'.$this->url.',.package.inf
c79a0 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 ormation.from.this.repository.ma
c79c0 79 20 62 65 20 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d y.be.outdated.('.$this->process-
c79e0 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a >getErrorOutput().')</error>');.
c7a00 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 }.}.else.{...$fs->removeDirector
c7a20 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 66 y($this->repoDir);..$command.=.f
c7a40 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 unction.($url).{.return.sprintf(
c7a60 27 68 67 20 63 6c 6f 6e 65 20 2d 2d 6e 6f 75 70 64 61 74 65 20 25 73 20 25 73 27 2c 20 50 72 6f 'hg.clone.--noupdate.%s.%s',.Pro
c7a80 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 cessExecutor::escape($url),.Proc
c7aa0 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 essExecutor::escape($this->repoD
c7ac0 69 72 29 29 3b 0a 7d 3b 0a 0a 24 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 ir));.};..$hgUtils->runCommand($
c7ae0 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f command,.$this->url,.$this->repo
c7b00 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 Dir);.}.}..$this->getTags();.$th
c7b20 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 is->getBranches();.}.....public.
c7b40 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 function.getRootIdentifier().{.i
c7b60 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 f.(null.===.$this->rootIdentifie
c7b80 72 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 r).{.$this->process->execute(spr
c7ba0 69 6e 74 66 28 27 68 67 20 74 69 70 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 6e 6f 64 65 7d 22 intf('hg.tip.--template."{node}"
c7bc0 27 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 6f '),.$output,.$this->repoDir);.$o
c7be0 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e utput.=.$this->process->splitLin
c7c00 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 es($output);.$this->rootIdentifi
c7c20 65 72 20 3d 20 24 6f 75 74 70 75 74 5b 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 er.=.$output[0];.}..return.$this
c7c40 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ->rootIdentifier;.}.....public.f
c7c60 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d unction.getUrl().{.return.$this-
c7c80 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 >url;.}.....public.function.getS
c7ca0 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 ource($identifier).{.return.arra
c7cc0 79 28 27 74 79 70 65 27 20 3d 3e 20 27 68 67 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 y('type'.=>.'hg',.'url'.=>.$this
c7ce0 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e ->getUrl(),.'reference'.=>.$iden
c7d00 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tifier);.}.....public.function.g
c7d20 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c etDist($identifier).{.return.nul
c7d40 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 l;.}.....public.function.getFile
c7d60 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 72 Content($file,.$identifier).{.$r
c7d80 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 61 74 20 2d 72 20 25 73 20 esource.=.sprintf('hg.cat.-r.%s.
c7da0 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 %s',.ProcessExecutor::escape($id
c7dc0 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 entifier),.ProcessExecutor::esca
c7de0 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 pe($file));.$this->process->exec
c7e00 75 74 65 28 24 72 65 73 6f 75 72 63 65 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e ute($resource,.$content,.$this->
c7e20 72 65 70 6f 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 29 29 20 repoDir);..if.(!trim($content)).
c7e40 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a {.return;.}..return.$content;.}.
c7e60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 ....public.function.getChangeDat
c7e80 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d e($identifier).{.$this->process-
c7ea0 3e 65 78 65 63 75 74 65 28 0a 73 70 72 69 6e 74 66 28 0a 27 68 67 20 6c 6f 67 20 2d 2d 74 65 6d >execute(.sprintf(.'hg.log.--tem
c7ec0 70 6c 61 74 65 20 22 7b 64 61 74 65 7c 72 66 63 33 33 33 39 64 61 74 65 7d 22 20 2d 72 20 25 73 plate."{date|rfc3339date}".-r.%s
c7ee0 27 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e ',.ProcessExecutor::escape($iden
c7f00 74 69 66 69 65 72 29 0a 29 2c 0a 24 6f 75 74 70 75 74 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 tifier).),.$output,.$this->repoD
c7f20 69 72 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 74 72 69 6d ir.);..return.new.\DateTime(trim
c7f40 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 ($output),.new.\DateTimeZone('UT
c7f60 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 C'));.}.....public.function.getT
c7f80 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 ags().{.if.(null.===.$this->tags
c7fa0 29 20 7b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f ).{.$tags.=.array();..$this->pro
c7fc0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 74 61 67 73 27 2c 20 24 6f 75 74 70 75 74 cess->execute('hg.tags',.$output
c7fe0 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 ,.$this->repoDir);.foreach.($thi
c8000 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 s->process->splitLines($output).
c8020 61 73 20 24 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 67 20 26 26 20 70 72 65 67 5f 6d 61 74 63 as.$tag).{.if.($tag.&&.preg_matc
c8040 68 28 27 28 5e 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 74 61 h('(^([^\s]+)\s+\d+:(.*)$)',.$ta
c8060 67 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 61 67 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d g,.$match)).{.$tags[$match[1]].=
c8080 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 74 61 67 73 5b 27 74 69 70 .$match[2];.}.}.unset($tags['tip
c80a0 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 74 61 67 73 3b 0a 7d 0a 0a 72 65 ']);..$this->tags.=.$tags;.}..re
c80c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 turn.$this->tags;.}.....public.f
c80e0 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c unction.getBranches().{.if.(null
c8100 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 .===.$this->branches).{.$branche
c8120 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 20 3d 20 61 72 72 61 79 28 s.=.array();.$bookmarks.=.array(
c8140 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 );..$this->process->execute('hg.
c8160 62 72 61 6e 63 68 65 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 branches',.$output,.$this->repoD
c8180 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 ir);.foreach.($this->process->sp
c81a0 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a litLines($output).as.$branch).{.
c81c0 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 5b 5e if.($branch.&&.preg_match('(^([^
c81e0 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 5b 61 2d 66 30 2d 39 5d 2b 29 29 27 2c 20 24 62 72 61 6e \s]+)\s+\d+:([a-f0-9]+))',.$bran
c8200 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 24 6d 61 74 63 68 5b ch,.$match)).{.$branches[$match[
c8220 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 1]].=.$match[2];.}.}..$this->pro
c8240 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 6f 6f 6b 6d 61 72 6b 73 27 2c 20 24 6f cess->execute('hg.bookmarks',.$o
c8260 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 utput,.$this->repoDir);.foreach.
c8280 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 ($this->process->splitLines($out
c82a0 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 put).as.$branch).{.if.($branch.&
c82c0 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 3f 3a 5b 5c 73 2a 5d 2a 29 28 5b 5e 5c 73 5d &.preg_match('(^(?:[\s*]*)([^\s]
c82e0 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 +)\s+\d+:(.*)$)',.$branch,.$matc
c8300 68 29 29 20 7b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d h)).{.$bookmarks[$match[1]].=.$m
c8320 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 atch[2];.}.}....$this->branches.
c8340 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 62 6f 6f 6b 6d 61 72 6b 73 2c 20 24 62 72 61 6e 63 =.array_merge($bookmarks,.$branc
c8360 68 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b hes);.}..return.$this->branches;
c8380 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 .}.....public.static.function.su
c83a0 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 pports(IOInterface.$io,.Config.$
c83c0 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 config,.$url,.$deep.=.false).{.i
c83e0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 28 3f 3a 68 74 74 70 73 3f 7c 73 73 68 29 f.(preg_match('#(^(?:https?|ssh)
c8400 3a 2f 2f 28 3f 3a 5b 5e 40 5d 2b 40 29 3f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 7c 68 74 74 70 ://(?:[^@]+@)?bitbucket.org|http
c8420 73 3a 2f 2f 28 3f 3a 2e 2a 3f 29 5c 2e 6b 69 6c 6e 68 67 2e 63 6f 6d 29 23 69 27 2c 20 24 75 72 s://(?:.*?)\.kilnhg.com)#i',.$ur
c8440 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 l)).{.return.true;.}....if.(File
c8460 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 system::isLocalPath($url)).{.$ur
c8480 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 l.=.Filesystem::getPlatformPath(
c84a0 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 $url);.if.(!is_dir($url)).{.retu
c84c0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 rn.false;.}..$process.=.new.Proc
c84e0 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 essExecutor();...if.($process->e
c8500 78 65 63 75 74 65 28 27 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 xecute('hg.summary',.$output,.$u
c8520 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 rl).===.0).{.return.true;.}.}..i
c8540 66 20 28 21 24 64 65 65 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 f.(!$deep).{.return.false;.}..$p
c8560 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 rocessExecutor.=.new.ProcessExec
c8580 75 74 6f 72 28 29 3b 0a 24 65 78 69 74 20 3d 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 utor();.$exit.=.$processExecutor
c85a0 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 69 64 65 6e 74 69 66 79 20 25 ->execute(sprintf('hg.identify.%
c85c0 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c s',.ProcessExecutor::escape($url
c85e0 29 29 2c 20 24 69 67 6e 6f 72 65 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 20 3d 3d 3d )),.$ignored);..return.$exit.===
c8600 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 .0;.}.}.<?php............namespa
c8620 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 ce.Composer\Repository\Vcs;..use
c8640 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 .Composer\Config;.use.Composer\I
c8660 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c O\IOInterface;.use.Composer\Util
c8680 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 \ProcessExecutor;.use.Composer\U
c86a0 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 65 til\Perforce;.....class.Perforce
c86c0 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 Driver.extends.VcsDriver.{.prote
c86e0 63 74 65 64 20 24 64 65 70 6f 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 3b 0a cted.$depot;.protected.$branch;.
c8700 0a 70 72 6f 74 65 63 74 65 64 20 24 70 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .protected.$perforce;.....public
c8720 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e .function.initialize().{.$this->
c8740 64 65 70 6f 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 6f 74 depot.=.$this->repoConfig['depot
c8760 27 5d 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d 70 '];.$this->branch.=.'';.if.(!emp
c8780 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 29 29 ty($this->repoConfig['branch']))
c87a0 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f .{.$this->branch.=.$this->repoCo
c87c0 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 50 65 nfig['branch'];.}..$this->initPe
c87e0 72 66 6f 72 63 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 rforce($this->repoConfig);.$this
c8800 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 ->perforce->p4Login();.$this->pe
c8820 72 66 6f 72 63 65 2d 3e 63 68 65 63 6b 53 74 72 65 61 6d 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 rforce->checkStream();..$this->p
c8840 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 74 erforce->writeP4ClientSpec();.$t
c8860 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 3b 0a his->perforce->connectClient();.
c8880 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f .return.true;.}..private.functio
c88a0 6e 20 69 6e 69 74 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 69 66 n.initPerforce($repoConfig).{.if
c88c0 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 72 65 74 .(!empty($this->perforce)).{.ret
c88e0 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 urn;.}..$repoDir.=.$this->config
c8900 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 ->get('cache-vcs-dir')...'/'...$
c8920 74 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 50 this->depot;.$this->perforce.=.P
c8940 65 72 66 6f 72 63 65 3a 3a 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 erforce::create($repoConfig,.$th
c8960 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 24 72 65 70 6f 44 69 72 2c 20 24 74 68 69 73 2d 3e 70 is->getUrl(),.$repoDir,.$this->p
c8980 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rocess,.$this->io);.}.....public
c89a0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 .function.getFileContent($file,.
c89c0 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 $identifier).{.return.$this->per
c89e0 66 6f 72 63 65 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 force->getFileContent($file,.$id
c8a00 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e entifier);.}.....public.function
c8a20 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 .getChangeDate($identifier).{.re
c8a40 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e turn.null;.}.....public.function
c8a60 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 .getRootIdentifier().{.return.$t
c8a80 68 69 73 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 his->branch;.}.....public.functi
c8aa0 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getBranches().{.return.$this-
c8ac0 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a >perforce->getBranches();.}.....
c8ae0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 72 65 74 75 public.function.getTags().{.retu
c8b00 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d rn.$this->perforce->getTags();.}
c8b20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 .....public.function.getDist($id
c8b40 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 entifier).{.return.null;.}.....p
c8b60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 ublic.function.getSource($identi
c8b80 66 69 65 72 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 fier).{.$source.=.array(.'type'.
c8ba0 3d 3e 20 27 70 65 72 66 6f 72 63 65 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 72 =>.'perforce',.'url'.=>.$this->r
c8bc0 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e epoConfig['url'],.'reference'.=>
c8be0 20 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 27 70 34 75 73 65 72 27 20 3d 3e 20 24 74 68 69 73 2d .$identifier,.'p4user'.=>.$this-
c8c00 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 55 73 65 72 28 29 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e >perforce->getUser(),.);..return
c8c20 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$source;.}.....public.function.
c8c40 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a getUrl().{.return.$this->url;.}.
c8c60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 ....public.function.hasComposerF
c8c80 69 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 49 6e 66 6f ile($identifier).{.$composerInfo
c8ca0 20 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 .=.$this->perforce->getComposerI
c8cc0 6e 66 6f 72 6d 61 74 69 6f 6e 28 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 20 2e nformation('//'...$this->depot..
c8ce0 20 27 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 49 6e .'/'...$identifier);.$composerIn
c8d00 66 6f 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 65 74 foIdentifier.=.$identifier;..ret
c8d20 75 72 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 73 65 72 49 6e 66 6f 29 3b 0a 7d 0a 0a 0a 0a urn.!empty($composerInfo);.}....
c8d40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 .public.function.getContents($ur
c8d60 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 l).{.return.false;.}.....public.
c8d80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 static.function.supports(IOInter
c8da0 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 face.$io,.Config.$config,.$url,.
c8dc0 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 64 65 65 70 20 7c 7c 20 70 72 $deep.=.false).{.if.($deep.||.pr
c8de0 65 67 5f 6d 61 74 63 68 28 27 23 5c 62 28 70 65 72 66 6f 72 63 65 7c 70 34 29 5c 62 23 69 27 2c eg_match('#\b(perforce|p4)\b#i',
c8e00 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 50 65 72 66 6f 72 63 65 3a 3a 63 68 65 63 6b .$url)).{.return.Perforce::check
c8e20 53 65 72 76 65 72 45 78 69 73 74 73 28 24 75 72 6c 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 ServerExists($url,.new.ProcessEx
c8e40 65 63 75 74 6f 72 28 24 69 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ecutor($io));.}..return.false;.}
c8e60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b .....public.function.cleanup().{
c8e80 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6c 65 61 6e 75 70 43 6c 69 65 6e 74 53 .$this->perforce->cleanupClientS
c8ea0 70 65 63 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 6e 75 6c 6c 3b 0a 7d pec();.$this->perforce.=.null;.}
c8ec0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 6f 74 28 29 0a 7b 0a 72 ..public.function.getDepot().{.r
c8ee0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this->depot;.}..public.fu
c8f00 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 nction.getBranch().{.return.$thi
c8f20 73 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s->branch;.}.}.<?php............
c8f40 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 namespace.Composer\Repository\Vc
c8f60 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 s;..use.Composer\Cache;.use.Comp
c8f80 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a oser\Config;.use.Composer\Json\J
c8fa0 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 sonFile;.use.Composer\Util\Proce
c8fc0 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 ssExecutor;.use.Composer\Util\Fi
c8fe0 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 lesystem;.use.Composer\Util\Svn.
c9000 61 73 20 53 76 6e 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e as.SvnUtil;.use.Composer\IO\IOIn
c9020 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 terface;.use.Composer\Downloader
c9040 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 \TransportException;......class.
c9060 53 76 6e 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 0a 0a SvnDriver.extends.VcsDriver.{...
c9080 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 61 .protected.$cache;.protected.$ba
c90a0 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 seUrl;.protected.$tags;.protecte
c90c0 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e d.$branches;.protected.$rootIden
c90e0 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 tifier;.protected.$infoCache.=.a
c9100 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 75 6e 6b 50 61 74 68 20 3d 20 rray();..protected.$trunkPath.=.
c9120 27 74 72 75 6e 6b 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 50 61 74 68 'trunk';.protected.$branchesPath
c9140 20 3d 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 50 61 .=.'branches';.protected.$tagsPa
c9160 74 68 20 3d 20 27 74 61 67 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 50 th.=.'tags';.protected.$packageP
c9180 61 74 68 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e ath.=.'';.protected.$cacheCreden
c91a0 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 74 69 6c 3b tials.=.true;.....private.$util;
c91c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 .....public.function.initialize(
c91e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 ).{.$this->url.=.$this->baseUrl.
c9200 3d 20 72 74 72 69 6d 28 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 74 68 69 73 =.rtrim(self::normalizeUrl($this
c9220 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 ->url),.'/');..SvnUtil::cleanEnv
c9240 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 ();..if.(isset($this->repoConfig
c9260 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 ['trunk-path'])).{.$this->trunkP
c9280 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 ath.=.$this->repoConfig['trunk-p
c92a0 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f ath'];.}.if.(isset($this->repoCo
c92c0 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d nfig['branches-path'])).{.$this-
c92e0 3e 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 >branchesPath.=.$this->repoConfi
c9300 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 g['branches-path'];.}.if.(isset(
c9320 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 29 29 $this->repoConfig['tags-path']))
c9340 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f .{.$this->tagsPath.=.$this->repo
c9360 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 72 61 79 Config['tags-path'];.}.if.(array
c9380 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 _key_exists('svn-cache-credentia
c93a0 6c 73 27 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 69 73 ls',.$this->repoConfig)).{.$this
c93c0 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 74 68 69 ->cacheCredentials.=.(bool).$thi
c93e0 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 s->repoConfig['svn-cache-credent
c9400 69 61 6c 73 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 ials'];.}.if.(isset($this->repoC
c9420 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d onfig['package-path'])).{.$this-
c9440 3e 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 74 68 69 73 2d >packagePath.=.'/'...trim($this-
c9460 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 2c 20 27 2f 27 >repoConfig['package-path'],.'/'
c9480 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 20 3d 20 73 74 72 72 );.}..if.(false.!==.($pos.=.strr
c94a0 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 pos($this->url,.'/'...$this->tru
c94c0 6e 6b 50 61 74 68 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 75 62 nkPath))).{.$this->baseUrl.=.sub
c94e0 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 24 74 68 str($this->url,.0,.$pos);.}..$th
c9500 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c is->cache.=.new.Cache($this->io,
c9520 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d .$this->config->get('cache-repo-
c9540 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d dir').'/'.preg_replace('{[^a-z0-
c9560 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 29 3b 0a 0a 9.]}i',.'-',.$this->baseUrl));..
c9580 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 $this->getBranches();.$this->get
c95a0 54 61 67 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 Tags();.}.....public.function.ge
c95c0 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 tRootIdentifier().{.return.$this
c95e0 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3f 3a 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b ->rootIdentifier.?:.$this->trunk
c9600 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 Path;.}.....public.function.getU
c9620 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a rl().{.return.$this->url;.}.....
c9640 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 public.function.getSource($ident
c9660 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 ifier).{.return.array('type'.=>.
c9680 27 73 76 6e 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2c 20 'svn',.'url'.=>.$this->baseUrl,.
c96a0 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 'reference'.=>.$identifier);.}..
c96c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e ...public.function.getDist($iden
c96e0 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f tifier).{.return.null;.}.....pro
c9700 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 tected.function.shouldCache($ide
c9720 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 ntifier).{.return.$this->cache.&
c9740 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 40 5c 64 2b 24 7d 27 2c 20 24 69 64 65 6e 74 69 66 &.preg_match('{@\d+$}',.$identif
c9760 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 ier);.}.....public.function.getC
c9780 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a omposerInformation($identifier).
c97a0 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 {.if.(!isset($this->infoCache[$i
c97c0 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 dentifier])).{.if.($this->should
c97e0 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 74 68 Cache($identifier).&&.$res.=.$th
c9800 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2e 6a 73 is->cache->read($identifier.'.js
c9820 6f 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b on')).{.return.$this->infoCache[
c9840 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 $identifier].=.JsonFile::parseJs
c9860 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 on($res);.}..try.{.$composer.=.$
c9880 74 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e this->getBaseComposerInformation
c98a0 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 ($identifier);.}.catch.(Transpor
c98c0 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e tException.$e).{.$message.=.$e->
c98e0 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 69 66 20 28 73 74 72 69 70 6f 73 28 24 6d 65 73 73 61 getMessage();.if.(stripos($messa
c9900 67 65 2c 20 27 70 61 74 68 20 6e 6f 74 20 66 6f 75 6e 64 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 ge,.'path.not.found').===.false.
c9920 26 26 20 73 74 72 69 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 73 76 6e 3a 20 77 61 72 6e 69 &&.stripos($message,.'svn:.warni
c9940 6e 67 3a 20 57 31 36 30 30 31 33 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 74 68 72 6f 77 ng:.W160013').===.false).{.throw
c9960 20 24 65 3b 0a 7d 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 27 27 3b 0a 7d 0a 0a 69 66 20 28 .$e;.}...$composer.=.'';.}..if.(
c9980 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 $this->shouldCache($identifier))
c99a0 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 .{.$this->cache->write($identifi
c99c0 65 72 2e 27 2e 6a 73 6f 6e 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 er.'.json',.json_encode($compose
c99e0 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 r));.}..$this->infoCache[$identi
c9a00 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 fier].=.$composer;.}..return.$th
c9a20 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 0a 0a is->infoCache[$identifier];.}...
c9a40 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e ...public.function.getFileConten
c9a60 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 t($file,.$identifier).{.$identif
c9a80 69 65 72 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f ier.=.'/'...trim($identifier,.'/
c9aa0 27 29 20 2e 20 27 2f 27 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 ')...'/';..preg_match('{^(.+?)(@
c9ac0 5c 64 2b 29 3f 2f 24 7d 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 29 3b \d+)?/$}',.$identifier,.$match);
c9ae0 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 68 20 .if.(!empty($match[2])).{.$path.
c9b00 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d =.$match[1];.$rev.=.$match[2];.}
c9b20 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 72 65 .else.{.$path.=.$identifier;.$re
c9b40 76 20 3d 20 27 27 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 70 61 v.=.'';.}..try.{.$resource.=.$pa
c9b60 74 68 2e 24 66 69 6c 65 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 th.$file;.$output.=.$this->execu
c9b80 74 65 28 27 73 76 6e 20 63 61 74 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 24 te('svn.cat',.$this->baseUrl...$
c9ba0 72 65 73 6f 75 72 63 65 20 2e 20 24 72 65 76 29 3b 0a 69 66 20 28 21 74 72 69 6d 28 24 6f 75 74 resource...$rev);.if.(!trim($out
c9bc0 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 put)).{.return.null;.}.}.catch.(
c9be0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 \RuntimeException.$e).{.throw.ne
c9c00 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 w.TransportException($e->getMess
c9c20 61 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a age());.}..return.$output;.}....
c9c40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 .public.function.getChangeDate($
c9c60 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 27 2f 27 20 identifier).{.$identifier.=.'/'.
c9c80 2e 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 29 20 2e 20 27 2f 27 3b 0a ..trim($identifier,.'/')...'/';.
c9ca0 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 5c 64 2b 29 3f 2f 24 7d 27 2c .preg_match('{^(.+?)(@\d+)?/$}',
c9cc0 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 21 65 6d 70 74 .$identifier,.$match);.if.(!empt
c9ce0 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 6d 61 74 63 68 5b 31 y($match[2])).{.$path.=.$match[1
c9d00 5d 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 ];.$rev.=.$match[2];.}.else.{.$p
c9d20 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 72 65 76 20 3d 20 27 27 3b 0a 7d 0a ath.=.$identifier;.$rev.=.'';.}.
c9d40 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 69 .$output.=.$this->execute('svn.i
c9d60 6e 66 6f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 24 70 61 74 68 20 2e 20 24 nfo',.$this->baseUrl...$path...$
c9d80 72 65 76 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 rev);.foreach.($this->process->s
c9da0 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 plitLines($output).as.$line).{.i
c9dc0 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 4c 61 73 74 20 43 f.($line.&&.preg_match('{^Last.C
c9de0 68 61 6e 67 65 64 20 44 61 74 65 3a 20 28 5b 5e 28 5d 2b 29 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 hanged.Date:.([^(]+)}',.$line,.$
c9e00 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 match)).{.return.new.\DateTime($
c9e20 6d 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 match[1],.new.\DateTimeZone('UTC
c9e40 27 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 '));.}.}..return.null;.}.....pub
c9e60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c lic.function.getTags().{.if.(nul
c9e80 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 l.===.$this->tags).{.$this->tags
c9ea0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 .=.array();..if.($this->tagsPath
c9ec0 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 .!==.false).{.$output.=.$this->e
c9ee0 78 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 68 69 73 xecute('svn.ls.--verbose',.$this
c9f00 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 ->baseUrl...'/'...$this->tagsPat
c9f20 68 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 h);.if.($output).{.foreach.($thi
c9f40 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 s->process->splitLines($output).
c9f60 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b as.$line).{.$line.=.trim($line);
c9f80 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 .if.($line.&&.preg_match('{^\s*(
c9fa0 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 \S+).*?(\S+)\s*$}',.$line,.$matc
c9fc0 68 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 h)).{.if.(isset($match[1]).&&.is
c9fe0 73 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 set($match[2]).&&.$match[2].!==.
ca000 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 72 74 72 69 6d 28 24 6d 61 74 63 68 './').{.$this->tags[rtrim($match
ca020 5b 32 5d 2c 20 27 2f 27 29 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 [2],.'/')].=.$this->buildIdentif
ca040 69 65 72 28 0a 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 2e 20 27 2f 27 ier(.'/'...$this->tagsPath...'/'
ca060 20 2e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d 0a 7d ...$match[2],.$match[1].);.}.}.}
ca080 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a .}.}.}..return.$this->tags;.}...
ca0a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a ..public.function.getBranches().
ca0c0 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 {.if.(null.===.$this->branches).
ca0e0 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 {.$this->branches.=.array();..if
ca100 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 29 20 7b 0a .(false.===.$this->trunkPath).{.
ca120 24 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 $trunkParent.=.$this->baseUrl...
ca140 27 2f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 74 68 '/';.}.else.{.$trunkParent.=.$th
ca160 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b is->baseUrl...'/'...$this->trunk
ca180 50 61 74 68 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 Path;.}..$output.=.$this->execut
ca1a0 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 72 75 6e 6b 50 61 72 65 e('svn.ls.--verbose',.$trunkPare
ca1c0 6e 74 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 nt);.if.($output).{.foreach.($th
ca1e0 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 is->process->splitLines($output)
ca200 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 .as.$line).{.$line.=.trim($line)
ca220 3b 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a ;.if.($line.&&.preg_match('{^\s*
ca240 28 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 (\S+).*?(\S+)\s*$}',.$line,.$mat
ca260 63 68 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 ch)).{.if.(isset($match[1]).&&.i
ca280 73 73 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 3d 3d 3d sset($match[2]).&&.$match[2].===
ca2a0 20 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 27 74 72 75 6e 6b 27 .'./').{.$this->branches['trunk'
ca2c0 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 2f 27 20 ].=.$this->buildIdentifier(.'/'.
ca2e0 2e 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b ..$this->trunkPath,.$match[1].);
ca300 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 2d 3e .$this->rootIdentifier.=.$this->
ca320 62 72 61 6e 63 68 65 73 5b 27 74 72 75 6e 6b 27 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a branches['trunk'];.break;.}.}.}.
ca340 7d 0a 75 6e 73 65 74 28 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 72 }.unset($output);..if.($this->br
ca360 61 6e 63 68 65 73 50 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 anchesPath.!==.false).{.$output.
ca380 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f =.$this->execute('svn.ls.--verbo
ca3a0 73 65 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 se',.$this->baseUrl...'/'...$thi
ca3c0 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b s->branchesPath);.if.($output).{
ca3e0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c .foreach.($this->process->splitL
ca400 69 6e 65 73 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a ines(trim($output)).as.$line).{.
ca420 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 69 66 20 28 24 6c 69 6e 65 20 26 $line.=.trim($line);.if.($line.&
ca440 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 &.preg_match('{^\s*(\S+).*?(\S+)
ca460 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 69 73 \s*$}',.$line,.$match)).{.if.(is
ca480 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 74 63 68 5b 32 set($match[1]).&&.isset($match[2
ca4a0 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 2e 2f 27 29 20 7b 0a 24 74 68 69 ]).&&.$match[2].!==.'./').{.$thi
ca4c0 73 2d 3e 62 72 61 6e 63 68 65 73 5b 72 74 72 69 6d 28 24 6d 61 74 63 68 5b 32 5d 2c 20 27 2f 27 s->branches[rtrim($match[2],.'/'
ca4e0 29 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 2f 27 )].=.$this->buildIdentifier(.'/'
ca500 20 2e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 ...$this->branchesPath...'/'...$
ca520 6d 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d match[2],.$match[1].);.}.}.}.}.}
ca540 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a .}..return.$this->branches;.}...
ca560 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 ..public.static.function.support
ca580 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 s(IOInterface.$io,.Config.$confi
ca5a0 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 72 6c 20 3d g,.$url,.$deep.=.false).{.$url.=
ca5c0 20 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 3b 0a 69 66 20 28 70 .self::normalizeUrl($url);.if.(p
ca5e0 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 73 76 6e 3a 2f 2f 7c 5e 73 76 6e 5c 2b 73 73 68 3a 2f reg_match('#(^svn://|^svn\+ssh:/
ca600 2f 7c 73 76 6e 5c 2e 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 /|svn\.)#i',.$url)).{.return.tru
ca620 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 64 65 65 70 20 26 26 20 21 46 69 6c 65 73 79 73 74 65 e;.}....if.(!$deep.&&.!Filesyste
ca640 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 m::isLocalPath($url)).{.return.f
ca660 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 alse;.}..$processExecutor.=.new.
ca680 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 0a 24 65 78 69 74 20 3d 20 24 70 72 6f ProcessExecutor();..$exit.=.$pro
ca6a0 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 0a 22 73 76 6e 20 69 6e 66 6f cessExecutor->execute(."svn.info
ca6c0 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 7b 24 75 72 6c 7d 22 2c 0a 24 69 67 6e .--non-interactive.{$url}",.$ign
ca6e0 6f 72 65 64 4f 75 74 70 75 74 0a 29 3b 0a 0a 69 66 20 28 24 65 78 69 74 20 3d 3d 3d 20 30 29 20 oredOutput.);..if.($exit.===.0).
ca700 7b 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 {...return.true;.}....if.(false.
ca720 21 3d 3d 20 73 74 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 67 65 !==.stripos($processExecutor->ge
ca740 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 tErrorOutput(),.'authorization.f
ca760 61 69 6c 65 64 3a 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a ailed:')).{.....return.true;.}..
ca780 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 ..if.(false.!==.stripos($process
ca7a0 45 78 65 63 75 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 41 75 74 Executor->getErrorOutput(),.'Aut
ca7c0 68 65 6e 74 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 hentication.failed')).{.....retu
ca7e0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a rn.true;.}..return.false;.}.....
ca800 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f ....protected.static.function.no
ca820 72 6d 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c rmalizeUrl($url).{.$fs.=.new.Fil
ca840 65 73 79 73 74 65 6d 28 29 3b 0a 69 66 20 28 24 66 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 esystem();.if.($fs->isAbsolutePa
ca860 74 68 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 73 th($url)).{.return.'file://'...s
ca880 74 72 74 72 28 24 75 72 6c 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e trtr($url,.'\\',.'/');.}..return
ca8a0 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e .$url;.}...........protected.fun
ca8c0 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 0a 7b 0a ction.execute($command,.$url).{.
ca8e0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 29 20 7b 0a 24 74 68 69 if.(null.===.$this->util).{.$thi
ca900 73 2d 3e 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 74 68 69 73 2d 3e 62 61 73 s->util.=.new.SvnUtil($this->bas
ca920 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 eUrl,.$this->io,.$this->config,.
ca940 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 73 65 $this->process);.$this->util->se
ca960 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 tCacheCredentials($this->cacheCr
ca980 65 64 65 6e 74 69 61 6c 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 edentials);.}..try.{.return.$thi
ca9a0 73 2d 3e 75 74 69 6c 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 s->util->execute($command,.$url)
ca9c0 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 ;.}.catch.(\RuntimeException.$e)
ca9e0 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 62 69 6e .{.if.(null.===.$this->util->bin
caa00 61 72 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 aryVersion()).{.throw.new.\Runti
caa20 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 27 2e 24 74 meException('Failed.to.load.'.$t
caa40 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 73 76 6e 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 his->url.',.svn.was.not.found,.c
caa60 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e heck.that.it.is.installed.and.in
caa80 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 .your.PATH.env.'..."\n\n"...$thi
caaa0 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d s->process->getErrorOutput());.}
caac0 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 ..throw.new.\RuntimeException(.'
caae0 52 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 Repository.'.$this->url.'.could.
cab00 6e 6f 74 20 62 65 20 70 72 6f 63 65 73 73 65 64 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 not.be.processed,.'.$e->getMessa
cab20 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ge().);.}.}..........protected.f
cab40 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 24 62 61 73 65 44 69 72 unction.buildIdentifier($baseDir
cab60 2c 20 24 72 65 76 69 73 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 62 61 73 ,.$revision).{.return.rtrim($bas
cab80 65 44 69 72 2c 20 27 2f 27 29 20 2e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 61 74 68 20 eDir,.'/')...$this->packagePath.
caba0 2e 20 27 2f 40 27 20 2e 20 24 72 65 76 69 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ..'/@'...$revision;.}.}.<?php...
cabc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
cabe0 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b sitory\Vcs;..use.Composer\Cache;
cac00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f .use.Composer\Downloader\Transpo
cac20 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 rtException;.use.Composer\Config
cac40 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 ;.use.Composer\Factory;.use.Comp
cac60 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 oser\IO\IOInterface;.use.Compose
cac80 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 r\Json\JsonFile;.use.Composer\Ut
caca0 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 il\ProcessExecutor;.use.Composer
cacc0 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 \Util\RemoteFilesystem;.use.Comp
cace0 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 oser\Util\Filesystem;.......abst
cad00 72 61 63 74 20 63 6c 61 73 73 20 56 63 73 44 72 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 ract.class.VcsDriver.implements.
cad20 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 VcsDriverInterface.{..protected.
cad40 24 75 72 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 0a 70 72 $url;..protected.$originUrl;..pr
cad60 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 otected.$repoConfig;..protected.
cad80 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 $io;..protected.$config;..protec
cada0 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f 74 65 ted.$process;..protected.$remote
cadc0 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 Filesystem;..protected.$infoCach
cade0 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a e.=.array();..protected.$cache;.
cae00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ..........final.public.function.
cae20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 __construct(array.$repoConfig,.I
cae40 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 OInterface.$io,.Config.$config,.
cae60 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c ProcessExecutor.$process.=.null,
cae80 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 .RemoteFilesystem.$remoteFilesys
caea0 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 tem.=.null).{.if.(Filesystem::is
caec0 4c 6f 63 61 6c 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b LocalPath($repoConfig['url'])).{
caee0 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 46 69 6c 65 73 79 73 74 65 6d .$repoConfig['url'].=.Filesystem
caf00 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 ::getPlatformPath($repoConfig['u
caf20 72 6c 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e 66 rl']);.}..$this->url.=.$repoConf
caf40 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 72 ig['url'];.$this->originUrl.=.$r
caf60 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e epoConfig['url'];.$this->repoCon
caf80 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 fig.=.$repoConfig;.$this->io.=.$
cafa0 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 io;.$this->config.=.$config;.$th
cafc0 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 is->process.=.$process.?:.new.Pr
cafe0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 ocessExecutor($io);.$this->remot
cb000 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 eFilesystem.=.$remoteFilesystem.
cb020 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 ?:.Factory::createRemoteFilesyst
cb040 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a em($this->io,.$config);.}.......
cb060 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 .protected.function.shouldCache(
cb080 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 $identifier).{.return.$this->cac
cb0a0 68 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 7d he.&&.preg_match('{[a-f0-9]{40}}
cb0c0 69 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 i',.$identifier);.}.....public.f
cb0e0 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 unction.getComposerInformation($
cb100 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e identifier).{.if.(!isset($this->
cb120 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 infoCache[$identifier])).{.if.($
cb140 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 this->shouldCache($identifier).&
cb160 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 &.$res.=.$this->cache->read($ide
cb180 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 ntifier)).{.return.$this->infoCa
cb1a0 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 che[$identifier].=.JsonFile::par
cb1c0 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 seJson($res);.}..$composer.=.$th
cb1e0 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 is->getBaseComposerInformation($
cb200 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 identifier);..if.($this->shouldC
cb220 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 ache($identifier)).{.$this->cach
cb240 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 e->write($identifier,.json_encod
cb260 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 e($composer));.}..$this->infoCac
cb280 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a he[$identifier].=.$composer;.}..
cb2a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 return.$this->infoCache[$identif
cb2c0 69 65 72 5d 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 ier];.}..protected.function.getB
cb2e0 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 aseComposerInformation($identifi
cb300 65 72 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 er).{.$composerFileContent.=.$th
cb320 69 73 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f is->getFileContent('composer.jso
cb340 6e 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 n',.$identifier);..if.(!$compose
cb360 72 46 69 6c 65 43 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a rFileContent).{.return.null;.}..
cb380 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 $composer.=.JsonFile::parseJson(
cb3a0 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c 20 24 69 64 65 6e 74 69 66 69 65 $composerFileContent,.$identifie
cb3c0 72 20 2e 20 27 3a 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 69 66 20 28 65 6d 70 74 r...':composer.json');..if.(empt
cb3e0 79 28 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 29 20 26 26 20 24 63 68 61 6e 67 65 44 y($composer['time']).&&.$changeD
cb400 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e ate.=.$this->getChangeDate($iden
cb420 74 69 66 69 65 72 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 tifier)).{.$composer['time'].=.$
cb440 63 68 61 6e 67 65 44 61 74 65 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 changeDate->format(DATE_RFC3339)
cb460 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ;.}..return.$composer;.}.....pub
cb480 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 69 64 lic.function.hasComposerFile($id
cb4a0 65 6e 74 69 66 69 65 72 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 entifier).{.try.{.return.(bool).
cb4c0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 $this->getComposerInformation($i
cb4e0 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 dentifier);.}.catch.(TransportEx
cb500 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ception.$e).{.}..return.false;.}
cb520 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 .........protected.function.getS
cb540 63 68 65 6d 65 28 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 cheme().{.if.(extension_loaded('
cb560 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 27 3b 0a 7d 0a 0a openssl')).{.return.'https';.}..
cb580 72 65 74 75 72 6e 20 27 68 74 74 70 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 return.'http';.}.........protect
cb5a0 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 0a 7b 0a ed.function.getContents($url).{.
cb5c0 24 6f 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 $options.=.isset($this->repoConf
cb5e0 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 ig['options']).?.$this->repoConf
cb600 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e ig['options'].:.array();..return
cb620 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e .$this->remoteFilesystem->getCon
cb640 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 75 72 6c 2c 20 66 61 tents($this->originUrl,.$url,.fa
cb660 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e lse,.$options);.}.....public.fun
cb680 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f ction.cleanup().{.return;.}.}.<?
cb6a0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
cb6c0 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\Repository\Vcs;..use.Composer\
cb6e0 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 Config;.use.Composer\IO\IOInterf
cb700 61 63 65 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 44 72 69 76 65 72 49 6e 74 65 ace;.....interface.VcsDriverInte
cb720 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 rface.{....public.function.initi
cb740 61 6c 69 7a 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 alize();........public.function.
cb760 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 getComposerInformation($identifi
cb780 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 er);.........public.function.get
cb7a0 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b FileContent($file,.$identifier);
cb7c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 ........public.function.getChang
cb7e0 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 eDate($identifier);.......public
cb800 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 0a .function.getRootIdentifier();..
cb820 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 .....public.function.getBranches
cb840 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 ();.......public.function.getTag
cb860 73 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 s();......public.function.getDis
cb880 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 t($identifier);......public.func
cb8a0 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a tion.getSource($identifier);....
cb8c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 3b 0a 0a 0a 0a ...public.function.getUrl();....
cb8e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 .....public.function.hasComposer
cb900 46 69 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 File($identifier);.....public.fu
cb920 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c nction.cleanup();...........publ
cb940 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e ic.static.function.supports(IOIn
cb960 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 terface.$io,.Config.$config,.$ur
cb980 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a l,.$deep.=.false);.}.<?php......
cb9a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
cb9c0 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 ory;..use.Composer\Downloader\Tr
cb9e0 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ansportException;.use.Composer\R
cba00 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 epository\Vcs\VcsDriverInterface
cba20 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 ;.use.Composer\Package\Version\V
cba40 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ersionParser;.use.Composer\Packa
cba60 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f ge\Loader\ArrayLoader;.use.Compo
cba80 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 ser\Package\Loader\ValidatingArr
cbaa0 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c ayLoader;.use.Composer\Package\L
cbac0 6f 61 64 65 72 5c 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 oader\InvalidPackageException;.u
cbae0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 se.Composer\Package\Loader\Loade
cbb00 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 rInterface;.use.Composer\EventDi
cbb20 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f spatcher\EventDispatcher;.use.Co
cbb40 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
cbb60 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 63 73 52 65 70 6f 73 69 74 ser\Config;.....class.VcsReposit
cbb80 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c ory.extends.ArrayRepository.impl
cbba0 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 ements.ConfigurableRepositoryInt
cbbc0 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 70 72 6f 74 65 63 74 erface.{.protected.$url;.protect
cbbe0 65 64 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 ed.$packageName;.protected.$verb
cbc00 6f 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 ose;.protected.$io;.protected.$c
cbc20 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b onfig;.protected.$versionParser;
cbc40 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 .protected.$type;.protected.$loa
cbc60 64 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 70 72 6f 74 der;.protected.$repoConfig;.prot
cbc80 65 63 74 65 64 20 24 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 20 3d 20 66 61 6c ected.$branchErrorOccurred.=.fal
cbca0 73 65 3b 0a 70 72 69 76 61 74 65 20 24 64 72 69 76 65 72 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 se;.private.$drivers;..private.$
cbcc0 64 72 69 76 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 driver;..public.function.__const
cbce0 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 ruct(array.$repoConfig,.IOInterf
cbd00 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 ace.$io,.Config.$config,.EventDi
cbd20 73 70 61 74 63 68 65 72 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 spatcher.$dispatcher.=.null,.arr
cbd40 61 79 20 24 64 72 69 76 65 72 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f ay.$drivers.=.null).{.parent::__
cbd60 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 3d 20 24 64 construct();.$this->drivers.=.$d
cbd80 72 69 76 65 72 73 20 3f 3a 20 61 72 72 61 79 28 0a 27 67 69 74 68 75 62 27 20 3d 3e 20 27 43 6f rivers.?:.array(.'github'.=>.'Co
cbda0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 48 75 62 44 72 69 76 mposer\Repository\Vcs\GitHubDriv
cbdc0 65 72 27 2c 0a 27 67 69 74 6c 61 62 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 er',.'gitlab'.=>.'Composer\Repos
cbde0 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 4c 61 62 44 72 69 76 65 72 27 2c 0a 27 67 69 74 2d 62 69 itory\Vcs\GitLabDriver',.'git-bi
cbe00 74 62 75 63 6b 65 74 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 tbucket'.=>.'Composer\Repository
cbe20 5c 56 63 73 5c 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 27 2c 0a 27 67 69 74 27 20 \Vcs\GitBitbucketDriver',.'git'.
cbe40 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 44 =>.'Composer\Repository\Vcs\GitD
cbe60 72 69 76 65 72 27 2c 0a 27 68 67 2d 62 69 74 62 75 63 6b 65 74 27 20 3d 3e 20 27 43 6f 6d 70 6f river',.'hg-bitbucket'.=>.'Compo
cbe80 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 42 69 74 62 75 63 6b 65 74 44 72 ser\Repository\Vcs\HgBitbucketDr
cbea0 69 76 65 72 27 2c 0a 27 68 67 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 iver',.'hg'.=>.'Composer\Reposit
cbec0 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 27 2c 0a 27 70 65 72 66 6f 72 63 65 27 20 3d 3e ory\Vcs\HgDriver',.'perforce'.=>
cbee0 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 50 65 72 66 6f 72 .'Composer\Repository\Vcs\Perfor
cbf00 63 65 44 72 69 76 65 72 27 2c 0a 27 66 6f 73 73 69 6c 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 ceDriver',.'fossil'.=>.'Composer
cbf20 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 46 6f 73 73 69 6c 44 72 69 76 65 72 27 2c 0a 0a \Repository\Vcs\FossilDriver',..
cbf40 20 27 73 76 6e 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 .'svn'.=>.'Composer\Repository\V
cbf60 63 73 5c 53 76 6e 44 72 69 76 65 72 27 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 cs\SvnDriver',.);..$this->url.=.
cbf80 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 $repoConfig['url'];.$this->io.=.
cbfa0 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 72 65 70 6f 43 6f $io;.$this->type.=.isset($repoCo
cbfc0 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 79 70 nfig['type']).?.$repoConfig['typ
cbfe0 65 27 5d 20 3a 20 27 76 63 73 27 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 3d 20 24 69 e'].:.'vcs';.$this->verbose.=.$i
cc000 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 o->isVeryVerbose();.$this->confi
cc020 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d g.=.$config;.$this->repoConfig.=
cc040 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$repoConfig;.}..public.function
cc060 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .getRepoConfig().{.return.$this-
cc080 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 >repoConfig;.}..public.function.
cc0a0 73 65 74 4c 6f 61 64 65 72 28 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 setLoader(LoaderInterface.$loade
cc0c0 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a r).{.$this->loader.=.$loader;.}.
cc0e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 72 69 76 65 72 28 29 0a 7b 0a 69 .public.function.getDriver().{.i
cc100 66 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 f.($this->driver).{.return.$this
cc120 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 72 ->driver;.}..if.(isset($this->dr
cc140 69 76 65 72 73 5b 24 74 68 69 73 2d 3e 74 79 70 65 5d 29 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 ivers[$this->type])).{.$class.=.
cc160 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 69 73 2d 3e 74 79 70 65 5d 3b 0a 24 74 68 $this->drivers[$this->type];.$th
cc180 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 74 68 69 73 2d 3e 72 is->driver.=.new.$class($this->r
cc1a0 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e epoConfig,.$this->io,.$this->con
cc1c0 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 fig);.$this->driver->initialize(
cc1e0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 0a 66 6f 72 );..return.$this->driver;.}..for
cc200 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 61 73 20 24 64 72 69 76 65 72 29 each.($this->drivers.as.$driver)
cc220 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 3a 3a 73 75 70 70 6f 72 74 73 28 24 74 68 69 73 2d 3e .{.if.($driver::supports($this->
cc240 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 io,.$this->config,.$this->url)).
cc260 7b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 {.$this->driver.=.new.$driver($t
cc280 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 his->repoConfig,.$this->io,.$thi
cc2a0 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 s->config);.$this->driver->initi
cc2c0 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a alize();..return.$this->driver;.
cc2e0 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 61 73 20 }.}..foreach.($this->drivers.as.
cc300 24 64 72 69 76 65 72 29 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 3a 3a 73 75 70 70 6f 72 74 73 $driver).{.if.($driver::supports
cc320 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 ($this->io,.$this->config,.$this
cc340 2d 3e 75 72 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 ->url,.true)).{.$this->driver.=.
cc360 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 new.$driver($this->repoConfig,.$
cc380 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d this->io,.$this->config);.$this-
cc3a0 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 >driver->initialize();..return.$
cc3c0 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->driver;.}.}.}..public.func
cc3e0 74 69 6f 6e 20 68 61 64 49 6e 76 61 6c 69 64 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 72 65 74 75 tion.hadInvalidBranches().{.retu
cc400 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 3b 0a 7d rn.$this->branchErrorOccurred;.}
cc420 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 ..protected.function.initialize(
cc440 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 76 65 72 62 ).{.parent::initialize();..$verb
cc460 6f 73 65 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 3b 0a 0a 24 64 72 69 76 65 72 20 3d ose.=.$this->verbose;..$driver.=
cc480 20 24 74 68 69 73 2d 3e 67 65 74 44 72 69 76 65 72 28 29 3b 0a 69 66 20 28 21 24 64 72 69 76 65 .$this->getDriver();.if.(!$drive
cc4a0 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 r).{.throw.new.\InvalidArgumentE
cc4c0 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 64 72 69 76 65 72 20 66 6f 75 6e 64 20 74 6f 20 68 61 6e xception('No.driver.found.to.han
cc4e0 64 6c 65 20 56 43 53 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 dle.VCS.repository.'.$this->url)
cc500 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 ;.}..$this->versionParser.=.new.
cc520 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 VersionParser;.if.(!$this->loade
cc540 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f r).{.$this->loader.=.new.ArrayLo
cc560 61 64 65 72 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 7d 0a 0a 74 ader($this->versionParser);.}..t
cc580 72 79 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 2d 3e 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c ry.{.if.($driver->hasComposerFil
cc5a0 65 28 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 29 29 e($driver->getRootIdentifier()))
cc5c0 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 .{.$data.=.$driver->getComposerI
cc5e0 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 nformation($driver->getRootIdent
cc600 69 66 69 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 21 ifier());.$this->packageName.=.!
cc620 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 empty($data['name']).?.$data['na
cc640 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 me'].:.null;.}.}.catch.(\Excepti
cc660 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e on.$e).{.if.($verbose).{.$this->
cc680 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 70 65 64 20 70 io->writeError('<error>Skipped.p
cc6a0 61 72 73 69 6e 67 20 27 2e 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 arsing.'.$driver->getRootIdentif
cc6c0 69 65 72 28 29 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 ier().',.'.$e->getMessage().'</e
cc6e0 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 72 69 76 65 72 2d 3e rror>');.}.}..foreach.($driver->
cc700 67 65 74 54 61 67 73 28 29 20 61 73 20 24 74 61 67 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 getTags().as.$tag.=>.$identifier
cc720 29 20 7b 0a 24 6d 73 67 20 3d 20 27 52 65 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f ).{.$msg.=.'Reading.composer.jso
cc740 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 n.of.<info>'...($this->packageNa
cc760 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 me.?:.$this->url)...'</info>.(<c
cc780 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 61 67 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b omment>'...$tag...'</comment>)';
cc7a0 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 .if.($verbose).{.$this->io->writ
cc7c0 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f eError($msg);.}.else.{.$this->io
cc7e0 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d ->overwriteError($msg,.false);.}
cc800 0a 0a 0a 20 24 74 61 67 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 72 65 6c 65 61 73 65 2d ....$tag.=.str_replace('release-
cc820 27 2c 20 27 27 2c 20 24 74 61 67 29 3b 0a 0a 69 66 20 28 21 24 70 61 72 73 65 64 54 61 67 20 3d ',.'',.$tag);..if.(!$parsedTag.=
cc840 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 61 67 28 24 74 61 67 29 29 20 7b 0a 69 66 20 .$this->validateTag($tag)).{.if.
cc860 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 ($verbose).{.$this->io->writeErr
cc880 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e or('<warning>Skipped.tag.'.$tag.
cc8a0 27 2c 20 69 6e 76 61 6c 69 64 20 74 61 67 20 6e 61 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b ',.invalid.tag.name</warning>');
cc8c0 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 64 61 74 61 .}.continue;.}..try.{.if.(!$data
cc8e0 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 .=.$driver->getComposerInformati
cc900 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 on($identifier)).{.if.($verbose)
cc920 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 .{.$this->io->writeError('<warni
cc940 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 6e 6f 20 63 6f 6d 70 ng>Skipped.tag.'.$tag.',.no.comp
cc960 6f 73 65 72 20 66 69 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 oser.file</warning>');.}.continu
cc980 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e e;.}....if.(isset($data['version
cc9a0 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 '])).{.$data['version_normalized
cc9c0 27 5d 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 '].=.$this->versionParser->norma
cc9e0 6c 69 7a 65 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b lize($data['version']);.}.else.{
cca00 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 74 61 67 3b 0a 24 64 61 74 ...$data['version'].=.$tag;.$dat
cca20 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 a['version_normalized'].=.$parse
cca40 64 54 61 67 3b 0a 7d 0a 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 dTag;.}....$data['version'].=.pr
cca60 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 2e 2d 5d 3f 64 65 76 24 7d 69 27 2c 20 27 27 2c 20 24 eg_replace('{[.-]?dev$}i',.'',.$
cca80 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e data['version']);.$data['version
ccaa0 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 _normalized'].=.preg_replace('{(
ccac0 5e 64 65 76 2d 7c 5b 2e 2d 5d 3f 64 65 76 24 29 7d 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 ^dev-|[.-]?dev$)}i',.'',.$data['
ccae0 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 64 version_normalized']);....if.($d
ccb00 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 21 3d 3d 20 24 70 ata['version_normalized'].!==.$p
ccb20 61 72 73 65 64 54 61 67 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 arsedTag).{.if.($verbose).{.$thi
ccb40 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 s->io->writeError('<warning>Skip
ccb60 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 74 61 67 20 28 27 2e 24 70 61 72 73 65 64 ped.tag.'.$tag.',.tag.('.$parsed
ccb80 54 61 67 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 76 65 72 73 69 6f 6e 20 28 27 Tag.').does.not.match.version.('
ccba0 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 29 20 .$data['version_normalized'].').
ccbc0 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a in.composer.json</warning>');.}.
ccbe0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 continue;.}..if.($existingPackag
ccc00 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 64 61 74 61 5b 27 6e 61 e.=.$this->findPackage($data['na
ccc20 6d 65 27 5d 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 me'],.$data['version_normalized'
ccc40 5d 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d ])).{.if.($verbose).{.$this->io-
ccc60 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 >writeError('<warning>Skipped.ta
ccc80 67 20 27 2e 24 74 61 67 2e 27 2c 20 69 74 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e g.'.$tag.',.it.conflicts.with.an
ccca0 20 61 6e 6f 74 68 65 72 20 74 61 67 20 28 27 2e 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 .another.tag.('.$existingPackage
cccc0 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 61 73 20 62 6f 74 68 20 ->getPrettyVersion().').as.both.
ccce0 72 65 73 6f 6c 76 65 20 74 6f 20 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d resolve.to.'.$data['version_norm
ccd00 61 6c 69 7a 65 64 27 5d 2e 27 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e 69 6e 67 3e 27 alized'].'.internally</warning>'
ccd20 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 );.}.continue;.}..if.($verbose).
ccd40 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6d 70 6f 72 74 69 {.$this->io->writeError('Importi
ccd60 6e 67 20 74 61 67 20 27 2e 24 74 61 67 2e 27 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f ng.tag.'.$tag.'.('.$data['versio
ccd80 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 n_normalized'].')');.}..$this->a
ccda0 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 74 ddPackage($this->loader->load($t
ccdc0 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 73 73 28 24 64 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 his->preProcess($driver,.$data,.
ccde0 24 69 64 65 6e 74 69 66 69 65 72 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 $identifier)));.}.catch.(\Except
cce00 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d ion.$e).{.if.($verbose).{.$this-
cce20 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 >io->writeError('<warning>Skippe
cce40 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 27 2e 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 d.tag.'.$tag.',.'.($e.instanceof
cce60 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 3f 20 27 6e 6f 20 63 6f 6d 70 6f 73 .TransportException.?.'no.compos
cce80 65 72 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 27 20 3a 20 24 65 2d 3e 67 65 74 4d 65 73 73 er.file.was.found'.:.$e->getMess
ccea0 61 67 65 28 29 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 age()).'</warning>');.}.continue
ccec0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 ;.}.}..if.(!$verbose).{.$this->i
ccee0 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a o->overwriteError('',.false);.}.
ccf00 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 .$branches.=.$driver->getBranche
ccf20 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 62 72 61 6e s();.foreach.($branches.as.$bran
ccf40 63 68 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 6d 73 67 20 3d 20 27 52 65 61 ch.=>.$identifier).{.$msg.=.'Rea
ccf60 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 2e 20 ding.composer.json.of.<info>'...
ccf80 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e 75 72 ($this->packageName.?:.$this->ur
ccfa0 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 62 72 61 l)...'</info>.(<comment>'...$bra
ccfc0 6e 63 68 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 nch...'</comment>)';.if.($verbos
ccfe0 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 e).{.$this->io->writeError($msg)
cd000 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 ;.}.else.{.$this->io->overwriteE
cd020 72 72 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 72 61 6e 63 rror($msg,.false);.}..if.($branc
cd040 68 20 3d 3d 3d 20 27 74 72 75 6e 6b 27 20 26 26 20 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 h.===.'trunk'.&&.isset($branches
cd060 5b 27 6d 61 73 74 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 ['master'])).{.if.($verbose).{.$
cd080 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 this->io->writeError('<warning>S
cd0a0 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 63 61 6e 20 6e kipped.branch.'.$branch.',.can.n
cd0c0 6f 74 20 70 61 72 73 65 20 62 6f 74 68 20 6d 61 73 74 65 72 20 61 6e 64 20 74 72 75 6e 6b 20 62 ot.parse.both.master.and.trunk.b
cd0e0 72 61 6e 63 68 65 73 20 61 73 20 74 68 65 79 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 20 74 6f 20 ranches.as.they.both.resolve.to.
cd100 39 39 39 39 39 39 39 2d 64 65 76 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e 69 6e 67 3e 9999999-dev.internally</warning>
cd120 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 73 65 64 42 ');.}.continue;.}..if.(!$parsedB
cd140 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 42 72 61 6e 63 68 28 24 62 ranch.=.$this->validateBranch($b
cd160 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d ranch)).{.if.($verbose).{.$this-
cd180 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 >io->writeError('<warning>Skippe
cd1a0 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 69 6e 76 61 6c 69 64 20 6e 61 d.branch.'.$branch.',.invalid.na
cd1c0 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 me</warning>');.}.continue;.}..t
cd1e0 72 79 20 7b 0a 69 66 20 28 21 24 64 61 74 61 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f ry.{.if.(!$data.=.$driver->getCo
cd200 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 mposerInformation($identifier)).
cd220 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 {.if.($verbose).{.$this->io->wri
cd240 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 teError('<warning>Skipped.branch
cd260 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 6c 65 3c 2f .'.$branch.',.no.composer.file</
cd280 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 64 61 warning>');.}.continue;.}....$da
cd2a0 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 62 72 61 6e 63 68 3b 0a 24 64 61 74 61 5b 27 ta['version'].=.$branch;.$data['
cd2c0 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 64 42 72 version_normalized'].=.$parsedBr
cd2e0 61 6e 63 68 3b 0a 0a 0a 20 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 anch;....if.('dev-'.===.substr($
cd300 70 61 72 73 65 64 42 72 61 6e 63 68 2c 20 30 2c 20 34 29 20 7c 7c 20 27 39 39 39 39 39 39 39 2d parsedBranch,.0,.4).||.'9999999-
cd320 64 65 76 27 20 3d 3d 3d 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 20 7b 0a 24 64 61 74 61 5b dev'.===.$parsedBranch).{.$data[
cd340 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 64 61 74 61 5b 27 76 65 72 'version'].=.'dev-'...$data['ver
cd360 73 69 6f 6e 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 73 75 62 73 74 sion'];.}.else.{.$prefix.=.subst
cd380 72 28 24 62 72 61 6e 63 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 76 27 20 3f 20 27 76 27 20 3a r($branch,.0,.1).===.'v'.?.'v'.:
cd3a0 20 27 27 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 72 65 66 69 78 20 .'';.$data['version'].=.$prefix.
cd3c0 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e ..preg_replace('{(\.9{7})+}',.'.
cd3e0 78 27 2c 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 x',.$parsedBranch);.}..if.($verb
cd400 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6d ose).{.$this->io->writeError('Im
cd420 70 6f 72 74 69 6e 67 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 20 28 27 2e 24 64 porting.branch.'.$branch.'.('.$d
cd440 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 ata['version'].')');.}..$package
cd460 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 73 73 28 24 64 72 69 76 65 72 Data.=.$this->preProcess($driver
cd480 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 70 61 63 6b 61 67 65 20 ,.$data,.$identifier);.$package.
cd4a0 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 44 61 =.$this->loader->load($packageDa
cd4c0 74 61 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f ta);.if.($this->loader.instanceo
cd4e0 66 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 20 26 26 20 24 74 68 69 73 f.ValidatingArrayLoader.&&.$this
cd500 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 20 7b 0a 74 68 72 6f 77 ->loader->getWarnings()).{.throw
cd520 20 6e 65 77 20 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 .new.InvalidPackageException($th
cd540 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 2c 20 24 74 68 69 73 2d 3e is->loader->getErrors(),.$this->
cd560 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 2c 20 24 70 61 63 6b 61 67 65 44 loader->getWarnings(),.$packageD
cd580 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 ata);.}.$this->addPackage($packa
cd5a0 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e ge);.}.catch.(TransportException
cd5c0 20 24 65 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f .$e).{.if.($verbose).{.$this->io
cd5e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 62 ->writeError('<warning>Skipped.b
cd600 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 ranch.'.$branch.',.no.composer.f
cd620 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e ile.was.found</warning>');.}.con
cd640 74 69 6e 75 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b tinue;.}.catch.(\Exception.$e).{
cd660 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 .if.(!$verbose).{.$this->io->wri
cd680 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 45 72 72 6f teError('');.}.$this->branchErro
cd6a0 72 4f 63 63 75 72 72 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 rOccurred.=.true;.$this->io->wri
cd6c0 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 teError('<error>Skipped.branch.'
cd6e0 2e 24 62 72 61 6e 63 68 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 .$branch.',.'.$e->getMessage().'
cd700 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f </error>');.$this->io->writeErro
cd720 72 28 27 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 24 64 72 69 76 65 72 2d 3e 63 6c r('');.continue;.}.}.$driver->cl
cd740 65 61 6e 75 70 28 29 3b 0a 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 eanup();..if.(!$verbose).{.$this
cd760 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 66 61 6c 73 65 29 3b ->io->overwriteError('',.false);
cd780 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 29 20 7b .}..if.(!$this->getPackages()).{
cd7a0 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 .throw.new.InvalidRepositoryExce
cd7c0 70 74 69 6f 6e 28 27 4e 6f 20 76 61 6c 69 64 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 77 61 ption('No.valid.composer.json.wa
cd7e0 73 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 62 72 61 6e 63 68 20 6f 72 20 74 61 67 20 6f 66 20 s.found.in.any.branch.or.tag.of.
cd800 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 61 '.$this->url.',.could.not.load.a
cd820 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 69 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 .package.from.it.');.}.}..protec
cd840 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 50 72 6f 63 65 73 73 28 56 63 73 44 72 69 76 65 ted.function.preProcess(VcsDrive
cd860 72 49 6e 74 65 72 66 61 63 65 20 24 64 72 69 76 65 72 2c 20 61 72 72 61 79 20 24 64 61 74 61 2c rInterface.$driver,.array.$data,
cd880 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 0a 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 .$identifier).{...$data['name'].
cd8a0 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 64 61 74 61 5b 27 6e =.$this->packageName.?:.$data['n
cd8c0 61 6d 65 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 64 69 73 74 27 5d ame'];..if.(!isset($data['dist']
cd8e0 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 )).{.$data['dist'].=.$driver->ge
cd900 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 tDist($identifier);.}.if.(!isset
cd920 28 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 73 6f 75 72 ($data['source'])).{.$data['sour
cd940 63 65 27 5d 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 ce'].=.$driver->getSource($ident
cd960 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 ifier);.}..return.$data;.}..priv
cd980 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 42 72 61 6e 63 68 28 24 62 72 61 ate.function.validateBranch($bra
cd9a0 6e 63 68 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 nch).{.try.{.return.$this->versi
cd9c0 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 onParser->normalizeBranch($branc
cd9e0 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a h);.}.catch.(\Exception.$e).{.}.
cda00 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 .return.false;.}..private.functi
cda20 6f 6e 20 76 61 6c 69 64 61 74 65 54 61 67 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 74 72 79 20 7b on.validateTag($version).{.try.{
cda40 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f .return.$this->versionParser->no
cda60 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 rmalize($version);.}.catch.(\Exc
cda80 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a eption.$e).{.}..return.false;.}.
cdaa0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
cdac0 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c poser\Repository;..use.Composer\
cdae0 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 Package\AliasPackage;.......clas
cdb00 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 s.WritableArrayRepository.extend
cdb20 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 57 72 69 s.ArrayRepository.implements.Wri
cdb40 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 tableRepositoryInterface.{....pu
cdb60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 blic.function.write().{.}.....pu
cdb80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 blic.function.reload().{.}.....p
cdba0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 ublic.function.getCanonicalPacka
cdbc0 67 65 73 28 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 ges().{.$packages.=.$this->getPa
cdbe0 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 3d 20 61 ckages();....$packagesByName.=.a
cdc00 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 rray();.foreach.($packages.as.$p
cdc20 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 42 79 ackage).{.if.(!isset($packagesBy
cdc40 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 7c 7c 20 24 70 Name[$package->getName()]).||.$p
cdc60 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ackagesByName[$package->getName(
cdc80 29 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 )].instanceof.AliasPackage).{.$p
cdca0 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ackagesByName[$package->getName(
cdcc0 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 )].=.$package;.}.}..$canonicalPa
cdce0 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 70 ckages.=.array();....foreach.($p
cdd00 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 77 68 69 ackagesByName.as.$package).{.whi
cdd20 6c 65 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 le.($package.instanceof.AliasPac
cdd40 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 kage).{.$package.=.$package->get
cdd60 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 AliasOf();.}..$canonicalPackages
cdd80 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 6e 6f 6e 69 [].=.$package;.}..return.$canoni
cdda0 63 61 6c 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a calPackages;.}.}.<?php..........
cddc0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b ..namespace.Composer\Repository;
cdde0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ..use.Composer\Package\PackageIn
cde00 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 57 72 69 74 61 62 6c terface;.......interface.Writabl
cde20 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 52 65 70 eRepositoryInterface.extends.Rep
cde40 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ositoryInterface.{....public.fun
cde60 63 74 69 6f 6e 20 77 72 69 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ction.write();.......public.func
cde80 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 tion.addPackage(PackageInterface
cdea0 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$package);.......public.functio
cdec0 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 n.removePackage(PackageInterface
cdee0 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$package);.......public.functio
cdf00 6e 20 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 70 75 n.getCanonicalPackages();.....pu
cdf20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a blic.function.reload();.}.<?php.
cdf40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 ...........namespace.Composer\Sc
cdf60 72 69 70 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 ript;.......class.CommandEvent.e
cdf80 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a xtends.Event.{.}.<?php..........
cdfa0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 75 73 ..namespace.Composer\Script;..us
cdfc0 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Composer;.use.Compose
cdfe0 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 r\IO\IOInterface;.use.Composer\E
ce000 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 20 61 73 20 42 61 73 65 45 76 65 6e ventDispatcher\Event.as.BaseEven
ce020 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 t;........class.Event.extends.Ba
ce040 73 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a seEvent.{....private.$composer;.
ce060 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 ....private.$io;.....private.$de
ce080 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f vMode;............public.functio
ce0a0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 n.__construct($name,.Composer.$c
ce0c0 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f omposer,.IOInterface.$io,.$devMo
ce0e0 64 65 20 3d 20 66 61 6c 73 65 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 de.=.false,.array.$args.=.array(
ce100 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 ),.array.$flags.=.array()).{.par
ce120 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 61 72 67 73 2c 20 24 ent::__construct($name,.$args,.$
ce140 66 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f flags);.$this->composer.=.$compo
ce160 73 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 ser;.$this->io.=.$io;.$this->dev
ce180 4d 6f 64 65 20 3d 20 24 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 Mode.=.$devMode;.}.......public.
ce1a0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 function.getComposer().{.return.
ce1c0 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $this->composer;.}.......public.
ce1e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d function.getIO().{.return.$this-
ce200 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 >io;.}.......public.function.isD
ce220 65 76 4d 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 evMode().{.return.$this->devMode
ce240 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
ce260 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c .Composer\Script;..use.Composer\
ce280 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 20 61 73 20 42 61 73 65 50 61 Installer\PackageEvent.as.BasePa
ce2a0 63 6b 61 67 65 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 45 ckageEvent;.......class.PackageE
ce2c0 76 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 65 45 76 65 6e 74 0a 7b 0a vent.extends.BasePackageEvent.{.
ce2e0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
ce300 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 poser\Script;........class.Scrip
ce320 74 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 49 4e 53 54 41 tEvents.{........const.PRE_INSTA
ce340 4c 4c 5f 43 4d 44 20 3d 20 27 70 72 65 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a LL_CMD.=.'pre-install-cmd';.....
ce360 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 20 3d 20 27 70 6f ....const.POST_INSTALL_CMD.=.'po
ce380 73 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 st-install-cmd';.........const.P
ce3a0 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 20 3d 20 27 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 27 RE_UPDATE_CMD.=.'pre-update-cmd'
ce3c0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 20 ;.........const.POST_UPDATE_CMD.
ce3e0 3d 20 27 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e =.'post-update-cmd';.........con
ce400 73 74 20 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 20 3d 20 27 70 72 65 2d 73 74 61 74 75 73 2d st.PRE_STATUS_CMD.=.'pre-status-
ce420 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 53 54 41 54 55 53 5f cmd';.........const.POST_STATUS_
ce440 43 4d 44 20 3d 20 27 70 6f 73 74 2d 73 74 61 74 75 73 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a CMD.=.'post-status-cmd';........
ce460 0a 63 6f 6e 73 74 20 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 72 65 2d .const.PRE_AUTOLOAD_DUMP.=.'pre-
ce480 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f autoload-dump';.........const.PO
ce4a0 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 ST_AUTOLOAD_DUMP.=.'post-autoloa
ce4c0 64 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 52 4f 4f 54 d-dump';.........const.POST_ROOT
ce4e0 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 72 6f 6f 74 2d 70 61 _PACKAGE_INSTALL.=.'post-root-pa
ce500 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 ckage-install';..........const.P
ce520 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 43 54 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 63 OST_CREATE_PROJECT_CMD.=.'post-c
ce540 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 reate-project-cmd';.........cons
ce560 74 20 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d 44 20 3d 20 27 70 72 65 2d 61 72 63 68 69 76 65 t.PRE_ARCHIVE_CMD.=.'pre-archive
ce580 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 41 52 43 48 49 56 -cmd';.........const.POST_ARCHIV
ce5a0 45 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 61 72 63 68 69 76 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a E_CMD.=.'post-archive-cmd';.....
ce5c0 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c .......const.PRE_PACKAGE_INSTALL
ce5e0 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a .=.'pre-package-install';.......
ce600 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 ...const.POST_PACKAGE_INSTALL.=.
ce620 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 'post-package-install';.........
ce640 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 72 65 .const.PRE_PACKAGE_UPDATE.=.'pre
ce660 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 -package-update';..........const
ce680 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 6f 73 74 2d 70 61 63 .POST_PACKAGE_UPDATE.=.'post-pac
ce6a0 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 kage-update';..........const.PRE
ce6c0 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 _PACKAGE_UNINSTALL.=.'pre-packag
ce6e0 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 e-uninstall';..........const.POS
ce700 54 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b T_PACKAGE_UNINSTALL.=.'post-pack
ce720 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a age-uninstall';.}.<?php.........
ce740 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 ...namespace.Composer\SelfUpdate
ce760 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4b 65 79 73 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 ;.....class.Keys.{.public.static
ce780 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 67 65 72 70 72 69 6e 74 28 24 70 61 74 68 29 0a 7b 0a 24 .function.fingerprint($path).{.$
ce7a0 68 61 73 68 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 68 61 73 68 28 27 73 68 61 32 35 36 27 2c hash.=.strtoupper(hash('sha256',
ce7c0 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 73 7d 27 2c 20 27 27 2c 20 66 69 6c 65 5f 67 .preg_replace('{\s}',.'',.file_g
ce7e0 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 29 29 29 3b 0a 0a 72 65 74 75 72 6e 20 69 et_contents($path))));..return.i
ce800 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 28 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c mplode('.',.array(.substr($hash,
ce820 20 30 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 38 2c 20 38 29 2c 0a 73 75 62 .0,.8),.substr($hash,.8,.8),.sub
ce840 73 74 72 28 24 68 61 73 68 2c 20 31 36 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c str($hash,.16,.8),.substr($hash,
ce860 20 32 34 2c 20 38 29 2c 0a 27 27 2c 20 0a 20 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 33 32 2c .24,.8),.'',...substr($hash,.32,
ce880 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 34 30 2c 20 38 29 2c 0a 73 75 62 73 74 .8),.substr($hash,.40,.8),.subst
ce8a0 72 28 24 68 61 73 68 2c 20 34 38 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 35 r($hash,.48,.8),.substr($hash,.5
ce8c0 36 2c 20 38 29 2c 0a 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6,.8),.));.}.}.<?php............
ce8e0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 3b 0a 0a namespace.Composer\SelfUpdate;..
ce900 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 use.Composer\Util\RemoteFilesyst
ce920 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d em;.use.Composer\Config;.use.Com
ce940 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 poser\Json\JsonFile;.....class.V
ce960 65 72 73 69 6f 6e 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 70 72 69 76 61 74 65 20 ersions.{.private.$rfs;.private.
ce980 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 6e 65 6c 3b 0a 0a 70 75 62 6c $config;.private.$channel;..publ
ce9a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6e 66 69 67 20 24 ic.function.__construct(Config.$
ce9c0 63 6f 6e 66 69 67 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b config,.RemoteFilesystem.$rfs).{
ce9e0 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 .$this->rfs.=.$rfs;.$this->confi
cea00 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 g.=.$config;.}..public.function.
cea20 67 65 74 43 68 61 6e 6e 65 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 getChannel().{.if.($this->channe
cea40 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 0a 24 l).{.return.$this->channel;.}..$
cea60 63 68 61 6e 6e 65 6c 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 channelFile.=.$this->config->get
cea80 28 27 68 6f 6d 65 27 29 2e 27 2f 75 70 64 61 74 65 2d 63 68 61 6e 6e 65 6c 27 3b 0a 69 66 20 28 ('home').'/update-channel';.if.(
ceaa0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 63 68 61 6e 6e 65 6c 46 69 6c 65 29 29 20 7b 0a 24 63 68 file_exists($channelFile)).{.$ch
ceac0 61 6e 6e 65 6c 20 3d 20 74 72 69 6d 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 annel.=.trim(file_get_contents($
ceae0 63 68 61 6e 6e 65 6c 46 69 6c 65 29 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 68 61 channelFile));.if.(in_array($cha
ceb00 6e 6e 65 6c 2c 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c nnel,.array('stable',.'preview',
ceb20 20 27 73 6e 61 70 73 68 6f 74 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 .'snapshot'),.true)).{.return.$t
ceb40 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 24 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 7d 0a 0a 72 65 his->channel.=.$channel;.}.}..re
ceb60 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 27 73 74 61 62 6c 65 27 3b 0a turn.$this->channel.=.'stable';.
ceb80 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 68 61 6e 6e 65 6c 28 24 63 }..public.function.setChannel($c
ceba0 68 61 6e 6e 65 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 63 68 61 6e 6e 65 6c hannel).{.if.(!in_array($channel
cebc0 2c 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e ,.array('stable',.'preview',.'sn
cebe0 61 70 73 68 6f 74 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e apshot'),.true)).{.throw.new.\In
cec00 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 validArgumentException('Invalid.
cec20 63 68 61 6e 6e 65 6c 20 27 2e 24 63 68 61 6e 6e 65 6c 2e 27 2c 20 6d 75 73 74 20 62 65 20 6f 6e channel.'.$channel.',.must.be.on
cec40 65 20 6f 66 3a 20 73 74 61 62 6c 65 2c 20 70 72 65 76 69 65 77 2c 20 73 6e 61 70 73 68 6f 74 27 e.of:.stable,.preview,.snapshot'
cec60 29 3b 0a 7d 0a 0a 24 63 68 61 6e 6e 65 6c 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 );.}..$channelFile.=.$this->conf
cec80 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 75 70 64 61 74 65 2d 63 68 61 6e 6e 65 6c ig->get('home').'/update-channel
ceca0 27 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 24 63 68 61 6e 6e 65 6c 3b 0a 66 69 ';.$this->channel.=.$channel;.fi
cecc0 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 24 63 le_put_contents($channelFile,.$c
cece0 68 61 6e 6e 65 6c 2e 50 48 50 5f 45 4f 4c 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 hannel.PHP_EOL);.}..public.funct
ced00 69 6f 6e 20 67 65 74 4c 61 74 65 73 74 28 29 0a 7b 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 ion.getLatest().{.$protocol.=.ex
ced20 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 tension_loaded('openssl').?.'htt
ced40 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 4a 73 6f 6e 46 69 ps'.:.'http';.$versions.=.JsonFi
ced60 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e le::parseJson($this->rfs->getCon
ced80 74 65 6e 74 73 28 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 tents('getcomposer.org',.$protoc
ceda0 6f 6c 20 2e 20 27 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 76 65 72 73 69 6f 6e ol...'://getcomposer.org/version
cedc0 73 27 2c 20 66 61 6c 73 65 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 s',.false));..foreach.($versions
cede0 5b 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 5d 20 61 73 20 24 76 65 72 73 69 6f [$this->getChannel()].as.$versio
cee00 6e 29 20 7b 0a 69 66 20 28 24 76 65 72 73 69 6f 6e 5b 27 6d 69 6e 2d 70 68 70 27 5d 20 3c 3d 20 n).{.if.($version['min-php'].<=.
cee20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f PHP_VERSION_ID).{.return.$versio
cee40 6e 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f n;.}.}..throw.new.\LogicExceptio
cee60 6e 28 27 54 68 65 72 65 20 69 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 6f 66 20 43 6f 6d 70 6f 73 n('There.is.no.version.of.Compos
cee80 65 72 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f er.available.for.your.PHP.versio
ceea0 6e 20 28 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2e 27 29 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 n.('.PHP_VERSION.')');.}.}.<?php
ceec0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 ............namespace.Composer\U
ceee0 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 til;..use.Composer\Config;.use.C
cef00 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 omposer\IO\IOInterface;.....clas
cef20 73 20 41 75 74 68 48 65 6c 70 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 s.AuthHelper.{.protected.$io;.pr
cef40 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f otected.$config;..public.functio
cef60 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 n.__construct(IOInterface.$io,.C
cef80 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f onfig.$config).{.$this->io.=.$io
cefa0 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 ;.$this->config.=.$config;.}..pu
cefc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 41 75 74 68 28 24 6f 72 69 67 69 6e 55 blic.function.storeAuth($originU
cefe0 72 6c 2c 20 24 73 74 6f 72 65 41 75 74 68 29 0a 7b 0a 24 73 74 6f 72 65 20 3d 20 66 61 6c 73 65 rl,.$storeAuth).{.$store.=.false
cf000 3b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d ;.$configSource.=.$this->config-
cf020 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 3b 0a 69 66 20 28 24 73 74 6f >getAuthConfigSource();.if.($sto
cf040 72 65 41 75 74 68 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 63 6f 6e reAuth.===.true).{.$store.=.$con
cf060 66 69 67 53 6f 75 72 63 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 74 6f 72 65 41 75 74 68 20 figSource;.}.elseif.($storeAuth.
cf080 3d 3d 3d 20 27 70 72 6f 6d 70 74 27 29 20 7b 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d ===.'prompt').{.$answer.=.$this-
cf0a0 3e 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 44 6f 20 79 6f 75 20 77 61 6e >io->askAndValidate(.'Do.you.wan
cf0c0 74 20 74 6f 20 73 74 6f 72 65 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 2e 24 6f 72 t.to.store.credentials.for.'.$or
cf0e0 69 67 69 6e 55 72 6c 2e 27 20 69 6e 20 27 2e 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 67 65 iginUrl.'.in.'.$configSource->ge
cf100 74 4e 61 6d 65 28 29 2e 27 20 3f 20 5b 59 6e 5d 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 tName().'.?.[Yn].',.function.($v
cf120 61 6c 75 65 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 alue).{.$input.=.strtolower(subs
cf140 74 72 28 74 72 69 6d 28 24 76 61 6c 75 65 29 2c 20 30 2c 20 31 29 29 3b 0a 69 66 20 28 69 6e 5f tr(trim($value),.0,.1));.if.(in_
cf160 61 72 72 61 79 28 24 69 6e 70 75 74 2c 20 61 72 72 61 79 28 27 79 27 2c 27 6e 27 29 29 29 20 7b array($input,.array('y','n'))).{
cf180 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e .return.$input;.}.throw.new.\Run
cf1a0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 61 6e 73 77 65 72 20 28 79 29 timeException('Please.answer.(y)
cf1c0 65 73 20 6f 72 20 28 6e 29 6f 27 29 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 27 79 27 0a 29 3b 0a 0a 69 es.or.(n)o');.},.null,.'y'.);..i
cf1e0 66 20 28 24 61 6e 73 77 65 72 20 3d 3d 3d 20 27 79 27 29 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 f.($answer.===.'y').{.$store.=.$
cf200 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 7d 0a 69 66 20 28 24 73 74 6f 72 65 29 20 7b 0a configSource;.}.}.if.($store).{.
cf220 24 73 74 6f 72 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 0a 27 68 74 74 70 2d $store->addConfigSetting(.'http-
cf240 62 61 73 69 63 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 basic.'.$originUrl,.$this->io->g
cf260 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 29 3b 0a etAuthentication($originUrl).);.
cf280 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 }.}.}.<?php............namespace
cf2a0 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 .Composer\Util;..use.Composer\Fa
cf2c0 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 ctory;.use.Composer\IO\IOInterfa
cf2e0 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d ce;.use.Composer\Config;.use.Com
cf300 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 poser\Downloader\TransportExcept
cf320 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 69 74 62 75 63 6b 65 74 0a 7b 0a 70 72 69 76 61 ion;.....class.Bitbucket.{.priva
cf340 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 te.$io;.private.$config;.private
cf360 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 .$process;.private.$remoteFilesy
cf380 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a stem;.private.$token.=.array();.
cf3a0 70 72 69 76 61 74 65 20 24 74 69 6d 65 3b 0a 0a 63 6f 6e 73 74 20 4f 41 55 54 48 32 5f 41 43 43 private.$time;..const.OAUTH2_ACC
cf3c0 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b ESS_TOKEN_URL.=.'https://bitbuck
cf3e0 65 74 2e 6f 72 67 2f 73 69 74 65 2f 6f 61 75 74 68 32 2f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 et.org/site/oauth2/access_token'
cf400 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ;...........public.function.__co
cf420 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 nstruct(IOInterface.$io,.Config.
cf440 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 $config,.ProcessExecutor.$proces
cf460 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f s.=.null,.RemoteFilesystem.$remo
cf480 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 20 3d 20 6e 75 6c teFilesystem.=.null,.$time.=.nul
cf4a0 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e l).{.$this->io.=.$io;.$this->con
cf4c0 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 fig.=.$config;.$this->process.=.
cf4e0 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b $process.?:.new.ProcessExecutor;
cf500 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f .$this->remoteFilesystem.=.$remo
cf520 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 teFilesystem.?:.Factory::createR
cf540 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 emoteFilesystem($this->io,.$conf
cf560 69 67 29 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 20 3d 20 24 74 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a ig);.$this->time.=.$time;.}.....
cf580 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6f 6b 65 6e 28 29 0a 7b 0a 69 66 20 public.function.getToken().{.if.
cf5a0 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b (!isset($this->token['access_tok
cf5c0 65 6e 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 en'])).{.return.'';.}..return.$t
cf5e0 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 0a his->token['access_token'];.}...
cf600 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 .....public.function.authorizeOA
cf620 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 69 66 20 28 24 6f 72 69 67 69 6e 55 72 6c uth($originUrl).{.if.($originUrl
cf640 20 21 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 72 65 74 75 72 6e 20 66 .!==.'bitbucket.org').{.return.f
cf660 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 alse;.}....if.(0.===.$this->proc
cf680 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 62 69 74 62 75 63 6b ess->execute('git.config.bitbuck
cf6a0 65 74 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 et.accesstoken',.$output)).{.$th
cf6c0 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 is->io->setAuthentication($origi
cf6e0 6e 55 72 6c 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 74 72 69 6d 28 24 6f 75 74 70 nUrl,.'x-token-auth',.trim($outp
cf700 75 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 ut));..return.true;.}..return.fa
cf720 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 lse;.}......private.function.req
cf740 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 74 72 uestAccessToken($originUrl).{.tr
cf760 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 y.{.$json.=.$this->remoteFilesys
cf780 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 73 65 6c tem->getContents($originUrl,.sel
cf7a0 66 3a 3a 4f 41 55 54 48 32 5f 41 43 43 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 2c 20 66 61 6c 73 f::OAUTH2_ACCESS_TOKEN_URL,.fals
cf7c0 65 2c 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d e,.array(.'retry-auth-failure'.=
cf7e0 3e 20 66 61 6c 73 65 2c 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 6d 65 74 68 6f >.false,.'http'.=>.array(.'metho
cf800 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 27 67 72 61 6e d'.=>.'POST',.'content'.=>.'gran
cf820 74 5f 74 79 70 65 3d 63 6c 69 65 6e 74 5f 63 72 65 64 65 6e 74 69 61 6c 73 27 2c 0a 29 2c 0a 29 t_type=client_credentials',.),.)
cf840 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 );..$this->token.=.json_decode($
cf860 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 json,.true);.}.catch.(TransportE
cf880 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 xception.$e).{.if.($e->getCode()
cf8a0 20 3d 3d 3d 20 34 30 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f .===.400).{.$this->io->writeErro
cf8c0 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 r('<error>Invalid.OAuth.consumer
cf8e0 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d .provided.</error>');.$this->io-
cf900 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 69 73 20 63 61 6e 20 68 61 76 65 20 74 77 6f 20 72 >writeError('This.can.have.two.r
cf920 65 61 73 6f 6e 73 3a 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 easons:');.$this->io->writeError
cf940 28 27 31 2e 20 59 6f 75 20 61 72 65 20 61 75 74 68 65 6e 74 69 63 61 74 69 6e 67 20 77 69 74 68 ('1..You.are.authenticating.with
cf960 20 61 20 62 69 74 62 75 63 6b 65 74 20 75 73 65 72 6e 61 6d 65 2f 70 61 73 73 77 6f 72 64 20 63 .a.bitbucket.username/password.c
cf980 6f 6d 62 69 6e 61 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ombination');.$this->io->writeEr
cf9a0 72 6f 72 28 27 32 2e 20 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 61 6e 20 4f 41 75 74 68 20 63 ror('2..You.are.using.an.OAuth.c
cf9c0 6f 6e 73 75 6d 65 72 2c 20 62 75 74 20 64 69 64 6e 5c 27 74 20 63 6f 6e 66 69 67 75 72 65 20 61 onsumer,.but.didn\'t.configure.a
cf9e0 20 28 64 75 6d 6d 79 29 20 63 61 6c 6c 62 61 63 6b 20 75 72 6c 27 29 3b 0a 0a 72 65 74 75 72 6e .(dummy).callback.url');..return
cfa00 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 .false;.}.elseif.(in_array($e->g
cfa20 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 24 74 etCode(),.array(403,.401))).{.$t
cfa40 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 his->io->writeError('<error>Inva
cfa60 6c 69 64 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 lid.OAuth.consumer.provided.</er
cfa80 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 ror>');.$this->io->writeError('Y
cfaa0 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 ou.can.also.add.it.manually.late
cfac0 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c r.by.using."composer.config.--gl
cfae0 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 obal.--auth.bitbucket-oauth.bitb
cfb00 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d ucket.org.<consumer-key>.<consum
cfb20 65 72 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a er-secret>"');..return.false;.}.
cfb40 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a .throw.$e;.}..return.true;.}....
cfb60 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 .......public.function.authorize
cfb80 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 OAuthInteractively($originUrl,.$
cfba0 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 message.=.null).{.if.($message).
cfbc0 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 {.$this->io->writeError($message
cfbe0 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 63 6f 6e 66 6c 75 65 6e 63 65 );.}..$url.=.'https://confluence
cfc00 2e 61 74 6c 61 73 73 69 61 6e 2e 63 6f 6d 2f 62 69 74 62 75 63 6b 65 74 2f 6f 61 75 74 68 2d 6f .atlassian.com/bitbucket/oauth-o
cfc20 6e 2d 62 69 74 62 75 63 6b 65 74 2d 63 6c 6f 75 64 2d 32 33 38 30 32 37 34 33 31 2e 68 74 6d 6c n-bitbucket-cloud-238027431.html
cfc40 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 ';.$this->io->writeError(sprintf
cfc60 28 27 46 6f 6c 6c 6f 77 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e 20 25 73 27 ('Follow.the.instructions.on.%s'
cfc80 2c 20 24 75 72 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 ,.$url));.$this->io->writeError(
cfca0 73 70 72 69 6e 74 66 28 27 74 6f 20 63 72 65 61 74 65 20 61 20 63 6f 6e 73 75 6d 65 72 2e 20 49 sprintf('to.create.a.consumer..I
cfcc0 74 20 77 69 6c 6c 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 20 66 6f 72 20 66 75 74 t.will.be.stored.in."%s".for.fut
cfce0 75 72 65 20 75 73 65 20 62 79 20 43 6f 6d 70 6f 73 65 72 2e 27 2c 20 24 74 68 69 73 2d 3e 63 6f ure.use.by.Composer.',.$this->co
cfd00 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 65 74 nfig->getAuthConfigSource()->get
cfd20 4e 61 6d 65 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 Name()));.$this->io->writeError(
cfd40 27 45 6e 73 75 72 65 20 79 6f 75 20 65 6e 74 65 72 20 61 20 22 43 61 6c 6c 62 61 63 6b 20 55 52 'Ensure.you.enter.a."Callback.UR
cfd60 4c 22 20 28 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 20 69 73 20 66 69 6e 65 29 20 L".(http://example.com.is.fine).
cfd80 6f 72 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 72 or.it.will.not.be.possible.to.cr
cfda0 65 61 74 65 20 61 6e 20 41 63 63 65 73 73 20 54 6f 6b 65 6e 20 28 74 68 69 73 20 63 61 6c 6c 62 eate.an.Access.Token.(this.callb
cfdc0 61 63 6b 20 75 72 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 75 73 65 64 20 62 79 20 63 6f 6d 70 ack.url.will.not.be.used.by.comp
cfde0 6f 73 65 72 29 27 29 3b 0a 0a 24 63 6f 6e 73 75 6d 65 72 4b 65 79 20 3d 20 74 72 69 6d 28 24 74 oser)');..$consumerKey.=.trim($t
cfe00 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 43 6f 6e 73 75 his->io->askAndHideAnswer('Consu
cfe20 6d 65 72 20 4b 65 79 20 28 68 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 21 24 63 6f mer.Key.(hidden):.'));..if.(!$co
cfe40 6e 73 75 6d 65 72 4b 65 79 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 nsumerKey).{.$this->io->writeErr
cfe60 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 63 6f 6e 73 75 6d 65 72 20 6b 65 79 20 67 69 76 or('<warning>No.consumer.key.giv
cfe80 65 6e 2c 20 61 62 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 en,.aborting.</warning>');.$this
cfea0 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 ->io->writeError('You.can.also.a
cfec0 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 dd.it.manually.later.by.using."c
cfee0 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 omposer.config.--global.--auth.b
cff00 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f itbucket-oauth.bitbucket.org.<co
cff20 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 27 29 nsumer-key>.<consumer-secret>"')
cff40 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 73 75 6d 65 72 53 65 63 ;..return.false;.}..$consumerSec
cff60 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 ret.=.trim($this->io->askAndHide
cff80 41 6e 73 77 65 72 28 27 43 6f 6e 73 75 6d 65 72 20 53 65 63 72 65 74 20 28 68 69 64 64 65 6e 29 Answer('Consumer.Secret.(hidden)
cffa0 3a 20 27 29 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 20 7b 0a :.'));..if.(!$consumerSecret).{.
cffc0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e $this->io->writeError('<warning>
cffe0 4e 6f 20 63 6f 6e 73 75 6d 65 72 20 73 65 63 72 65 74 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 69 No.consumer.secret.given,.aborti
d0000 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 ng.</warning>');.$this->io->writ
d0020 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 eError('You.can.also.add.it.manu
d0040 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f ally.later.by.using."composer.co
d0060 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f nfig.--global.--auth.bitbucket-o
d0080 61 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 auth.bitbucket.org.<consumer-key
d00a0 3e 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 >.<consumer-secret>"');..return.
d00c0 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 false;.}..$this->io->setAuthenti
d00e0 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c cation($originUrl,.$consumerKey,
d0100 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e .$consumerSecret);..if.(!$this->
d0120 72 65 71 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 requestAccessToken($originUrl)).
d0140 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 74 6f 72 {.return.false;.}....$this->stor
d0160 65 49 6e 41 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 eInAuthConfig($originUrl,.$consu
d0180 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 0a 20 24 74 68 merKey,.$consumerSecret);....$th
d01a0 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 is->config->getAuthConfigSource(
d01c0 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 68 74 74 70 2d 62 61 73 )->removeConfigSetting('http-bas
d01e0 69 63 2e 27 20 2e 20 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ic.'...$originUrl);..$this->io->
d0200 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 6f 6e 73 75 6d 65 72 20 73 74 6f 72 65 writeError('<info>Consumer.store
d0220 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 d.successfully.</info>');..retur
d0240 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.true;.}..........public.functi
d0260 6f 6e 20 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e on.requestToken($originUrl,.$con
d0280 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 0a 7b 0a 69 66 20 sumerKey,.$consumerSecret).{.if.
d02a0 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 29 20 7c 7c 20 24 74 68 69 73 2d 3e (!empty($this->token).||.$this->
d02c0 67 65 74 54 6f 6b 65 6e 46 72 6f 6d 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 getTokenFromConfig($originUrl)).
d02e0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f {.return.$this->token['access_to
d0300 6b 65 6e 27 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 ken'];.}..$this->io->setAuthenti
d0320 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c cation($originUrl,.$consumerKey,
d0340 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 .$consumerSecret);.if.(!$this->r
d0360 65 71 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b equestAccessToken($originUrl)).{
d0380 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 49 6e 41 75 74 .return.'';.}..$this->storeInAut
d03a0 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 hConfig($originUrl,.$consumerKey
d03c0 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ,.$consumerSecret);..return.$thi
d03e0 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 0a 0a 0a s->token['access_token'];.}.....
d0400 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 49 6e 41 75 74 68 43 ...private.function.storeInAuthC
d0420 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 onfig($originUrl,.$consumerKey,.
d0440 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 $consumerSecret).{.$this->config
d0460 2d 3e 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 ->getConfigSource()->removeConfi
d0480 67 53 65 74 74 69 6e 67 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 gSetting('bitbucket-oauth.'.$ori
d04a0 67 69 6e 55 72 6c 29 3b 0a 0a 24 74 69 6d 65 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 ginUrl);..$time.=.null.===.$this
d04c0 2d 3e 74 69 6d 65 20 3f 20 74 69 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 74 69 6d 65 3b 0a 24 ->time.?.time().:.$this->time;.$
d04e0 63 6f 6e 73 75 6d 65 72 20 3d 20 61 72 72 61 79 28 0a 22 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 22 consumer.=.array(."consumer-key"
d0500 20 3d 3e 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 0a 22 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 .=>.$consumerKey,."consumer-secr
d0520 65 74 22 20 3d 3e 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 2c 0a 22 61 63 63 65 73 73 2d et".=>.$consumerSecret,."access-
d0540 74 6f 6b 65 6e 22 20 3d 3e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 token".=>.$this->token['access_t
d0560 6f 6b 65 6e 27 5d 2c 0a 22 61 63 63 65 73 73 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e oken'],."access-token-expiration
d0580 22 20 3d 3e 20 24 74 69 6d 65 20 2b 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 65 78 70 69 72 ".=>.$time.+.$this->token['expir
d05a0 65 73 5f 69 6e 27 5d 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 es_in'],.);..$this->config->getA
d05c0 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 uthConfigSource()->addConfigSett
d05e0 69 6e 67 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 ing('bitbucket-oauth.'.$originUr
d0600 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 l,.$consumer);.}......private.fu
d0620 6e 63 74 69 6f 6e 20 67 65 74 54 6f 6b 65 6e 46 72 6f 6d 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 nction.getTokenFromConfig($origi
d0640 6e 55 72 6c 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e nUrl).{.$authConfig.=.$this->con
d0660 66 69 67 2d 3e 67 65 74 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 3b 0a 0a 69 66 fig->get('bitbucket-oauth');..if
d0680 20 28 0a 21 69 73 73 65 74 28 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c .(.!isset($authConfig[$originUrl
d06a0 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 27 5d 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 61 75 ]['access-token']).||.!isset($au
d06c0 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b thConfig[$originUrl]['access-tok
d06e0 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e 27 5d 29 0a 7c 7c 20 74 69 6d 65 28 29 20 3e 20 24 61 75 en-expiration']).||.time().>.$au
d0700 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b thConfig[$originUrl]['access-tok
d0720 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e 27 5d 0a 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 en-expiration'].).{.return.false
d0740 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 0a 27 61 63 63 65 ;.}..$this->token.=.array(.'acce
d0760 73 73 5f 74 6f 6b 65 6e 27 20 3d 3e 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e ss_token'.=>.$authConfig[$origin
d0780 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 27 5d 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e Url]['access-token'],.);..return
d07a0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 .true;.}.}.<?php............name
d07c0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 space.Composer\Util;.......class
d07e0 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .ComposerMirror.{.public.static.
d0800 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 function.processUrl($mirrorUrl,.
d0820 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 65 72 65 6e $packageName,.$version,.$referen
d0840 63 65 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 24 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 ce,.$type).{.if.($reference).{.$
d0860 72 65 66 65 72 65 6e 63 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 reference.=.preg_match('{^([a-f0
d0880 2d 39 5d 2a 7c 25 72 65 66 65 72 65 6e 63 65 25 29 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 -9]*|%reference%)$}',.$reference
d08a0 29 20 3f 20 24 72 65 66 65 72 65 6e 63 65 20 3a 20 6d 64 35 28 24 72 65 66 65 72 65 6e 63 65 29 ).?.$reference.:.md5($reference)
d08c0 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 ;.}.$version.=.strpos($version,.
d08e0 27 2f 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 24 76 65 72 73 69 6f 6e 20 3a 20 6d 64 35 28 '/').===.false.?.$version.:.md5(
d0900 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 0a $version);..return.str_replace(.
d0920 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 76 65 72 73 69 6f 6e 25 27 2c 20 array('%package%',.'%version%',.
d0940 27 25 72 65 66 65 72 65 6e 63 65 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 0a 61 72 72 61 79 28 '%reference%',.'%type%'),.array(
d0960 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 65 72 65 6e $packageName,.$version,.$referen
d0980 63 65 2c 20 24 74 79 70 65 29 2c 0a 24 6d 69 72 72 6f 72 55 72 6c 0a 29 3b 0a 7d 0a 0a 70 75 62 ce,.$type),.$mirrorUrl.);.}..pub
d09a0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 47 69 74 55 72 lic.static.function.processGitUr
d09c0 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c l($mirrorUrl,.$packageName,.$url
d09e0 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 3a ,.$type).{.if.(preg_match('#^(?:
d0a00 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 7c 67 69 (?:https?|git)://github\.com/|gi
d0a20 74 40 67 69 74 68 75 62 5c 2e 63 6f 6d 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c t@github\.com:)([^/]+)/(.+?)(?:\
d0a40 2e 67 69 74 29 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 75 72 6c .git)?$#',.$url,.$match)).{.$url
d0a60 20 3d 20 27 67 68 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d .=.'gh-'.$match[1].'/'.$match[2]
d0a80 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3a ;.}.elseif.(preg_match('#^https:
d0aa0 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f //bitbucket\.org/([^/]+)/(.+?)(?
d0ac0 3a 5c 2e 67 69 74 29 3f 2f 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a :\.git)?/?$#',.$url,.$match)).{.
d0ae0 24 75 72 6c 20 3d 20 27 62 62 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 $url.=.'bb-'.$match[1].'/'.$matc
d0b00 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 h[2];.}.else.{.$url.=.preg_repla
d0b20 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5f 2e 2d 5d 7d 69 27 2c 20 27 2d 27 2c 20 74 72 69 6d 28 ce('{[^a-z0-9_.-]}i',.'-',.trim(
d0b40 24 75 72 6c 2c 20 27 2f 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 $url,.'/'));.}..return.str_repla
d0b60 63 65 28 0a 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 6e 6f 72 6d 61 6c 69 ce(.array('%package%',.'%normali
d0b80 7a 65 64 55 72 6c 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 0a 61 72 72 61 79 28 24 70 61 63 6b zedUrl%',.'%type%'),.array($pack
d0ba0 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 2c 0a 24 6d 69 72 72 6f 72 55 72 ageName,.$url,.$type),.$mirrorUr
d0bc0 6c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 l.);.}..public.static.function.p
d0be0 72 6f 63 65 73 73 48 67 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 rocessHgUrl($mirrorUrl,.$package
d0c00 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 Name,.$url,.$type).{.return.self
d0c20 3a 3a 70 72 6f 63 65 73 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 ::processGitUrl($mirrorUrl,.$pac
d0c40 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 kageName,.$url,.$type);.}.}.<?ph
d0c60 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
d0c80 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 Util;..use.Composer\Package\Load
d0ca0 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 er\ArrayLoader;.use.Composer\Pac
d0cc0 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 kage\Loader\ValidatingArrayLoade
d0ce0 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 49 r;.use.Composer\Package\Loader\I
d0d00 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 nvalidPackageException;.use.Comp
d0d20 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f oser\Json\JsonValidationExceptio
d0d40 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a n;.use.Composer\IO\IOInterface;.
d0d60 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 use.Composer\Json\JsonFile;.use.
d0d80 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a Composer\Spdx\SpdxLicenses;.....
d0da0 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 0a 7b 0a 70 72 69 76 61 ...class.ConfigValidator.{.priva
d0dc0 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 te.$io;..public.function.__const
d0de0 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 ruct(IOInterface.$io).{.$this->i
d0e00 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 o.=.$io;.}..........public.funct
d0e20 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 61 72 72 61 79 4c 6f 61 64 65 72 ion.validate($file,.$arrayLoader
d0e40 56 61 6c 69 64 61 74 69 6f 6e 46 6c 61 67 73 20 3d 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 ValidationFlags.=.ValidatingArra
d0e60 79 4c 6f 61 64 65 72 3a 3a 43 48 45 43 4b 5f 41 4c 4c 29 0a 7b 0a 24 65 72 72 6f 72 73 20 3d 20 yLoader::CHECK_ALL).{.$errors.=.
d0e80 61 72 72 61 79 28 29 3b 0a 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 array();.$publishErrors.=.array(
d0ea0 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 6c 61 78 56 );.$warnings.=.array();....$laxV
d0ec0 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 alid.=.false;.try.{.$json.=.new.
d0ee0 4a 73 6f 6e 46 69 6c 65 28 24 66 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 JsonFile($file,.null,.$this->io)
d0f00 3b 0a 24 6d 61 6e 69 66 65 73 74 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 0a 24 6a ;.$manifest.=.$json->read();..$j
d0f20 73 6f 6e 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 3a 3a 4c 41 son->validateSchema(JsonFile::LA
d0f40 58 5f 53 43 48 45 4d 41 29 3b 0a 24 6c 61 78 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 24 6a 73 X_SCHEMA);.$laxValid.=.true;.$js
d0f60 6f 6e 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 4a on->validateSchema();.}.catch.(J
d0f80 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 66 6f 72 sonValidationException.$e).{.for
d0fa0 65 61 63 68 20 28 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 6d 65 73 73 61 67 each.($e->getErrors().as.$messag
d0fc0 65 29 20 7b 0a 69 66 20 28 24 6c 61 78 56 61 6c 69 64 29 20 7b 0a 24 70 75 62 6c 69 73 68 45 72 e).{.if.($laxValid).{.$publishEr
d0fe0 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 rors[].=.$message;.}.else.{.$err
d1000 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c ors[].=.$message;.}.}.}.catch.(\
d1020 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 24 65 2d 3e Exception.$e).{.$errors[].=.$e->
d1040 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 65 72 72 getMessage();..return.array($err
d1060 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 3b ors,.$publishErrors,.$warnings);
d1080 0a 7d 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e .}....if.(empty($manifest['licen
d10a0 73 65 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 4e 6f 20 6c 69 63 65 6e se'])).{.$warnings[].=.'No.licen
d10c0 73 65 20 73 70 65 63 69 66 69 65 64 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 se.specified,.it.is.recommended.
d10e0 74 6f 20 64 6f 20 73 6f 2e 20 46 6f 72 20 63 6c 6f 73 65 64 2d 73 6f 75 72 63 65 20 73 6f 66 74 to.do.so..For.closed-source.soft
d1100 77 61 72 65 20 79 6f 75 20 6d 61 79 20 75 73 65 20 22 70 72 6f 70 72 69 65 74 61 72 79 22 20 61 ware.you.may.use."proprietary".a
d1120 73 20 6c 69 63 65 6e 73 65 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 69 63 65 6e 73 65 73 20 s.license.';.}.else.{.$licenses.
d1140 3d 20 28 61 72 72 61 79 29 20 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 3b 0a =.(array).$manifest['license'];.
d1160 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6b 65 79 20 3d 3e ...foreach.($licenses.as.$key.=>
d1180 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 66 20 28 27 70 72 6f 70 72 69 65 74 61 72 79 27 20 3d .$license).{.if.('proprietary'.=
d11a0 3d 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 75 6e 73 65 74 28 24 6c 69 63 65 6e 73 65 73 5b 24 ==.$license).{.unset($licenses[$
d11c0 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 20 3d 20 key]);.}.}..$licenseValidator.=.
d11e0 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 new.SpdxLicenses();.foreach.($li
d1200 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 73 70 64 78 4c 69 63 65 6e censes.as.$license).{.$spdxLicen
d1220 73 65 20 3d 20 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 4c 69 63 65 6e se.=.$licenseValidator->getLicen
d1240 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 20 28 24 73 seByIdentifier($license);.if.($s
d1260 70 64 78 4c 69 63 65 6e 73 65 20 26 26 20 24 73 70 64 78 4c 69 63 65 6e 73 65 5b 33 5d 29 20 7b pdxLicense.&&.$spdxLicense[3]).{
d1280 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d 5b 31 32 33 .if.(preg_match('{^[AL]?GPL-[123
d12a0 5d 28 5c 2e 5b 30 31 5d 29 3f 5c 2b 24 7d 69 27 2c 20 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 ](\.[01])?\+$}i',.$license)).{.$
d12c0 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 warnings[].=.sprintf(.'License."
d12e0 25 73 22 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 %s".is.a.deprecated.SPDX.license
d1300 20 69 64 65 6e 74 69 66 69 65 72 2c 20 75 73 65 20 22 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 .identifier,.use."'.str_replace(
d1320 27 2b 27 2c 20 27 27 2c 20 24 6c 69 63 65 6e 73 65 29 2e 27 2d 6f 72 2d 6c 61 74 65 72 22 20 69 '+',.'',.$license).'-or-later".i
d1340 6e 73 74 65 61 64 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 nstead',.$license.);.}.elseif.(p
d1360 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d 5b 31 32 33 5d 28 5c 2e 5b 30 reg_match('{^[AL]?GPL-[123](\.[0
d1380 31 5d 29 3f 24 7d 69 27 2c 20 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 1])?$}i',.$license)).{.$warnings
d13a0 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 69 73 20 61 [].=.sprintf(.'License."%s".is.a
d13c0 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 .deprecated.SPDX.license.identif
d13e0 69 65 72 2c 20 75 73 65 20 22 27 2e 24 6c 69 63 65 6e 73 65 2e 27 2d 6f 6e 6c 79 22 20 6f 72 20 ier,.use."'.$license.'-only".or.
d1400 22 27 2e 24 6c 69 63 65 6e 73 65 2e 27 2d 6f 72 2d 6c 61 74 65 72 22 20 69 6e 73 74 65 61 64 27 "'.$license.'-or-later".instead'
d1420 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 61 72 6e 69 6e 67 73 ,.$license.);.}.else.{.$warnings
d1440 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 69 73 20 61 [].=.sprintf(.'License."%s".is.a
d1460 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 .deprecated.SPDX.license.identif
d1480 69 65 72 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 ier,.see.https://spdx.org/licens
d14a0 65 73 2f 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 es/',.$license.);.}.}.}.}..if.(i
d14c0 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 77 sset($manifest['version'])).{.$w
d14e0 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 54 68 65 20 76 65 72 73 69 6f 6e 20 66 69 65 6c 64 20 69 arnings[].=.'The.version.field.i
d1500 73 20 70 72 65 73 65 6e 74 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 s.present,.it.is.recommended.to.
d1520 6c 65 61 76 65 20 69 74 20 6f 75 74 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 70 leave.it.out.if.the.package.is.p
d1540 75 62 6c 69 73 68 65 64 20 6f 6e 20 50 61 63 6b 61 67 69 73 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 ublished.on.Packagist.';.}..if.(
d1560 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 70 72 65 !empty($manifest['name']).&&.pre
d1580 67 5f 6d 61 74 63 68 28 27 7b 5b 41 2d 5a 5d 7d 27 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 g_match('{[A-Z]}',.$manifest['na
d15a0 6d 65 27 5d 29 29 20 7b 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 me'])).{.$suggestName.=.preg_rep
d15c0 6c 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 lace('{(?:([a-z])([A-Z])|([A-Z])
d15e0 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 ([A-Z][a-z]))}',.'\\1\\3-\\2\\4'
d1600 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 73 75 67 67 65 73 74 4e 61 ,.$manifest['name']);.$suggestNa
d1620 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 29 3b 0a 0a me.=.strtolower($suggestName);..
d1640 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4e 61 6d $publishErrors[].=.sprintf(.'Nam
d1660 65 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 62 65 73 74 20 70 e."%s".does.not.match.the.best.p
d1680 72 61 63 74 69 63 65 20 28 65 2e 67 2e 20 6c 6f 77 65 72 2d 63 61 73 65 64 2f 77 69 74 68 2d 64 ractice.(e.g..lower-cased/with-d
d16a0 61 73 68 65 73 29 2e 20 57 65 20 73 75 67 67 65 73 74 20 75 73 69 6e 67 20 22 25 73 22 20 69 6e ashes)..We.suggest.using."%s".in
d16c0 73 74 65 61 64 2e 20 41 73 20 73 75 63 68 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 stead..As.such.you.will.not.be.a
d16e0 62 6c 65 20 74 6f 20 73 75 62 6d 69 74 20 69 74 20 74 6f 20 50 61 63 6b 61 67 69 73 74 2e 27 2c ble.to.submit.it.to.Packagist.',
d1700 0a 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 2c 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 .$manifest['name'],.$suggestName
d1720 0a 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 74 79 70 .);.}..if.(!empty($manifest['typ
d1740 65 27 5d 29 20 26 26 20 24 6d 61 6e 69 66 65 73 74 5b 27 74 79 70 65 27 5d 20 3d 3d 20 27 63 6f e']).&&.$manifest['type'].==.'co
d1760 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d mposer-installer').{.$warnings[]
d1780 20 3d 20 22 54 68 65 20 70 61 63 6b 61 67 65 20 74 79 70 65 20 27 63 6f 6d 70 6f 73 65 72 2d 69 .=."The.package.type.'composer-i
d17a0 6e 73 74 61 6c 6c 65 72 27 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 50 6c 65 61 73 65 20 nstaller'.is.deprecated..Please.
d17c0 64 69 73 74 72 69 62 75 74 65 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 distribute.your.custom.installer
d17e0 73 20 61 73 20 70 6c 75 67 69 6e 73 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e 2e 20 53 65 65 20 68 74 s.as.plugins.from.now.on..See.ht
d1800 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c tps://getcomposer.org/doc/articl
d1820 65 73 2f 70 6c 75 67 69 6e 73 2e 6d 64 20 66 6f 72 20 70 6c 75 67 69 6e 20 64 6f 63 75 6d 65 6e es/plugins.md.for.plugin.documen
d1840 74 61 74 69 6f 6e 2e 22 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 tation.";.}....if.(isset($manife
d1860 73 74 5b 27 72 65 71 75 69 72 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 st['require']).&&.isset($manifes
d1880 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 4f 76 65 t['require-dev'])).{.$requireOve
d18a0 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 24 6d 61 rrides.=.array_intersect_key($ma
d18c0 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 nifest['require'],.$manifest['re
d18e0 71 75 69 72 65 2d 64 65 76 27 5d 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 65 71 75 69 quire-dev']);..if.(!empty($requi
d1900 72 65 4f 76 65 72 72 69 64 65 73 29 29 20 7b 0a 24 70 6c 75 72 61 6c 20 3d 20 28 63 6f 75 6e 74 reOverrides)).{.$plural.=.(count
d1920 28 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 29 20 3e 20 31 29 20 3f 20 27 61 72 65 27 ($requireOverrides).>.1).?.'are'
d1940 20 3a 20 27 69 73 27 3b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 69 6d 70 6c 6f 64 65 28 27 .:.'is';.$warnings[].=.implode('
d1960 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 ,.',.array_keys($requireOverride
d1980 73 29 29 2e 20 22 20 7b 24 70 6c 75 72 61 6c 7d 20 72 65 71 75 69 72 65 64 20 62 6f 74 68 20 69 s))..".{$plural}.required.both.i
d19a0 6e 20 72 65 71 75 69 72 65 20 61 6e 64 20 72 65 71 75 69 72 65 2d 64 65 76 2c 20 74 68 69 73 20 n.require.and.require-dev,.this.
d19c0 63 61 6e 20 6c 65 61 64 20 74 6f 20 75 6e 65 78 70 65 63 74 65 64 20 62 65 68 61 76 69 6f 72 22 can.lead.to.unexpected.behavior"
d19e0 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 66 ;.}.}....$require.=.isset($manif
d1a00 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 est['require']).?.$manifest['req
d1a20 75 69 72 65 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d 20 uire'].:.array();.$requireDev.=.
d1a40 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 isset($manifest['require-dev']).
d1a60 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3a 20 61 72 72 ?.$manifest['require-dev'].:.arr
d1a80 61 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 ay();.$packages.=.array_merge($r
d1aa0 65 71 75 69 72 65 2c 20 24 72 65 71 75 69 72 65 44 65 76 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 equire,.$requireDev);.foreach.($
d1ac0 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e packages.as.$package.=>.$version
d1ae0 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 23 2f 27 2c 20 24 76 65 72 73 69 ).{.if.(preg_match('/#/',.$versi
d1b00 6f 6e 29 20 3d 3d 3d 20 31 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e on).===.1).{.$warnings[].=.sprin
d1b20 74 66 28 0a 27 54 68 65 20 70 61 63 6b 61 67 65 20 22 25 73 22 20 69 73 20 70 6f 69 6e 74 69 6e tf(.'The.package."%s".is.pointin
d1b40 67 20 74 6f 20 61 20 63 6f 6d 6d 69 74 2d 72 65 66 2c 20 74 68 69 73 20 69 73 20 62 61 64 20 70 g.to.a.commit-ref,.this.is.bad.p
d1b60 72 61 63 74 69 63 65 20 61 6e 64 20 63 61 6e 20 63 61 75 73 65 20 75 6e 66 6f 72 65 73 65 65 6e ractice.and.can.cause.unforeseen
d1b80 20 69 73 73 75 65 73 2e 27 2c 0a 24 70 61 63 6b 61 67 65 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 73 .issues.',.$package.);.}.}....$s
d1ba0 63 72 69 70 74 73 44 65 73 63 72 69 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 criptsDescriptions.=.isset($mani
d1bc0 66 65 73 74 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d 29 20 3f 20 fest['scripts-descriptions']).?.
d1be0 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 $manifest['scripts-descriptions'
d1c00 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 73 63 72 69 70 74 73 20 3d 20 69 73 73 65 74 28 24 6d ].:.array();.$scripts.=.isset($m
d1c20 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b anifest['scripts']).?.$manifest[
d1c40 27 73 63 72 69 70 74 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 'scripts'].:.array();.foreach.($
d1c60 73 63 72 69 70 74 73 44 65 73 63 72 69 70 74 69 6f 6e 73 20 61 73 20 24 73 63 72 69 70 74 4e 61 scriptsDescriptions.as.$scriptNa
d1c80 6d 65 20 3d 3e 20 24 73 63 72 69 70 74 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 me.=>.$scriptDescription).{.if.(
d1ca0 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 !array_key_exists($scriptName,.$
d1cc0 73 63 72 69 70 74 73 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 scripts)).{.$warnings[].=.sprint
d1ce0 66 28 0a 27 44 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 f(.'Description.for.non-existent
d1d00 20 73 63 72 69 70 74 20 22 25 73 22 20 66 6f 75 6e 64 20 69 6e 20 22 73 63 72 69 70 74 73 2d 64 .script."%s".found.in."scripts-d
d1d20 65 73 63 72 69 70 74 69 6f 6e 73 22 27 2c 0a 24 73 63 72 69 70 74 4e 61 6d 65 0a 29 3b 0a 7d 0a escriptions"',.$scriptName.);.}.
d1d40 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 61 75 74 6f 6c 6f }....if.(isset($manifest['autolo
d1d60 61 64 27 5d 5b 27 70 73 72 2d 30 27 5d 5b 27 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b ad']['psr-0'][''])).{.$warnings[
d1d80 5d 20 3d 20 22 44 65 66 69 6e 69 6e 67 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 30 20 77 69 74 ].=."Defining.autoload.psr-0.wit
d1da0 68 20 61 6e 20 65 6d 70 74 79 20 6e 61 6d 65 73 70 61 63 65 20 70 72 65 66 69 78 20 69 73 20 61 h.an.empty.namespace.prefix.is.a
d1dc0 20 62 61 64 20 69 64 65 61 20 66 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 22 3b 0a 7d 0a 69 66 .bad.idea.for.performance";.}.if
d1de0 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 .(isset($manifest['autoload']['p
d1e00 73 72 2d 34 27 5d 5b 27 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 22 44 65 sr-4'][''])).{.$warnings[].=."De
d1e20 66 69 6e 69 6e 67 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 34 20 77 69 74 68 20 61 6e 20 65 6d fining.autoload.psr-4.with.an.em
d1e40 70 74 79 20 6e 61 6d 65 73 70 61 63 65 20 70 72 65 66 69 78 20 69 73 20 61 20 62 61 64 20 69 64 pty.namespace.prefix.is.a.bad.id
d1e60 65 61 20 66 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 22 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 6c ea.for.performance";.}..try.{.$l
d1e80 6f 61 64 65 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 oader.=.new.ValidatingArrayLoade
d1ea0 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 2c 20 74 72 75 65 2c 20 6e 75 6c 6c 2c r(new.ArrayLoader(),.true,.null,
d1ec0 20 24 61 72 72 61 79 4c 6f 61 64 65 72 56 61 6c 69 64 61 74 69 6f 6e 46 6c 61 67 73 29 3b 0a 69 .$arrayLoaderValidationFlags);.i
d1ee0 66 20 28 21 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 f.(!isset($manifest['version']))
d1f00 20 7b 0a 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 .{.$manifest['version'].=.'1.0.0
d1f20 27 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 ';.}.if.(!isset($manifest['name'
d1f40 5d 29 29 20 7b 0a 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 64 75 6d 6d 79 ])).{.$manifest['name'].=.'dummy
d1f60 2f 64 75 6d 6d 79 27 3b 0a 7d 0a 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6d 61 6e 69 66 65 /dummy';.}.$loader->load($manife
d1f80 73 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 st);.}.catch.(InvalidPackageExce
d1fa0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 ption.$e).{.$errors.=.array_merg
d1fc0 65 28 24 65 72 72 6f 72 73 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a e($errors,.$e->getErrors());.}..
d1fe0 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 61 72 6e 69 6e 67 $warnings.=.array_merge($warning
d2000 73 2c 20 24 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 3b 0a 0a 72 65 74 s,.$loader->getWarnings());..ret
d2020 75 72 6e 20 61 72 72 61 79 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 urn.array($errors,.$publishError
d2040 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a s,.$warnings);.}.}.<?php........
d2060 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 ....namespace.Composer\Util;..us
d2080 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a e.Composer\IO\IOInterface;......
d20a0 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 .class.ErrorHandler.{.private.st
d20c0 61 74 69 63 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 atic.$io;.............public.sta
d20e0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 tic.function.handle($level,.$mes
d2100 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 0a 20 69 66 20 28 21 28 65 72 sage,.$file,.$line).{...if.(!(er
d2120 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 26 20 24 6c 65 76 65 6c 29 29 20 7b 0a 72 65 74 ror_reporting().&.$level)).{.ret
d2140 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 73 63 72 65 urn;.}..if.(ini_get('xdebug.scre
d2160 61 6d 27 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 57 61 72 6e 69 6e 67 am')).{.$message..=."\n\nWarning
d2180 3a 20 59 6f 75 20 68 61 76 65 20 78 64 65 62 75 67 2e 73 63 72 65 61 6d 20 65 6e 61 62 6c 65 64 :.You.have.xdebug.scream.enabled
d21a0 2c 20 74 68 65 20 77 61 72 6e 69 6e 67 20 61 62 6f 76 65 20 6d 61 79 20 62 65 22 2e 0a 22 5c 6e ,.the.warning.above.may.be".."\n
d21c0 61 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 75 70 70 72 65 73 73 65 64 20 65 72 72 6f 72 20 a.legitimately.suppressed.error.
d21e0 74 68 61 74 20 79 6f 75 20 77 65 72 65 20 6e 6f 74 20 73 75 70 70 6f 73 65 64 20 74 6f 20 73 65 that.you.were.not.supposed.to.se
d2200 65 2e 22 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 21 3d 3d 20 45 5f 44 45 50 52 45 43 41 e.";.}..if.($level.!==.E_DEPRECA
d2220 54 45 44 20 26 26 20 24 6c 65 76 65 6c 20 21 3d 3d 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 TED.&&.$level.!==.E_USER_DEPRECA
d2240 54 45 44 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e TED).{.throw.new.\ErrorException
d2260 28 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 6c 65 76 65 6c 2c 20 24 66 69 6c 65 2c 20 24 6c 69 ($message,.0,.$level,.$file,.$li
d2280 6e 65 29 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 24 69 6f 29 20 7b 0a 73 65 6c 66 3a 3a 24 ne);.}..if.(self::$io).{.self::$
d22a0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 65 70 72 65 63 61 io->writeError('<warning>Depreca
d22c0 74 69 6f 6e 20 4e 6f 74 69 63 65 3a 20 27 2e 24 6d 65 73 73 61 67 65 2e 27 20 69 6e 20 27 2e 24 tion.Notice:.'.$message.'.in.'.$
d22e0 66 69 6c 65 2e 27 3a 27 2e 24 6c 69 6e 65 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 69 66 file.':'.$line.'</warning>');.if
d2300 20 28 73 65 6c 66 3a 3a 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 73 65 6c 66 .(self::$io->isVerbose()).{.self
d2320 3a 3a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 74 61 63 ::$io->writeError('<warning>Stac
d2340 6b 20 74 72 61 63 65 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 73 65 6c 66 3a 3a 24 69 6f 2d k.trace:</warning>');.self::$io-
d2360 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6d >writeError(array_filter(array_m
d2380 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 61 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 61 5b ap(function.($a).{.if.(isset($a[
d23a0 27 6c 69 6e 65 27 5d 2c 20 24 61 5b 27 66 69 6c 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 'line'],.$a['file'])).{.return.'
d23c0 3c 77 61 72 6e 69 6e 67 3e 20 27 2e 24 61 5b 27 66 69 6c 65 27 5d 2e 27 3a 27 2e 24 61 5b 27 6c <warning>.'.$a['file'].':'.$a['l
d23e0 69 6e 65 27 5d 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 ine'].'</warning>';.}..return.nu
d2400 6c 6c 3b 0a 7d 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 64 65 62 75 67 5f 62 61 63 6b 74 72 61 ll;.},.array_slice(debug_backtra
d2420 63 65 28 29 2c 20 32 29 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ce(),.2))));.}.}.}.......public.
d2440 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 49 4f 49 6e 74 65 72 static.function.register(IOInter
d2460 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e face.$io.=.null).{.set_error_han
d2480 64 6c 65 72 28 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 68 61 6e 64 6c 65 27 29 29 dler(array(__CLASS__,.'handle'))
d24a0 3b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 ;.error_reporting(E_ALL.|.E_STRI
d24c0 43 54 29 3b 0a 73 65 6c 66 3a 3a 24 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a CT);.self::$io.=.$io;.}.}.<?php.
d24e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ...........namespace.Composer\Ut
d2500 69 6c 3b 0a 0a 75 73 65 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 il;..use.RecursiveDirectoryItera
d2520 74 6f 72 3b 0a 75 73 65 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 tor;.use.RecursiveIteratorIterat
d2540 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 or;.use.Symfony\Component\Filesy
d2560 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 stem\Exception\IOException;.use.
d2580 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b Symfony\Component\Finder\Finder;
d25a0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 ......class.Filesystem.{.private
d25c0 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .$processExecutor;..public.funct
d25e0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 ion.__construct(ProcessExecutor.
d2600 24 65 78 65 63 75 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 $executor.=.null).{.$this->proce
d2620 73 73 45 78 65 63 75 74 6f 72 20 3d 20 24 65 78 65 63 75 74 6f 72 20 3f 3a 20 6e 65 77 20 50 72 ssExecutor.=.$executor.?:.new.Pr
d2640 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ocessExecutor();.}..public.funct
d2660 69 6f 6e 20 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 ion.remove($file).{.if.(is_dir($
d2680 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 file)).{.return.$this->removeDir
d26a0 65 63 74 6f 72 79 28 24 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 ectory($file);.}..if.(file_exist
d26c0 73 28 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b s($file)).{.return.$this->unlink
d26e0 28 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a ($file);.}..return.false;.}.....
d2700 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 72 45 6d 70 74 79 28 24 64 ...public.function.isDirEmpty($d
d2720 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 ir).{.$finder.=.Finder::create()
d2740 0a 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 .->ignoreVCS(false).->ignoreDotF
d2760 69 6c 65 73 28 66 61 6c 73 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 iles(false).->depth(0).->in($dir
d2780 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 66 69 6e 64 65 72 29 20 3d 3d 3d 20 30 3b );..return.count($finder).===.0;
d27a0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 70 74 79 44 69 72 65 63 74 6f .}..public.function.emptyDirecto
d27c0 72 79 28 24 64 69 72 2c 20 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 20 ry($dir,.$ensureDirectoryExists.
d27e0 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 29 20 =.true).{.if.(file_exists($dir).
d2800 26 26 20 69 73 5f 6c 69 6e 6b 28 24 64 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e &&.is_link($dir)).{.$this->unlin
d2820 6b 28 24 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 k($dir);.}..if.($ensureDirectory
d2840 45 78 69 73 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 Exists).{.$this->ensureDirectory
d2860 45 78 69 73 74 73 28 24 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 Exists($dir);.}..if.(is_dir($dir
d2880 29 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a )).{.$finder.=.Finder::create().
d28a0 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 ->ignoreVCS(false).->ignoreDotFi
d28c0 6c 65 73 28 66 61 6c 73 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 les(false).->depth(0).->in($dir)
d28e0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 70 61 74 68 29 20 7b 0a ;..foreach.($finder.as.$path).{.
d2900 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 28 73 74 72 69 6e 67 29 20 24 70 61 74 68 29 3b 0a 7d $this->remove((string).$path);.}
d2920 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}.}............public.function.
d2940 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 removeDirectory($directory).{.if
d2960 20 28 24 74 68 69 73 2d 3e 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 .($this->isSymlinkedDirectory($d
d2980 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e irectory)).{.return.$this->unlin
d29a0 6b 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 3b kSymlinkedDirectory($directory);
d29c0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 64 69 72 65 63 .}..if.($this->isJunction($direc
d29e0 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 4a 75 6e tory)).{.return.$this->removeJun
d2a00 63 74 69 6f 6e 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 6c 69 6e ction($directory);.}..if.(is_lin
d2a20 6b 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 24 k($directory)).{.return.unlink($
d2a40 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 directory);.}..if.(!file_exists(
d2a60 24 64 69 72 65 63 74 6f 72 79 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 $directory).||.!is_dir($director
d2a80 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d y)).{.return.true;.}..if.(preg_m
d2aa0 61 74 63 68 28 27 7b 5e 28 3f 3a 5b 61 2d 7a 5d 3a 29 3f 5b 2f 5c 5c 5c 5c 5d 2b 24 7d 69 27 2c atch('{^(?:[a-z]:)?[/\\\\]+$}i',
d2ac0 20 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 .$directory)).{.throw.new.\Runti
d2ae0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 69 6e 67 20 61 6e 20 61 74 74 65 6d 70 74 meException('Aborting.an.attempt
d2b00 65 64 20 64 65 6c 65 74 69 6f 6e 20 6f 66 20 27 2e 24 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 74 ed.deletion.of.'.$directory.',.t
d2b20 68 69 73 20 77 61 73 20 70 72 6f 62 61 62 6c 79 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 2c 20 69 his.was.probably.not.intended,.i
d2b40 66 20 69 74 20 69 73 20 61 20 72 65 61 6c 20 75 73 65 20 63 61 73 65 20 70 6c 65 61 73 65 20 72 f.it.is.a.real.use.case.please.r
d2b60 65 70 6f 72 74 20 69 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 eport.it.');.}..if.(!function_ex
d2b80 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ists('proc_open')).{.return.$thi
d2ba0 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 s->removeDirectoryPhp($directory
d2bc0 29 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 );.}..if.(Platform::isWindows())
d2be0 20 7b 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 27 72 6d 64 69 72 20 2f 53 20 2f 51 20 25 .{.$cmd.=.sprintf('rmdir./S./Q.%
d2c00 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 72 65 61 6c s',.ProcessExecutor::escape(real
d2c20 70 61 74 68 28 24 64 69 72 65 63 74 6f 72 79 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6d path($directory)));.}.else.{.$cm
d2c40 64 20 3d 20 73 70 72 69 6e 74 66 28 27 72 6d 20 2d 72 66 20 25 73 27 2c 20 50 72 6f 63 65 73 73 d.=.sprintf('rm.-rf.%s',.Process
d2c60 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 64 69 72 65 63 74 6f 72 79 29 29 3b 0a 7d Executor::escape($directory));.}
d2c80 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d ..$result.=.$this->getProcess()-
d2ca0 3e 65 78 65 63 75 74 65 28 24 63 6d 64 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b 0a 0a >execute($cmd,.$output).===.0;..
d2cc0 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 ..clearstatcache();..if.($result
d2ce0 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a .&&.!file_exists($directory)).{.
d2d00 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 return.true;.}..return.$this->re
d2d20 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a moveDirectoryPhp($directory);.}.
d2d40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 ...........public.function.remov
d2d60 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 74 72 79 20 eDirectoryPhp($directory).{.try.
d2d80 7b 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 {.$it.=.new.RecursiveDirectoryIt
d2da0 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 erator($directory,.RecursiveDire
d2dc0 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 7d 20 63 61 74 ctoryIterator::SKIP_DOTS);.}.cat
d2de0 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 ch.(\UnexpectedValueException.$e
d2e00 29 20 7b 0a 0a 20 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 75 73 6c 65 65 70 ).{.....clearstatcache();.usleep
d2e20 28 31 30 30 30 30 30 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 (100000);.if.(!is_dir($directory
d2e40 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 )).{.return.true;.}.$it.=.new.Re
d2e60 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 cursiveDirectoryIterator($direct
d2e80 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a ory,.RecursiveDirectoryIterator:
d2ea0 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 7d 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 :SKIP_DOTS);.}.$ri.=.new.Recursi
d2ec0 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 veIteratorIterator($it,.Recursiv
d2ee0 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b eIteratorIterator::CHILD_FIRST);
d2f00 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 ..foreach.($ri.as.$file).{.if.($
d2f20 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 66 file->isDir()).{.$this->rmdir($f
d2f40 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 ile->getPathname());.}.else.{.$t
d2f60 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 his->unlink($file->getPathname()
d2f80 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 64 69 72 );.}.}..return.$this->rmdir($dir
d2fa0 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 ectory);.}..public.function.ensu
d2fc0 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a reDirectoryExists($directory).{.
d2fe0 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 69 66 20 28 66 if.(!is_dir($directory)).{.if.(f
d3000 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 ile_exists($directory)).{.throw.
d3020 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 new.\RuntimeException(.$director
d3040 79 2e 27 20 65 78 69 73 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 y.'.exists.and.is.not.a.director
d3060 79 2e 27 0a 29 3b 0a 7d 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 2c y.'.);.}.if.(!@mkdir($directory,
d3080 20 30 37 37 37 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 .0777,.true)).{.throw.new.\Runti
d30a0 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 79 2e 27 20 64 6f 65 73 20 6e meException(.$directory.'.does.n
d30c0 6f 74 20 65 78 69 73 74 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 ot.exist.and.could.not.be.create
d30e0 64 2e 27 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 d.'.);.}.}.}.........public.func
d3100 74 69 6f 6e 20 75 6e 6c 69 6e 6b 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 40 24 74 68 69 73 tion.unlink($path).{.if.(!@$this
d3120 2d 3e 75 6e 6c 69 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b ->unlinkImplementation($path)).{
d3140 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 7c 7c ...if.(!Platform::isWindows().||
d3160 20 28 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 20 26 26 20 21 40 24 74 68 69 73 2d 3e 75 6e 6c .(usleep(350000).&&.!@$this->unl
d3180 69 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 29 29 20 7b 0a 24 65 72 inkImplementation($path))).{.$er
d31a0 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 24 6d 65 73 73 61 67 65 ror.=.error_get_last();.$message
d31c0 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 3a 20 .=.'Could.not.delete.'.$path.':.
d31e0 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 69 66 20 28 50 6c 61 74 '...@$error['message'];.if.(Plat
d3200 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d form::isWindows()).{.$message..=
d3220 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 20 64 75 65 20 74 6f 20 61 6e 20 61 6e 74 69 76 69 ."\nThis.can.be.due.to.an.antivi
d3240 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 65 61 72 63 68 20 49 6e 64 65 78 65 rus.or.the.Windows.Search.Indexe
d3260 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 69 6c 65 20 77 68 69 6c 65 20 74 68 65 79 20 61 72 r.locking.the.file.while.they.ar
d3280 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 e.analyzed";.}..throw.new.\Runti
d32a0 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 meException($message);.}.}..retu
d32c0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.true;.}.........public.functi
d32e0 6f 6e 20 72 6d 64 69 72 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 40 72 6d 64 69 72 28 24 70 on.rmdir($path).{.if.(!@rmdir($p
d3300 61 74 68 29 29 20 7b 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f ath)).{...if.(!Platform::isWindo
d3320 77 73 28 29 20 7c 7c 20 28 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 20 26 26 20 21 40 72 6d 64 ws().||.(usleep(350000).&&.!@rmd
d3340 69 72 28 24 70 61 74 68 29 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 ir($path))).{.$error.=.error_get
d3360 5f 6c 61 73 74 28 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 _last();.$message.=.'Could.not.d
d3380 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 3a 20 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 elete.'.$path.':.'...@$error['me
d33a0 73 73 61 67 65 27 5d 3b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 ssage'];.if.(Platform::isWindows
d33c0 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 ()).{.$message..=."\nThis.can.be
d33e0 20 64 75 65 20 74 6f 20 61 6e 20 61 6e 74 69 76 69 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 .due.to.an.antivirus.or.the.Wind
d3400 6f 77 73 20 53 65 61 72 63 68 20 49 6e 64 65 78 65 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 ows.Search.Indexer.locking.the.f
d3420 69 6c 65 20 77 68 69 6c 65 20 74 68 65 79 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a ile.while.they.are.analyzed";.}.
d3440 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 .throw.new.\RuntimeException($me
d3460 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a ssage);.}.}..return.true;.}.....
d3480 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 54 68 65 6e 52 65 ......public.function.copyThenRe
d34a0 6d 6f 76 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e move($source,.$target).{.$this->
d34c0 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 69 66 20 28 21 69 73 5f copy($source,.$target);.if.(!is_
d34e0 64 69 72 28 24 73 6f 75 72 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 73 dir($source)).{.$this->unlink($s
d3500 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 ource);..return;.}..$this->remov
d3520 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a eDirectoryPhp($source);.}.......
d3540 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 ..public.function.copy($source,.
d3560 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 73 6f 75 72 63 65 29 29 $target).{.if.(!is_dir($source))
d3580 20 7b 0a 72 65 74 75 72 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 .{.return.copy($source,.$target)
d35a0 3b 0a 7d 0a 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 ;.}..$it.=.new.RecursiveDirector
d35c0 79 49 74 65 72 61 74 6f 72 28 24 73 6f 75 72 63 65 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 yIterator($source,.RecursiveDire
d35e0 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 24 72 69 20 3d ctoryIterator::SKIP_DOTS);.$ri.=
d3600 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 .new.RecursiveIteratorIterator($
d3620 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 it,.RecursiveIteratorIterator::S
d3640 45 4c 46 5f 46 49 52 53 54 29 3b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f ELF_FIRST);.$this->ensureDirecto
d3660 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 ryExists($target);..$result.=.tr
d3680 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 61 ue;.foreach.($ri.as.$file).{.$ta
d36a0 72 67 65 74 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 rgetPath.=.$target...DIRECTORY_S
d36c0 45 50 41 52 41 54 4f 52 20 2e 20 24 72 69 2d 3e 67 65 74 53 75 62 50 61 74 68 4e 61 6d 65 28 29 EPARATOR...$ri->getSubPathName()
d36e0 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 ;.if.($file->isDir()).{.$this->e
d3700 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 50 61 74 68 nsureDirectoryExists($targetPath
d3720 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 20 26 26 );.}.else.{.$result.=.$result.&&
d3740 20 63 6f 70 79 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 61 72 .copy($file->getPathname(),.$tar
d3760 67 65 74 50 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d getPath);.}.}..return.$result;.}
d3780 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 ..public.function.rename($source
d37a0 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 40 72 65 6e 61 6d ,.$target).{.if.(true.===.@renam
d37c0 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d e($source,.$target)).{.return;.}
d37e0 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 ..if.(!function_exists('proc_ope
d3800 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 70 79 54 68 65 6e 52 65 6d n')).{.return.$this->copyThenRem
d3820 6f 76 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 50 6c ove($source,.$target);.}..if.(Pl
d3840 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e atform::isWindows()).{...$comman
d3860 64 20 3d 20 73 70 72 69 6e 74 66 28 27 78 63 6f 70 79 20 25 73 20 25 73 20 2f 45 20 2f 49 20 2f d.=.sprintf('xcopy.%s.%s./E./I./
d3880 51 20 2f 59 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 Q./Y',.ProcessExecutor::escape($
d38a0 73 6f 75 72 63 65 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 source),.ProcessExecutor::escape
d38c0 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f ($target));.$result.=.$this->pro
d38e0 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 cessExecutor->execute($command,.
d3900 24 6f 75 74 70 75 74 29 3b 0a 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a $output);....clearstatcache();..
d3920 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f if.(0.===.$result).{.$this->remo
d3940 76 65 28 24 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b ve($source);..return;.}.}.else.{
d3960 0a 0a 20 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 6d 76 20 25 73 20 25 .....$command.=.sprintf('mv.%s.%
d3980 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 s',.ProcessExecutor::escape($sou
d39a0 72 63 65 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 rce),.ProcessExecutor::escape($t
d39c0 61 72 67 65 74 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 arget));.$result.=.$this->proces
d39e0 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 sExecutor->execute($command,.$ou
d3a00 74 70 75 74 29 3b 0a 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 tput);....clearstatcache();..if.
d3a20 28 30 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 72 (0.===.$result).{.return;.}.}..r
d3a40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 eturn.$this->copyThenRemove($sou
d3a60 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rce,.$target);.}...........publi
d3a80 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 66 72 6f c.function.findShortestPath($fro
d3aa0 6d 2c 20 24 74 6f 2c 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a m,.$to,.$directories.=.false).{.
d3ac0 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 72 6f 6d if.(!$this->isAbsolutePath($from
d3ae0 29 20 7c 7c 20 21 24 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 74 6f 29 ).||.!$this->isAbsolutePath($to)
d3b00 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
d3b20 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 61 6e 64 20 ception(sprintf('$from.(%s).and.
d3b40 24 74 6f 20 28 25 73 29 20 6d 75 73 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 2e $to.(%s).must.be.absolute.paths.
d3b60 27 2c 20 24 66 72 6f 6d 2c 20 24 74 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 6c 63 66 69 ',.$from,.$to));.}..$from.=.lcfi
d3b80 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 6f 6d 29 29 rst($this->normalizePath($from))
d3ba0 3b 0a 24 74 6f 20 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 ;.$to.=.lcfirst($this->normalize
d3bc0 50 61 74 68 28 24 74 6f 29 29 3b 0a 0a 69 66 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 29 20 7b Path($to));..if.($directories).{
d3be0 0a 24 66 72 6f 6d 20 3d 20 72 74 72 69 6d 28 24 66 72 6f 6d 2c 20 27 2f 27 29 20 2e 20 27 2f 64 .$from.=.rtrim($from,.'/')...'/d
d3c00 75 6d 6d 79 5f 66 69 6c 65 27 3b 0a 7d 0a 0a 69 66 20 28 64 69 72 6e 61 6d 65 28 24 66 72 6f 6d ummy_file';.}..if.(dirname($from
d3c20 29 20 3d 3d 3d 20 64 69 72 6e 61 6d 65 28 24 74 6f 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 2e 2f ).===.dirname($to)).{.return.'./
d3c40 27 2e 62 61 73 65 6e 61 6d 65 28 24 74 6f 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 '.basename($to);.}..$commonPath.
d3c60 3d 20 24 74 6f 3b 0a 77 68 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f 27 2c 20 =.$to;.while.(strpos($from.'/',.
d3c80 24 63 6f 6d 6d 6f 6e 50 61 74 68 2e 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d $commonPath.'/').!==.0.&&.'/'.!=
d3ca0 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e =.$commonPath.&&.!preg_match('{^
d3cc0 5b 61 2d 7a 5d 3a 2f 3f 24 7d 69 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 20 7b 0a 24 63 [a-z]:/?$}i',.$commonPath)).{.$c
d3ce0 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 73 74 72 74 72 28 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f ommonPath.=.strtr(dirname($commo
d3d00 6e 50 61 74 68 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d nPath),.'\\',.'/');.}..if.(0.!==
d3d20 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 .strpos($from,.$commonPath).||.'
d3d40 2f 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 6f /'.===.$commonPath).{.return.$to
d3d60 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 6d 6f 6e ;.}..$commonPath.=.rtrim($common
d3d80 50 61 74 68 2c 20 27 2f 27 29 20 2e 20 27 2f 27 3b 0a 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 Path,.'/')...'/';.$sourcePathDep
d3da0 74 68 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 73 75 62 73 74 72 28 24 66 72 6f 6d 2c 20 th.=.substr_count(substr($from,.
d3dc0 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 2c 20 27 2f 27 29 3b 0a 24 63 6f 6d strlen($commonPath)),.'/');.$com
d3de0 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2e 2e 2f 27 2c 20 monPathCode.=.str_repeat('../',.
d3e00 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 63 6f 6d $sourcePathDepth);..return.($com
d3e20 6d 6f 6e 50 61 74 68 43 6f 64 65 20 2e 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e monPathCode...substr($to,.strlen
d3e40 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 29 20 3f 3a 20 27 2e 2f 27 3b 0a 7d 0a 0a 0a 0a 0a 0a ($commonPath))).?:.'./';.}......
d3e60 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 68 6f 72 74 65 ......public.function.findShorte
d3e80 73 74 50 61 74 68 43 6f 64 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 64 69 72 65 63 74 6f 72 stPathCode($from,.$to,.$director
d3ea0 69 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 74 61 74 69 63 43 6f 64 65 20 3d 20 66 61 6c 73 65 ies.=.false,.$staticCode.=.false
d3ec0 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 ).{.if.(!$this->isAbsolutePath($
d3ee0 66 72 6f 6d 29 20 7c 7c 20 21 24 74 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 from).||.!$this->isAbsolutePath(
d3f00 24 74 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 $to)).{.throw.new.\InvalidArgume
d3f20 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 ntException(sprintf('$from.(%s).
d3f40 61 6e 64 20 24 74 6f 20 28 25 73 29 20 6d 75 73 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 and.$to.(%s).must.be.absolute.pa
d3f60 74 68 73 2e 27 2c 20 24 66 72 6f 6d 2c 20 24 74 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 ths.',.$from,.$to));.}..$from.=.
d3f80 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 lcfirst($this->normalizePath($fr
d3fa0 6f 6d 29 29 3b 0a 24 74 6f 20 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 om));.$to.=.lcfirst($this->norma
d3fc0 6c 69 7a 65 50 61 74 68 28 24 74 6f 29 29 3b 0a 0a 69 66 20 28 24 66 72 6f 6d 20 3d 3d 3d 20 24 lizePath($to));..if.($from.===.$
d3fe0 74 6f 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3f 20 27 5f 5f 44 to).{.return.$directories.?.'__D
d4000 49 52 5f 5f 27 20 3a 20 27 5f 5f 46 49 4c 45 5f 5f 27 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 IR__'.:.'__FILE__';.}..$commonPa
d4020 74 68 20 3d 20 24 74 6f 3b 0a 77 68 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f th.=.$to;.while.(strpos($from.'/
d4040 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 2e 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 ',.$commonPath.'/').!==.0.&&.'/'
d4060 20 21 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 .!==.$commonPath.&&.!preg_match(
d4080 27 7b 5e 5b 61 2d 7a 5d 3a 2f 3f 24 7d 69 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 26 26 '{^[a-z]:/?$}i',.$commonPath).&&
d40a0 20 27 2e 27 20 21 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 .'.'.!==.$commonPath).{.$commonP
d40c0 61 74 68 20 3d 20 73 74 72 74 72 28 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 ath.=.strtr(dirname($commonPath)
d40e0 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f ,.'\\',.'/');.}..if.(0.!==.strpo
d4100 73 28 24 66 72 6f 6d 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 2f 27 20 3d 3d 3d s($from,.$commonPath).||.'/'.===
d4120 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 7c 7c 20 27 2e 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 .$commonPath.||.'.'.===.$commonP
d4140 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 6f 2c 20 74 72 ath).{.return.var_export($to,.tr
d4160 75 65 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d ue);.}..$commonPath.=.rtrim($com
d4180 6d 6f 6e 50 61 74 68 2c 20 27 2f 27 29 20 2e 20 27 2f 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 monPath,.'/')...'/';.if.(strpos(
d41a0 24 74 6f 2c 20 24 66 72 6f 6d 2e 27 2f 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 $to,.$from.'/').===.0).{.return.
d41c0 27 5f 5f 44 49 52 5f 5f 20 2e 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 73 75 62 73 74 72 28 24 '__DIR__...'.var_export(substr($
d41e0 74 6f 2c 20 73 74 72 6c 65 6e 28 24 66 72 6f 6d 29 29 2c 20 74 72 75 65 29 3b 0a 7d 0a 24 73 6f to,.strlen($from)),.true);.}.$so
d4200 75 72 63 65 50 61 74 68 44 65 70 74 68 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 73 75 62 urcePathDepth.=.substr_count(sub
d4220 73 74 72 28 24 66 72 6f 6d 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 2c str($from,.strlen($commonPath)),
d4240 20 27 2f 27 29 20 2b 20 24 64 69 72 65 63 74 6f 72 69 65 73 3b 0a 69 66 20 28 24 73 74 61 74 69 .'/').+.$directories;.if.($stati
d4260 63 43 6f 64 65 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 22 5f 5f 44 49 cCode).{.$commonPathCode.=."__DI
d4280 52 5f 5f 20 2e 20 27 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 2f 2e 2e 27 2c 20 24 73 6f 75 72 R__...'".str_repeat('/..',.$sour
d42a0 63 65 50 61 74 68 44 65 70 74 68 29 2e 22 27 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d cePathDepth)."'";.}.else.{.$comm
d42c0 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 64 69 72 6e 61 6d 65 onPathCode.=.str_repeat('dirname
d42e0 28 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 2e 27 5f 5f 44 49 52 5f 5f 27 2e (',.$sourcePathDepth).'__DIR__'.
d4300 73 74 72 5f 72 65 70 65 61 74 28 27 29 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 str_repeat(')',.$sourcePathDepth
d4320 29 3b 0a 7d 0a 24 72 65 6c 54 61 72 67 65 74 20 3d 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 );.}.$relTarget.=.substr($to,.st
d4340 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d rlen($commonPath));..return.$com
d4360 6d 6f 6e 50 61 74 68 43 6f 64 65 20 2e 20 28 73 74 72 6c 65 6e 28 24 72 65 6c 54 61 72 67 65 74 monPathCode...(strlen($relTarget
d4380 29 20 3f 20 27 2e 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 27 2f 27 20 2e 20 24 72 65 6c 54 ).?.'.'...var_export('/'...$relT
d43a0 61 72 67 65 74 2c 20 74 72 75 65 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 arget,.true).:.'');.}........pub
d43c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 lic.function.isAbsolutePath($pat
d43e0 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 30 2c 20 31 29 20 h).{.return.substr($path,.0,.1).
d4400 3d 3d 3d 20 27 2f 27 20 7c 7c 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 2c 20 31 29 20 3d ===.'/'.||.substr($path,.1,.1).=
d4420 3d 3d 20 27 3a 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ==.':';.}..........public.functi
d4440 6f 6e 20 73 69 7a 65 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 on.size($path).{.if.(!file_exist
d4460 73 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 s($path)).{.throw.new.\RuntimeEx
d4480 63 65 70 74 69 6f 6e 28 22 24 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 ception("$path.does.not.exist.")
d44a0 3b 0a 7d 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 ;.}.if.(is_dir($path)).{.return.
d44c0 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a $this->directorySize($path);.}..
d44e0 72 65 74 75 72 6e 20 66 69 6c 65 73 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a return.filesize($path);.}.......
d4500 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 ..public.function.normalizePath(
d4520 24 70 61 74 68 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 74 68 $path).{.$parts.=.array();.$path
d4540 20 3d 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 70 72 65 .=.strtr($path,.'\\',.'/');.$pre
d4560 66 69 78 20 3d 20 27 27 3b 0a 24 61 62 73 6f 6c 75 74 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 fix.=.'';.$absolute.=.false;....
d4580 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 20 5b 30 2d 39 61 2d 7a 5d 7b 32 2c 7d if.(preg_match('{^(.[0-9a-z]{2,}
d45a0 2b 3a 20 28 3f 3a 20 2f 2f 20 28 3f 3a 20 5b 61 2d 7a 5d 3a 20 29 3f 20 29 3f 20 7c 20 5b 61 2d +:.(?:.//.(?:.[a-z]:.)?.)?.|.[a-
d45c0 7a 5d 3a 20 29 7d 69 78 27 2c 20 24 70 61 74 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 z]:.)}ix',.$path,.$match)).{.$pr
d45e0 65 66 69 78 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 efix.=.$match[1];.$path.=.substr
d4600 28 24 70 61 74 68 2c 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 0a 69 66 20 ($path,.strlen($prefix));.}..if.
d4620 28 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b 0a (substr($path,.0,.1).===.'/').{.
d4640 24 61 62 73 6f 6c 75 74 65 20 3d 20 74 72 75 65 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 $absolute.=.true;.$path.=.substr
d4660 28 24 70 61 74 68 2c 20 31 29 3b 0a 7d 0a 0a 24 75 70 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 ($path,.1);.}..$up.=.false;.fore
d4680 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 74 68 29 20 61 73 20 24 63 68 75 ach.(explode('/',.$path).as.$chu
d46a0 6e 6b 29 20 7b 0a 69 66 20 28 27 2e 2e 27 20 3d 3d 3d 20 24 63 68 75 6e 6b 20 26 26 20 28 24 61 nk).{.if.('..'.===.$chunk.&&.($a
d46c0 62 73 6f 6c 75 74 65 20 7c 7c 20 24 75 70 29 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 70 61 bsolute.||.$up)).{.array_pop($pa
d46e0 72 74 73 29 3b 0a 24 75 70 20 3d 20 21 28 65 6d 70 74 79 28 24 70 61 72 74 73 29 20 7c 7c 20 27 rts);.$up.=.!(empty($parts).||.'
d4700 2e 2e 27 20 3d 3d 3d 20 65 6e 64 28 24 70 61 72 74 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ..'.===.end($parts));.}.elseif.(
d4720 27 2e 27 20 21 3d 3d 20 24 63 68 75 6e 6b 20 26 26 20 27 27 20 21 3d 3d 20 24 63 68 75 6e 6b 29 '.'.!==.$chunk.&&.''.!==.$chunk)
d4740 20 7b 0a 24 70 61 72 74 73 5b 5d 20 3d 20 24 63 68 75 6e 6b 3b 0a 24 75 70 20 3d 20 27 2e 2e 27 .{.$parts[].=.$chunk;.$up.=.'..'
d4760 20 21 3d 3d 20 24 63 68 75 6e 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 66 69 78 .!==.$chunk;.}.}..return.$prefix
d4780 2e 28 24 61 62 73 6f 6c 75 74 65 20 3f 20 27 2f 27 20 3a 20 27 27 29 2e 69 6d 70 6c 6f 64 65 28 .($absolute.?.'/'.:.'').implode(
d47a0 27 2f 27 2c 20 24 70 61 72 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 '/',.$parts);.}........public.st
d47c0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 70 61 74 68 29 atic.function.isLocalPath($path)
d47e0 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 .{.return.(bool).preg_match('{^(
d4800 66 69 6c 65 3a 2f 2f 28 3f 21 2f 2f 29 7c 2f 28 3f 21 2f 29 7c 2f 3f 5b 61 2d 7a 5d 3a 5b 5c 5c file://(?!//)|/(?!/)|/?[a-z]:[\\
d4820 5c 5c 2f 5d 7c 5c 2e 5c 2e 5b 5c 5c 5c 5c 2f 5d 7c 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 5b 5c 5c \\/]|\.\.[\\\\/]|[a-z0-9_.-]+[\\
d4840 5c 5c 2f 5d 29 7d 69 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 \\/])}i',.$path);.}..public.stat
d4860 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 70 61 74 ic.function.getPlatformPath($pat
d4880 68 29 0a 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 h).{.if.(Platform::isWindows()).
d48a0 7b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 3f 3a 66 69 6c {.$path.=.preg_replace('{^(?:fil
d48c0 65 3a 2f 2f 2f 28 5b 61 2d 7a 5d 29 3a 3f 2f 29 7d 69 27 2c 20 27 66 69 6c 65 3a 2f 2f 24 31 3a e:///([a-z]):?/)}i',.'file://$1:
d48e0 2f 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 /',.$path);.}..return.preg_repla
d4900 63 65 28 27 7b 5e 66 69 6c 65 3a 2f 2f 7d 69 27 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a ce('{^file://}i',.'',.$path);.}.
d4920 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 53 69 7a .protected.function.directorySiz
d4940 65 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 e($directory).{.$it.=.new.Recurs
d4960 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c iveDirectoryIterator($directory,
d4980 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 .RecursiveDirectoryIterator::SKI
d49a0 50 5f 44 4f 54 53 29 3b 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 P_DOTS);.$ri.=.new.RecursiveIter
d49c0 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 atorIterator($it,.RecursiveItera
d49e0 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 24 73 69 7a torIterator::CHILD_FIRST);..$siz
d4a00 65 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a e.=.0;.foreach.($ri.as.$file).{.
d4a20 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 24 73 69 7a 65 20 2b 3d 20 if.($file->isFile()).{.$size.+=.
d4a40 24 66 69 6c 65 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 $file->getSize();.}.}..return.$s
d4a60 69 7a 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 ize;.}..protected.function.getPr
d4a80 6f 63 65 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 ocess().{.return.new.ProcessExec
d4aa0 75 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 utor;.}...........private.functi
d4ac0 6f 6e 20 75 6e 6c 69 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 0a 7b on.unlinkImplementation($path).{
d4ae0 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 69 73 .if.(Platform::isWindows().&&.is
d4b00 5f 64 69 72 28 24 70 61 74 68 29 20 26 26 20 69 73 5f 6c 69 6e 6b 28 24 70 61 74 68 29 29 20 7b _dir($path).&&.is_link($path)).{
d4b20 0a 72 65 74 75 72 6e 20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .return.rmdir($path);.}..return.
d4b40 75 6e 6c 69 6e 6b 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 unlink($path);.}.........public.
d4b60 66 75 6e 63 74 69 6f 6e 20 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b 28 24 74 61 72 67 65 74 function.relativeSymlink($target
d4b80 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 24 72 65 ,.$link).{.$cwd.=.getcwd();..$re
d4ba0 6c 61 74 69 76 65 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 lativePath.=.$this->findShortest
d4bc0 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 74 61 72 67 65 74 29 3b 0a 63 68 64 69 72 28 64 69 72 6e Path($link,.$target);.chdir(dirn
d4be0 61 6d 65 28 24 6c 69 6e 6b 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 40 73 79 6d 6c 69 6e 6b 28 ame($link));.$result.=.@symlink(
d4c00 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 0a 63 68 64 69 72 28 24 63 $relativePath,.$link);..chdir($c
d4c20 77 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a wd);..return.$result;.}.........
d4c40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 public.function.isSymlinkedDirec
d4c60 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 tory($directory).{.if.(!is_dir($
d4c80 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 directory)).{.return.false;.}..$
d4ca0 72 65 73 6f 6c 76 65 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b resolved.=.$this->resolveSymlink
d4cc0 65 64 44 69 72 65 63 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a edDirectorySymlink($directory);.
d4ce0 0a 72 65 74 75 72 6e 20 69 73 5f 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d 0a 0a 0a .return.is_link($resolved);.}...
d4d00 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 69 6e 6b 53 79 6d 6c 69 ....private.function.unlinkSymli
d4d20 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 24 72 65 73 nkedDirectory($directory).{.$res
d4d40 6f 6c 76 65 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b 65 64 44 olved.=.$this->resolveSymlinkedD
d4d60 69 72 65 63 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 72 65 irectorySymlink($directory);..re
d4d80 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d turn.$this->unlink($resolved);.}
d4da0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 .........private.function.resolv
d4dc0 65 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 70 61 74 68 eSymlinkedDirectorySymlink($path
d4de0 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 6e 61 6d 65 29 29 20 name).{.if.(!is_dir($pathname)).
d4e00 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 64 {.return.$pathname;.}..$resolved
d4e20 20 3d 20 72 74 72 69 6d 28 24 70 61 74 68 6e 61 6d 65 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 21 .=.rtrim($pathname,.'/');..if.(!
d4e40 73 74 72 6c 65 6e 28 24 72 65 73 6f 6c 76 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 strlen($resolved)).{.return.$pat
d4e60 68 6e 61 6d 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 6f 6c 76 65 64 3b 0a 7d 0a 0a 0a hname;.}..return.$resolved;.}...
d4e80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 75 6e 63 74 69 6f 6e 28 24 74 .....public.function.junction($t
d4ea0 61 72 67 65 74 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 arget,.$junction).{.if.(!Platfor
d4ec0 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 m::isWindows()).{.throw.new.\Log
d4ee0 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 75 6e 63 74 69 6f 6e 20 25 73 icException(sprintf('Function.%s
d4f00 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 6e 6f 6e 2d 57 69 6e 64 6f 77 73 .is.not.available.on.non-Windows
d4f20 20 70 6c 61 74 66 6f 72 6d 27 2c 20 5f 5f 43 4c 41 53 53 5f 5f 29 29 3b 0a 7d 0a 69 66 20 28 21 .platform',.__CLASS__));.}.if.(!
d4f40 69 73 5f 64 69 72 28 24 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 is_dir($target)).{.throw.new.IOE
d4f60 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 6a 75 6e 63 74 69 6f xception(sprintf('Cannot.junctio
d4f80 6e 20 74 6f 20 22 25 73 22 20 61 73 20 69 74 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f n.to."%s".as.it.is.not.a.directo
d4fa0 72 79 2e 27 2c 20 24 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 ry.',.$target),.0,.null,.$target
d4fc0 29 3b 0a 7d 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 6d 6b 6c 69 6e 6b 20 2f 4a 20 );.}.$cmd.=.sprintf(.'mklink./J.
d4fe0 25 73 20 25 73 27 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 %s.%s',.ProcessExecutor::escape(
d5000 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 str_replace('/',.DIRECTORY_SEPAR
d5020 41 54 4f 52 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 ATOR,.$junction)),.ProcessExecut
d5040 6f 72 3a 3a 65 73 63 61 70 65 28 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 29 29 0a 29 3b or::escape(realpath($target)).);
d5060 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 65 63 75 74 .if.($this->getProcess()->execut
d5080 65 28 24 63 6d 64 2c 20 24 6f 75 74 70 75 74 29 20 21 3d 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 e($cmd,.$output).!==.0).{.throw.
d50a0 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 new.IOException(sprintf('Failed.
d50c0 74 6f 20 63 72 65 61 74 65 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 20 22 25 73 22 20 61 74 20 22 25 to.create.junction.to."%s".at."%
d50e0 73 22 2e 27 2c 20 24 74 61 72 67 65 74 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 30 2c 20 6e 75 s".',.$target,.$junction),.0,.nu
d5100 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 74 ll,.$target);.}.clearstatcache(t
d5120 72 75 65 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rue,.$junction);.}........public
d5140 20 66 75 6e 63 74 69 6f 6e 20 69 73 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e 63 74 69 6f 6e 29 0a .function.isJunction($junction).
d5160 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a {.if.(!Platform::isWindows()).{.
d5180 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 6a 75 6e return.false;.}.if.(!is_dir($jun
d51a0 63 74 69 6f 6e 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 6a 75 6e 63 74 69 6f 6e 29 29 20 7b 0a ction).||.is_link($junction)).{.
d51c0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 65 61 72 return.false;.}............clear
d51e0 73 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 63 6c 65 61 statcache(true,.$junction);.clea
d5200 72 73 74 61 74 63 61 63 68 65 28 66 61 6c 73 65 29 3b 0a 24 73 74 61 74 20 3d 20 6c 73 74 61 74 rstatcache(false);.$stat.=.lstat
d5220 28 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 21 28 24 73 74 61 74 5b 27 6d 6f ($junction);..return.!($stat['mo
d5240 64 65 27 5d 20 26 20 30 78 43 30 30 30 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 de'].&.0xC000);.}........public.
d5260 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e 63 74 69 6f function.removeJunction($junctio
d5280 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 n).{.if.(!Platform::isWindows())
d52a0 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 6a 75 6e 63 74 69 6f 6e 20 3d 20 72 .{.return.false;.}.$junction.=.r
d52c0 74 72 69 6d 28 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f trim(str_replace('/',.DIRECTORY_
d52e0 53 45 50 41 52 41 54 4f 52 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 44 49 52 45 43 54 4f 52 59 SEPARATOR,.$junction),.DIRECTORY
d5300 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 4a 75 6e 63 74 _SEPARATOR);.if.(!$this->isJunct
d5320 69 6f 6e 28 24 6a 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 ion($junction)).{.throw.new.IOEx
d5340 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 20 69 73 20 6e 6f 74 20 61 20 6a 75 6e ception(sprintf('%s.is.not.a.jun
d5360 63 74 69 6f 6e 20 61 6e 64 20 74 68 75 73 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 6d 6f 76 65 64 ction.and.thus.cannot.be.removed
d5380 20 61 73 20 6f 6e 65 27 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 29 3b 0a 7d 0a 24 63 6d 64 20 3d 20 .as.one',.$junction));.}.$cmd.=.
d53a0 73 70 72 69 6e 74 66 28 27 72 6d 64 69 72 20 2f 53 20 2f 51 20 25 73 27 2c 20 50 72 6f 63 65 73 sprintf('rmdir./S./Q.%s',.Proces
d53c0 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 6a 75 6e 63 74 69 6f 6e 29 29 3b 0a 63 sExecutor::escape($junction));.c
d53e0 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a learstatcache(true,.$junction);.
d5400 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 .return.($this->getProcess()->ex
d5420 65 63 75 74 65 28 24 63 6d 64 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 29 3b 0a 7d 0a 7d ecute($cmd,.$output).===.0);.}.}
d5440 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
d5460 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b oser\Util;..use.Composer\Config;
d5480 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a .use.Composer\IO\IOInterface;...
d54a0 0a 0a 63 6c 61 73 73 20 47 69 74 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 65 ..class.Git.{.private.static.$ve
d54c0 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 rsion;...protected.$io;..protect
d54e0 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b ed.$config;..protected.$process;
d5500 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 ..protected.$filesystem;..public
d5520 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 .function.__construct(IOInterfac
d5540 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 e.$io,.Config.$config,.ProcessEx
d5560 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 29 ecutor.$process,.Filesystem.$fs)
d5580 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 .{.$this->io.=.$io;.$this->confi
d55a0 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 g.=.$config;.$this->process.=.$p
d55c0 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 73 3b rocess;.$this->filesystem.=.$fs;
d55e0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 .}..public.function.runCommand($
d5600 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 24 69 6e commandCallable,.$url,.$cwd,.$in
d5620 69 74 69 61 6c 43 6c 6f 6e 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 itialClone.=.false).{...$this->c
d5640 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c onfig->prohibitUrlByConfig($url,
d5660 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 .$this->io);..if.($initialClone)
d5680 20 7b 0a 24 6f 72 69 67 43 77 64 20 3d 20 24 63 77 64 3b 0a 24 63 77 64 20 3d 20 6e 75 6c 6c 3b .{.$origCwd.=.$cwd;.$cwd.=.null;
d56a0 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b 5e 40 5d .}..if.(preg_match('{^ssh://[^@]
d56c0 2b 40 5b 5e 3a 5d 2b 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 75 72 6c 29 29 20 7b 0a 74 68 72 6f +@[^:]+:[^0-9]+}',.$url)).{.thro
d56e0 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
d5700 27 54 68 65 20 73 6f 75 72 63 65 20 55 52 4c 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 69 73 20 'The.source.URL.'...$url...'.is.
d5720 69 6e 76 61 6c 69 64 2c 20 73 73 68 20 55 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 invalid,.ssh.URLs.should.have.a.
d5740 70 6f 72 74 20 6e 75 6d 62 65 72 20 61 66 74 65 72 20 22 3a 22 2e 27 20 2e 20 22 5c 6e 22 20 2e port.number.after.":".'..."\n"..
d5760 20 27 55 73 65 20 73 73 68 3a 2f 2f 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 32 32 2f 70 .'Use.ssh://git@example.com:22/p
d5780 61 74 68 20 6f 72 20 6a 75 73 74 20 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 70 61 74 68 ath.or.just.git@example.com:path
d57a0 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 .if.you.do.not.want.to.provide.a
d57c0 20 70 61 73 73 77 6f 72 64 20 6f 72 20 63 75 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a .password.or.custom.port.');.}..
d57e0 69 66 20 28 21 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 if.(!$initialClone).{...$this->p
d5800 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d 76 27 2c rocess->execute('git.remote.-v',
d5820 20 24 6f 75 74 70 75 74 2c 20 24 63 77 64 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 .$output,.$cwd);.if.(preg_match(
d5840 27 7b 5e 28 3f 3a 63 6f 6d 70 6f 73 65 72 7c 6f 72 69 67 69 6e 29 5c 73 2b 68 74 74 70 73 3f 3a '{^(?:composer|origin)\s+https?:
d5860 2f 2f 28 2e 2b 29 3a 28 2e 2b 29 40 28 5b 5e 2f 5d 2b 29 7d 69 6d 27 2c 20 24 6f 75 74 70 75 74 //(.+):(.+)@([^/]+)}im',.$output
d5880 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 ,.$match)).{.$this->io->setAuthe
d58a0 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 33 5d 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 ntication($match[3],.rawurldecod
d58c0 65 28 24 6d 61 74 63 68 5b 31 5d 29 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 e($match[1]),.rawurldecode($matc
d58e0 68 5b 32 5d 29 29 3b 0a 7d 0a 7d 0a 0a 24 70 72 6f 74 6f 63 6f 6c 73 20 3d 20 24 74 68 69 73 2d h[2]));.}.}..$protocols.=.$this-
d5900 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 29 >config->get('github-protocols')
d5920 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 72 6f 74 6f 63 6f 6c 73 29 29 20 7b 0a 74 ;.if.(!is_array($protocols)).{.t
d5940 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6e 66 hrow.new.\RuntimeException('Conf
d5960 69 67 20 76 61 6c 75 65 20 22 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 22 20 6d 75 73 74 ig.value."github-protocols".must
d5980 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 67 6f 74 20 27 20 2e 20 67 65 74 74 79 70 65 28 24 70 .be.an.array,.got.'...gettype($p
d59a0 72 6f 74 6f 63 6f 6c 73 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 rotocols));.}...if.(preg_match('
d59c0 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 {^(?:https?|git)://'...self::get
d59e0 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 GitHubDomainsRegex($this->config
d5a00 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 )...'/(.*)}',.$url,.$match)).{.$
d5a20 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 messages.=.array();.foreach.($pr
d5a40 6f 74 6f 63 6f 6c 73 20 61 73 20 24 70 72 6f 74 6f 63 6f 6c 29 20 7b 0a 69 66 20 28 27 73 73 68 otocols.as.$protocol).{.if.('ssh
d5a60 27 20 3d 3d 3d 20 24 70 72 6f 74 6f 63 6f 6c 29 20 7b 0a 24 70 72 6f 74 6f 55 72 6c 20 3d 20 22 '.===.$protocol).{.$protoUrl.=."
d5a80 67 69 74 40 22 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 22 3a 22 20 2e 20 24 6d 61 74 63 68 git@"...$match[1]...":"...$match
d5aa0 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 74 6f 55 72 6c 20 3d 20 24 70 72 6f 74 6f [2];.}.else.{.$protoUrl.=.$proto
d5ac0 63 6f 6c 20 2e 20 22 3a 2f 2f 22 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 22 2f 22 20 2e 20 col..."://"...$match[1]..."/"...
d5ae0 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 $match[2];.}..if.(0.===.$this->p
d5b00 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 rocess->execute(call_user_func($
d5b20 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 70 72 6f 74 6f 55 72 6c 29 2c 20 24 69 67 commandCallable,.$protoUrl),.$ig
d5b40 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a noredOutput,.$cwd)).{.return;.}.
d5b60 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 2d 20 27 20 2e 20 24 70 72 6f 74 6f 55 72 6c 20 2e $messages[].=.'-.'...$protoUrl..
d5b80 20 22 5c 6e 22 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 23 6d 27 2c 20 27 20 20 ."\n"...preg_replace('#^#m',.'..
d5ba0 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 ',.$this->process->getErrorOutpu
d5bc0 74 28 29 29 3b 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 73 t());.if.($initialClone).{.$this
d5be0 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 6f ->filesystem->removeDirectory($o
d5c00 72 69 67 43 77 64 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 rigCwd);.}.}....$this->throwExce
d5c20 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 ption('Failed.to.clone.'...$url.
d5c40 2e 20 27 20 76 69 61 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 6f 74 6f ..'.via.'...implode(',.',.$proto
d5c60 63 6f 6c 73 29 20 2e 20 27 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 61 62 6f 72 74 69 6e 67 2e 27 20 cols)...'.protocols,.aborting.'.
d5c80 2e 20 22 5c 6e 5c 6e 22 20 2e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 .."\n\n"...implode("\n",.$messag
d5ca0 65 73 29 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 20 24 62 79 70 61 73 73 53 73 68 46 6f 72 47 69 es),.$url);.}....$bypassSshForGi
d5cc0 74 48 75 62 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 67 69 74 40 27 20 2e 20 73 65 6c tHub.=.preg_match('{^git@'...sel
d5ce0 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e f::getGitHubDomainsRegex($this->
d5d00 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d 69 27 2c 20 24 75 72 6c config)...':(.+?)\.git$}i',.$url
d5d20 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 27 73 73 68 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 ).&&.!in_array('ssh',.$protocols
d5d40 2c 20 74 72 75 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 ,.true);..$command.=.call_user_f
d5d60 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 29 3b 0a 0a 24 61 unc($commandCallable,.$url);..$a
d5d80 75 74 68 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 62 79 70 61 73 73 53 73 68 46 6f 72 47 69 74 uth.=.null;.if.($bypassSshForGit
d5da0 48 75 62 20 7c 7c 20 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 Hub.||.0.!==.$this->process->exe
d5dc0 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 cute($command,.$ignoredOutput,.$
d5de0 63 77 64 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 67 69 74 40 cwd)).{...if.(preg_match('{^git@
d5e00 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 '...self::getGitHubDomainsRegex(
d5e20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d 69 $this->config)...':(.+?)\.git$}i
d5e40 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e ',.$url,.$match)).{.if.(!$this->
d5e60 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 io->hasAuthentication($match[1])
d5e80 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 68 ).{.$gitHubUtil.=.new.GitHub($th
d5ea0 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 is->io,.$this->config,.$this->pr
d5ec0 6f 63 65 73 73 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6c 6f 6e 69 6e 67 20 66 61 69 6c ocess);.$message.=.'Cloning.fail
d5ee0 65 64 20 75 73 69 6e 67 20 61 6e 20 73 73 68 20 6b 65 79 20 66 6f 72 20 61 75 74 68 65 6e 74 69 ed.using.an.ssh.key.for.authenti
d5f00 63 61 74 69 6f 6e 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e cation,.enter.your.GitHub.creden
d5f20 74 69 61 6c 73 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a tials.to.access.private.repos';.
d5f40 0a 69 66 20 28 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 .if.(!$gitHubUtil->authorizeOAut
d5f60 68 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 h($match[1]).&&.$this->io->isInt
d5f80 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f eractive()).{.$gitHubUtil->autho
d5fa0 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 74 63 68 5b 31 5d rizeOAuthInteractively($match[1]
d5fc0 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d ,.$message);.}.}..if.($this->io-
d5fe0 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b >hasAuthentication($match[1])).{
d6000 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 .$auth.=.$this->io->getAuthentic
d6020 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 61 75 74 68 55 72 6c 20 3d 20 27 68 74 ation($match[1]);.$authUrl.=.'ht
d6040 74 70 73 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 tps://'...rawurlencode($auth['us
d6060 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 ername'])...':'...rawurlencode($
d6080 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 auth['password'])...'@'...$match
d60a0 5b 31 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b 0a [1]...'/'...$match[2]...'.git';.
d60c0 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 $command.=.call_user_func($comma
d60e0 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d ndCallable,.$authUrl);.if.(0.===
d6100 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e .$this->process->execute($comman
d6120 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 d,.$ignoredOutput,.$cwd)).{.retu
d6140 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e rn;.}.}.}.elseif.(preg_match('{^
d6160 68 74 74 70 73 3a 2f 2f 28 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 29 2f 28 2e 2a 29 28 5c 2e https://(bitbucket\.org)/(.*)(\.
d6180 67 69 74 29 3f 24 7d 55 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 24 62 git)?$}U',.$url,.$match)).{...$b
d61a0 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 itbucketUtil.=.new.Bitbucket($th
d61c0 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 is->io,.$this->config,.$this->pr
d61e0 6f 63 65 73 73 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 ocess);..if.(!$this->io->hasAuth
d6200 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 entication($match[1])).{.$messag
d6220 65 20 3d 20 27 45 6e 74 65 72 20 79 6f 75 72 20 42 69 74 62 75 63 6b 65 74 20 63 72 65 64 65 6e e.=.'Enter.your.Bitbucket.creden
d6240 74 69 61 6c 73 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a tials.to.access.private.repos';.
d6260 0a 69 66 20 28 21 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f .if.(!$bitbucketUtil->authorizeO
d6280 41 75 74 68 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 Auth($match[1]).&&.$this->io->is
d62a0 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d Interactive()).{.$bitbucketUtil-
d62c0 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 >authorizeOAuthInteractively($ma
d62e0 74 63 68 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 tch[1],.$message);.$accessToken.
d6300 3d 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 67 65 74 54 6f 6b 65 6e 28 29 3b 0a 24 74 =.$bitbucketUtil->getToken();.$t
d6320 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 his->io->setAuthentication($matc
d6340 68 5b 31 5d 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b h[1],.'x-token-auth',.$accessTok
d6360 65 6e 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d en);.}.}.else.{...$auth.=.$this-
d6380 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d >io->getAuthentication($match[1]
d63a0 29 3b 0a 0a 0a 20 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d 3d 20 );....if.($auth['username'].!==.
d63c0 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 29 20 7b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 'x-token-auth').{.$accessToken.=
d63e0 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 6d .$bitbucketUtil->requestToken($m
d6400 61 74 63 68 5b 31 5d 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 atch[1],.$auth['username'],.$aut
d6420 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 69 66 20 28 21 20 65 6d 70 74 79 28 24 61 63 63 h['password']);.if.(!.empty($acc
d6440 65 73 73 54 6f 6b 65 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 essToken)).{.$this->io->setAuthe
d6460 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 ntication($match[1],.'x-token-au
d6480 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 th',.$accessToken);.}.}.}..if.($
d64a0 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 this->io->hasAuthentication($mat
d64c0 63 68 5b 31 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 ch[1])).{.$auth.=.$this->io->get
d64e0 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 61 75 74 68 Authentication($match[1]);.$auth
d6500 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 Url.=.'https://'...rawurlencode(
d6520 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 $auth['username'])...':'...rawur
d6540 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 lencode($auth['password'])...'@'
d6560 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e ...$match[1]...'/'...$match[2]..
d6580 20 27 2e 67 69 74 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 .'.git';..$command.=.call_user_f
d65a0 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b unc($commandCallable,.$authUrl);
d65c0 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 .if.(0.===.$this->process->execu
d65e0 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 te($command,.$ignoredOutput,.$cw
d6600 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 73 73 68 55 d)).{.return;.}.}.else.{...$sshU
d6620 72 6c 20 3d 20 27 67 69 74 40 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 3a 27 20 2e 20 24 6d 61 74 rl.=.'git@bitbucket.org:'...$mat
d6640 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ch[2]...'.git';.$this->io->write
d6660 45 72 72 6f 72 28 27 20 20 20 20 4e 6f 20 62 69 74 62 75 63 6b 65 74 20 61 75 74 68 65 6e 74 69 Error('....No.bitbucket.authenti
d6680 63 61 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 64 2e 20 46 61 6c 6c 69 6e 67 20 62 61 63 6b 20 cation.configured..Falling.back.
d66a0 74 6f 20 73 73 68 2e 27 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f to.ssh.');.$command.=.call_user_
d66c0 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 73 73 68 55 72 6c 29 3b func($commandCallable,.$sshUrl);
d66e0 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 .if.(0.===.$this->process->execu
d6700 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 te($command,.$ignoredOutput,.$cw
d6720 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 d)).{.return;.}.}.}.elseif.($thi
d6740 73 2d 3e 69 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 46 61 69 6c 75 72 65 28 24 75 72 6c 2c s->isAuthenticationFailure($url,
d6760 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 69 66 20 28 73 74 72 70 6f 73 28 24 6d 61 74 63 68 5b .$match)).{...if.(strpos($match[
d6780 32 5d 2c 20 27 40 27 29 29 20 7b 0a 6c 69 73 74 28 24 61 75 74 68 50 61 72 74 73 2c 20 24 6d 61 2],.'@')).{.list($authParts,.$ma
d67a0 74 63 68 5b 32 5d 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 40 27 2c 20 24 6d 61 74 63 68 5b 32 5d tch[2]).=.explode('@',.$match[2]
d67c0 2c 20 32 29 3b 0a 7d 0a 0a 24 73 74 6f 72 65 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 ,.2);.}..$storeAuth.=.false;.if.
d67e0 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d ($this->io->hasAuthentication($m
d6800 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 atch[2])).{.$auth.=.$this->io->g
d6820 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 20 65 etAuthentication($match[2]);.}.e
d6840 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 lseif.($this->io->isInteractive(
d6860 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 )).{.$defaultUsername.=.null;.if
d6880 20 28 69 73 73 65 74 28 24 61 75 74 68 50 61 72 74 73 29 20 26 26 20 24 61 75 74 68 50 61 72 74 .(isset($authParts).&&.$authPart
d68a0 73 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 61 75 74 68 50 s).{.if.(false.!==.strpos($authP
d68c0 61 72 74 73 2c 20 27 3a 27 29 29 20 7b 0a 6c 69 73 74 28 24 64 65 66 61 75 6c 74 55 73 65 72 6e arts,.':')).{.list($defaultUsern
d68e0 61 6d 65 2c 20 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 61 75 74 68 50 61 72 74 73 ame,.).=.explode(':',.$authParts
d6900 2c 20 32 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 20 ,.2);.}.else.{.$defaultUsername.
d6920 3d 20 24 61 75 74 68 50 61 72 74 73 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 =.$authParts;.}.}..$this->io->wr
d6940 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 iteError('....Authentication.req
d6960 75 69 72 65 64 20 28 3c 69 6e 66 6f 3e 27 20 2e 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c uired.(<info>'...parse_url($url,
d6980 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 29 3a 27 29 3b 0a 24 .PHP_URL_HOST)...'</info>):');.$
d69a0 61 75 74 68 20 3d 20 61 72 72 61 79 28 0a 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 74 68 69 auth.=.array(.'username'.=>.$thi
d69c0 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 20 20 55 73 65 72 6e 61 6d 65 3a 20 27 2c 20 24 s->io->ask('......Username:.',.$
d69e0 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 29 2c 0a 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 defaultUsername),.'password'.=>.
d6a00 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 $this->io->askAndHideAnswer('...
d6a20 20 20 20 50 61 73 73 77 6f 72 64 3a 20 27 29 2c 0a 29 3b 0a 24 73 74 6f 72 65 41 75 74 68 20 3d ...Password:.'),.);.$storeAuth.=
d6a40 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 73 74 6f 72 65 2d 61 75 74 68 73 .$this->config->get('store-auths
d6a60 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 75 74 68 29 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 ');.}..if.($auth).{.$authUrl.=.$
d6a80 6d 61 74 63 68 5b 31 5d 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 match[1]...rawurlencode($auth['u
d6aa0 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 sername'])...':'...rawurlencode(
d6ac0 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 $auth['password'])...'@'...$matc
d6ae0 68 5b 32 5d 20 2e 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 h[2]...$match[3];..$command.=.ca
d6b00 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 ll_user_func($commandCallable,.$
d6b20 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 authUrl);.if.(0.===.$this->proce
d6b40 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 ss->execute($command,.$ignoredOu
d6b60 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 tput,.$cwd)).{.$this->io->setAut
d6b80 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 61 75 74 68 5b 27 75 73 hentication($match[2],.$auth['us
d6ba0 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 ername'],.$auth['password']);.$a
d6bc0 75 74 68 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 41 75 74 68 48 65 6c 70 65 72 28 24 74 68 69 73 uthHelper.=.new.AuthHelper($this
d6be0 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 ->io,.$this->config);.$authHelpe
d6c00 72 2d 3e 73 74 6f 72 65 41 75 74 68 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 73 74 6f 72 65 41 75 r->storeAuth($match[2],.$storeAu
d6c20 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 th);..return;.}.}.}..if.($initia
d6c40 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d lClone).{.$this->filesystem->rem
d6c60 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 6f 72 69 67 43 77 64 29 3b 0a 7d 0a 24 74 68 69 73 2d oveDirectory($origCwd);.}.$this-
d6c80 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 >throwException('Failed.to.execu
d6ca0 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 te.'...$command..."\n\n"...$this
d6cc0 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 75 72 ->process->getErrorOutput(),.$ur
d6ce0 6c 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 4d 69 72 l);.}.}..public.function.syncMir
d6d00 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 29 0a 7b 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 ror($url,.$dir).{...if.(is_dir($
d6d20 64 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 dir).&&.0.===.$this->process->ex
d6d40 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 2c ecute('git.rev-parse.--git-dir',
d6d60 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 29 20 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 .$output,.$dir).&&.trim($output)
d6d80 20 3d 3d 3d 20 27 2e 27 29 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 .===.'.').{.try.{.$commandCallab
d6da0 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 le.=.function.($url).{.return.sp
d6dc0 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e rintf('git.remote.set-url.origin
d6de0 20 25 73 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 75 70 64 61 74 65 20 2d 2d 70 72 75 6e 65 .%s.&&.git.remote.update.--prune
d6e00 20 6f 72 69 67 69 6e 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 .origin',.ProcessExecutor::escap
d6e20 65 28 24 75 72 6c 29 29 3b 0a 7d 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 e($url));.};.$this->runCommand($
d6e40 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 64 69 72 29 3b 0a 7d 20 commandCallable,.$url,.$dir);.}.
d6e60 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 catch.(\Exception.$e).{.return.f
d6e80 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 alse;.}..return.true;.}....$this
d6ea0 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 ->filesystem->removeDirectory($d
d6ec0 69 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f ir);..$commandCallable.=.functio
d6ee0 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 64 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 n.($url).use.($dir).{.return.spr
d6f00 69 6e 74 66 28 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 6d 69 72 72 6f 72 20 25 73 20 25 73 27 2c intf('git.clone.--mirror.%s.%s',
d6f20 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 .ProcessExecutor::escape($url),.
d6f40 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 64 69 72 29 29 3b 0a ProcessExecutor::escape($dir));.
d6f60 7d 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 };..$this->runCommand($commandCa
d6f80 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 64 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 llable,.$url,.$dir,.true);..retu
d6fa0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 rn.true;.}..public.function.fetc
d6fc0 68 52 65 66 4f 72 53 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 2c 20 24 72 65 hRefOrSyncMirror($url,.$dir,.$re
d6fe0 66 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 f).{.if.(is_dir($dir).&&.0.===.$
d7000 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d this->process->execute('git.rev-
d7020 70 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 29 parse.--git-dir',.$output,.$dir)
d7040 20 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 27 2e 27 29 20 7b 0a 24 65 73 .&&.trim($output).===.'.').{.$es
d7060 63 61 70 65 64 52 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 capedRef.=.ProcessExecutor::esca
d7080 70 65 28 24 72 65 66 2e 27 5e 7b 63 6f 6d 6d 69 74 7d 27 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 pe($ref.'^{commit}');.$exitCode.
d70a0 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 =.$this->process->execute(sprint
d70c0 66 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 71 75 69 65 74 20 2d 2d 76 65 72 69 66 f('git.rev-parse.--quiet.--verif
d70e0 79 20 25 73 27 2c 20 24 65 73 63 61 70 65 64 52 65 66 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 y.%s',.$escapedRef),.$output,.$d
d7100 69 72 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 ir);.if.($exitCode.===.0).{.retu
d7120 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 rn.true;.}.}..$this->syncMirror(
d7140 24 75 72 6c 2c 20 24 64 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 $url,.$dir);..return.false;.}..p
d7160 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e rivate.function.isAuthentication
d7180 46 61 69 6c 75 72 65 28 24 75 72 6c 2c 20 26 24 6d 61 74 63 68 29 0a 7b 0a 69 66 20 28 21 70 72 Failure($url,.&$match).{.if.(!pr
d71a0 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 3a 2f 2f 29 28 5b 5e 2f 5d 2b 29 28 2e eg_match('{^(https?://)([^/]+)(.
d71c0 2a 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 *)$}i',.$url,.$match)).{.return.
d71e0 66 61 6c 73 65 3b 0a 7d 0a 0a 24 61 75 74 68 46 61 69 6c 75 72 65 73 20 3d 20 61 72 72 61 79 28 false;.}..$authFailures.=.array(
d7200 0a 27 66 61 74 61 6c 3a 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 2c .'fatal:.Authentication.failed',
d7220 0a 27 72 65 6d 6f 74 65 20 65 72 72 6f 72 3a 20 49 6e 76 61 6c 69 64 20 75 73 65 72 6e 61 6d 65 .'remote.error:.Invalid.username
d7240 20 6f 72 20 70 61 73 73 77 6f 72 64 2e 27 2c 0a 27 65 72 72 6f 72 3a 20 34 30 31 20 55 6e 61 75 .or.password.',.'error:.401.Unau
d7260 74 68 6f 72 69 7a 65 64 27 2c 0a 27 66 61 74 61 6c 3a 20 75 6e 61 62 6c 65 20 74 6f 20 61 63 63 thorized',.'fatal:.unable.to.acc
d7280 65 73 73 27 2c 0a 27 66 61 74 61 6c 3a 20 63 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 55 73 65 ess',.'fatal:.could.not.read.Use
d72a0 72 6e 61 6d 65 27 2c 0a 29 3b 0a 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 73 rname',.);..$errorOutput.=.$this
d72c0 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 66 6f 72 ->process->getErrorOutput();.for
d72e0 65 61 63 68 20 28 24 61 75 74 68 46 61 69 6c 75 72 65 73 20 61 73 20 24 61 75 74 68 46 61 69 6c each.($authFailures.as.$authFail
d7300 75 72 65 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 ure).{.if.(strpos($errorOutput,.
d7320 24 61 75 74 68 46 61 69 6c 75 72 65 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 $authFailure).!==.false).{.retur
d7340 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 n.true;.}.}..return.false;.}..pu
d7360 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 45 6e 76 28 29 0a blic.static.function.cleanEnv().
d7380 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 34 30 30 20 26 26 20 {.if.(PHP_VERSION_ID.<.50400.&&.
d73a0 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f 64 65 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d ini_get('safe_mode').&&.false.==
d73c0 3d 20 73 74 72 70 6f 73 28 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c 6f =.strpos(ini_get('safe_mode_allo
d73e0 77 65 64 5f 65 6e 76 5f 76 61 72 73 27 29 2c 20 27 47 49 54 5f 41 53 4b 50 41 53 53 27 29 29 20 wed_env_vars'),.'GIT_ASKPASS')).
d7400 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 73 {.throw.new.\RuntimeException('s
d7420 61 66 65 5f 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 73 61 66 65 5f 6d 6f 64 afe_mode.is.enabled.and.safe_mod
d7440 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 e_allowed_env_vars.does.not.cont
d7460 61 69 6e 20 47 49 54 5f 41 53 4b 50 41 53 53 2c 20 63 61 6e 20 6e 6f 74 20 73 65 74 20 65 6e 76 ain.GIT_ASKPASS,.can.not.set.env
d7480 20 76 61 72 2e 20 59 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 73 61 66 65 5f 6d 6f 64 65 20 .var..You.can.disable.safe_mode.
d74a0 77 69 74 68 20 22 2d 64 73 61 66 65 5f 6d 6f 64 65 3d 30 22 20 77 68 65 6e 20 72 75 6e 6e 69 6e with."-dsafe_mode=0".when.runnin
d74c0 67 20 63 6f 6d 70 6f 73 65 72 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 47 g.composer');.}....if.(getenv('G
d74e0 49 54 5f 41 53 4b 50 41 53 53 27 29 20 21 3d 3d 20 27 65 63 68 6f 27 29 20 7b 0a 70 75 74 65 6e IT_ASKPASS').!==.'echo').{.puten
d7500 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 3d 65 63 68 6f 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 v('GIT_ASKPASS=echo');.unset($_S
d7520 45 52 56 45 52 5b 27 47 49 54 5f 41 53 4b 50 41 53 53 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ERVER['GIT_ASKPASS']);.}....if.(
d7540 67 65 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 getenv('GIT_DIR')).{.putenv('GIT
d7560 5f 44 49 52 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 54 5f 44 49 52 27 _DIR');.unset($_SERVER['GIT_DIR'
d7580 5d 29 3b 0a 7d 0a 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 ]);.}.if.(getenv('GIT_WORK_TREE'
d75a0 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 29 3b 0a 75 6e )).{.putenv('GIT_WORK_TREE');.un
d75c0 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 5d 29 3b 0a set($_SERVER['GIT_WORK_TREE']);.
d75e0 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 4c 41 4e 47 55 41 47 45 27 29 20 21 3d 3d 20 }....if.(getenv('LANGUAGE').!==.
d7600 27 43 27 29 20 7b 0a 70 75 74 65 6e 76 28 27 4c 41 4e 47 55 41 47 45 3d 43 27 29 3b 0a 7d 0a 0a 'C').{.putenv('LANGUAGE=C');.}..
d7620 0a 20 70 75 74 65 6e 76 28 22 44 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 22 29 3b 0a 75 ..putenv("DYLD_LIBRARY_PATH");.u
d7640 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 44 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 nset($_SERVER['DYLD_LIBRARY_PATH
d7660 27 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ']);.}..public.static.function.g
d7680 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 43 6f 6e 66 69 67 20 24 63 6f 6e etGitHubDomainsRegex(Config.$con
d76a0 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 27 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c fig).{.return.'('...implode('|',
d76c0 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 2c 20 24 63 6f 6e 66 69 67 .array_map('preg_quote',.$config
d76e0 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 29 29 20 2e 20 27 29 27 3b ->get('github-domains')))...')';
d7700 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 6e 69 74 .}..public.static.function.sanit
d7720 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 izeUrl($message).{.return.preg_r
d7740 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e eplace_callback('{://(?P<user>[^
d7760 40 5d 2b 3f 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 2e 2b 3f 29 40 7d 27 2c 20 66 75 6e 63 @]+?):(?P<password>.+?)@}',.func
d7780 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 tion.($m).{.if.(preg_match('{^[a
d77a0 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e -f0-9]{12,}$}',.$m[1])).{.return
d77c0 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 27 20 .'://***:***@';.}..return.'://'.
d77e0 2e 20 24 6d 5b 31 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 6d 65 73 73 61 67 65 29 3b ..$m[1]...':***@';.},.$message);
d7800 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 45 78 63 65 70 74 .}..private.function.throwExcept
d7820 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 63 6c 65 61 72 73 74 61 ion($message,.$url).{...clearsta
d7840 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 tcache();..if.(0.!==.$this->proc
d7860 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 69 ess->execute('git.--version',.$i
d7880 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 gnoredOutput)).{.throw.new.\Runt
d78a0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 55 72 6c 28 27 imeException(self::sanitizeUrl('
d78c0 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 2c 20 67 69 Failed.to.clone.'...$url...',.gi
d78e0 74 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 t.was.not.found,.check.that.it.i
d7900 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 s.installed.and.in.your.PATH.env
d7920 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 .'..."\n\n"...$this->process->ge
d7940 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c tErrorOutput()));.}..throw.new.\
d7960 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 55 RuntimeException(self::sanitizeU
d7980 72 6c 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rl($message));.}.......public.fu
d79a0 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 nction.getVersion().{.if.(isset(
d79c0 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a self::$version)).{.return.self::
d79e0 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f $version;.}.if.(0.!==.$this->pro
d7a00 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 cess->execute('git.--version',.$
d7a20 6f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 70 72 65 67 5f 6d 61 output)).{.return;.}.if.(preg_ma
d7a40 74 63 68 28 27 2f 5e 67 69 74 20 76 65 72 73 69 6f 6e 20 28 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 tch('/^git.version.(\d+(?:\.\d+)
d7a60 2b 29 2f 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 +)/m',.$output,.$matches)).{.ret
d7a80 75 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d urn.self::$version.=.$matches[1]
d7aa0 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ;.}.}.}.<?php............namespa
d7ac0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ce.Composer\Util;..use.Composer\
d7ae0 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 Factory;.use.Composer\IO\IOInter
d7b00 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 face;.use.Composer\Config;.use.C
d7b20 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 omposer\Downloader\TransportExce
d7b40 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 48 75 62 0a 7b 0a 70 72 6f 74 65 63 ption;.....class.GitHub.{.protec
d7b60 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 ted.$io;.protected.$config;.prot
d7b80 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f 74 ected.$process;.protected.$remot
d7ba0 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e eFilesystem;..........public.fun
d7bc0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 ction.__construct(IOInterface.$i
d7be0 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 o,.Config.$config,.ProcessExecut
d7c00 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 or.$process.=.null,.RemoteFilesy
d7c20 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b stem.$remoteFilesystem.=.null).{
d7c40 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 .$this->io.=.$io;.$this->config.
d7c60 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f =.$config;.$this->process.=.$pro
d7c80 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 24 74 68 cess.?:.new.ProcessExecutor;.$th
d7ca0 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 is->remoteFilesystem.=.$remoteFi
d7cc0 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 lesystem.?:.Factory::createRemot
d7ce0 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b eFilesystem($this->io,.$config);
d7d00 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 .}........public.function.author
d7d20 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 izeOAuth($originUrl).{.if.(!in_a
d7d40 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e rray($originUrl,.$this->config->
d7d60 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e get('github-domains'))).{.return
d7d80 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 .false;.}....if.(0.===.$this->pr
d7da0 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 67 69 74 68 75 ocess->execute('git.config.githu
d7dc0 62 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 b.accesstoken',.$output)).{.$thi
d7de0 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e s->io->setAuthentication($origin
d7e00 55 72 6c 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 Url,.trim($output),.'x-oauth-bas
d7e20 69 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 ic');..return.true;.}..return.fa
d7e40 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e lse;.}...........public.function
d7e60 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6f 72 .authorizeOAuthInteractively($or
d7e80 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 iginUrl,.$message.=.null).{.if.(
d7ea0 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f $message).{.$this->io->writeErro
d7ec0 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6e 6f 74 65 20 3d 20 27 43 6f 6d 70 6f 73 65 r($message);.}..$note.=.'Compose
d7ee0 72 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 r';.if.($this->config->get('gith
d7f00 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 27 29 20 3d 3d 3d 20 74 72 75 65 20 26 26 ub-expose-hostname').===.true.&&
d7f20 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 .0.===.$this->process->execute('
d7f40 68 6f 73 74 6e 61 6d 65 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 6e 6f 74 65 20 2e 3d 20 hostname',.$output)).{.$note..=.
d7f60 27 20 6f 6e 20 27 20 2e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 24 6e 6f 74 65 20 '.on.'...trim($output);.}.$note.
d7f80 2e 3d 20 27 20 27 20 2e 20 64 61 74 65 28 27 59 2d 6d 2d 64 20 48 69 27 29 3b 0a 0a 24 75 72 6c .=.'.'...date('Y-m-d.Hi');..$url
d7fa0 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 73 65 74 74 69 .=.'https://'.$originUrl.'/setti
d7fc0 6e 67 73 2f 74 6f 6b 65 6e 73 2f 6e 65 77 3f 73 63 6f 70 65 73 3d 72 65 70 6f 26 64 65 73 63 72 ngs/tokens/new?scopes=repo&descr
d7fe0 69 70 74 69 6f 6e 3d 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 32 30 27 2c 20 27 2b iption='...str_replace('%20',.'+
d8000 27 2c 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 6e 6f 74 65 29 29 3b 0a 24 74 68 69 73 2d 3e ',.rawurlencode($note));.$this->
d8020 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 48 65 61 64 20 74 6f 20 io->writeError(sprintf('Head.to.
d8040 25 73 27 2c 20 24 75 72 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 %s',.$url));.$this->io->writeErr
d8060 6f 72 28 73 70 72 69 6e 74 66 28 27 74 6f 20 72 65 74 72 69 65 76 65 20 61 20 74 6f 6b 65 6e 2e or(sprintf('to.retrieve.a.token.
d8080 20 49 74 20 77 69 6c 6c 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 20 66 6f 72 20 66 .It.will.be.stored.in."%s".for.f
d80a0 75 74 75 72 65 20 75 73 65 20 62 79 20 43 6f 6d 70 6f 73 65 72 2e 27 2c 20 24 74 68 69 73 2d 3e uture.use.by.Composer.',.$this->
d80c0 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 config->getAuthConfigSource()->g
d80e0 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 24 74 6f 6b 65 6e 20 3d 20 74 72 69 6d 28 24 74 68 69 73 etName()));..$token.=.trim($this
d8100 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 54 6f 6b 65 6e 20 28 68 ->io->askAndHideAnswer('Token.(h
d8120 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 21 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 idden):.'));..if.(!$token).{.$th
d8140 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 is->io->writeError('<warning>No.
d8160 74 6f 6b 65 6e 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e token.given,.aborting.</warning>
d8180 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 ');.$this->io->writeError('You.c
d81a0 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 an.also.add.it.manually.later.by
d81c0 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c .using."composer.config.--global
d81e0 20 2d 2d 61 75 74 68 20 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 20 .--auth.github-oauth.github.com.
d8200 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 <token>"');..return.false;.}..$t
d8220 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 his->io->setAuthentication($orig
d8240 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b inUrl,.$token,.'x-oauth-basic');
d8260 0a 0a 74 72 79 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 ..try.{.$apiUrl.=.('github.com'.
d8280 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 29 20 3f 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f ===.$originUrl).?.'api.github.co
d82a0 6d 2f 27 20 3a 20 24 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a m/'.:.$originUrl...'/api/v3/';..
d82c0 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 $this->remoteFilesystem->getCont
d82e0 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2e 20 24 61 70 ents($originUrl,.'https://'..$ap
d8300 69 55 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d iUrl,.false,.array(.'retry-auth-
d8320 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 failure'.=>.false,.));.}.catch.(
d8340 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 69 6e 5f TransportException.$e).{.if.(in_
d8360 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 array($e->getCode(),.array(403,.
d8380 34 30 31 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 401))).{.$this->io->writeError('
d83a0 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 74 6f 6b 65 6e 20 70 72 6f 76 69 64 65 64 2e 3c 2f <error>Invalid.token.provided.</
d83c0 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 error>');.$this->io->writeError(
d83e0 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 'You.can.also.add.it.manually.la
d8400 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d ter.by.using."composer.config.--
d8420 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 67 69 74 68 75 global.--auth.github-oauth.githu
d8440 62 2e 63 6f 6d 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b b.com.<token>"');..return.false;
d8460 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .}..throw.$e;.}....$this->config
d8480 2d 3e 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 ->getConfigSource()->removeConfi
d84a0 67 53 65 74 74 69 6e 67 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e gSetting('github-oauth.'.$origin
d84c0 55 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 Url);.$this->config->getAuthConf
d84e0 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 igSource()->addConfigSetting('gi
d8500 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 29 thub-oauth.'.$originUrl,.$token)
d8520 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e ;..$this->io->writeError('<info>
d8540 54 6f 6b 65 6e 20 73 74 6f 72 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 3c 2f 69 6e 66 6f Token.stored.successfully.</info
d8560 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 >');..return.true;.}.........pub
d8580 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 61 74 65 4c 69 6d 69 74 28 61 72 72 61 79 20 lic.function.getRateLimit(array.
d85a0 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 72 61 74 65 4c 69 6d 69 74 20 3d 20 61 72 72 61 79 28 0a $headers).{.$rateLimit.=.array(.
d85c0 27 6c 69 6d 69 74 27 20 3d 3e 20 27 3f 27 2c 0a 27 72 65 73 65 74 27 20 3d 3e 20 27 3f 27 2c 0a 'limit'.=>.'?',.'reset'.=>.'?',.
d85e0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 );..foreach.($headers.as.$header
d8600 29 20 7b 0a 24 68 65 61 64 65 72 20 3d 20 74 72 69 6d 28 24 68 65 61 64 65 72 29 3b 0a 69 66 20 ).{.$header.=.trim($header);.if.
d8620 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 68 65 61 64 65 72 2c 20 27 58 2d 52 61 (false.===.strpos($header,.'X-Ra
d8640 74 65 4c 69 6d 69 74 2d 27 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 6c 69 73 74 28 24 teLimit-')).{.continue;.}.list($
d8660 74 79 70 65 2c 20 24 76 61 6c 75 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 68 65 type,.$value).=.explode(':',.$he
d8680 61 64 65 72 2c 20 32 29 3b 0a 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 ader,.2);.switch.($type).{.case.
d86a0 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 4c 69 6d 69 74 27 3a 0a 24 72 61 74 65 4c 69 6d 69 74 5b 'X-RateLimit-Limit':.$rateLimit[
d86c0 27 6c 69 6d 69 74 27 5d 20 3d 20 28 69 6e 74 29 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 62 'limit'].=.(int).trim($value);.b
d86e0 72 65 61 6b 3b 0a 63 61 73 65 20 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 52 65 73 65 74 27 3a 0a reak;.case.'X-RateLimit-Reset':.
d8700 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 20 3d 20 64 61 74 65 28 27 59 2d 6d 2d $rateLimit['reset'].=.date('Y-m-
d8720 64 20 48 3a 69 3a 73 27 2c 20 28 69 6e 74 29 20 74 72 69 6d 28 24 76 61 6c 75 65 29 29 3b 0a 62 d.H:i:s',.(int).trim($value));.b
d8740 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 61 74 65 4c 69 6d 69 74 3b 0a 7d 0a reak;.}.}..return.$rateLimit;.}.
d8760 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 61 74 65 4c 69 ........public.function.isRateLi
d8780 6d 69 74 65 64 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 mited(array.$headers).{.foreach.
d87a0 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 ($headers.as.$header).{.if.(preg
d87c0 5f 6d 61 74 63 68 28 27 7b 5e 58 2d 52 61 74 65 4c 69 6d 69 74 2d 52 65 6d 61 69 6e 69 6e 67 3a _match('{^X-RateLimit-Remaining:
d87e0 20 2a 30 24 7d 69 27 2c 20 74 72 69 6d 28 24 68 65 61 64 65 72 29 29 29 20 7b 0a 72 65 74 75 72 .*0$}i',.trim($header))).{.retur
d8800 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c n.true;.}.}..return.false;.}.}.<
d8820 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
d8840 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 er\Util;..use.Composer\IO\IOInte
d8860 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 rface;.use.Composer\Config;.use.
d8880 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 Composer\Factory;.use.Composer\D
d88a0 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 ownloader\TransportException;.us
d88c0 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c e.Composer\Json\JsonFile;.....cl
d88e0 61 73 73 20 47 69 74 4c 61 62 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 ass.GitLab.{.protected.$io;.prot
d8900 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 ected.$config;.protected.$proces
d8920 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a s;.protected.$remoteFilesystem;.
d8940 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 .........public.function.__const
d8960 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f ruct(IOInterface.$io,.Config.$co
d8980 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d nfig,.ProcessExecutor.$process.=
d89a0 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 .null,.RemoteFilesystem.$remoteF
d89c0 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 ilesystem.=.null).{.$this->io.=.
d89e0 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 $io;.$this->config.=.$config;.$t
d8a00 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 his->process.=.$process.?:.new.P
d8a20 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 rocessExecutor();.$this->remoteF
d8a40 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a ilesystem.=.$remoteFilesystem.?:
d8a60 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d .Factory::createRemoteFilesystem
d8a80 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ($this->io,.$config);.}.........
d8aa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 public.function.authorizeOAuth($
d8ac0 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 originUrl).{.if.(!in_array($orig
d8ae0 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 inUrl,.$this->config->get('gitla
d8b00 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c b-domains'),.true)).{.return.fal
d8b20 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 se;.}....if.(0.===.$this->proces
d8b40 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 67 69 74 6c 61 62 2e 61 63 s->execute('git.config.gitlab.ac
d8b60 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 cesstoken',.$output)).{.$this->i
d8b80 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c o->setAuthentication($originUrl,
d8ba0 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 0a 72 65 74 75 .trim($output),.'oauth2');..retu
d8bc0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 61 75 74 68 54 6f 6b 65 6e 73 20 3d 20 24 74 68 69 rn.true;.}....$authTokens.=.$thi
d8be0 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 3b 0a s->config->get('gitlab-token');.
d8c00 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 .if.(isset($authTokens[$originUr
d8c20 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 l])).{.$this->io->setAuthenticat
d8c40 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 ion($originUrl,.$authTokens[$ori
d8c60 67 69 6e 55 72 6c 5d 2c 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 72 65 74 75 ginUrl],.'private-token');..retu
d8c80 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a rn.true;.}..return.false;.}.....
d8ca0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 .........public.function.authori
d8cc0 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 73 63 68 65 6d 65 2c 20 24 6f zeOAuthInteractively($scheme,.$o
d8ce0 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 riginUrl,.$message.=.null).{.if.
d8d00 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 ($message).{.$this->io->writeErr
d8d20 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 or($message);.}..$this->io->writ
d8d40 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 41 20 74 6f 6b 65 6e 20 77 69 6c 6c 20 62 65 20 eError(sprintf('A.token.will.be.
d8d60 63 72 65 61 74 65 64 20 61 6e 64 20 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 2c 20 79 6f 75 72 created.and.stored.in."%s",.your
d8d80 20 70 61 73 73 77 6f 72 64 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 73 74 6f 72 65 64 27 2c .password.will.never.be.stored',
d8da0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 .$this->config->getAuthConfigSou
d8dc0 72 63 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 rce()->getName()));.$this->io->w
d8de0 72 69 74 65 45 72 72 6f 72 28 27 54 6f 20 72 65 76 6f 6b 65 20 61 63 63 65 73 73 20 74 6f 20 74 riteError('To.revoke.access.to.t
d8e00 68 69 73 20 74 6f 6b 65 6e 20 79 6f 75 20 63 61 6e 20 76 69 73 69 74 20 27 2e 24 6f 72 69 67 69 his.token.you.can.visit.'.$origi
d8e20 6e 55 72 6c 2e 27 2f 70 72 6f 66 69 6c 65 2f 61 70 70 6c 69 63 61 74 69 6f 6e 73 27 29 3b 0a 0a nUrl.'/profile/applications');..
d8e40 24 61 74 74 65 6d 70 74 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 24 61 74 $attemptCounter.=.0;..while.($at
d8e60 74 65 6d 70 74 43 6f 75 6e 74 65 72 2b 2b 20 3c 20 35 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 73 temptCounter++.<.5).{.try.{.$res
d8e80 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 54 6f 6b 65 6e 28 24 73 63 68 65 ponse.=.$this->createToken($sche
d8ea0 6d 65 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 me,.$originUrl);.}.catch.(Transp
d8ec0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 6e 5f 61 72 ortException.$e).{.....if.(in_ar
d8ee0 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 ray($e->getCode(),.array(403,.40
d8f00 31 29 29 29 20 7b 0a 69 66 20 28 34 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 1))).{.if.(401.===.$e->getCode()
d8f20 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 42 61 64 20 63 ).{.$this->io->writeError('Bad.c
d8f40 72 65 64 65 6e 74 69 61 6c 73 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 redentials.');.}.else.{.$this->i
d8f60 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 o->writeError('Maximum.number.of
d8f80 20 6c 6f 67 69 6e 20 61 74 74 65 6d 70 74 73 20 65 78 63 65 65 64 65 64 2e 20 50 6c 65 61 73 65 .login.attempts.exceeded..Please
d8fa0 20 74 72 79 20 61 67 61 69 6e 20 6c 61 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 .try.again.later.');.}..$this->i
d8fc0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6d 61 6e 75 o->writeError('You.can.also.manu
d8fe0 61 6c 6c 79 20 63 72 65 61 74 65 20 61 20 70 65 72 73 6f 6e 61 6c 20 74 6f 6b 65 6e 20 61 74 20 ally.create.a.personal.token.at.
d9000 27 2e 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 70 72 6f '.$scheme.'://'.$originUrl.'/pro
d9020 66 69 6c 65 2f 70 65 72 73 6f 6e 61 6c 5f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 73 27 29 3b 0a 24 file/personal_access_tokens');.$
d9040 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 41 64 64 20 69 74 20 75 73 69 this->io->writeError('Add.it.usi
d9060 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 ng."composer.config.--global.--a
d9080 75 74 68 20 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 20 uth.gitlab-token.'.$originUrl.'.
d90a0 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 <token>"');..continue;.}..throw.
d90c0 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 $e;.}..$this->io->setAuthenticat
d90e0 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 73 ion($originUrl,.$response['acces
d9100 73 5f 74 6f 6b 65 6e 27 5d 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e s_token'],.'oauth2');....$this->
d9120 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 config->getAuthConfigSource()->a
d9140 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 2e 27 2e ddConfigSetting('gitlab-oauth.'.
d9160 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 73 73 5f 74 6f $originUrl,.$response['access_to
d9180 6b 65 6e 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e ken']);..return.true;.}..throw.n
d91a0 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 47 69 ew.\RuntimeException('Invalid.Gi
d91c0 74 4c 61 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 35 20 74 69 6d 65 73 20 69 6e 20 61 20 72 6f tLab.credentials.5.times.in.a.ro
d91e0 77 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 w,.aborting.');.}..private.funct
d9200 69 6f 6e 20 63 72 65 61 74 65 54 6f 6b 65 6e 28 24 73 63 68 65 6d 65 2c 20 24 6f 72 69 67 69 6e ion.createToken($scheme,.$origin
d9220 55 72 6c 29 0a 7b 0a 24 75 73 65 72 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 Url).{.$username.=.$this->io->as
d9240 6b 28 27 55 73 65 72 6e 61 6d 65 3a 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 k('Username:.');.$password.=.$th
d9260 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 50 61 73 73 77 6f is->io->askAndHideAnswer('Passwo
d9280 72 64 3a 20 27 29 3b 0a 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 27 43 6f 6e 74 65 rd:.');..$headers.=.array('Conte
d92a0 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d nt-Type:.application/x-www-form-
d92c0 75 72 6c 65 6e 63 6f 64 65 64 27 29 3b 0a 0a 24 61 70 69 55 72 6c 20 3d 20 24 6f 72 69 67 69 6e urlencoded');..$apiUrl.=.$origin
d92e0 55 72 6c 3b 0a 24 64 61 74 61 20 3d 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 61 72 Url;.$data.=.http_build_query(ar
d9300 72 61 79 28 0a 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 75 73 65 72 6e 61 6d 65 2c 0a 27 70 ray(.'username'.=>.$username,.'p
d9320 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 70 61 73 73 77 6f 72 64 2c 0a 27 67 72 61 6e 74 5f 74 79 assword'.=>.$password,.'grant_ty
d9340 70 65 27 20 3d 3e 20 27 70 61 73 73 77 6f 72 64 27 2c 0a 29 2c 20 6e 75 6c 6c 2c 20 27 26 27 29 pe'.=>.'password',.),.null,.'&')
d9360 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d ;.$options.=.array(.'retry-auth-
d9380 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 72 failure'.=>.false,.'http'.=>.arr
d93a0 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 ay(.'method'.=>.'POST',.'header'
d93c0 20 3d 3e 20 24 68 65 61 64 65 72 73 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 24 64 61 74 61 .=>.$headers,.'content'.=>.$data
d93e0 2c 0a 29 2c 0a 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 ,.),.);..$json.=.$this->remoteFi
d9400 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c lesystem->getContents($originUrl
d9420 2c 20 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 61 70 69 55 72 6c 2e 27 2f 6f 61 75 74 68 2f ,.$scheme.'://'.$apiUrl.'/oauth/
d9440 74 6f 6b 65 6e 27 2c 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 token',.false,.$options);..$this
d9460 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 6f 6b 65 6e 20 73 75 63 63 65 73 73 66 ->io->writeError('Token.successf
d9480 75 6c 6c 79 20 63 72 65 61 74 65 64 27 29 3b 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 ully.created');..return.JsonFile
d94a0 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ::parseJson($json);.}.}.<?php...
d94c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c .........namespace.Composer\Util
d94e0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
d9500 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 oser\IO\IOInterface;.....class.H
d9520 67 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 g.{....private.$io;.....private.
d9540 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a $config;.....private.$process;..
d9560 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e public.function.__construct(IOIn
d9580 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f terface.$io,.Config.$config,.Pro
d95a0 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e cessExecutor.$process).{.$this->
d95c0 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 io.=.$io;.$this->config.=.$confi
d95e0 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a g;.$this->process.=.$process;.}.
d9600 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d .public.function.runCommand($com
d9620 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 63 77 64 29 0a 7b 0a 24 74 68 69 mandCallable,.$url,.$cwd).{.$thi
d9640 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 s->config->prohibitUrlByConfig($
d9660 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 url,.$this->io);....$command.=.c
d9680 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 all_user_func($commandCallable,.
d96a0 24 75 72 6c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 $url);..if.(0.===.$this->process
d96c0 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 ->execute($command,.$ignoredOutp
d96e0 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 ut,.$cwd)).{.return;.}....if.(pr
d9700 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 29 3a 2f 2f 28 28 2e 2b 29 28 3f 3a 5c eg_match('{^(https?)://((.+)(?:\
d9720 3a 28 2e 2b 29 29 3f 40 29 3f 28 5b 5e 2f 5d 2b 29 28 2f 2e 2a 29 3f 7d 6d 69 27 2c 20 24 75 72 :(.+))?@)?([^/]+)(/.*)?}mi',.$ur
d9740 6c 2c 20 24 6d 61 74 63 68 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 l,.$match).&&.$this->io->hasAuth
d9760 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 35 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d entication($match[5])).{.$auth.=
d9780 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d .$this->io->getAuthentication($m
d97a0 61 74 63 68 5b 35 5d 29 3b 0a 24 61 75 74 68 65 6e 74 69 63 61 74 65 64 55 72 6c 20 3d 20 24 6d atch[5]);.$authenticatedUrl.=.$m
d97c0 61 74 63 68 5b 31 5d 20 2e 20 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 atch[1]...'://'...rawurlencode($
d97e0 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c auth['username'])...':'...rawurl
d9800 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 encode($auth['password'])...'@'.
d9820 2e 20 24 6d 61 74 63 68 5b 35 5d 20 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 36 5d 29 ..$match[5]...(!empty($match[6])
d9840 20 3f 20 24 6d 61 74 63 68 5b 36 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 .?.$match[6].:.null);..$command.
d9860 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c =.call_user_func($commandCallabl
d9880 65 2c 20 24 61 75 74 68 65 6e 74 69 63 61 74 65 64 55 72 6c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d e,.$authenticatedUrl);..if.(0.==
d98a0 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 =.$this->process->execute($comma
d98c0 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 nd,.$ignoredOutput,.$cwd)).{.ret
d98e0 75 72 6e 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d urn;.}..$error.=.$this->process-
d9900 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 >getErrorOutput();.}.else.{.$err
d9920 6f 72 20 3d 20 27 54 68 65 20 67 69 76 65 6e 20 55 52 4c 20 28 27 20 2e 20 24 75 72 6c 20 2e 20 or.=.'The.given.URL.('...$url...
d9940 27 29 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 72 65 71 75 69 72 65 64 20 66 ').does.not.match.the.required.f
d9960 6f 72 6d 61 74 20 28 68 74 74 70 28 73 29 3a 2f 2f 28 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 77 ormat.(http(s)://(username:passw
d9980 6f 72 64 40 29 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 70 61 74 68 2d 74 6f 2d 72 65 70 6f 73 69 74 ord@)example.com/path-to-reposit
d99a0 6f 72 79 29 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 ory)';.}..$this->throwException(
d99c0 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 2c 20 27 'Failed.to.clone.'...$url...',.'
d99e0 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 65 72 72 6f 72 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 70 75 ..."\n\n"...$error,.$url);.}..pu
d9a00 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 6e 69 74 69 7a 65 55 72 6c blic.static.function.sanitizeUrl
d9a20 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ($message).{.return.preg_replace
d9a40 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 40 5d 2b 3f 29 3a _callback('{://(?P<user>[^@]+?):
d9a60 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 2e 2b 3f 29 40 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 (?P<password>.+?)@}',.function.(
d9a80 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d $m).{.if.(preg_match('{^[a-f0-9]
d9aa0 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a {12,}$}',.$m[1])).{.return.'://*
d9ac0 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 27 20 2e 20 24 6d 5b 31 **:***@';.}..return.'://'...$m[1
d9ae0 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 ]...':***@';.},.$message);.}..pr
d9b00 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 24 6d ivate.function.throwException($m
d9b20 65 73 73 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d essage,.$url).{.if.(0.!==.$this-
d9b40 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 2d 2d 76 65 72 73 69 6f 6e 27 >process->execute('hg.--version'
d9b60 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c ,.$ignoredOutput)).{.throw.new.\
d9b80 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 55 RuntimeException(self::sanitizeU
d9ba0 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 rl('Failed.to.clone.'...$url...'
d9bc0 2c 20 68 67 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 ,.hg.was.not.found,.check.that.i
d9be0 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 t.is.installed.and.in.your.PATH.
d9c00 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d env.'..."\n\n"...$this->process-
d9c20 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 >getErrorOutput()));.}..throw.ne
d9c40 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 w.\RuntimeException(self::saniti
d9c60 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a zeUrl($message));.}.}.<?php.....
d9c80 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a .......namespace.Composer\Util;.
d9ca0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 .use.Composer\XdebugHandler\Xdeb
d9cc0 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 69 48 65 6c 70 ugHandler;.........class.IniHelp
d9ce0 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 er.{.........public.static.funct
d9d00 69 6f 6e 20 67 65 74 41 6c 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 58 64 65 62 75 67 48 61 6e 64 ion.getAll().{.return.XdebugHand
d9d20 6c 65 72 3a 3a 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ler::getAllIniFiles();.}.......p
d9d40 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 ublic.static.function.getMessage
d9d60 28 29 0a 7b 0a 24 70 61 74 68 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 28 29 3b 0a 0a 69 ().{.$paths.=.self::getAll();..i
d9d80 66 20 28 65 6d 70 74 79 28 24 70 61 74 68 73 5b 30 5d 29 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 f.(empty($paths[0])).{.array_shi
d9da0 66 74 28 24 70 61 74 68 73 29 3b 0a 7d 0a 0a 24 69 6e 69 20 3d 20 61 72 72 61 79 5f 73 68 69 66 ft($paths);.}..$ini.=.array_shif
d9dc0 74 28 24 70 61 74 68 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 29 29 20 7b 0a 72 t($paths);..if.(empty($ini)).{.r
d9de0 65 74 75 72 6e 20 27 41 20 70 68 70 2e 69 6e 69 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 eturn.'A.php.ini.file.does.not.e
d9e00 78 69 73 74 2e 20 59 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 6f 6e xist..You.will.have.to.create.on
d9e20 65 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 74 68 73 29 29 20 7b 0a 72 65 e.';.}..if.(!empty($paths)).{.re
d9e40 74 75 72 6e 20 27 59 6f 75 72 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 20 75 turn.'Your.command-line.PHP.is.u
d9e60 73 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 69 6e 69 20 66 69 6c 65 73 2e 20 52 75 6e 20 60 70 68 sing.multiple.ini.files..Run.`ph
d9e80 70 20 2d 2d 69 6e 69 60 20 74 6f 20 73 68 6f 77 20 74 68 65 6d 2e 27 3b 0a 7d 0a 0a 72 65 74 75 p.--ini`.to.show.them.';.}..retu
d9ea0 72 6e 20 27 54 68 65 20 70 68 70 2e 69 6e 69 20 75 73 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6d rn.'The.php.ini.used.by.your.com
d9ec0 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 3a 20 27 2e 24 69 6e 69 3b 0a 7d 0a 7d 0a 3c 3f mand-line.PHP.is:.'.$ini;.}.}.<?
d9ee0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
d9f00 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 50 72 6f 78 79 50 61 74 74 65 72 6e r\Util;.....class.NoProxyPattern
d9f20 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 20 3d 20 61 72 72 61 79 28 29 .{....protected.$rules.=.array()
d9f40 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ;.....public.function.__construc
d9f60 74 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 70 72 65 t($pattern).{.$this->rules.=.pre
d9f80 67 5f 73 70 6c 69 74 28 22 2f 5b 5c 73 2c 5d 2b 2f 22 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 7d g_split("/[\s,]+/",.$pattern);.}
d9fa0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 75 .........public.function.test($u
d9fc0 72 6c 29 0a 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 rl).{.$host.=.parse_url($url,.PH
d9fe0 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 24 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 P_URL_HOST);.$port.=.parse_url($
da000 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 50 4f 52 54 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 url,.PHP_URL_PORT);..if.(empty($
da020 70 6f 72 74 29 29 20 7b 0a 73 77 69 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c port)).{.switch.(parse_url($url,
da040 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 63 61 73 65 20 27 68 74 74 70 27 3a .PHP_URL_SCHEME)).{.case.'http':
da060 0a 24 70 6f 72 74 20 3d 20 38 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 27 .$port.=.80;.break;.case.'https'
da080 3a 0a 24 70 6f 72 74 20 3d 20 34 34 33 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 :.$port.=.443;.break;.}.}..forea
da0a0 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 20 ch.($this->rules.as.$rule).{.if.
da0c0 28 24 72 75 6c 65 20 3d 3d 20 27 2a 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a ($rule.==.'*').{.return.true;.}.
da0e0 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 6c 69 73 74 28 24 72 75 6c 65 48 6f 73 74 .$match.=.false;..list($ruleHost
da100 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 6c 69 73 74 28 24 62 ).=.explode(':',.$rule);.list($b
da120 61 73 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 72 75 6c 65 48 6f 73 74 29 3b 0a ase).=.explode('/',.$ruleHost);.
da140 0a 69 66 20 28 66 69 6c 74 65 72 5f 76 61 72 28 24 62 61 73 65 2c 20 46 49 4c 54 45 52 5f 56 41 .if.(filter_var($base,.FILTER_VA
da160 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 20 7b 0a LIDATE_IP,.FILTER_FLAG_IPV4)).{.
da180 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 70 29 29 20 7b 0a 24 69 70 20 3d 20 67 65 74 68 6f ..if.(!isset($ip)).{.$ip.=.getho
da1a0 73 74 62 79 6e 61 6d 65 28 24 68 6f 73 74 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 stbyname($host);.}..if.(strpos($
da1c0 72 75 6c 65 48 6f 73 74 2c 20 27 2f 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6d 61 74 ruleHost,.'/').===.false).{.$mat
da1e0 63 68 20 3d 20 24 69 70 20 3d 3d 3d 20 24 72 75 6c 65 48 6f 73 74 3b 0a 7d 20 65 6c 73 65 20 7b ch.=.$ip.===.$ruleHost;.}.else.{
da200 0a 0a 20 0a 20 69 66 20 28 24 69 70 20 3d 3d 3d 20 24 68 6f 73 74 29 20 7b 0a 24 6d 61 74 63 68 .....if.($ip.===.$host).{.$match
da220 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6d 61 74 63 68 20 3d 20 73 65 .=.false;.}.else.{...$match.=.se
da240 6c 66 3a 3a 69 6e 43 49 44 52 42 6c 6f 63 6b 28 24 72 75 6c 65 48 6f 73 74 2c 20 24 69 70 29 3b lf::inCIDRBlock($ruleHost,.$ip);
da260 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 27 2e 27 20 .}.}.}.else.{...$haystack.=.'.'.
da280 2e 20 74 72 69 6d 28 24 68 6f 73 74 2c 20 27 2e 27 29 20 2e 20 27 2e 27 3b 0a 24 6e 65 65 64 6c ..trim($host,.'.')...'.';.$needl
da2a0 65 20 3d 20 27 2e 27 2e 20 74 72 69 6d 28 24 72 75 6c 65 48 6f 73 74 2c 20 27 2e 27 29 20 2e 27 e.=.'.'..trim($ruleHost,.'.')..'
da2c0 2e 27 3b 0a 24 6d 61 74 63 68 20 3d 20 73 74 72 69 70 6f 73 28 73 74 72 72 65 76 28 24 68 61 79 .';.$match.=.stripos(strrev($hay
da2e0 73 74 61 63 6b 29 2c 20 73 74 72 72 65 76 28 24 6e 65 65 64 6c 65 29 29 20 3d 3d 3d 20 30 3b 0a stack),.strrev($needle)).===.0;.
da300 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 20 26 26 20 73 74 72 70 6f 73 28 24 72 75 6c 65 2c }....if.($match.&&.strpos($rule,
da320 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 6c 69 73 74 28 2c 20 24 72 75 6c 65 50 .':').!==.false).{.list(,.$ruleP
da340 6f 72 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 69 66 20 28 ort).=.explode(':',.$rule);.if.(
da360 21 65 6d 70 74 79 28 24 72 75 6c 65 50 6f 72 74 29 20 26 26 20 24 70 6f 72 74 20 21 3d 20 24 72 !empty($rulePort).&&.$port.!=.$r
da380 75 6c 65 50 6f 72 74 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a ulePort).{.$match.=.false;.}.}..
da3a0 69 66 20 28 24 6d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a if.($match).{.return.true;.}.}..
da3c0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 return.false;.}............priva
da3e0 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 43 49 44 52 42 6c 6f 63 6b 28 24 te.static.function.inCIDRBlock($
da400 63 69 64 72 2c 20 24 69 70 29 0a 7b 0a 0a 20 6c 69 73 74 28 24 62 61 73 65 2c 20 24 62 69 74 73 cidr,.$ip).{...list($base,.$bits
da420 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 63 69 64 72 29 3b 0a 0a 0a 20 6c 69 73 74 ).=.explode('/',.$cidr);....list
da440 28 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 ($a,.$b,.$c,.$d).=.explode('.',.
da460 24 62 61 73 65 29 3b 0a 0a 0a 20 24 69 20 3d 20 28 24 61 20 3c 3c 20 32 34 29 20 2b 20 28 24 62 $base);....$i.=.($a.<<.24).+.($b
da480 20 3c 3c 20 31 36 29 20 2b 20 28 24 63 20 3c 3c 20 38 29 20 2b 20 24 64 3b 0a 24 6d 61 73 6b 20 .<<.16).+.($c.<<.8).+.$d;.$mask.
da4a0 3d 20 24 62 69 74 73 20 3d 3d 20 30 20 3f 20 30 20 3a 20 28 7e 30 20 3c 3c 20 28 33 32 20 2d 20 =.$bits.==.0.?.0.:.(~0.<<.(32.-.
da4c0 24 62 69 74 73 29 29 3b 0a 0a 0a 20 24 6c 6f 77 20 3d 20 24 69 20 26 20 24 6d 61 73 6b 3b 0a 0a $bits));....$low.=.$i.&.$mask;..
da4e0 0a 20 24 68 69 67 68 20 3d 20 24 69 20 7c 20 28 7e 24 6d 61 73 6b 20 26 20 30 78 46 46 46 46 46 ..$high.=.$i.|.(~$mask.&.0xFFFFF
da500 46 46 46 29 3b 0a 0a 0a 20 6c 69 73 74 28 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 29 20 3d 20 FFF);....list($a,.$b,.$c,.$d).=.
da520 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 69 70 29 3b 0a 0a 0a 20 24 63 68 65 63 6b 20 3d 20 28 explode('.',.$ip);....$check.=.(
da540 24 61 20 3c 3c 20 32 34 29 20 2b 20 28 24 62 20 3c 3c 20 31 36 29 20 2b 20 28 24 63 20 3c 3c 20 $a.<<.24).+.($b.<<.16).+.($c.<<.
da560 38 29 20 2b 20 24 64 3b 0a 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 63 68 65 63 6b 20 3e 3d 20 24 8).+.$d;......return.$check.>=.$
da580 6c 6f 77 20 26 26 20 24 63 68 65 63 6b 20 3c 3d 20 24 68 69 67 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 low.&&.$check.<=.$high;.}.}.<?ph
da5a0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
da5c0 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 Util;..use.Composer\IO\IOInterfa
da5e0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 ce;.use.Symfony\Component\Proces
da600 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 65 0a 7b 0a s\Process;.....class.Perforce.{.
da620 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 44 65 protected.$path;.protected.$p4De
da640 70 6f 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 43 6c 69 65 6e 74 3b 0a 70 72 6f 74 65 63 pot;.protected.$p4Client;.protec
da660 74 65 64 20 24 70 34 55 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 50 61 73 73 77 6f ted.$p4User;.protected.$p4Passwo
da680 72 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 50 6f 72 74 3b 0a 70 72 6f 74 65 63 74 65 64 rd;.protected.$p4Port;.protected
da6a0 20 24 70 34 53 74 72 65 61 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 43 6c 69 65 6e 74 53 .$p4Stream;.protected.$p4ClientS
da6c0 70 65 63 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 44 65 70 6f 74 54 79 70 65 3b 0a 70 72 6f pec;.protected.$p4DepotType;.pro
da6e0 74 65 63 74 65 64 20 24 70 34 42 72 61 6e 63 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f tected.$p4Branch;.protected.$pro
da700 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 cess;.protected.$uniquePerforceC
da720 6c 69 65 6e 74 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 69 6e 64 6f 77 73 46 6c 61 lientName;.protected.$windowsFla
da740 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 0a 70 72 g;.protected.$commandResult;..pr
da760 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 otected.$io;..protected.$filesys
da780 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 tem;..public.function.__construc
da7a0 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 50 72 6f t($repoConfig,.$port,.$path,.Pro
da7c0 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 24 69 73 57 69 6e 64 6f 77 cessExecutor.$process,.$isWindow
da7e0 73 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 69 6e s,.IOInterface.$io).{.$this->win
da800 64 6f 77 73 46 6c 61 67 20 3d 20 24 69 73 57 69 6e 64 6f 77 73 3b 0a 24 74 68 69 73 2d 3e 70 34 dowsFlag.=.$isWindows;.$this->p4
da820 50 6f 72 74 20 3d 20 24 70 6f 72 74 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 Port.=.$port;.$this->initializeP
da840 61 74 68 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 ath($path);.$this->process.=.$pr
da860 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 72 65 70 6f 43 6f ocess;.$this->initialize($repoCo
da880 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 nfig);.$this->io.=.$io;.}..publi
da8a0 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f c.static.function.create($repoCo
da8c0 6e 66 69 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 nfig,.$port,.$path,.ProcessExecu
da8e0 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b tor.$process,.IOInterface.$io).{
da900 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 .return.new.Perforce($repoConfig
da920 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 24 70 72 6f 63 65 73 73 2c 20 50 6c 61 74 66 6f ,.$port,.$path,.$process,.Platfo
da940 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 2c 20 24 69 6f 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 rm::isWindows(),.$io);.}..public
da960 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 65 72 76 65 72 45 78 69 73 .static.function.checkServerExis
da980 74 73 28 24 75 72 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 ts($url,.ProcessExecutor.$proces
da9a0 73 45 78 65 63 75 74 6f 72 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 sExecutor).{.$output.=.null;..re
da9c0 74 75 72 6e 20 30 20 3d 3d 3d 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 turn.0.===.$processExecutor->exe
da9e0 63 75 74 65 28 27 70 34 20 2d 70 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 69 6e 66 6f 20 2d 73 cute('p4.-p.'...$url...'.info.-s
daa00 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ',.$output);.}..public.function.
daa20 69 6e 69 74 69 61 6c 69 7a 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d initialize($repoConfig).{.$this-
daa40 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 >uniquePerforceClientName.=.$thi
daa60 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e s->generateUniquePerforceClientN
daa80 61 6d 65 28 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 43 6f 6e 66 69 67 29 20 7b 0a 72 65 74 75 72 ame();.if.(!$repoConfig).{.retur
daaa0 6e 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 6e 69 71 n;.}.if.(isset($repoConfig['uniq
daac0 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 74 ue_perforce_client_name'])).{.$t
daae0 68 69 73 2d 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 20 3d 20 his->uniquePerforceClientName.=.
dab00 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 $repoConfig['unique_perforce_cli
dab20 65 6e 74 5f 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f ent_name'];.}..if.(isset($repoCo
dab40 6e 66 69 67 5b 27 64 65 70 6f 74 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 nfig['depot'])).{.$this->p4Depot
dab60 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 6f 74 27 5d 3b 0a 7d 0a 69 66 20 28 69 .=.$repoConfig['depot'];.}.if.(i
dab80 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 sset($repoConfig['branch'])).{.$
daba0 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 this->p4Branch.=.$repoConfig['br
dabc0 61 6e 63 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b anch'];.}.if.(isset($repoConfig[
dabe0 27 70 34 75 73 65 72 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 72 'p4user'])).{.$this->p4User.=.$r
dac00 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 75 73 65 72 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 epoConfig['p4user'];.}.else.{.$t
dac20 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 61 62 his->p4User.=.$this->getP4variab
dac40 6c 65 28 27 50 34 55 53 45 52 27 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 le('P4USER');.}.if.(isset($repoC
dac60 6f 6e 66 69 67 5b 27 70 34 70 61 73 73 77 6f 72 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 onfig['p4password'])).{.$this->p
dac80 34 50 61 73 73 77 6f 72 64 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 70 61 73 73 77 4Password.=.$repoConfig['p4passw
daca0 6f 72 64 27 5d 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 ord'];.}.}..public.function.init
dacc0 69 61 6c 69 7a 65 44 65 70 6f 74 41 6e 64 42 72 61 6e 63 68 28 24 64 65 70 6f 74 2c 20 24 62 72 ializeDepotAndBranch($depot,.$br
dace0 61 6e 63 68 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 70 6f 74 29 29 20 7b 0a 24 74 68 anch).{.if.(isset($depot)).{.$th
dad00 69 73 2d 3e 70 34 44 65 70 6f 74 20 3d 20 24 64 65 70 6f 74 3b 0a 7d 0a 69 66 20 28 69 73 73 65 is->p4Depot.=.$depot;.}.if.(isse
dad20 74 28 24 62 72 61 6e 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 20 3d 20 t($branch)).{.$this->p4Branch.=.
dad40 24 62 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 $branch;.}.}..public.function.ge
dad60 6e 65 72 61 74 65 55 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 28 29 nerateUniquePerforceClientName()
dad80 0a 7b 0a 72 65 74 75 72 6e 20 67 65 74 68 6f 73 74 6e 61 6d 65 28 29 20 2e 20 22 5f 22 20 2e 20 .{.return.gethostname()..."_"...
dada0 74 69 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e time();.}..public.function.clean
dadc0 75 70 43 6c 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 24 63 6c 69 65 6e 74 20 3d 20 24 74 68 69 73 upClientSpec().{.$client.=.$this
dade0 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 3b 0a 24 74 61 73 6b 20 3d 20 27 63 6c 69 65 6e 74 20 2d ->getClient();.$task.=.'client.-
dae00 64 20 27 20 2e 20 24 63 6c 69 65 6e 74 3b 0a 24 75 73 65 50 34 43 6c 69 65 6e 74 20 3d 20 66 61 d.'...$client;.$useP4Client.=.fa
dae20 6c 73 65 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 lse;.$command.=.$this->generateP
dae40 34 43 6f 6d 6d 61 6e 64 28 24 74 61 73 6b 2c 20 24 75 73 65 50 34 43 6c 69 65 6e 74 29 3b 0a 24 4Command($task,.$useP4Client);.$
dae60 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a this->executeCommand($command);.
dae80 24 63 6c 69 65 6e 74 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 $clientSpec.=.$this->getP4Client
daea0 53 70 65 63 28 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 Spec();.$fileSystem.=.$this->get
daec0 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 Filesystem();.$fileSystem->remov
daee0 65 28 24 63 6c 69 65 6e 74 53 70 65 63 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e e($clientSpec);.}..protected.fun
daf00 63 74 69 6f 6e 20 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b ction.executeCommand($command).{
daf20 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 20 3d 20 27 27 3b 0a 0a 72 65 74 .$this->commandResult.=.'';..ret
daf40 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d urn.$this->process->execute($com
daf60 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b 0a 7d 0a 0a mand,.$this->commandResult);.}..
daf80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 69 65 6e 74 28 29 0a 7b 0a 69 66 public.function.getClient().{.if
dafa0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 29 29 20 7b 0a 24 63 6c .(!isset($this->p4Client)).{.$cl
dafc0 65 61 6e 53 74 72 65 61 6d 4e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 eanStreamName.=.str_replace(arra
dafe0 79 28 27 2f 2f 27 2c 20 27 2f 27 2c 20 27 40 27 29 2c 20 61 72 72 61 79 28 27 27 2c 20 27 5f 27 y('//',.'/',.'@'),.array('',.'_'
db000 2c 20 27 27 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 24 74 68 69 ,.''),.$this->getStream());.$thi
db020 73 2d 3e 70 34 43 6c 69 65 6e 74 20 3d 20 27 63 6f 6d 70 6f 73 65 72 5f 70 65 72 66 6f 72 63 65 s->p4Client.=.'composer_perforce
db040 5f 27 20 2e 20 24 74 68 69 73 2d 3e 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 _'...$this->uniquePerforceClient
db060 4e 61 6d 65 20 2e 20 27 5f 27 20 2e 20 24 63 6c 65 61 6e 53 74 72 65 61 6d 4e 61 6d 65 3b 0a 7d Name...'_'...$cleanStreamName;.}
db080 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 3b 0a 7d 0a 0a 70 72 6f ..return.$this->p4Client;.}..pro
db0a0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 tected.function.getPath().{.retu
db0c0 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.$this->path;.}..public.functi
db0e0 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 on.initializePath($path).{.$this
db100 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 24 66 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ->path.=.$path;.$fs.=.$this->get
db120 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f Filesystem();.$fs->ensureDirecto
db140 72 79 45 78 69 73 74 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ryExists($path);.}..protected.fu
db160 6e 63 74 69 6f 6e 20 67 65 74 50 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d nction.getPort().{.return.$this-
db180 3e 70 34 50 6f 72 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 >p4Port;.}..public.function.setS
db1a0 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d tream($stream).{.$this->p4Stream
db1c0 20 3d 20 24 73 74 72 65 61 6d 3b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 73 74 .=.$stream;.$index.=.strrpos($st
db1e0 72 65 61 6d 2c 20 27 2f 27 29 3b 0a 0a 20 69 66 20 28 24 69 6e 64 65 78 20 3e 20 32 29 20 7b 0a ream,.'/');...if.($index.>.2).{.
db200 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 20 3d 20 27 73 74 72 65 61 6d 27 3b 0a 7d $this->p4DepotType.=.'stream';.}
db220 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 74 72 65 61 6d 28 29 0a 7b .}..public.function.isStream().{
db240 0a 72 65 74 75 72 6e 20 28 73 74 72 63 6d 70 28 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 .return.(strcmp($this->p4DepotTy
db260 70 65 2c 20 27 73 74 72 65 61 6d 27 29 20 3d 3d 3d 20 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 pe,.'stream').===.0);.}..public.
db280 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 function.getStream().{.if.(!isse
db2a0 74 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d t($this->p4Stream)).{.if.($this-
db2c0 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 20 3d >isStream()).{.$this->p4Stream.=
db2e0 20 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 2e 20 27 2f 27 20 2e 20 24 .'//'...$this->p4Depot...'/'...$
db300 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e this->p4Branch;.}.else.{.$this->
db320 70 34 53 74 72 65 61 6d 20 3d 20 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 p4Stream.=.'//'...$this->p4Depot
db340 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 3b 0a 7d ;.}.}..return.$this->p4Stream;.}
db360 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 57 69 74 68 6f ..public.function.getStreamWitho
db380 75 74 4c 61 62 65 6c 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 utLabel($stream).{.$index.=.strp
db3a0 6f 73 28 24 73 74 72 65 61 6d 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d os($stream,.'@');.if.($index.===
db3c0 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 72 65 74 .false).{.return.$stream;.}..ret
db3e0 75 72 6e 20 73 75 62 73 74 72 28 24 73 74 72 65 61 6d 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a urn.substr($stream,.0,.$index);.
db400 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 34 43 6c 69 65 6e 74 53 70 }..public.function.getP4ClientSp
db420 65 63 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 20 2e 20 27 2f 27 20 ec().{.return.$this->path...'/'.
db440 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 27 2e 70 34 2e 73 70 65 63 ..$this->getClient()...'.p4.spec
db460 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 28 29 0a ';.}..public.function.getUser().
db480 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 {.return.$this->p4User;.}..publi
db4a0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 72 28 24 75 73 65 72 29 0a 7b 0a 24 74 68 69 c.function.setUser($user).{.$thi
db4c0 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 75 73 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->p4User.=.$user;.}..public.fun
db4e0 63 74 69 6f 6e 20 71 75 65 72 79 50 34 55 73 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 ction.queryP4User().{.$this->get
db500 55 73 65 72 28 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 70 34 55 73 65 72 User();.if.(strlen($this->p4User
db520 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 ).>.0).{.return;.}.$this->p4User
db540 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 27 50 34 55 53 45 52 27 .=.$this->getP4variable('P4USER'
db560 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 70 34 55 73 65 72 29 20 3e 20 30 );.if.(strlen($this->p4User).>.0
db580 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 74 ).{.return;.}.$this->p4User.=.$t
db5a0 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 45 6e 74 65 72 20 50 34 20 55 73 65 72 3a 27 29 3b 0a his->io->ask('Enter.P4.User:');.
db5c0 69 66 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 63 6f 6d 6d 61 if.($this->windowsFlag).{.$comma
db5e0 6e 64 20 3d 20 27 70 34 20 73 65 74 20 50 34 55 53 45 52 3d 27 20 2e 20 24 74 68 69 73 2d 3e 70 nd.=.'p4.set.P4USER='...$this->p
db600 34 55 73 65 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 78 70 6f 4User;.}.else.{.$command.=.'expo
db620 72 74 20 50 34 55 53 45 52 3d 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 0a 24 rt.P4USER='...$this->p4User;.}.$
db640 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a this->executeCommand($command);.
db660 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 34 76 61 72 69 61 }..protected.function.getP4varia
db680 62 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 ble($name).{.if.($this->windowsF
db6a0 6c 61 67 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 20 73 65 74 27 3b 0a 24 74 68 69 lag).{.$command.=.'p4.set';.$thi
db6c0 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 s->executeCommand($command);.$re
db6e0 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 sult.=.trim($this->commandResult
db700 29 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 );.$resArray.=.explode(PHP_EOL,.
db720 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 $result);.foreach.($resArray.as.
db740 24 6c 69 6e 65 29 20 7b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3d 27 2c 20 $line).{.$fields.=.explode('=',.
db760 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 74 72 63 6d 70 28 24 6e 61 6d 65 2c 20 24 66 69 65 6c 64 $line);.if.(strcmp($name,.$field
db780 73 5b 30 5d 29 20 3d 3d 20 30 29 20 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 66 s[0]).==.0).{.$index.=.strpos($f
db7a0 69 65 6c 64 73 5b 31 5d 2c 20 27 20 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 ields[1],.'.');.if.($index.===.f
db7c0 61 6c 73 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 66 69 65 6c 64 73 5b 31 5d 3b 0a 7d 20 65 alse).{.$value.=.$fields[1];.}.e
db7e0 6c 73 65 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 65 6c 64 73 5b 31 5d lse.{.$value.=.substr($fields[1]
db800 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 ,.0,.$index);.}.$value.=.trim($v
db820 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 alue);..return.$value;.}.}..retu
db840 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 63 68 6f 20 24 27 20 rn.null;.}..$command.=.'echo.$'.
db860 2e 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 ..$name;.$this->executeCommand($
db880 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e command);.$result.=.trim($this->
db8a0 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b commandResult);..return.$result;
db8c0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 65 72 79 50 34 50 61 73 73 77 .}..public.function.queryP4Passw
db8e0 6f 72 64 28 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 ord().{.if.(isset($this->p4Passw
db900 6f 72 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 ord)).{.return.$this->p4Password
db920 3b 0a 7d 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 ;.}.$password.=.$this->getP4vari
db940 61 62 6c 65 28 27 50 34 50 41 53 53 57 44 27 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 70 61 able('P4PASSWD');.if.(strlen($pa
db960 73 73 77 6f 72 64 29 20 3c 3d 20 30 29 20 7b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 ssword).<=.0).{.$password.=.$thi
db980 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 45 6e 74 65 72 20 70 s->io->askAndHideAnswer('Enter.p
db9a0 61 73 73 77 6f 72 64 20 66 6f 72 20 50 65 72 66 6f 72 63 65 20 75 73 65 72 20 27 20 2e 20 24 74 assword.for.Perforce.user.'...$t
db9c0 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 3a 20 27 29 3b 0a 7d 0a 24 74 68 69 73 2d his->getUser()...':.');.}.$this-
db9e0 3e 70 34 50 61 73 73 77 6f 72 64 20 3d 20 24 70 61 73 73 77 6f 72 64 3b 0a 0a 72 65 74 75 72 6e >p4Password.=.$password;..return
dba00 20 24 70 61 73 73 77 6f 72 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .$password;.}..public.function.g
dba20 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 73 65 43 enerateP4Command($command,.$useC
dba40 6c 69 65 6e 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 lient.=.true).{.$p4Command.=.'p4
dba60 20 27 3b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 43 6f 6d 6d 61 6e 64 20 2e 20 27 2d .';.$p4Command.=.$p4Command...'-
dba80 75 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 20 27 3b 0a 69 66 u.'...$this->getUser()...'.';.if
dbaa0 20 28 24 75 73 65 43 6c 69 65 6e 74 29 20 7b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 .($useClient).{.$p4Command.=.$p4
dbac0 43 6f 6d 6d 61 6e 64 20 2e 20 27 2d 63 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 Command...'-c.'...$this->getClie
dbae0 6e 74 28 29 20 2e 20 27 20 27 3b 0a 7d 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 43 6f nt()...'.';.}.$p4Command.=.$p4Co
dbb00 6d 6d 61 6e 64 20 2e 20 27 2d 70 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 6f 72 74 28 29 mmand...'-p.'...$this->getPort()
dbb20 20 2e 20 27 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 72 65 74 75 72 6e 20 24 70 34 43 6f ...'.'...$command;..return.$p4Co
dbb40 6d 6d 61 6e 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 67 67 mmand;.}..public.function.isLogg
dbb60 65 64 49 6e 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 edIn().{.$command.=.$this->gener
dbb80 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 6c 6f 67 69 6e 20 2d 73 27 2c 20 66 61 6c 73 65 29 3b ateP4Command('login.-s',.false);
dbba0 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 .$exitCode.=.$this->executeComma
dbbc0 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 nd($command);.if.($exitCode).{.$
dbbe0 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 errorOutput.=.$this->process->ge
dbc00 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 tErrorOutput();.$index.=.strpos(
dbc20 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 29 3b $errorOutput,.$this->getUser());
dbc40 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 20 .if.($index.===.false).{.$index.
dbc60 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 27 70 34 27 29 3b 0a 69 66 =.strpos($errorOutput,.'p4');.if
dbc80 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c .($index.===.false).{.return.fal
dbca0 73 65 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 70 34 20 63 se;.}.throw.new.\Exception('p4.c
dbcc0 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 70 61 74 68 3a 20 27 20 2e 20 24 65 ommand.not.found.in.path:.'...$e
dbce0 72 72 6f 72 4f 75 74 70 75 74 29 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 rrorOutput);.}.throw.new.\Except
dbd00 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 73 65 72 20 6e 61 6d 65 3a 20 27 20 2e 20 24 74 68 69 ion('Invalid.user.name:.'...$thi
dbd20 73 2d 3e 67 65 74 55 73 65 72 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d s->getUser());.}..return.true;.}
dbd40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 ..public.function.connectClient(
dbd60 29 0a 7b 0a 24 70 34 43 72 65 61 74 65 43 6c 69 65 6e 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 ).{.$p4CreateClientCommand.=.$th
dbd80 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 0a 27 63 6c 69 65 6e 74 20 2d is->generateP4Command(.'client.-
dbda0 69 20 3c 20 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 20 22 2c 20 22 5c 5c 20 22 2c 20 i.<.'...str_replace(".",."\\.",.
dbdc0 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 29 0a 29 3b 0a 24 74 68 $this->getP4ClientSpec()).);.$th
dbde0 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 70 34 43 72 65 61 74 65 43 6c 69 65 is->executeCommand($p4CreateClie
dbe00 6e 74 43 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ntCommand);.}..public.function.s
dbe20 79 6e 63 43 6f 64 65 42 61 73 65 28 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 0a 7b 0a yncCodeBase($sourceReference).{.
dbe40 24 70 72 65 76 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 $prevDir.=.getcwd();.chdir($this
dbe60 2d 3e 70 61 74 68 29 3b 0a 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d ->path);.$p4SyncCommand.=.$this-
dbe80 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 73 79 6e 63 20 2d 66 20 27 29 3b 0a >generateP4Command('sync.-f.');.
dbea0 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 20 7b if.(null.!==.$sourceReference).{
dbec0 0a 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 .$p4SyncCommand.=.$p4SyncCommand
dbee0 20 2e 20 27 40 27 20 2e 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 24 74 68 ...'@'...$sourceReference;.}.$th
dbf00 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e is->executeCommand($p4SyncComman
dbf20 64 29 3b 0a 63 68 64 69 72 28 24 70 72 65 76 44 69 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 d);.chdir($prevDir);.}..public.f
dbf40 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 43 6c 69 65 6e 74 53 70 65 63 54 6f 46 69 6c 65 28 24 73 unction.writeClientSpecToFile($s
dbf60 70 65 63 29 0a 7b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 43 6c 69 65 6e 74 3a 20 27 20 pec).{.fwrite($spec,.'Client:.'.
dbf80 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 50 48 50 5f 45 4f 4c 20 2e ..$this->getClient()...PHP_EOL..
dbfa0 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 55 70 64 61 74 65 .PHP_EOL);.fwrite($spec,.'Update
dbfc0 3a 20 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 48 3a 69 3a 73 27 29 20 2e 20 50 48 50 5f :.'...date('Y/m/d.H:i:s')...PHP_
dbfe0 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 41 EOL...PHP_EOL);.fwrite($spec,.'A
dc000 63 63 65 73 73 3a 20 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 48 3a 69 3a 73 27 29 20 2e ccess:.'...date('Y/m/d.H:i:s')..
dc020 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 4f 77 6e 65 72 3a .PHP_EOL);.fwrite($spec,.'Owner:
dc040 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 50 48 50 5f 45 4f 4c ..'...$this->getUser()...PHP_EOL
dc060 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 44 65 73 63 ...PHP_EOL);.fwrite($spec,.'Desc
dc080 72 69 70 74 69 6f 6e 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 ription:'...PHP_EOL);.fwrite($sp
dc0a0 65 63 2c 20 27 20 20 43 72 65 61 74 65 64 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 ec,.'..Created.by.'...$this->get
dc0c0 55 73 65 72 28 29 20 2e 20 27 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 2e 27 20 2e 20 50 48 50 User()...'.from.composer.'...PHP
dc0e0 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 _EOL...PHP_EOL);.fwrite($spec,.'
dc100 52 6f 6f 74 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 28 29 20 2e 20 50 48 50 Root:.'...$this->getPath()...PHP
dc120 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 _EOL...PHP_EOL);.fwrite($spec,.'
dc140 4f 70 74 69 6f 6e 73 3a 20 20 6e 6f 61 6c 6c 77 72 69 74 65 20 6e 6f 63 6c 6f 62 62 65 72 20 6e Options:..noallwrite.noclobber.n
dc160 6f 63 6f 6d 70 72 65 73 73 20 75 6e 6c 6f 63 6b 65 64 20 6d 6f 64 74 69 6d 65 20 72 6d 64 69 72 ocompress.unlocked.modtime.rmdir
dc180 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 '...PHP_EOL...PHP_EOL);.fwrite($
dc1a0 73 70 65 63 2c 20 27 53 75 62 6d 69 74 4f 70 74 69 6f 6e 73 3a 20 20 72 65 76 65 72 74 75 6e 63 spec,.'SubmitOptions:..revertunc
dc1c0 68 61 6e 67 65 64 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 hanged'...PHP_EOL...PHP_EOL);.fw
dc1e0 72 69 74 65 28 24 73 70 65 63 2c 20 27 4c 69 6e 65 45 6e 64 3a 20 20 6c 6f 63 61 6c 27 20 2e 20 rite($spec,.'LineEnd:..local'...
dc200 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 PHP_EOL...PHP_EOL);.if.($this->i
dc220 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 53 74 72 65 sStream()).{.fwrite($spec,.'Stre
dc240 61 6d 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 am:'...PHP_EOL);.fwrite($spec,.'
dc260 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 57 69 74 68 6f 75 74 4c 61 62 ..'...$this->getStreamWithoutLab
dc280 65 6c 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 29 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a el($this->p4Stream)...PHP_EOL);.
dc2a0 7d 20 65 6c 73 65 20 7b 0a 66 77 72 69 74 65 28 0a 24 73 70 65 63 2c 0a 27 56 69 65 77 3a 20 20 }.else.{.fwrite(.$spec,.'View:..
dc2c0 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 2f 2e 2e 2e 20 20 '...$this->getStream()...'/.....
dc2e0 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 27 2f 2e 2e 2e //'...$this->getClient()...'/...
dc300 20 27 20 2e 20 50 48 50 5f 45 4f 4c 0a 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .'...PHP_EOL.);.}.}..public.func
dc320 74 69 6f 6e 20 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 24 63 6c 69 65 tion.writeP4ClientSpec().{.$clie
dc340 6e 74 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 ntSpec.=.$this->getP4ClientSpec(
dc360 29 3b 0a 24 73 70 65 63 20 3d 20 66 6f 70 65 6e 28 24 63 6c 69 65 6e 74 53 70 65 63 2c 20 27 77 );.$spec.=.fopen($clientSpec,.'w
dc380 27 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 43 6c 69 65 6e 74 53 70 65 63 ');.try.{.$this->writeClientSpec
dc3a0 54 6f 46 69 6c 65 28 24 73 70 65 63 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 ToFile($spec);.}.catch.(\Excepti
dc3c0 6f 6e 20 24 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b 0a 74 68 72 6f 77 20 24 65 on.$e).{.fclose($spec);.throw.$e
dc3e0 3b 0a 7d 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 ;.}.fclose($spec);.}..protected.
dc400 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 70 69 70 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 69 66 function.read($pipe,.$name).{.if
dc420 20 28 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 6c 69 6e 65 .(feof($pipe)).{.return;.}.$line
dc440 20 3d 20 66 67 65 74 73 28 24 70 69 70 65 29 3b 0a 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 21 3d .=.fgets($pipe);.while.($line.!=
dc460 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 70 69 70 65 29 3b =.false).{.$line.=.fgets($pipe);
dc480 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 .}..return;.}..public.function.w
dc4a0 69 6e 64 6f 77 73 4c 6f 67 69 6e 28 24 70 61 73 73 77 6f 72 64 29 0a 7b 0a 24 63 6f 6d 6d 61 6e indowsLogin($password).{.$comman
dc4c0 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c d.=.$this->generateP4Command('.l
dc4e0 6f 67 69 6e 20 2d 61 27 29 3b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 ogin.-a');.$process.=.new.Proces
dc500 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 70 61 73 73 77 6f 72 s($command,.null,.null,.$passwor
dc520 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 29 3b 0a 7d 0a 0a d);..return.$process->run();.}..
dc540 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 34 4c 6f 67 69 6e 28 29 0a 7b 0a 24 74 68 69 public.function.p4Login().{.$thi
dc560 73 2d 3e 71 75 65 72 79 50 34 55 73 65 72 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 s->queryP4User();.if.(!$this->is
dc580 4c 6f 67 67 65 64 49 6e 28 29 29 20 7b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d LoggedIn()).{.$password.=.$this-
dc5a0 3e 71 75 65 72 79 50 34 50 61 73 73 77 6f 72 64 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 >queryP4Password();.if.($this->w
dc5c0 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 4c 6f 67 69 indowsFlag).{.$this->windowsLogi
dc5e0 6e 28 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 n($password);.}.else.{.$command.
dc600 3d 20 27 65 63 68 6f 20 27 20 2e 20 24 70 61 73 73 77 6f 72 64 20 2e 20 27 20 7c 20 27 20 2e 20 =.'echo.'...$password...'.|.'...
dc620 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c 6f 67 69 6e $this->generateP4Command('.login
dc640 20 2d 61 27 2c 20 66 61 6c 73 65 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d .-a',.false);.$exitCode.=.$this-
dc660 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 >executeCommand($command);.$resu
dc680 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b lt.=.trim($this->commandResult);
dc6a0 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 .if.($exitCode).{.throw.new.\Exc
dc6c0 65 70 74 69 6f 6e 28 22 45 72 72 6f 72 20 6c 6f 67 67 69 6e 67 20 69 6e 3a 22 20 2e 20 24 74 68 eption("Error.logging.in:"...$th
dc6e0 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a is->process->getErrorOutput());.
dc700 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 }.}.}.}..public.function.getComp
dc720 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 oserInformation($identifier).{.$
dc740 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 composerFileContent.=.$this->get
dc760 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 69 64 FileContent('composer.json',.$id
dc780 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f entifier);..if.(!$composerFileCo
dc7a0 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6a 73 6f 6e 5f ntent).{.return;.}..return.json_
dc7c0 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c 20 74 72 75 decode($composerFileContent,.tru
dc7e0 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f e);.}..public.function.getFileCo
dc800 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 70 61 74 ntent($file,.$identifier).{.$pat
dc820 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c 65 2c 20 24 69 h.=.$this->getFilePath($file,.$i
dc840 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 dentifier);..$command.=.$this->g
dc860 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 70 72 69 6e 74 20 27 20 2e 20 24 70 61 enerateP4Command('.print.'...$pa
dc880 74 68 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d th);.$this->executeCommand($comm
dc8a0 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 and);.$result.=.$this->commandRe
dc8c0 73 75 6c 74 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 sult;..if.(!trim($result)).{.ret
dc8e0 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a urn.null;.}..return.$result;.}..
dc900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c public.function.getFilePath($fil
dc920 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f e,.$identifier).{.$index.=.strpo
dc940 73 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 s($identifier,.'@');.if.($index.
dc960 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 ===.false).{.$path.=.$identifier
dc980 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a ..'/'...$file;..return.$path;.}.
dc9a0 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 30 2c 20 .$path.=.substr($identifier,.0,.
dc9c0 24 69 6e 64 65 78 29 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 73 75 62 73 74 72 28 24 $index)...'/'...$file...substr($
dc9e0 69 64 65 6e 74 69 66 69 65 72 2c 20 24 69 6e 64 65 78 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 identifier,.$index);.$command.=.
dca00 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 66 69 6c 65 73 $this->generateP4Command('.files
dca20 20 27 20 2e 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 .'...$path,.false);.$this->execu
dca40 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 teCommand($command);.$result.=.$
dca60 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 69 6e 64 65 78 32 20 3d 20 73 this->commandResult;.$index2.=.s
dca80 74 72 70 6f 73 28 24 72 65 73 75 6c 74 2c 20 27 6e 6f 20 73 75 63 68 20 66 69 6c 65 28 73 29 2e trpos($result,.'no.such.file(s).
dcaa0 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 32 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e ');.if.($index2.===.false).{.$in
dcac0 64 65 78 33 20 3d 20 73 74 72 70 6f 73 28 24 72 65 73 75 6c 74 2c 20 27 63 68 61 6e 67 65 27 29 dex3.=.strpos($result,.'change')
dcae0 3b 0a 69 66 20 28 24 69 6e 64 65 78 33 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 70 68 72 61 ;.if.($index3.!==.false).{.$phra
dcb00 73 65 20 3d 20 74 72 69 6d 28 73 75 62 73 74 72 28 24 72 65 73 75 6c 74 2c 20 24 69 6e 64 65 78 se.=.trim(substr($result,.$index
dcb20 33 29 29 3b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 68 72 3));.$fields.=.explode('.',.$phr
dcb40 61 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 ase);..return.substr($identifier
dcb60 2c 20 30 2c 20 24 69 6e 64 65 78 29 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 40 27 ,.0,.$index)...'/'...$file...'@'
dcb80 20 2e 20 24 66 69 65 6c 64 73 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b ...$fields[1];.}.}..return.null;
dcba0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 .}..public.function.getBranches(
dcbc0 29 0a 7b 0a 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b ).{.$possibleBranches.=.array();
dcbe0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 24 70 6f 73 73 .if.(!$this->isStream()).{.$poss
dcc00 69 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 5d 20 3d 20 ibleBranches[$this->p4Branch].=.
dcc20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f $this->getStream();.}.else.{.$co
dcc40 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 mmand.=.$this->generateP4Command
dcc60 28 27 73 74 72 65 61 6d 73 20 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 2e ('streams.//'...$this->p4Depot..
dcc80 20 27 2f 2e 2e 2e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 .'/...');.$this->executeCommand(
dcca0 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d $command);.$result.=.$this->comm
dccc0 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 andResult;.$resArray.=.explode(P
dcce0 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 HP_EOL,.$result);.foreach.($resA
dcd00 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 72 65 73 42 69 74 73 20 3d 20 65 78 70 6c rray.as.$line).{.$resBits.=.expl
dcd20 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 42 ode('.',.$line);.if.(count($resB
dcd40 69 74 73 29 20 3e 20 34 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 its).>.4).{.$branch.=.preg_repla
dcd60 63 65 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 2d 39 20 5d 2f 27 2c 20 27 27 2c 20 24 72 65 73 42 69 ce('/[^A-Za-z0-9.]/',.'',.$resBi
dcd80 74 73 5b 34 5d 29 3b 0a 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 62 72 61 6e 63 ts[4]);.$possibleBranches[$branc
dcda0 68 5d 20 3d 20 24 72 65 73 42 69 74 73 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 h].=.$resBits[1];.}.}.}.$command
dcdc0 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 63 68 61 .=.$this->generateP4Command('cha
dcde0 6e 67 65 73 20 27 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 2f 2e nges.'..$this->getStream()...'/.
dce00 2e 2e 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 ..',.false);.$this->executeComma
dce20 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 nd($command);.$result.=.$this->c
dce40 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 ommandResult;.$resArray.=.explod
dce60 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 24 6c 61 73 74 43 6f 6d 6d 69 74 e(PHP_EOL,.$result);.$lastCommit
dce80 20 3d 20 24 72 65 73 41 72 72 61 79 5b 30 5d 3b 0a 24 6c 61 73 74 43 6f 6d 6d 69 74 41 72 72 20 .=.$resArray[0];.$lastCommitArr.
dcea0 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 61 73 74 43 6f 6d 6d 69 74 29 3b 0a 24 6c 61 =.explode('.',.$lastCommit);.$la
dcec0 73 74 43 6f 6d 6d 69 74 4e 75 6d 20 3d 20 24 6c 61 73 74 43 6f 6d 6d 69 74 41 72 72 5b 31 5d 3b stCommitNum.=.$lastCommitArr[1];
dcee0 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 27 6d 61 73 74 65 72 27 20 3d 3e 20 ..$branches.=.array('master'.=>.
dcf00 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 $possibleBranches[$this->p4Branc
dcf20 68 5d 20 2e 20 27 40 27 2e 20 24 6c 61 73 74 43 6f 6d 6d 69 74 4e 75 6d 29 3b 0a 0a 72 65 74 75 h]...'@'..$lastCommitNum);..retu
dcf40 72 6e 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rn.$branches;.}..public.function
dcf60 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 .getTags().{.$command.=.$this->g
dcf80 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 6c 61 62 65 6c 73 27 29 3b 0a 24 74 68 69 enerateP4Command('labels');.$thi
dcfa0 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 s->executeCommand($command);.$re
dcfc0 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 sult.=.$this->commandResult;.$re
dcfe0 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c sArray.=.explode(PHP_EOL,.$resul
dd000 74 29 3b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 t);.$tags.=.array();.foreach.($r
dd020 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 esArray.as.$line).{.$index.=.str
dd040 70 6f 73 28 24 6c 69 6e 65 2c 20 27 4c 61 62 65 6c 27 29 3b 0a 69 66 20 28 21 28 24 69 6e 64 65 pos($line,.'Label');.if.(!($inde
dd060 78 20 3d 3d 3d 20 66 61 6c 73 65 29 29 20 7b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 x.===.false)).{.$fields.=.explod
dd080 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 24 74 61 67 73 5b 24 66 69 65 6c 64 73 5b 31 5d 5d e('.',.$line);.$tags[$fields[1]]
dd0a0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 40 27 20 2e 20 24 66 .=.$this->getStream()...'@'...$f
dd0c0 69 65 6c 64 73 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 67 73 3b 0a 7d 0a 0a ields[1];.}.}..return.$tags;.}..
dd0e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 65 61 6d 28 29 0a 7b 0a public.function.checkStream().{.
dd100 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d $command.=.$this->generateP4Comm
dd120 61 6e 64 28 27 64 65 70 6f 74 73 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 and('depots',.false);.$this->exe
dd140 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d cuteCommand($command);.$result.=
dd160 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 .$this->commandResult;.$resArray
dd180 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f .=.explode(PHP_EOL,.$result);.fo
dd1a0 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 69 6e reach.($resArray.as.$line).{.$in
dd1c0 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 6c 69 6e 65 2c 20 27 44 65 70 6f 74 27 29 3b 0a 69 66 dex.=.strpos($line,.'Depot');.if
dd1e0 20 28 21 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 29 20 7b 0a 24 66 69 65 6c 64 73 .(!($index.===.false)).{.$fields
dd200 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 74 72 63 .=.explode('.',.$line);.if.(strc
dd220 6d 70 28 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 2c 20 24 66 69 65 6c 64 73 5b 31 5d 29 20 3d mp($this->p4Depot,.$fields[1]).=
dd240 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 20 3d 20 24 66 69 ==.0).{.$this->p4DepotType.=.$fi
dd260 65 6c 64 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 6d elds[3];..return.$this->isStream
dd280 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ();.}.}.}..return.false;.}......
dd2a0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 4c 69 73 74 protected.function.getChangeList
dd2c0 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 ($reference).{.$index.=.strpos($
dd2e0 72 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 reference,.'@');.if.($index.===.
dd300 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 6c 61 62 65 6c 20 3d false).{.return.null;.}.$label.=
dd320 20 73 75 62 73 74 72 28 24 72 65 66 65 72 65 6e 63 65 2c 20 24 69 6e 64 65 78 29 3b 0a 24 63 6f .substr($reference,.$index);.$co
dd340 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 mmand.=.$this->generateP4Command
dd360 28 27 20 63 68 61 6e 67 65 73 20 2d 6d 31 20 27 20 2e 20 24 6c 61 62 65 6c 29 3b 0a 24 74 68 69 ('.changes.-m1.'...$label);.$thi
dd380 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 63 68 s->executeCommand($command);.$ch
dd3a0 61 6e 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 69 66 anges.=.$this->commandResult;.if
dd3c0 20 28 73 74 72 70 6f 73 28 24 63 68 61 6e 67 65 73 2c 20 27 43 68 61 6e 67 65 27 29 20 21 3d 3d .(strpos($changes,.'Change').!==
dd3e0 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 66 69 65 6c 64 73 20 3d 20 65 .0).{.return.null;.}.$fields.=.e
dd400 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 63 68 61 6e 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 xplode('.',.$changes);..return.$
dd420 66 69 65 6c 64 73 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 fields[1];.}.......public.functi
dd440 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c on.getCommitLogs($fromReference,
dd460 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 .$toReference).{.$fromChangeList
dd480 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 66 72 6f 6d 52 65 66 .=.$this->getChangeList($fromRef
dd4a0 65 72 65 6e 63 65 29 3b 0a 69 66 20 28 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d 3d erence);.if.($fromChangeList.===
dd4c0 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 74 6f 43 68 61 6e 67 .null).{.return.null;.}.$toChang
dd4e0 65 4c 69 73 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 74 6f eList.=.$this->getChangeList($to
dd500 52 65 66 65 72 65 6e 63 65 29 3b 0a 69 66 20 28 24 74 6f 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d Reference);.if.($toChangeList.==
dd520 3d 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 69 6e 64 65 78 20 =.null).{.return.null;.}.$index.
dd540 3d 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 24 =.strpos($fromReference,.'@');.$
dd560 6d 61 69 6e 20 3d 20 73 75 62 73 74 72 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 30 2c main.=.substr($fromReference,.0,
dd580 20 24 69 6e 64 65 78 29 20 2e 20 27 2f 2e 2e 2e 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 .$index)...'/...';.$command.=.$t
dd5a0 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 66 69 6c 65 6c 6f 67 20 his->generateP4Command('filelog.
dd5c0 27 20 2e 20 24 6d 61 69 6e 20 2e 20 27 40 27 20 2e 20 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 '...$main...'@'...$fromChangeLis
dd5e0 74 2e 20 27 2c 27 20 2e 20 24 74 6f 43 68 61 6e 67 65 4c 69 73 74 29 3b 0a 24 74 68 69 73 2d 3e t..','...$toChangeList);.$this->
dd600 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 72 65 74 75 72 executeCommand($command);..retur
dd620 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 n.$this->commandResult;.}..publi
dd640 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a 69 66 20 c.function.getFilesystem().{.if.
dd660 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 29 20 7b 0a 24 74 68 (empty($this->filesystem)).{.$th
dd680 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 is->filesystem.=.new.Filesystem(
dd6a0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 $this->process);.}..return.$this
dd6c0 2d 3e 66 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->filesystem;.}..public.function
dd6e0 20 73 65 74 46 69 6c 65 73 79 73 74 65 6d 28 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 29 0a 7b .setFilesystem(Filesystem.$fs).{
dd700 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 73 3b 0a 7d 0a 7d 0a 3c 3f .$this->filesystem.=.$fs;.}.}.<?
dd720 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
dd740 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 6d 0a 7b 0a 0a r\Util;.......class.Platform.{..
dd760 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 .....public.static.function.expa
dd780 6e 64 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 ndPath($path).{.if.(preg_match('
dd7a0 23 5e 7e 5b 5c 5c 2f 5d 23 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c #^~[\\/]#',.$path)).{.return.sel
dd7c0 66 3a 3a 67 65 74 55 73 65 72 44 69 72 65 63 74 6f 72 79 28 29 20 2e 20 73 75 62 73 74 72 28 24 f::getUserDirectory()...substr($
dd7e0 70 61 74 68 2c 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 path,.1);.}..return.preg_replace
dd800 5f 63 61 6c 6c 62 61 63 6b 28 27 23 5e 28 5c 24 7c 28 3f 50 3c 70 65 72 63 65 6e 74 3e 25 29 29 _callback('#^(\$|(?P<percent>%))
dd820 28 3f 50 3c 76 61 72 3e 5c 77 2b 2b 29 28 3f 28 70 65 72 63 65 6e 74 29 25 29 28 3f 50 3c 70 61 (?P<var>\w++)(?(percent)%)(?P<pa
dd840 74 68 3e 2e 2a 29 23 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a th>.*)#',.function.($matches).{.
dd860 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 ..if.(Platform::isWindows().&&.$
dd880 6d 61 74 63 68 65 73 5b 27 76 61 72 27 5d 20 3d 3d 20 27 48 4f 4d 45 27 29 20 7b 0a 72 65 74 75 matches['var'].==.'HOME').{.retu
dd8a0 72 6e 20 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 rn.(getenv('HOME').?:.getenv('US
dd8c0 45 52 50 52 4f 46 49 4c 45 27 29 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 61 74 68 27 5d 3b ERPROFILE'))...$matches['path'];
dd8e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 67 65 74 65 6e 76 28 24 6d 61 74 63 68 65 73 5b 27 76 61 72 27 .}..return.getenv($matches['var'
dd900 5d 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 61 74 68 27 5d 3b 0a 7d 2c 20 24 70 61 74 68 29 ])...$matches['path'];.},.$path)
dd920 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}......public.static.function.
dd940 67 65 74 55 73 65 72 44 69 72 65 63 74 6f 72 79 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 getUserDirectory().{.if.(false.!
dd960 3d 3d 20 28 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 29 29 20 7b 0a 72 ==.($home.=.getenv('HOME'))).{.r
dd980 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 69 73 57 69 6e 64 eturn.$home;.}..if.(self::isWind
dd9a0 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 28 24 68 6f 6d 65 20 3d 20 67 65 74 65 ows().&&.false.!==.($home.=.gete
dd9c0 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f nv('USERPROFILE'))).{.return.$ho
dd9e0 6d 65 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 me;.}..if.(function_exists('posi
dda00 78 5f 67 65 74 75 69 64 27 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 x_getuid').&&.function_exists('p
dda20 6f 73 69 78 5f 67 65 74 70 77 75 69 64 27 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 70 6f 73 69 78 osix_getpwuid')).{.$info.=.posix
dda40 5f 67 65 74 70 77 75 69 64 28 70 6f 73 69 78 5f 67 65 74 75 69 64 28 29 29 3b 0a 0a 72 65 74 75 _getpwuid(posix_getuid());..retu
dda60 72 6e 20 24 69 6e 66 6f 5b 27 64 69 72 27 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 rn.$info['dir'];.}..throw.new.\R
dda80 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 untimeException('Could.not.deter
ddaa0 6d 69 6e 65 20 75 73 65 72 20 64 69 72 65 63 74 6f 72 79 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 mine.user.directory');.}.....pub
ddac0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 57 69 6e 64 6f 77 73 28 29 0a lic.static.function.isWindows().
ddae0 7b 0a 72 65 74 75 72 6e 20 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 {.return.defined('PHP_WINDOWS_VE
ddb00 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 RSION_BUILD');.}......public.sta
ddb20 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 29 0a 7b 0a 73 74 61 74 tic.function.strlen($str).{.stat
ddb40 69 63 20 24 75 73 65 4d 62 53 74 72 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c ic.$useMbString.=.null;.if.(null
ddb60 20 3d 3d 3d 20 24 75 73 65 4d 62 53 74 72 69 6e 67 29 20 7b 0a 24 75 73 65 4d 62 53 74 72 69 6e .===.$useMbString).{.$useMbStrin
ddb80 67 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 73 74 72 6c 65 6e 27 29 g.=.function_exists('mb_strlen')
ddba0 20 26 26 20 69 6e 69 5f 67 65 74 28 27 6d 62 73 74 72 69 6e 67 2e 66 75 6e 63 5f 6f 76 65 72 6c .&&.ini_get('mbstring.func_overl
ddbc0 6f 61 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 4d 62 53 74 72 69 6e 67 29 20 7b 0a 72 65 oad');.}..if.($useMbString).{.re
ddbe0 74 75 72 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 72 2c 20 27 38 62 69 74 27 29 3b 0a 7d 0a turn.mb_strlen($str,.'8bit');.}.
ddc00 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a .return.strlen($str);.}.}.<?php.
ddc20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ...........namespace.Composer\Ut
ddc40 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 il;..use.Composer\IO\IOInterface
ddc60 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ;.use.Symfony\Component\Process\
ddc80 50 72 6f 63 65 73 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 Process;.use.Symfony\Component\P
ddca0 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 55 74 69 6c 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 rocess\ProcessUtils;.....class.P
ddcc0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 rocessExecutor.{.protected.stati
ddce0 63 20 24 74 69 6d 65 6f 75 74 20 3d 20 33 30 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 c.$timeout.=.300;..protected.$ca
ddd00 70 74 75 72 65 4f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 4f 75 74 ptureOutput;.protected.$errorOut
ddd20 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 put;.protected.$io;..public.func
ddd40 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f tion.__construct(IOInterface.$io
ddd60 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a .=.null).{.$this->io.=.$io;.}...
ddd80 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 ........public.function.execute(
ddda0 24 63 6f 6d 6d 61 6e 64 2c 20 26 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 63 77 64 20 $command,.&$output.=.null,.$cwd.
dddc0 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 =.null).{.if.($this->io.&&.$this
ddde0 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 73 61 66 65 43 6f 6d 6d 61 6e 64 20 ->io->isDebug()).{.$safeCommand.
dde00 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 =.preg_replace_callback('{://(?P
dde20 3c 75 73 65 72 3e 5b 5e 3a 2f 5c 73 5d 2b 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 5b 5e 40 <user>[^:/\s]+):(?P<password>[^@
dde40 5c 73 2f 5d 2b 29 40 7d 69 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 \s/]+)@}i',.function.($m).{.if.(
dde60 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 preg_match('{^[a-f0-9]{12,}$}',.
dde80 24 6d 5b 27 75 73 65 72 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a $m['user'])).{.return.'://***:**
ddea0 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 27 2e 24 6d 5b 27 75 73 65 72 27 5d 2e *@';.}..return.'://'.$m['user'].
ddec0 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 69 6f ':***@';.},.$command);.$this->io
ddee0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 45 78 65 63 75 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 ->writeError('Executing.command.
ddf00 28 27 2e 28 24 63 77 64 20 3f 3a 20 27 43 57 44 27 29 2e 27 29 3a 20 27 2e 24 73 61 66 65 43 6f ('.($cwd.?:.'CWD').'):.'.$safeCo
ddf20 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 77 64 mmand);.}......if.(null.===.$cwd
ddf40 20 26 26 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c .&&.Platform::isWindows().&&.fal
ddf60 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 27 67 69 74 27 29 20 26 se.!==.strpos($command,.'git').&
ddf80 26 20 67 65 74 63 77 64 28 29 29 20 7b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 &.getcwd()).{.$cwd.=.realpath(ge
ddfa0 74 63 77 64 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 tcwd());.}..$this->captureOutput
ddfc0 20 3d 20 63 6f 75 6e 74 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 29 20 3e 20 31 3b 0a 24 .=.count(func_get_args()).>.1;.$
ddfe0 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 6f 63 65 this->errorOutput.=.null;.$proce
de000 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c ss.=.new.Process($command,.$cwd,
de020 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 67 65 74 54 69 6d 65 6f 75 74 28 .null,.null,.static::getTimeout(
de040 29 29 3b 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 6f 75 ));..$callback.=.is_callable($ou
de060 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 tput).?.$output.:.array($this,.'
de080 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 27 29 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 24 outputHandler');.$process->run($
de0a0 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 callback);..if.($this->captureOu
de0c0 74 70 75 74 20 26 26 20 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 6f 75 74 70 75 74 29 29 20 7b tput.&&.!is_callable($output)).{
de0e0 0a 24 6f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 .$output.=.$process->getOutput()
de100 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 ;.}..$this->errorOutput.=.$proce
de120 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 ss->getErrorOutput();..return.$p
de140 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 rocess->getExitCode();.}..public
de160 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 0a 7b 0a .function.splitLines($output).{.
de180 24 6f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e $output.=.trim($output);..return
de1a0 20 28 28 73 74 72 69 6e 67 29 20 24 6f 75 74 70 75 74 20 3d 3d 3d 20 27 27 29 20 3f 20 61 72 72 .((string).$output.===.'').?.arr
de1c0 61 79 28 29 20 3a 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 72 3f 5c 6e 7d 27 2c 20 24 6f 75 ay().:.preg_split('{\r?\n}',.$ou
de1e0 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tput);.}.......public.function.g
de200 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e etErrorOutput().{.return.$this->
de220 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 errorOutput;.}..public.function.
de240 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 0a 7b 0a outputHandler($type,.$buffer).{.
de260 69 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 29 20 7b 0a 72 65 74 75 if.($this->captureOutput).{.retu
de280 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 6f 29 20 7b rn;.}..if.(null.===.$this->io).{
de2a0 0a 65 63 68 6f 20 24 62 75 66 66 65 72 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 50 .echo.$buffer;..return;.}..if.(P
de2c0 72 6f 63 65 73 73 3a 3a 45 52 52 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e rocess::ERR.===.$type).{.$this->
de2e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 29 3b 0a io->writeError($buffer,.false);.
de300 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 24 62 75 66 66 65 }.else.{.$this->io->write($buffe
de320 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 r,.false);.}.}..public.static.fu
de340 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 61 nction.getTimeout().{.return.sta
de360 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 tic::$timeout;.}..public.static.
de380 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 0a 7b 0a function.setTimeout($timeout).{.
de3a0 73 74 61 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a static::$timeout.=.$timeout;.}..
de3c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 .......public.static.function.es
de3e0 63 61 70 65 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 cape($argument).{.if.(method_exi
de400 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 sts('Symfony\Component\Process\P
de420 72 6f 63 65 73 73 55 74 69 6c 73 27 2c 20 27 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 27 29 29 rocessUtils',.'escapeArgument'))
de440 20 7b 0a 72 65 74 75 72 6e 20 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 61 70 65 41 72 .{.return.ProcessUtils::escapeAr
de460 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c gument($argument);.}..return.sel
de480 66 3a 3a 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a f::escapeArgument($argument);.}.
de4a0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ........private.static.function.
de4c0 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 0a 20 0a 20 escapeArgument($argument).{.....
de4e0 0a 20 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 ....if.('\\'.===.DIRECTORY_SEPAR
de500 41 54 4f 52 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a ATOR).{.if.(''.===.$argument).{.
de520 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 6d 65 6e 74 29 return.escapeshellarg($argument)
de540 3b 0a 7d 0a 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b 0a 24 71 75 6f ;.}..$escapedArgument.=.'';.$quo
de560 74 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 te.=.false;.foreach.(preg_split(
de580 27 2f 28 22 29 2f 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c '/(")/',.$argument,.-1,.PREG_SPL
de5a0 49 54 5f 4e 4f 5f 45 4d 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f 44 45 4c 49 4d 5f 43 IT_NO_EMPTY.|.PREG_SPLIT_DELIM_C
de5c0 41 50 54 55 52 45 29 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 22 27 20 3d 3d 3d 20 APTURE).as.$part).{.if.('"'.===.
de5e0 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5c 5c $part).{.$escapedArgument..=.'\\
de600 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 72 6f 75 6e 64 65 64 "';.}.elseif.(self::isSurrounded
de620 42 79 28 24 70 61 72 74 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 70 65 64 41 72 67 75 By($part,.'%')).{...$escapedArgu
de640 6d 65 6e 74 20 2e 3d 20 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 31 2c 20 2d ment..=.'^%"'.substr($part,.1,.-
de660 31 29 2e 27 22 5e 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 1).'"^%';.}.else.{...if.('\\'.==
de680 3d 20 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 61 72 74 20 2e 3d 20 =.substr($part,.-1)).{.$part..=.
de6a0 27 5c 5c 27 3b 0a 7d 0a 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 61 70 65 64 41 '\\';.}.$quote.=.true;.$escapedA
de6c0 72 67 75 6d 65 6e 74 20 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 28 24 71 75 6f 74 65 rgument..=.$part;.}.}.if.($quote
de6e0 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 27 2e 24 65 73 63 61 ).{.$escapedArgument.=.'"'.$esca
de700 70 65 64 41 72 67 75 6d 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 73 63 61 pedArgument.'"';.}..return.$esca
de720 70 65 64 41 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 74 72 5f 72 pedArgument;.}..return."'".str_r
de740 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 75 6d 65 6e 74 29 2e eplace("'",."'\\''",.$argument).
de760 22 27 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 "'";.}..private.static.function.
de780 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 72 29 0a 7b 0a 72 65 isSurroundedBy($arg,.$char).{.re
de7a0 74 75 72 6e 20 32 20 3c 20 73 74 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 24 63 68 61 72 20 3d turn.2.<.strlen($arg).&&.$char.=
de7c0 3d 3d 20 24 61 72 67 5b 30 5d 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 73 74 72 ==.$arg[0].&&.$char.===.$arg[str
de7e0 6c 65 6e 28 24 61 72 67 29 20 2d 20 31 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a len($arg).-.1];.}.}.<?php.......
de800 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 .....namespace.Composer\Util;..u
de820 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
de840 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f \IO\IOInterface;.use.Composer\Do
de860 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 wnloader\TransportException;.use
de880 20 43 6f 6d 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 5c 43 61 42 75 6e 64 6c 65 3b 0a 75 73 65 .Composer\CaBundle\CaBundle;.use
de8a0 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a .Psr\Log\LoggerInterface;.......
de8c0 63 6c 61 73 73 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 class.RemoteFilesystem.{.private
de8e0 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 .$io;.private.$config;.private.$
de900 73 63 68 65 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 62 79 74 65 73 4d 61 78 3b 0a 70 72 69 76 61 scheme;.private.$bytesMax;.priva
de920 74 65 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 55 72 6c 3b te.$originUrl;.private.$fileUrl;
de940 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 74 .private.$fileName;.private.$ret
de960 72 79 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 ry;.private.$progress;.private.$
de980 6c 61 73 74 50 72 6f 67 72 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d lastProgress;.private.$options.=
de9a0 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 65 65 72 43 65 72 74 69 66 69 63 61 .array();.private.$peerCertifica
de9c0 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c teMap.=.array();.private.$disabl
de9e0 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 74 72 79 41 75 74 68 eTls.=.false;.private.$retryAuth
dea00 46 61 69 6c 75 72 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 48 65 61 64 65 72 73 3b 0a 70 Failure;.private.$lastHeaders;.p
dea20 72 69 76 61 74 65 20 24 73 74 6f 72 65 41 75 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 65 67 72 rivate.$storeAuth;.private.$degr
dea40 61 64 65 64 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 69 72 adedMode.=.false;.private.$redir
dea60 65 63 74 73 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 78 52 65 64 69 72 65 63 74 73 20 3d 20 32 30 ects;.private.$maxRedirects.=.20
dea80 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e ;..........public.function.__con
deaa0 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 struct(IOInterface.$io,.Config.$
deac0 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 config.=.null,.array.$options.=.
deae0 61 72 72 61 79 28 29 2c 20 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a array(),.$disableTls.=.false).{.
deb00 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 64 69 73 61 62 $this->io.=.$io;......if.($disab
deb20 6c 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e leTls.===.false).{.$this->option
deb40 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 6c 73 44 65 66 61 75 6c 74 73 28 24 6f 70 74 69 6f s.=.$this->getTlsDefaults($optio
deb60 6e 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 ns);.}.else.{.$this->disableTls.
deb80 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 =.true;.}....$this->options.=.ar
deba0 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 ray_replace_recursive($this->opt
debc0 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d ions,.$options);.$this->config.=
debe0 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$config;.}.............public.f
dec00 75 6e 63 74 69 6f 6e 20 63 6f 70 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 unction.copy($originUrl,.$fileUr
dec20 6c 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 2c 20 l,.$fileName,.$progress.=.true,.
dec40 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 $options.=.array()).{.return.$th
dec60 69 73 2d 3e 67 65 74 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6f is->get($originUrl,.$fileUrl,.$o
dec80 70 74 69 6f 6e 73 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 70 72 6f 67 72 65 73 73 29 3b 0a 7d ptions,.$fileName,.$progress);.}
deca0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 ............public.function.getC
decc0 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 70 ontents($originUrl,.$fileUrl,.$p
dece0 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 rogress.=.true,.$options.=.array
ded00 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6f 72 69 67 69 6e 55 ()).{.return.$this->get($originU
ded20 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 6e 75 6c 6c 2c 20 24 70 rl,.$fileUrl,.$options,.null,.$p
ded40 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rogress);.}.......public.functio
ded60 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f n.getOptions().{.return.$this->o
ded80 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ptions;.}.......public.function.
deda0 73 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 setOptions(array.$options).{.$th
dedc0 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 is->options.=.array_replace_recu
dede0 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b rsive($this->options,.$options);
dee00 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 6c 73 44 69 73 61 62 6c 65 .}..public.function.isTlsDisable
dee20 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d d().{.return.$this->disableTls.=
dee40 3d 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ==.true;.}.......public.function
dee60 20 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .getLastHeaders().{.return.$this
dee80 2d 3e 6c 61 73 74 48 65 61 64 65 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ->lastHeaders;.}.......public.fu
deea0 6e 63 74 69 6f 6e 20 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 61 72 72 61 79 20 24 68 65 nction.findHeaderValue(array.$he
deec0 61 64 65 72 73 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 aders,.$name).{.$value.=.null;.f
deee0 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 oreach.($headers.as.$header).{.i
def00 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 6e 61 6d 65 2e 27 3a 5c 73 2a 28 2e f.(preg_match('{^'.$name.':\s*(.
def20 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a +?)\s*$}i',.$header,.$match)).{.
def40 24 76 61 6c 75 65 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 $value.=.$match[1];.}.elseif.(pr
def60 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 7d 69 27 2c 20 24 68 65 61 64 65 72 29 29 20 eg_match('{^HTTP/}i',.$header)).
def80 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e {.....$value.=.null;.}.}..return
defa0 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$value;.}......public.function.
defc0 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b findStatusCode(array.$headers).{
defe0 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 .$value.=.null;.foreach.($header
df000 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 s.as.$header).{.if.(preg_match('
df020 7b 5e 48 54 54 50 2f 5c 53 2b 20 28 5c 64 2b 29 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d {^HTTP/\S+.(\d+)}i',.$header,.$m
df040 61 74 63 68 29 29 20 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 6d 61 74 atch)).{.....$value.=.(int).$mat
df060 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a ch[1];.}.}..return.$value;.}....
df080 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 74 61 74 75 73 4d 65 73 73 ..public.function.findStatusMess
df0a0 61 67 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e age(array.$headers).{.$value.=.n
df0c0 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 ull;.foreach.($headers.as.$heade
df0e0 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 5c 53 2b 20 r).{.if.(preg_match('{^HTTP/\S+.
df100 5c 64 2b 7d 69 27 2c 20 24 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d \d+}i',.$header)).{.....$value.=
df120 20 24 68 65 61 64 65 72 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a .$header;.}.}..return.$value;.}.
df140 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ...............protected.functio
df160 6e 20 67 65 74 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 n.get($originUrl,.$fileUrl,.$add
df180 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 66 69 6c 65 4e itionalOptions.=.array(),.$fileN
df1a0 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 29 0a 7b 0a ame.=.null,.$progress.=.true).{.
df1c0 69 66 20 28 73 74 72 70 6f 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 2e 67 69 74 68 75 62 2e if.(strpos($originUrl,.'.github.
df1e0 63 6f 6d 27 29 20 3d 3d 3d 20 28 73 74 72 6c 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 20 2d 20 com').===.(strlen($originUrl).-.
df200 31 31 29 29 20 7b 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 11)).{.$originUrl.=.'github.com'
df220 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 0a 26 26 20 69 ;.}......if.(.$this->config.&&.i
df240 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c s_array($this->config->get('gitl
df260 61 62 2d 64 6f 6d 61 69 6e 73 27 29 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f ab-domains')).&&.false.===.strpo
df280 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 2f 27 29 0a 26 26 20 21 69 6e 5f 61 72 72 61 79 28 s($originUrl,.'/').&&.!in_array(
df2a0 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 $originUrl,.$this->config->get('
df2c0 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 29 0a 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 gitlab-domains')).).{.foreach.($
df2e0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e this->config->get('gitlab-domain
df300 73 27 29 20 61 73 20 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 29 20 7b 0a 69 66 20 28 30 20 3d 3d s').as.$gitlabDomain).{.if.(0.==
df320 3d 20 73 74 72 70 6f 73 28 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 2c 20 24 6f 72 69 67 69 6e 55 =.strpos($gitlabDomain,.$originU
df340 72 6c 29 29 20 7b 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 67 69 74 6c 61 62 44 6f 6d 61 69 rl)).{.$originUrl.=.$gitlabDomai
df360 6e 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 67 69 74 6c 61 62 44 6f 6d 61 69 n;.break;.}.}.unset($gitlabDomai
df380 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c n);.}..$this->scheme.=.parse_url
df3a0 28 24 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 24 74 68 69 ($fileUrl,.PHP_URL_SCHEME);.$thi
df3c0 73 2d 3e 62 79 74 65 73 4d 61 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 s->bytesMax.=.0;.$this->originUr
df3e0 6c 20 3d 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 3d l.=.$originUrl;.$this->fileUrl.=
df400 20 24 66 69 6c 65 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 20 3d 20 24 66 69 .$fileUrl;.$this->fileName.=.$fi
df420 6c 65 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 leName;.$this->progress.=.$progr
df440 65 73 73 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 6e 75 6c 6c 3b ess;.$this->lastProgress.=.null;
df460 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 20 3d 20 74 72 75 65 3b .$this->retryAuthFailure.=.true;
df480 0a 24 74 68 69 73 2d 3e 6c 61 73 74 48 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 .$this->lastHeaders.=.array();.$
df4a0 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 20 3d 20 31 3b 20 0a 0a 0a 20 69 66 20 28 70 72 65 this->redirects.=.1;.....if.(pre
df4c0 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 5b 5e 3a 2f 5d 2b 29 3a 28 5b 5e g_match('{^https?://([^:/]+):([^
df4e0 40 2f 5d 2b 29 40 28 5b 5e 2f 5d 2b 29 7d 69 27 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6d 61 74 @/]+)@([^/]+)}i',.$fileUrl,.$mat
df500 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 ch)).{.$this->io->setAuthenticat
df520 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 ion($originUrl,.rawurldecode($ma
df540 74 63 68 5b 31 5d 29 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 32 5d 29 tch[1]),.rawurldecode($match[2])
df560 29 3b 0a 7d 0a 0a 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 20 3d 20 24 );.}..$tempAdditionalOptions.=.$
df580 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 additionalOptions;.if.(isset($te
df5a0 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 2d mpAdditionalOptions['retry-auth-
df5c0 66 61 69 6c 75 72 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 failure'])).{.$this->retryAuthFa
df5e0 69 6c 75 72 65 20 3d 20 28 62 6f 6f 6c 29 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 ilure.=.(bool).$tempAdditionalOp
df600 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 5d 3b 0a 0a 75 6e tions['retry-auth-failure'];..un
df620 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 set($tempAdditionalOptions['retr
df640 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 5d 29 3b 0a 7d 0a 0a 24 69 73 52 65 64 69 72 65 63 y-auth-failure']);.}..$isRedirec
df660 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 t.=.false;.if.(isset($tempAdditi
df680 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 29 29 20 7b 0a 24 74 68 onalOptions['redirects'])).{.$th
df6a0 69 73 2d 3e 72 65 64 69 72 65 63 74 73 20 3d 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f is->redirects.=.$tempAdditionalO
df6c0 70 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 3b 0a 24 69 73 52 65 64 69 72 65 63 74 ptions['redirects'];.$isRedirect
df6e0 20 3d 20 74 72 75 65 3b 0a 0a 75 6e 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f .=.true;..unset($tempAdditionalO
df700 70 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e ptions['redirects']);.}..$option
df720 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 46 6f 72 55 72 6c 28 24 6f 72 69 s.=.$this->getOptionsForUrl($ori
df740 67 69 6e 55 72 6c 2c 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b ginUrl,.$tempAdditionalOptions);
df760 0a 75 6e 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a .unset($tempAdditionalOptions);.
df780 0a 24 6f 72 69 67 46 69 6c 65 55 72 6c 20 3d 20 24 66 69 6c 65 55 72 6c 3b 0a 0a 69 66 20 28 69 .$origFileUrl.=.$fileUrl;..if.(i
df7a0 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 sset($options['github-token'])).
df7c0 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 {...if.(preg_match('{^https?://(
df7e0 5b 61 2d 7a 30 2d 39 2d 5d 2b 5c 2e 29 2a 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 7d 27 2c 20 24 66 [a-z0-9-]+\.)*github\.com/}',.$f
df800 69 6c 65 55 72 6c 29 29 20 7b 0a 24 66 69 6c 65 55 72 6c 20 2e 3d 20 28 66 61 6c 73 65 20 3d 3d ileUrl)).{.$fileUrl..=.(false.==
df820 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 3f 27 29 20 3f 20 27 3f 27 20 3a 20 =.strpos($fileUrl,.'?').?.'?'.:.
df840 27 26 27 29 20 2e 20 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 3d 27 2e 24 6f 70 74 69 6f 6e 73 5b '&')...'access_token='.$options[
df860 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 'github-token'];.}.unset($option
df880 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 s['github-token']);.}..if.(isset
df8a0 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 24 66 ($options['gitlab-token'])).{.$f
df8c0 69 6c 65 55 72 6c 20 2e 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 6c ileUrl..=.(false.===.strpos($fil
df8e0 65 55 72 6c 2c 20 27 3f 27 29 20 3f 20 27 3f 27 20 3a 20 27 26 27 29 20 2e 20 27 61 63 63 65 73 eUrl,.'?').?.'?'.:.'&')...'acces
df900 73 5f 74 6f 6b 65 6e 3d 27 2e 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e s_token='.$options['gitlab-token
df920 27 5d 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e '];.unset($options['gitlab-token
df940 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 ']);.}..if.(isset($options['http
df960 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 69 67 6e 6f 72 65 5f '])).{.$options['http']['ignore_
df980 65 72 72 6f 72 73 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 errors'].=.true;.}..if.($this->d
df9a0 65 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 egradedMode.&&.substr($fileUrl,.
df9c0 30 2c 20 32 36 29 20 3d 3d 3d 20 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 0,.26).===.'http://repo.packagis
df9e0 74 2e 6f 72 67 2f 27 29 20 7b 0a 0a 20 24 66 69 6c 65 55 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f t.org/').{...$fileUrl.=.'http://
dfa00 27 20 2e 20 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 28 27 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 '...gethostbyname('repo.packagis
dfa20 74 2e 6f 72 67 27 29 20 2e 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 32 30 29 3b 0a t.org')...substr($fileUrl,.20);.
dfa40 24 64 65 67 72 61 64 65 64 50 61 63 6b 61 67 69 73 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 63 $degradedPackagist.=.true;.}..$c
dfa60 74 78 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f tx.=.StreamContextFactory::getCo
dfa80 6e 74 65 78 74 28 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 ntext($fileUrl,.$options,.array(
dfaa0 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 'notification'.=>.array($this,.'
dfac0 63 61 6c 6c 62 61 63 6b 47 65 74 27 29 29 29 3b 0a 0a 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 callbackGet')));..$actualContext
dfae0 4f 70 74 69 6f 6e 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 6f 70 74 Options.=.stream_context_get_opt
dfb00 69 6f 6e 73 28 24 63 74 78 29 3b 0a 24 75 73 69 6e 67 50 72 6f 78 79 20 3d 20 21 65 6d 70 74 79 ions($ctx);.$usingProxy.=.!empty
dfb20 28 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 ($actualContextOptions['http']['
dfb40 70 72 6f 78 79 27 5d 29 20 3f 20 27 20 75 73 69 6e 67 20 70 72 6f 78 79 20 27 20 2e 20 24 61 63 proxy']).?.'.using.proxy.'...$ac
dfb60 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 tualContextOptions['http']['prox
dfb80 79 27 5d 20 3a 20 27 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 y'].:.'';.$this->io->writeError(
dfba0 28 73 75 62 73 74 72 28 24 6f 72 69 67 46 69 6c 65 55 72 6c 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 (substr($origFileUrl,.0,.4).===.
dfbc0 27 68 74 74 70 27 20 3f 20 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 27 20 3a 20 27 52 65 61 64 69 'http'.?.'Downloading.'.:.'Readi
dfbe0 6e 67 20 27 29 20 2e 20 24 6f 72 69 67 46 69 6c 65 55 72 6c 20 2e 20 24 75 73 69 6e 67 50 72 6f ng.')...$origFileUrl...$usingPro
dfc00 78 79 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 75 xy,.true,.IOInterface::DEBUG);.u
dfc20 6e 73 65 74 28 24 6f 72 69 67 46 69 6c 65 55 72 6c 2c 20 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 nset($origFileUrl,.$actualContex
dfc40 74 4f 70 74 69 6f 6e 73 29 3b 0a 0a 0a 20 69 66 20 28 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 tOptions);....if.((!preg_match('
dfc60 7b 5e 68 74 74 70 3a 2f 2f 28 72 65 70 6f 5c 2e 29 3f 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 {^http://(repo\.)?packagist\.org
dfc80 2f 70 2f 7d 27 2c 20 24 66 69 6c 65 55 72 6c 29 20 7c 7c 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 /p/}',.$fileUrl).||.(false.===.s
dfca0 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 24 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d trpos($fileUrl,.'$').&&.false.==
dfcc0 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 25 32 34 27 29 29 29 20 26 26 20 65 =.strpos($fileUrl,.'%24'))).&&.e
dfce0 6d 70 74 79 28 24 64 65 67 72 61 64 65 64 50 61 63 6b 61 67 69 73 74 29 20 26 26 20 24 74 68 69 mpty($degradedPackagist).&&.$thi
dfd00 73 2d 3e 63 6f 6e 66 69 67 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 s->config).{.$this->config->proh
dfd20 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 66 69 6c 65 55 72 6c 2c 20 24 74 68 69 73 2d ibitUrlByConfig($fileUrl,.$this-
dfd40 3e 69 6f 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 >io);.}..if.($this->progress.&&.
dfd60 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 !$isRedirect).{.$this->io->write
dfd80 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 63 6f 6e Error("Downloading.(<comment>con
dfda0 6e 65 63 74 69 6e 67 2e 2e 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a necting...</comment>)",.false);.
dfdc0 7d 0a 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 24 65 72 72 6f 72 43 6f 64 }..$errorMessage.=.'';.$errorCod
dfde0 65 20 3d 20 30 3b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 73 65 74 5f 65 72 72 6f e.=.0;.$result.=.false;.set_erro
dfe00 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 64 65 2c 20 24 6d 73 67 29 r_handler(function.($code,.$msg)
dfe20 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 72 72 .use.(&$errorMessage).{.if.($err
dfe40 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 22 5c orMessage).{.$errorMessage..=."\
dfe60 6e 22 3b 0a 7d 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c n";.}.$errorMessage..=.preg_repl
dfe80 61 63 65 28 27 7b 5e 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 2e 2a 3f 5c 29 3a ace('{^file_get_contents\(.*?\):
dfea0 20 7d 27 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 7d 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c .}',.'',.$msg);.});.try.{.$resul
dfec0 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 6d 6f 74 65 43 6f 6e 74 65 6e 74 73 28 24 6f 72 t.=.$this->getRemoteContents($or
dfee0 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 63 74 78 2c 20 24 68 74 74 70 5f 72 iginUrl,.$fileUrl,.$ctx,.$http_r
dff00 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 esponse_header);..if.(!empty($ht
dff20 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 73 74 61 74 75 tp_response_header[0])).{.$statu
dff40 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 sCode.=.$this->findStatusCode($h
dff60 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 ttp_response_header);.if.(in_arr
dff80 61 79 28 24 73 74 61 74 75 73 43 6f 64 65 2c 20 61 72 72 61 79 28 34 30 31 2c 20 34 30 33 29 29 ay($statusCode,.array(401,.403))
dffa0 20 26 26 20 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 24 .&&.$this->retryAuthFailure).{.$
dffc0 77 61 72 6e 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6e 64 48 warning.=.null;.if.($this->findH
dffe0 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 eaderValue($http_response_header
e0000 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 20 3d 3d 3d 20 27 61 70 70 6c 69 63 61 74 69 ,.'content-type').===.'applicati
e0020 6f 6e 2f 6a 73 6f 6e 27 29 20 7b 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 on/json').{.$data.=.json_decode(
e0040 24 72 65 73 75 6c 74 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 $result,.true);.if.(!empty($data
e0060 5b 27 77 61 72 6e 69 6e 67 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 20 3d 20 24 64 61 74 61 ['warning'])).{.$warning.=.$data
e0080 5b 27 77 61 72 6e 69 6e 67 27 5d 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 ['warning'];.}.}.$this->promptAu
e00a0 74 68 41 6e 64 52 65 74 72 79 28 24 73 74 61 74 75 73 43 6f 64 65 2c 20 24 74 68 69 73 2d 3e 66 thAndRetry($statusCode,.$this->f
e00c0 69 6e 64 53 74 61 74 75 73 4d 65 73 73 61 67 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f indStatusMessage($http_response_
e00e0 68 65 61 64 65 72 29 2c 20 24 77 61 72 6e 69 6e 67 2c 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 header),.$warning,.$http_respons
e0100 65 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 3d e_header);.}.}..$contentLength.=
e0120 20 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d .!empty($http_response_header[0]
e0140 29 20 3f 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 ).?.$this->findHeaderValue($http
e0160 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 _response_header,.'content-lengt
e0180 68 27 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 26 h').:.null;.if.($contentLength.&
e01a0 26 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c 74 29 20 3c 20 24 63 &.Platform::strlen($result).<.$c
e01c0 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 ontentLength).{...$e.=.new.Trans
e01e0 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 20 6d 69 portException('Content-Length.mi
e0200 73 6d 61 74 63 68 2c 20 72 65 63 65 69 76 65 64 20 27 2e 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 smatch,.received.'.Platform::str
e0220 6c 65 6e 28 24 72 65 73 75 6c 74 29 2e 27 20 62 79 74 65 73 20 6f 75 74 20 6f 66 20 74 68 65 20 len($result).'.bytes.out.of.the.
e0240 65 78 70 65 63 74 65 64 20 27 2e 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 24 65 2d 3e expected.'.$contentLength);.$e->
e0260 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 setHeaders($http_response_header
e0280 29 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 74 68 69 73 2d 3e 66 69 6e 64 );.$e->setStatusCode($this->find
e02a0 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 StatusCode($http_response_header
e02c0 29 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 24 74 ));.$e->setResponse($result);.$t
e02e0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e his->io->writeError('Content-Len
e0300 67 74 68 20 6d 69 73 6d 61 74 63 68 2c 20 72 65 63 65 69 76 65 64 20 27 2e 50 6c 61 74 66 6f 72 gth.mismatch,.received.'.Platfor
e0320 6d 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c 74 29 2e 27 20 6f 75 74 20 6f 66 20 27 2e 24 63 m::strlen($result).'.out.of.'.$c
e0340 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 2e 27 20 62 79 74 65 73 3a 20 28 27 20 2e 20 62 61 73 65 36 ontentLength.'.bytes:.('...base6
e0360 34 5f 65 6e 63 6f 64 65 28 24 72 65 73 75 6c 74 29 2e 27 29 27 2c 20 74 72 75 65 2c 20 49 4f 49 4_encode($result).')',.true,.IOI
e0380 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a nterface::DEBUG);..throw.$e;.}..
e03a0 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 21 65 if.(PHP_VERSION_ID.<.50600.&&.!e
e03c0 6d 70 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 mpty($options['ssl']['peer_finge
e03e0 72 70 72 69 6e 74 27 5d 29 29 20 7b 0a 0a 20 24 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f rprint'])).{...$params.=.stream_
e0400 63 6f 6e 74 65 78 74 5f 67 65 74 5f 70 61 72 61 6d 73 28 24 63 74 78 29 3b 0a 24 65 78 70 65 63 context_get_params($ctx);.$expec
e0420 74 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 73 tedPeerFingerprint.=.$options['s
e0440 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 72 70 72 69 6e 74 27 5d 3b 0a 24 70 65 65 72 46 sl']['peer_fingerprint'];.$peerF
e0460 69 6e 67 65 72 70 72 69 6e 74 20 3d 20 54 6c 73 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 ingerprint.=.TlsHelper::getCerti
e0480 66 69 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f ficateFingerprint($params['optio
e04a0 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 29 ns']['ssl']['peer_certificate'])
e04c0 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 65 63 74 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 6e ;....if.($expectedPeerFingerprin
e04e0 74 20 21 3d 3d 20 24 70 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 29 20 7b 0a 74 68 72 6f 77 20 t.!==.$peerFingerprint).{.throw.
e0500 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 50 65 65 72 20 66 69 6e new.TransportException('Peer.fin
e0520 67 65 72 70 72 69 6e 74 20 64 69 64 20 6e 6f 74 20 6d 61 74 63 68 27 29 3b 0a 7d 0a 7d 0a 7d 20 gerprint.did.not.match');.}.}.}.
e0540 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 catch.(\Exception.$e).{.if.($e.i
e0560 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 nstanceof.TransportException.&&.
e0580 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 !empty($http_response_header[0])
e05a0 29 20 7b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 ).{.$e->setHeaders($http_respons
e05c0 65 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 74 68 e_header);.$e->setStatusCode($th
e05e0 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 is->findStatusCode($http_respons
e0600 65 5f 68 65 61 64 65 72 29 29 3b 0a 7d 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 e_header));.}.if.($e.instanceof.
e0620 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 72 65 73 75 6c 74 20 21 3d TransportException.&&.$result.!=
e0640 3d 20 66 61 6c 73 65 29 20 7b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 =.false).{.$e->setResponse($resu
e0660 6c 74 29 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 lt);.}.$result.=.false;.}.if.($e
e0680 72 72 6f 72 4d 65 73 73 61 67 65 20 26 26 20 21 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 rrorMessage.&&.!ini_get('allow_u
e06a0 72 6c 5f 66 6f 70 65 6e 27 29 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 61 rl_fopen')).{.$errorMessage.=.'a
e06c0 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 69 llow_url_fopen.must.be.enabled.i
e06e0 6e 20 70 68 70 2e 69 6e 69 20 28 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2e 27 29 27 3b 0a n.php.ini.('.$errorMessage.')';.
e0700 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 69 }.restore_error_handler();.if.(i
e0720 73 73 65 74 28 24 65 29 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 69 66 20 sset($e).&&.!$this->retry).{.if.
e0740 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 66 61 6c 73 65 20 21 (!$this->degradedMode.&&.false.!
e0760 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 4f 70 65 ==.strpos($e->getMessage(),.'Ope
e0780 72 61 74 69 6f 6e 20 74 69 6d 65 64 20 6f 75 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 67 ration.timed.out')).{.$this->deg
e07a0 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 radedMode.=.true;.$this->io->wri
e07c0 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 teError('');.$this->io->writeErr
e07e0 6f 72 28 61 72 72 61 79 28 0a 27 3c 65 72 72 6f 72 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 or(array(.'<error>'.$e->getMessa
e0800 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e ge().'</error>',.'<error>Retryin
e0820 67 20 77 69 74 68 20 64 65 67 72 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 g.with.degraded.mode,.check.http
e0840 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 s://getcomposer.org/doc/articles
e0860 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 /troubleshooting.md#degraded-mod
e0880 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 e.for.more.info</error>',.));..r
e08a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 eturn.$this->get($this->originUr
e08c0 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 l,.$this->fileUrl,.$additionalOp
e08e0 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 tions,.$this->fileName,.$this->p
e0900 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 73 74 61 74 75 rogress);.}..throw.$e;.}..$statu
e0920 73 43 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 6e 75 6c sCode.=.null;.$contentType.=.nul
e0940 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 l;.if.(!empty($http_response_hea
e0960 64 65 72 5b 30 5d 29 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e der[0])).{.$statusCode.=.$this->
e0980 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 findStatusCode($http_response_he
e09a0 61 64 65 72 29 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e ader);.$contentType.=.$this->fin
e09c0 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 dHeaderValue($http_response_head
e09e0 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6f er,.'content-type');.}....if.($o
e0a00 72 69 67 69 6e 55 72 6c 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 0a 26 26 20 riginUrl.===.'bitbucket.org'.&&.
e0a20 21 24 74 68 69 73 2d 3e 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 !$this->isPublicBitBucketDownloa
e0a40 64 28 24 66 69 6c 65 55 72 6c 29 0a 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 d($fileUrl).&&.substr($fileUrl,.
e0a60 2d 34 29 20 3d 3d 3d 20 27 2e 7a 69 70 27 0a 26 26 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 26 -4).===.'.zip'.&&.$contentType.&
e0a80 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 74 65 78 74 2f 68 74 6d 6c 5c 62 7d 69 27 2c 20 &.preg_match('{^text/html\b}i',.
e0aa0 24 63 6f 6e 74 65 6e 74 54 79 70 65 29 0a 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 $contentType).).{.$result.=.fals
e0ac0 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 e;.if.($this->retryAuthFailure).
e0ae0 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 34 30 31 29 {.$this->promptAuthAndRetry(401)
e0b00 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 3d 3d 3d 20 34 30 34 ;.}.}....if.($statusCode.===.404
e0b20 0a 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6f .&&.$this->config.&&.in_array($o
e0b40 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 riginUrl,.$this->config->get('gi
e0b60 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 0a 26 26 20 66 61 6c 73 65 20 21 tlab-domains'),.true).&&.false.!
e0b80 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 61 72 63 68 69 76 65 2e 7a 69 70 ==.strpos($fileUrl,.'archive.zip
e0ba0 27 29 0a 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 ').).{.$result.=.false;.if.($thi
e0bc0 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 s->retryAuthFailure).{.$this->pr
e0be0 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 68 omptAuthAndRetry(401);.}.}....$h
e0c00 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 63 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 asFollowedRedirect.=.false;.if.(
e0c20 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 33 30 30 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 $statusCode.>=.300.&&.$statusCod
e0c40 65 20 3c 3d 20 33 39 39 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 21 3d 3d 20 33 30 34 20 e.<=.399.&&.$statusCode.!==.304.
e0c60 26 26 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 20 3c 20 24 74 68 69 73 2d 3e 6d 61 78 &&.$this->redirects.<.$this->max
e0c80 52 65 64 69 72 65 63 74 73 29 20 7b 0a 24 68 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 63 Redirects).{.$hasFollowedRedirec
e0ca0 74 20 3d 20 74 72 75 65 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c t.=.true;.$result.=.$this->handl
e0cc0 65 52 65 64 69 72 65 63 74 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c eRedirect($http_response_header,
e0ce0 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 72 65 73 75 6c 74 29 3b 0a 7d .$additionalOptions,.$result);.}
e0d00 0a 0a 0a 20 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 26 26 20 24 73 74 61 74 75 73 43 6f ....if.($statusCode.&&.$statusCo
e0d20 64 65 20 3e 3d 20 34 30 30 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 3c 3d 20 35 39 39 29 de.>=.400.&&.$statusCode.<=.599)
e0d40 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 69 66 20 28 24 74 68 69 .{.if.(!$this->retry).{.if.($thi
e0d60 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 20 26 26 20 s->progress.&&.!$this->retry.&&.
e0d80 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 !$isRedirect).{.$this->io->overw
e0da0 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 65 72 72 6f 72 3e 66 riteError("Downloading.(<error>f
e0dc0 61 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 65 20 3d ailed</error>)",.false);.}..$e.=
e0de0 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e .new.TransportException('The."'.
e0e00 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 $this->fileUrl.'".file.could.not
e0e20 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 28 27 2e 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 .be.downloaded.('.$http_response
e0e40 5f 68 65 61 64 65 72 5b 30 5d 2e 27 29 27 2c 20 24 73 74 61 74 75 73 43 6f 64 65 29 3b 0a 24 65 _header[0].')',.$statusCode);.$e
e0e60 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 ->setHeaders($http_response_head
e0e80 65 72 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 24 er);.$e->setResponse($result);.$
e0ea0 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 73 43 6f 64 65 29 3b 0a 74 e->setStatusCode($statusCode);.t
e0ec0 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 hrow.$e;.}.$result.=.false;.}..i
e0ee0 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 f.($this->progress.&&.!$this->re
e0f00 74 72 79 20 26 26 20 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f try.&&.!$isRedirect).{.$this->io
e0f20 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 22 ->overwriteError("Downloading.("
e0f40 2e 28 24 72 65 73 75 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 3c 65 72 72 6f 72 3e 66 61 .($result.===.false.?.'<error>fa
e0f60 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 27 20 3a 20 27 3c 63 6f 6d 6d 65 6e 74 3e 31 30 30 25 3c 2f iled</error>'.:.'<comment>100%</
e0f80 63 6f 6d 6d 65 6e 74 3e 27 29 2e 22 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 comment>').")",.false);.}....if.
e0fa0 28 24 72 65 73 75 6c 74 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c ($result.&&.extension_loaded('zl
e0fc0 69 62 27 29 20 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 30 2c 20 34 29 20 3d ib').&&.substr($fileUrl,.0,.4).=
e0fe0 3d 3d 20 27 68 74 74 70 27 20 26 26 20 21 24 68 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 ==.'http'.&&.!$hasFollowedRedire
e1000 63 74 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e ct).{.$contentEncoding.=.$this->
e1020 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 findHeaderValue($http_response_h
e1040 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 65 6e 63 6f 64 69 6e 67 27 29 3b 0a 24 64 65 63 eader,.'content-encoding');.$dec
e1060 6f 64 65 20 3d 20 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 26 26 20 27 67 7a 69 70 27 ode.=.$contentEncoding.&&.'gzip'
e1080 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 .===.strtolower($contentEncoding
e10a0 29 3b 0a 0a 69 66 20 28 24 64 65 63 6f 64 65 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 50 48 50 );..if.($decode).{.try.{.if.(PHP
e10c0 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 29 20 7b 0a 24 72 65 73 75 6c 74 20 _VERSION_ID.>=.50400).{.$result.
e10e0 3d 20 7a 6c 69 62 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 20 7b =.zlib_decode($result);.}.else.{
e1100 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 27 ...$result.=.file_get_contents('
e1120 63 6f 6d 70 72 65 73 73 2e 7a 6c 69 62 3a 2f 2f 64 61 74 61 3a 61 70 70 6c 69 63 61 74 69 6f 6e compress.zlib://data:application
e1140 2f 6f 63 74 65 74 2d 73 74 72 65 61 6d 3b 62 61 73 65 36 34 2c 27 2e 62 61 73 65 36 34 5f 65 6e /octet-stream;base64,'.base64_en
e1160 63 6f 64 65 28 24 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 65 73 75 6c 74 29 code($result));.}..if.(!$result)
e1180 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 .{.throw.new.TransportException(
e11a0 27 46 61 69 6c 65 64 20 74 6f 20 64 65 63 6f 64 65 20 7a 6c 69 62 20 73 74 72 65 61 6d 27 29 3b 'Failed.to.decode.zlib.stream');
e11c0 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 .}.}.catch.(\Exception.$e).{.if.
e11e0 28 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 ($this->degradedMode).{.throw.$e
e1200 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b ;.}..$this->degradedMode.=.true;
e1220 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 .$this->io->writeError(array(.''
e1240 2c 0a 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 64 65 63 6f 64 65 20 72 65 73 70 6f ,.'<error>Failed.to.decode.respo
e1260 6e 73 65 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 nse:.'.$e->getMessage().'</error
e1280 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 61 64 >',.'<error>Retrying.with.degrad
e12a0 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 ed.mode,.check.https://getcompos
e12c0 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 er.org/doc/articles/troubleshoot
e12e0 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e ing.md#degraded-mode.for.more.in
e1300 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e fo</error>',.));..return.$this->
e1320 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c get($this->originUrl,.$this->fil
e1340 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d eUrl,.$additionalOptions,.$this-
e1360 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 7d >fileName,.$this->progress);.}.}
e1380 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 6e .}....if.(false.!==.$result.&&.n
e13a0 75 6c 6c 20 21 3d 3d 20 24 66 69 6c 65 4e 61 6d 65 20 26 26 20 21 24 69 73 52 65 64 69 72 65 63 ull.!==.$fileName.&&.!$isRedirec
e13c0 74 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 t).{.if.(''.===.$result).{.throw
e13e0 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 74 68 69 .new.TransportException('"'.$thi
e1400 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 61 70 70 65 61 72 73 20 62 72 6f 6b 65 6e 2c 20 61 6e s->fileUrl.'".appears.broken,.an
e1420 64 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 6d 70 74 79 20 32 30 30 20 72 65 73 70 6f 6e 73 65 d.returned.an.empty.200.response
e1440 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 73 65 74 5f 65 ');.}..$errorMessage.=.'';.set_e
e1460 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 64 65 2c 20 24 6d rror_handler(function.($code,.$m
e1480 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 sg).use.(&$errorMessage).{.if.($
e14a0 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d errorMessage).{.$errorMessage..=
e14c0 20 22 5c 6e 22 3b 0a 7d 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 72 65 67 5f 72 ."\n";.}.$errorMessage..=.preg_r
e14e0 65 70 6c 61 63 65 28 27 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 2e 2a 3f eplace('{^file_put_contents\(.*?
e1500 5c 29 3a 20 7d 27 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 7d 29 3b 0a 24 72 65 73 75 6c 74 20 3d \):.}',.'',.$msg);.});.$result.=
e1520 20 28 62 6f 6f 6c 29 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 4e .(bool).file_put_contents($fileN
e1540 61 6d 65 2c 20 24 72 65 73 75 6c 74 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e ame,.$result);.restore_error_han
e1560 64 6c 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b dler();.if.(false.===.$result).{
e1580 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 54 .throw.new.TransportException('T
e15a0 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 20 63 6f 75 he."'.$this->fileUrl.'".file.cou
e15c0 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 27 2e 24 66 69 6c 65 4e 61 6d 65 ld.not.be.written.to.'.$fileName
e15e0 2e 27 3a 20 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 .':.'.$errorMessage);.}.}....if.
e1600 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 (false.===.$result.&&.false.!==.
e1620 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 27 50 65 65 72 20 63 65 72 74 strpos($errorMessage,.'Peer.cert
e1640 69 66 69 63 61 74 65 27 29 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 ificate').&&.PHP_VERSION_ID.<.50
e1660 36 30 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 600).{..........................
e1680 20 0a 20 0a 20 0a 20 69 66 20 28 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 .......if.(CaBundle::isOpensslPa
e16a0 72 73 65 53 61 66 65 28 29 29 20 7b 0a 24 63 65 72 74 44 65 74 61 69 6c 73 20 3d 20 24 74 68 69 rseSafe()).{.$certDetails.=.$thi
e16c0 73 2d 3e 67 65 74 43 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 70 28 24 74 68 69 73 2d 3e s->getCertificateCnAndFp($this->
e16e0 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 63 65 72 74 44 65 fileUrl,.$options);..if.($certDe
e1700 74 61 69 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 4d tails).{.$this->peerCertificateM
e1720 61 70 5b 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 79 28 24 74 68 69 73 2d ap[$this->getUrlAuthority($this-
e1740 3e 66 69 6c 65 55 72 6c 29 5d 20 3d 20 24 63 65 72 74 44 65 74 61 69 6c 73 3b 0a 0a 24 74 68 69 >fileUrl)].=.$certDetails;..$thi
e1760 73 2d 3e 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 s->retry.=.true;.}.}.else.{.$thi
e1780 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f s->io->writeError('');.$this->io
e17a0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c 65 72 72 6f 72 3e 59 6f ->writeError(sprintf(.'<error>Yo
e17c0 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 25 73 2c 20 69 73 20 61 66 66 65 63 74 ur.version.of.PHP,.%s,.is.affect
e17e0 65 64 20 62 79 20 43 56 45 2d 32 30 31 33 2d 36 34 32 30 20 61 6e 64 20 63 61 6e 6e 6f 74 20 73 ed.by.CVE-2013-6420.and.cannot.s
e1800 61 66 65 6c 79 20 70 65 72 66 6f 72 6d 20 63 65 72 74 69 66 69 63 61 74 65 20 76 61 6c 69 64 61 afely.perform.certificate.valida
e1820 74 69 6f 6e 2c 20 77 65 20 73 74 72 6f 6e 67 6c 79 20 73 75 67 67 65 73 74 20 79 6f 75 20 75 70 tion,.we.strongly.suggest.you.up
e1840 67 72 61 64 65 2e 3c 2f 65 72 72 6f 72 3e 27 2c 0a 50 48 50 5f 56 45 52 53 49 4f 4e 0a 29 29 3b grade.</error>',.PHP_VERSION.));
e1860 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 24 74 68 69 73 2d .}.}..if.($this->retry).{.$this-
e1880 3e 72 65 74 72 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 >retry.=.false;..$result.=.$this
e18a0 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 ->get($this->originUrl,.$this->f
e18c0 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 ileUrl,.$additionalOptions,.$thi
e18e0 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 0a s->fileName,.$this->progress);..
e1900 69 66 20 28 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 26 26 20 24 74 68 69 73 2d 3e 63 if.($this->storeAuth.&&.$this->c
e1920 6f 6e 66 69 67 29 20 7b 0a 24 61 75 74 68 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 41 75 74 68 48 onfig).{.$authHelper.=.new.AuthH
e1940 65 6c 70 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b elper($this->io,.$this->config);
e1960 0a 24 61 75 74 68 48 65 6c 70 65 72 2d 3e 73 74 6f 72 65 41 75 74 68 28 24 74 68 69 73 2d 3e 6f .$authHelper->storeAuth($this->o
e1980 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 29 3b 0a 24 74 68 riginUrl,.$this->storeAuth);.$th
e19a0 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e is->storeAuth.=.false;.}..return
e19c0 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 .$result;.}..if.(false.===.$resu
e19e0 6c 74 29 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f lt).{.$e.=.new.TransportExceptio
e1a00 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 n('The."'.$this->fileUrl.'".file
e1a20 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 3a 20 27 2e 24 65 72 72 .could.not.be.downloaded:.'.$err
e1a40 6f 72 4d 65 73 73 61 67 65 2c 20 24 65 72 72 6f 72 43 6f 64 65 29 3b 0a 69 66 20 28 21 65 6d 70 orMessage,.$errorCode);.if.(!emp
e1a60 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a ty($http_response_header[0])).{.
e1a80 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 $e->setHeaders($http_response_he
e1aa0 61 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f ader);.}..if.(!$this->degradedMo
e1ac0 64 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 de.&&.false.!==.strpos($e->getMe
e1ae0 73 73 61 67 65 28 29 2c 20 27 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d 65 64 20 6f 75 74 27 29 29 ssage(),.'Operation.timed.out'))
e1b00 20 7b 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 24 .{.$this->degradedMode.=.true;.$
e1b20 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d this->io->writeError('');.$this-
e1b40 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 3c 65 72 72 6f 72 3e 27 >io->writeError(array(.'<error>'
e1b60 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 0a 27 3c .$e->getMessage().'</error>',.'<
e1b80 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 61 64 65 64 20 6d 6f 64 error>Retrying.with.degraded.mod
e1ba0 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 e,.check.https://getcomposer.org
e1bc0 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 /doc/articles/troubleshooting.md
e1be0 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 3c 2f 65 72 #degraded-mode.for.more.info</er
e1c00 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 ror>',.));..return.$this->get($t
e1c20 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 his->originUrl,.$this->fileUrl,.
e1c40 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e $additionalOptions,.$this->fileN
e1c60 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 ame,.$this->progress);.}..throw.
e1c80 24 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 $e;.}..if.(!empty($http_response
e1ca0 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 48 65 61 64 65 72 _header[0])).{.$this->lastHeader
e1cc0 73 20 3d 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 3b 0a 7d 0a 0a 72 65 s.=.$http_response_header;.}..re
e1ce0 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 turn.$result;.}...........protec
e1d00 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6d 6f 74 65 43 6f 6e 74 65 6e 74 73 28 24 ted.function.getRemoteContents($
e1d20 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 63 6f 6e 74 65 78 74 2c 20 61 originUrl,.$fileUrl,.$context,.a
e1d40 72 72 61 79 20 26 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 3d 20 6e 75 6c 6c 29 0a 7b rray.&$responseHeaders.=.null).{
e1d60 0a 74 72 79 20 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 .try.{.$e.=.null;.$result.=.file
e1d80 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 55 72 6c 2c 20 66 61 6c 73 65 2c 20 24 _get_contents($fileUrl,.false,.$
e1da0 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 context);.}.catch.(\Throwable.$e
e1dc0 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a ).{.}.catch.(\Exception.$e).{.}.
e1de0 0a 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 3d 20 69 73 73 65 74 28 24 68 74 74 70 5f .$responseHeaders.=.isset($http_
e1e00 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 20 3f 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 response_header).?.$http_respons
e1e20 65 5f 68 65 61 64 65 72 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d e_header.:.array();..if.(null.!=
e1e40 3d 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 =.$e).{.throw.$e;.}..return.$res
e1e60 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ult;.}.............protected.fun
e1e80 63 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 47 65 74 28 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 43 ction.callbackGet($notificationC
e1ea0 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 65 73 73 61 ode,.$severity,.$message,.$messa
e1ec0 67 65 43 6f 64 65 2c 20 24 62 79 74 65 73 54 72 61 6e 73 66 65 72 72 65 64 2c 20 24 62 79 74 65 geCode,.$bytesTransferred,.$byte
e1ee0 73 4d 61 78 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 43 6f 64 sMax).{.switch.($notificationCod
e1f00 65 29 20 7b 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 46 41 49 4c 55 52 45 3a e).{.case.STREAM_NOTIFY_FAILURE:
e1f20 0a 69 66 20 28 34 30 30 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 20 7b 0a 0a 20 0a .if.(400.===.$messageCode).{....
e1f40 20 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 54 .throw.new.TransportException("T
e1f60 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 he.'"...$this->fileUrl..."'.URL.
e1f80 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 22 20 2e 20 24 6d 65 73 73 could.not.be.accessed:."...$mess
e1fa0 61 67 65 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 age,.$messageCode);.}.break;..ca
e1fc0 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 46 49 4c 45 5f 53 49 5a 45 5f 49 53 3a 0a 24 se.STREAM_NOTIFY_FILE_SIZE_IS:.$
e1fe0 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3d 20 24 62 79 74 65 73 4d 61 78 3b 0a 62 72 65 61 this->bytesMax.=.$bytesMax;.brea
e2000 6b 3b 0a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 50 52 4f 47 52 45 53 53 3a k;..case.STREAM_NOTIFY_PROGRESS:
e2020 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3e 20 30 20 26 26 20 24 74 68 69 .if.($this->bytesMax.>.0.&&.$thi
e2040 73 2d 3e 70 72 6f 67 72 65 73 73 29 20 7b 0a 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 3d 20 6d 69 s->progress).{.$progression.=.mi
e2060 6e 28 31 30 30 2c 20 72 6f 75 6e 64 28 24 62 79 74 65 73 54 72 61 6e 73 66 65 72 72 65 64 20 2f n(100,.round($bytesTransferred./
e2080 20 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 2a 20 31 30 30 29 29 3b 0a 0a 69 66 20 28 28 .$this->bytesMax.*.100));..if.((
e20a0 30 20 3d 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 25 20 35 29 20 26 26 20 31 30 30 20 21 0.===.$progression.%.5).&&.100.!
e20c0 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 26 26 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 ==.$progression.&&.$progression.
e20e0 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 !==.$this->lastProgress).{.$this
e2100 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 3b 0a 24 ->lastProgress.=.$progression;.$
e2120 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f this->io->overwriteError("Downlo
e2140 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 24 70 72 6f 67 72 65 73 73 69 6f 6e 25 3c 2f 63 ading.(<comment>$progression%</c
e2160 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 omment>)",.false);.}.}.break;..d
e2180 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 efault:.break;.}.}..protected.fu
e21a0 6e 63 74 69 6f 6e 20 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 24 68 74 74 70 53 nction.promptAuthAndRetry($httpS
e21c0 74 61 74 75 73 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 77 61 72 6e 69 6e 67 20 tatus,.$reason.=.null,.$warning.
e21e0 3d 20 6e 75 6c 6c 2c 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 =.null,.$headers.=.array()).{.if
e2200 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 74 68 69 .($this->config.&&.in_array($thi
e2220 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 s->originUrl,.$this->config->get
e2240 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 67 69 ('github-domains'),.true)).{.$gi
e2260 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 68 69 73 2d 3e 69 6f 2c tHubUtil.=.new.GitHub($this->io,
e2280 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 29 3b 0a 24 6d 65 73 73 61 67 65 20 .$this->config,.null);.$message.
e22a0 3d 20 22 5c 6e 22 3b 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 24 67 69 74 48 75 62 55 =."\n";..$rateLimited.=.$gitHubU
e22c0 74 69 6c 2d 3e 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 24 68 65 61 64 65 72 73 29 3b 0a 69 66 til->isRateLimited($headers);.if
e22e0 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 65 4c 69 6d 69 74 20 3d 20 24 .($rateLimited).{.$rateLimit.=.$
e2300 67 69 74 48 75 62 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d 69 74 28 24 68 65 61 64 65 72 gitHubUtil->getRateLimit($header
e2320 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 s);.if.($this->io->hasAuthentica
e2340 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 6d 65 73 73 61 tion($this->originUrl)).{.$messa
e2360 67 65 20 3d 20 27 52 65 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 67 75 72 65 64 20 47 69 74 ge.=.'Review.your.configured.Git
e2380 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 72 20 61 20 6e 65 77 20 6f Hub.OAuth.token.or.enter.a.new.o
e23a0 6e 65 20 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 ne.to.go.over.the.API.rate.limit
e23c0 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 72 65 61 74 65 20 .';.}.else.{.$message.=.'Create.
e23e0 61 20 47 69 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 67 6f 20 6f 76 65 72 20 a.GitHub.OAuth.token.to.go.over.
e2400 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 2e 27 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 the.API.rate.limit.';.}..$messag
e2420 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 47 69 74 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 28 e.=.sprintf(.'GitHub.API.limit.(
e2440 25 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 78 68 61 75 73 74 65 64 2c 20 63 6f 75 6c 64 %d.calls/hr).is.exhausted,.could
e2460 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 2e 20 27 .not.fetch.'.$this->fileUrl.'..'
e2480 2e 24 6d 65 73 73 61 67 65 2e 27 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 77 61 69 74 20 75 6e .$message.'.You.can.also.wait.un
e24a0 74 69 6c 20 25 73 20 66 6f 72 20 74 68 65 20 72 61 74 65 20 6c 69 6d 69 74 20 74 6f 20 72 65 73 til.%s.for.the.rate.limit.to.res
e24c0 65 74 2e 27 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 5d 2c 0a 24 72 61 74 65 et.',.$rateLimit['limit'],.$rate
e24e0 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 0a 29 2e 22 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a Limit['reset'].)."\n";.}.else.{.
e2500 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 $message..=.'Could.not.fetch.'.$
e2520 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 2c 20 70 6c 65 61 73 65 20 27 3b 0a 69 66 20 28 24 this->fileUrl.',.please.';.if.($
e2540 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 this->io->hasAuthentication($thi
e2560 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 72 65 s->originUrl)).{.$message..=.'re
e2580 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 67 75 72 65 64 20 47 69 74 48 75 62 20 4f 41 75 74 view.your.configured.GitHub.OAut
e25a0 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 72 20 61 20 6e 65 77 20 6f 6e 65 20 74 6f 20 61 63 h.token.or.enter.a.new.one.to.ac
e25c0 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d cess.private.repos';.}.else.{.$m
e25e0 65 73 73 61 67 65 20 2e 3d 20 27 63 72 65 61 74 65 20 61 20 47 69 74 48 75 62 20 4f 41 75 74 68 essage..=.'create.a.GitHub.OAuth
e2600 20 74 6f 6b 65 6e 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b .token.to.access.private.repos';
e2620 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a .}.}..if.(!$gitHubUtil->authoriz
e2640 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 28 21 24 74 eOAuth($this->originUrl).&&.(!$t
e2660 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 67 69 his->io->isInteractive().||.!$gi
e2680 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 tHubUtil->authorizeOAuthInteract
e26a0 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 ively($this->originUrl,.$message
e26c0 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 )).).{.throw.new.TransportExcept
e26e0 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 ion('Could.not.authenticate.agai
e2700 6e 73 74 20 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a nst.'.$this->originUrl,.401);.}.
e2720 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 }.elseif.($this->config.&&.in_ar
e2740 72 61 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ray($this->originUrl,.$this->con
e2760 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 fig->get('gitlab-domains'),.true
e2780 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 2e 27 43 6f 75 6c 64 20 6e 6f 74 20 )).{.$message.=."\n".'Could.not.
e27a0 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 2c 20 65 6e 74 65 72 20 fetch.'.$this->fileUrl.',.enter.
e27c0 79 6f 75 72 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 20 63 72 your.'...$this->originUrl...'.cr
e27e0 65 64 65 6e 74 69 61 6c 73 20 27 20 2e 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 edentials.'..($httpStatus.===.40
e2800 31 20 3f 20 27 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 20 3a 20 1.?.'to.access.private.repos'.:.
e2820 27 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 27 29 'to.go.over.the.API.rate.limit')
e2840 3b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c 61 62 28 24 74 68 69 73 ;.$gitLabUtil.=.new.GitLab($this
e2860 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 29 3b 0a 0a 69 66 20 ->io,.$this->config,.null);..if.
e2880 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 ($this->io->hasAuthentication($t
e28a0 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 28 24 61 75 74 68 20 3d 20 24 74 68 69 his->originUrl).&&.($auth.=.$thi
e28c0 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e s->io->getAuthentication($this->
e28e0 6f 72 69 67 69 6e 55 72 6c 29 29 20 26 26 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d originUrl)).&&.$auth['password']
e2900 20 3d 3d 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .===.'private-token').{.throw.ne
e2920 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 63 72 w.TransportException("Invalid.cr
e2940 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 edentials.for.'"...$this->fileUr
e2960 6c 20 2e 20 22 27 2c 20 61 62 6f 72 74 69 6e 67 2e 22 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 l..."',.aborting.",.$httpStatus)
e2980 3b 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 ;.}..if.(!$gitLabUtil->authorize
e29a0 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 28 21 24 74 68 OAuth($this->originUrl).&&.(!$th
e29c0 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 67 69 74 is->io->isInteractive().||.!$git
e29e0 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 LabUtil->authorizeOAuthInteracti
e2a00 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 vely($this->scheme,.$this->origi
e2a20 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 nUrl,.$message)).).{.throw.new.T
e2a40 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 ransportException('Could.not.aut
e2a60 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 henticate.against.'.$this->origi
e2a80 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 nUrl,.401);.}.}.elseif.($this->c
e2aa0 6f 6e 66 69 67 20 26 26 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 3d 3d 20 27 62 onfig.&&.$this->originUrl.===.'b
e2ac0 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 24 61 73 6b 46 6f 72 4f 41 75 74 68 54 6f 6b itbucket.org').{.$askForOAuthTok
e2ae0 65 6e 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 en.=.true;.if.($this->io->hasAut
e2b00 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b hentication($this->originUrl)).{
e2b20 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 .$auth.=.$this->io->getAuthentic
e2b40 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 69 66 20 28 24 61 75 ation($this->originUrl);.if.($au
e2b60 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d 3d 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 th['username'].!==.'x-token-auth
e2b80 27 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 ').{.$bitbucketUtil.=.new.Bitbuc
e2ba0 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 ket($this->io,.$this->config);.$
e2bc0 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 72 65 accessToken.=.$bitbucketUtil->re
e2be0 71 75 65 73 74 54 6f 6b 65 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 75 questToken($this->originUrl,.$au
e2c00 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 th['username'],.$auth['password'
e2c20 5d 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 29 20 7b 0a ]);.if.(!empty($accessToken)).{.
e2c40 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 $this->io->setAuthentication($th
e2c60 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 24 is->originUrl,.'x-token-auth',.$
e2c80 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 24 61 73 6b 46 6f 72 4f 41 75 74 68 54 6f 6b 65 6e 20 accessToken);.$askForOAuthToken.
e2ca0 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 =.false;.}.}.else.{.throw.new.Tr
e2cc0 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 ansportException('Could.not.auth
e2ce0 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 enticate.against.'...$this->orig
e2d00 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 61 73 6b 46 6f 72 4f 41 75 inUrl,.401);.}.}..if.($askForOAu
e2d20 74 68 54 6f 6b 65 6e 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 2e 27 43 6f 75 6c thToken).{.$message.=."\n".'Coul
e2d40 64 20 6e 6f 74 20 66 65 74 63 68 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e d.not.fetch.'...$this->fileUrl..
e2d60 20 27 2c 20 70 6c 65 61 73 65 20 63 72 65 61 74 65 20 61 20 62 69 74 62 75 63 6b 65 74 20 4f 41 .',.please.create.a.bitbucket.OA
e2d80 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 27 20 2e 20 28 28 24 68 74 74 70 53 74 61 74 75 73 20 3d uth.token.to.'...(($httpStatus.=
e2da0 3d 3d 20 34 30 31 20 7c 7c 20 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 33 29 20 3f ==.401.||.$httpStatus.===.403).?
e2dc0 20 27 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 20 3a 20 27 67 6f 20 6f 76 .'access.private.repos'.:.'go.ov
e2de0 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 27 29 3b 0a 24 62 69 74 42 75 63 er.the.API.rate.limit');.$bitBuc
e2e00 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 ketUtil.=.new.Bitbucket($this->i
e2e20 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 69 66 20 28 21 20 24 62 69 74 42 75 63 o,.$this->config);.if.(!.$bitBuc
e2e40 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f ketUtil->authorizeOAuth($this->o
e2e60 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 28 21 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 riginUrl).&&.(!.$this->io->isInt
e2e80 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 62 69 74 42 75 63 6b 65 74 55 74 69 6c 2d 3e 61 eractive().||.!$bitBucketUtil->a
e2ea0 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 uthorizeOAuthInteractively($this
e2ec0 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f ->originUrl,.$message)).).{.thro
e2ee0 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 w.new.TransportException('Could.
e2f00 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 27 20 2e 20 24 74 68 not.authenticate.against.'...$th
e2f20 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 is->originUrl,.401);.}.}.}.else.
e2f40 7b 0a 0a 20 69 66 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 72 {...if.($httpStatus.===.404).{.r
e2f60 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e eturn;.}....if.(!$this->io->isIn
e2f80 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d teractive()).{.if.($httpStatus.=
e2fa0 3d 3d 20 34 30 31 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 54 68 65 20 27 22 20 2e 20 24 ==.401).{.$message.=."The.'"...$
e2fc0 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 72 65 71 75 69 72 65 64 20 this->fileUrl..."'.URL.required.
e2fe0 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 5c 6e 59 6f 75 20 6d 75 73 74 20 62 65 20 75 73 69 authentication.\nYou.must.be.usi
e3000 6e 67 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 6f 6e 73 6f 6c 65 20 74 6f 20 61 75 ng.the.interactive.console.to.au
e3020 74 68 65 6e 74 69 63 61 74 65 22 3b 0a 7d 0a 69 66 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d thenticate";.}.if.($httpStatus.=
e3040 3d 3d 20 34 30 33 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 54 68 65 20 27 22 20 2e 20 24 ==.403).{.$message.=."The.'"...$
e3060 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 63 6f 75 6c 64 20 6e 6f 74 this->fileUrl..."'.URL.could.not
e3080 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 22 20 2e 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 74 68 .be.accessed:."...$reason;.}..th
e30a0 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 row.new.TransportException($mess
e30c0 61 67 65 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 74 68 69 73 age,.$httpStatus);.}...if.($this
e30e0 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f ->io->hasAuthentication($this->o
e3100 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 riginUrl)).{.throw.new.Transport
e3120 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 Exception("Invalid.credentials.f
e3140 6f 72 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 2c 20 61 62 6f or.'"...$this->fileUrl..."',.abo
e3160 72 74 69 6e 67 2e 22 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d rting.",.$httpStatus);.}..$this-
e3180 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 69 66 20 28 24 77 61 >io->overwriteError('');.if.($wa
e31a0 72 6e 69 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 rning).{.$this->io->writeError('
e31c0 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 77 61 72 6e 69 6e 67 2e 27 3c 2f 77 61 72 6e 69 ....<warning>'.$warning.'</warni
e31e0 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 ng>');.}.$this->io->writeError('
e3200 20 20 20 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 28 3c 69 6e ....Authentication.required.(<in
e3220 66 6f 3e 27 2e 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 50 fo>'.parse_url($this->fileUrl,.P
e3240 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2e 27 3c 2f 69 6e 66 6f 3e 29 3a 27 29 3b 0a 24 75 73 65 72 HP_URL_HOST).'</info>):');.$user
e3260 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 20 20 55 73 65 name.=.$this->io->ask('......Use
e3280 72 6e 61 6d 65 3a 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 69 6f rname:.');.$password.=.$this->io
e32a0 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 20 20 20 50 61 73 73 77 6f ->askAndHideAnswer('......Passwo
e32c0 72 64 3a 20 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 rd:.');.$this->io->setAuthentica
e32e0 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 75 73 65 72 6e 61 6d 65 tion($this->originUrl,.$username
e3300 2c 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 3d ,.$password);.$this->storeAuth.=
e3320 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 73 74 6f 72 65 2d 61 75 74 68 73 .$this->config->get('store-auths
e3340 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 74 68 72 6f ');.}..$this->retry.=.true;.thro
e3360 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 52 45 54 52 59 27 w.new.TransportException('RETRY'
e3380 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 );.}..protected.function.getOpti
e33a0 6f 6e 73 46 6f 72 55 72 6c 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 onsForUrl($originUrl,.$additiona
e33c0 6c 4f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 lOptions).{.$tlsOptions.=.array(
e33e0 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 );....if.($this->disableTls.===.
e3400 66 61 6c 73 65 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 false.&&.PHP_VERSION_ID.<.50600.
e3420 26 26 20 21 73 74 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 &&.!stream_is_local($this->fileU
e3440 72 6c 29 29 20 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e rl)).{.$host.=.parse_url($this->
e3460 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 20 28 50 48 50 fileUrl,.PHP_URL_HOST);..if.(PHP
e3480 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 34 29 20 7b 0a 0a 20 0a 20 0a 20 0a 0a 69 _VERSION_ID.<.50304).{.........i
e34a0 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f f.($host.===.'github.com'.||.$ho
e34c0 73 74 20 3d 3d 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 24 68 6f 73 74 st.===.'api.github.com').{.$host
e34e0 20 3d 20 27 2a 2e 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 7d 0a 0a 24 74 6c 73 4f 70 74 69 .=.'*.github.com';.}.}..$tlsOpti
e3500 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 24 68 6f 73 74 3b 0a ons['ssl']['CN_match'].=.$host;.
e3520 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 73 65 72 76 65 72 5f 6e $tlsOptions['ssl']['SNI_server_n
e3540 61 6d 65 27 5d 20 3d 20 24 68 6f 73 74 3b 0a 0a 24 75 72 6c 41 75 74 68 6f 72 69 74 79 20 3d 20 ame'].=.$host;..$urlAuthority.=.
e3560 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 79 28 24 74 68 69 73 2d 3e 66 69 $this->getUrlAuthority($this->fi
e3580 6c 65 55 72 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 65 65 72 43 65 leUrl);..if.(isset($this->peerCe
e35a0 72 74 69 66 69 63 61 74 65 4d 61 70 5b 24 75 72 6c 41 75 74 68 6f 72 69 74 79 5d 29 29 20 7b 0a rtificateMap[$urlAuthority])).{.
e35c0 0a 20 24 63 65 72 74 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 74 69 66 69 63 ..$certMap.=.$this->peerCertific
e35e0 61 74 65 4d 61 70 5b 24 75 72 6c 41 75 74 68 6f 72 69 74 79 5d 3b 0a 0a 24 74 68 69 73 2d 3e 69 ateMap[$urlAuthority];..$this->i
e3600 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 o->writeError('',.true,.IOInterf
e3620 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 ace::DEBUG);.$this->io->writeErr
e3640 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 or(sprintf(.'Using.<info>%s</inf
e3660 6f 3e 20 61 73 20 43 4e 20 66 6f 72 20 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 20 65 6e 61 62 o>.as.CN.for.subjectAltName.enab
e3680 6c 65 64 20 68 6f 73 74 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 63 65 72 74 led.host.<info>%s</info>',.$cert
e36a0 4d 61 70 5b 27 63 6e 27 5d 2c 0a 24 75 72 6c 41 75 74 68 6f 72 69 74 79 0a 29 2c 20 74 72 75 65 Map['cn'],.$urlAuthority.),.true
e36c0 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 24 74 6c 73 4f 70 74 69 ,.IOInterface::DEBUG);..$tlsOpti
e36e0 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 24 63 65 72 74 4d 61 ons['ssl']['CN_match'].=.$certMa
e3700 70 5b 27 63 6e 27 5d 3b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 70 65 65 p['cn'];.$tlsOptions['ssl']['pee
e3720 72 5f 66 69 6e 67 65 72 70 72 69 6e 74 27 5d 20 3d 20 24 63 65 72 74 4d 61 70 5b 27 66 70 27 5d r_fingerprint'].=.$certMap['fp']
e3740 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c ;.}.elseif.(!CaBundle::isOpenssl
e3760 50 61 72 73 65 53 61 66 65 28 29 20 26 26 20 24 68 6f 73 74 20 3d 3d 3d 20 27 72 65 70 6f 2e 70 ParseSafe().&&.$host.===.'repo.p
e3780 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 29 20 7b 0a 0a 20 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 ackagist.org').{...$tlsOptions['
e37a0 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 27 70 61 63 6b 61 67 69 73 74 2e 6f ssl']['CN_match'].=.'packagist.o
e37c0 72 67 27 3b 0a 7d 0a 7d 0a 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 rg';.}.}..$headers.=.array();..i
e37e0 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 f.(extension_loaded('zlib')).{.$
e3800 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a headers[].=.'Accept-Encoding:.gz
e3820 69 70 27 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 ip';.}..$options.=.array_replace
e3840 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 74 6c 73 4f _recursive($this->options,.$tlsO
e3860 70 74 69 6f 6e 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 ptions,.$additionalOptions);.if.
e3880 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 0a 20 0a 20 24 6f 70 (!$this->degradedMode).{.....$op
e38a0 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 74 6f 63 6f 6c 5f 76 65 72 73 69 6f 6e 27 tions['http']['protocol_version'
e38c0 5d 20 3d 20 31 2e 31 3b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 43 6f 6e 6e 65 63 74 69 6f ].=.1.1;.$headers[].=.'Connectio
e38e0 6e 3a 20 63 6c 6f 73 65 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 n:.close';.}..if.($this->io->has
e3900 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 61 Authentication($originUrl)).{.$a
e3920 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 uth.=.$this->io->getAuthenticati
e3940 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 69 66 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 on($originUrl);.if.('github.com'
e3960 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 20 26 26 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 .===.$originUrl.&&.'x-oauth-basi
e3980 63 27 20 3d 3d 3d 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 7b 0a 24 6f 70 74 c'.===.$auth['password']).{.$opt
e39a0 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 20 3d 20 24 61 75 74 68 5b 27 75 73 ions['github-token'].=.$auth['us
e39c0 65 72 6e 61 6d 65 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ername'];.}.elseif.($this->confi
e39e0 67 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d g.&&.in_array($originUrl,.$this-
e3a00 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 >config->get('gitlab-domains'),.
e3a20 74 72 75 65 29 29 20 7b 0a 69 66 20 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d true)).{.if.($auth['password'].=
e3a40 3d 3d 20 27 6f 61 75 74 68 32 27 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 74 ==.'oauth2').{.$headers[].=.'Aut
e3a60 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 2e 24 61 75 74 68 5b 27 75 73 65 72 horization:.Bearer.'.$auth['user
e3a80 6e 61 6d 65 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 name'];.}.elseif.($auth['passwor
e3aa0 64 27 5d 20 3d 3d 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 20 7b 0a 24 68 65 61 64 d'].===.'private-token').{.$head
e3ac0 65 72 73 5b 5d 20 3d 20 27 50 52 49 56 41 54 45 2d 54 4f 4b 45 4e 3a 20 27 2e 24 61 75 74 68 5b ers[].=.'PRIVATE-TOKEN:.'.$auth[
e3ae0 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 69 74 62 75 63 'username'];.}.}.elseif.('bitbuc
e3b00 6b 65 74 2e 6f 72 67 27 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 0a 26 26 20 24 74 68 69 73 ket.org'.===.$originUrl.&&.$this
e3b20 2d 3e 66 69 6c 65 55 72 6c 20 21 3d 3d 20 42 69 74 62 75 63 6b 65 74 3a 3a 4f 41 55 54 48 32 5f ->fileUrl.!==.Bitbucket::OAUTH2_
e3b40 41 43 43 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 20 26 26 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 ACCESS_TOKEN_URL.&&.'x-token-aut
e3b60 68 27 20 3d 3d 3d 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 0a 29 20 7b 0a 69 66 20 h'.===.$auth['username'].).{.if.
e3b80 28 21 24 74 68 69 73 2d 3e 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f (!$this->isPublicBitBucketDownlo
e3ba0 61 64 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d ad($this->fileUrl)).{.$headers[]
e3bc0 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 20 2e 20 24 61 .=.'Authorization:.Bearer.'...$a
e3be0 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 uth['password'];.}.}.else.{.$aut
e3c00 68 53 74 72 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 hStr.=.base64_encode($auth['user
e3c20 6e 61 6d 65 27 5d 20 2e 20 27 3a 27 20 2e 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d name']...':'...$auth['password']
e3c40 29 3b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 );.$headers[].=.'Authorization:.
e3c60 42 61 73 69 63 20 27 2e 24 61 75 74 68 53 74 72 3b 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b Basic.'.$authStr;.}.}..$options[
e3c80 27 68 74 74 70 27 5d 5b 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 5d 20 3d 20 30 3b 0a 'http']['follow_location'].=.0;.
e3ca0 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 .if.(isset($options['http']['hea
e3cc0 64 65 72 27 5d 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 der']).&&.!is_array($options['ht
e3ce0 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 tp']['header'])).{.$options['htt
e3d00 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 p']['header'].=.explode("\r\n",.
e3d20 74 72 69 6d 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 2c trim($options['http']['header'],
e3d40 20 22 5c 72 5c 6e 22 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 ."\r\n"));.}.foreach.($headers.a
e3d60 73 20 24 68 65 61 64 65 72 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 s.$header).{.$options['http']['h
e3d80 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 68 65 61 64 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 eader'][].=.$header;.}..return.$
e3da0 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e options;.}..private.function.han
e3dc0 64 6c 65 52 65 64 69 72 65 63 74 28 61 72 72 61 79 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 dleRedirect(array.$http_response
e3de0 5f 68 65 61 64 65 72 2c 20 61 72 72 61 79 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e _header,.array.$additionalOption
e3e00 73 2c 20 24 72 65 73 75 6c 74 29 0a 7b 0a 69 66 20 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 s,.$result).{.if.($locationHeade
e3e20 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 r.=.$this->findHeaderValue($http
e3e40 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 6c 6f 63 61 74 69 6f 6e 27 29 29 20 7b _response_header,.'location')).{
e3e60 0a 69 66 20 28 70 61 72 73 65 5f 75 72 6c 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 .if.(parse_url($locationHeader,.
e3e80 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 PHP_URL_SCHEME)).{...$targetUrl.
e3ea0 3d 20 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 61 72 =.$locationHeader;.}.elseif.(par
e3ec0 73 65 5f 75 72 6c 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 50 48 50 5f 55 52 4c 5f se_url($locationHeader,.PHP_URL_
e3ee0 48 4f 53 54 29 29 20 7b 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 73 HOST)).{...$targetUrl.=.$this->s
e3f00 63 68 65 6d 65 2e 27 3a 27 2e 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 3b 0a 7d 20 65 6c 73 cheme.':'.$locationHeader;.}.els
e3f20 65 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 5b 30 5d 29 eif.('/'.===.$locationHeader[0])
e3f40 20 7b 0a 0a 20 24 75 72 6c 48 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d .{...$urlHost.=.parse_url($this-
e3f60 3e 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 0a 20 24 74 61 72 >fileUrl,.PHP_URL_HOST);....$tar
e3f80 67 65 74 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 2e 2b 28 3f 3a 2f getUrl.=.preg_replace('{^(.+(?:/
e3fa0 2f 7c 40 29 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 75 72 6c 48 6f 73 74 29 2e 27 28 3f 3a 3a /|@)'.preg_quote($urlHost).'(?::
e3fc0 5c 64 2b 29 3f 29 28 3f 3a 5b 2f 5c 3f 5d 2e 2a 29 3f 24 7d 27 2c 20 27 5c 31 27 2e 24 6c 6f 63 \d+)?)(?:[/\?].*)?$}',.'\1'.$loc
e3fe0 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 3b 0a 7d 20 ationHeader,.$this->fileUrl);.}.
e4000 65 6c 73 65 20 7b 0a 0a 20 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 else.{.....$targetUrl.=.preg_rep
e4020 6c 61 63 65 28 27 7b 5e 28 2e 2b 2f 29 5b 5e 2f 3f 5d 2a 28 3f 3a 5c 3f 2e 2a 29 3f 24 7d 27 2c lace('{^(.+/)[^/?]*(?:\?.*)?$}',
e4040 20 27 5c 31 27 2e 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 66 69 .'\1'.$locationHeader,.$this->fi
e4060 6c 65 55 72 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 61 72 67 65 74 55 leUrl);.}.}..if.(!empty($targetU
e4080 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 2b 2b 3b 0a 0a 24 74 68 69 rl)).{.$this->redirects++;..$thi
e40a0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e s->io->writeError('',.true,.IOIn
e40c0 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 terface::DEBUG);.$this->io->writ
e40e0 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 46 6f 6c 6c 6f 77 69 6e 67 20 72 65 64 69 72 65 eError(sprintf('Following.redire
e4100 63 74 20 28 25 75 29 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 2c 20 24 ct.(%u).%s',.$this->redirects,.$
e4120 74 61 72 67 65 74 55 72 6c 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 targetUrl),.true,.IOInterface::D
e4140 45 42 55 47 29 3b 0a 0a 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 64 69 EBUG);..$additionalOptions['redi
e4160 72 65 63 74 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 3b 0a 0a 72 65 74 rects'].=.$this->redirects;..ret
e4180 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 70 61 72 73 65 5f 75 72 6c 28 24 74 61 72 67 65 74 urn.$this->get(parse_url($target
e41a0 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2c 20 24 74 61 72 67 65 74 55 72 6c 2c 20 Url,.PHP_URL_HOST),.$targetUrl,.
e41c0 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e $additionalOptions,.$this->fileN
e41e0 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 ame,.$this->progress);.}..if.(!$
e4200 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 this->retry).{.$e.=.new.Transpor
e4220 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 tException('The."'.$this->fileUr
e4240 6c 2e 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 l.'".file.could.not.be.downloade
e4260 64 2c 20 67 6f 74 20 72 65 64 69 72 65 63 74 20 77 69 74 68 6f 75 74 20 4c 6f 63 61 74 69 6f 6e d,.got.redirect.without.Location
e4280 20 28 27 2e 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 2e 27 29 27 .('.$http_response_header[0].')'
e42a0 29 3b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 );.$e->setHeaders($http_response
e42c0 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c _header);.$e->setResponse($resul
e42e0 74 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a t);..throw.$e;.}..return.false;.
e4300 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6c 73 44 }.......private.function.getTlsD
e4320 65 66 61 75 6c 74 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 63 69 70 68 65 efaults(array.$options).{.$ciphe
e4340 72 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 3a 27 2c 20 61 72 72 61 79 28 0a 27 45 43 44 48 45 2d rs.=.implode(':',.array(.'ECDHE-
e4360 52 53 41 2d 41 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 45 RSA-AES128-GCM-SHA256',.'ECDHE-E
e4380 43 44 53 41 2d 41 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d CDSA-AES128-GCM-SHA256',.'ECDHE-
e43a0 52 53 41 2d 41 45 53 32 35 36 2d 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 45 43 44 48 45 2d 45 RSA-AES256-GCM-SHA384',.'ECDHE-E
e43c0 43 44 53 41 2d 41 45 53 32 35 36 2d 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 44 48 45 2d 52 53 CDSA-AES256-GCM-SHA384',.'DHE-RS
e43e0 41 2d 41 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 A-AES128-GCM-SHA256',.'DHE-DSS-A
e4400 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 6b 45 44 48 2b 41 45 53 47 43 4d 27 ES128-GCM-SHA256',.'kEDH+AESGCM'
e4420 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 ,.'ECDHE-RSA-AES128-SHA256',.'EC
e4440 44 48 45 2d 45 43 44 53 41 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 DHE-ECDSA-AES128-SHA256',.'ECDHE
e4460 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 -RSA-AES128-SHA',.'ECDHE-ECDSA-A
e4480 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 ES128-SHA',.'ECDHE-RSA-AES256-SH
e44a0 41 33 38 34 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 32 35 36 2d 53 48 41 33 38 A384',.'ECDHE-ECDSA-AES256-SHA38
e44c0 34 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 45 43 44 4',.'ECDHE-RSA-AES256-SHA',.'ECD
e44e0 48 45 2d 45 43 44 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 HE-ECDSA-AES256-SHA',.'DHE-RSA-A
e4500 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 ES128-SHA256',.'DHE-RSA-AES128-S
e4520 48 41 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 44 HA',.'DHE-DSS-AES128-SHA256',.'D
e4540 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d HE-RSA-AES256-SHA256',.'DHE-DSS-
e4560 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 AES256-SHA',.'DHE-RSA-AES256-SHA
e4580 27 2c 0a 27 41 45 53 31 32 38 2d 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 32 35 36 2d ',.'AES128-GCM-SHA256',.'AES256-
e45a0 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 41 GCM-SHA384',.'AES128-SHA256',.'A
e45c0 45 53 32 35 36 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 41 45 ES256-SHA256',.'AES128-SHA',.'AE
e45e0 53 32 35 36 2d 53 48 41 27 2c 0a 27 41 45 53 27 2c 0a 27 43 41 4d 45 4c 4c 49 41 27 2c 0a 27 44 S256-SHA',.'AES',.'CAMELLIA',.'D
e4600 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 27 21 61 4e 55 4c 4c 27 2c 0a 27 21 65 4e 55 4c 4c 27 ES-CBC3-SHA',.'!aNULL',.'!eNULL'
e4620 2c 0a 27 21 45 58 50 4f 52 54 27 2c 0a 27 21 44 45 53 27 2c 0a 27 21 52 43 34 27 2c 0a 27 21 4d ,.'!EXPORT',.'!DES',.'!RC4',.'!M
e4640 44 35 27 2c 0a 27 21 50 53 4b 27 2c 0a 27 21 61 45 43 44 48 27 2c 0a 27 21 45 44 48 2d 44 53 53 D5',.'!PSK',.'!aECDH',.'!EDH-DSS
e4660 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 27 21 45 44 48 2d 52 53 41 2d 44 45 53 2d 43 42 -DES-CBC3-SHA',.'!EDH-RSA-DES-CB
e4680 43 33 2d 53 48 41 27 2c 0a 27 21 4b 52 42 35 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 29 C3-SHA',.'!KRB5-DES-CBC3-SHA',.)
e46a0 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 73 );........$defaults.=.array(.'ss
e46c0 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 63 69 70 68 65 72 73 27 20 3d 3e 20 24 63 69 70 68 65 l'.=>.array(.'ciphers'.=>.$ciphe
e46e0 72 73 2c 0a 27 76 65 72 69 66 79 5f 70 65 65 72 27 20 3d 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 rs,.'verify_peer'.=>.true,.'veri
e4700 66 79 5f 64 65 70 74 68 27 20 3d 3e 20 37 2c 0a 27 53 4e 49 5f 65 6e 61 62 6c 65 64 27 20 3d 3e fy_depth'.=>.7,.'SNI_enabled'.=>
e4720 20 74 72 75 65 2c 0a 27 63 61 70 74 75 72 65 5f 70 65 65 72 5f 63 65 72 74 27 20 3d 3e 20 74 72 .true,.'capture_peer_cert'.=>.tr
e4740 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 ue,.),.);..if.(isset($options['s
e4760 73 6c 27 5d 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 20 3d 20 61 72 72 61 sl'])).{.$defaults['ssl'].=.arra
e4780 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 y_replace_recursive($defaults['s
e47a0 73 6c 27 5d 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 29 3b 0a 7d 0a 0a 24 63 61 42 75 sl'],.$options['ssl']);.}..$caBu
e47c0 6e 64 6c 65 4c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 69 6f 20 69 6e 73 74 61 6e 63 65 6f ndleLogger.=.$this->io.instanceo
e47e0 66 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 69 6f 20 3a 20 f.LoggerInterface.?.$this->io.:.
e4800 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b null;......if.(!isset($defaults[
e4820 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 64 65 66 'ssl']['cafile']).&&.!isset($def
e4840 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 29 20 7b 0a 24 72 65 73 75 aults['ssl']['capath'])).{.$resu
e4860 6c 74 20 3d 20 43 61 42 75 6e 64 6c 65 3a 3a 67 65 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 75 lt.=.CaBundle::getSystemCaRootBu
e4880 6e 64 6c 65 50 61 74 68 28 24 63 61 42 75 6e 64 6c 65 4c 6f 67 67 65 72 29 3b 0a 0a 69 66 20 28 ndlePath($caBundleLogger);..if.(
e48a0 69 73 5f 64 69 72 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 is_dir($result)).{.$defaults['ss
e48c0 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 20 65 6c 73 65 20 l']['capath'].=.$result;.}.else.
e48e0 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 24 {.$defaults['ssl']['cafile'].=.$
e4900 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 result;.}.}..if.(isset($defaults
e4920 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 26 26 20 28 21 69 73 5f 72 65 61 64 61 ['ssl']['cafile']).&&.(!is_reada
e4940 62 6c 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 ble($defaults['ssl']['cafile']).
e4960 7c 7c 20 21 43 61 42 75 6e 64 6c 65 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 64 65 ||.!CaBundle::validateCaFile($de
e4980 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 2c 20 24 63 61 42 75 6e 64 faults['ssl']['cafile'],.$caBund
e49a0 6c 65 4c 6f 67 67 65 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 leLogger))).{.throw.new.Transpor
e49c0 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 63 61 66 69 6c tException('The.configured.cafil
e49e0 65 20 77 61 73 20 6e 6f 74 20 76 61 6c 69 64 20 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 e.was.not.valid.or.could.not.be.
e4a00 72 65 61 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b read.');.}..if.(isset($defaults[
e4a20 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 20 26 26 20 28 21 69 73 5f 64 69 72 28 24 64 'ssl']['capath']).&&.(!is_dir($d
e4a40 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 20 7c 7c 20 21 69 73 efaults['ssl']['capath']).||.!is
e4a60 5f 72 65 61 64 61 62 6c 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 _readable($defaults['ssl']['capa
e4a80 74 68 27 5d 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 th']))).{.throw.new.TransportExc
e4aa0 65 70 74 69 6f 6e 28 27 54 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 63 61 70 61 74 68 20 77 61 eption('The.configured.capath.wa
e4ac0 73 20 6e 6f 74 20 76 61 6c 69 64 20 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 s.not.valid.or.could.not.be.read
e4ae0 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d .');.}.....if.(PHP_VERSION_ID.>=
e4b00 20 35 30 34 31 33 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 64 69 73 61 .50413).{.$defaults['ssl']['disa
e4b20 62 6c 65 5f 63 6f 6d 70 72 65 73 73 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 ble_compression'].=.true;.}..ret
e4b40 75 72 6e 20 24 64 65 66 61 75 6c 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 urn.$defaults;.}.......private.f
e4b60 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 70 28 24 75 unction.getCertificateCnAndFp($u
e4b80 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f rl,.$options).{.if.(PHP_VERSION_
e4ba0 49 44 20 3e 3d 20 35 30 36 30 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d 65 74 ID.>=.50600).{.throw.new.\BadMet
e4bc0 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 6d 75 hodCallException(sprintf(.'%s.mu
e4be0 73 74 20 6e 6f 74 20 62 65 20 75 73 65 64 20 6f 6e 20 50 48 50 20 3e 3d 20 35 2e 36 27 2c 0a 5f st.not.be.used.on.PHP.>=.5.6',._
e4c00 5f 4d 45 54 48 4f 44 5f 5f 0a 29 29 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 _METHOD__.));.}..$context.=.Stre
e4c20 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 amContextFactory::getContext($ur
e4c40 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 l,.$options,.array('options'.=>.
e4c60 61 72 72 61 79 28 0a 27 73 73 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 63 61 70 74 75 72 65 5f array(.'ssl'.=>.array(.'capture_
e4c80 70 65 65 72 5f 63 65 72 74 27 20 3d 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 66 79 5f 70 65 65 72 peer_cert'.=>.true,.'verify_peer
e4ca0 27 20 3d 3e 20 66 61 6c 73 65 2c 20 0a 20 29 2c 20 29 2c 0a 29 29 3b 0a 0a 0a 20 0a 20 69 66 20 '.=>.false,...),.),.));......if.
e4cc0 28 66 61 6c 73 65 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 20 3d 20 40 66 6f 70 65 6e 28 24 75 72 6c (false.===.$handle.=.@fopen($url
e4ce0 2c 20 27 72 62 27 2c 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 29 20 7b 0a 72 65 74 75 ,.'rb',.false,.$context)).{.retu
e4d00 72 6e 3b 0a 7d 0a 0a 0a 20 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 24 68 61 6e 64 6c rn;.}....fclose($handle);.$handl
e4d20 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 e.=.null;..$params.=.stream_cont
e4d40 65 78 74 5f 67 65 74 5f 70 61 72 61 6d 73 28 24 63 6f 6e 74 65 78 74 29 3b 0a 0a 69 66 20 28 21 ext_get_params($context);..if.(!
e4d60 65 6d 70 74 79 28 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b empty($params['options']['ssl'][
e4d80 27 70 65 65 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 29 29 20 7b 0a 24 70 65 65 72 43 65 72 'peer_certificate'])).{.$peerCer
e4da0 74 69 66 69 63 61 74 65 20 3d 20 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 tificate.=.$params['options']['s
e4dc0 73 6c 27 5d 5b 27 70 65 65 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 3b 0a 0a 69 66 20 28 54 sl']['peer_certificate'];..if.(T
e4de0 6c 73 48 65 6c 70 65 72 3a 3a 63 68 65 63 6b 43 65 72 74 69 66 69 63 61 74 65 48 6f 73 74 28 24 lsHelper::checkCertificateHost($
e4e00 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 2c 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c peerCertificate,.parse_url($url,
e4e20 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2c 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 29 29 20 7b 0a .PHP_URL_HOST),.$commonName)).{.
e4e40 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f 6e 4e 61 6d return.array(.'cn'.=>.$commonNam
e4e60 65 2c 0a 27 66 70 27 20 3d 3e 20 54 6c 73 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 66 69 e,.'fp'.=>.TlsHelper::getCertifi
e4e80 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 cateFingerprint($peerCertificate
e4ea0 29 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ),.);.}.}.}..private.function.ge
e4ec0 74 55 72 6c 41 75 74 68 6f 72 69 74 79 28 24 75 72 6c 29 0a 7b 0a 24 64 65 66 61 75 6c 74 50 6f tUrlAuthority($url).{.$defaultPo
e4ee0 72 74 73 20 3d 20 61 72 72 61 79 28 0a 27 66 74 70 27 20 3d 3e 20 32 31 2c 0a 27 68 74 74 70 27 rts.=.array(.'ftp'.=>.21,.'http'
e4f00 20 3d 3e 20 38 30 2c 0a 27 68 74 74 70 73 27 20 3d 3e 20 34 34 33 2c 0a 27 73 73 68 32 2e 73 66 .=>.80,.'https'.=>.443,.'ssh2.sf
e4f20 74 70 27 20 3d 3e 20 32 32 2c 0a 27 73 73 68 32 2e 73 63 70 27 20 3d 3e 20 32 32 2c 0a 29 3b 0a tp'.=>.22,.'ssh2.scp'.=>.22,.);.
e4f40 0a 24 73 63 68 65 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 .$scheme.=.parse_url($url,.PHP_U
e4f60 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 RL_SCHEME);..if.(!isset($default
e4f80 50 6f 72 74 73 5b 24 73 63 68 65 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e Ports[$scheme])).{.throw.new.\In
e4fa0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a validArgumentException(sprintf(.
e4fc0 27 43 6f 75 6c 64 20 6e 6f 74 20 67 65 74 20 64 65 66 61 75 6c 74 20 70 6f 72 74 20 66 6f 72 20 'Could.not.get.default.port.for.
e4fe0 75 6e 6b 6e 6f 77 6e 20 73 63 68 65 6d 65 3a 20 25 73 27 2c 0a 24 73 63 68 65 6d 65 0a 29 29 3b unknown.scheme:.%s',.$scheme.));
e5000 0a 7d 0a 0a 24 64 65 66 61 75 6c 74 50 6f 72 74 20 3d 20 24 64 65 66 61 75 6c 74 50 6f 72 74 73 .}..$defaultPort.=.$defaultPorts
e5020 5b 24 73 63 68 65 6d 65 5d 3b 0a 24 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 [$scheme];.$port.=.parse_url($ur
e5040 6c 2c 20 50 48 50 5f 55 52 4c 5f 50 4f 52 54 29 20 3f 3a 20 24 64 65 66 61 75 6c 74 50 6f 72 74 l,.PHP_URL_PORT).?:.$defaultPort
e5060 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 ;..return.parse_url($url,.PHP_UR
e5080 4c 5f 48 4f 53 54 29 2e 27 3a 27 2e 24 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 L_HOST).':'.$port;.}.........pri
e50a0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 vate.function.isPublicBitBucketD
e50c0 6f 77 6e 6c 6f 61 64 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 29 0a 7b 0a 24 ownload($urlToBitBucketFile).{.$
e50e0 64 6f 6d 61 69 6e 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b domain.=.parse_url($urlToBitBuck
e5100 65 74 46 69 6c 65 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 73 74 72 70 6f etFile,.PHP_URL_HOST);.if.(strpo
e5120 73 28 24 64 6f 6d 61 69 6e 2c 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 3d 3d 3d 20 s($domain,.'bitbucket.org').===.
e5140 66 61 6c 73 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 61 false).{.....return.true;.}..$pa
e5160 74 68 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 th.=.parse_url($urlToBitBucketFi
e5180 6c 65 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 3b 0a 0a 0a 20 0a 20 24 70 61 74 68 50 61 72 le,.PHP_URL_PATH);......$pathPar
e51a0 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 ts.=.explode('/',.$path);..retur
e51c0 6e 20 63 6f 75 6e 74 28 24 70 61 74 68 50 61 72 74 73 29 20 3e 3d 20 34 20 26 26 20 24 70 61 74 n.count($pathParts).>=.4.&&.$pat
e51e0 68 50 61 72 74 73 5b 33 5d 20 3d 3d 20 27 64 6f 77 6e 6c 6f 61 64 73 27 3b 0a 7d 0a 7d 0a 3c 3f hParts[3].==.'downloads';.}.}.<?
e5200 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
e5220 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 69 6c 65 6e 63 65 72 0a 7b 0a 0a r\Util;.......class.Silencer.{..
e5240 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 ..private.static.$stack.=.array(
e5260 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e );........public.static.function
e5280 20 73 75 70 70 72 65 73 73 28 24 6d 61 73 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 .suppress($mask.=.null).{.if.(!i
e52a0 73 73 65 74 28 24 6d 61 73 6b 29 29 20 7b 0a 24 6d 61 73 6b 20 3d 20 45 5f 57 41 52 4e 49 4e 47 sset($mask)).{.$mask.=.E_WARNING
e52c0 20 7c 20 45 5f 4e 4f 54 49 43 45 20 7c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 7c 20 45 .|.E_NOTICE.|.E_USER_WARNING.|.E
e52e0 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 7c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f _USER_NOTICE.|.E_DEPRECATED.|.E_
e5300 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 53 54 52 49 43 54 3b 0a 7d 0a 24 6f USER_DEPRECATED.|.E_STRICT;.}.$o
e5320 6c 64 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 3b 0a 73 65 6c 66 3a 3a 24 73 ld.=.error_reporting();.self::$s
e5340 74 61 63 6b 5b 5d 20 3d 20 24 6f 6c 64 3b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 tack[].=.$old;.error_reporting($
e5360 6f 6c 64 20 26 20 7e 24 6d 61 73 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a old.&.~$mask);..return.$old;.}..
e5380 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 ...public.static.function.restor
e53a0 65 28 29 0a 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 29 29 20 e().{.if.(!empty(self::$stack)).
e53c0 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 61 72 72 61 79 5f 70 6f 70 28 73 65 6c 66 {.error_reporting(array_pop(self
e53e0 3a 3a 24 73 74 61 63 6b 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ::$stack));.}.}...........public
e5400 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 28 24 63 61 6c 6c 61 62 6c 65 20 .static.function.call($callable.
e5420 29 0a 7b 0a 74 72 79 20 7b 0a 73 65 6c 66 3a 3a 73 75 70 70 72 65 73 73 28 29 3b 0a 24 72 65 73 ).{.try.{.self::suppress();.$res
e5440 75 6c 74 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 63 61 6c 6c ult.=.call_user_func_array($call
e5460 61 62 6c 65 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 able,.array_slice(func_get_args(
e5480 29 2c 20 31 29 29 3b 0a 73 65 6c 66 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 0a 72 65 74 75 72 6e ),.1));.self::restore();..return
e54a0 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 .$result;.}.catch.(\Exception.$e
e54c0 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 74 68 72 6f 77 20 24 65 3b ).{...self::restore();.throw.$e;
e54e0 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 .}.}.}.<?php............namespac
e5500 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 e.Composer\Util;..use.Composer\S
e5520 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 pdx\SpdxLicenses;..trigger_error
e5540 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 53 70 64 78 ('The.'...__NAMESPACE__...'\Spdx
e5560 4c 69 63 65 6e 73 65 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 License.class.is.deprecated,.use
e5580 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 20 69 6e 73 74 .Composer\Spdx\SpdxLicenses.inst
e55a0 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 ead.',.E_USER_DEPRECATED);.....c
e55c0 6c 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 65 20 65 78 74 65 6e 64 73 20 53 70 64 78 4c 69 63 lass.SpdxLicense.extends.SpdxLic
e55e0 65 6e 73 65 73 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 enses.{.}.<?php............names
e5600 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 pace.Composer\Util;..use.Compose
e5620 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 53 r\Composer;........final.class.S
e5640 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 treamContextFactory.{..........p
e5660 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 74 ublic.static.function.getContext
e5680 28 24 75 72 6c 2c 20 61 72 72 61 79 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 20 3d 20 61 ($url,.array.$defaultOptions.=.a
e56a0 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 20 3d 20 61 rray(),.array.$defaultParams.=.a
e56c0 72 72 61 79 28 29 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 rray()).{.$options.=.array('http
e56e0 27 20 3d 3e 20 61 72 72 61 79 28 0a 0a 20 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 20 '.=>.array(...'follow_location'.
e5700 3d 3e 20 31 2c 0a 27 6d 61 78 5f 72 65 64 69 72 65 63 74 73 27 20 3d 3e 20 32 30 2c 0a 29 29 3b =>.1,.'max_redirects'.=>.20,.));
e5720 0a 0a 0a 20 69 66 20 28 50 48 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 20 26 26 20 28 21 ....if.(PHP_SAPI.===.'cli'.&&.(!
e5740 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 20 7c 7c empty($_SERVER['HTTP_PROXY']).||
e5760 20 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 29 .!empty($_SERVER['http_proxy']))
e5780 29 20 7b 0a 24 70 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 21 65 6d 70 74 79 28 24 5f ).{.$proxy.=.parse_url(!empty($_
e57a0 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 SERVER['http_proxy']).?.$_SERVER
e57c0 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f ['http_proxy'].:.$_SERVER['HTTP_
e57e0 50 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 PROXY']);.}....if.(!empty($_SERV
e5800 45 52 5b 27 43 47 49 5f 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 29 20 7b 0a 24 70 72 6f 78 79 20 ER['CGI_HTTP_PROXY'])).{.$proxy.
e5820 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 5f 53 45 52 56 45 52 5b 27 43 47 49 5f 48 54 54 50 5f 50 =.parse_url($_SERVER['CGI_HTTP_P
e5840 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e ROXY']);.}....if.(preg_match('{^
e5860 68 74 74 70 73 3a 2f 2f 7d 69 27 2c 20 24 75 72 6c 29 20 26 26 20 28 21 65 6d 70 74 79 28 24 5f https://}i',.$url).&&.(!empty($_
e5880 53 45 52 56 45 52 5b 27 48 54 54 50 53 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 SERVER['HTTPS_PROXY']).||.!empty
e58a0 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 73 5f 70 72 6f 78 79 27 5d 29 29 29 20 7b 0a 24 70 ($_SERVER['https_proxy']))).{.$p
e58c0 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 roxy.=.parse_url(!empty($_SERVER
e58e0 5b 27 68 74 74 70 73 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 68 74 74 ['https_proxy']).?.$_SERVER['htt
e5900 70 73 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 53 5f 50 52 4f ps_proxy'].:.$_SERVER['HTTPS_PRO
e5920 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b XY']);.}....if.(!empty($_SERVER[
e5940 27 4e 4f 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 'NO_PROXY']).||.!empty($_SERVER[
e5960 27 6e 6f 5f 70 72 6f 78 79 27 5d 29 20 26 26 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 'no_proxy']).&&.parse_url($url,.
e5980 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 6e 65 77 20 PHP_URL_HOST)).{.$pattern.=.new.
e59a0 4e 6f 50 72 6f 78 79 50 61 74 74 65 72 6e 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 NoProxyPattern(!empty($_SERVER['
e59c0 6e 6f 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f 70 72 6f 78 79 no_proxy']).?.$_SERVER['no_proxy
e59e0 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 4e 4f 5f 50 52 4f 58 59 27 5d 29 3b 0a 69 66 20 28 '].:.$_SERVER['NO_PROXY']);.if.(
e5a00 24 70 61 74 74 65 72 6e 2d 3e 74 65 73 74 28 24 75 72 6c 29 29 20 7b 0a 75 6e 73 65 74 28 24 70 $pattern->test($url)).{.unset($p
e5a20 72 6f 78 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 72 6f 78 79 29 29 20 roxy);.}.}..if.(!empty($proxy)).
e5a40 7b 0a 24 70 72 6f 78 79 55 52 4c 20 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 73 63 68 65 {.$proxyURL.=.isset($proxy['sche
e5a60 6d 65 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 me']).?.$proxy['scheme']...'://'
e5a80 20 3a 20 27 27 3b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 .:.'';.$proxyURL..=.isset($proxy
e5aa0 5b 27 68 6f 73 74 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 68 6f 73 74 27 5d 20 3a 20 27 27 3b ['host']).?.$proxy['host'].:.'';
e5ac0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 24 ..if.(isset($proxy['port'])).{.$
e5ae0 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 22 20 2e 20 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d proxyURL..=.":"...$proxy['port']
e5b00 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 70 3a 2f 2f 27 20 3d 3d 20 73 75 62 73 74 72 28 ;.}.elseif.('http://'.==.substr(
e5b20 24 70 72 6f 78 79 55 52 4c 2c 20 30 2c 20 37 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d $proxyURL,.0,.7)).{.$proxyURL..=
e5b40 20 22 3a 38 30 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 70 73 3a 2f 2f 27 20 3d 3d 20 .":80";.}.elseif.('https://'.==.
e5b60 73 75 62 73 74 72 28 24 70 72 6f 78 79 55 52 4c 2c 20 30 2c 20 38 29 29 20 7b 0a 24 70 72 6f 78 substr($proxyURL,.0,.8)).{.$prox
e5b80 79 55 52 4c 20 2e 3d 20 22 3a 34 34 33 22 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 78 79 55 52 4c 20 3d yURL..=.":443";.}....$proxyURL.=
e5ba0 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 .str_replace(array('http://',.'h
e5bc0 74 74 70 73 3a 2f 2f 27 29 2c 20 61 72 72 61 79 28 27 74 63 70 3a 2f 2f 27 2c 20 27 73 73 6c 3a ttps://'),.array('tcp://',.'ssl:
e5be0 2f 2f 27 29 2c 20 24 70 72 6f 78 79 55 52 4c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 //'),.$proxyURL);..if.(0.===.str
e5c00 70 6f 73 28 24 70 72 6f 78 79 55 52 4c 2c 20 27 73 73 6c 3a 27 29 20 26 26 20 21 65 78 74 65 6e pos($proxyURL,.'ssl:').&&.!exten
e5c20 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 sion_loaded('openssl')).{.throw.
e5c40 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 new.\RuntimeException('You.must.
e5c60 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 enable.the.openssl.extension.to.
e5c80 75 73 65 20 61 20 70 72 6f 78 79 20 6f 76 65 72 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 24 6f 70 use.a.proxy.over.https');.}..$op
e5ca0 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 20 3d 20 24 70 72 6f 78 79 55 tions['http']['proxy'].=.$proxyU
e5cc0 52 4c 3b 0a 0a 0a 20 73 77 69 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 RL;....switch.(parse_url($url,.P
e5ce0 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 63 61 73 65 20 27 68 74 74 70 27 3a 20 0a HP_URL_SCHEME)).{.case.'http':..
e5d00 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 5f 50 .$reqFullUriEnv.=.getenv('HTTP_P
e5d20 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 ROXY_REQUEST_FULLURI');.if.($req
e5d40 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c FullUriEnv.===.false.||.$reqFull
e5d60 55 72 69 45 6e 76 20 3d 3d 3d 20 27 27 20 7c 7c 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 UriEnv.===.''.||.(strtolower($re
e5d80 71 46 75 6c 6c 55 72 69 45 6e 76 29 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f qFullUriEnv).!==.'false'.&&.(boo
e5da0 6c 29 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 l).$reqFullUriEnv)).{.$options['
e5dc0 68 74 74 70 27 5d 5b 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 http']['request_fulluri'].=.true
e5de0 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 27 3a 20 0a 20 24 72 65 71 46 ;.}.break;.case.'https':...$reqF
e5e00 75 6c 6c 55 72 69 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 53 5f 50 52 4f 58 59 5f ullUriEnv.=.getenv('HTTPS_PROXY_
e5e20 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 46 75 6c 6c 55 REQUEST_FULLURI');.if.($reqFullU
e5e40 72 69 45 6e 76 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e riEnv.===.false.||.$reqFullUriEn
e5e60 76 20 3d 3d 3d 20 27 27 20 7c 7c 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 46 75 6c 6c v.===.''.||.(strtolower($reqFull
e5e80 55 72 69 45 6e 76 29 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 72 UriEnv).!==.'false'.&&.(bool).$r
e5ea0 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 eqFullUriEnv)).{.$options['http'
e5ec0 5d 5b 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 ]['request_fulluri'].=.true;.}.b
e5ee0 72 65 61 6b 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 68 74 74 70 73 27 20 3d 3d 3d 20 70 61 72 73 65 reak;.}....if.('https'.===.parse
e5f00 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 24 6f _url($url,.PHP_URL_SCHEME)).{.$o
e5f20 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 65 6e 61 62 6c 65 64 27 5d 20 3d 20 74 ptions['ssl']['SNI_enabled'].=.t
e5f40 72 75 65 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 rue;.if.(PHP_VERSION_ID.<.50600)
e5f60 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 5f 73 65 72 76 65 72 5f 6e .{.$options['ssl']['SNI_server_n
e5f80 61 6d 65 27 5d 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f ame'].=.parse_url($url,.PHP_URL_
e5fa0 48 4f 53 54 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 HOST);.}.}....if.(isset($proxy['
e5fc0 75 73 65 72 27 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 user'])).{.$auth.=.rawurldecode(
e5fe0 24 70 72 6f 78 79 5b 27 75 73 65 72 27 5d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 $proxy['user']);.if.(isset($prox
e6000 79 5b 27 70 61 73 73 27 5d 29 29 20 7b 0a 24 61 75 74 68 20 2e 3d 20 27 3a 27 20 2e 20 72 61 77 y['pass'])).{.$auth..=.':'...raw
e6020 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f 78 79 5b 27 70 61 73 73 27 5d 29 3b 0a 7d 0a 24 61 75 urldecode($proxy['pass']);.}.$au
e6040 74 68 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 29 3b 0a 0a 0a 20 69 66 th.=.base64_encode($auth);....if
e6060 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b .(isset($defaultOptions['http'][
e6080 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 66 'header'])).{.if.(is_string($def
e60a0 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 aultOptions['http']['header'])).
e60c0 7b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 {.$defaultOptions['http']['heade
e60e0 72 27 5d 20 3d 20 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 r'].=.array($defaultOptions['htt
e6100 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e p']['header']);.}.$defaultOption
e6120 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 22 50 72 6f 78 79 2d 41 s['http']['header'][].=."Proxy-A
e6140 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 7b 24 61 75 74 68 7d 22 3b 0a 7d 20 uthorization:.Basic.{$auth}";.}.
e6160 65 6c 73 65 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 else.{.$options['http']['header'
e6180 5d 20 3d 20 61 72 72 61 79 28 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 ].=.array("Proxy-Authorization:.
e61a0 42 61 73 69 63 20 7b 24 61 75 74 68 7d 22 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 Basic.{$auth}");.}.}.}..$options
e61c0 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 6f 70 74 69 .=.array_replace_recursive($opti
e61e0 6f 6e 73 2c 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 ons,.$defaultOptions);..if.(isse
e6200 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b t($options['http']['header'])).{
e6220 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 73 65 .$options['http']['header'].=.se
e6240 6c 66 3a 3a 66 69 78 48 74 74 70 48 65 61 64 65 72 46 69 65 6c 64 28 24 6f 70 74 69 6f 6e 73 5b lf::fixHttpHeaderField($options[
e6260 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 'http']['header']);.}..if.(defin
e6280 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f ed('HHVM_VERSION')).{.$phpVersio
e62a0 6e 20 3d 20 27 48 48 56 4d 20 27 20 2e 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c n.=.'HHVM.'...HHVM_VERSION;.}.el
e62c0 73 65 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 27 50 48 50 20 27 20 2e 20 50 48 50 5f se.{.$phpVersion.=.'PHP.'...PHP_
e62e0 4d 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 20 2e 20 27 2e 27 20 2e 20 50 48 50 5f 4d 49 4e 4f 52 5f MAJOR_VERSION...'.'...PHP_MINOR_
e6300 56 45 52 53 49 4f 4e 20 2e 20 27 2e 27 20 2e 20 50 48 50 5f 52 45 4c 45 41 53 45 5f 56 45 52 53 VERSION...'.'...PHP_RELEASE_VERS
e6320 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 ION;.}..if.(!isset($options['htt
e6340 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 20 7c 7c 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 p']['header']).||.false.===.stri
e6360 70 6f 73 28 69 6d 70 6c 6f 64 65 28 27 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d pos(implode('',.$options['http']
e6380 5b 27 68 65 61 64 65 72 27 5d 29 2c 20 27 75 73 65 72 2d 61 67 65 6e 74 27 29 29 20 7b 0a 24 6f ['header']),.'user-agent')).{.$o
e63a0 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 73 70 72 ptions['http']['header'][].=.spr
e63c0 69 6e 74 66 28 0a 27 55 73 65 72 2d 41 67 65 6e 74 3a 20 43 6f 6d 70 6f 73 65 72 2f 25 73 20 28 intf(.'User-Agent:.Composer/%s.(
e63e0 25 73 3b 20 25 73 3b 20 25 73 25 73 29 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f %s;.%s;.%s%s)',.Composer::VERSIO
e6400 4e 20 3d 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 76 65 72 73 69 6f 6e 40 27 20 3f 20 27 73 6f 75 N.===.'@package_version@'.?.'sou
e6420 72 63 65 27 20 3a 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 2c 0a 66 75 6e 63 74 69 rce'.:.Composer::VERSION,.functi
e6440 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 on_exists('php_uname').?.php_una
e6460 6d 65 28 27 73 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 66 75 6e 63 74 69 6f 6e 5f 65 78 me('s').:.'Unknown',.function_ex
e6480 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 72 ists('php_uname').?.php_uname('r
e64a0 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 2c 0a 67 65 74 ').:.'Unknown',.$phpVersion,.get
e64c0 65 6e 76 28 27 43 49 27 29 20 3f 20 27 3b 20 43 49 27 20 3a 20 27 27 0a 29 3b 0a 7d 0a 0a 72 65 env('CI').?.';.CI'.:.''.);.}..re
e64e0 74 75 72 6e 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 65 61 74 65 28 24 6f 70 74 69 turn.stream_context_create($opti
e6500 6f 6e 73 2c 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ons,.$defaultParams);.}.........
e6520 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 78 48 74 ...private.static.function.fixHt
e6540 74 70 48 65 61 64 65 72 46 69 65 6c 64 28 24 68 65 61 64 65 72 29 0a 7b 0a 69 66 20 28 21 69 73 tpHeaderField($header).{.if.(!is
e6560 5f 61 72 72 61 79 28 24 68 65 61 64 65 72 29 29 20 7b 0a 24 68 65 61 64 65 72 20 3d 20 65 78 70 _array($header)).{.$header.=.exp
e6580 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 24 68 65 61 64 65 72 29 3b 0a 7d 0a 75 61 73 6f 72 74 28 lode("\r\n",.$header);.}.uasort(
e65a0 24 68 65 61 64 65 72 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 29 20 7b 0a 72 65 74 75 72 6e $header,.function.($el).{.return
e65c0 20 73 74 72 69 70 6f 73 28 24 65 6c 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 20 3d 3d .stripos($el,.'content-type').==
e65e0 3d 20 30 20 3f 20 31 20 3a 20 2d 31 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 61 64 65 =.0.?.1.:.-1;.});..return.$heade
e6600 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 r;.}.}.<?php............namespac
e6620 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 e.Composer\Util;..use.Composer\C
e6640 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 onfig;.use.Composer\IO\IOInterfa
e6660 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 0a 7b 0a 63 6f 6e 73 74 20 4d 41 58 5f 51 ce;......class.Svn.{.const.MAX_Q
e6680 54 59 5f 41 55 54 48 5f 54 52 49 45 53 20 3d 20 35 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 TY_AUTH_TRIES.=.5;.....protected
e66a0 20 24 63 72 65 64 65 6e 74 69 61 6c 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 .$credentials;.....protected.$ha
e66c0 73 41 75 74 68 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 sAuth;.....protected.$io;.....pr
e66e0 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 otected.$url;.....protected.$cac
e6700 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 heCredentials.=.true;.....protec
e6720 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 71 74 79 ted.$process;.....protected.$qty
e6740 41 75 74 68 54 72 69 65 73 20 3d 20 30 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f AuthTries.=.0;.....protected.$co
e6760 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 65 72 73 69 6f nfig;.....private.static.$versio
e6780 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 n;........public.function.__cons
e67a0 74 72 75 63 74 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e truct($url,.IOInterface.$io,.Con
e67c0 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 fig.$config,.ProcessExecutor.$pr
e67e0 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 75 72 ocess.=.null).{.$this->url.=.$ur
e6800 6c 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 l;.$this->io.=.$io;.$this->confi
e6820 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 g.=.$config;.$this->process.=.$p
e6840 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 7d rocess.?:.new.ProcessExecutor;.}
e6860 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 45 6e ..public.static.function.cleanEn
e6880 76 28 29 0a 7b 0a 0a 20 70 75 74 65 6e 76 28 22 44 59 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 v().{...putenv("DYLD_LIBRARY_PAT
e68a0 48 22 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 44 59 4c 44 5f 4c 49 42 52 41 52 H");.unset($_SERVER['DYLD_LIBRAR
e68c0 59 5f 50 41 54 48 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 Y_PATH']);.}...............publi
e68e0 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 c.function.execute($command,.$ur
e6900 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 76 l,.$cwd.=.null,.$path.=.null,.$v
e6920 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 erbose.=.false).{...$this->confi
e6940 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 g->prohibitUrlByConfig($url,.$th
e6960 69 73 2d 3e 69 6f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 is->io);..return.$this->executeW
e6980 69 74 68 41 75 74 68 52 65 74 72 79 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 ithAuthRetry($command,.$cwd,.$ur
e69a0 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a l,.$path,.$verbose);.}..........
e69c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 4c 6f 63 61 6c ....public.function.executeLocal
e69e0 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 70 61 74 68 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 ($command,.$path,.$cwd.=.null,.$
e6a00 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 verbose.=.false).{...return.$thi
e6a20 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 63 6f 6d 6d 61 6e 64 s->executeWithAuthRetry($command
e6a40 2c 20 24 63 77 64 2c 20 27 27 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a ,.$cwd,.'',.$path,.$verbose);.}.
e6a60 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 57 69 74 68 41 75 74 .private.function.executeWithAut
e6a80 68 52 65 74 72 79 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 6c 2c 20 hRetry($svnCommand,.$cwd,.$url,.
e6aa0 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 0a 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 $path,.$verbose).{...$command.=.
e6ac0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 $this->getCommand($svnCommand,.$
e6ae0 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 69 url,.$path);..$output.=.null;.$i
e6b00 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 66 75 6e 63 74 69 o.=.$this->io;.$handler.=.functi
e6b20 6f 6e 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 20 75 73 65 20 28 26 24 6f 75 74 70 75 on.($type,.$buffer).use.(&$outpu
e6b40 74 2c 20 24 69 6f 2c 20 24 76 65 72 62 6f 73 65 29 20 7b 0a 69 66 20 28 24 74 79 70 65 20 21 3d t,.$io,.$verbose).{.if.($type.!=
e6b60 3d 20 27 6f 75 74 27 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 27 52 65 64 69 72 65 =.'out').{.return;.}.if.('Redire
e6b80 63 74 69 6e 67 20 74 6f 20 55 52 4c 20 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 75 66 66 65 cting.to.URL.'.===.substr($buffe
e6ba0 72 2c 20 30 2c 20 31 39 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 6f 75 74 70 75 74 20 2e r,.0,.19)).{.return;.}.$output..
e6bc0 3d 20 24 62 75 66 66 65 72 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 69 6f 2d 3e =.$buffer;.if.($verbose).{.$io->
e6be0 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 3b writeError($buffer,.false);.}.};
e6c00 0a 24 73 74 61 74 75 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 .$status.=.$this->process->execu
e6c20 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 68 61 6e 64 6c 65 72 2c 20 24 63 77 64 29 3b 0a 69 66 te($command,.$handler,.$cwd);.if
e6c40 20 28 30 20 3d 3d 3d 20 24 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 .(0.===.$status).{.return.$outpu
e6c60 74 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 t;.}..$errorOutput.=.$this->proc
e6c80 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 24 66 75 6c 6c 4f 75 74 70 ess->getErrorOutput();.$fullOutp
e6ca0 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 28 24 6f 75 74 70 75 74 ut.=.implode("\n",.array($output
e6cc0 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d ,.$errorOutput));....if.(false.=
e6ce0 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 43 6f 75 6c 64 20 6e ==.stripos($fullOutput,.'Could.n
e6d00 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 74 6f 20 73 65 72 76 65 72 3a 27 29 0a 26 26 20 ot.authenticate.to.server:').&&.
e6d20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 false.===.stripos($fullOutput,.'
e6d40 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 0a 26 26 20 66 61 6c 73 65 20 authorization.failed').&&.false.
e6d60 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 73 76 6e 3a 20 45 ===.stripos($fullOutput,.'svn:.E
e6d80 31 37 30 30 30 31 3a 27 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 170001:').&&.false.===.stripos($
e6da0 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 73 76 6e 3a 20 45 32 31 35 30 30 34 3a 27 29 29 20 7b 0a fullOutput,.'svn:.E215004:')).{.
e6dc0 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 66 75 6c throw.new.\RuntimeException($ful
e6de0 6c 4f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 lOutput);.}..if.(!$this->hasAuth
e6e00 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 41 75 74 68 44 61 6e 63 65 28 29 3b 0a 7d 0a 0a 0a ()).{.$this->doAuthDance();.}...
e6e20 20 69 66 20 28 24 74 68 69 73 2d 3e 71 74 79 41 75 74 68 54 72 69 65 73 2b 2b 20 3c 20 73 65 6c .if.($this->qtyAuthTries++.<.sel
e6e40 66 3a 3a 4d 41 58 5f 51 54 59 5f 41 55 54 48 5f 54 52 49 45 53 29 20 7b 0a 0a 20 72 65 74 75 72 f::MAX_QTY_AUTH_TRIES).{...retur
e6e60 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 73 n.$this->executeWithAuthRetry($s
e6e80 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 76 vnCommand,.$cwd,.$url,.$path,.$v
e6ea0 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 erbose);.}..throw.new.\RuntimeEx
e6ec0 63 65 70 74 69 6f 6e 28 0a 27 77 72 6f 6e 67 20 63 72 65 64 65 6e 74 69 61 6c 73 20 70 72 6f 76 ception(.'wrong.credentials.prov
e6ee0 69 64 65 64 20 28 27 2e 24 66 75 6c 6c 4f 75 74 70 75 74 2e 27 29 27 0a 29 3b 0a 7d 0a 0a 0a 0a ided.('.$fullOutput.')'.);.}....
e6f00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 .public.function.setCacheCredent
e6f20 69 61 6c 73 28 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 0a 7b 0a 24 74 68 69 73 2d ials($cacheCredentials).{.$this-
e6f40 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 24 63 61 63 68 65 43 72 65 64 65 6e >cacheCredentials.=.$cacheCreden
e6f60 74 69 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 tials;.}........protected.functi
e6f80 6f 6e 20 64 6f 41 75 74 68 44 61 6e 63 65 28 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d on.doAuthDance().{...if.(!$this-
e6fa0 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 >io->isInteractive()).{.throw.ne
e6fc0 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 63 61 6e 20 6e 6f 74 20 61 73 w.\RuntimeException(.'can.not.as
e6fe0 6b 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69 6e 20 6e 6f 6e 20 69 6e 74 65 k.for.authentication.in.non.inte
e7000 72 61 63 74 69 76 65 20 6d 6f 64 65 27 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 ractive.mode'.);.}..$this->io->w
e7020 72 69 74 65 45 72 72 6f 72 28 22 54 68 65 20 53 75 62 76 65 72 73 69 6f 6e 20 73 65 72 76 65 72 riteError("The.Subversion.server
e7040 20 28 7b 24 74 68 69 73 2d 3e 75 72 6c 7d 29 20 72 65 71 75 65 73 74 65 64 20 63 72 65 64 65 6e .({$this->url}).requested.creden
e7060 74 69 61 6c 73 3a 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 tials:");..$this->hasAuth.=.true
e7080 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d ;.$this->credentials['username']
e70a0 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 22 55 73 65 72 6e 61 6d 65 3a 20 22 29 3b .=.$this->io->ask("Username:.");
e70c0 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 .$this->credentials['password'].
e70e0 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 22 50 =.$this->io->askAndHideAnswer("P
e7100 61 73 73 77 6f 72 64 3a 20 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e assword:.");..$this->cacheCreden
e7120 74 69 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 tials.=.$this->io->askConfirmati
e7140 6f 6e 28 22 53 68 6f 75 6c 64 20 53 75 62 76 65 72 73 69 6f 6e 20 63 61 63 68 65 20 74 68 65 73 on("Should.Subversion.cache.thes
e7160 65 20 63 72 65 64 65 6e 74 69 61 6c 73 3f 20 28 79 65 73 2f 6e 6f 29 20 22 2c 20 74 72 75 65 29 e.credentials?.(yes/no).",.true)
e7180 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f ;..return.$this;.}...........pro
e71a0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 24 63 6d 64 2c tected.function.getCommand($cmd,
e71c0 20 24 75 72 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 6d 64 20 3d 20 73 70 .$url,.$path.=.null).{.$cmd.=.sp
e71e0 72 69 6e 74 66 28 0a 27 25 73 20 25 73 25 73 20 25 73 27 2c 0a 24 63 6d 64 2c 0a 27 2d 2d 6e 6f rintf(.'%s.%s%s.%s',.$cmd,.'--no
e7200 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 43 72 65 64 65 n-interactive.',.$this->getCrede
e7220 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a ntialString(),.ProcessExecutor::
e7240 65 73 63 61 70 65 28 24 75 72 6c 29 0a 29 3b 0a 0a 69 66 20 28 24 70 61 74 68 29 20 7b 0a 24 63 escape($url).);..if.($path).{.$c
e7260 6d 64 20 2e 3d 20 27 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 md..=.'.'...ProcessExecutor::esc
e7280 61 70 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d 0a 0a 0a ape($path);.}..return.$cmd;.}...
e72a0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 72 65 64 ......protected.function.getCred
e72c0 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 entialString().{.if.(!$this->has
e72e0 41 75 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 Auth()).{.return.'';.}..return.s
e7300 70 72 69 6e 74 66 28 0a 27 20 25 73 2d 2d 75 73 65 72 6e 61 6d 65 20 25 73 20 2d 2d 70 61 73 73 printf(.'.%s--username.%s.--pass
e7320 77 6f 72 64 20 25 73 20 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 41 75 74 68 43 61 63 68 65 28 29 word.%s.',.$this->getAuthCache()
e7340 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d ,.ProcessExecutor::escape($this-
e7360 3e 67 65 74 55 73 65 72 6e 61 6d 65 28 29 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 >getUsername()),.ProcessExecutor
e7380 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 65 74 50 61 73 73 77 6f 72 64 28 29 29 0a 29 ::escape($this->getPassword()).)
e73a0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 ;.}........protected.function.ge
e73c0 74 50 61 73 73 77 6f 72 64 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 tPassword().{.if.($this->credent
e73e0 69 61 6c 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 ials.===.null).{.throw.new.\Logi
e7400 63 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 73 76 6e 20 61 75 74 68 20 64 65 74 65 63 74 65 64 cException("No.svn.auth.detected
e7420 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 72 65 64 .");.}..return.isset($this->cred
e7440 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 72 entials['password']).?.$this->cr
e7460 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3a 20 27 27 3b 0a 7d 0a 0a 0a edentials['password'].:.'';.}...
e7480 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 6e .....protected.function.getUsern
e74a0 61 6d 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 20 3d ame().{.if.($this->credentials.=
e74c0 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 ==.null).{.throw.new.\LogicExcep
e74e0 74 69 6f 6e 28 22 4e 6f 20 73 76 6e 20 61 75 74 68 20 64 65 74 65 63 74 65 64 2e 22 29 3b 0a 7d tion("No.svn.auth.detected.");.}
e7500 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 ..return.$this->credentials['use
e7520 72 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 rname'];.}.......protected.funct
e7540 69 6f 6e 20 68 61 73 41 75 74 68 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 ion.hasAuth().{.if.(null.!==.$th
e7560 69 73 2d 3e 68 61 73 41 75 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 is->hasAuth).{.return.$this->has
e7580 41 75 74 68 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 72 Auth;.}..if.(false.===.$this->cr
e75a0 65 61 74 65 41 75 74 68 46 72 6f 6d 43 6f 6e 66 69 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 eateAuthFromConfig()).{.$this->c
e75c0 72 65 61 74 65 41 75 74 68 46 72 6f 6d 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 reateAuthFromUrl();.}..return.$t
e75e0 68 69 73 2d 3e 68 61 73 41 75 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 his->hasAuth;.}.......protected.
e7600 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 43 61 63 68 65 28 29 0a 7b 0a 72 65 74 75 72 6e function.getAuthCache().{.return
e7620 20 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3f 20 27 27 20 3a 20 .$this->cacheCredentials.?.''.:.
e7640 27 2d 2d 6e 6f 2d 61 75 74 68 2d 63 61 63 68 65 20 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 '--no-auth-cache.';.}.......priv
e7660 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 43 6f 6e 66 69 ate.function.createAuthFromConfi
e7680 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 68 61 73 28 27 68 g().{.if.(!$this->config->has('h
e76a0 74 74 70 2d 62 61 73 69 63 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 ttp-basic')).{.return.$this->has
e76c0 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 Auth.=.false;.}..$authConfig.=.$
e76e0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 3b this->config->get('http-basic');
e7700 0a 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 ..$host.=.parse_url($this->url,.
e7720 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 43 6f PHP_URL_HOST);.if.(isset($authCo
e7740 6e 66 69 67 5b 24 68 6f 73 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 nfig[$host])).{.$this->credentia
e7760 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 68 6f ls['username'].=.$authConfig[$ho
e7780 73 74 5d 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 st]['username'];.$this->credenti
e77a0 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 68 als['password'].=.$authConfig[$h
e77c0 6f 73 74 5d 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ost]['password'];..return.$this-
e77e0 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 >hasAuth.=.true;.}..return.$this
e7800 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ->hasAuth.=.false;.}.......priva
e7820 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 55 72 6c 28 29 0a te.function.createAuthFromUrl().
e7840 7b 0a 24 75 72 69 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a {.$uri.=.parse_url($this->url);.
e7860 69 66 20 28 65 6d 70 74 79 28 24 75 72 69 5b 27 75 73 65 72 27 5d 29 29 20 7b 0a 72 65 74 75 72 if.(empty($uri['user'])).{.retur
e7880 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 n.$this->hasAuth.=.false;.}..$th
e78a0 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 75 is->credentials['username'].=.$u
e78c0 72 69 5b 27 75 73 65 72 27 5d 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 75 72 69 5b 27 70 61 73 ri['user'];.if.(!empty($uri['pas
e78e0 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 s'])).{.$this->credentials['pass
e7900 77 6f 72 64 27 5d 20 3d 20 24 75 72 69 5b 27 70 61 73 73 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e word'].=.$uri['pass'];.}..return
e7920 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .$this->hasAuth.=.true;.}.......
e7940 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 61 72 79 56 65 72 73 69 6f 6e 28 29 0a public.function.binaryVersion().
e7960 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 30 20 3d {.if.(!self::$version).{.if.(0.=
e7980 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 ==.$this->process->execute('svn.
e79a0 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 69 66 20 28 70 72 65 67 --version',.$output)).{.if.(preg
e79c0 5f 6d 61 74 63 68 28 27 7b 28 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 2b 29 7d 27 2c 20 24 6f 75 74 _match('{(\d+(?:\.\d+)+)}',.$out
e79e0 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 20 3d put,.$match)).{.self::$version.=
e7a00 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a .$match[1];.}.}.}..return.self::
e7a20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e $version;.}.}.<?php............n
e7a40 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d amespace.Composer\Util;..use.Com
e7a60 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 5c 43 61 42 75 6e 64 6c 65 3b 0a 0a 0a 0a 0a 66 69 6e poser\CaBundle\CaBundle;.....fin
e7a80 61 6c 20 63 6c 61 73 73 20 54 6c 73 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 al.class.TlsHelper.{.private.sta
e7aa0 74 69 63 20 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tic.$useOpensslParse;...........
e7ac0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 65 72 74 public.static.function.checkCert
e7ae0 69 66 69 63 61 74 65 48 6f 73 74 28 24 63 65 72 74 69 66 69 63 61 74 65 2c 20 24 68 6f 73 74 6e ificateHost($certificate,.$hostn
e7b00 61 6d 65 2c 20 26 24 63 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 73 65 6c ame,.&$cn.=.null).{.$names.=.sel
e7b20 66 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 4e 61 6d 65 73 28 24 63 65 72 74 69 66 69 63 f::getCertificateNames($certific
e7b40 61 74 65 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 73 29 29 20 7b 0a 72 65 74 75 ate);..if.(empty($names)).{.retu
e7b60 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 62 69 6e 65 64 4e 61 6d 65 73 20 3d 20 61 72 rn.false;.}..$combinedNames.=.ar
e7b80 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 5b 27 73 61 6e 27 5d 2c 20 61 72 72 61 79 28 24 ray_merge($names['san'],.array($
e7ba0 6e 61 6d 65 73 5b 27 63 6e 27 5d 29 29 3b 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 73 74 72 74 6f names['cn']));.$hostname.=.strto
e7bc0 6c 6f 77 65 72 28 24 68 6f 73 74 6e 61 6d 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d lower($hostname);..foreach.($com
e7be0 62 69 6e 65 64 4e 61 6d 65 73 20 61 73 20 24 63 65 72 74 4e 61 6d 65 29 20 7b 0a 24 6d 61 74 63 binedNames.as.$certName).{.$matc
e7c00 68 65 72 20 3d 20 73 65 6c 66 3a 3a 63 65 72 74 4e 61 6d 65 4d 61 74 63 68 65 72 28 24 63 65 72 her.=.self::certNameMatcher($cer
e7c20 74 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 24 6d 61 74 63 68 65 72 20 26 26 20 24 6d 61 74 63 68 65 tName);..if.($matcher.&&.$matche
e7c40 72 28 24 68 6f 73 74 6e 61 6d 65 29 29 20 7b 0a 24 63 6e 20 3d 20 24 6e 61 6d 65 73 5b 27 63 6e r($hostname)).{.$cn.=.$names['cn
e7c60 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 '];..return.true;.}.}..return.fa
e7c80 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e lse;.}.........public.static.fun
e7ca0 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 4e 61 6d 65 73 28 24 63 65 72 74 69 ction.getCertificateNames($certi
e7cc0 66 69 63 61 74 65 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 63 65 72 74 69 66 69 63 ficate).{.if.(is_array($certific
e7ce0 61 74 65 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 24 63 65 72 74 69 66 69 63 61 74 65 3b 0a 7d 20 ate)).{.$info.=.$certificate;.}.
e7d00 65 6c 73 65 69 66 20 28 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 elseif.(CaBundle::isOpensslParse
e7d20 53 61 66 65 28 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 Safe()).{.$info.=.openssl_x509_p
e7d40 61 72 73 65 28 24 63 65 72 74 69 66 69 63 61 74 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 arse($certificate,.false);.}..if
e7d60 20 28 21 69 73 73 65 74 28 24 69 6e 66 6f 5b 27 73 75 62 6a 65 63 74 27 5d 5b 27 63 6f 6d 6d 6f .(!isset($info['subject']['commo
e7d80 6e 4e 61 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6d nName'])).{.return.null;.}..$com
e7da0 6d 6f 6e 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 66 6f 5b 27 73 75 62 6a monName.=.strtolower($info['subj
e7dc0 65 63 74 27 5d 5b 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 5d 29 3b 0a 24 73 75 62 6a 65 63 74 41 6c ect']['commonName']);.$subjectAl
e7de0 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e tNames.=.array();..if.(isset($in
e7e00 66 6f 5b 27 65 78 74 65 6e 73 69 6f 6e 73 27 5d 5b 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 fo['extensions']['subjectAltName
e7e20 27 5d 29 29 20 7b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 70 72 65 67 5f 73 '])).{.$subjectAltNames.=.preg_s
e7e40 70 6c 69 74 28 27 7b 5c 73 2a 2c 5c 73 2a 7d 27 2c 20 24 69 6e 66 6f 5b 27 65 78 74 65 6e 73 69 plit('{\s*,\s*}',.$info['extensi
e7e60 6f 6e 73 27 5d 5b 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 5d 29 3b 0a 24 73 75 62 6a 65 ons']['subjectAltName']);.$subje
e7e80 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f ctAltNames.=.array_filter(array_
e7ea0 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d map(function.($name).{.if.(0.===
e7ec0 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 44 4e 53 3a 27 29 29 20 7b 0a 72 65 74 75 72 6e .strpos($name,.'DNS:')).{.return
e7ee0 20 73 74 72 74 6f 6c 6f 77 65 72 28 6c 74 72 69 6d 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 .strtolower(ltrim(substr($name,.
e7f00 34 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 2c 20 24 73 75 62 6a 65 63 4)));.}..return.null;.},.$subjec
e7f20 74 41 6c 74 4e 61 6d 65 73 29 29 3b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 tAltNames));.$subjectAltNames.=.
e7f40 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 29 3b 0a array_values($subjectAltNames);.
e7f60 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f 6e }..return.array(.'cn'.=>.$common
e7f80 4e 61 6d 65 2c 0a 27 73 61 6e 27 20 3d 3e 20 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 2c Name,.'san'.=>.$subjectAltNames,
e7fa0 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .);.}...........................
e7fc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ..............public.static.func
e7fe0 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 24 tion.getCertificateFingerprint($
e8000 63 65 72 74 69 66 69 63 61 74 65 29 0a 7b 0a 24 70 75 62 6b 65 79 64 65 74 61 69 6c 73 20 3d 20 certificate).{.$pubkeydetails.=.
e8020 6f 70 65 6e 73 73 6c 5f 70 6b 65 79 5f 67 65 74 5f 64 65 74 61 69 6c 73 28 6f 70 65 6e 73 73 6c openssl_pkey_get_details(openssl
e8040 5f 67 65 74 5f 70 75 62 6c 69 63 6b 65 79 28 24 63 65 72 74 69 66 69 63 61 74 65 29 29 3b 0a 24 _get_publickey($certificate));.$
e8060 70 75 62 6b 65 79 70 65 6d 20 3d 20 24 70 75 62 6b 65 79 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 pubkeypem.=.$pubkeydetails['key'
e8080 5d 3b 0a 0a 20 24 73 74 61 72 74 20 3d 20 27 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 ];...$start.=.'-----BEGIN.PUBLIC
e80a0 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 65 6e 64 20 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 .KEY-----';.$end.=.'-----END.PUB
e80c0 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 70 65 6d 74 72 69 6d 20 3d 20 73 75 62 73 74 72 LIC.KEY-----';.$pemtrim.=.substr
e80e0 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 73 74 72 70 6f 73 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 ($pubkeypem,.strpos($pubkeypem,.
e8100 24 73 74 61 72 74 29 20 2b 20 73 74 72 6c 65 6e 28 24 73 74 61 72 74 29 2c 20 28 73 74 72 6c 65 $start).+.strlen($start),.(strle
e8120 6e 28 24 70 75 62 6b 65 79 70 65 6d 29 20 2d 20 73 74 72 70 6f 73 28 24 70 75 62 6b 65 79 70 65 n($pubkeypem).-.strpos($pubkeype
e8140 6d 2c 20 24 65 6e 64 29 29 20 2a 20 28 2d 31 29 29 3b 0a 24 64 65 72 20 3d 20 62 61 73 65 36 34 m,.$end)).*.(-1));.$der.=.base64
e8160 5f 64 65 63 6f 64 65 28 24 70 65 6d 74 72 69 6d 29 3b 0a 0a 72 65 74 75 72 6e 20 73 68 61 31 28 _decode($pemtrim);..return.sha1(
e8180 24 64 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 $der);.}..........public.static.
e81a0 66 75 6e 63 74 69 6f 6e 20 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b 0a function.isOpensslParseSafe().{.
e81c0 72 65 74 75 72 6e 20 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 return.CaBundle::isOpensslParseS
e81e0 61 66 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 afe();.}.........private.static.
e8200 66 75 6e 63 74 69 6f 6e 20 63 65 72 74 4e 61 6d 65 4d 61 74 63 68 65 72 28 24 63 65 72 74 4e 61 function.certNameMatcher($certNa
e8220 6d 65 29 0a 7b 0a 24 77 69 6c 64 63 61 72 64 73 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 me).{.$wildcards.=.substr_count(
e8240 24 63 65 72 74 4e 61 6d 65 2c 20 27 2a 27 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 77 69 6c $certName,.'*');..if.(0.===.$wil
e8260 64 63 61 72 64 73 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 6f dcards).{...return.function.($ho
e8280 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 63 65 72 74 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e stname).use.($certName).{.return
e82a0 20 24 68 6f 73 74 6e 61 6d 65 20 3d 3d 3d 20 24 63 65 72 74 4e 61 6d 65 3b 0a 7d 3b 0a 7d 0a 0a .$hostname.===.$certName;.};.}..
e82c0 69 66 20 28 31 20 3d 3d 3d 20 24 77 69 6c 64 63 61 72 64 73 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 if.(1.===.$wildcards).{.$compone
e82e0 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 63 65 72 74 4e 61 6d 65 29 3b 0a 0a nts.=.explode('.',.$certName);..
e8300 69 66 20 28 33 20 3e 20 63 6f 75 6e 74 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 0a 20 if.(3.>.count($components)).{...
e8320 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 43 6f 6d 70 6f 6e 65 6e 74 20 3d 20 24 63 6f return;.}..$firstComponent.=.$co
e8340 6d 70 6f 6e 65 6e 74 73 5b 30 5d 3b 0a 0a 0a 20 69 66 20 28 27 2a 27 20 21 3d 3d 20 24 66 69 72 mponents[0];....if.('*'.!==.$fir
e8360 73 74 43 6f 6d 70 6f 6e 65 6e 74 5b 73 74 72 6c 65 6e 28 24 66 69 72 73 74 43 6f 6d 70 6f 6e 65 stComponent[strlen($firstCompone
e8380 6e 74 29 20 2d 20 31 5d 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 77 69 6c 64 63 61 72 64 nt).-.1]).{.return;.}..$wildcard
e83a0 52 65 67 65 78 20 3d 20 70 72 65 67 5f 71 75 6f 74 65 28 24 63 65 72 74 4e 61 6d 65 29 3b 0a 24 Regex.=.preg_quote($certName);.$
e83c0 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a wildcardRegex.=.str_replace('\\*
e83e0 27 2c 20 27 5b 61 2d 7a 30 2d 39 2d 5d 2b 27 2c 20 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 29 ',.'[a-z0-9-]+',.$wildcardRegex)
e8400 3b 0a 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 22 7b 5e 7b 24 77 69 6c 64 63 61 72 64 ;.$wildcardRegex.=."{^{$wildcard
e8420 52 65 67 65 78 7d 24 7d 22 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 6f Regex}$}";..return.function.($ho
e8440 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 29 20 7b 0a 72 stname).use.($wildcardRegex).{.r
e8460 65 74 75 72 6e 20 31 20 3d 3d 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 24 77 69 6c 64 63 61 72 64 eturn.1.===.preg_match($wildcard
e8480 52 65 67 65 78 2c 20 24 68 6f 73 74 6e 61 6d 65 29 3b 0a 7d 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 Regex,.$hostname);.};.}.}.}.<?ph
e84a0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
e84c0 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a Util;..use.Composer\Config;.....
e84e0 63 6c 61 73 73 20 55 72 6c 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 class.Url.{.public.static.functi
e8500 6f 6e 20 75 70 64 61 74 65 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 43 6f 6e 66 69 67 20 24 63 on.updateDistReference(Config.$c
e8520 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 72 65 66 29 0a 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 onfig,.$url,.$ref).{.$host.=.par
e8540 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 20 se_url($url,.PHP_URL_HOST);..if.
e8560 28 24 68 6f 73 74 20 3d 3d 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 ($host.===.'api.github.com'.||.$
e8580 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d host.===.'github.com'.||.$host.=
e85a0 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 69 66 20 28 70 72 65 67 5f ==.'www.github.com').{.if.(preg_
e85c0 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 68 match('{^https?://(?:www\.)?gith
e85e0 75 62 5c 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 72 ub\.com/([^/]+)/([^/]+)/(zip|tar
e8600 29 62 61 6c 6c 2f 28 2e 2b 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b )ball/(.+)$}i',.$url,.$match)).{
e8620 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f ...$url.=.'https://api.github.co
e8640 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 m/repos/'...$match[1]...'/'..$ma
e8660 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c tch[2]...'/'...$match[3]...'ball
e8680 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 /'...$ref;.}.elseif.(preg_match(
e86a0 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f '{^https?://(?:www\.)?github\.co
e86c0 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 61 72 63 68 69 76 65 2f 2e 2b 5c 2e 28 7a m/([^/]+)/([^/]+)/archive/.+\.(z
e86e0 69 70 7c 74 61 72 29 28 3f 3a 5c 2e 67 7a 29 3f 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 ip|tar)(?:\.gz)?$}i',.$url,.$mat
e8700 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 ch)).{...$url.=.'https://api.git
e8720 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f hub.com/repos/'...$match[1]...'/
e8740 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e '..$match[2]...'/'...$match[3]..
e8760 20 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f .'ball/'...$ref;.}.elseif.(preg_
e8780 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 61 70 69 5c 2e 67 69 74 68 75 62 5c 2e 63 match('{^https?://api\.github\.c
e87a0 6f 6d 2f 72 65 70 6f 73 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 om/repos/([^/]+)/([^/]+)/(zip|ta
e87c0 72 29 62 61 6c 6c 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 r)ball(?:/.+)?$}i',.$url,.$match
e87e0 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 )).{...$url.=.'https://api.githu
e8800 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e b.com/repos/'...$match[1]...'/'.
e8820 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 .$match[2]...'/'...$match[3]...'
e8840 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 6f 73 74 ball/'...$ref;.}.}.elseif.($host
e8860 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d .===.'bitbucket.org'.||.$host.==
e8880 3d 20 27 77 77 77 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 69 66 20 28 70 72 65 =.'www.bitbucket.org').{.if.(pre
e88a0 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 g_match('{^https?://(?:www\.)?bi
e88c0 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 67 65 74 tbucket\.org/([^/]+)/([^/]+)/get
e88e0 2f 28 2e 2b 29 5c 2e 28 7a 69 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 29 24 7d 69 /(.+)\.(zip|tar\.gz|tar\.bz2)$}i
e8900 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 ',.$url,.$match)).{...$url.=.'ht
e8920 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 tps://bitbucket.org/'...$match[1
e8940 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 67 65 74 2f 27 20 2e 20 24 ]...'/'..$match[2]...'/get/'...$
e8960 72 65 66 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 5b 34 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 ref...'.'...$match[4];.}.}.elsei
e8980 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 6c 61 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f f.($host.===.'gitlab.com'.||.$ho
e89a0 73 74 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 6c 61 62 2e 63 6f 6d 27 29 20 7b 0a 69 66 20 28 70 st.===.'www.gitlab.com').{.if.(p
e89c0 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f reg_match('{^https?://(?:www\.)?
e89e0 67 69 74 6c 61 62 5c 2e 63 6f 6d 2f 61 70 69 2f 76 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 2f 28 gitlab\.com/api/v[34]/projects/(
e8a00 5b 5e 2f 5d 2b 29 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 72 63 68 69 76 65 5c 2e 28 7a 69 70 7c [^/]+)/repository/archive\.(zip|
e8a20 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 7c 74 61 72 29 5c 3f 73 68 61 3d 2e 2b 24 7d 69 tar\.gz|tar\.bz2|tar)\?sha=.+$}i
e8a40 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 ',.$url,.$match)).{...$url.=.'ht
e8a60 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 63 6f 6d 2f 61 70 69 2f 76 34 2f 70 72 6f 6a 65 63 74 73 tps://gitlab.com/api/v4/projects
e8a80 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 72 /'...$match[1]...'/repository/ar
e8aa0 63 68 69 76 65 2e 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 3f 73 68 61 3d 27 20 2e 20 chive.'...$match[2]...'?sha='...
e8ac0 24 72 65 66 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 68 6f 73 74 $ref;.}.}.elseif.(in_array($host
e8ae0 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 ,.$config->get('github-domains')
e8b00 2c 20 74 72 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ,.true)).{.$url.=.preg_replace('
e8b20 7b 28 2f 72 65 70 6f 73 2f 5b 5e 2f 5d 2b 2f 5b 5e 2f 5d 2b 2f 28 7a 69 70 7c 74 61 72 29 62 61 {(/repos/[^/]+/[^/]+/(zip|tar)ba
e8b40 6c 6c 29 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 27 2c 20 27 24 31 2f 27 2e 24 72 65 66 2c 20 24 75 72 ll)(?:/.+)?$}i',.'$1/'.$ref,.$ur
e8b60 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 68 6f 73 74 2c 20 24 63 l);.}.elseif.(in_array($host,.$c
e8b80 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 onfig->get('gitlab-domains'),.tr
e8ba0 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 2f 61 ue)).{.$url.=.preg_replace('{(/a
e8bc0 70 69 2f 76 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 2f 5b 5e 2f 5d 2b 2f 72 65 70 6f 73 69 74 6f pi/v[34]/projects/[^/]+/reposito
e8be0 72 79 2f 61 72 63 68 69 76 65 5c 2e 28 3f 3a 7a 69 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e ry/archive\.(?:zip|tar\.gz|tar\.
e8c00 62 7a 32 7c 74 61 72 29 5c 3f 73 68 61 3d 29 2e 2b 24 7d 69 27 2c 20 27 24 7b 31 7d 27 2e 24 72 bz2|tar)\?sha=).+$}i',.'${1}'.$r
e8c20 65 66 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 7d 0a 3c ef,.$url);.}..return.$url;.}.}.<
e8c40 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
e8c60 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f er;..use.Symfony\Component\Conso
e8c80 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 le\Output\OutputInterface;..trig
e8ca0 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f ger_error('The.'...__NAMESPACE__
e8cc0 20 2e 20 27 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 ...'\XdebugHandler.class.is.depr
e8ce0 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c ecated,.use.Composer\XdebugHandl
e8d00 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 20 69 6e 73 74 65 61 64 2c 27 2c 20 45 5f 55 53 er\XdebugHandler.instead,',.E_US
e8d20 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 ER_DEPRECATED);.....class.Xdebug
e8d40 48 61 6e 64 6c 65 72 20 65 78 74 65 6e 64 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 Handler.extends.XdebugHandler\Xd
e8d60 65 62 75 67 48 61 6e 64 6c 65 72 0a 7b 0a 63 6f 6e 73 74 20 45 4e 56 5f 41 4c 4c 4f 57 20 3d 20 ebugHandler.{.const.ENV_ALLOW.=.
e8d80 27 43 4f 4d 50 4f 53 45 52 5f 41 4c 4c 4f 57 5f 58 44 45 42 55 47 27 3b 0a 63 6f 6e 73 74 20 45 'COMPOSER_ALLOW_XDEBUG';.const.E
e8da0 4e 56 5f 56 45 52 53 49 4f 4e 20 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 58 44 45 42 55 47 5f 56 45 NV_VERSION.=.'COMPOSER_XDEBUG_VE
e8dc0 52 53 49 4f 4e 27 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 RSION';..public.function.__const
e8de0 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a ruct(OutputInterface.$output).{.
e8e00 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 parent::__construct('composer',.
e8e20 27 2d 2d 61 6e 73 69 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a '--ansi');.}.}.<?php............
e8e40 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 49 66 45 78 69 73 74 73 28 24 66 69 6c 65 29 0a function.includeIfExists($file).
e8e60 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 20 3f 20 69 6e {.return.file_exists($file).?.in
e8e80 63 6c 75 64 65 20 24 66 69 6c 65 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 28 21 24 6c clude.$file.:.false;.}..if.((!$l
e8ea0 6f 61 64 65 72 20 3d 20 69 6e 63 6c 75 64 65 49 66 45 78 69 73 74 73 28 5f 5f 44 49 52 5f 5f 2e oader.=.includeIfExists(__DIR__.
e8ec0 27 2f 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 20 26 26 20 28 '/../vendor/autoload.php')).&&.(
e8ee0 21 24 6c 6f 61 64 65 72 20 3d 20 69 6e 63 6c 75 64 65 49 66 45 78 69 73 74 73 28 5f 5f 44 49 52 !$loader.=.includeIfExists(__DIR
e8f00 5f 5f 2e 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 29 20 7b __.'/../../../autoload.php'))).{
e8f20 0a 65 63 68 6f 20 27 59 6f 75 20 6d 75 73 74 20 73 65 74 20 75 70 20 74 68 65 20 70 72 6f 6a 65 .echo.'You.must.set.up.the.proje
e8f40 63 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 75 73 69 6e 67 20 60 63 6f 6d 70 6f 73 65 72 20 ct.dependencies.using.`composer.
e8f60 69 6e 73 74 61 6c 6c 60 27 2e 50 48 50 5f 45 4f 4c 2e 0a 27 53 65 65 20 68 74 74 70 73 3a 2f 2f install`'.PHP_EOL..'See.https://
e8f80 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 20 66 6f 72 20 69 6e getcomposer.org/download/.for.in
e8fa0 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e 20 69 6e 73 74 61 6c 6c 69 6e 67 20 43 6f 6d 70 6f 73 65 structions.on.installing.Compose
e8fc0 72 27 2e 50 48 50 5f 45 4f 4c 3b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 r'.PHP_EOL;.exit(1);.}..return.$
e8fe0 6c 6f 61 64 65 72 3b 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 loader;.<?php../*..*.This.file.i
e9000 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 4e 69 s.part.of.Composer...*..*.(c).Ni
e9020 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 6e 61 64 65 72 6d 61 6e 2e 64 ls.Adermann.<naderman@naderman.d
e9040 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 e>..*.....Jordi.Boggiano.<j.bogg
e9060 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c iano@seld.be>..*..*.For.the.full
e9080 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
e90a0 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
e90c0 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
e90e0 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 is.source.code...*/..namespace.C
e9100 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 4c omposer\Autoload;../**..*.ClassL
e9120 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 50 53 52 2d 30 2c 20 50 53 52 2d 34 20 oader.implements.a.PSR-0,.PSR-4.
e9140 61 6e 64 20 63 6c 61 73 73 6d 61 70 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a and.classmap.class.loader...*..*
e9160 20 20 20 20 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 .....$loader.=.new.\Composer\Aut
e9180 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f oload\ClassLoader();..*..*...../
e91a0 2f 20 72 65 67 69 73 74 65 72 20 63 6c 61 73 73 65 73 20 77 69 74 68 20 6e 61 6d 65 73 70 61 63 /.register.classes.with.namespac
e91c0 65 73 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 5c es..*.....$loader->add('Symfony\
e91e0 43 6f 6d 70 6f 6e 65 6e 74 27 2c 20 5f 5f 44 49 52 5f 5f 2e 27 2f 63 6f 6d 70 6f 6e 65 6e 74 27 Component',.__DIR__.'/component'
e9200 29 3b 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 27 );..*.....$loader->add('Symfony'
e9220 2c 20 20 20 20 20 20 20 20 20 20 20 5f 5f 44 49 52 5f 5f 2e 27 2f 66 72 61 6d 65 77 6f 72 6b 27 ,...........__DIR__.'/framework'
e9240 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 61 63 74 69 76 61 74 65 20 74 68 65 20 61 75 74 );..*..*.....//.activate.the.aut
e9260 6f 6c 6f 61 64 65 72 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 oloader..*.....$loader->register
e9280 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 74 6f 20 65 6e 61 62 6c 65 20 73 65 61 72 63 ();..*..*.....//.to.enable.searc
e92a0 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 28 65 67 2e 20 66 6f 72 20 50 hing.the.include.path.(eg..for.P
e92c0 45 41 52 20 70 61 63 6b 61 67 65 73 29 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 EAR.packages)..*.....$loader->se
e92e0 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 74 72 75 65 29 3b 0a 20 2a 0a 20 2a 20 49 6e 20 tUseIncludePath(true);..*..*.In.
e9300 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 74 72 79 20 74 6f 20 75 73 65 20 this.example,.if.you.try.to.use.
e9320 61 20 63 6c 61 73 73 20 69 6e 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 a.class.in.the.Symfony\Component
e9340 0a 20 2a 20 6e 61 6d 65 73 70 61 63 65 20 6f 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 63 68 69 6c ..*.namespace.or.one.of.its.chil
e9360 64 72 65 6e 20 28 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 20 dren.(Symfony\Component\Console.
e9380 66 6f 72 20 69 6e 73 74 61 6e 63 65 29 2c 0a 20 2a 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 for.instance),..*.the.autoloader
e93a0 20 77 69 6c 6c 20 66 69 72 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 63 6c 61 73 73 20 75 .will.first.look.for.the.class.u
e93c0 6e 64 65 72 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 2f 0a 20 2a 20 64 69 72 65 63 74 6f 72 79 nder.the.component/..*.directory
e93e0 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 74 68 65 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 74 ,.and.it.will.then.fallback.to.t
e9400 68 65 20 66 72 61 6d 65 77 6f 72 6b 2f 20 64 69 72 65 63 74 6f 72 79 20 69 66 20 6e 6f 74 0a 20 he.framework/.directory.if.not..
e9420 2a 20 66 6f 75 6e 64 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 2e 0a 20 2a 0a 20 2a 20 *.found.before.giving.up...*..*.
e9440 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 6c 6f 6f 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 This.class.is.loosely.based.on.t
e9460 68 65 20 53 79 6d 66 6f 6e 79 20 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 2e he.Symfony.UniversalClassLoader.
e9480 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 ..*..*.@author.Fabien.Potencier.
e94a0 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 <fabien@symfony.com>..*.@author.
e94c0 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e Jordi.Boggiano.<j.boggiano@seld.
e94e0 62 65 3e 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 be>..*.@see....http://www.php-fi
e9500 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 30 2f 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 g.org/psr/psr-0/..*.@see....http
e9520 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 34 2f 0a 20 2a ://www.php-fig.org/psr/psr-4/..*
e9540 2f 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 20 20 20 20 2f 2f 20 50 53 52 /.class.ClassLoader.{.....//.PSR
e9560 2d 34 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 -4.....private.$prefixLengthsPsr
e9580 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 4.=.array();.....private.$prefix
e95a0 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 DirsPsr4.=.array();.....private.
e95c0 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 $fallbackDirsPsr4.=.array();....
e95e0 20 20 2f 2f 20 50 53 52 2d 30 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 65 73 ..//.PSR-0.....private.$prefixes
e9600 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c Psr0.=.array();.....private.$fal
e9620 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 72 lbackDirsPsr0.=.array();......pr
e9640 69 76 61 74 65 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 20 ivate.$useIncludePath.=.false;..
e9660 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a ...private.$classMap.=.array();.
e9680 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 ....private.$classMapAuthoritati
e96a0 76 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 ve.=.false;.....private.$missing
e96c0 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 Classes.=.array();.....private.$
e96e0 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e apcuPrefix;......public.function
e9700 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 .getPrefixes().....{.........if.
e9720 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a (!empty($this->prefixesPsr0)).{.
e9740 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e ............return.call_user_fun
e9760 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 c_array('array_merge',.$this->pr
e9780 65 66 69 78 65 73 50 73 72 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 efixesPsr0);.........}..........
e97a0 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 return.array();.....}......publi
e97c0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 20 20 20 c.function.getPrefixesPsr4()....
e97e0 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 .{.........return.$this->prefixD
e9800 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 irsPsr4;.....}......public.funct
e9820 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ion.getFallbackDirs().....{.....
e9840 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 ....return.$this->fallbackDirsPs
e9860 72 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 r0;.....}......public.function.g
e9880 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 etFallbackDirsPsr4().....{......
e98a0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 ...return.$this->fallbackDirsPsr
e98c0 34 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 4;.....}......public.function.ge
e98e0 74 43 6c 61 73 73 4d 61 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e tClassMap().....{.........return
e9900 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a .$this->classMap;.....}....../**
e9920 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 43 ......*.@param.array.$classMap.C
e9940 6c 61 73 73 20 74 6f 20 66 69 6c 65 6e 61 6d 65 20 6d 61 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 lass.to.filename.map......*/....
e9960 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 72 .public.function.addClassMap(arr
e9980 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ay.$classMap).....{.........if.(
e99a0 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 $this->classMap).{.............$
e99c0 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 this->classMap.=.array_merge($th
e99e0 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 is->classMap,.$classMap);.......
e9a00 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c ..}.else.{.............$this->cl
e9a20 61 73 73 4d 61 70 20 3d 20 24 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 assMap.=.$classMap;.........}...
e9a40 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 ..}....../**......*.Registers.a.
e9a60 73 65 74 20 6f 66 20 50 53 52 2d 30 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 set.of.PSR-0.directories.for.a.g
e9a80 69 76 65 6e 20 70 72 65 66 69 78 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e iven.prefix,.either......*.appen
e9aa0 64 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 ding.or.prepending.to.the.ones.p
e9ac0 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 reviously.set.for.this.prefix...
e9ae0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 ....*......*.@param.string......
e9b00 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 .$prefix..The.prefix......*.@par
e9b20 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 am.array|string.$paths...The.PSR
e9b40 2d 30 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 -0.root.directories......*.@para
e9b60 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 m.bool.........$prepend.Whether.
e9b80 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 to.prepend.the.directories......
e9ba0 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 */.....public.function.add($pref
e9bc0 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 ix,.$paths,.$prepend.=.false)...
e9be0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 ..{.........if.(!$prefix).{.....
e9c00 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 ........if.($prepend).{.........
e9c20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 ........$this->fallbackDirsPsr0.
e9c40 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.array_merge(..................
e9c60 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(array).$paths,..............
e9c80 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 0a 20 .......$this->fallbackDirsPsr0..
e9ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ...............);.............}.
e9cc0 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 else.{.................$this->fa
e9ce0 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 llbackDirsPsr0.=.array_merge(...
e9d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 ..................$this->fallbac
e9d20 6b 44 69 72 73 50 73 72 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 kDirsPsr0,.....................(
e9d40 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b array).$paths.................);
e9d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 .............}..............retu
e9d80 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 rn;.........}..........$first.=.
e9da0 24 70 72 65 66 69 78 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 $prefix[0];.........if.(!isset($
e9dc0 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 this->prefixesPsr0[$first][$pref
e9de0 69 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 ix])).{.............$this->prefi
e9e00 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 xesPsr0[$first][$prefix].=.(arra
e9e20 79 29 20 24 70 61 74 68 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a y).$paths;..............return;.
e9e40 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 ........}.........if.($prepend).
e9e60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 {.............$this->prefixesPsr
e9e80 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 0[$first][$prefix].=.array_merge
e9ea0 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 (.................(array).$paths
e9ec0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 ,.................$this->prefixe
e9ee0 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 20 sPsr0[$first][$prefix]..........
e9f00 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 ...);.........}.else.{..........
e9f20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 ...$this->prefixesPsr0[$first][$
e9f40 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 prefix].=.array_merge(..........
e9f60 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 .......$this->prefixesPsr0[$firs
e9f80 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 t][$prefix],.................(ar
e9fa0 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 ray).$paths.............);......
e9fc0 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 ...}.....}....../**......*.Regis
e9fe0 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 ters.a.set.of.PSR-4.directories.
ea000 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c 20 65 69 74 68 65 72 0a 20 20 for.a.given.namespace,.either...
ea020 20 20 20 2a 20 61 70 70 65 6e 64 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 ...*.appending.or.prepending.to.
ea040 74 68 65 20 6f 6e 65 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 the.ones.previously.set.for.this
ea060 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .namespace.......*......*.@param
ea080 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 .string.......$prefix..The.prefi
ea0a0 78 2f 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a x/namespace,.with.trailing.'\\'.
ea0c0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 .....*.@param.array|string.$path
ea0e0 73 20 20 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 s...The.PSR-4.base.directories..
ea100 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 ....*.@param.bool.........$prepe
ea120 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 64 69 72 65 63 74 nd.Whether.to.prepend.the.direct
ea140 6f 72 69 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 ories......*......*.@throws.\Inv
ea160 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 alidArgumentException......*/...
ea180 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 ..public.function.addPsr4($prefi
ea1a0 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 x,.$paths,.$prepend.=.false)....
ea1c0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 .{.........if.(!$prefix).{......
ea1e0 20 20 20 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 .......//.Register.directories.f
ea200 6f 72 20 74 68 65 20 72 6f 6f 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 or.the.root.namespace...........
ea220 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...if.($prepend).{..............
ea240 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 ...$this->fallbackDirsPsr4.=.arr
ea260 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ay_merge(.....................(a
ea280 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rray).$paths,...................
ea2a0 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 0a 20 20 20 20 20 20 ..$this->fallbackDirsPsr4.......
ea2c0 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 ..........);.............}.else.
ea2e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 {.................$this->fallbac
ea300 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 kDirsPsr4.=.array_merge(........
ea320 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 .............$this->fallbackDirs
ea340 50 73 72 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 Psr4,.....................(array
ea360 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 ).$paths.................);.....
ea380 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 ........}.........}.elseif.(!iss
ea3a0 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 et($this->prefixDirsPsr4[$prefix
ea3c0 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 64 69 ])).{.............//.Register.di
ea3e0 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 6e 65 77 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 rectories.for.a.new.namespace...
ea400 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 ...........$length.=.strlen($pre
ea420 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 fix);.............if.('\\'.!==.$
ea440 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 prefix[$length.-.1]).{..........
ea460 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e .......throw.new.\InvalidArgumen
ea480 74 45 78 63 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 tException("A.non-empty.PSR-4.pr
ea4a0 65 66 69 78 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 efix.must.end.with.a.namespace.s
ea4c0 65 70 61 72 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 eparator.");.............}......
ea4e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b .......$this->prefixLengthsPsr4[
ea500 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a $prefix[0]][$prefix].=.$length;.
ea520 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 ............$this->prefixDirsPsr
ea540 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 4[$prefix].=.(array).$paths;....
ea560 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 .....}.elseif.($prepend).{......
ea580 20 20 20 20 20 20 20 2f 2f 20 50 72 65 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f .......//.Prepend.directories.fo
ea5a0 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 r.an.already.registered.namespac
ea5c0 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 e..............$this->prefixDirs
ea5e0 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 Psr4[$prefix].=.array_merge(....
ea600 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 .............(array).$paths,....
ea620 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 .............$this->prefixDirsPs
ea640 72 34 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 r4[$prefix].............);......
ea660 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 70 70 65 6e ...}.else.{.............//.Appen
ea680 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 d.directories.for.an.already.reg
ea6a0 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 istered.namespace..............$
ea6c0 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 this->prefixDirsPsr4[$prefix].=.
ea6e0 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 array_merge(.................$th
ea700 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 is->prefixDirsPsr4[$prefix],....
ea720 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 .............(array).$paths.....
ea740 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ........);.........}.....}......
ea760 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 /**......*.Registers.a.set.of.PS
ea780 52 2d 30 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 R-0.directories.for.a.given.pref
ea7a0 69 78 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 ix,......*.replacing.any.others.
ea7c0 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a previously.set.for.this.prefix..
ea7e0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 .....*......*.@param.string.....
ea800 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 ..$prefix.The.prefix......*.@par
ea820 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d am.array|string.$paths..The.PSR-
ea840 30 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 0.base.directories......*/.....p
ea860 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 ublic.function.set($prefix,.$pat
ea880 68 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 hs).....{.........if.(!$prefix).
ea8a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 {.............$this->fallbackDir
ea8c0 73 50 73 72 30 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 sPsr0.=.(array).$paths;.........
ea8e0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 }.else.{.............$this->pref
ea900 69 78 65 73 50 73 72 30 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 ixesPsr0[$prefix[0]][$prefix].=.
ea920 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a (array).$paths;.........}.....}.
ea940 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 ...../**......*.Registers.a.set.
ea960 6f 66 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e of.PSR-4.directories.for.a.given
ea980 20 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 .namespace,......*.replacing.any
ea9a0 20 6f 74 68 65 72 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 .others.previously.set.for.this.
ea9c0 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 namespace.......*......*.@param.
ea9e0 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 66 69 78 2f string.......$prefix.The.prefix/
eaa00 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 namespace,.with.trailing.'\\'...
eaa20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 ...*.@param.array|string.$paths.
eaa40 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 .The.PSR-4.base.directories.....
eaa60 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 .*......*.@throws.\InvalidArgume
eaa80 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ntException......*/.....public.f
eaaa0 75 6e 63 74 69 6f 6e 20 73 65 74 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 unction.setPsr4($prefix,.$paths)
eaac0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 .....{.........if.(!$prefix).{..
eaae0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 ...........$this->fallbackDirsPs
eab00 72 34 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 r4.=.(array).$paths;.........}.e
eab20 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c lse.{.............$length.=.strl
eab40 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c en($prefix);.............if.('\\
eab60 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 '.!==.$prefix[$length.-.1]).{...
eab80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 ..............throw.new.\Invalid
eaba0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 ArgumentException("A.non-empty.P
eabc0 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 SR-4.prefix.must.end.with.a.name
eabe0 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 space.separator.");.............
eac00 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 }.............$this->prefixLengt
eac20 68 73 50 73 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c hsPsr4[$prefix[0]][$prefix].=.$l
eac40 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 ength;.............$this->prefix
eac60 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 DirsPsr4[$prefix].=.(array).$pat
eac80 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 hs;.........}.....}....../**....
eaca0 20 20 2a 20 54 75 72 6e 73 20 6f 6e 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 ..*.Turns.on.searching.the.inclu
eacc0 64 65 20 70 61 74 68 20 66 6f 72 20 63 6c 61 73 73 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 2a 0a de.path.for.class.files.......*.
eace0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 .....*.@param.bool.$useIncludePa
ead00 74 68 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 th......*/.....public.function.s
ead20 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 etUseIncludePath($useIncludePath
ead40 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 ).....{.........$this->useInclud
ead60 65 50 61 74 68 20 3d 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a ePath.=.$useIncludePath;.....}..
ead80 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 ..../**......*.Can.be.used.to.ch
eada0 65 63 6b 20 69 66 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 75 73 65 73 20 74 68 65 20 69 eck.if.the.autoloader.uses.the.i
eadc0 6e 63 6c 75 64 65 20 70 61 74 68 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a 20 66 6f 72 20 nclude.path.to.check......*.for.
eade0 63 6c 61 73 73 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 classes.......*......*.@return.b
eae00 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ool......*/.....public.function.
eae20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 getUseIncludePath().....{.......
eae40 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a ..return.$this->useIncludePath;.
eae60 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f 66 66 20 ....}....../**......*.Turns.off.
eae80 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 70 72 65 66 69 78 20 61 6e 64 20 66 61 6c 6c 62 61 63 searching.the.prefix.and.fallbac
eaea0 6b 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 2a k.directories.for.classes......*
eaec0 20 74 68 61 74 20 68 61 76 65 20 6e 6f 74 20 62 65 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 77 .that.have.not.been.registered.w
eaee0 69 74 68 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ith.the.class.map.......*......*
eaf00 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 .@param.bool.$classMapAuthoritat
eaf20 69 76 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ive......*/.....public.function.
eaf40 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d setClassMapAuthoritative($classM
eaf60 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 apAuthoritative).....{.........$
eaf80 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 this->classMapAuthoritative.=.$c
eafa0 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 lassMapAuthoritative;.....}.....
eafc0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 68 6f 75 6c 64 20 63 6c 61 73 73 20 6c 6f 6f 6b 75 70 20 ./**......*.Should.class.lookup.
eafe0 66 61 69 6c 20 69 66 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 fail.if.not.found.in.the.current
eb000 20 63 6c 61 73 73 20 6d 61 70 3f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 .class.map?......*......*.@retur
eb020 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.bool......*/.....public.functi
eb040 6f 6e 20 69 73 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a 20 20 20 on.isClassMapAuthoritative()....
eb060 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 .{.........return.$this->classMa
eb080 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 pAuthoritative;.....}....../**..
eb0a0 20 20 20 20 2a 20 41 50 43 75 20 70 72 65 66 69 78 20 74 6f 20 75 73 65 20 74 6f 20 63 61 63 68 ....*.APCu.prefix.to.use.to.cach
eb0c0 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2c 20 69 66 20 74 68 e.found/not-found.classes,.if.th
eb0e0 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a 20 e.extension.is.enabled.......*..
eb100 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 61 70 63 75 50 72 ....*.@param.string|null.$apcuPr
eb120 65 66 69 78 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e efix......*/.....public.function
eb140 20 73 65 74 41 70 63 75 50 72 65 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 20 20 20 20 .setApcuPrefix($apcuPrefix).....
eb160 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 {.........$this->apcuPrefix.=.fu
eb180 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 61 70 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 69 nction_exists('apcu_fetch').&&.i
eb1a0 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 29 20 3f 20 24 61 70 63 75 50 72 65 ni_get('apc.enabled').?.$apcuPre
eb1c0 66 69 78 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 fix.:.null;.....}....../**......
eb1e0 2a 20 54 68 65 20 41 50 43 75 20 70 72 65 66 69 78 20 69 6e 20 75 73 65 2c 20 6f 72 20 6e 75 6c *.The.APCu.prefix.in.use,.or.nul
eb200 6c 20 69 66 20 41 50 43 75 20 63 61 63 68 69 6e 67 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 l.if.APCu.caching.is.not.enabled
eb220 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6e .......*......*.@return.string|n
eb240 75 6c 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ull......*/.....public.function.
eb260 67 65 74 41 70 63 75 50 72 65 66 69 78 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 getApcuPrefix().....{.........re
eb280 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 3b 0a 20 20 20 20 7d 0a 0a 20 turn.$this->apcuPrefix;.....}...
eb2a0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 .../**......*.Registers.this.ins
eb2c0 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 tance.as.an.autoloader.......*..
eb2e0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 ....*.@param.bool.$prepend.Wheth
eb300 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 6f 72 20 er.to.prepend.the.autoloader.or.
eb320 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 not......*/.....public.function.
eb340 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b register($prepend.=.false).....{
eb360 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 .........spl_autoload_register(a
eb380 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 rray($this,.'loadClass'),.true,.
eb3a0 24 70 72 65 70 65 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a $prepend);.....}....../**......*
eb3c0 20 55 6e 72 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e .Unregisters.this.instance.as.an
eb3e0 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 .autoloader.......*/.....public.
eb400 66 75 6e 63 74 69 6f 6e 20 75 6e 72 65 67 69 73 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 function.unregister().....{.....
eb420 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 ....spl_autoload_unregister(arra
eb440 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 y($this,.'loadClass'));.....}...
eb460 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 61 64 73 20 74 68 65 20 67 69 76 65 6e 20 63 6c .../**......*.Loads.the.given.cl
eb480 61 73 73 20 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ass.or.interface.......*......*.
eb4a0 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 20 20 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d @param..string....$class.The.nam
eb4c0 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f e.of.the.class......*.@return.bo
eb4e0 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 20 69 66 20 6c 6f 61 64 65 64 2c 20 6e 75 6c 6c 20 6f 74 68 ol|null.True.if.loaded,.null.oth
eb500 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 erwise......*/.....public.functi
eb520 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.loadClass($class).....{......
eb540 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 ...if.($file.=.$this->findFile($
eb560 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 46 69 6c class)).{.............includeFil
eb580 65 28 24 66 69 6c 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 e($file);..............return.tr
eb5a0 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ue;.........}.....}....../**....
eb5c0 20 20 2a 20 46 69 6e 64 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 ..*.Finds.the.path.to.the.file.w
eb5e0 68 65 72 65 20 74 68 65 20 63 6c 61 73 73 20 69 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 here.the.class.is.defined.......
eb600 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6c 61 73 73 20 54 68 *......*.@param.string.$class.Th
eb620 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 e.name.of.the.class......*......
eb640 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 66 61 6c 73 65 20 54 68 65 20 70 61 74 68 20 *.@return.string|false.The.path.
eb660 69 66 20 66 6f 75 6e 64 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a if.found,.false.otherwise......*
eb680 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 /.....public.function.findFile($
eb6a0 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6c 61 73 73 20 6d 61 class).....{.........//.class.ma
eb6c0 70 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 p.lookup.........if.(isset($this
eb6e0 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ->classMap[$class])).{..........
eb700 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 ...return.$this->classMap[$class
eb720 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e ];.........}.........if.($this->
eb740 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 7c 7c 20 69 73 73 65 74 28 24 classMapAuthoritative.||.isset($
eb760 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 29 29 20 7b this->missingClasses[$class])).{
eb780 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 .............return.false;......
eb7a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d ...}.........if.(null.!==.$this-
eb7c0 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 >apcuPrefix).{.............$file
eb7e0 20 3d 20 61 70 63 75 5f 66 65 74 63 68 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e .=.apcu_fetch($this->apcuPrefix.
eb800 24 63 6c 61 73 73 2c 20 24 68 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 $class,.$hit);.............if.($
eb820 68 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 hit).{.................return.$f
eb840 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ile;.............}.........}....
eb860 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 ......$file.=.$this->findFileWit
eb880 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 70 68 70 27 29 3b 0a 0a 20 20 20 hExtension($class,.'.php');.....
eb8a0 20 20 20 20 20 2f 2f 20 53 65 61 72 63 68 20 66 6f 72 20 48 61 63 6b 20 66 69 6c 65 73 20 69 66 .....//.Search.for.Hack.files.if
eb8c0 20 77 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 48 48 56 4d 0a 20 20 20 20 20 20 20 20 .we.are.running.on.HHVM.........
eb8e0 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 20 26 26 20 64 65 66 69 6e 65 64 28 27 if.(false.===.$file.&&.defined('
eb900 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 HHVM_VERSION')).{.............$f
eb920 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 ile.=.$this->findFileWithExtensi
eb940 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 on($class,.'.hh');.........}....
eb960 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 ......if.(null.!==.$this->apcuPr
eb980 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 70 63 75 5f 61 64 64 28 24 74 68 efix).{.............apcu_add($th
eb9a0 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 3b 0a 20 is->apcuPrefix.$class,.$file);..
eb9c0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 .......}..........if.(false.===.
eb9e0 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 $file).{.............//.Remember
eba00 20 74 68 61 74 20 74 68 69 73 20 63 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e .that.this.class.does.not.exist.
eba20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 .............$this->missingClass
eba40 65 73 5b 24 63 6c 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 es[$class].=.true;.........}....
eba60 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 ......return.$file;.....}......p
eba80 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 rivate.function.findFileWithExte
ebaa0 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 nsion($class,.$ext).....{.......
ebac0 20 20 2f 2f 20 50 53 52 2d 34 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 ..//.PSR-4.lookup.........$logic
ebae0 61 6c 50 61 74 68 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c alPathPsr4.=.strtr($class,.'\\',
ebb00 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 20 .DIRECTORY_SEPARATOR)...$ext;...
ebb20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 20 20 20 20 20 .......$first.=.$class[0];......
ebb40 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 ...if.(isset($this->prefixLength
ebb60 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 sPsr4[$first])).{.............$s
ebb80 75 62 50 61 74 68 20 3d 20 24 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 ubPath.=.$class;.............whi
ebba0 6c 65 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6c 61 73 74 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 le.(false.!==.$lastPos.=.strrpos
ebbc0 28 24 73 75 62 50 61 74 68 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ($subPath,.'\\')).{.............
ebbe0 20 20 20 20 24 73 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 74 68 2c 20 ....$subPath.=.substr($subPath,.
ebc00 30 2c 20 24 6c 61 73 74 50 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 0,.$lastPos);.................$s
ebc20 65 61 72 63 68 20 3d 20 24 73 75 62 50 61 74 68 20 2e 20 27 5c 5c 27 3b 0a 20 20 20 20 20 20 20 earch.=.$subPath...'\\';........
ebc40 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 .........if.(isset($this->prefix
ebc60 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 DirsPsr4[$search])).{...........
ebc80 20 20 20 20 20 20 20 20 20 20 24 70 61 74 68 45 6e 64 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 ..........$pathEnd.=.DIRECTORY_S
ebca0 45 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 EPARATOR...substr($logicalPathPs
ebcc0 72 34 2c 20 24 6c 61 73 74 50 6f 73 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r4,.$lastPos.+.1);..............
ebce0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 .......foreach.($this->prefixDir
ebd00 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 sPsr4[$search].as.$dir).{.......
ebd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 ..................if.(file_exist
ebd40 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 7b 0a 20 20 s($file.=.$dir...$pathEnd)).{...
ebd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ..........................return
ebd80 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$file;.........................
ebda0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 }.....................}.........
ebdc0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
ebde0 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 34 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 }..........//.PSR-4.fallback.dir
ebe00 73 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 s.........foreach.($this->fallba
ebe20 63 6b 44 69 72 73 50 73 72 34 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ckDirsPsr4.as.$dir).{...........
ebe40 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e ..if.(file_exists($file.=.$dir..
ebe60 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 .DIRECTORY_SEPARATOR...$logicalP
ebe80 61 74 68 50 73 72 34 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 athPsr4)).{.................retu
ebea0 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 rn.$file;.............}.........
ebec0 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 }..........//.PSR-0.lookup......
ebee0 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 ...if.(false.!==.$pos.=.strrpos(
ebf00 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 $class,.'\\')).{.............//.
ebf20 6e 61 6d 65 73 70 61 63 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 namespaced.class.name...........
ebf40 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 ..$logicalPathPsr0.=.substr($log
ebf60 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 20 20 20 20 20 icalPathPsr4,.0,.$pos.+.1)......
ebf80 20 20 20 20 20 20 20 20 20 20 20 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 6c 6f 67 69 63 .............strtr(substr($logic
ebfa0 61 6c 50 61 74 68 50 73 72 34 2c 20 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 44 49 52 45 alPathPsr4,.$pos.+.1),.'_',.DIRE
ebfc0 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 CTORY_SEPARATOR);.........}.else
ebfe0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 45 41 52 2d 6c 69 6b 65 20 63 6c 61 73 .{.............//.PEAR-like.clas
ec000 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 s.name.............$logicalPathP
ec020 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f sr0.=.strtr($class,.'_',.DIRECTO
ec040 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a RY_SEPARATOR)...$ext;.........}.
ec060 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 .........if.(isset($this->prefix
ec080 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 esPsr0[$first])).{.............f
ec0a0 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 oreach.($this->prefixesPsr0[$fir
ec0c0 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 20 20 20 20 20 st].as.$prefix.=>.$dirs).{......
ec0e0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 ...........if.(0.===.strpos($cla
ec100 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss,.$prefix)).{.................
ec120 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 ....foreach.($dirs.as.$dir).{...
ec140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 ......................if.(file_e
ec160 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 xists($file.=.$dir...DIRECTORY_S
ec180 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a EPARATOR...$logicalPathPsr0)).{.
ec1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ............................retu
ec1c0 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rn.$file;.......................
ec1e0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..}.....................}.......
ec200 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........}.............}.......
ec220 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 66 61 6c 6c 62 61 63 6b 20 64 ..}..........//.PSR-0.fallback.d
ec240 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c irs.........foreach.($this->fall
ec260 62 61 63 6b 44 69 72 73 50 73 72 30 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 backDirsPsr0.as.$dir).{.........
ec280 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 ....if.(file_exists($file.=.$dir
ec2a0 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 ...DIRECTORY_SEPARATOR...$logica
ec2c0 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 lPathPsr0)).{.................re
ec2e0 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 turn.$file;.............}.......
ec300 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 69 6e 63 6c 75 64 65 20 70 61 ..}..........//.PSR-0.include.pa
ec320 74 68 73 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 ths..........if.($this->useInclu
ec340 64 65 50 61 74 68 20 26 26 20 24 66 69 6c 65 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 dePath.&&.$file.=.stream_resolve
ec360 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 _include_path($logicalPathPsr0))
ec380 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 .{.............return.$file;....
ec3a0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 .....}..........return.false;...
ec3c0 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 53 63 6f 70 65 20 69 73 6f 6c 61 74 65 64 20 69 6e 63 ..}.}../**..*.Scope.isolated.inc
ec3e0 6c 75 64 65 2e 0a 20 2a 0a 20 2a 20 50 72 65 76 65 6e 74 73 20 61 63 63 65 73 73 20 74 6f 20 24 lude...*..*.Prevents.access.to.$
ec400 74 68 69 73 2f 73 65 6c 66 20 66 72 6f 6d 20 69 6e 63 6c 75 64 65 64 20 66 69 6c 65 73 2e 0a 20 this/self.from.included.files...
ec420 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b */.function.includeFile($file).{
ec440 0a 20 20 20 20 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 7d 0a 7b 0a 20 20 20 20 22 24 73 63 .....include.$file;.}.{....."$sc
ec460 68 65 6d 61 22 3a 20 22 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 hema":."http://json-schema.org/d
ec480 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 22 2c 0a 20 20 20 20 22 64 65 73 63 72 69 70 74 69 raft-04/schema#",....."descripti
ec4a0 6f 6e 22 3a 20 22 41 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 on":."A.representation.of.packag
ec4c0 65 73 20 6d 65 74 61 64 61 74 61 2e 22 2c 0a 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 es.metadata.",....."type":."obje
ec4e0 63 74 22 2c 0a 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 7b 20 22 72 ct",....."oneOf":.[.........{."r
ec500 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 61 63 6b 61 67 65 73 22 20 5d 20 7d 2c 0a 20 20 20 20 equired":.[."packages".].},.....
ec520 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 72 6f 76 69 64 65 72 73 22 20 ....{."required":.[."providers".
ec540 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 72 ].},.........{."required":.[."pr
ec560 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 22 2c 20 22 70 72 6f 76 69 64 65 72 73 2d 75 72 6c ovider-includes",."providers-url
ec580 22 20 5d 20 7d 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b ".].}.....],....."properties":.{
ec5a0 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ........."packages":.{..........
ec5c0 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a ..."type":.["object",."array"],.
ec5e0 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 ............"description":."A.ha
ec600 73 68 6d 61 70 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f shmap.of.package.names.in.the.fo
ec620 72 6d 20 6f 66 20 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 rm.of.<vendor>/<name>.",........
ec640 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 ....."additionalProperties":.{."
ec660 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 73 22 20 $ref":."#/definitions/versions".
ec680 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 73 2d }.........},........."providers-
ec6a0 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 url":.{............."type":."str
ec6c0 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a ing",............."description":
ec6e0 20 22 45 6e 64 70 6f 69 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 20 70 72 6f 76 69 64 65 72 20 ."Endpoint.to.retrieve.provider.
ec700 64 61 74 61 20 66 72 6f 6d 2c 20 65 2e 67 2e 20 27 2f 70 2f 25 70 61 63 6b 61 67 65 25 24 25 68 data.from,.e.g..'/p/%package%$%h
ec720 61 73 68 25 2e 6a 73 6f 6e 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ash%.json'.".........},.........
ec740 22 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 "provider-includes":.{..........
ec760 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
ec780 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 72 ."description":."A.hashmap.of.pr
ec7a0 6f 76 69 64 65 72 20 6c 69 73 74 69 6e 67 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ovider.listings.",............."
ec7c0 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a additionalProperties":.{."$ref":
ec7e0 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 20 20 ."#/definitions/provider".}.....
ec800 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 73 22 3a 20 7b 0a 20 20 ....},........."providers":.{...
ec820 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
ec840 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 ........"description":."A.hashma
ec860 70 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f p.of.package.names.in.the.form.o
ec880 66 20 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 f.<vendor>/<name>.",............
ec8a0 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 ."additionalProperties":.{."$ref
ec8c0 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 ":."#/definitions/provider".}...
ec8e0 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6e 6f 74 69 66 79 2d 62 61 74 63 68 22 3a ......},........."notify-batch":
ec900 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c .{............."type":."string",
ec920 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 ............."description":."End
ec940 70 6f 69 6e 74 20 74 6f 20 63 61 6c 6c 20 61 66 74 65 72 20 6d 75 6c 74 69 70 6c 65 20 70 61 63 point.to.call.after.multiple.pac
ec960 6b 61 67 65 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 65 2e 67 2e 20 kages.have.been.installed,.e.g..
ec980 27 2f 64 6f 77 6e 6c 6f 61 64 73 2f 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 '/downloads/'.".........},......
ec9a0 20 20 20 22 73 65 61 72 63 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ..."search":.{............."type
ec9c0 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 ":."string",............."descri
ec9e0 70 74 69 6f 6e 22 3a 20 22 45 6e 64 70 6f 69 6e 74 20 74 68 61 74 20 70 72 6f 76 69 64 65 73 20 ption":."Endpoint.that.provides.
eca00 73 65 61 72 63 68 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 65 2e 67 2e 20 27 2f 73 65 61 72 search.capabilities,.e.g..'/sear
eca20 63 68 2e 6a 73 6f 6e 3f 71 3d 25 71 75 65 72 79 25 26 74 79 70 65 3d 25 74 79 70 65 25 27 2e 22 ch.json?q=%query%&type=%type%'."
eca40 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 77 61 72 6e 69 6e 67 22 3a 20 7b .........},........."warning":.{
eca60 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
eca80 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6d 65 73 ..........."description":."A.mes
ecaa0 73 61 67 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 6f 75 74 70 75 74 20 62 79 20 43 6f 6d 70 sage.that.will.be.output.by.Comp
ecac0 6f 73 65 72 20 61 73 20 61 20 77 61 72 6e 69 6e 67 20 77 68 65 6e 20 74 68 69 73 20 73 6f 75 72 oser.as.a.warning.when.this.sour
ecae0 63 65 20 69 73 20 63 6f 6e 73 75 6c 74 65 64 2e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ce.is.consulted.".........}.....
ecb00 7d 2c 0a 20 20 20 20 22 64 65 66 69 6e 69 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 },....."definitions":.{.........
ecb20 22 76 65 72 73 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 "versions":.{............."type"
ecb40 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 :."object",............."descrip
ecb60 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 76 65 72 73 69 6f 6e 73 20 61 6e tion":."A.hashmap.of.versions.an
ecb80 64 20 74 68 65 69 72 20 6d 65 74 61 64 61 74 61 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.their.metadata.",.............
ecba0 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 "additionalProperties":.{."$ref"
ecbc0 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 22 20 7d 0a 20 20 20 20 :."#/definitions/version".}.....
ecbe0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 ....},........."version":.{.....
ecc00 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 ........"type":."object",.......
ecc20 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"oneOf":.[................
ecc40 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 .{."$ref":."#/definitions/packag
ecc60 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 e".},.................{."$ref":.
ecc80 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 6d 65 74 61 70 61 63 6b 61 67 65 22 20 7d 0a 20 20 "#/definitions/metapackage".}...
ecca0 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 ..........].........},........."
eccc0 70 61 63 6b 61 67 65 2d 62 61 73 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 package-base":.{............."pr
ecce0 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 operties":.{................."na
ecd00 6d 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 me":.{."type":."string".},......
ecd20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 ..........."type":.{."type":."st
ecd40 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f ring".},................."versio
ecd60 6e 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 n":.{."type":."string".},.......
ecd80 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 22 3a 20 .........."version_normalized":.
ecda0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 {....................."type":."s
ecdc0 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 tring",....................."des
ecde0 63 72 69 70 74 69 6f 6e 22 3a 20 22 4e 6f 72 6d 61 6c 69 7a 65 64 20 76 65 72 73 69 6f 6e 2c 20 cription":."Normalized.version,.
ece00 6f 70 74 69 6f 6e 61 6c 20 62 75 74 20 63 61 6e 20 73 61 76 65 20 63 6f 6d 70 75 74 61 74 69 6f optional.but.can.save.computatio
ece20 6e 61 6c 20 74 69 6d 65 20 6f 6e 20 63 6c 69 65 6e 74 20 73 69 64 65 2e 22 0a 20 20 20 20 20 20 nal.time.on.client.side.".......
ece40 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 ..........},................."au
ece60 74 6f 6c 6f 61 64 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 toload":.{."type":."object".},..
ece80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 20 22 74 79 70 ..............."require":.{."typ
ecea0 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."object".},.................
ecec0 22 72 65 70 6c 61 63 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c "replace":.{."type":."object".},
ecee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 20 22 ................."conflict":.{."
ecf00 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."object".},..............
ecf20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 ..."provide":.{."type":."object"
ecf40 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 20 22 74 .},................."time":.{."t
ecf60 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ype":."string".}.............},.
ecf80 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 ............"additionalPropertie
ecfa0 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 s":.true.........},........."pac
ecfc0 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c 4f 66 22 3a 20 5b 0a kage":.{............."allOf":.[.
ecfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 ................{."$ref":."#/def
ed000 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c 0a 20 20 20 20 20 20 initions/package-base".},.......
ed020 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
ed040 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "properties":.{.................
ed060 20 20 20 20 20 20 20 20 22 64 69 73 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 ........"dist":.{."type":."objec
ed080 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 t".},........................."s
ed0a0 6f 75 72 63 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 0a 20 20 20 ource":.{."type":."object".}....
ed0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
ed0e0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 6f 6e 65 4f 66 22 3a ...},.................{."oneOf":
ed100 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 .[.....................{."requir
ed120 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 73 6f 75 72 63 ed":.[."name",."version",."sourc
ed140 65 22 20 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 e".].},.....................{."r
ed160 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 equired":.[."name",."version",."
ed180 64 69 73 74 22 20 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 20 7d 0a 20 20 dist".].}.................].}...
ed1a0 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 ..........].........},........."
ed1c0 6d 65 74 61 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c metapackage":.{............."all
ed1e0 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a Of":.[.................{."$ref":
ed200 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c ."#/definitions/package-base".},
ed220 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................{..............
ed240 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......."properties":.{..........
ed260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a ..............."type":.{."type":
ed280 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 20 22 6d 65 74 61 70 61 63 6b 61 67 ."string",."enum":.[."metapackag
ed2a0 65 22 20 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 e".].}.....................},...
ed2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 .................."required":.[.
ed2e0 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 74 79 70 65 22 20 5d 0a 20 20 20 20 "name",."version",."type".].....
ed300 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 ............}.............].....
ed320 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 22 3a 20 7b 0a 20 20 20 ....},........."provider":.{....
ed340 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 ........."type":."object",......
ed360 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......."properties":.{..........
ed380 20 20 20 20 20 20 20 22 73 68 61 32 35 36 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."sha256":.{..............
ed3a0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 ......."type":."string",........
ed3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 48 61 73 ............."description":."Has
ed3e0 68 20 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 61 6c 69 h.value.that.can.be.used.to.vali
ed400 64 61 74 65 20 74 68 65 20 72 65 73 6f 75 72 63 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 date.the.resource.".............
ed420 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ....}.............}.........}...
ed440 20 20 7d 0a 7d 0a 7b 0a 20 20 20 20 22 24 73 63 68 65 6d 61 22 3a 20 22 68 74 74 70 3a 2f 2f 6a ..}.}.{....."$schema":."http://j
ed460 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 22 son-schema.org/draft-04/schema#"
ed480 2c 0a 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 50 61 63 6b 61 67 65 22 2c 0a 20 20 20 20 22 74 79 ,....."name":."Package",....."ty
ed4a0 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 pe":."object",....."additionalPr
ed4c0 6f 70 65 72 74 69 65 73 22 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 22 72 65 71 75 69 72 65 64 22 operties":.false,....."required"
ed4e0 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 20 5d 2c 0a 20 20 20 :.[."name",."description".],....
ed500 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a ."properties":.{........."name":
ed520 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c .{............."type":."string",
ed540 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 ............."description":."Pac
ed560 6b 61 67 65 20 6e 61 6d 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 27 76 65 6e 64 6f 72 2d 6e 61 6d kage.name,.including.'vendor-nam
ed580 65 2f 27 20 70 72 65 66 69 78 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 e/'.prefix.".........},.........
ed5a0 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 "type":.{............."descripti
ed5c0 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 74 79 70 65 2c 20 65 69 74 68 65 72 20 27 6c 69 62 72 on":."Package.type,.either.'libr
ed5e0 61 72 79 27 20 66 6f 72 20 63 6f 6d 6d 6f 6e 20 70 61 63 6b 61 67 65 73 2c 20 27 63 6f 6d 70 6f ary'.for.common.packages,.'compo
ed600 73 65 72 2d 70 6c 75 67 69 6e 27 20 66 6f 72 20 70 6c 75 67 69 6e 73 2c 20 27 6d 65 74 61 70 61 ser-plugin'.for.plugins,.'metapa
ed620 63 6b 61 67 65 27 20 66 6f 72 20 65 6d 70 74 79 20 70 61 63 6b 61 67 65 73 2c 20 6f 72 20 61 20 ckage'.for.empty.packages,.or.a.
ed640 63 75 73 74 6f 6d 20 74 79 70 65 20 28 5b 61 2d 7a 30 2d 39 2d 5d 2b 29 20 64 65 66 69 6e 65 64 custom.type.([a-z0-9-]+).defined
ed660 20 62 79 20 77 68 61 74 65 76 65 72 20 70 72 6f 6a 65 63 74 20 74 68 69 73 20 70 61 63 6b 61 67 .by.whatever.project.this.packag
ed680 65 20 61 70 70 6c 69 65 73 20 74 6f 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 e.applies.to.",............."typ
ed6a0 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 e":."string".........},.........
ed6c0 22 74 61 72 67 65 74 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 "target-dir":.{............."des
ed6e0 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 74 cription":."DEPRECATED:.Forces.t
ed700 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 he.package.to.be.installed.into.
ed720 74 68 65 20 67 69 76 65 6e 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 69 the.given.subdirectory.path..Thi
ed740 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 20 s.is.used.for.autoloading.PSR-0.
ed760 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 packages.that.do.not.contain.the
ed780 69 72 20 66 75 6c 6c 20 70 61 74 68 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 ir.full.path..Use.forward.slashe
ed7a0 73 20 66 6f 72 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 s.for.cross-platform.compatibili
ed7c0 74 79 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e ty.",............."type":."strin
ed7e0 67 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 g".........},........."descripti
ed800 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 on":.{............."type":."stri
ed820 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ng",............."description":.
ed840 22 53 68 6f 72 74 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 20 "Short.package.description."....
ed860 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6b 65 79 77 6f 72 64 73 22 3a 20 7b 0a 20 20 .....},........."keywords":.{...
ed880 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 .........."type":."array",......
ed8a0 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."items":.{...............
ed8c0 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string",.............
ed8e0 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 74 61 67 2f 6b 65 79 77 6f 72 ...."description":."A.tag/keywor
ed900 64 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 6c 61 74 65 73 20 74 6f 2e 22 d.that.this.package.relates.to."
ed920 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .............}.........},.......
ed940 20 20 22 68 6f 6d 65 70 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 .."homepage":.{............."typ
ed960 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 e":."string",............."descr
ed980 69 70 74 69 6f 6e 22 3a 20 22 48 6f 6d 65 70 61 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 70 iption":."Homepage.URL.for.the.p
ed9a0 72 6f 6a 65 63 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 roject.",............."format":.
ed9c0 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 61 64 6d 65 "uri".........},........."readme
ed9e0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ":.{............."type":."string
eda00 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 52 ",............."description":."R
eda20 65 6c 61 74 69 76 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 72 65 61 64 6d 65 20 64 6f 63 75 6d elative.path.to.the.readme.docum
eda40 65 6e 74 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f ent.".........},........."versio
eda60 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e n":.{............."type":."strin
eda80 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 g",............."description":."
edaa0 50 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 Package.version,.see.https://get
edac0 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 23 76 65 composer.org/doc/04-schema.md#ve
edae0 72 73 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 76 61 6c 69 64 20 73 63 68 rsion.for.more.info.on.valid.sch
edb00 65 6d 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 emes.".........},........."time"
edb20 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 :.{............."type":."string"
edb40 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 ,............."description":."Pa
edb60 63 6b 61 67 65 20 72 65 6c 65 61 73 65 20 64 61 74 65 2c 20 69 6e 20 27 59 59 59 59 2d 4d 4d 2d ckage.release.date,.in.'YYYY-MM-
edb80 44 44 27 2c 20 27 59 59 59 59 2d 4d 4d 2d 44 44 20 48 48 3a 4d 4d 3a 53 53 27 20 6f 72 20 27 59 DD',.'YYYY-MM-DD.HH:MM:SS'.or.'Y
edba0 59 59 59 2d 4d 4d 2d 44 44 54 48 48 3a 4d 4d 3a 53 53 5a 27 20 66 6f 72 6d 61 74 2e 22 0a 20 20 YYY-MM-DDTHH:MM:SSZ'.format."...
edbc0 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6c 69 63 65 6e 73 65 22 3a 20 7b 0a 20 20 ......},........."license":.{...
edbe0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 .........."type":.["string",."ar
edc00 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ray"],............."description"
edc20 3a 20 22 4c 69 63 65 6e 73 65 20 6e 61 6d 65 2e 20 4f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 20 :."License.name..Or.an.array.of.
edc40 6c 69 63 65 6e 73 65 20 6e 61 6d 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 license.names.".........},......
edc60 20 20 20 22 61 75 74 68 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 ..."authors":.{............."$re
edc80 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 73 22 0a 20 20 20 20 f":."#/definitions/authors".....
edca0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 ....},........."require":.{.....
edcc0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 ........"type":."object",.......
edce0 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 ......"description":."This.is.a.
edd00 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 hash.of.package.name.(keys).and.
edd20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 version.constraints.(values).tha
edd40 74 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 75 6e 20 74 68 69 73 20 70 61 63 6b 61 t.are.required.to.run.this.packa
edd60 67 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f ge.",............."additionalPro
edd80 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 perties":.{................."typ
edda0 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 e":."string".............}......
eddc0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 20 ...},........."replace":.{......
edde0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
ede00 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 ....."description":."This.is.a.h
ede20 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 ash.of.package.name.(keys).and.v
ede40 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 ersion.constraints.(values).that
ede60 20 63 61 6e 20 62 65 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 69 73 20 70 61 63 6b 61 67 65 .can.be.replaced.by.this.package
ede80 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 .",............."additionalPrope
edea0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 rties":.{................."type"
edec0 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 :."string".............}........
edee0 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 .},........."conflict":.{.......
edf00 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."object",.........
edf20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 ...."description":."This.is.a.ha
edf40 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 sh.of.package.name.(keys).and.ve
edf60 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 rsion.constraints.(values).that.
edf80 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 20 conflict.with.this.package.",...
edfa0 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
edfc0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 :.{................."type":."str
edfe0 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 ing".............}.........},...
ee000 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ......"provide":.{............."
ee020 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 type":."object",............."de
ee040 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 scription":."This.is.a.hash.of.p
ee060 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 ackage.name.(keys).and.version.c
ee080 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 onstraints.(values).that.this.pa
ee0a0 63 6b 61 67 65 20 70 72 6f 76 69 64 65 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 ckage.provides.in.addition.to.th
ee0c0 69 73 20 70 61 63 6b 61 67 65 27 73 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 is.package's.name.",............
ee0e0 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 ."additionalProperties":.{......
ee100 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 ..........."type":."string".....
ee120 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 ........}.........},........."re
ee140 71 75 69 72 65 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 quire-dev":.{............."type"
ee160 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 :."object",............."descrip
ee180 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 tion":."This.is.a.hash.of.packag
ee1a0 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 e.name.(keys).and.version.constr
ee1c0 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 aints.(values).that.this.package
ee1e0 20 72 65 71 75 69 72 65 73 20 66 6f 72 20 64 65 76 65 6c 6f 70 69 6e 67 20 69 74 20 28 74 65 73 .requires.for.developing.it.(tes
ee200 74 69 6e 67 20 74 6f 6f 6c 73 20 61 6e 64 20 73 75 63 68 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 ting.tools.and.such).",.........
ee220 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 ...."additionalProperties":.{...
ee240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
ee260 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ...........}.........},.........
ee280 22 73 75 67 67 65 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a "suggest":.{............."type":
ee2a0 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ."object",............."descript
ee2c0 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 ion":."This.is.a.hash.of.package
ee2e0 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 28 76 .name.(keys).and.descriptions.(v
ee300 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 alues).that.this.package.suggest
ee320 73 20 77 6f 72 6b 20 77 65 6c 6c 20 77 69 74 68 20 69 74 20 28 74 68 69 73 20 77 69 6c 6c 20 62 s.work.well.with.it.(this.will.b
ee340 65 20 73 75 67 67 65 73 74 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 20 64 75 72 69 6e 67 20 69 e.suggested.to.the.user.during.i
ee360 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 nstallation).",............."add
ee380 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 itionalProperties":.{...........
ee3a0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
ee3c0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 6f 6e 66 69 67 22 ...}.........},........."config"
ee3e0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 :.{............."type":."object"
ee400 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 43 6f ,............."description":."Co
ee420 6d 70 6f 73 65 72 20 6f 70 74 69 6f 6e 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 mposer.options.",............."p
ee440 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 roperties":.{................."p
ee460 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rocess-timeout":.{..............
ee480 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 ......."type":."integer",.......
ee4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 .............."description":."Th
ee4c0 65 20 74 69 6d 65 6f 75 74 20 69 6e 20 73 65 63 6f 6e 64 73 20 66 6f 72 20 70 72 6f 63 65 73 73 e.timeout.in.seconds.for.process
ee4e0 20 65 78 65 63 75 74 69 6f 6e 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 33 30 30 20 28 35 6d .executions,.defaults.to.300.(5m
ee500 69 6e 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 ins).".................},.......
ee520 20 20 20 20 20 20 20 20 20 20 22 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b 0a .........."use-include-path":.{.
ee540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f ...................."type":."boo
ee560 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 lean",....................."desc
ee580 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 ription":."If.true,.the.Composer
ee5a0 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 61 6c 73 6f 20 6c 6f 6f 6b 20 66 6f 72 20 63 .autoloader.will.also.look.for.c
ee5c0 6c 61 73 73 65 73 20 69 6e 20 74 68 65 20 50 48 50 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e 22 lasses.in.the.PHP.include.path."
ee5e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
ee600 20 20 20 20 22 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 ...."preferred-install":.{......
ee620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 ..............."type":.["string"
ee640 2c 20 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,."object"],....................
ee660 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 69 6e 73 74 61 6c 6c 20 6d 65 74 ."description":."The.install.met
ee680 68 6f 64 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 70 72 65 66 65 72 20 74 6f 20 75 73 65 2c hod.Composer.will.prefer.to.use,
ee6a0 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 75 74 6f 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 79 .defaults.to.auto.and.can.be.any
ee6c0 20 6f 66 20 73 6f 75 72 63 65 2c 20 64 69 73 74 2c 20 61 75 74 6f 2c 20 6f 72 20 61 20 68 61 73 .of.source,.dist,.auto,.or.a.has
ee6e0 68 20 6f 66 20 7b 5c 22 70 61 74 74 65 72 6e 5c 22 3a 20 5c 22 70 72 65 66 65 72 65 6e 63 65 5c h.of.{\"pattern\":.\"preference\
ee700 22 7d 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 "}.".................},.........
ee720 20 20 20 20 20 20 20 20 22 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 ........"notify-on-install":.{..
ee740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c ..................."type":."bool
ee760 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ean",....................."descr
ee780 69 70 74 69 6f 6e 22 3a 20 22 43 6f 6d 70 6f 73 65 72 20 61 6c 6c 6f 77 73 20 72 65 70 6f 73 69 iption":."Composer.allows.reposi
ee7a0 74 6f 72 69 65 73 20 74 6f 20 64 65 66 69 6e 65 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 tories.to.define.a.notification.
ee7c0 55 52 4c 2c 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 67 65 74 20 6e 6f 74 69 66 69 65 64 20 77 URL,.so.that.they.get.notified.w
ee7e0 68 65 6e 65 76 65 72 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 61 74 20 72 65 70 6f henever.a.package.from.that.repo
ee800 73 69 74 6f 72 79 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e sitory.is.installed..This.option
ee820 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 64 69 73 61 62 6c 65 20 74 68 61 74 20 62 65 68 61 .allows.you.to.disable.that.beha
ee840 76 69 6f 75 72 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 22 0a 20 20 20 20 20 20 viour,.defaults.to.true.".......
ee860 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 ..........},................."gi
ee880 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 thub-protocols":.{..............
ee8a0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 ......."type":."array",.........
ee8c0 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 ............"description":."A.li
ee8e0 73 74 20 6f 66 20 70 72 6f 74 6f 63 6f 6c 73 20 74 6f 20 75 73 65 20 66 6f 72 20 67 69 74 68 75 st.of.protocols.to.use.for.githu
ee900 62 2e 63 6f 6d 20 63 6c 6f 6e 65 73 2c 20 69 6e 20 70 72 69 6f 72 69 74 79 20 6f 72 64 65 72 2c b.com.clones,.in.priority.order,
ee920 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 5c 22 2c 20 5c 22 68 74 74 70 73 5c 22 .defaults.to.[\"git\",.\"https\"
ee940 2c 20 5c 22 68 74 74 70 5c 22 5d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.\"http\"].",..................
ee960 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."items":.{...................
ee980 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
ee9a0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
ee9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 6f 61 75 74 68 22 3a 20 ................"github-oauth":.
ee9e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f {....................."type":."o
eea00 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 bject",....................."des
eea20 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d cription":."A.hash.of.domain.nam
eea40 65 20 3d 3e 20 67 69 74 68 75 62 20 41 50 49 20 6f 61 75 74 68 20 74 6f 6b 65 6e 73 2c 20 74 79 e.=>.github.API.oauth.tokens,.ty
eea60 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 68 75 62 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 6e pically.{\"github.com\":\"<token
eea80 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 >\"}.",....................."add
eeaa0 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 itionalProperties":.{...........
eeac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
eeae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
eeb00 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d .....},................."gitlab-
eeb20 6f 61 75 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 oauth":.{....................."t
eeb40 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."object",.................
eeb60 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f ...."description":."A.hash.of.do
eeb80 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 67 69 74 6c 61 62 20 41 50 49 20 6f 61 75 74 68 20 74 6f main.name.=>.gitlab.API.oauth.to
eeba0 6b 65 6e 73 2c 20 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 3a kens,.typically.{\"gitlab.com\":
eebc0 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \"<token>\"}.",.................
eebe0 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 ...."additionalProperties":.{...
eec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
eec20 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 tring".....................}....
eec40 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
eec60 22 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "gitlab-token":.{...............
eec80 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."object",.........
eeca0 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 ............"description":."A.ha
eecc0 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 67 69 74 6c 61 62 20 70 72 69 76 sh.of.domain.name.=>.gitlab.priv
eece0 61 74 65 20 74 6f 6b 65 6e 73 2c 20 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 2e ate.tokens,.typically.{\"gitlab.
eed00 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 com\":\"<token>\"}.",...........
eed20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
eed40 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 :.true.................},.......
eed60 20 20 20 20 20 20 20 20 20 20 22 64 69 73 61 62 6c 65 2d 74 6c 73 22 3a 20 7b 0a 20 20 20 20 20 .........."disable-tls":.{......
eed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 ..............."type":."boolean"
eeda0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
eedc0 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 60 66 61 6c 73 65 60 2e 20 49 66 20 73 65 on":."Defaults.to.`false`..If.se
eede0 74 20 74 6f 20 74 72 75 65 20 61 6c 6c 20 48 54 54 50 53 20 55 52 4c 73 20 77 69 6c 6c 20 62 65 t.to.true.all.HTTPS.URLs.will.be
eee00 20 74 72 69 65 64 20 77 69 74 68 20 48 54 54 50 20 69 6e 73 74 65 61 64 20 61 6e 64 20 6e 6f 20 .tried.with.HTTP.instead.and.no.
eee20 6e 65 74 77 6f 72 6b 20 6c 65 76 65 6c 20 65 6e 63 72 79 70 74 69 6f 6e 20 69 73 20 70 65 72 66 network.level.encryption.is.perf
eee40 6f 72 6d 65 64 2e 20 45 6e 61 62 6c 69 6e 67 20 74 68 69 73 20 69 73 20 61 20 73 65 63 75 72 69 ormed..Enabling.this.is.a.securi
eee60 74 79 20 72 69 73 6b 20 61 6e 64 20 69 73 20 4e 4f 54 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 20 ty.risk.and.is.NOT.recommended..
eee80 54 68 65 20 62 65 74 74 65 72 20 77 61 79 20 69 73 20 74 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 The.better.way.is.to.enable.the.
eeea0 70 68 70 5f 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 6e 20 70 68 70 2e 69 6e 69 php_openssl.extension.in.php.ini
eeec0 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .".................},...........
eeee0 20 20 20 20 20 20 22 73 65 63 75 72 65 2d 68 74 74 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......"secure-http":.{..........
eef00 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 ..........."type":."boolean",...
eef20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a .................."description":
eef40 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 60 74 72 75 65 60 2e 20 49 66 20 73 65 74 20 74 6f 20 ."Defaults.to.`true`..If.set.to.
eef60 74 72 75 65 20 6f 6e 6c 79 20 48 54 54 50 53 20 55 52 4c 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 true.only.HTTPS.URLs.are.allowed
eef80 20 74 6f 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 76 69 61 20 43 6f 6d 70 6f 73 65 72 2e 20 .to.be.downloaded.via.Composer..
eefa0 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 65 65 64 20 48 54 If.you.really.absolutely.need.HT
eefc0 54 50 20 61 63 63 65 73 73 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 65 6e 20 79 6f 75 20 TP.access.to.something.then.you.
eefe0 63 61 6e 20 64 69 73 61 62 6c 65 20 69 74 2c 20 62 75 74 20 75 73 69 6e 67 20 5c 22 4c 65 74 27 can.disable.it,.but.using.\"Let'
ef000 73 20 45 6e 63 72 79 70 74 5c 22 20 74 6f 20 67 65 74 20 61 20 66 72 65 65 20 53 53 4c 20 63 65 s.Encrypt\".to.get.a.free.SSL.ce
ef020 72 74 69 66 69 63 61 74 65 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 65 74 74 65 72 20 rtificate.is.generally.a.better.
ef040 61 6c 74 65 72 6e 61 74 69 76 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c alternative.".................},
ef060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 66 69 6c 65 22 3a 20 7b 0a 20 20 20 ................."cafile":.{....
ef080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ................."type":."string
ef0a0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
ef0c0 69 6f 6e 22 3a 20 22 41 20 77 61 79 20 74 6f 20 73 65 74 20 74 68 65 20 70 61 74 68 20 74 6f 20 ion":."A.way.to.set.the.path.to.
ef0e0 74 68 65 20 6f 70 65 6e 73 73 6c 20 43 41 20 66 69 6c 65 2e 20 49 6e 20 50 48 50 20 35 2e 36 2b the.openssl.CA.file..In.PHP.5.6+
ef100 20 79 6f 75 20 73 68 6f 75 6c 64 20 72 61 74 68 65 72 20 73 65 74 20 74 68 69 73 20 76 69 61 20 .you.should.rather.set.this.via.
ef120 6f 70 65 6e 73 73 6c 2e 63 61 66 69 6c 65 20 69 6e 20 70 68 70 2e 69 6e 69 2c 20 61 6c 74 68 6f openssl.cafile.in.php.ini,.altho
ef140 75 67 68 20 50 48 50 20 35 2e 36 2b 20 73 68 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 64 ugh.PHP.5.6+.should.be.able.to.d
ef160 65 74 65 63 74 20 79 6f 75 72 20 73 79 73 74 65 6d 20 43 41 20 66 69 6c 65 20 61 75 74 6f 6d 61 etect.your.system.CA.file.automa
ef180 74 69 63 61 6c 6c 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 tically.".................},....
ef1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 ............."capath":.{........
ef1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
ef1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
ef200 3a 20 22 49 66 20 63 61 66 69 6c 65 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 6f 72 :."If.cafile.is.not.specified.or
ef220 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 .if.the.certificate.is.not.found
ef240 20 74 68 65 72 65 2c 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f .there,.the.directory.pointed.to
ef260 20 62 79 20 63 61 70 61 74 68 20 69 73 20 73 65 61 72 63 68 65 64 20 66 6f 72 20 61 20 73 75 69 .by.capath.is.searched.for.a.sui
ef280 74 61 62 6c 65 20 63 65 72 74 69 66 69 63 61 74 65 2e 20 63 61 70 61 74 68 20 6d 75 73 74 20 62 table.certificate..capath.must.b
ef2a0 65 20 61 20 63 6f 72 72 65 63 74 6c 79 20 68 61 73 68 65 64 20 63 65 72 74 69 66 69 63 61 74 65 e.a.correctly.hashed.certificate
ef2c0 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a .directory.".................},.
ef2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 74 74 70 2d 62 61 73 69 63 22 3a 20 7b 0a ................"http-basic":.{.
ef300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a ...................."type":."obj
ef320 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ect",....................."descr
ef340 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 iption":."A.hash.of.domain.name.
ef360 3d 3e 20 7b 5c 22 75 73 65 72 6e 61 6d 65 5c 22 3a 20 5c 22 2e 2e 2e 5c 22 2c 20 5c 22 70 61 73 =>.{\"username\":.\"...\",.\"pas
ef380 73 77 6f 72 64 5c 22 3a 20 5c 22 2e 2e 2e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 sword\":.\"...\"}.",............
ef3a0 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a ........."additionalProperties":
ef3c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 .{........................."type
ef3e0 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."object",....................
ef400 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 75 73 65 72 6e 61 6d 65 22 2c 20 22 70 ....."required":.["username",."p
ef420 61 73 73 77 6f 72 64 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 assword"],......................
ef440 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."properties":.{..............
ef460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 73 65 72 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 ..............."username":.{....
ef480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ............................."ty
ef4a0 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string",..................
ef4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 ..............."description":."T
ef4e0 68 65 20 75 73 65 72 6e 61 6d 65 20 75 73 65 64 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 20 he.username.used.for.HTTP.Basic.
ef500 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 authentication".................
ef520 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............},..................
ef540 20 20 20 20 20 20 20 20 20 20 20 22 70 61 73 73 77 6f 72 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 ..........."password":.{........
ef560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ........................."type":
ef580 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."string",......................
ef5a0 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 70 ..........."description":."The.p
ef5c0 61 73 73 77 6f 72 64 20 75 73 65 64 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 20 61 75 74 68 assword.used.for.HTTP.Basic.auth
ef5e0 65 6e 74 69 63 61 74 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entication".....................
ef600 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.......................
ef620 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..}.....................}.......
ef640 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 74 ..........},................."st
ef660 6f 72 65 2d 61 75 74 68 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore-auths":.{...................
ef680 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c .."type":.["string",."boolean"],
ef6a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f ....................."descriptio
ef6c0 6e 22 3a 20 22 57 68 61 74 20 74 6f 20 64 6f 20 61 66 74 65 72 20 70 72 6f 6d 70 74 69 6e 67 20 n":."What.to.do.after.prompting.
ef6e0 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 20 6f 6e 65 20 6f 66 3a 20 74 72 75 65 for.authentication,.one.of:.true
ef700 20 28 73 74 6f 72 65 29 2c 20 66 61 6c 73 65 20 28 64 6f 20 6e 6f 74 20 73 74 6f 72 65 29 20 6f .(store),.false.(do.not.store).o
ef720 72 20 5c 22 70 72 6f 6d 70 74 5c 22 20 28 61 73 6b 20 65 76 65 72 79 20 74 69 6d 65 29 2c 20 64 r.\"prompt\".(ask.every.time),.d
ef740 65 66 61 75 6c 74 73 20 74 6f 20 70 72 6f 6d 70 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 efaults.to.prompt.".............
ef760 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6c 61 74 66 6f 72 6d ....},................."platform
ef780 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
ef7a0 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."object",....................."
ef7c0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 description":."This.is.a.hash.of
ef7e0 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e .package.name.(keys).and.version
ef800 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 6d .(values).that.will.be.used.to.m
ef820 6f 63 6b 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 70 61 63 6b 61 67 65 73 20 6f 6e 20 74 68 69 ock.the.platform.packages.on.thi
ef840 73 20 6d 61 63 68 69 6e 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.machine.",....................
ef860 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 ."additionalProperties":.{......
ef880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ..................."type":."stri
ef8a0 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ng".....................}.......
ef8c0 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 ..........},................."ve
ef8e0 6e 64 6f 72 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndor-dir":.{....................
ef900 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string",..............
ef920 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 ......."description":."The.locat
ef940 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 61 ion.where.all.packages.are.insta
ef960 6c 6c 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 5c 22 2e 22 0a 20 lled,.defaults.to.\"vendor\"."..
ef980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
ef9a0 20 20 22 62 69 6e 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."bin-dir":.{..................
ef9c0 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string",............
ef9e0 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 ........."description":."The.loc
efa00 61 74 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 62 69 6e 61 72 69 65 73 20 61 72 65 20 6c 69 6e ation.where.all.binaries.are.lin
efa20 6b 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 2f 62 69 6e 5c 22 2e ked,.defaults.to.\"vendor/bin\".
efa40 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
efa60 20 20 20 20 20 22 64 61 74 61 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."data-dir":.{..............
efa80 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 ......."type":."string",........
efaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 ............."description":."The
efac0 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 6f 6c 64 20 70 68 61 72 20 66 69 6c 65 73 20 61 .location.where.old.phar.files.a
efae0 72 65 20 73 74 6f 72 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 24 68 6f 6d 65 5c 22 re.stored,.defaults.to.\"$home\"
efb00 20 65 78 63 65 70 74 20 6f 6e 20 58 44 47 20 42 61 73 65 20 44 69 72 65 63 74 6f 72 79 20 63 6f .except.on.XDG.Base.Directory.co
efb20 6d 70 6c 69 61 6e 74 20 75 6e 69 78 65 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mpliant.unixes."................
efb40 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 64 69 72 22 3a .},................."cache-dir":
efb60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
efb80 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 string",....................."de
efba0 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 scription":."The.location.where.
efbc0 61 6c 6c 20 63 61 63 68 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 2c 20 64 65 66 61 75 6c 74 73 all.caches.are.located,.defaults
efbe0 20 74 6f 20 5c 22 7e 2f 2e 63 6f 6d 70 6f 73 65 72 2f 63 61 63 68 65 5c 22 20 6f 6e 20 2a 6e 69 .to.\"~/.composer/cache\".on.*ni
efc00 78 20 61 6e 64 20 5c 22 25 4c 4f 43 41 4c 41 50 50 44 41 54 41 25 5c 5c 43 6f 6d 70 6f 73 65 72 x.and.\"%LOCALAPPDATA%\\Composer
efc20 5c 22 20 6f 6e 20 77 69 6e 64 6f 77 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \".on.windows.".................
efc40 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d },................."cache-files-
efc60 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 dir":.{....................."typ
efc80 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string",...................
efca0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 .."description":."The.location.w
efcc0 68 65 72 65 20 66 69 6c 65 73 20 28 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 73 29 20 61 72 65 20 63 here.files.(zip.downloads).are.c
efce0 61 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 ached,.defaults.to.\"{$cache-dir
efd00 7d 2f 66 69 6c 65 73 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 }/files\".".................},..
efd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 22 3a ..............."cache-repo-dir":
efd40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
efd60 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 string",....................."de
efd80 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 scription":."The.location.where.
efda0 72 65 70 6f 20 28 67 69 74 2f 68 67 20 72 65 70 6f 20 63 6c 6f 6e 65 73 29 20 61 72 65 20 63 61 repo.(git/hg.repo.clones).are.ca
efdc0 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d ched,.defaults.to.\"{$cache-dir}
efde0 2f 72 65 70 6f 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 /repo\".".................},....
efe00 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 76 63 73 2d 64 69 72 22 3a 20 7b 0a ............."cache-vcs-dir":.{.
efe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ...................."type":."str
efe40 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ing",....................."descr
efe60 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 76 63 73 iption":."The.location.where.vcs
efe80 20 69 6e 66 6f 73 20 28 67 69 74 20 63 6c 6f 6e 65 73 2c 20 67 69 74 68 75 62 20 61 70 69 20 63 .infos.(git.clones,.github.api.c
efea0 61 6c 6c 73 2c 20 65 74 63 2e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 76 63 73 20 72 65 70 6f alls,.etc..when.reading.vcs.repo
efec0 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 s).are.cached,.defaults.to.\"{$c
efee0 61 63 68 65 2d 64 69 72 7d 2f 76 63 73 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ache-dir}/vcs\"."...............
eff00 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 74 74 6c 22 ..},................."cache-ttl"
eff20 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
eff40 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "integer",....................."
eff60 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 63 61 63 68 65 description":."The.default.cache
eff80 20 74 69 6d 65 2d 74 6f 2d 6c 69 76 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 31 35 35 35 32 .time-to-live,.defaults.to.15552
effa0 30 30 30 20 28 36 20 6d 6f 6e 74 68 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 000.(6.months)."................
effc0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 .},................."cache-files
effe0 2d 74 74 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 -ttl":.{....................."ty
f0000 70 65 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."integer",.................
f0020 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 74 69 ...."description":."The.cache.ti
f0040 6d 65 2d 74 6f 2d 6c 69 76 65 20 66 6f 72 20 66 69 6c 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 me-to-live.for.files,.defaults.t
f0060 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 63 61 63 68 65 2d 74 74 6c 2e 22 0a 20 20 20 20 20 o.the.value.of.cache-ttl."......
f0080 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 ...........},................."c
f00a0 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ache-files-maxsize":.{..........
f00c0 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 69 ..........."type":.["string",."i
f00e0 6e 74 65 67 65 72 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 nteger"],....................."d
f0100 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 6d 61 78 20 73 69 7a 65 escription":."The.cache.max.size
f0120 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73 20 63 61 63 68 65 2c 20 64 65 66 61 75 6c 74 73 20 74 .for.the.files.cache,.defaults.t
f0140 6f 20 5c 22 33 30 30 4d 69 42 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d o.\"300MiB\".".................}
f0160 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 69 6e 2d 63 6f 6d 70 61 74 22 3a 20 ,................."bin-compat":.
f0180 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6e 75 6d 22 3a 20 5b 22 {....................."enum":.["
f01a0 61 75 74 6f 22 2c 20 22 66 75 6c 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 auto",."full"],.................
f01c0 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 6f 6d 70 61 74 69 62 ...."description":."The.compatib
f01e0 69 6c 69 74 79 20 6f 66 20 74 68 65 20 62 69 6e 61 72 69 65 73 2c 20 64 65 66 61 75 6c 74 73 20 ility.of.the.binaries,.defaults.
f0200 74 6f 20 5c 22 61 75 74 6f 5c 22 20 28 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 75 65 73 73 to.\"auto\".(automatically.guess
f0220 65 64 29 20 61 6e 64 20 63 61 6e 20 62 65 20 5c 22 66 75 6c 6c 5c 22 20 28 63 6f 6d 70 61 74 69 ed).and.can.be.\"full\".(compati
f0240 62 6c 65 20 77 69 74 68 20 62 6f 74 68 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 55 6e 69 78 2d 62 ble.with.both.Windows.and.Unix-b
f0260 61 73 65 64 20 73 79 73 74 65 6d 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ased.systems).".................
f0280 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 63 61 72 64 2d 63 68 61 6e },................."discard-chan
f02a0 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ges":.{....................."typ
f02c0 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 20 e":.["string",."boolean"],......
f02e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 ..............."description":."T
f0300 68 65 20 64 65 66 61 75 6c 74 20 73 74 79 6c 65 20 6f 66 20 68 61 6e 64 6c 69 6e 67 20 64 69 72 he.default.style.of.handling.dir
f0320 74 79 20 75 70 64 61 74 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 20 61 6e ty.updates,.defaults.to.false.an
f0340 64 20 63 61 6e 20 62 65 20 61 6e 79 20 6f 66 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 5c d.can.be.any.of.true,.false.or.\
f0360 22 73 74 61 73 68 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 "stash\".".................},...
f0380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 .............."autoloader-suffix
f03a0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f03c0 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."string",....................."
f03e0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 70 74 69 6f 6e 61 6c 20 73 74 72 69 6e 67 20 74 description":."Optional.string.t
f0400 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 73 75 66 66 69 78 20 66 6f 72 20 74 68 65 20 67 65 o.be.used.as.a.suffix.for.the.ge
f0420 6e 65 72 61 74 65 64 20 43 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 2e 20 57 68 65 nerated.Composer.autoloader..Whe
f0440 6e 20 6e 75 6c 6c 20 61 20 72 61 6e 64 6f 6d 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 n.null.a.random.one.will.be.gene
f0460 72 61 74 65 64 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 rated.".................},......
f0480 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 22 ..........."optimize-autoloader"
f04a0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
f04c0 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "boolean",....................."
f04e0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 6c 77 61 79 73 20 6f 70 74 69 6d 69 7a 65 20 77 description":."Always.optimize.w
f0500 68 65 6e 20 64 75 6d 70 69 6e 67 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 0a 20 20 20 hen.dumping.the.autoloader."....
f0520 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f0540 22 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 "prepend-autoloader":.{.........
f0560 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 ............"type":."boolean",..
f0580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f05a0 3a 20 22 49 66 20 66 61 6c 73 65 2c 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f :."If.false,.the.composer.autolo
f05c0 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 65 78 ader.will.not.be.prepended.to.ex
f05e0 69 73 74 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 isting.autoloaders,.defaults.to.
f0600 74 72 75 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 true.".................},.......
f0620 20 20 20 20 20 20 20 20 20 20 22 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 .........."classmap-authoritativ
f0640 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 e":.{....................."type"
f0660 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."boolean",....................
f0680 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 63 6f ."description":."If.true,.the.co
f06a0 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 73 63 61 6e 20 mposer.autoloader.will.not.scan.
f06c0 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 66 6f 72 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 the.filesystem.for.classes.that.
f06e0 61 72 65 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 2c 20 are.not.found.in.the.class.map,.
f0700 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 defaults.to.false.".............
f0720 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 70 63 75 2d 61 75 74 ....},................."apcu-aut
f0740 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oloader":.{.....................
f0760 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."boolean",..............
f0780 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 ......."description":."If.true,.
f07a0 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 63 68 65 the.Composer.autoloader.will.che
f07c0 63 6b 20 66 6f 72 20 41 50 43 75 20 61 6e 64 20 75 73 65 20 69 74 20 74 6f 20 63 61 63 68 65 20 ck.for.APCu.and.use.it.to.cache.
f07e0 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 20 77 68 65 6e 20 74 68 65 found/not-found.classes.when.the
f0800 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 64 65 66 61 75 6c 74 73 20 .extension.is.enabled,.defaults.
f0820 74 6f 20 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 to.false.".................},...
f0840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 22 3a 20 .............."github-domains":.
f0860 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 {....................."type":."a
f0880 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 rray",....................."desc
f08a0 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e 73 20 74 6f 20 ription":."A.list.of.domains.to.
f08c0 75 73 65 20 69 6e 20 67 69 74 68 75 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 use.in.github.mode..This.is.used
f08e0 20 66 6f 72 20 47 69 74 48 75 62 20 45 6e 74 65 72 70 72 69 73 65 20 73 65 74 75 70 73 2c 20 64 .for.GitHub.Enterprise.setups,.d
f0900 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 68 75 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a 20 efaults.to.[\"github.com\"].",..
f0920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 ..................."items":.{...
f0940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
f0960 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 tring".....................}....
f0980 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f09a0 22 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 "github-expose-hostname":.{.....
f09c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e ................"type":."boolean
f09e0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
f0a00 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 49 66 20 73 65 74 20 ion":."Defaults.to.true..If.set.
f0a20 74 6f 20 66 61 6c 73 65 2c 20 74 68 65 20 4f 41 75 74 68 20 74 6f 6b 65 6e 73 20 63 72 65 61 74 to.false,.the.OAuth.tokens.creat
f0a40 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 67 69 74 68 75 62 20 41 50 49 20 77 69 6c 6c ed.to.access.the.github.API.will
f0a60 20 68 61 76 65 20 61 20 64 61 74 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6d 61 63 68 .have.a.date.instead.of.the.mach
f0a80 69 6e 65 20 68 6f 73 74 6e 61 6d 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ine.hostname.".................}
f0aa0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e ,................."gitlab-domain
f0ac0 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 s":.{....................."type"
f0ae0 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 :."array",....................."
f0b00 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e 73 description":."A.list.of.domains
f0b20 20 74 6f 20 75 73 65 20 69 6e 20 67 69 74 6c 61 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 20 .to.use.in.gitlab.mode..This.is.
f0b40 75 73 65 64 20 66 6f 72 20 63 75 73 74 6f 6d 20 47 69 74 4c 61 62 20 73 65 74 75 70 73 2c 20 64 used.for.custom.GitLab.setups,.d
f0b60 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a 20 efaults.to.[\"gitlab.com\"].",..
f0b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 ..................."items":.{...
f0ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ......................"type":."s
f0bc0 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 tring".....................}....
f0be0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f0c00 22 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 "archive-format":.{.............
f0c20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
f0c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 .............."description":."Th
f0c60 65 20 64 65 66 61 75 6c 74 20 61 72 63 68 69 76 69 6e 67 20 66 6f 72 6d 61 74 20 77 68 65 6e 20 e.default.archiving.format.when.
f0c80 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 6f 6e 20 63 6c 69 2c 20 64 65 66 61 75 6c 74 73 20 74 6f not.provided.on.cli,.defaults.to
f0ca0 20 5c 22 74 61 72 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 .\"tar\".".................},...
f0cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 2d 64 69 72 22 3a 20 7b 0a 20 .............."archive-dir":.{..
f0ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ..................."type":."stri
f0d00 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 ng",....................."descri
f0d20 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 61 72 63 68 69 76 65 20 70 61 74 ption":."The.default.archive.pat
f0d40 68 20 77 68 65 6e 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 6f 6e 20 63 6c 69 2c 20 64 65 66 61 h.when.not.provided.on.cli,.defa
f0d60 75 6c 74 73 20 74 6f 20 5c 22 2e 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ults.to.\".\".".................
f0d80 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 74 61 63 63 65 73 73 2d 70 72 6f },................."htaccess-pro
f0da0 74 65 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 tect":.{....................."ty
f0dc0 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."boolean",.................
f0de0 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 ...."description":."Defaults.to.
f0e00 74 72 75 65 2e 20 49 66 20 73 65 74 20 74 6f 20 66 61 6c 73 65 2c 20 43 6f 6d 70 6f 73 65 72 20 true..If.set.to.false,.Composer.
f0e20 77 69 6c 6c 20 6e 6f 74 20 63 72 65 61 74 65 20 2e 68 74 61 63 63 65 73 73 20 66 69 6c 65 73 20 will.not.create..htaccess.files.
f0e40 69 6e 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 68 6f 6d 65 2c 20 63 61 63 68 65 2c 20 61 6e 64 in.the.composer.home,.cache,.and
f0e60 20 64 61 74 61 20 64 69 72 65 63 74 6f 72 69 65 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .data.directories.".............
f0e80 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 72 74 2d 70 61 63 ....},................."sort-pac
f0ea0 6b 61 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 kages":.{....................."t
f0ec0 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."boolean",................
f0ee0 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f ....."description":."Defaults.to
f0f00 20 66 61 6c 73 65 2e 20 49 66 20 73 65 74 20 74 6f 20 74 72 75 65 2c 20 43 6f 6d 70 6f 73 65 72 .false..If.set.to.true,.Composer
f0f20 20 77 69 6c 6c 20 73 6f 72 74 20 70 61 63 6b 61 67 65 73 20 77 68 65 6e 20 61 64 64 69 6e 67 2f .will.sort.packages.when.adding/
f0f40 75 70 64 61 74 69 6e 67 20 61 20 6e 65 77 20 64 65 70 65 6e 64 65 6e 63 79 2e 22 0a 20 20 20 20 updating.a.new.dependency.".....
f0f60 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
f0f80 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 65 78 74 72 61 22 3a 20 7b 0a 20 20 20 20 20 20 ....},........."extra":.{.......
f0fa0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 ......"type":.["object",."array"
f0fc0 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 ],............."description":."A
f0fe0 72 62 69 74 72 61 72 79 20 65 78 74 72 61 20 64 61 74 61 20 74 68 61 74 20 63 61 6e 20 62 65 20 rbitrary.extra.data.that.can.be.
f1000 75 73 65 64 20 62 79 20 70 6c 75 67 69 6e 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 70 61 used.by.plugins,.for.example,.pa
f1020 63 6b 61 67 65 20 6f 66 20 74 79 70 65 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 6d 61 ckage.of.type.composer-plugin.ma
f1040 79 20 68 61 76 65 20 61 20 27 63 6c 61 73 73 27 20 6b 65 79 20 64 65 66 69 6e 69 6e 67 20 61 6e y.have.a.'class'.key.defining.an
f1060 20 69 6e 73 74 61 6c 6c 65 72 20 63 6c 61 73 73 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 .installer.class.name.",........
f1080 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 ....."additionalProperties":.tru
f10a0 65 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a e.........},........."autoload":
f10c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 .{............."$ref":."#/defini
f10e0 74 69 6f 6e 73 2f 61 75 74 6f 6c 6f 61 64 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 tions/autoload".........},......
f1100 20 20 20 22 61 75 74 6f 6c 6f 61 64 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..."autoload-dev":.{............
f1120 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ."type":."object",............."
f1140 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 64 description":."Description.of.ad
f1160 64 69 74 69 6f 6e 61 6c 20 61 75 74 6f 6c 6f 61 64 20 72 75 6c 65 73 20 66 6f 72 20 64 65 76 65 ditional.autoload.rules.for.deve
f1180 6c 6f 70 6d 65 6e 74 20 70 75 72 70 6f 73 65 20 28 65 67 2e 20 61 20 74 65 73 74 20 73 75 69 74 lopment.purpose.(eg..a.test.suit
f11a0 65 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 e).",............."properties":.
f11c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 2d 30 22 3a 20 7b 0a 20 20 20 {................."psr-0":.{....
f11e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
f1200 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
f1220 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 ion":."This.is.a.hash.of.namespa
f1240 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 ces.(keys).and.the.directories.t
f1260 68 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 hey.can.be.found.into.(values,.c
f1280 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 an.be.arrays.of.paths).by.the.au
f12a0 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 toloader.",.....................
f12c0 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 "additionalProperties":.{.......
f12e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 .................."type":.["stri
f1300 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng",."array"],..................
f1320 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."items":.{...............
f1340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
f1360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .......................}........
f1380 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d .............}.................}
f13a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 2d 34 22 3a 20 7b 0a 20 20 20 ,................."psr-4":.{....
f13c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
f13e0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
f1400 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 ion":."This.is.a.hash.of.namespa
f1420 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f ces.(keys).and.the.PSR-4.directo
f1440 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 6d 61 70 20 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 ries.they.can.map.to.(values,.ca
f1460 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 n.be.arrays.of.paths).by.the.aut
f1480 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 oloader.",....................."
f14a0 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 additionalProperties":.{........
f14c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e ................."type":.["strin
f14e0 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g",."array"],...................
f1500 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"items":.{................
f1520 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 ............."type":."string"...
f1540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ......................}.........
f1560 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ............}.................},
f1580 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 ................."classmap":.{..
f15a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 ..................."type":."arra
f15c0 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 y",....................."descrip
f15e0 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 64 69 72 65 tion":."This.is.an.array.of.dire
f1600 63 74 6f 72 69 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 63 6c 61 73 73 65 73 20 74 6f 20 ctories.that.contain.classes.to.
f1620 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6c 61 73 73 2d 6d 61 70 20 67 65 6e be.included.in.the.class-map.gen
f1640 65 72 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eration.process."...............
f1660 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 69 6c 65 73 22 3a 20 7b 0a ..},................."files":.{.
f1680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 ...................."type":."arr
f16a0 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 ay",....................."descri
f16c0 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 66 69 6c ption":."This.is.an.array.of.fil
f16e0 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 71 75 69 72 65 64 20 6f 6e 20 65 es.that.are.always.required.on.e
f1700 76 65 72 79 20 72 65 71 75 65 73 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d very.request.".................}
f1720 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .............}.........},.......
f1740 20 20 22 61 72 63 68 69 76 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 .."archive":.{............."type
f1760 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ":.["object"],............."desc
f1780 72 69 70 74 69 6f 6e 22 3a 20 22 4f 70 74 69 6f 6e 73 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 ription":."Options.for.creating.
f17a0 70 61 63 6b 61 67 65 20 61 72 63 68 69 76 65 73 20 66 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f package.archives.for.distributio
f17c0 6e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b n.",............."properties":.{
f17e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 63 6c 75 64 65 22 3a 20 7b 0a 20 20 ................."exclude":.{...
f1800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 .................."type":."array
f1820 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
f1840 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 70 61 ion":."A.list.of.patterns.for.pa
f1860 74 68 73 20 74 6f 20 65 78 63 6c 75 64 65 20 6f 72 20 69 6e 63 6c 75 64 65 20 69 66 20 70 72 65 ths.to.exclude.or.include.if.pre
f1880 66 69 78 65 64 20 77 69 74 68 20 61 6e 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 6d 61 72 6b 2e 22 fixed.with.an.exclamation.mark."
f18a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .................}.............}
f18c0 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 70 6f 73 69 74 6f 72 69 65 .........},........."repositorie
f18e0 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 s":.{............."type":.["obje
f1900 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ct",."array"],............."desc
f1920 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 72 ription":."A.set.of.additional.r
f1940 65 70 6f 73 69 74 6f 72 69 65 73 20 77 68 65 72 65 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 epositories.where.packages.can.b
f1960 65 20 66 6f 75 6e 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e e.found.",............."addition
f1980 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alProperties":.{................
f19a0 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."oneOf":.[.....................
f19c0 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 72 65 70 6f 73 69 74 {."$ref":."#/definitions/reposit
f19e0 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 74 ory".},.....................{."t
f1a00 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 66 61 6c 73 65 5d ype":."boolean",."enum":.[false]
f1a20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 .}.................]............
f1a40 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 .},............."items":.{......
f1a60 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 ..........."oneOf":.[...........
f1a80 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f ..........{."$ref":."#/definitio
f1aa0 6e 73 2f 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns/repository".},...............
f1ac0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......{.........................
f1ae0 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."object",...............
f1b00 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
f1b20 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 20 22 65 6e 75 6d 22 3a 20 5b :.{."type":."boolean",."enum":.[
f1b40 66 61 6c 73 65 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 false].},.......................
f1b60 20 20 22 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 22 3a 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 .."minProperties":.1,...........
f1b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 78 50 72 6f 70 65 72 74 69 65 73 22 3a 20 31 .............."maxProperties":.1
f1ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
f1bc0 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d .......].............}.........}
f1be0 2c 0a 20 20 20 20 20 20 20 20 22 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 22 3a 20 7b ,........."minimum-stability":.{
f1c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 5d 2c ............."type":.["string"],
f1c20 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 ............."description":."The
f1c40 20 6d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 .minimum.stability.the.packages.
f1c60 6d 75 73 74 20 68 61 76 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 2d 61 62 6c 65 2e 20 50 6f must.have.to.be.install-able..Po
f1c80 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 3a 20 64 65 76 2c 20 61 6c 70 68 61 2c 20 62 ssible.values.are:.dev,.alpha,.b
f1ca0 65 74 61 2c 20 52 43 2c 20 73 74 61 62 6c 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 eta,.RC,.stable.",............."
f1cc0 70 61 74 74 65 72 6e 22 3a 20 22 5e 64 65 76 7c 61 6c 70 68 61 7c 62 65 74 61 7c 72 63 7c 52 43 pattern":."^dev|alpha|beta|rc|RC
f1ce0 7c 73 74 61 62 6c 65 24 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 |stable$".........},........."pr
f1d00 65 66 65 72 2d 73 74 61 62 6c 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 efer-stable":.{............."typ
f1d20 65 22 3a 20 5b 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 e":.["boolean"],............."de
f1d40 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 73 65 74 20 74 6f 20 74 72 75 65 2c 20 73 74 61 scription":."If.set.to.true,.sta
f1d60 62 6c 65 20 70 61 63 6b 61 67 65 73 20 77 69 6c 6c 20 62 65 20 70 72 65 66 65 72 72 65 64 20 74 ble.packages.will.be.preferred.t
f1d80 6f 20 64 65 76 20 70 61 63 6b 61 67 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 65 76 o.dev.packages.when.possible,.ev
f1da0 65 6e 20 69 66 20 74 68 65 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 61 6c 6c 6f en.if.the.minimum-stability.allo
f1dc0 77 73 20 75 6e 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d ws.unstable.packages.".........}
f1de0 2c 0a 20 20 20 20 20 20 20 20 22 62 69 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ,........."bin":.{............."
f1e00 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 type":.["string",."array"],.....
f1e20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 ........"description":."A.set.of
f1e40 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 2c 20 74 68 61 74 20 73 .files,.or.a.single.file,.that.s
f1e60 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 62 69 6e 61 72 69 65 73 20 61 6e 64 hould.be.treated.as.binaries.and
f1e80 20 73 79 6d 6c 69 6e 6b 65 64 20 69 6e 74 6f 20 62 69 6e 2d 64 69 72 20 28 66 72 6f 6d 20 63 6f .symlinked.into.bin-dir.(from.co
f1ea0 6e 66 69 67 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a nfig).",............."items":.{.
f1ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
f1ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .............}.........},.......
f1f00 20 20 22 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."include-path":.{.............
f1f20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 "type":.["array"],............."
f1f40 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 41 20 6c 69 73 description":."DEPRECATED:.A.lis
f1f60 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 67 65 t.of.directories.which.should.ge
f1f80 74 20 61 64 64 65 64 20 74 6f 20 50 48 50 27 73 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e 20 54 t.added.to.PHP's.include.path..T
f1fa0 68 69 73 20 69 73 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 74 6f 20 73 75 70 70 6f 72 74 20 6c his.is.only.present.to.support.l
f1fc0 65 67 61 63 79 20 70 72 6f 6a 65 63 74 73 2c 20 61 6e 64 20 61 6c 6c 20 6e 65 77 20 63 6f 64 65 egacy.projects,.and.all.new.code
f1fe0 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 61 62 6c 79 20 75 73 65 20 61 75 74 6f 6c 6f 61 64 69 .should.preferably.use.autoloadi
f2000 6e 67 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 ng.",............."items":.{....
f2020 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 ............."type":."string"...
f2040 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 ..........}.........},........."
f2060 73 63 72 69 70 74 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 scripts":.{............."type":.
f2080 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 ["object"],............."descrip
f20a0 74 69 6f 6e 22 3a 20 22 53 63 72 69 70 74 20 6c 69 73 74 65 6e 65 72 73 20 74 68 61 74 20 77 69 tion":."Script.listeners.that.wi
f20c0 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 62 65 66 6f 72 65 2f 61 66 74 65 72 20 73 6f 6d 65 ll.be.executed.before/after.some
f20e0 20 65 76 65 6e 74 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 .events.",............."properti
f2100 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 69 6e 73 74 es":.{................."pre-inst
f2120 61 6c 6c 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 all-cmd":.{.....................
f2140 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 "type":.["array",."string"],....
f2160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ................."description":.
f2180 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 "Occurs.before.the.install.comma
f21a0 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 nd.is.executed,.contains.one.or.
f21c0 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 more.Class::method.callables.or.
f21e0 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 shell.commands."................
f2200 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 69 6e 73 74 61 6c .},................."post-instal
f2220 6c 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 l-cmd":.{....................."t
f2240 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 ype":.["array",."string"],......
f2260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f ..............."description":."O
f2280 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 ccurs.after.the.install.command.
f22a0 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 is.executed,.contains.one.or.mor
f22c0 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 e.Class::method.callables.or.she
f22e0 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ll.commands.".................},
f2300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 ................."pre-update-cmd
f2320 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f2340 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 .["array",."string"],...........
f2360 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 .........."description":."Occurs
f2380 20 62 65 66 6f 72 65 20 74 68 65 20 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 .before.the.update.command.is.ex
f23a0 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 ecuted,.contains.one.or.more.Cla
f23c0 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f ss::method.callables.or.shell.co
f23e0 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 mmands.".................},.....
f2400 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 22 3a 20 7b ............"post-update-cmd":.{
f2420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 ....................."type":.["a
f2440 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rray",."string"],...............
f2460 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 ......"description":."Occurs.aft
f2480 65 72 20 74 68 65 20 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 er.the.update.command.is.execute
f24a0 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d d,.contains.one.or.more.Class::m
f24c0 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 ethod.callables.or.shell.command
f24e0 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 s.".................},..........
f2500 20 20 20 20 20 20 20 22 70 72 65 2d 73 74 61 74 75 73 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 ......."pre-status-cmd":.{......
f2520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c ..............."type":.["array",
f2540 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."string"],.....................
f2560 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 "description":."Occurs.before.th
f2580 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f e.status.command.is.executed,.co
f25a0 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 ntains.one.or.more.Class::method
f25c0 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 .callables.or.shell.commands."..
f25e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f2600 20 20 22 70 6f 73 74 2d 73 74 61 74 75 73 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 .."post-status-cmd":.{..........
f2620 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 ..........."type":.["array",."st
f2640 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 ring"],....................."des
f2660 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 cription":."Occurs.after.the.sta
f2680 74 75 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e tus.command.is.executed,.contain
f26a0 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c s.one.or.more.Class::method.call
f26c0 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 ables.or.shell.commands.".......
f26e0 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 ..........},................."pr
f2700 65 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 e-package-install":.{...........
f2720 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 .........."type":.["array",."str
f2740 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ing"],....................."desc
f2760 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 ription":."Occurs.before.a.packa
f2780 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 ge.is.installed,.contains.one.or
f27a0 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 .more.Class::method.callables.or
f27c0 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .shell.commands."...............
f27e0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 ..},................."post-packa
f2800 67 65 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge-install":.{..................
f2820 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a ..."type":.["array",."string"],.
f2840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f2860 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e ":."Occurs.after.a.package.is.in
f2880 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c stalled,.contains.one.or.more.Cl
f28a0 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 ass::method.callables.or.shell.c
f28c0 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ommands.".................},....
f28e0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 ............."pre-package-update
f2900 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f2920 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 .["array",."string"],...........
f2940 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 .........."description":."Occurs
f2960 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 75 70 64 61 74 65 64 2c 20 63 6f .before.a.package.is.updated,.co
f2980 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 ntains.one.or.more.Class::method
f29a0 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 .callables.or.shell.commands."..
f29c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f29e0 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 22 3a 20 7b 0a 20 20 20 20 20 .."post-package-update":.{......
f2a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c ..............."type":.["array",
f2a20 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."string"],.....................
f2a40 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 61 20 70 "description":."Occurs.after.a.p
f2a60 61 63 6b 61 67 65 20 69 73 20 75 70 64 61 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 ackage.is.updated,.contains.one.
f2a80 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 or.more.Class::method.callables.
f2aa0 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 or.shell.commands.".............
f2ac0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b ....},................."pre-pack
f2ae0 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 age-uninstall":.{...............
f2b00 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 ......"type":.["array",."string"
f2b20 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ],....................."descript
f2b40 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 68 ion":."Occurs.before.a.package.h
f2b60 61 73 20 62 65 65 6e 20 75 6e 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e as.been.uninstalled,.contains.on
f2b80 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 e.or.more.Class::method.callable
f2ba0 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 s.or.shell.commands."...........
f2bc0 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 ......},................."post-p
f2be0 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ackage-uninstall":.{............
f2c00 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 ........."type":.["array",."stri
f2c20 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ng"],....................."descr
f2c40 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 iption":."Occurs.after.a.package
f2c60 20 68 61 73 20 62 65 65 6e 20 75 6e 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 .has.been.uninstalled,.contains.
f2c80 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 one.or.more.Class::method.callab
f2ca0 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 les.or.shell.commands.".........
f2cc0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d ........},................."pre-
f2ce0 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 autoload-dump":.{...............
f2d00 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 ......"type":.["array",."string"
f2d20 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ],....................."descript
f2d40 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 ion":."Occurs.before.the.autoloa
f2d60 64 65 72 20 69 73 20 64 75 6d 70 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d der.is.dumped,.contains.one.or.m
f2d80 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 ore.Class::method.callables.or.s
f2da0 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hell.commands.".................
f2dc0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 },................."post-autoloa
f2de0 64 2d 64 75 6d 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 d-dump":.{....................."
f2e00 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 type":.["array",."string"],.....
f2e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f2e40 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 69 73 20 64 Occurs.after.the.autoloader.is.d
f2e60 75 6d 70 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 umped,.contains.one.or.more.Clas
f2e80 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d s::method.callables.or.shell.com
f2ea0 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 mands.".................},......
f2ec0 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 72 6f 6f 74 2d 70 61 63 6b 61 67 65 2d 69 6e ..........."post-root-package-in
f2ee0 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 stall":.{....................."t
f2f00 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 ype":.["array",."string"],......
f2f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f ..............."description":."O
f2f40 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 72 6f 6f 74 2d 70 61 63 6b 61 67 65 20 69 73 20 ccurs.after.the.root-package.is.
f2f60 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 installed,.contains.one.or.more.
f2f80 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c Class::method.callables.or.shell
f2fa0 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 .commands.".................},..
f2fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 63 72 65 61 74 65 2d 70 72 6f 6a ..............."post-create-proj
f2fe0 65 63 74 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect-cmd":.{.....................
f3000 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 "type":.["array",."string"],....
f3020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ................."description":.
f3040 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 "Occurs.after.the.create-project
f3060 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f .command.is.executed,.contains.o
f3080 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c ne.or.more.Class::method.callabl
f30a0 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 es.or.shell.commands."..........
f30c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d .......}.............}.........}
f30e0 2c 0a 20 20 20 20 20 20 20 20 22 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 22 ,........."scripts-descriptions"
f3100 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 :.{............."type":.["object
f3120 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 "],............."description":."
f3140 44 65 73 63 72 69 70 74 69 6f 6e 73 20 66 6f 72 20 63 75 73 74 6f 6d 20 63 6f 6d 6d 61 6e 64 73 Descriptions.for.custom.commands
f3160 2c 20 73 68 6f 77 6e 20 69 6e 20 63 6f 6e 73 6f 6c 65 20 68 65 6c 70 2e 22 2c 0a 20 20 20 20 20 ,.shown.in.console.help.",......
f3180 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b ......."additionalProperties":.{
f31a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ................."type":."string
f31c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ".............}.........},......
f31e0 20 20 20 22 73 75 70 70 6f 72 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ..."support":.{............."typ
f3200 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 e":."object",............."prope
f3220 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c rties":.{................."email
f3240 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f3260 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."string",....................."
f3280 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6d 61 69 6c 20 61 64 64 72 65 73 73 20 66 6f 72 description":."Email.address.for
f32a0 20 73 75 70 70 6f 72 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .support.",.....................
f32c0 22 66 6f 72 6d 61 74 22 3a 20 22 65 6d 61 69 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "format":."email"...............
f32e0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 73 73 75 65 73 22 3a 20 7b ..},................."issues":.{
f3300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
f3320 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ring",....................."desc
f3340 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 69 73 73 75 65 20 74 72 61 63 ription":."URL.to.the.issue.trac
f3360 6b 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d ker.",....................."form
f3380 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 at":."uri".................},...
f33a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 .............."forum":.{........
f33c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 ............."type":."string",..
f33e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f3400 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 66 6f 72 75 6d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 :."URL.to.the.forum.",..........
f3420 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 ..........."format":."uri"......
f3440 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 ...........},................."w
f3460 69 6b 69 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 iki":.{....................."typ
f3480 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string",...................
f34a0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 77 69 6b .."description":."URL.to.the.wik
f34c0 69 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 i.",....................."format
f34e0 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 ":."uri".................},.....
f3500 20 20 20 20 20 20 20 20 20 20 20 20 22 69 72 63 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............"irc":.{............
f3520 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 ........."type":."string",......
f3540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 ..............."description":."I
f3560 52 43 20 63 68 61 6e 6e 65 6c 20 66 6f 72 20 73 75 70 70 6f 72 74 2c 20 61 73 20 69 72 63 3a 2f RC.channel.for.support,.as.irc:/
f3580 2f 73 65 72 76 65 72 2f 63 68 61 6e 6e 65 6c 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 /server/channel.",..............
f35a0 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 ......."format":."uri"..........
f35c0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 .......},................."sourc
f35e0 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 e":.{....................."type"
f3600 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."string",.....................
f3620 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 62 72 6f 77 73 65 20 6f 72 "description":."URL.to.browse.or
f3640 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 73 6f 75 72 63 65 73 2e 22 2c 0a 20 20 20 20 20 20 20 .download.the.sources.",........
f3660 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 ............."format":."uri"....
f3680 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f36a0 22 64 6f 63 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 "docs":.{....................."t
f36c0 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string",.................
f36e0 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 64 ...."description":."URL.to.the.d
f3700 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ocumentation.",.................
f3720 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."format":."uri".............
f3740 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 73 73 22 3a 20 7b 0a ....},................."rss":.{.
f3760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ...................."type":."str
f3780 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ing",....................."descr
f37a0 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 52 53 53 20 66 65 65 64 2e 22 2c iption":."URL.to.the.RSS.feed.",
f37c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 ....................."format":."
f37e0 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 uri".................}..........
f3800 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6e 6f 6e 2d 66 65 61 ...}.........},........."non-fea
f3820 74 75 72 65 2d 62 72 61 6e 63 68 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 ture-branches":.{............."t
f3840 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 ype":.["array"],............."de
f3860 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 73 74 72 69 6e 67 20 6f 72 20 scription":."A.set.of.string.or.
f3880 72 65 67 65 78 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 6e 6f 6e 2d 6e 75 6d 65 72 69 63 20 62 regex.patterns.for.non-numeric.b
f38a0 72 61 6e 63 68 20 6e 61 6d 65 73 20 74 68 61 74 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 68 61 6e ranch.names.that.will.not.be.han
f38c0 64 6c 65 64 20 61 73 20 66 65 61 74 75 72 65 20 62 72 61 6e 63 68 65 73 2e 22 2c 0a 20 20 20 20 dled.as.feature.branches.",.....
f38e0 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"items":.{..............
f3900 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string".............
f3920 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 62 61 6e 64 6f 6e 65 64 22 }.........},........."abandoned"
f3940 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 62 6f 6f 6c 65 61 :.{............."type":.["boolea
f3960 6e 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 n",."string"],............."desc
f3980 72 69 70 74 69 6f 6e 22 3a 20 22 49 6e 64 69 63 61 74 65 73 20 77 68 65 74 68 65 72 20 74 68 69 ription":."Indicates.whether.thi
f39a0 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 61 6e 64 6f 6e 65 64 2c 20 69 74 s.package.has.been.abandoned,.it
f39c0 20 63 61 6e 20 62 65 20 62 6f 6f 6c 65 61 6e 20 6f 72 20 61 20 70 61 63 6b 61 67 65 20 6e 61 6d .can.be.boolean.or.a.package.nam
f39e0 65 2f 55 52 4c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 e/URL.pointing.to.a.recommended.
f3a00 61 6c 74 65 72 6e 61 74 69 76 65 2e 20 44 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 22 alternative..Defaults.to.false."
f3a20 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 63 6f 6d 6d 65 6e 74 22 3a 20 .........},........."_comment":.
f3a40 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 {............."type":.["array",.
f3a60 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 "string"],............."descript
f3a80 69 6f 6e 22 3a 20 22 41 20 6b 65 79 20 74 6f 20 73 74 6f 72 65 20 63 6f 6d 6d 65 6e 74 73 20 69 ion":."A.key.to.store.comments.i
f3aa0 6e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 64 65 66 69 6e 69 74 n".........}.....},....."definit
f3ac0 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 61 75 74 68 6f 72 73 22 3a 20 7b 0a 20 20 ions":.{........."authors":.{...
f3ae0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 .........."type":."array",......
f3b00 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4c 69 73 74 20 6f 66 20 61 ......."description":."List.of.a
f3b20 75 74 68 6f 72 73 20 74 68 61 74 20 63 6f 6e 74 72 69 62 75 74 65 64 20 74 6f 20 74 68 65 20 70 uthors.that.contributed.to.the.p
f3b40 61 63 6b 61 67 65 2e 20 54 68 69 73 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 ackage..This.is.typically.the.ma
f3b60 69 6e 20 6d 61 69 6e 74 61 69 6e 65 72 73 2c 20 6e 6f 74 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 in.maintainers,.not.the.full.lis
f3b80 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 t.",............."items":.{.....
f3ba0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 ............"type":."object",...
f3bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 .............."additionalPropert
f3be0 69 65 73 22 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 ies":.false,................."re
f3c00 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 quired":.[."name"],.............
f3c20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."properties":.{.............
f3c40 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"name":.{...............
f3c60 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 .........."type":."string",.....
f3c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f3ca0 22 3a 20 22 46 75 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 75 74 68 6f 72 2e 22 0a 20 20 ":."Full.name.of.the.author."...
f3cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..................},............
f3ce0 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."email":.{.............
f3d00 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 ............"type":."string",...
f3d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ......................"descripti
f3d40 6f 6e 22 3a 20 22 45 6d 61 69 6c 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 61 75 74 68 6f on":."Email.address.of.the.autho
f3d60 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f r.",........................."fo
f3d80 72 6d 61 74 22 3a 20 22 65 6d 61 69 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rmat":."email"..................
f3da0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 6f 6d 65 70 ...},....................."homep
f3dc0 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 age":.{.........................
f3de0 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."string",...............
f3e00 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 48 6f 6d 65 70 61 .........."description":."Homepa
f3e20 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 2e 22 2c 0a 20 20 20 20 20 20 20 ge.URL.for.the.author.",........
f3e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 ................."format":."uri"
f3e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 .....................},.........
f3e80 20 20 20 20 20 20 20 20 20 20 20 20 22 72 6f 6c 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ............"role":.{...........
f3ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a .............."type":."string",.
f3ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 ........................"descrip
f3ee0 74 69 6f 6e 22 3a 20 22 41 75 74 68 6f 72 27 73 20 72 6f 6c 65 20 69 6e 20 74 68 65 20 70 72 6f tion":."Author's.role.in.the.pro
f3f00 6a 65 63 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ject.".....................}....
f3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .............}.............}....
f3f40 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 .....},........."autoload":.{...
f3f60 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
f3f80 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 73 63 72 69 70 74 ........"description":."Descript
f3fa0 69 6f 6e 20 6f 66 20 68 6f 77 20 74 68 65 20 70 61 63 6b 61 67 65 20 63 61 6e 20 62 65 20 61 75 ion.of.how.the.package.can.be.au
f3fc0 74 6f 6c 6f 61 64 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 toloaded.",............."propert
f3fe0 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 2d 30 22 3a ies":.{................."psr-0":
f4000 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
f4020 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 object",....................."de
f4040 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e scription":."This.is.a.hash.of.n
f4060 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f amespaces.(keys).and.the.directo
f4080 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 28 76 61 6c 75 65 ries.they.can.be.found.in.(value
f40a0 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 s,.can.be.arrays.of.paths).by.th
f40c0 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.autoloader.",.................
f40e0 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 ...."additionalProperties":.{...
f4100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 ......................"type":.["
f4120 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 string",."array"],..............
f4140 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ..........."items":.{...........
f4160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
f4180 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 g".........................}....
f41a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
f41c0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 2d 34 22 3a 20 7b ...},................."psr-4":.{
f41e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 ....................."type":."ob
f4200 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ject",....................."desc
f4220 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d ription":."This.is.a.hash.of.nam
f4240 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 50 53 52 2d 34 20 64 69 72 espaces.(keys).and.the.PSR-4.dir
f4260 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 6d 61 70 20 74 6f 20 28 76 61 6c 75 65 73 ectories.they.can.map.to.(values
f4280 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 ,.can.be.arrays.of.paths).by.the
f42a0 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .autoloader.",..................
f42c0 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 ..."additionalProperties":.{....
f42e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 ....................."type":.["s
f4300 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring",."array"],...............
f4320 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .........."items":.{............
f4340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ................."type":."string
f4360 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ".........................}.....
f4380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
f43a0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6c 61 73 73 6d 61 70 22 3a ..},................."classmap":
f43c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
f43e0 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 array",....................."des
f4400 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 cription":."This.is.an.array.of.
f4420 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 63 6c 61 73 73 65 73 directories.that.contain.classes
f4440 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6c 61 73 73 2d 6d 61 70 .to.be.included.in.the.class-map
f4460 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 .generation.process."...........
f4480 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 69 6c 65 73 22 ......},................."files"
f44a0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
f44c0 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 "array",....................."de
f44e0 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 scription":."This.is.an.array.of
f4500 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 71 75 69 72 65 64 20 .files.that.are.always.required.
f4520 6f 6e 20 65 76 65 72 79 20 72 65 71 75 65 73 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 on.every.request."..............
f4540 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 63 6c 75 64 65 2d 66 ...},................."exclude-f
f4560 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rom-classmap":.{................
f4580 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ....."type":."array",...........
f45a0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 .........."description":."This.i
f45c0 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 70 61 74 74 65 72 6e 73 20 74 6f 20 65 78 63 6c 75 64 s.an.array.of.patterns.to.exclud
f45e0 65 20 66 72 6f 6d 20 61 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 6d 61 70 20 67 65 6e 65 72 61 74 e.from.autoload.classmap.generat
f4600 69 6f 6e 2e 20 28 65 2e 67 2e 20 5c 22 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d ion..(e.g..\"exclude-from-classm
f4620 61 70 5c 22 3a 20 5b 5c 22 2f 74 65 73 74 2f 5c 22 2c 20 5c 22 2f 74 65 73 74 73 2f 5c 22 2c 20 ap\":.[\"/test/\",.\"/tests/\",.
f4640 5c 22 2f 54 65 73 74 73 2f 5c 22 5d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a \"/Tests/\"]".................}.
f4660 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ............}.........},........
f4680 20 22 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ."repository":.{............."ty
f46a0 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f pe":."object",............."oneO
f46c0 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 f":.[.................{."$ref":.
f46e0 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 63 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 6f "#/definitions/composer-reposito
f4700 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a ry".},.................{."$ref":
f4720 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 63 73 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 ."#/definitions/vcs-repository".
f4740 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f },.................{."$ref":."#/
f4760 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 74 68 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a definitions/path-repository".},.
f4780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 ................{."$ref":."#/def
f47a0 69 6e 69 74 69 6f 6e 73 2f 61 72 74 69 66 61 63 74 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c initions/artifact-repository".},
f47c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 .................{."$ref":."#/de
f47e0 66 69 6e 69 74 69 6f 6e 73 2f 70 65 61 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 finitions/pear-repository".},...
f4800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e ..............{."$ref":."#/defin
f4820 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 0a 20 20 20 itions/package-repository".}....
f4840 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 .........].........},........."c
f4860 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 omposer-repository":.{..........
f4880 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
f48a0 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 ."required":.["type",."url"],...
f48c0 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 .........."properties":.{.......
f48e0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 .........."type":.{."type":."str
f4900 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 63 6f 6d 70 6f 73 65 72 22 5d 20 7d 2c 0a 20 20 ing",."enum":.["composer"].},...
f4920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 .............."url":.{."type":."
f4940 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 string".},................."opti
f4960 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ons":.{....................."typ
f4980 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."object",...................
f49a0 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 .."additionalProperties":.true..
f49c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f49e0 20 20 22 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 22 3a 20 7b 20 22 74 79 70 65 .."allow_ssl_downgrade":.{."type
f4a00 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."boolean".},.................
f4a20 22 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 73 22 3a 20 7b 20 22 74 79 70 65 22 "force-lazy-providers":.{."type"
f4a40 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 :."boolean".}.............}.....
f4a60 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 63 73 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a ....},........."vcs-repository":
f4a80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c .{............."type":."object",
f4aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 ............."required":.["type"
f4ac0 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 ,."url"],............."propertie
f4ae0 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 s":.{................."type":.{.
f4b00 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 76 63 73 22 "type":."string",."enum":.["vcs"
f4b20 2c 20 22 67 69 74 68 75 62 22 2c 20 22 67 69 74 22 2c 20 22 67 69 74 6c 61 62 22 2c 20 22 67 69 ,."github",."git",."gitlab",."gi
f4b40 74 2d 62 69 74 62 75 63 6b 65 74 22 2c 20 22 68 67 22 2c 20 22 68 67 2d 62 69 74 62 75 63 6b 65 t-bitbucket",."hg",."hg-bitbucke
f4b60 74 22 2c 20 22 66 6f 73 73 69 6c 22 2c 20 22 70 65 72 66 6f 72 63 65 22 2c 20 22 73 76 6e 22 5d t",."fossil",."perforce",."svn"]
f4b80 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 .},................."url":.{."ty
f4ba0 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string".},................
f4bc0 20 22 6e 6f 2d 61 70 69 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d ."no-api":.{."type":."boolean".}
f4be0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 65 63 75 72 65 2d 68 74 74 70 22 3a ,................."secure-http":
f4c00 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 .{."type":."boolean".},.........
f4c20 20 20 20 20 20 20 20 20 22 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 22 3a ........"svn-cache-credentials":
f4c40 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 .{."type":."boolean".},.........
f4c60 20 20 20 20 20 20 20 20 22 74 72 75 6e 6b 2d 70 61 74 68 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 ........"trunk-path":.{."type":.
f4c80 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 ["string",."boolean"].},........
f4ca0 20 20 20 20 20 20 20 20 20 22 62 72 61 6e 63 68 65 73 2d 70 61 74 68 22 3a 20 7b 20 22 74 79 70 ........."branches-path":.{."typ
f4cc0 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 7d 2c 0a 20 20 20 e":.["string",."boolean"].},....
f4ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 67 73 2d 70 61 74 68 22 3a 20 7b 20 22 74 79 70 ............."tags-path":.{."typ
f4d00 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 7d 2c 0a 20 20 20 e":.["string",."boolean"].},....
f4d20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d 70 61 74 68 22 3a 20 7b 20 22 ............."package-path":.{."
f4d40 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."string".},..............
f4d60 20 20 20 22 64 65 70 6f 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d ..."depot":.{."type":."string".}
f4d80 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 72 61 6e 63 68 22 3a 20 7b 20 22 74 ,................."branch":.{."t
f4da0 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string".},...............
f4dc0 20 20 22 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f 6e 61 6d 65 22 3a .."unique_perforce_client_name":
f4de0 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 .{."type":."string".},..........
f4e00 20 20 20 20 20 20 20 22 70 34 75 73 65 72 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ......."p4user":.{."type":."stri
f4e20 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 34 70 61 73 73 77 6f ng".},................."p4passwo
f4e40 72 64 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 rd":.{."type":."string".}.......
f4e60 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 74 68 ......}.........},........."path
f4e80 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 -repository":.{............."typ
f4ea0 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 e":."object",............."requi
f4ec0 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 red":.["type",."url"],..........
f4ee0 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."properties":.{..............
f4f00 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 ..."type":.{."type":."string",."
f4f20 65 6e 75 6d 22 3a 20 5b 22 70 61 74 68 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 enum":.["path"].},..............
f4f40 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a ..."url":.{."type":."string".},.
f4f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 ................"options":.{....
f4f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
f4fa0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 ",....................."properti
f4fc0 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 es":.{........................."
f4fe0 73 79 6d 6c 69 6e 6b 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 5b 22 62 6f 6f 6c 65 61 6e 22 2c 20 symlink":.{."type":.["boolean",.
f5000 22 6e 75 6c 6c 22 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c "null"].}.....................},
f5020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c ....................."additional
f5040 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Properties":.true...............
f5060 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ..}.............}.........},....
f5080 20 20 20 20 20 22 61 72 74 69 66 61 63 74 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 ....."artifact-repository":.{...
f50a0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
f50c0 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 ........"required":.["type",."ur
f50e0 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b l"],............."properties":.{
f5100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 ................."type":.{."type
f5120 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 61 72 74 69 66 61 63 74 22 ":."string",."enum":.["artifact"
f5140 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 ].},................."url":.{."t
f5160 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ype":."string".}.............}..
f5180 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 65 61 72 2d 72 65 70 6f 73 69 74 6f .......},........."pear-reposito
f51a0 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 ry":.{............."type":."obje
f51c0 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 ct",............."required":.["t
f51e0 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 ype",."url"],............."prope
f5200 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 rties":.{................."type"
f5220 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 :.{."type":."string",."enum":.["
f5240 70 65 61 72 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a pear"].},................."url":
f5260 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 .{."type":."string".},..........
f5280 20 20 20 20 20 20 20 22 76 65 6e 64 6f 72 2d 61 6c 69 61 73 22 3a 20 7b 20 22 74 79 70 65 22 3a ......."vendor-alias":.{."type":
f52a0 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ."string".}.............}.......
f52c0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d 72 65 70 6f 73 69 74 6f 72 79 ..},........."package-repository
f52e0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ":.{............."type":."object
f5300 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 ",............."required":.["typ
f5320 65 22 2c 20 22 70 61 63 6b 61 67 65 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f e",."package"],............."pro
f5340 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 perties":.{................."typ
f5360 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 e":.{."type":."string",."enum":.
f5380 5b 22 70 61 63 6b 61 67 65 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ["package"].},................."
f53a0 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 package":.{.....................
f53c0 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "oneOf":.[......................
f53e0 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 69 6e 6c 69 ...{."$ref":."#/definitions/inli
f5400 6e 65 2d 70 61 63 6b 61 67 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne-package".},..................
f5420 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......{........................
f5440 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ....."type":."array",...........
f5460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 20 22 24 72 .................."items":.{."$r
f5480 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 ef":."#/definitions/inline-packa
f54a0 67 65 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ge".}.........................}.
f54c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 ....................]...........
f54e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c ......}.............}.........},
f5500 0a 20 20 20 20 20 20 20 20 22 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 ........."inline-package":.{....
f5520 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 ........."type":."object",......
f5540 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 6e 61 6d 65 22 2c 20 22 76 65 72 ......."required":.["name",."ver
f5560 73 69 6f 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 sion"],............."properties"
f5580 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 :.{................."name":.{...
f55a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
f55c0 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 g",....................."descrip
f55e0 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 tion":."Package.name,.including.
f5600 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 65 66 69 78 2e 22 0a 20 20 20 20 20 20 20 20 'vendor-name/'.prefix.".........
f5620 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ........},................."type
f5640 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f5660 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ."string".................},....
f5680 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 72 67 65 74 2d 64 69 72 22 3a 20 7b 0a 20 20 20 ............."target-dir":.{....
f56a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ................."description":.
f56c0 22 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 "DEPRECATED:.Forces.the.package.
f56e0 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 20 67 69 76 65 6e 20 73 to.be.installed.into.the.given.s
f5700 75 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 66 ubdirectory.path..This.is.used.f
f5720 6f 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 20 70 61 63 6b 61 67 65 73 20 74 68 or.autoloading.PSR-0.packages.th
f5740 61 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 69 72 20 66 75 6c 6c 20 70 61 74 at.do.not.contain.their.full.pat
f5760 68 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 73 20 66 6f 72 20 63 72 6f 73 73 h..Use.forward.slashes.for.cross
f5780 2d 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 22 2c 0a 20 20 20 20 20 -platform.compatibility.",......
f57a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a ..............."type":."string".
f57c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f57e0 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."description":.{.............
f5800 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 ........"type":."string"........
f5820 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6b 65 79 .........},................."key
f5840 77 6f 72 64 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 words":.{....................."t
f5860 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."array",..................
f5880 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."items":.{...................
f58a0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
f58c0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
f58e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 6f 6d 65 70 61 67 65 22 3a 20 7b 0a 20 20 ................"homepage":.{...
f5900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
f5920 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 g",....................."format"
f5940 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 :."uri".................},......
f5960 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ..........."version":.{.........
f5980 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
f59a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f59c0 22 74 69 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 "time":.{....................."t
f59e0 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ype":."string".................}
f5a00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 69 63 65 6e 73 65 22 3a 20 7b 0a 20 ,................."license":.{..
f5a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 0a 20 20 20 ..................."type":.[....
f5a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 74 72 69 6e 67 22 2c 0a 20 ....................."string",..
f5a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 72 61 79 22 0a 20 ......................."array"..
f5a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................]............
f5aa0 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 68 6f 72 73 .....},................."authors
f5ac0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 66 22 3a ":.{....................."$ref":
f5ae0 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 73 22 0a 20 20 20 20 20 20 20 ."#/definitions/authors"........
f5b00 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 .........},................."req
f5b20 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 uire":.{....................."ty
f5b40 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."object",..................
f5b60 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 ..."additionalProperties":.{....
f5b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
f5ba0 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ring".....................}.....
f5bc0 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
f5be0 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 replace":.{.....................
f5c00 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."object",...............
f5c20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a ......"additionalProperties":.{.
f5c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 ........................"type":.
f5c60 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 "string".....................}..
f5c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f5ca0 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."conflict":.{.................
f5cc0 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."object",...........
f5ce0 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
f5d00 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 :.{........................."typ
f5d20 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."string"....................
f5d40 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .}.................},...........
f5d60 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"provide":.{..............
f5d80 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
f5da0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 ............."additionalProperti
f5dc0 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 es":.{........................."
f5de0 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."string".................
f5e00 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ....}.................},........
f5e20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 ........."require-dev":.{.......
f5e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a .............."type":."object",.
f5e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 ...................."additionalP
f5e80 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roperties":.{...................
f5ea0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
f5ec0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
f5ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 75 67 67 65 73 74 22 3a 20 7b 0a 20 20 20 ................"suggest":.{....
f5f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
f5f20 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e ",....................."addition
f5f40 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alProperties":.{................
f5f60 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 ........."type":."string".......
f5f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
f5fa0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 74 72 61 22 3a 20 7b 0a 20 20 },................."extra":.{...
f5fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 .................."type":.["obje
f5fe0 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct",."array"],..................
f6000 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a ..."additionalProperties":.true.
f6020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f6040 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."autoload":.{................
f6060 20 20 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 6f ....."$ref":."#/definitions/auto
f6080 6c 6f 61 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 load".................},........
f60a0 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........."archive":.{...........
f60c0 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 .........."type":.["object"],...
f60e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 .................."properties":.
f6100 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 63 6c 75 {........................."exclu
f6120 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 de":.{..........................
f6140 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."array"..............
f6160 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........}....................
f6180 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .}.................},...........
f61a0 20 20 20 20 20 20 22 62 69 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"bin":.{..................
f61c0 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a ..."type":.["string",."array"],.
f61e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f6200 22 3a 20 22 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 73 69 6e 67 6c 65 20 ":."A.set.of.files,.or.a.single.
f6220 66 69 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 file,.that.should.be.treated.as.
f6240 62 69 6e 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e 6b 65 64 20 69 6e 74 6f 20 62 69 6e 2d binaries.and.symlinked.into.bin-
f6260 64 69 72 20 28 66 72 6f 6d 20 63 6f 6e 66 69 67 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 dir.(from.config).",............
f6280 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."items":.{.............
f62a0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
f62c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
f62e0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 63 6c 75 64 65 2d 70 ...},................."include-p
f6300 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ath":.{....................."typ
f6320 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":.["array"],..................
f6340 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 41 ..."description":."DEPRECATED:.A
f6360 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 69 63 68 20 73 68 6f 75 6c .list.of.directories.which.shoul
f6380 64 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 50 48 50 27 73 20 69 6e 63 6c 75 64 65 20 70 61 74 d.get.added.to.PHP's.include.pat
f63a0 68 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 74 6f 20 73 75 70 70 6f h..This.is.only.present.to.suppo
f63c0 72 74 20 6c 65 67 61 63 79 20 70 72 6f 6a 65 63 74 73 2c 20 61 6e 64 20 61 6c 6c 20 6e 65 77 20 rt.legacy.projects,.and.all.new.
f63e0 63 6f 64 65 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 61 62 6c 79 20 75 73 65 20 61 75 74 6f 6c code.should.preferably.use.autol
f6400 6f 61 64 69 6e 67 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 oading.",....................."i
f6420 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tems":.{........................
f6440 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string"...............
f6460 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ......}.................},......
f6480 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ..........."source":.{..........
f64a0 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 ..........."type":."object",....
f64c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 ................."required":.["t
f64e0 79 70 65 22 2c 20 22 75 72 6c 22 2c 20 22 72 65 66 65 72 65 6e 63 65 22 5d 2c 0a 20 20 20 20 20 ype",."url",."reference"],......
f6500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 ..............."properties":.{..
f6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b ......................."type":.{
f6540 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ............................."ty
f6560 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string"...................
f6580 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......},........................
f65a0 20 22 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."url":.{.......................
f65c0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
f65e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f6600 20 20 20 20 20 20 20 20 20 20 22 72 65 66 65 72 65 6e 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 .........."reference":.{........
f6620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
f6640 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ring".........................},
f6660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 72 72 6f 72 ........................."mirror
f6680 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s":.{...........................
f66a0 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."array"...............
f66c0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.....................
f66e0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 }.................},............
f6700 20 20 20 20 20 22 64 69 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."dist":.{..................
f6720 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
f6740 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 ........."required":.["type",."u
f6760 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 rl"],....................."prope
f6780 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
f67a0 20 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":.{.....................
f67c0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 ........"type":."string"........
f67e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
f6800 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............"url":.{............
f6820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ................."type":."string
f6840 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ".........................},....
f6860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 66 65 72 65 6e 63 65 22 ....................."reference"
f6880 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :.{.............................
f68a0 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."string"................
f68c0 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........},.....................
f68e0 20 20 20 20 22 73 68 61 73 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."shasum":.{.................
f6900 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
f6920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 .....................},.........
f6940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 72 72 6f 72 73 22 3a 20 7b 0a 20 20 20 ................"mirrors":.{....
f6960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ........................."type":
f6980 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."array"........................
f69a0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .}.....................}........
f69c0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .........}.............},.......
f69e0 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 ......"additionalProperties":.tr
f6a00 75 65 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 7b 0a 20 20 20 20 22 33 38 39 2d ue.........}.....}.}.{....."389-
f6a20 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 33 38 39 20 44 69 72 65 63 exception":.[........."389.Direc
f6a40 74 6f 72 79 20 53 65 72 76 65 72 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 tory.Server.Exception".....],...
f6a60 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 .."Autoconf-exception-2.0":.[...
f6a80 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 ......"Autoconf.exception.2.0"..
f6aa0 20 20 20 5d 2c 0a 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 2d 33 2e ...],....."Autoconf-exception-3.
f6ac0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 0":.[........."Autoconf.exceptio
f6ae0 6e 20 33 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 69 73 6f 6e 2d 65 78 63 65 70 74 69 n.3.0".....],....."Bison-excepti
f6b00 6f 6e 2d 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 73 6f 6e 20 65 78 63 65 70 74 on-2.2":.[........."Bison.except
f6b20 69 6f 6e 20 32 2e 32 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 6f 6f 74 6c 6f 61 64 65 72 2d ion.2.2".....],....."Bootloader-
f6b40 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 6f 74 6c 6f 61 64 65 exception":.[........."Bootloade
f6b60 72 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c r.Distribution.Exception".....],
f6b80 0a 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 ....."Classpath-exception-2.0":.
f6ba0 5b 0a 20 20 20 20 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 20 65 78 63 65 70 74 69 6f 6e 20 32 [........."Classpath.exception.2
f6bc0 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4c 49 53 50 2d 65 78 63 65 70 74 69 6f 6e 2d .0".....],....."CLISP-exception-
f6be0 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4c 49 53 50 20 65 78 63 65 70 74 69 6f 6e 2.0":.[........."CLISP.exception
f6c00 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 69 67 69 52 75 6c 65 2d 46 4f 53 53 2d .2.0".....],....."DigiRule-FOSS-
f6c20 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 69 67 69 52 75 6c 65 20 exception":.[........."DigiRule.
f6c40 46 4f 53 53 20 4c 69 63 65 6e 73 65 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 FOSS.License.Exception".....],..
f6c60 20 20 20 22 65 43 6f 73 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 ..."eCos-exception-2.0":.[......
f6c80 20 20 20 22 65 43 6f 73 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 ..."eCos.exception.2.0".....],..
f6ca0 20 20 20 22 46 61 77 6b 65 73 2d 52 75 6e 74 69 6d 65 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b ..."Fawkes-Runtime-exception":.[
f6cc0 0a 20 20 20 20 20 20 20 20 22 46 61 77 6b 65 73 20 52 75 6e 74 69 6d 65 20 45 78 63 65 70 74 69 ........."Fawkes.Runtime.Excepti
f6ce0 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 4c 54 4b 2d 65 78 63 65 70 74 69 6f 6e 22 3a on".....],....."FLTK-exception":
f6d00 20 5b 0a 20 20 20 20 20 20 20 20 22 46 4c 54 4b 20 65 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 .[........."FLTK.exception".....
f6d20 5d 2c 0a 20 20 20 20 22 46 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 ],....."Font-exception-2.0":.[..
f6d40 20 20 20 20 20 20 20 22 46 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 ......."Font.exception.2.0".....
f6d60 5d 2c 0a 20 20 20 20 22 66 72 65 65 72 74 6f 73 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a ],....."freertos-exception-2.0":
f6d80 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 52 54 4f 53 20 45 78 63 65 70 74 69 6f 6e 20 32 .[........."FreeRTOS.Exception.2
f6da0 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e .0".....],....."GCC-exception-2.
f6dc0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 0":.[........."GCC.Runtime.Libra
f6de0 72 79 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 43 ry.exception.2.0".....],....."GC
f6e00 43 2d 65 78 63 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 43 43 C-exception-3.1":.[........."GCC
f6e20 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 20 33 2e 31 22 0a .Runtime.Library.exception.3.1".
f6e40 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 6e 75 2d 6a 61 76 61 6d 61 69 6c 2d 65 78 63 65 70 74 69 ....],....."gnu-javamail-excepti
f6e60 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4a 61 76 61 4d 61 69 6c 20 65 78 63 on":.[........."GNU.JavaMail.exc
f6e80 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 69 32 70 2d 67 70 6c 2d 6a 61 76 61 eption".....],....."i2p-gpl-java
f6ea0 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 32 70 20 47 50 4c 2b -exception":.[........."i2p.GPL+
f6ec0 4a 61 76 61 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 62 74 Java.Exception".....],....."Libt
f6ee0 6f 6f 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 62 74 6f ool-exception":.[........."Libto
f6f00 6f 6c 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 6e 75 78 2d ol.Exception".....],....."Linux-
f6f20 73 79 73 63 61 6c 6c 2d 6e 6f 74 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 6e 75 78 20 syscall-note":.[........."Linux.
f6f40 53 79 73 63 61 6c 6c 20 4e 6f 74 65 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 4c 56 4d 2d 65 Syscall.Note".....],....."LLVM-e
f6f60 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 4c 56 4d 20 45 78 63 65 70 xception":.[........."LLVM.Excep
f6f80 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 5a 4d 41 2d 65 78 63 65 70 74 69 6f 6e tion".....],....."LZMA-exception
f6fa0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 5a 4d 41 20 65 78 63 65 70 74 69 6f 6e 22 0a 20 20 ":.[........."LZMA.exception"...
f6fc0 20 20 5d 2c 0a 20 20 20 20 22 6d 69 66 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 ..],....."mif-exception":.[.....
f6fe0 20 20 20 20 22 4d 61 63 72 6f 73 20 61 6e 64 20 49 6e 6c 69 6e 65 20 46 75 6e 63 74 69 6f 6e 73 ...."Macros.and.Inline.Functions
f7000 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 6b 69 61 2d 51 74 .Exception".....],....."Nokia-Qt
f7020 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 6b 69 -exception-1.1":.[........."Noki
f7040 61 20 51 74 20 4c 47 50 4c 20 65 78 63 65 70 74 69 6f 6e 20 31 2e 31 22 0a 20 20 20 20 5d 2c 0a a.Qt.LGPL.exception.1.1".....],.
f7060 20 20 20 20 22 4f 43 43 54 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 ...."OCCT-exception-1.0":.[.....
f7080 20 20 20 20 22 4f 70 65 6e 20 43 41 53 43 41 44 45 20 45 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 ...."Open.CASCADE.Exception.1.0"
f70a0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 4a 44 4b 2d 61 73 73 65 6d 62 6c 79 2d 65 78 .....],....."OpenJDK-assembly-ex
f70c0 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 4a 44 4b ception-1.0":.[........."OpenJDK
f70e0 20 41 73 73 65 6d 62 6c 79 20 65 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a .Assembly.exception.1.0".....],.
f7100 20 20 20 20 22 6f 70 65 6e 76 70 6e 2d 6f 70 65 6e 73 73 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a ...."openvpn-openssl-exception":
f7120 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 56 50 4e 20 4f 70 65 6e 53 53 4c 20 45 78 63 65 .[........."OpenVPN.OpenSSL.Exce
f7140 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 77 74 2d 65 78 63 65 70 74 69 6f 6e ption".....],....."Qwt-exception
f7160 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 77 74 20 65 78 63 65 70 74 69 6f 6e 20 -1.0":.[........."Qwt.exception.
f7180 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 75 2d 62 6f 6f 74 2d 65 78 63 65 70 74 69 6f 1.0".....],....."u-boot-exceptio
f71a0 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 2d 42 6f 6f 74 20 65 78 63 65 70 74 n-2.0":.[........."U-Boot.except
f71c0 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 78 57 69 6e 64 6f 77 73 2d 65 ion.2.0".....],....."WxWindows-e
f71e0 78 63 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 78 57 69 6e 64 xception-3.1":.[........."WxWind
f7200 6f 77 73 20 4c 69 62 72 61 72 79 20 45 78 63 65 70 74 69 6f 6e 20 33 2e 31 22 0a 20 20 20 20 5d ows.Library.Exception.3.1".....]
f7220 0a 7d 7b 0a 20 20 20 20 22 30 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 5a .}{....."0BSD":.[........."BSD.Z
f7240 65 72 6f 20 43 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ero.Clause.License",.........fal
f7260 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 41 se,.........false.....],....."AA
f7280 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 74 74 72 69 62 75 74 69 6f 6e 20 41 73 73 75 72 L":.[........."Attribution.Assur
f72a0 61 6e 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 ance.License",.........true,....
f72c0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 62 73 74 79 6c 65 73 22 .....false.....],....."Abstyles"
f72e0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 62 73 74 79 6c 65 73 20 4c 69 63 65 6e 73 65 22 2c 0a :.[........."Abstyles.License",.
f7300 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
f7320 20 5d 2c 0a 20 20 20 20 22 41 64 6f 62 65 2d 32 30 30 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 .],....."Adobe-2006":.[.........
f7340 22 41 64 6f 62 65 20 53 79 73 74 65 6d 73 20 49 6e 63 6f 72 70 6f 72 61 74 65 64 20 53 6f 75 72 "Adobe.Systems.Incorporated.Sour
f7360 63 65 20 43 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 ce.Code.License.Agreement",.....
f7380 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
f73a0 20 20 20 20 22 41 64 6f 62 65 2d 47 6c 79 70 68 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 ...."Adobe-Glyph":.[........."Ad
f73c0 6f 62 65 20 47 6c 79 70 68 20 4c 69 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 obe.Glyph.List.License",........
f73e0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
f7400 20 22 41 44 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 6d 61 7a 6f 6e 20 44 69 67 69 74 ."ADSL":.[........."Amazon.Digit
f7420 61 6c 20 53 65 72 76 69 63 65 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 al.Services.License",.........fa
f7440 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 lse,.........false.....],....."A
f7460 46 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 FL-1.1":.[........."Academic.Fre
f7480 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 e.License.v1.1",.........true,..
f74a0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 31 2e 32 .......false.....],....."AFL-1.2
f74c0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 ":.[........."Academic.Free.Lice
f74e0 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 nse.v1.2",.........true,........
f7500 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 30 22 3a 20 5b 0a 20 .false.....],....."AFL-2.0":.[..
f7520 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 32 ......."Academic.Free.License.v2
f7540 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
f7560 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."AFL-2.1":.[........
f7580 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 22 2c 0a 20 ."Academic.Free.License.v2.1",..
f75a0 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
f75c0 2c 0a 20 20 20 20 22 41 46 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 ,....."AFL-3.0":.[........."Acad
f75e0 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 emic.Free.License.v3.0",........
f7600 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
f7620 22 41 66 6d 70 61 72 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 6d 70 61 72 73 65 20 "Afmparse":.[........."Afmparse.
f7640 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
f7660 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e 30 22 3a 20 5b 0a .false.....],....."AGPL-1.0":.[.
f7680 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c ........"Affero.General.Public.L
f76a0 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.0",.........false,....
f76c0 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e 30 2d 6f .....true.....],....."AGPL-1.0-o
f76e0 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 nly":.[........."Affero.General.
f7700 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 Public.License.v1.0.only",......
f7720 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
f7740 20 20 20 22 41 47 50 4c 2d 31 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 ..."AGPL-1.0-or-later":.[.......
f7760 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 .."Affero.General.Public.License
f7780 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a .v1.0.or.later",.........false,.
f77a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 33 ........false.....],....."AGPL-3
f77c0 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 .0":.[........."GNU.Affero.Gener
f77e0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 al.Public.License.v3.0",........
f7800 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 .true,.........true.....],....."
f7820 41 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 AGPL-3.0-only":.[........."GNU.A
f7840 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e ffero.General.Public.License.v3.
f7860 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 0.only",.........true,.........f
f7880 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 alse.....],....."AGPL-3.0-or-lat
f78a0 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 er":.[........."GNU.Affero.Gener
f78c0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 al.Public.License.v3.0.or.later"
f78e0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
f7900 20 20 5d 2c 0a 20 20 20 20 22 41 6c 61 64 64 69 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 ..],....."Aladdin":.[........."A
f7920 6c 61 64 64 69 6e 20 46 72 65 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 laddin.Free.Public.License",....
f7940 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
f7960 0a 20 20 20 20 22 41 4d 44 50 4c 50 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 4d 44 27 73 ....."AMDPLPA":.[........."AMD's
f7980 20 70 6c 70 61 5f 6d 61 70 2e 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .plpa_map.c.License",.........fa
f79a0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 lse,.........false.....],....."A
f79c0 4d 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 4d 49 54 20 4c 69 63 65 6e 73 ML":.[........."Apple.MIT.Licens
f79e0 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
f7a00 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4d 50 41 53 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."AMPAS":.[........."
f7a20 41 63 61 64 65 6d 79 20 6f 66 20 4d 6f 74 69 6f 6e 20 50 69 63 74 75 72 65 20 41 72 74 73 20 61 Academy.of.Motion.Picture.Arts.a
f7a40 6e 64 20 53 63 69 65 6e 63 65 73 20 42 53 44 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c nd.Sciences.BSD",.........false,
f7a60 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4e 54 4c 52 .........false.....],....."ANTLR
f7a80 2d 50 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 4e 54 4c 52 20 53 6f 66 74 77 61 72 65 20 -PD":.[........."ANTLR.Software.
f7aa0 52 69 67 68 74 73 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Rights.Notice",.........false,..
f7ac0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d .......false.....],....."Apache-
f7ae0 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 1.0":.[........."Apache.License.
f7b00 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 1.0",.........false,.........fal
f7b20 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d 31 2e 31 22 3a 20 5b 0a 20 20 se.....],....."Apache-1.1":.[...
f7b40 20 20 20 20 20 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 ......"Apache.License.1.1",.....
f7b60 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
f7b80 20 20 20 22 41 70 61 63 68 65 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 ..."Apache-2.0":.[........."Apac
f7ba0 68 65 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 he.License.2.0",.........true,..
f7bc0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 41 46 4d 4c 22 .......false.....],....."APAFML"
f7be0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 6f 62 65 20 50 6f 73 74 73 63 72 69 70 74 20 41 46 :.[........."Adobe.Postscript.AF
f7c00 4d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 M.License",.........false,......
f7c20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 4c 2d 31 2e 30 22 3a 20 5b ...false.....],....."APL-1.0":.[
f7c40 0a 20 20 20 20 20 20 20 20 22 41 64 61 70 74 69 76 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 ........."Adaptive.Public.Licens
f7c60 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.0",.........true,.........fa
f7c80 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 lse.....],....."APSL-1.0":.[....
f7ca0 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 ....."Apple.Public.Source.Licens
f7cc0 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.0",.........true,.........fa
f7ce0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 lse.....],....."APSL-1.1":.[....
f7d00 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 ....."Apple.Public.Source.Licens
f7d20 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.1",.........true,.........fa
f7d40 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 lse.....],....."APSL-1.2":.[....
f7d60 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 ....."Apple.Public.Source.Licens
f7d80 65 20 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.2",.........true,.........fa
f7da0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 lse.....],....."APSL-2.0":.[....
f7dc0 20 20 20 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 ....."Apple.Public.Source.Licens
f7de0 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.2.0",.........true,.........fa
f7e00 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 22 3a 20 5b lse.....],....."Artistic-1.0":.[
f7e20 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c ........."Artistic.License.1.0",
f7e40 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
f7e60 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 2d 63 6c 38 22 3a 20 5b 0a 20 20 .],....."Artistic-1.0-cl8":.[...
f7e80 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 20 77 2f 63 6c ......"Artistic.License.1.0.w/cl
f7ea0 61 75 73 65 20 38 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 ause.8",.........true,.........f
f7ec0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 2d 50 65 alse.....],....."Artistic-1.0-Pe
f7ee0 72 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 rl":.[........."Artistic.License
f7f00 20 31 2e 30 20 28 50 65 72 6c 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 .1.0.(Perl)",.........true,.....
f7f20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 32 ....false.....],....."Artistic-2
f7f40 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 .0":.[........."Artistic.License
f7f60 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .2.0",.........true,.........fal
f7f80 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 61 68 79 70 68 22 3a 20 5b 0a 20 20 20 20 20 20 se.....],....."Bahyph":.[.......
f7fa0 20 20 22 42 61 68 79 70 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 .."Bahyph.License",.........fals
f7fc0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 61 72 e,.........false.....],....."Bar
f7fe0 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 61 72 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 r":.[........."Barr.License",...
f8000 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
f8020 2c 0a 20 20 20 20 22 42 65 65 72 77 61 72 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 65 65 ,....."Beerware":.[........."Bee
f8040 72 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 rware.License",.........false,..
f8060 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 69 74 54 6f 72 72 .......false.....],....."BitTorr
f8080 65 6e 74 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 20 ent-1.0":.[........."BitTorrent.
f80a0 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 Open.Source.License.v1.0",......
f80c0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
f80e0 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ..."BitTorrent-1.1":.[........."
f8100 42 69 74 54 6f 72 72 65 6e 74 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 BitTorrent.Open.Source.License.v
f8120 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 1.1",.........false,.........fal
f8140 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 6f 72 63 65 75 78 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."Borceux":.[......
f8160 20 20 20 22 42 6f 72 63 65 75 78 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ..."Borceux.license",.........fa
f8180 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 lse,.........false.....],....."B
f81a0 53 44 2d 31 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 31 2d 43 SD-1-Clause":.[........."BSD.1-C
f81c0 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 lause.License",.........false,..
f81e0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 .......false.....],....."BSD-2-C
f8200 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 lause":.[........."BSD.2-Clause.
f8220 5c 22 53 69 6d 70 6c 69 66 69 65 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 \"Simplified\".License",........
f8240 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
f8260 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 46 72 65 65 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 "BSD-2-Clause-FreeBSD":.[.......
f8280 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 46 72 65 65 42 53 44 20 4c 69 63 65 6e 73 65 22 .."BSD.2-Clause.FreeBSD.License"
f82a0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
f82c0 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 4e 65 74 42 53 44 22 3a ...],....."BSD-2-Clause-NetBSD":
f82e0 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 4e 65 74 42 53 44 20 .[........."BSD.2-Clause.NetBSD.
f8300 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
f8320 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d .false.....],....."BSD-2-Clause-
f8340 50 61 74 65 6e 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 Patent":.[........."BSD-2-Clause
f8360 20 50 6c 75 73 20 50 61 74 65 6e 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 .Plus.Patent.License",.........t
f8380 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 rue,.........false.....],....."B
f83a0 53 44 2d 33 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 SD-3-Clause":.[........."BSD.3-C
f83c0 6c 61 75 73 65 20 5c 22 4e 65 77 5c 22 20 6f 72 20 5c 22 52 65 76 69 73 65 64 5c 22 20 4c 69 63 lause.\"New\".or.\"Revised\".Lic
f83e0 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ense",.........true,.........fal
f8400 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 41 74 74 72 se.....],....."BSD-3-Clause-Attr
f8420 69 62 75 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 77 69 74 68 20 61 74 ibution":.[........."BSD.with.at
f8440 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 tribution",.........false,......
f8460 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 ...false.....],....."BSD-3-Claus
f8480 65 2d 43 6c 65 61 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 e-Clear":.[........."BSD.3-Claus
f84a0 65 20 43 6c 65 61 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c e.Clear.License",.........false,
f84c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 .........false.....],....."BSD-3
f84e0 2d 43 6c 61 75 73 65 2d 4c 42 4e 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 77 72 65 6e -Clause-LBNL":.[........."Lawren
f8500 63 65 20 42 65 72 6b 65 6c 65 79 20 4e 61 74 69 6f 6e 61 6c 20 4c 61 62 73 20 42 53 44 20 76 61 ce.Berkeley.National.Labs.BSD.va
f8520 72 69 61 6e 74 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 riant.license",.........false,..
f8540 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 .......false.....],....."BSD-3-C
f8560 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 4c 69 63 65 6e 73 65 22 3a 20 5b 0a 20 20 20 lause-No-Nuclear-License":.[....
f8580 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 20 4c 69 ....."BSD.3-Clause.No.Nuclear.Li
f85a0 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
f85c0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4e 6f alse.....],....."BSD-3-Clause-No
f85e0 2d 4e 75 63 6c 65 61 72 2d 4c 69 63 65 6e 73 65 2d 32 30 31 34 22 3a 20 5b 0a 20 20 20 20 20 20 -Nuclear-License-2014":.[.......
f8600 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 20 4c 69 63 65 6e .."BSD.3-Clause.No.Nuclear.Licen
f8620 73 65 20 32 30 31 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 se.2014",.........false,........
f8640 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d .false.....],....."BSD-3-Clause-
f8660 4e 6f 2d 4e 75 63 6c 65 61 72 2d 57 61 72 72 61 6e 74 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 No-Nuclear-Warranty":.[.........
f8680 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 20 57 61 72 72 61 6e 74 "BSD.3-Clause.No.Nuclear.Warrant
f86a0 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 y",.........false,.........false
f86c0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 .....],....."BSD-4-Clause":.[...
f86e0 20 20 20 20 20 20 22 42 53 44 20 34 2d 43 6c 61 75 73 65 20 5c 22 4f 72 69 67 69 6e 61 6c 5c 22 ......"BSD.4-Clause.\"Original\"
f8700 20 6f 72 20 5c 22 4f 6c 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .or.\"Old\".License",.........fa
f8720 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 lse,.........false.....],....."B
f8740 53 44 2d 34 2d 43 6c 61 75 73 65 2d 55 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 2d SD-4-Clause-UC":.[........."BSD-
f8760 34 2d 43 6c 61 75 73 65 20 28 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 4-Clause.(University.of.Californ
f8780 69 61 2d 53 70 65 63 69 66 69 63 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 ia-Specific)",.........false,...
f87a0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 50 72 6f 74 ......false.....],....."BSD-Prot
f87c0 65 63 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 50 72 6f 74 65 63 74 69 ection":.[........."BSD.Protecti
f87e0 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 on.License",.........false,.....
f8800 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 53 6f 75 72 63 65 ....false.....],....."BSD-Source
f8820 2d 43 6f 64 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 53 6f 75 72 63 65 20 43 6f -Code":.[........."BSD.Source.Co
f8840 64 65 20 41 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a de.Attribution",.........false,.
f8860 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 4c 2d 31 2e ........false.....],....."BSL-1.
f8880 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 6f 73 74 20 53 6f 66 74 77 61 72 65 20 4c 69 0":.[........."Boost.Software.Li
f88a0 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.1.0",.........true,.......
f88c0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 7a 69 70 32 2d 31 2e 30 2e 35 22 ..false.....],....."bzip2-1.0.5"
f88e0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 6e 64 20 6c 69 62 62 7a 69 70 32 20 :.[........."bzip2.and.libbzip2.
f8900 4c 69 63 65 6e 73 65 20 76 31 2e 30 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a License.v1.0.5",.........false,.
f8920 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 7a 69 70 32 2d ........false.....],....."bzip2-
f8940 31 2e 30 2e 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 6e 64 20 6c 69 62 1.0.6":.[........."bzip2.and.lib
f8960 62 7a 69 70 32 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 2e 36 22 2c 0a 20 20 20 20 20 20 20 20 66 bzip2.License.v1.0.6",.........f
f8980 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
f89a0 43 61 6c 64 65 72 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 61 6c 64 65 72 61 20 4c 69 63 Caldera":.[........."Caldera.Lic
f89c0 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
f89e0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 41 54 4f 53 4c 2d 31 2e 31 22 3a 20 5b 0a 20 lse.....],....."CATOSL-1.1":.[..
f8a00 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 72 20 41 73 73 6f 63 69 61 74 65 73 20 54 72 75 73 ......."Computer.Associates.Trus
f8a20 74 65 64 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 ted.Open.Source.License.1.1",...
f8a40 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
f8a60 0a 20 20 20 20 22 43 43 2d 42 59 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 ....."CC-BY-1.0":.[........."Cre
f8a80 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 31 2e 30 20 47 65 ative.Commons.Attribution.1.0.Ge
f8aa0 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 neric",.........false,.........f
f8ac0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 32 2e 30 22 3a 20 5b 0a 20 alse.....],....."CC-BY-2.0":.[..
f8ae0 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 ......."Creative.Commons.Attribu
f8b00 74 69 6f 6e 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 tion.2.0.Generic",.........false
f8b20 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 ,.........false.....],....."CC-B
f8b40 59 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d Y-2.5":.[........."Creative.Comm
f8b60 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 ons.Attribution.2.5.Generic",...
f8b80 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
f8ba0 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 ,....."CC-BY-3.0":.[........."Cr
f8bc0 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 33 2e 30 20 55 eative.Commons.Attribution.3.0.U
f8be0 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 nported",.........false,........
f8c00 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 34 2e 30 22 3a 20 5b .false.....],....."CC-BY-4.0":.[
f8c20 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 ........."Creative.Commons.Attri
f8c40 62 75 74 69 6f 6e 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 bution.4.0.International",......
f8c60 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
f8c80 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 ..."CC-BY-NC-1.0":.[........."Cr
f8ca0 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 eative.Commons.Attribution.Non.C
f8cc0 6f 6d 6d 65 72 63 69 61 6c 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 ommercial.1.0.Generic",.........
f8ce0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
f8d00 22 43 43 2d 42 59 2d 4e 43 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 "CC-BY-NC-2.0":.[........."Creat
f8d20 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d ive.Commons.Attribution.Non.Comm
f8d40 65 72 63 69 61 6c 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ercial.2.0.Generic",.........fal
f8d60 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 se,.........false.....],....."CC
f8d80 2d 42 59 2d 4e 43 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 -BY-NC-2.5":.[........."Creative
f8da0 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 .Commons.Attribution.Non.Commerc
f8dc0 69 61 6c 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ial.2.5.Generic",.........false,
f8de0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 .........false.....],....."CC-BY
f8e00 2d 4e 43 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f -NC-3.0":.[........."Creative.Co
f8e20 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c mmons.Attribution.Non.Commercial
f8e40 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .3.0.Unported",.........false,..
f8e60 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e .......false.....],....."CC-BY-N
f8e80 43 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d C-4.0":.[........."Creative.Comm
f8ea0 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 34 ons.Attribution.Non.Commercial.4
f8ec0 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0.International",.........false
f8ee0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 ,.........false.....],....."CC-B
f8f00 59 2d 4e 43 2d 4e 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 Y-NC-ND-1.0":.[........."Creativ
f8f20 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 e.Commons.Attribution.Non.Commer
f8f40 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 20 47 65 6e 65 72 69 63 22 cial.No.Derivatives.1.0.Generic"
f8f60 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
f8f80 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 2e 30 22 3a 20 5b 0a 20 ...],....."CC-BY-NC-ND-2.0":.[..
f8fa0 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 ......."Creative.Commons.Attribu
f8fc0 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 tion.Non.Commercial.No.Derivativ
f8fe0 65 73 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a es.2.0.Generic",.........false,.
f9000 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d ........false.....],....."CC-BY-
f9020 4e 43 2d 4e 44 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 NC-ND-2.5":.[........."Creative.
f9040 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 Commons.Attribution.Non.Commerci
f9060 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a al.No.Derivatives.2.5.Generic",.
f9080 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
f90a0 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 .],....."CC-BY-NC-ND-3.0":.[....
f90c0 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 ....."Creative.Commons.Attributi
f90e0 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 on.Non.Commercial.No.Derivatives
f9100 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .3.0.Unported",.........false,..
f9120 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e .......false.....],....."CC-BY-N
f9140 43 2d 4e 44 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 C-ND-4.0":.[........."Creative.C
f9160 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 ommons.Attribution.Non.Commercia
f9180 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e l.No.Derivatives.4.0.Internation
f91a0 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 al",.........false,.........fals
f91c0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 31 2e 30 22 3a 20 e.....],....."CC-BY-NC-SA-1.0":.
f91e0 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 [........."Creative.Commons.Attr
f9200 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 ibution.Non.Commercial.Share.Ali
f9220 6b 65 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a ke.1.0.Generic",.........false,.
f9240 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d ........false.....],....."CC-BY-
f9260 4e 43 2d 53 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 NC-SA-2.0":.[........."Creative.
f9280 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 Commons.Attribution.Non.Commerci
f92a0 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 al.Share.Alike.2.0.Generic",....
f92c0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
f92e0 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 ....."CC-BY-NC-SA-2.5":.[.......
f9300 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 .."Creative.Commons.Attribution.
f9320 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 35 20 47 Non.Commercial.Share.Alike.2.5.G
f9340 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 eneric",.........false,.........
f9360 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 33 2e false.....],....."CC-BY-NC-SA-3.
f9380 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 0":.[........."Creative.Commons.
f93a0 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 Attribution.Non.Commercial.Share
f93c0 20 41 6c 69 6b 65 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .Alike.3.0.Unported",.........fa
f93e0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
f9400 43 2d 42 59 2d 4e 43 2d 53 41 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 C-BY-NC-SA-4.0":.[........."Crea
f9420 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d tive.Commons.Attribution.Non.Com
f9440 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 mercial.Share.Alike.4.0.Internat
f9460 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 ional",.........false,.........f
f9480 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 31 2e 30 22 3a 20 alse.....],....."CC-BY-ND-1.0":.
f94a0 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 [........."Creative.Commons.Attr
f94c0 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 20 47 65 6e 65 72 ibution.No.Derivatives.1.0.Gener
f94e0 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ic",.........false,.........fals
f9500 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 30 22 3a 20 5b 0a 20 e.....],....."CC-BY-ND-2.0":.[..
f9520 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 ......."Creative.Commons.Attribu
f9540 74 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 30 20 47 65 6e 65 72 69 63 22 tion.No.Derivatives.2.0.Generic"
f9560 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
f9580 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 ...],....."CC-BY-ND-2.5":.[.....
f95a0 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f ...."Creative.Commons.Attributio
f95c0 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 n.No.Derivatives.2.5.Generic",..
f95e0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
f9600 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 ],....."CC-BY-ND-3.0":.[........
f9620 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e ."Creative.Commons.Attribution.N
f9640 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 o.Derivatives.3.0.Unported",....
f9660 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
f9680 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....."CC-BY-ND-4.0":.[........."
f96a0 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 20 Creative.Commons.Attribution.No.
f96c0 44 65 72 69 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a Derivatives.4.0.International",.
f96e0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
f9700 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .],....."CC-BY-SA-1.0":.[.......
f9720 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 .."Creative.Commons.Attribution.
f9740 53 68 61 72 65 20 41 6c 69 6b 65 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 Share.Alike.1.0.Generic",.......
f9760 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
f9780 20 20 22 43 43 2d 42 59 2d 53 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 .."CC-BY-SA-2.0":.[........."Cre
f97a0 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 ative.Commons.Attribution.Share.
f97c0 41 6c 69 6b 65 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 Alike.2.0.Generic",.........fals
f97e0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d e,.........false.....],....."CC-
f9800 42 59 2d 53 41 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 BY-SA-2.5":.[........."Creative.
f9820 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 Commons.Attribution.Share.Alike.
f9840 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 2.5.Generic",.........false,....
f9860 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d .....false.....],....."CC-BY-SA-
f9880 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 3.0":.[........."Creative.Common
f98a0 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 33 2e 30 20 55 6e s.Attribution.Share.Alike.3.0.Un
f98c0 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 ported",.........false,.........
f98e0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 34 2e 30 22 3a false.....],....."CC-BY-SA-4.0":
f9900 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 .[........."Creative.Commons.Att
f9920 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 6e 74 65 72 6e 61 ribution.Share.Alike.4.0.Interna
f9940 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 tional",.........false,.........
f9960 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 30 2d 31 2e 30 22 3a 20 5b 0a 20 20 false.....],....."CC0-1.0":.[...
f9980 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 5a 65 72 6f 20 76 31 2e ......"Creative.Commons.Zero.v1.
f99a0 30 20 55 6e 69 76 65 72 73 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 0.Universal",.........false,....
f99c0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 44 4c 2d 31 2e 30 22 .....false.....],....."CDDL-1.0"
f99e0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 :.[........."Common.Development.
f9a00 61 6e 64 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 and.Distribution.License.1.0",..
f9a20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
f9a40 2c 0a 20 20 20 20 22 43 44 44 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d ,....."CDDL-1.1":.[........."Com
f9a60 6d 6f 6e 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 44 69 73 74 72 69 62 75 74 69 6f 6e mon.Development.and.Distribution
f9a80 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 .License.1.1",.........false,...
f9aa0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 4c 41 2d 50 65 72 ......false.....],....."CDLA-Per
f9ac0 6d 69 73 73 69 76 65 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 75 6e 69 missive-1.0":.[........."Communi
f9ae0 74 79 20 44 61 74 61 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 50 65 72 6d 69 73 ty.Data.License.Agreement.Permis
f9b00 73 69 76 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 sive.1.0",.........false,.......
f9b20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 4c 41 2d 53 68 61 72 69 6e 67 ..false.....],....."CDLA-Sharing
f9b40 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 75 6e 69 74 79 20 44 61 74 61 -1.0":.[........."Community.Data
f9b60 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 53 68 61 72 69 6e 67 20 31 2e 30 22 2c .License.Agreement.Sharing.1.0",
f9b80 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
f9ba0 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 ..],....."CECILL-1.0":.[........
f9bc0 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 ."CeCILL.Free.Software.License.A
f9be0 67 72 65 65 6d 65 6e 74 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 greement.v1.0",.........false,..
f9c00 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d .......false.....],....."CECILL-
f9c20 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 1.1":.[........."CeCILL.Free.Sof
f9c40 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 31 2e 31 22 2c 0a 20 tware.License.Agreement.v1.1",..
f9c60 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
f9c80 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ],....."CECILL-2.0":.[........."
f9ca0 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 CeCILL.Free.Software.License.Agr
f9cc0 65 65 6d 65 6e 74 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 eement.v2.0",.........false,....
f9ce0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 32 2e .....false.....],....."CECILL-2.
f9d00 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 1":.[........."CeCILL.Free.Softw
f9d20 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 32 2e 31 22 2c 0a 20 20 20 are.License.Agreement.v2.1",....
f9d40 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
f9d60 20 20 20 20 22 43 45 43 49 4c 4c 2d 42 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c ...."CECILL-B":.[........."CeCIL
f9d80 4c 2d 42 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d L-B.Free.Software.License.Agreem
f9da0 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ent",.........false,.........fal
f9dc0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 43 22 3a 20 5b 0a 20 20 20 20 se.....],....."CECILL-C":.[.....
f9de0 20 20 20 20 22 43 65 43 49 4c 4c 2d 43 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 ...."CeCILL-C.Free.Software.Lice
f9e00 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 nse.Agreement",.........false,..
f9e20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6c 41 72 74 69 73 .......false.....],....."ClArtis
f9e40 74 69 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6c 61 72 69 66 69 65 64 20 41 72 74 69 73 tic":.[........."Clarified.Artis
f9e60 74 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 tic.License",.........false,....
f9e80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 4a 79 74 68 .....false.....],....."CNRI-Jyth
f9ea0 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 4a 79 74 68 6f 6e 20 4c 69 63 65 on":.[........."CNRI.Jython.Lice
f9ec0 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
f9ee0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f 6e 22 3a 20 5b 0a 20 se.....],....."CNRI-Python":.[..
f9f00 20 20 20 20 20 20 20 22 43 4e 52 49 20 50 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 ......."CNRI.Python.License",...
f9f20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
f9f40 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f 6e 2d 47 50 4c 2d 43 6f 6d 70 61 74 69 62 6c 65 ....."CNRI-Python-GPL-Compatible
f9f60 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 50 79 74 68 6f 6e 20 4f 70 65 6e 20 53 ":.[........."CNRI.Python.Open.S
f9f80 6f 75 72 63 65 20 47 50 4c 20 43 6f 6d 70 61 74 69 62 6c 65 20 4c 69 63 65 6e 73 65 20 41 67 72 ource.GPL.Compatible.License.Agr
f9fa0 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 eement",.........false,.........
f9fc0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6f 6e 64 6f 72 2d 31 2e 31 22 3a 20 5b false.....],....."Condor-1.1":.[
f9fe0 0a 20 20 20 20 20 20 20 20 22 43 6f 6e 64 6f 72 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 ........."Condor.Public.License.
fa000 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 v1.1",.........false,.........fa
fa020 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 41 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 lse.....],....."CPAL-1.0":.[....
fa040 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 50 75 62 6c 69 63 20 41 74 74 72 69 62 75 74 69 6f 6e 20 ....."Common.Public.Attribution.
fa060 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.0",.........true,.....
fa080 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 4c 2d 31 2e 30 22 3a 20 ....false.....],....."CPL-1.0":.
fa0a0 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 [........."Common.Public.License
fa0c0 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .1.0",.........true,.........fal
fa0e0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 4f 4c 2d 31 2e 30 32 22 3a 20 5b 0a 20 20 20 se.....],....."CPOL-1.02":.[....
fa100 20 20 20 20 20 22 43 6f 64 65 20 50 72 6f 6a 65 63 74 20 4f 70 65 6e 20 4c 69 63 65 6e 73 65 20 ....."Code.Project.Open.License.
fa120 31 2e 30 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 1.02",.........false,.........fa
fa140 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 72 6f 73 73 77 6f 72 64 22 3a 20 5b 0a 20 20 lse.....],....."Crossword":.[...
fa160 20 20 20 20 20 20 22 43 72 6f 73 73 77 6f 72 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ......"Crossword.License",......
fa180 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
fa1a0 20 20 20 22 43 72 79 73 74 61 6c 53 74 61 63 6b 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ..."CrystalStacker":.[........."
fa1c0 43 72 79 73 74 61 6c 53 74 61 63 6b 65 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 CrystalStacker.License",........
fa1e0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fa200 20 22 43 55 41 2d 4f 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 55 41 20 4f ."CUA-OPL-1.0":.[........."CUA.O
fa220 66 66 69 63 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 ffice.Public.License.v1.0",.....
fa240 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
fa260 20 20 20 22 43 75 62 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 75 62 65 20 4c 69 63 65 6e ..."Cube":.[........."Cube.Licen
fa280 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se",.........false,.........fals
fa2a0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 63 75 72 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 e.....],....."curl":.[........."
fa2c0 63 75 72 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 curl.License",.........false,...
fa2e0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 2d 46 53 4c 2d 31 2e ......false.....],....."D-FSL-1.
fa300 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 65 75 74 73 63 68 65 20 46 72 65 69 65 20 53 6f 0":.[........."Deutsche.Freie.So
fa320 66 74 77 61 72 65 20 4c 69 7a 65 6e 7a 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 ftware.Lizenz",.........false,..
fa340 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 64 69 66 66 6d 61 72 .......false.....],....."diffmar
fa360 6b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 69 66 66 6d 61 72 6b 20 6c 69 63 65 6e 73 65 22 k":.[........."diffmark.license"
fa380 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
fa3a0 20 20 20 5d 2c 0a 20 20 20 20 22 44 4f 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 4f 43 20 ...],....."DOC":.[........."DOC.
fa3c0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
fa3e0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 6f 74 73 65 71 6e 22 3a 20 5b 0a 20 .false.....],....."Dotseqn":.[..
fa400 20 20 20 20 20 20 20 22 44 6f 74 73 65 71 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 ......."Dotseqn.License",.......
fa420 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
fa440 20 20 22 44 53 44 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 53 44 50 20 4c 69 63 65 6e 73 .."DSDP":.[........."DSDP.Licens
fa460 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
fa480 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 64 76 69 70 64 66 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."dvipdfm":.[........
fa4a0 20 22 64 76 69 70 64 66 6d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ."dvipdfm.License",.........fals
fa4c0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 43 4c e,.........false.....],....."ECL
fa4e0 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 64 75 63 61 74 69 6f 6e 61 6c 20 43 6f -1.0":.[........."Educational.Co
fa500 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 mmunity.License.v1.0",.........t
fa520 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 rue,.........false.....],....."E
fa540 43 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 64 75 63 61 74 69 6f 6e 61 6c 20 CL-2.0":.[........."Educational.
fa560 43 6f 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 Community.License.v2.0",........
fa580 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
fa5a0 22 65 43 6f 73 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 43 6f 73 20 6c 69 63 65 "eCos-2.0":.[........."eCos.lice
fa5c0 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c nse.version.2.0",.........false,
fa5e0 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 46 4c 2d 31 2e .........true.....],....."EFL-1.
fa600 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 69 66 66 65 6c 20 46 6f 72 75 6d 20 4c 69 63 65 0":.[........."Eiffel.Forum.Lice
fa620 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 nse.v1.0",.........true,........
fa640 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 46 4c 2d 32 2e 30 22 3a 20 5b 0a 20 .false.....],....."EFL-2.0":.[..
fa660 20 20 20 20 20 20 20 22 45 69 66 66 65 6c 20 46 6f 72 75 6d 20 4c 69 63 65 6e 73 65 20 76 32 2e ......."Eiffel.Forum.License.v2.
fa680 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 0",.........true,.........false.
fa6a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 65 47 65 6e 69 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....],....."eGenix":.[........."
fa6c0 65 47 65 6e 69 78 2e 63 6f 6d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 2e 30 22 eGenix.com.Public.License.1.1.0"
fa6e0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
fa700 20 20 20 5d 2c 0a 20 20 20 20 22 45 6e 74 65 73 73 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ...],....."Entessa":.[........."
fa720 45 6e 74 65 73 73 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 Entessa.Public.License.v1.0",...
fa740 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
fa760 0a 20 20 20 20 22 45 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 63 6c 69 70 ....."EPL-1.0":.[........."Eclip
fa780 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 se.Public.License.1.0",.........
fa7a0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
fa7c0 45 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 63 6c 69 70 73 65 20 50 75 62 EPL-2.0":.[........."Eclipse.Pub
fa7e0 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a lic.License.2.0",.........true,.
fa800 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 72 6c 50 4c 2d ........false.....],....."ErlPL-
fa820 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 72 6c 61 6e 67 20 50 75 62 6c 69 63 20 4c 1.1":.[........."Erlang.Public.L
fa840 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.1",.........false,....
fa860 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 44 61 74 61 67 72 69 .....false.....],....."EUDatagri
fa880 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 55 20 44 61 74 61 47 72 69 64 20 53 6f 66 74 77 d":.[........."EU.DataGrid.Softw
fa8a0 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 are.License",.........true,.....
fa8c0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e 30 22 3a ....false.....],....."EUPL-1.0":
fa8e0 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 62 6c 69 .[........."European.Union.Publi
fa900 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 c.License.1.0",.........false,..
fa920 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e .......false.....],....."EUPL-1.
fa940 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 1":.[........."European.Union.Pu
fa960 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c blic.License.1.1",.........true,
fa980 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d .........false.....],....."EUPL-
fa9a0 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 1.2":.[........."European.Union.
fa9c0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 Public.License.1.2",.........tru
fa9e0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 75 72 e,.........false.....],....."Eur
faa00 6f 73 79 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 73 79 6d 20 4c 69 63 65 6e 73 osym":.[........."Eurosym.Licens
faa20 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
faa40 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 61 69 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 .....],....."Fair":.[........."F
faa60 61 69 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 air.License",.........true,.....
faa80 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 72 61 6d 65 77 6f 72 78 2d ....false.....],....."Frameworx-
faaa0 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 61 6d 65 77 6f 72 78 20 4f 70 65 6e 20 1.0":.[........."Frameworx.Open.
faac0 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.1.0",.........true,.....
faae0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 72 65 65 49 6d 61 67 65 22 ....false.....],....."FreeImage"
fab00 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 49 6d 61 67 65 20 50 75 62 6c 69 63 20 4c 69 :.[........."FreeImage.Public.Li
fab20 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v1.0",.........false,.....
fab40 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 53 46 41 50 22 3a 20 5b 0a ....false.....],....."FSFAP":.[.
fab60 20 20 20 20 20 20 20 20 22 46 53 46 20 41 6c 6c 20 50 65 72 6d 69 73 73 69 76 65 20 4c 69 63 65 ........"FSF.All.Permissive.Lice
fab80 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
faba0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 53 46 55 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 se.....],....."FSFUL":.[........
fabc0 20 22 46 53 46 20 55 6e 6c 69 6d 69 74 65 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 ."FSF.Unlimited.License",.......
fabe0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
fac00 20 20 22 46 53 46 55 4c 4c 52 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 53 46 20 55 6e 6c 69 .."FSFULLR":.[........."FSF.Unli
fac20 6d 69 74 65 64 20 4c 69 63 65 6e 73 65 20 28 77 69 74 68 20 4c 69 63 65 6e 73 65 20 52 65 74 65 mited.License.(with.License.Rete
fac40 6e 74 69 6f 6e 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 ntion)",.........false,.........
fac60 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 54 4c 22 3a 20 5b 0a 20 20 20 20 20 20 false.....],....."FTL":.[.......
fac80 20 20 22 46 72 65 65 74 79 70 65 20 50 72 6f 6a 65 63 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 .."Freetype.Project.License",...
faca0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
facc0 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 ,....."GFDL-1.1":.[........."GNU
face0 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 .Free.Documentation.License.v1.1
fad00 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 ",.........false,.........true..
fad20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 ...],....."GFDL-1.1-only":.[....
fad40 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 ....."GNU.Free.Documentation.Lic
fad60 65 6e 73 65 20 76 31 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a ense.v1.1.only",.........false,.
fad80 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 ........false.....],....."GFDL-1
fada0 2e 31 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 .1-or-later":.[........."GNU.Fre
fadc0 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 20 6f 72 20 e.Documentation.License.v1.1.or.
fade0 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 later",.........false,.........f
fae00 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 alse.....],....."GFDL-1.2":.[...
fae20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 ......"GNU.Free.Documentation.Li
fae40 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v1.2",.........false,.....
fae60 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d 6f 6e ....true.....],....."GFDL-1.2-on
fae80 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e ly":.[........."GNU.Free.Documen
faea0 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 tation.License.v1.2.only",......
faec0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
faee0 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 ..."GFDL-1.2-or-later":.[.......
faf00 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 .."GNU.Free.Documentation.Licens
faf20 65 20 76 31 2e 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c e.v1.2.or.later",.........false,
faf40 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d .........false.....],....."GFDL-
faf60 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 1.3":.[........."GNU.Free.Docume
faf80 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 ntation.License.v1.3",.........f
fafa0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 alse,.........true.....],....."G
fafc0 46 44 4c 2d 31 2e 33 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 FDL-1.3-only":.[........."GNU.Fr
fafe0 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 20 6f 6e ee.Documentation.License.v1.3.on
fb000 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ly",.........false,.........fals
fb020 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 33 2d 6f 72 2d 6c 61 74 65 72 22 e.....],....."GFDL-1.3-or-later"
fb040 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 :.[........."GNU.Free.Documentat
fb060 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 ion.License.v1.3.or.later",.....
fb080 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fb0a0 20 20 20 20 22 47 69 66 74 77 61 72 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 69 66 74 77 ...."Giftware":.[........."Giftw
fb0c0 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 are.License",.........false,....
fb0e0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 4c 32 50 53 22 3a 20 5b .....false.....],....."GL2PS":.[
fb100 0a 20 20 20 20 20 20 20 20 22 47 4c 32 50 53 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 ........."GL2PS.License",.......
fb120 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
fb140 20 20 22 47 6c 69 64 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 33 64 66 78 20 47 6c 69 64 65 .."Glide":.[........."3dfx.Glide
fb160 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
fb180 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 6c 75 6c 78 65 22 3a 20 5b 0a 20 ..false.....],....."Glulxe":.[..
fb1a0 20 20 20 20 20 20 20 22 47 6c 75 6c 78 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 ......."Glulxe.License",........
fb1c0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fb1e0 20 22 67 6e 75 70 6c 6f 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 6e 75 70 6c 6f 74 20 4c ."gnuplot":.[........."gnuplot.L
fb200 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
fb220 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 false.....],....."GPL-1.0":.[...
fb240 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 ......"GNU.General.Public.Licens
fb260 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 e.v1.0.only",.........false,....
fb280 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2b 22 3a .....true.....],....."GPL-1.0+":
fb2a0 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c .[........."GNU.General.Public.L
fb2c0 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 icense.v1.0.or.later",.........f
fb2e0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 alse,.........true.....],....."G
fb300 50 4c 2d 31 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e PL-1.0-only":.[........."GNU.Gen
fb320 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a eral.Public.License.v1.0.only",.
fb340 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
fb360 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 .],....."GPL-1.0-or-later":.[...
fb380 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 ......"GNU.General.Public.Licens
fb3a0 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c e.v1.0.or.later",.........false,
fb3c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 .........false.....],....."GPL-2
fb3e0 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c .0":.[........."GNU.General.Publ
fb400 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 ic.License.v2.0.only",.........t
fb420 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 rue,.........true.....],....."GP
fb440 4c 2d 32 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 L-2.0+":.[........."GNU.General.
fb460 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 Public.License.v2.0.or.later",..
fb480 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c .......true,.........true.....],
fb4a0 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....."GPL-2.0-only":.[........."
fb4c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 GNU.General.Public.License.v2.0.
fb4e0 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c only",.........true,.........fal
fb500 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 se.....],....."GPL-2.0-or-later"
fb520 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 :.[........."GNU.General.Public.
fb540 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 License.v2.0.or.later",.........
fb560 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
fb580 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 22 GPL-2.0-with-autoconf-exception"
fb5a0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 :.[........."GNU.General.Public.
fb5c0 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f License.v2.0.w/Autoconf.exceptio
fb5e0 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a n",.........false,.........true.
fb600 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 62 69 73 6f 6e 2d 65 ....],....."GPL-2.0-with-bison-e
fb620 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 xception":.[........."GNU.Genera
fb640 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 42 69 73 6f 6e 20 65 78 l.Public.License.v2.0.w/Bison.ex
fb660 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 ception",.........false,........
fb680 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 63 .true.....],....."GPL-2.0-with-c
fb6a0 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 lasspath-exception":.[........."
fb6c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 GNU.General.Public.License.v2.0.
fb6e0 77 2f 43 6c 61 73 73 70 61 74 68 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 w/Classpath.exception",.........
fb700 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 false,.........true.....],....."
fb720 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 66 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a GPL-2.0-with-font-exception":.[.
fb740 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ........"GNU.General.Public.Lice
fb760 6e 73 65 20 76 32 2e 30 20 77 2f 46 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 nse.v2.0.w/Font.exception",.....
fb780 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 ....false,.........true.....],..
fb7a0 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 22 3a ..."GPL-2.0-with-GCC-exception":
fb7c0 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c .[........."GNU.General.Public.L
fb7e0 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 icense.v2.0.w/GCC.Runtime.Librar
fb800 79 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 y.exception",.........false,....
fb820 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 22 3a 20 .....true.....],....."GPL-3.0":.
fb840 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 [........."GNU.General.Public.Li
fb860 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a cense.v3.0.only",.........true,.
fb880 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 ........true.....],....."GPL-3.0
fb8a0 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 +":.[........."GNU.General.Publi
fb8c0 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 c.License.v3.0.or.later",.......
fb8e0 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 ..true,.........true.....],.....
fb900 22 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 "GPL-3.0-only":.[........."GNU.G
fb920 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 eneral.Public.License.v3.0.only"
fb940 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fb960 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 ..],....."GPL-3.0-or-later":.[..
fb980 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e ......."GNU.General.Public.Licen
fb9a0 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c se.v3.0.or.later",.........true,
fb9c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 .........false.....],....."GPL-3
fb9e0 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 .0-with-autoconf-exception":.[..
fba00 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e ......."GNU.General.Public.Licen
fba20 73 65 20 76 33 2e 30 20 77 2f 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 se.v3.0.w/Autoconf.exception",..
fba40 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d .......false,.........true.....]
fba60 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 77 69 74 68 2d 47 43 43 2d 65 78 63 65 70 74 69 6f ,....."GPL-3.0-with-GCC-exceptio
fba80 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 n":.[........."GNU.General.Publi
fbaa0 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 77 2f 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 c.License.v3.0.w/GCC.Runtime.Lib
fbac0 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 rary.exception",.........true,..
fbae0 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 53 4f 41 50 2d 31 2e .......true.....],....."gSOAP-1.
fbb00 33 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 53 4f 41 50 20 50 75 62 6c 69 63 20 4c 69 63 3b":.[........."gSOAP.Public.Lic
fbb20 65 6e 73 65 20 76 31 2e 33 62 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ense.v1.3b",.........false,.....
fbb40 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 61 73 6b 65 6c 6c 52 65 70 ....false.....],....."HaskellRep
fbb60 6f 72 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 61 73 6b 65 6c 6c 20 4c 61 6e 67 75 61 67 ort":.[........."Haskell.Languag
fbb80 65 20 52 65 70 6f 72 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e.Report.License",.........false
fbba0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 50 4e 44 ,.........false.....],....."HPND
fbbc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 69 73 74 6f 72 69 63 61 6c 20 50 65 72 6d 69 73 73 ":.[........."Historical.Permiss
fbbe0 69 6f 6e 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 69 73 63 6c 61 69 6d 65 72 22 2c 0a 20 20 20 20 ion.Notice.and.Disclaimer",.....
fbc00 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
fbc20 20 20 20 22 49 42 4d 2d 70 69 62 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 42 4d 20 50 6f ..."IBM-pibs":.[........."IBM.Po
fbc40 77 65 72 50 43 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 61 6e 64 20 42 6f 6f 74 20 53 6f werPC.Initialization.and.Boot.So
fbc60 66 74 77 61 72 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 ftware",.........false,.........
fbc80 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 43 55 22 3a 20 5b 0a 20 20 20 20 20 20 false.....],....."ICU":.[.......
fbca0 20 20 22 49 43 55 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a .."ICU.License",.........false,.
fbcc0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 4a 47 22 3a 20 ........false.....],....."IJG":.
fbce0 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 64 65 70 65 6e 64 65 6e 74 20 4a 50 45 47 20 47 72 6f 75 [........."Independent.JPEG.Grou
fbd00 70 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 p.License",.........false,......
fbd20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6d 61 67 65 4d 61 67 69 63 6b ...false.....],....."ImageMagick
fbd40 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6d 61 67 65 4d 61 67 69 63 6b 20 4c 69 63 65 6e 73 ":.[........."ImageMagick.Licens
fbd60 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
fbd80 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 69 4d 61 74 69 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 .....],....."iMatix":.[.........
fbda0 22 69 4d 61 74 69 78 20 53 74 61 6e 64 61 72 64 20 46 75 6e 63 74 69 6f 6e 20 4c 69 62 72 61 72 "iMatix.Standard.Function.Librar
fbdc0 79 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 y.Agreement",.........false,....
fbde0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6d 6c 69 62 32 22 3a 20 .....false.....],....."Imlib2":.
fbe00 5b 0a 20 20 20 20 20 20 20 20 22 49 6d 6c 69 62 32 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 [........."Imlib2.License",.....
fbe20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fbe40 20 20 20 20 22 49 6e 66 6f 2d 5a 49 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 66 6f 2d ...."Info-ZIP":.[........."Info-
fbe60 5a 49 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ZIP.License",.........false,....
fbe80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 6c 22 3a 20 5b .....false.....],....."Intel":.[
fbea0 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 6c 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 ........."Intel.Open.Source.Lice
fbec0 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 nse",.........true,.........fals
fbee0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 6c 2d 41 43 50 49 22 3a 20 5b 0a 20 20 20 e.....],....."Intel-ACPI":.[....
fbf00 20 20 20 20 20 22 49 6e 74 65 6c 20 41 43 50 49 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 ....."Intel.ACPI.Software.Licens
fbf20 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 e.Agreement",.........false,....
fbf40 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 72 62 61 73 65 .....false.....],....."Interbase
fbf60 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 72 62 61 73 65 20 50 75 62 6c -1.0":.[........."Interbase.Publ
fbf80 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.0",.........false,
fbfa0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 50 41 22 3a .........false.....],....."IPA":
fbfc0 20 5b 0a 20 20 20 20 20 20 20 20 22 49 50 41 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 .[........."IPA.Font.License",..
fbfe0 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
fc000 2c 0a 20 20 20 20 22 49 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 42 4d 20 ,....."IPL-1.0":.[........."IBM.
fc020 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 Public.License.v1.0",.........tr
fc040 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 53 ue,.........false.....],....."IS
fc060 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 53 43 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 C":.[........."ISC.License",....
fc080 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
fc0a0 20 20 20 20 22 4a 61 73 50 65 72 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4a 61 73 ...."JasPer-2.0":.[........."Jas
fc0c0 50 65 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 Per.License",.........false,....
fc0e0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4a 53 4f 4e 22 3a 20 5b 0a .....false.....],....."JSON":.[.
fc100 20 20 20 20 20 20 20 20 22 4a 53 4f 4e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ........"JSON.License",.........
fc120 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fc140 22 4c 41 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 41 72 "LAL-1.2":.[........."Licence.Ar
fc160 74 20 4c 69 62 72 65 20 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 t.Libre.1.2",.........false,....
fc180 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 41 4c 2d 31 2e 33 22 3a .....false.....],....."LAL-1.3":
fc1a0 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 41 72 74 20 4c 69 62 72 65 20 31 2e .[........."Licence.Art.Libre.1.
fc1c0 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 3",.........false,.........false
fc1e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 61 74 65 78 32 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."Latex2e":.[........
fc200 20 22 4c 61 74 65 78 32 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ."Latex2e.License",.........fals
fc220 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 65 70 e,.........false.....],....."Lep
fc240 74 6f 6e 69 63 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 65 70 74 6f 6e 69 63 61 20 4c 69 tonica":.[........."Leptonica.Li
fc260 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
fc280 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 alse.....],....."LGPL-2.0":.[...
fc2a0 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ......"GNU.Library.General.Publi
fc2c0 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 c.License.v2.only",.........true
fc2e0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d ,.........true.....],....."LGPL-
fc300 32 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 2.0+":.[........."GNU.Library.Ge
fc320 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 72 20 6c 61 74 65 72 neral.Public.License.v2.or.later
fc340 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 ",.........true,.........true...
fc360 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 ..],....."LGPL-2.0-only":.[.....
fc380 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 ...."GNU.Library.General.Public.
fc3a0 4c 69 63 65 6e 73 65 20 76 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a License.v2.only",.........true,.
fc3c0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 ........false.....],....."LGPL-2
fc3e0 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 .0-or-later":.[........."GNU.Lib
fc400 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f rary.General.Public.License.v2.o
fc420 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 r.later",.........true,.........
fc440 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 false.....],....."LGPL-2.1":.[..
fc460 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ......."GNU.Lesser.General.Publi
fc480 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 c.License.v2.1.only",.........tr
fc4a0 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 ue,.........true.....],....."LGP
fc4c0 4c 2d 32 2e 31 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 L-2.1+":.[........."GNU.Library.
fc4e0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 72 20 6c General.Public.License.v2.1.or.l
fc500 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ater",.........true,.........tru
fc520 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a e.....],....."LGPL-2.1-only":.[.
fc540 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c ........"GNU.Lesser.General.Publ
fc560 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 ic.License.v2.1.only",.........t
fc580 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c rue,.........false.....],....."L
fc5a0 47 50 4c 2d 32 2e 31 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e GPL-2.1-or-later":.[........."GN
fc5c0 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 U.Lesser.General.Public.License.
fc5e0 76 32 2e 31 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 v2.1.or.later",.........true,...
fc600 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 ......false.....],....."LGPL-3.0
fc620 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c ":.[........."GNU.Lesser.General
fc640 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 .Public.License.v3.0.only",.....
fc660 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 ....true,.........true.....],...
fc680 20 20 22 4c 47 50 4c 2d 33 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 .."LGPL-3.0+":.[........."GNU.Le
fc6a0 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 sser.General.Public.License.v3.0
fc6c0 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 .or.later",.........true,.......
fc6e0 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 ..true.....],....."LGPL-3.0-only
fc700 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c ":.[........."GNU.Lesser.General
fc720 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 .Public.License.v3.0.only",.....
fc740 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
fc760 20 20 20 22 4c 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 ..."LGPL-3.0-or-later":.[.......
fc780 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 .."GNU.Lesser.General.Public.Lic
fc7a0 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ense.v3.0.or.later",.........tru
fc7c0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 e,.........false.....],....."LGP
fc7e0 4c 4c 52 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 LLR":.[........."Lesser.General.
fc800 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 46 6f 72 20 4c 69 6e 67 75 69 73 74 69 63 20 52 65 Public.License.For.Linguistic.Re
fc820 73 6f 75 72 63 65 73 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 sources",.........false,........
fc840 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 62 70 6e 67 22 3a 20 5b 0a 20 20 .false.....],....."Libpng":.[...
fc860 20 20 20 20 20 20 22 6c 69 62 70 6e 67 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ......"libpng.License",.........
fc880 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fc8a0 22 6c 69 62 74 69 66 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6c 69 62 74 69 66 66 20 4c 69 "libtiff":.[........."libtiff.Li
fc8c0 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
fc8e0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 4c 69 51 2d 50 2d 31 2e 31 22 3a 20 5b alse.....],....."LiLiQ-P-1.1":.[
fc900 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 ........."Licence.Libre.du.Qu\u0
fc920 30 65 39 62 65 63 20 5c 75 32 30 31 33 20 50 65 72 6d 69 73 73 69 76 65 20 76 65 72 73 69 6f 6e 0e9bec.\u2013.Permissive.version
fc940 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .1.1",.........true,.........fal
fc960 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 4c 69 51 2d 52 2d 31 2e 31 22 3a 20 5b 0a 20 se.....],....."LiLiQ-R-1.1":.[..
fc980 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 ......."Licence.Libre.du.Qu\u00e
fc9a0 39 62 65 63 20 5c 75 32 30 31 33 20 52 5c 75 30 30 65 39 63 69 70 72 6f 63 69 74 5c 75 30 30 65 9bec.\u2013.R\u00e9ciprocit\u00e
fc9c0 39 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 9.version.1.1",.........true,...
fc9e0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 4c 69 51 2d 52 70 ......false.....],....."LiLiQ-Rp
fca00 6c 75 73 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 4c 69 62 lus-1.1":.[........."Licence.Lib
fca20 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 65 63 20 5c 75 32 30 31 33 20 52 5c 75 30 30 65 39 re.du.Qu\u00e9bec.\u2013.R\u00e9
fca40 63 69 70 72 6f 63 69 74 5c 75 30 30 65 39 20 66 6f 72 74 65 20 76 65 72 73 69 6f 6e 20 31 2e 31 ciprocit\u00e9.forte.version.1.1
fca60 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
fca80 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 6e 75 78 2d 4f 70 65 6e 49 42 22 3a 20 5b 0a 20 20 20 20 ...],....."Linux-OpenIB":.[.....
fcaa0 20 20 20 20 22 4c 69 6e 75 78 20 4b 65 72 6e 65 6c 20 56 61 72 69 61 6e 74 20 6f 66 20 4f 70 65 ...."Linux.Kernel.Variant.of.Ope
fcac0 6e 49 42 2e 6f 72 67 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c nIB.org.license",.........false,
fcae0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d 31 .........false.....],....."LPL-1
fcb00 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 4c 69 .0":.[........."Lucent.Public.Li
fcb20 63 65 6e 73 65 20 56 65 72 73 69 6f 6e 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 cense.Version.1.0",.........true
fcb40 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d ,.........false.....],....."LPL-
fcb60 31 2e 30 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 1.02":.[........."Lucent.Public.
fcb80 4c 69 63 65 6e 73 65 20 76 31 2e 30 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 License.v1.02",.........true,...
fcba0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 30 ......false.....],....."LPPL-1.0
fcbc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c ":.[........."LaTeX.Project.Publ
fcbe0 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.0",.........false,
fcc00 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d .........false.....],....."LPPL-
fcc20 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 1.1":.[........."LaTeX.Project.P
fcc40 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v1.1",.........fal
fcc60 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 se,.........false.....],....."LP
fcc80 50 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 PL-1.2":.[........."LaTeX.Projec
fcca0 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 t.Public.License.v1.2",.........
fccc0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
fcce0 22 4c 50 50 4c 2d 31 2e 33 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 "LPPL-1.3a":.[........."LaTeX.Pr
fcd00 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 61 22 2c 0a 20 20 20 oject.Public.License.v1.3a",....
fcd20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
fcd40 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 33 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 ....."LPPL-1.3c":.[........."LaT
fcd60 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 63 22 eX.Project.Public.License.v1.3c"
fcd80 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fcda0 20 20 5d 2c 0a 20 20 20 20 22 4d 61 6b 65 49 6e 64 65 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ..],....."MakeIndex":.[.........
fcdc0 22 4d 61 6b 65 49 6e 64 65 78 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c "MakeIndex.License",.........fal
fcde0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 69 se,.........false.....],....."Mi
fce00 72 4f 53 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 69 72 4f 53 20 4c 69 63 65 6e 73 65 22 2c rOS":.[........."MirOS.License",
fce20 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
fce40 20 5d 2c 0a 20 20 20 20 22 4d 49 54 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 4c 69 .],....."MIT":.[........."MIT.Li
fce60 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 cense",.........true,.........fa
fce80 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 30 22 3a 20 5b 0a 20 20 20 20 20 20 lse.....],....."MIT-0":.[.......
fcea0 20 20 22 4d 49 54 20 4e 6f 20 41 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 .."MIT.No.Attribution",.........
fcec0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
fcee0 4d 49 54 2d 61 64 76 65 72 74 69 73 69 6e 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 6e 6c MIT-advertising":.[........."Enl
fcf00 69 67 68 74 65 6e 6d 65 6e 74 20 4c 69 63 65 6e 73 65 20 28 65 31 36 29 22 2c 0a 20 20 20 20 20 ightenment.License.(e16)",......
fcf20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
fcf40 20 20 20 22 4d 49 54 2d 43 4d 55 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4d 55 20 4c 69 63 ..."MIT-CMU":.[........."CMU.Lic
fcf60 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
fcf80 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 65 6e 6e 61 22 3a 20 5b 0a 20 20 20 lse.....],....."MIT-enna":.[....
fcfa0 20 20 20 20 20 22 65 6e 6e 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ....."enna.License",.........fal
fcfc0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 se,.........false.....],....."MI
fcfe0 54 2d 66 65 68 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 66 65 68 20 4c 69 63 65 6e 73 65 22 2c T-feh":.[........."feh.License",
fd000 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
fd020 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 4e 46 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 ..],....."MITNFA":.[........."MI
fd040 54 20 2b 6e 6f 2d 66 61 6c 73 65 2d 61 74 74 72 69 62 73 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 T.+no-false-attribs.license",...
fd060 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
fd080 2c 0a 20 20 20 20 22 4d 6f 74 6f 73 6f 74 6f 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 74 ,....."Motosoto":.[........."Mot
fd0a0 6f 73 6f 74 6f 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 osoto.License",.........true,...
fd0c0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6d 70 69 63 68 32 22 3a ......false.....],....."mpich2":
fd0e0 20 5b 0a 20 20 20 20 20 20 20 20 22 6d 70 69 63 68 32 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 .[........."mpich2.License",....
fd100 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
fd120 0a 20 20 20 20 22 4d 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c ....."MPL-1.0":.[........."Mozil
fd140 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 la.Public.License.1.0",.........
fd160 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
fd180 4d 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 MPL-1.1":.[........."Mozilla.Pub
fd1a0 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a lic.License.1.1",.........true,.
fd1c0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e ........false.....],....."MPL-2.
fd1e0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 0":.[........."Mozilla.Public.Li
fd200 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.2.0",.........true,.......
fd220 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e 30 2d 6e 6f 2d 63 ..false.....],....."MPL-2.0-no-c
fd240 6f 70 79 6c 65 66 74 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d opyleft-exception":.[........."M
fd260 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 20 28 6e 6f 20 63 6f ozilla.Public.License.2.0.(no.co
fd280 70 79 6c 65 66 74 20 65 78 63 65 70 74 69 6f 6e 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 pyleft.exception)",.........true
fd2a0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 53 2d 50 ,.........false.....],....."MS-P
fd2c0 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 69 63 72 6f 73 6f 66 74 20 50 75 62 6c 69 63 20 L":.[........."Microsoft.Public.
fd2e0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 License",.........true,.........
fd300 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 53 2d 52 4c 22 3a 20 5b 0a 20 20 20 20 false.....],....."MS-RL":.[.....
fd320 20 20 20 20 22 4d 69 63 72 6f 73 6f 66 74 20 52 65 63 69 70 72 6f 63 61 6c 20 4c 69 63 65 6e 73 ...."Microsoft.Reciprocal.Licens
fd340 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a e",.........true,.........false.
fd360 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 54 4c 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 ....],....."MTLL":.[........."Ma
fd380 74 72 69 78 20 54 65 6d 70 6c 61 74 65 20 4c 69 62 72 61 72 79 20 4c 69 63 65 6e 73 65 22 2c 0a trix.Template.Library.License",.
fd3a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
fd3c0 20 5d 2c 0a 20 20 20 20 22 4d 75 6c 74 69 63 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 75 .],....."Multics":.[........."Mu
fd3e0 6c 74 69 63 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 ltics.License",.........true,...
fd400 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 75 70 22 3a 20 5b 0a ......false.....],....."Mup":.[.
fd420 20 20 20 20 20 20 20 20 22 4d 75 70 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 ........"Mup.License",.........f
fd440 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
fd460 4e 41 53 41 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 41 53 41 20 4f 70 65 6e 20 NASA-1.3":.[........."NASA.Open.
fd480 53 6f 75 72 63 65 20 41 67 72 65 65 6d 65 6e 74 20 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 74 Source.Agreement.1.3",.........t
fd4a0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e rue,.........false.....],....."N
fd4c0 61 75 6d 65 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 61 75 6d 65 6e 20 50 75 62 6c 69 63 aumen":.[........."Naumen.Public
fd4e0 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 .License",.........true,........
fd500 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 42 50 4c 2d 31 2e 30 22 3a 20 5b 0a .false.....],....."NBPL-1.0":.[.
fd520 20 20 20 20 20 20 20 20 22 4e 65 74 20 42 6f 6f 6c 65 61 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 ........"Net.Boolean.Public.Lice
fd540 6e 73 65 20 76 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 nse.v1",.........false,.........
fd560 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 43 53 41 22 3a 20 5b 0a 20 20 20 20 20 false.....],....."NCSA":.[......
fd580 20 20 20 22 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 49 6c 6c 69 6e 6f 69 73 2f 4e 43 53 41 20 ..."University.of.Illinois/NCSA.
fd5a0 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 Open.Source.License",.........tr
fd5c0 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 ue,.........false.....],....."Ne
fd5e0 74 2d 53 4e 4d 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 2d 53 4e 4d 50 20 4c 69 63 t-SNMP":.[........."Net-SNMP.Lic
fd600 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
fd620 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 74 43 44 46 22 3a 20 5b 0a 20 20 20 20 20 lse.....],....."NetCDF":.[......
fd640 20 20 20 22 4e 65 74 43 44 46 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ..."NetCDF.license",.........fal
fd660 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 se,.........false.....],....."Ne
fd680 77 73 6c 65 74 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 77 73 6c 65 74 72 20 4c 69 63 wsletr":.[........."Newsletr.Lic
fd6a0 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
fd6c0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 47 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 lse.....],....."NGPL":.[........
fd6e0 20 22 4e 65 74 68 61 63 6b 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ."Nethack.General.Public.License
fd700 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
fd720 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4c 4f 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ...],....."NLOD-1.0":.[.........
fd740 22 4e 6f 72 77 65 67 69 61 6e 20 4c 69 63 65 6e 63 65 20 66 6f 72 20 4f 70 65 6e 20 47 6f 76 65 "Norwegian.Licence.for.Open.Gove
fd760 72 6e 6d 65 6e 74 20 44 61 74 61 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 rnment.Data",.........false,....
fd780 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4c 50 4c 22 3a 20 5b 0a .....false.....],....."NLPL":.[.
fd7a0 20 20 20 20 20 20 20 20 22 4e 6f 20 4c 69 6d 69 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 ........"No.Limit.Public.License
fd7c0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
fd7e0 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 6b 69 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e ....],....."Nokia":.[........."N
fd800 6f 6b 69 61 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 okia.Open.Source.License",......
fd820 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
fd840 20 20 22 4e 4f 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 69 7a 65 6e 20 4f 70 65 .."NOSL":.[........."Netizen.Ope
fd860 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 n.Source.License",.........false
fd880 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 77 65 ,.........false.....],....."Nowe
fd8a0 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 77 65 62 20 4c 69 63 65 6e 73 65 22 2c 0a 20 b":.[........."Noweb.License",..
fd8c0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
fd8e0 5d 2c 0a 20 20 20 20 22 4e 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 ],....."NPL-1.0":.[........."Net
fd900 73 63 61 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 scape.Public.License.v1.0",.....
fd920 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fd940 20 20 20 20 22 4e 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 73 63 61 ...."NPL-1.1":.[........."Netsca
fd960 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 pe.Public.License.v1.1",........
fd980 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fd9a0 20 22 4e 50 4f 53 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 6e 2d 50 72 6f ."NPOSL-3.0":.[........."Non-Pro
fd9c0 66 69 74 20 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a fit.Open.Software.License.3.0",.
fd9e0 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
fda00 5d 2c 0a 20 20 20 20 22 4e 52 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 52 4c 20 4c 69 63 ],....."NRL":.[........."NRL.Lic
fda20 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
fda40 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 54 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 lse.....],....."NTP":.[.........
fda60 22 4e 54 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 "NTP.License",.........true,....
fda80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 75 6e 69 74 22 3a 20 5b .....false.....],....."Nunit":.[
fdaa0 0a 20 20 20 20 20 20 20 20 22 4e 75 6e 69 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 ........."Nunit.License",.......
fdac0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..false,.........true.....],....
fdae0 20 22 4f 43 43 54 2d 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 43 41 53 43 ."OCCT-PL":.[........."Open.CASC
fdb00 41 44 45 20 54 65 63 68 6e 6f 6c 6f 67 79 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a ADE.Technology.Public.License",.
fdb20 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
fdb40 20 5d 2c 0a 20 20 20 20 22 4f 43 4c 43 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f .],....."OCLC-2.0":.[........."O
fdb60 43 4c 43 20 52 65 73 65 61 72 63 68 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 CLC.Research.Public.License.2.0"
fdb80 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fdba0 20 20 5d 2c 0a 20 20 20 20 22 4f 44 62 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ..],....."ODbL-1.0":.[........."
fdbc0 4f 44 43 20 4f 70 65 6e 20 44 61 74 61 62 61 73 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c ODC.Open.Database.License.v1.0",
fdbe0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
fdc00 20 20 5d 2c 0a 20 20 20 20 22 4f 46 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 ..],....."OFL-1.0":.[........."S
fdc20 49 4c 20 4f 70 65 6e 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 IL.Open.Font.License.1.0",......
fdc40 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
fdc60 20 20 20 22 4f 46 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 49 4c 20 4f 70 65 ..."OFL-1.1":.[........."SIL.Ope
fdc80 6e 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 n.Font.License.1.1",.........tru
fdca0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 47 54 e,.........false.....],....."OGT
fdcc0 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 72 6f 75 70 20 54 65 73 74 20 SL":.[........."Open.Group.Test.
fdce0 53 75 69 74 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 Suite.License",.........true,...
fdd00 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e ......false.....],....."OLDAP-1.
fdd20 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 1":.[........."Open.LDAP.Public.
fdd40 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.1",.........false,...
fdd60 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e ......false.....],....."OLDAP-1.
fdd80 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 2":.[........."Open.LDAP.Public.
fdda0 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.2",.........false,...
fddc0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e ......false.....],....."OLDAP-1.
fdde0 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 3":.[........."Open.LDAP.Public.
fde00 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.3",.........false,...
fde20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e ......false.....],....."OLDAP-1.
fde40 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4":.[........."Open.LDAP.Public.
fde60 4c 69 63 65 6e 73 65 20 76 31 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.4",.........false,...
fde80 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e ......false.....],....."OLDAP-2.
fdea0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 0":.[........."Open.LDAP.Public.
fdec0 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 28 6f 72 20 70 6f 73 73 69 62 6c 79 20 32 2e 30 41 20 61 License.v2.0.(or.possibly.2.0A.a
fdee0 6e 64 20 32 2e 30 42 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 nd.2.0B)",.........false,.......
fdf00 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 30 2e 31 22 ..false.....],....."OLDAP-2.0.1"
fdf20 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c 69 :.[........."Open.LDAP.Public.Li
fdf40 63 65 6e 73 65 20 76 32 2e 30 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 cense.v2.0.1",.........false,...
fdf60 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e ......false.....],....."OLDAP-2.
fdf80 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 1":.[........."Open.LDAP.Public.
fdfa0 4c 69 63 65 6e 73 65 20 76 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v2.1",.........false,...
fdfc0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e ......false.....],....."OLDAP-2.
fdfe0 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 2":.[........."Open.LDAP.Public.
fe000 4c 69 63 65 6e 73 65 20 76 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v2.2",.........false,...
fe020 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e ......false.....],....."OLDAP-2.
fe040 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 2.1":.[........."Open.LDAP.Publi
fe060 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 c.License.v2.2.1",.........false
fe080 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 ,.........false.....],....."OLDA
fe0a0 50 2d 32 2e 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 P-2.2.2":.[........."Open.LDAP.P
fe0c0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ublic.License.2.2.2",.........fa
fe0e0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe100 4c 44 41 50 2d 32 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.3":.[........."Open.LDAP.
fe120 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.3",.........fa
fe140 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe160 4c 44 41 50 2d 32 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.4":.[........."Open.LDAP.
fe180 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.4",.........fa
fe1a0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe1c0 4c 44 41 50 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.5":.[........."Open.LDAP.
fe1e0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.5",.........fa
fe200 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe220 4c 44 41 50 2d 32 2e 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.6":.[........."Open.LDAP.
fe240 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.6",.........fa
fe260 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe280 4c 44 41 50 2d 32 2e 37 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.7":.[........."Open.LDAP.
fe2a0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 37 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.7",.........fa
fe2c0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe2e0 4c 44 41 50 2d 32 2e 38 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 LDAP-2.8":.[........."Open.LDAP.
fe300 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 38 22 2c 0a 20 20 20 20 20 20 20 20 66 61 Public.License.v2.8",.........fa
fe320 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe340 4d 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4d 61 72 6b 65 74 20 4c 69 63 65 ML":.[........."Open.Market.Lice
fe360 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
fe380 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 53 53 4c 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."OpenSSL":.[......
fe3a0 20 20 20 22 4f 70 65 6e 53 53 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ..."OpenSSL.License",.........fa
fe3c0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f lse,.........false.....],....."O
fe3e0 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 50 75 62 6c 69 63 20 PL-1.0":.[........."Open.Public.
fe400 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.0",.........false,...
fe420 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 45 54 2d 50 4c 2d ......false.....],....."OSET-PL-
fe440 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 53 45 54 20 50 75 62 6c 69 63 20 4c 69 63 2.1":.[........."OSET.Public.Lic
fe460 65 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c ense.version.2.1",.........true,
fe480 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 31 .........false.....],....."OSL-1
fe4a0 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 .0":.[........."Open.Software.Li
fe4c0 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.1.0",.........true,.......
fe4e0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 31 2e 31 22 3a 20 5b 0a ..false.....],....."OSL-1.1":.[.
fe500 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 31 ........"Open.Software.License.1
fe520 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 .1",.........false,.........fals
fe540 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."OSL-2.0":.[.......
fe560 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 .."Open.Software.License.2.0",..
fe580 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
fe5a0 2c 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e ,....."OSL-2.1":.[........."Open
fe5c0 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 .Software.License.2.1",.........
fe5e0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
fe600 4f 53 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 OSL-3.0":.[........."Open.Softwa
fe620 72 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 re.License.3.0",.........true,..
fe640 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 44 44 4c 2d 31 2e .......false.....],....."PDDL-1.
fe660 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 44 43 20 50 75 62 6c 69 63 20 44 6f 6d 61 69 6e 0":.[........."ODC.Public.Domain
fe680 20 44 65 64 69 63 61 74 69 6f 6e 20 26 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 .Dedication.&.License.1.0",.....
fe6a0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fe6c0 20 20 20 20 22 50 48 50 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 48 50 20 4c 69 ...."PHP-3.0":.[........."PHP.Li
fe6e0 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 cense.v3.0",.........true,......
fe700 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 31 22 3a 20 ...false.....],....."PHP-3.01":.
fe720 5b 0a 20 20 20 20 20 20 20 20 22 50 48 50 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 31 22 2c 0a 20 [........."PHP.License.v3.01",..
fe740 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
fe760 5d 2c 0a 20 20 20 20 22 50 6c 65 78 75 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 65 78 ],....."Plexus":.[........."Plex
fe780 75 73 20 43 6c 61 73 73 77 6f 72 6c 64 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 us.Classworlds.License",........
fe7a0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fe7c0 20 22 50 6f 73 74 67 72 65 53 51 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6f 73 74 67 72 ."PostgreSQL":.[........."Postgr
fe7e0 65 53 51 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 eSQL.License",.........true,....
fe800 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 70 73 66 72 61 67 22 3a 20 .....false.....],....."psfrag":.
fe820 5b 0a 20 20 20 20 20 20 20 20 22 70 73 66 72 61 67 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 [........."psfrag.License",.....
fe840 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
fe860 20 20 20 20 22 70 73 75 74 69 6c 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 73 75 74 69 6c ...."psutils":.[........."psutil
fe880 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 s.License",.........false,......
fe8a0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 79 74 68 6f 6e 2d 32 2e 30 22 ...false.....],....."Python-2.0"
fe8c0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 :.[........."Python.License.2.0"
fe8e0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fe900 20 20 5d 2c 0a 20 20 20 20 22 51 68 75 6c 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 68 75 ..],....."Qhull":.[........."Qhu
fe920 6c 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ll.License",.........false,.....
fe940 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 50 4c 2d 31 2e 30 22 3a 20 ....false.....],....."QPL-1.0":.
fe960 5b 0a 20 20 20 20 20 20 20 20 22 51 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 [........."Q.Public.License.1.0"
fe980 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
fe9a0 20 20 5d 2c 0a 20 20 20 20 22 52 64 69 73 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 64 69 ..],....."Rdisc":.[........."Rdi
fe9c0 73 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 sc.License",.........false,.....
fe9e0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 48 65 43 6f 73 2d 31 2e 31 ....false.....],....."RHeCos-1.1
fea00 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 64 20 48 61 74 20 65 43 6f 73 20 50 75 62 6c 69 ":.[........."Red.Hat.eCos.Publi
fea20 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a c.License.v1.1",.........false,.
fea40 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 4c 2d 31 2e ........false.....],....."RPL-1.
fea60 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 62 6c 69 63 1":.[........."Reciprocal.Public
fea80 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 .License.1.1",.........true,....
feaa0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 4c 2d 31 2e 35 22 3a .....false.....],....."RPL-1.5":
feac0 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 62 6c 69 63 20 4c 69 .[........."Reciprocal.Public.Li
feae0 63 65 6e 73 65 20 31 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.1.5",.........true,.......
feb00 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 53 4c 2d 31 2e 30 22 3a 20 5b ..false.....],....."RPSL-1.0":.[
feb20 0a 20 20 20 20 20 20 20 20 22 52 65 61 6c 4e 65 74 77 6f 72 6b 73 20 50 75 62 6c 69 63 20 53 6f ........."RealNetworks.Public.So
feb40 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 urce.License.v1.0",.........true
feb60 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 53 41 2d ,.........false.....],....."RSA-
feb80 4d 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 53 41 20 4d 65 73 73 61 67 65 2d 44 69 67 65 MD":.[........."RSA.Message-Dige
feba0 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 st.License",.........false,.....
febc0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 53 43 50 4c 22 3a 20 5b 0a ....false.....],....."RSCPL":.[.
febe0 20 20 20 20 20 20 20 20 22 52 69 63 6f 68 20 53 6f 75 72 63 65 20 43 6f 64 65 20 50 75 62 6c 69 ........"Ricoh.Source.Code.Publi
fec00 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 c.License",.........true,.......
fec20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 75 62 79 22 3a 20 5b 0a 20 20 20 ..false.....],....."Ruby":.[....
fec40 20 20 20 20 20 22 52 75 62 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ....."Ruby.License",.........fal
fec60 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 41 se,.........false.....],....."SA
fec80 58 2d 50 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 20 50 75 62 6c 69 63 20 44 6f 6d X-PD":.[........."Sax.Public.Dom
feca0 61 69 6e 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ain.Notice",.........false,.....
fecc0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 61 78 70 61 74 68 22 3a 20 ....false.....],....."Saxpath":.
fece0 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 70 61 74 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 [........."Saxpath.License",....
fed00 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
fed20 0a 20 20 20 20 22 53 43 45 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 43 45 41 20 53 68 61 ....."SCEA":.[........."SCEA.Sha
fed40 72 65 64 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c red.Source.License",.........fal
fed60 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 65 se,.........false.....],....."Se
fed80 6e 64 6d 61 69 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 20 4c 69 63 ndmail":.[........."Sendmail.Lic
feda0 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
fedc0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 30 22 3a 20 5b 0a 20 20 lse.....],....."SGI-B-1.0":.[...
fede0 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 ......"SGI.Free.Software.License
fee00 20 42 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 .B.v1.0",.........false,........
fee20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 31 22 3a 20 5b .false.....],....."SGI-B-1.1":.[
fee40 0a 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 ........."SGI.Free.Software.Lice
fee60 6e 73 65 20 42 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 nse.B.v1.1",.........false,.....
fee80 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 32 2e 30 22 ....false.....],....."SGI-B-2.0"
feea0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c :.[........."SGI.Free.Software.L
feec0 69 63 65 6e 73 65 20 42 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 icense.B.v2.0",.........false,..
feee0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 69 6d 50 4c 2d 32 .......false.....],....."SimPL-2
fef00 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 69 6d 70 6c 65 20 50 75 62 6c 69 63 20 4c 69 .0":.[........."Simple.Public.Li
fef20 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 cense.2.0",.........true,.......
fef40 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 49 53 53 4c 22 3a 20 5b 0a 20 20 ..false.....],....."SISSL":.[...
fef60 20 20 20 20 20 20 22 53 75 6e 20 49 6e 64 75 73 74 72 79 20 53 74 61 6e 64 61 72 64 73 20 53 6f ......"Sun.Industry.Standards.So
fef80 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 urce.License.v1.1",.........true
fefa0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 49 53 53 ,.........false.....],....."SISS
fefc0 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 49 6e 64 75 73 74 72 79 20 L-1.2":.[........."Sun.Industry.
fefe0 53 74 61 6e 64 61 72 64 73 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a Standards.Source.License.v1.2",.
ff000 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
ff020 20 5d 2c 0a 20 20 20 20 22 53 6c 65 65 70 79 63 61 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .],....."Sleepycat":.[........."
ff040 53 6c 65 65 70 79 63 61 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 Sleepycat.License",.........true
ff060 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 4d 4c 4e ,.........false.....],....."SMLN
ff080 4a 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 64 20 4d 4c 20 6f 66 20 4e 65 J":.[........."Standard.ML.of.Ne
ff0a0 77 20 4a 65 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 w.Jersey.License",.........false
ff0c0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 4d 50 50 ,.........false.....],....."SMPP
ff0e0 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 63 75 72 65 20 4d 65 73 73 61 67 69 6e 67 20 L":.[........."Secure.Messaging.
ff100 50 72 6f 74 6f 63 6f 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 Protocol.Public.License",.......
ff120 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
ff140 20 20 22 53 4e 49 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 4e 49 41 20 50 75 62 6c 69 63 .."SNIA":.[........."SNIA.Public
ff160 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 .License.1.1",.........false,...
ff180 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d ......false.....],....."Spencer-
ff1a0 38 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 86":.[........."Spencer.License.
ff1c0 38 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 86",.........false,.........fals
ff1e0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d 39 34 22 3a 20 5b 0a 20 20 20 e.....],....."Spencer-94":.[....
ff200 20 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 39 34 22 2c 0a 20 20 20 20 20 ....."Spencer.License.94",......
ff220 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
ff240 20 20 20 22 53 70 65 6e 63 65 72 2d 39 39 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e ..."Spencer-99":.[........."Spen
ff260 63 65 72 20 4c 69 63 65 6e 73 65 20 39 39 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a cer.License.99",.........false,.
ff280 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 50 4c 2d 31 2e ........false.....],....."SPL-1.
ff2a0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 0":.[........."Sun.Public.Licens
ff2c0 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 e.v1.0",.........true,.........f
ff2e0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 74 61 6e 64 61 72 64 4d 4c 2d 4e 4a 22 3a alse.....],....."StandardML-NJ":
ff300 20 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 64 20 4d 4c 20 6f 66 20 4e 65 77 20 4a .[........."Standard.ML.of.New.J
ff320 65 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 ersey.License",.........false,..
ff340 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 75 67 61 72 43 52 4d .......true.....],....."SugarCRM
ff360 2d 31 2e 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 67 61 72 43 52 4d 20 50 75 62 -1.1.3":.[........."SugarCRM.Pub
ff380 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c lic.License.v1.1.3",.........fal
ff3a0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 57 se,.........false.....],....."SW
ff3c0 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 63 68 65 6d 65 20 57 69 64 67 65 74 20 4c 69 62 L":.[........."Scheme.Widget.Lib
ff3e0 72 61 72 79 20 28 53 57 4c 29 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 rary.(SWL).Software.License.Agre
ff400 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 ement",.........false,.........f
ff420 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 43 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 alse.....],....."TCL":.[........
ff440 20 22 54 43 4c 2f 54 4b 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ."TCL/TK.License",.........false
ff460 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 43 50 2d ,.........false.....],....."TCP-
ff480 77 72 61 70 70 65 72 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 43 50 20 57 72 61 70 70 65 wrappers":.[........."TCP.Wrappe
ff4a0 72 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 rs.License",.........false,.....
ff4c0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4d 61 74 65 22 3a 20 5b 0a ....false.....],....."TMate":.[.
ff4e0 20 20 20 20 20 20 20 20 22 54 4d 61 74 65 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e ........"TMate.Open.Source.Licen
ff500 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se",.........false,.........fals
ff520 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4f 52 51 55 45 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 e.....],....."TORQUE-1.1":.[....
ff540 20 20 20 20 20 22 54 4f 52 51 55 45 20 76 32 2e 35 2b 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 ....."TORQUE.v2.5+.Software.Lice
ff560 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 nse.v1.1",.........false,.......
ff580 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4f 53 4c 22 3a 20 5b 0a 20 20 20 ..false.....],....."TOSL":.[....
ff5a0 20 20 20 20 20 22 54 72 75 73 73 74 65 72 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e ....."Trusster.Open.Source.Licen
ff5c0 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se",.........false,.........fals
ff5e0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d 44 46 53 2d 32 30 31 35 22 3a e.....],....."Unicode-DFS-2015":
ff600 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 .[........."Unicode.License.Agre
ff620 65 6d 65 6e 74 20 2d 20 44 61 74 61 20 46 69 6c 65 73 20 61 6e 64 20 53 6f 66 74 77 61 72 65 20 ement.-.Data.Files.and.Software.
ff640 28 32 30 31 35 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 (2015)",.........false,.........
ff660 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d 44 46 53 2d 32 30 false.....],....."Unicode-DFS-20
ff680 31 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 4c 69 63 65 6e 73 65 20 16":.[........."Unicode.License.
ff6a0 41 67 72 65 65 6d 65 6e 74 20 2d 20 44 61 74 61 20 46 69 6c 65 73 20 61 6e 64 20 53 6f 66 74 77 Agreement.-.Data.Files.and.Softw
ff6c0 61 72 65 20 28 32 30 31 36 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 are.(2016)",.........false,.....
ff6e0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d 54 4f ....false.....],....."Unicode-TO
ff700 55 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 63 6f 64 65 20 54 65 72 6d 73 20 6f 66 20 U":.[........."Unicode.Terms.of.
ff720 55 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c Use",.........false,.........fal
ff740 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 6c 69 63 65 6e 73 65 22 3a 20 5b 0a 20 20 20 se.....],....."Unlicense":.[....
ff760 20 20 20 20 20 22 54 68 65 20 55 6e 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ....."The.Unlicense",.........fa
ff780 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 lse,.........false.....],....."U
ff7a0 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 76 65 72 73 61 6c 20 50 65 PL-1.0":.[........."Universal.Pe
ff7c0 72 6d 69 73 73 69 76 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 rmissive.License.v1.0",.........
ff7e0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
ff800 56 69 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 56 69 6d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 Vim":.[........."Vim.License",..
ff820 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
ff840 5d 2c 0a 20 20 20 20 22 56 4f 53 54 52 4f 4d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 56 4f 53 ],....."VOSTROM":.[........."VOS
ff860 54 52 4f 4d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 4f 70 65 6e 20 53 6f 75 TROM.Public.License.for.Open.Sou
ff880 72 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c rce",.........false,.........fal
ff8a0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 56 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."VSL-1.0":.[......
ff8c0 20 20 20 22 56 6f 76 69 64 61 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 ..."Vovida.Software.License.v1.0
ff8e0 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
ff900 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 33 43 20 ...],....."W3C":.[........."W3C.
ff920 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 20 61 6e 64 20 4c 69 63 65 6e 73 65 20 28 32 30 30 Software.Notice.and.License.(200
ff940 32 2d 31 32 2d 33 31 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 2-12-31)",.........true,........
ff960 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 2d 31 39 39 38 30 37 32 30 22 .false.....],....."W3C-19980720"
ff980 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 :.[........."W3C.Software.Notice
ff9a0 20 61 6e 64 20 4c 69 63 65 6e 73 65 20 28 31 39 39 38 2d 30 37 2d 32 30 29 22 2c 0a 20 20 20 20 .and.License.(1998-07-20)",.....
ff9c0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
ff9e0 20 20 20 20 22 57 33 43 2d 32 30 31 35 30 35 31 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 ...."W3C-20150513":.[........."W
ffa00 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 6f 63 75 6d 65 6e 74 20 3C.Software.Notice.and.Document.
ffa20 4c 69 63 65 6e 73 65 20 28 32 30 31 35 2d 30 35 2d 31 33 29 22 2c 0a 20 20 20 20 20 20 20 20 66 License.(2015-05-13)",.........f
ffa40 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ffa60 57 61 74 63 6f 6d 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 79 62 61 73 65 20 4f Watcom-1.0":.[........."Sybase.O
ffa80 70 65 6e 20 57 61 74 63 6f 6d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a pen.Watcom.Public.License.1.0",.
ffaa0 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
ffac0 5d 2c 0a 20 20 20 20 22 57 73 75 69 70 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 73 75 69 ],....."Wsuipa":.[........."Wsui
ffae0 70 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 pa.License",.........false,.....
ffb00 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 54 46 50 4c 22 3a 20 5b 0a ....false.....],....."WTFPL":.[.
ffb20 20 20 20 20 20 20 20 20 22 44 6f 20 57 68 61 74 20 54 68 65 20 46 2a 63 6b 20 59 6f 75 20 57 61 ........"Do.What.The.F*ck.You.Wa
ffb40 6e 74 20 54 6f 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 nt.To.Public.License",.........f
ffb60 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
ffb80 77 78 57 69 6e 64 6f 77 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 77 78 57 69 6e 64 6f 77 73 wxWindows":.[........."wxWindows
ffba0 20 4c 69 62 72 61 72 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .Library.License",.........false
ffbc0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 31 31 22 3a ,.........true.....],....."X11":
ffbe0 20 5b 0a 20 20 20 20 20 20 20 20 22 58 31 31 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 .[........."X11.License",.......
ffc00 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
ffc20 20 20 22 58 65 72 6f 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 65 72 6f 78 20 4c 69 63 65 .."Xerox":.[........."Xerox.Lice
ffc40 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
ffc60 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 46 72 65 65 38 36 2d 31 2e 31 22 3a 20 5b 0a 20 se.....],....."XFree86-1.1":.[..
ffc80 20 20 20 20 20 20 20 22 58 46 72 65 65 38 36 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 ......."XFree86.License.1.1",...
ffca0 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
ffcc0 2c 0a 20 20 20 20 22 78 69 6e 65 74 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 78 69 6e 65 74 ,....."xinetd":.[........."xinet
ffce0 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 d.License",.........false,......
ffd00 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 6e 65 74 22 3a 20 5b 0a 20 20 ...false.....],....."Xnet":.[...
ffd20 20 20 20 20 20 20 22 58 2e 4e 65 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 ......"X.Net.License",.........t
ffd40 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 78 rue,.........false.....],....."x
ffd60 70 70 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 50 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 pp":.[........."XPP.License",...
ffd80 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
ffda0 2c 0a 20 20 20 20 22 58 53 6b 61 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 53 6b 61 74 20 ,....."XSkat":.[........."XSkat.
ffdc0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 License",.........false,........
ffde0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 59 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 .false.....],....."YPL-1.0":.[..
ffe00 20 20 20 20 20 20 20 22 59 61 68 6f 6f 21 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 ......."Yahoo!.Public.License.v1
ffe20 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 .0",.........false,.........fals
ffe40 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 59 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."YPL-1.1":.[.......
ffe60 20 20 22 59 61 68 6f 6f 21 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a .."Yahoo!.Public.License.v1.1",.
ffe80 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
ffea0 20 5d 2c 0a 20 20 20 20 22 5a 65 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 65 64 20 4c 69 .],....."Zed":.[........."Zed.Li
ffec0 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
ffee0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 65 6e 64 2d 32 2e 30 22 3a 20 5b 0a 20 20 alse.....],....."Zend-2.0":.[...
fff00 20 20 20 20 20 20 22 5a 65 6e 64 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 ......"Zend.License.v2.0",......
fff20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
fff40 20 20 20 22 5a 69 6d 62 72 61 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 69 6d 62 ..."Zimbra-1.3":.[........."Zimb
fff60 72 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 ra.Public.License.v1.3",........
fff80 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
fffa0 20 22 5a 69 6d 62 72 61 2d 31 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 69 6d 62 72 61 ."Zimbra-1.4":.[........."Zimbra
fffc0 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 .Public.License.v1.4",.........f
fffe0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
100000 5a 6c 69 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 7a 6c 69 62 20 4c 69 63 65 6e 73 65 22 2c Zlib":.[........."zlib.License",
100020 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
100040 20 5d 2c 0a 20 20 20 20 22 7a 6c 69 62 2d 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 22 3a 20 .],....."zlib-acknowledgement":.
100060 5b 0a 20 20 20 20 20 20 20 20 22 7a 6c 69 62 2f 6c 69 62 70 6e 67 20 4c 69 63 65 6e 73 65 20 77 [........."zlib/libpng.License.w
100080 69 74 68 20 41 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ith.Acknowledgement",.........fa
1000a0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a lse,.........false.....],....."Z
1000c0 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 PL-1.1":.[........."Zope.Public.
1000e0 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 License.1.1",.........false,....
100100 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 50 4c 2d 32 2e 30 22 3a .....false.....],....."ZPL-2.0":
100120 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .[........."Zope.Public.License.
100140 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 2.0",.........true,.........fals
100160 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."ZPL-2.1":.[.......
100180 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 31 22 2c 0a 20 20 20 .."Zope.Public.License.2.1",....
1001a0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 0a .....false,.........false.....].
1001c0 7d 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 }MZ......................@......
1001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e8 00 00 ................................
100200 00 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e .........!..L.!This.program.cann
100220 6f 74 20 62 65 20 72 75 6e 20 69 6e 20 44 4f 53 20 6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 ot.be.run.in.DOS.mode....$......
100240 00 7f c6 2c cd 3b a7 42 9e 3b a7 42 9e 3b a7 42 9e 32 df d7 9e 3a a7 42 9e 32 df c1 9e 2d a7 42 ...,.;.B.;.B.;.B.2...:.B.2...-.B
100260 9e 32 df c6 9e 39 a7 42 9e 32 df d1 9e 3f a7 42 9e 1c 61 39 9e 38 a7 42 9e 3b a7 43 9e 08 a7 42 .2...9.B.2...?.B..a9.8.B.;.C...B
100280 9e 32 df c8 9e 3a a7 42 9e 32 df d6 9e 3a a7 42 9e 32 df d3 9e 3a a7 42 9e 52 69 63 68 3b a7 42 .2...:.B.2...:.B.2...:.B.Rich;.B
1002a0 9e 00 00 00 00 00 00 00 00 50 45 00 00 4c 01 05 00 ac 4d 6f 4f 00 00 00 00 00 00 00 00 e0 00 02 .........PE..L....MoO...........
1002c0 01 0b 01 09 00 00 0a 00 00 00 16 00 00 00 00 00 00 38 13 00 00 00 10 00 00 00 20 00 00 00 00 40 .................8.............@
1002e0 00 00 10 00 00 00 02 00 00 05 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 60 00 00 00 04 00 ..........................`.....
100300 00 3f 9c 00 00 03 00 40 81 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00 00 00 00 00 10 00 00 .?.....@........................
100320 00 00 00 00 00 00 00 00 00 90 22 00 00 50 00 00 00 00 40 00 00 20 06 00 00 00 00 00 00 00 00 00 .........."..P....@.............
100340 00 00 00 00 00 00 00 00 00 00 50 00 00 70 01 00 00 00 21 00 00 1c 00 00 00 00 00 00 00 00 00 00 ..........P..p....!.............
100360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 21 00 00 40 00 00 00 00 00 00 00 00 00 00 .................8!..@..........
100380 00 00 20 00 00 d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1003a0 00 2e 74 65 78 74 00 00 00 0b 09 00 00 00 10 00 00 00 0a 00 00 00 04 00 00 00 00 00 00 00 00 00 ..text..........................
1003c0 00 00 00 00 00 20 00 00 60 2e 72 64 61 74 61 00 00 ce 09 00 00 00 20 00 00 00 0a 00 00 00 0e 00 ........`.rdata.................
1003e0 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 40 2e 64 61 74 61 00 00 00 90 03 00 00 00 30 00 .............@..@.data........0.
100400 00 00 02 00 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 c0 2e 72 73 72 63 00 00 .....................@....rsrc..
100420 00 20 06 00 00 00 40 00 00 00 08 00 00 00 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 ......@......................@..
100440 40 2e 72 65 6c 6f 63 00 00 cc 01 00 00 00 50 00 00 00 02 00 00 00 22 00 00 00 00 00 00 00 00 00 @.reloc.......P.......".........
100460 00 00 00 00 00 40 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .....@..B.......................
100480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1004a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1004c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1005a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1005c0 00 6a 24 b8 e6 18 40 00 e8 78 08 00 00 6a f6 ff 15 08 20 40 00 83 65 d0 00 8b f0 8d 45 d0 50 56 .j$...@..x...j.....@..e.....E.PV
1005e0 ff 15 00 20 40 00 8b 45 d0 83 e0 fb 50 56 ff 15 04 20 40 00 8d 4d d4 ff 15 58 20 40 00 83 65 fc ....@..E....PV....@..M...X.@..e.
100600 00 8d 45 d4 50 ff 35 48 20 40 00 ff 15 4c 20 40 00 59 59 ff 35 5c 20 40 00 8d 45 d4 50 ff 35 60 ..E.P.5H.@...L.@.YY.5\.@..E.P.5`
100620 20 40 00 ff 15 44 20 40 00 59 59 8b c8 ff 15 50 20 40 00 83 4d fc ff 8d 4d d4 ff 15 54 20 40 00 .@...D.@.YY....P.@..M...M...T.@.
100640 33 c0 e8 48 08 00 00 c3 3b 0d 00 30 40 00 75 02 f3 c3 e9 ac 02 00 00 68 80 15 40 00 e8 a3 04 00 3..H....;..0@.u........h..@.....
100660 00 a1 6c 33 40 00 c7 04 24 34 30 40 00 ff 35 68 33 40 00 a3 34 30 40 00 68 24 30 40 00 68 28 30 ..l3@...$40@..5h3@..40@.h$0@.h(0
100680 40 00 68 20 30 40 00 ff 15 a0 20 40 00 83 c4 14 a3 30 30 40 00 85 c0 7d 08 6a 08 e8 b9 03 00 00 @.h.0@.....@.....00@...}.j......
1006a0 59 c3 6a 10 68 08 22 40 00 e8 1f 06 00 00 33 db 89 5d fc 64 a1 18 00 00 00 8b 70 04 89 5d e4 bf Y.j.h."@......3..].d......p..]..
1006c0 80 33 40 00 53 56 57 ff 15 30 20 40 00 3b c3 74 19 3b c6 75 08 33 f6 46 89 75 e4 eb 10 68 e8 03 .3@.SVW..0.@.;.t.;.u.3.F.u...h..
1006e0 00 00 ff 15 34 20 40 00 eb da 33 f6 46 a1 7c 33 40 00 3b c6 75 0a 6a 1f e8 5c 03 00 00 59 eb 3b ....4.@...3.F.|3@.;.u.j..\...Y.;
100700 a1 7c 33 40 00 85 c0 75 2c 89 35 7c 33 40 00 68 f0 20 40 00 68 e4 20 40 00 e8 a7 05 00 00 59 59 .|3@...u,.5|3@.h..@.h..@......YY
100720 85 c0 74 17 c7 45 fc fe ff ff ff b8 ff 00 00 00 e9 dd 00 00 00 89 35 3c 30 40 00 a1 7c 33 40 00 ..t..E................5<0@..|3@.
100740 3b c6 75 1b 68 e0 20 40 00 68 d8 20 40 00 e8 6c 05 00 00 59 59 c7 05 7c 33 40 00 02 00 00 00 39 ;.u.h..@.h..@..l...YY..|3@.....9
100760 5d e4 75 08 53 57 ff 15 38 20 40 00 39 1d 8c 33 40 00 74 19 68 8c 33 40 00 e8 83 04 00 00 59 85 ].u.SW..8.@.9..3@.t.h.3@......Y.
100780 c0 74 0a 53 6a 02 53 ff 15 8c 33 40 00 a1 24 30 40 00 8b 0d bc 20 40 00 89 01 ff 35 24 30 40 00 .t.Sj.S...3@..$0@.....@....5$0@.
1007a0 ff 35 28 30 40 00 ff 35 20 30 40 00 e8 10 fe ff ff 83 c4 0c a3 38 30 40 00 39 1d 2c 30 40 00 75 .5(0@..5.0@..........80@.9.,0@.u
1007c0 37 50 ff 15 c0 20 40 00 8b 45 ec 8b 08 8b 09 89 4d e0 50 51 e8 8e 03 00 00 59 59 c3 8b 65 e8 8b 7P....@..E......M.PQ.....YY..e..
1007e0 45 e0 a3 38 30 40 00 33 db 39 1d 2c 30 40 00 75 07 50 ff 15 68 20 40 00 39 1d 3c 30 40 00 75 06 E..80@.3.9.,0@.u.P..h.@.9.<0@.u.
100800 ff 15 9c 20 40 00 c7 45 fc fe ff ff ff a1 38 30 40 00 e8 fb 04 00 00 c3 b8 4d 5a 00 00 66 39 05 ....@..E......80@........MZ..f9.
100820 00 00 40 00 74 04 33 c0 eb 4d a1 3c 00 40 00 8d 80 00 00 40 00 81 38 50 45 00 00 75 e9 0f b7 48 ..@.t.3..M.<.@.....@..8PE..u...H
100840 18 81 f9 0b 01 00 00 74 1b 81 f9 0b 02 00 00 75 d5 83 b8 84 00 00 00 0e 76 cc 33 c9 39 88 f8 00 .......t.......u........v.3.9...
100860 00 00 eb 0e 83 78 74 0e 76 bc 33 c9 39 88 e8 00 00 00 0f 95 c1 8b c1 6a 01 a3 2c 30 40 00 ff 15 .....xt.v.3.9..........j..,0@...
100880 70 20 40 00 6a ff ff 15 6c 20 40 00 59 59 a3 84 33 40 00 a3 88 33 40 00 ff 15 cc 20 40 00 8b 0d p.@.j...l.@.YY..3@...3@.....@...
1008a0 74 33 40 00 89 08 ff 15 88 20 40 00 8b 0d 70 33 40 00 89 08 a1 a8 20 40 00 8b 00 a3 78 33 40 00 t3@.......@...p3@......@....x3@.
1008c0 e8 56 02 00 00 e8 ac 04 00 00 83 3d 14 30 40 00 00 75 0c 68 b5 17 40 00 ff 15 ac 20 40 00 59 e8 .V.........=.0@..u.h..@.....@.Y.
1008e0 67 04 00 00 83 3d 10 30 40 00 ff 75 09 6a ff ff 15 b0 20 40 00 59 33 c0 c3 e8 7b 04 00 00 e9 9f g....=.0@..u.j.....@.Y3...{.....
100900 fd ff ff 8b ff 55 8b ec 81 ec 28 03 00 00 a3 48 31 40 00 89 0d 44 31 40 00 89 15 40 31 40 00 89 .....U....(....H1@...D1@...@1@..
100920 1d 3c 31 40 00 89 35 38 31 40 00 89 3d 34 31 40 00 66 8c 15 60 31 40 00 66 8c 0d 54 31 40 00 66 .<1@..581@..=41@.f..`1@.f..T1@.f
100940 8c 1d 30 31 40 00 66 8c 05 2c 31 40 00 66 8c 25 28 31 40 00 66 8c 2d 24 31 40 00 9c 8f 05 58 31 ..01@.f..,1@.f.%(1@.f.-$1@....X1
100960 40 00 8b 45 00 a3 4c 31 40 00 8b 45 04 a3 50 31 40 00 8d 45 08 a3 5c 31 40 00 8b 85 e0 fc ff ff @..E..L1@..E..P1@..E..\1@.......
100980 c7 05 98 30 40 00 01 00 01 00 a1 50 31 40 00 a3 4c 30 40 00 c7 05 40 30 40 00 09 04 00 c0 c7 05 ...0@......P1@..L0@...@0@.......
1009a0 44 30 40 00 01 00 00 00 a1 00 30 40 00 89 85 d8 fc ff ff a1 04 30 40 00 89 85 dc fc ff ff ff 15 D0@.......0@.........0@.........
1009c0 1c 20 40 00 a3 90 30 40 00 6a 01 e8 3f 04 00 00 59 6a 00 ff 15 20 20 40 00 68 1c 21 40 00 ff 15 ..@...0@.j..?...Yj.....@.h.!@...
1009e0 24 20 40 00 83 3d 90 30 40 00 00 75 08 6a 01 e8 1b 04 00 00 59 68 09 04 00 c0 ff 15 28 20 40 00 $.@..=.0@..u.j......Yh......(.@.
100a00 50 ff 15 2c 20 40 00 c9 c3 8b ff 55 8b ec 8b 45 08 8b 00 81 38 63 73 6d e0 75 2a 83 78 10 03 75 P..,.@.....U...E....8csm.u*.x..u
100a20 24 8b 40 14 3d 20 05 93 19 74 15 3d 21 05 93 19 74 0e 3d 22 05 93 19 74 07 3d 00 40 99 01 75 05 $.@.=....t.=!...t.="...t.=.@..u.
100a40 e8 d0 03 00 00 33 c0 5d c2 04 00 68 48 14 40 00 ff 15 20 20 40 00 33 c0 c3 ff 25 a4 20 40 00 6a .....3.]...hH.@.....@.3...%..@.j
100a60 14 68 28 22 40 00 e8 62 02 00 00 ff 35 88 33 40 00 8b 35 8c 20 40 00 ff d6 59 89 45 e4 83 f8 ff .h("@..b....5.3@..5..@...Y.E....
100a80 75 0c ff 75 08 ff 15 c4 20 40 00 59 eb 67 6a 08 e8 92 03 00 00 59 83 65 fc 00 ff 35 88 33 40 00 u..u.....@.Y.gj......Y.e...5.3@.
100aa0 ff d6 89 45 e4 ff 35 84 33 40 00 ff d6 59 59 89 45 e0 8d 45 e0 50 8d 45 e4 50 ff 75 08 8b 35 6c ...E..5.3@...YY.E..E.P.E.P.u..5l
100ac0 20 40 00 ff d6 59 50 e8 55 03 00 00 89 45 dc ff 75 e4 ff d6 a3 88 33 40 00 ff 75 e0 ff d6 83 c4 .@...YP.U....E..u.....3@..u.....
100ae0 14 a3 84 33 40 00 c7 45 fc fe ff ff ff e8 09 00 00 00 8b 45 dc e8 18 02 00 00 c3 6a 08 e8 19 03 ...3@..E...........E.......j....
100b00 00 00 59 c3 8b ff 55 8b ec ff 75 08 e8 4e ff ff ff f7 d8 1b c0 f7 d8 59 48 5d c3 8b ff 56 b8 fc ..Y...U...u..N.........YH]...V..
100b20 21 40 00 be fc 21 40 00 57 8b f8 3b c6 73 0f 8b 07 85 c0 74 02 ff d0 83 c7 04 3b fe 72 f1 5f 5e !@...!@.W..;.s.....t......;.r._^
100b40 c3 8b ff 56 b8 04 22 40 00 be 04 22 40 00 57 8b f8 3b c6 73 0f 8b 07 85 c0 74 02 ff d0 83 c7 04 ...V.."@..."@.W..;.s.....t......
100b60 3b fe 72 f1 5f 5e c3 ff 25 c8 20 40 00 cc cc cc cc 8b ff 55 8b ec 8b 4d 08 b8 4d 5a 00 00 66 39 ;.r._^..%..@.......U...M..MZ..f9
100b80 01 74 04 33 c0 5d c3 8b 41 3c 03 c1 81 38 50 45 00 00 75 ef 33 d2 b9 0b 01 00 00 66 39 48 18 0f .t.3.]..A<...8PE..u.3......f9H..
100ba0 94 c2 8b c2 5d c3 cc cc cc cc cc cc cc cc cc cc cc 8b ff 55 8b ec 8b 45 08 8b 48 3c 03 c8 0f b7 ....]..............U...E..H<....
100bc0 41 14 53 56 0f b7 71 06 33 d2 57 8d 44 08 18 85 f6 76 1b 8b 7d 0c 8b 48 0c 3b f9 72 09 8b 58 08 A.SV..q.3.W.D....v..}..H.;.r..X.
100be0 03 d9 3b fb 72 0a 42 83 c0 28 3b d6 72 e8 33 c0 5f 5e 5b 5d c3 cc cc cc cc cc cc cc cc cc cc cc ..;.r.B..(;.r.3._^[]............
100c00 cc 8b ff 55 8b ec 6a fe 68 48 22 40 00 68 65 17 40 00 64 a1 00 00 00 00 50 83 ec 08 53 56 57 a1 ...U..j.hH"@.he.@.d.....P...SVW.
100c20 00 30 40 00 31 45 f8 33 c5 50 8d 45 f0 64 a3 00 00 00 00 89 65 e8 c7 45 fc 00 00 00 00 68 00 00 .0@.1E.3.P.E.d......e..E.....h..
100c40 40 00 e8 2a ff ff ff 83 c4 04 85 c0 74 55 8b 45 08 2d 00 00 40 00 50 68 00 00 40 00 e8 50 ff ff @..*........tU.E.-..@.Ph..@..P..
100c60 ff 83 c4 08 85 c0 74 3b 8b 40 24 c1 e8 1f f7 d0 83 e0 01 c7 45 fc fe ff ff ff 8b 4d f0 64 89 0d ......t;.@$.........E......M.d..
100c80 00 00 00 00 59 5f 5e 5b 8b e5 5d c3 8b 45 ec 8b 08 8b 01 33 d2 3d 05 00 00 c0 0f 94 c2 8b c2 c3 ....Y_^[..]..E.....3.=..........
100ca0 8b 65 e8 c7 45 fc fe ff ff ff 33 c0 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5e 5b 8b e5 5d c3 cc ff .e..E.....3..M.d......Y_^[..]...
100cc0 25 b8 20 40 00 ff 25 b4 20 40 00 cc cc 68 65 17 40 00 64 ff 35 00 00 00 00 8b 44 24 10 89 6c 24 %..@..%..@...he.@.d.5.....D$..l$
100ce0 10 8d 6c 24 10 2b e0 53 56 57 a1 00 30 40 00 31 45 fc 33 c5 50 89 65 e8 ff 75 f8 8b 45 fc c7 45 ..l$.+.SVW..0@.1E.3.P.e..u..E..E
100d00 fc fe ff ff ff 89 45 f8 8d 45 f0 64 a3 00 00 00 00 c3 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5f 5e ......E..E.d.......M.d......Y__^
100d20 5b 8b e5 5d 51 c3 8b ff 55 8b ec ff 75 14 ff 75 10 ff 75 0c ff 75 08 68 87 10 40 00 68 00 30 40 [..]Q...U...u..u..u..u.h..@.h.0@
100d40 00 e8 e7 00 00 00 83 c4 18 5d c3 8b ff 56 68 00 00 03 00 68 00 00 01 00 33 f6 56 e8 d9 00 00 00 .........]...Vh....h....3.V.....
100d60 83 c4 0c 85 c0 74 0d 56 56 56 56 56 e8 c2 00 00 00 83 c4 14 5e c3 33 c0 c3 8b ff 55 8b ec 83 ec .....t.VVVVV........^.3....U....
100d80 10 a1 00 30 40 00 83 65 f8 00 83 65 fc 00 53 57 bf 4e e6 40 bb bb 00 00 ff ff 3b c7 74 0d 85 c3 ...0@..e...e..SW.N.@......;.t...
100da0 74 09 f7 d0 a3 04 30 40 00 eb 60 56 8d 45 f8 50 ff 15 3c 20 40 00 8b 75 fc 33 75 f8 ff 15 0c 20 t.....0@..`V.E.P..<.@..u.3u.....
100dc0 40 00 33 f0 ff 15 10 20 40 00 33 f0 ff 15 14 20 40 00 33 f0 8d 45 f0 50 ff 15 18 20 40 00 8b 45 @.3.....@.3.....@.3..E.P....@..E
100de0 f4 33 45 f0 33 f0 3b f7 75 07 be 4f e6 40 bb eb 0b 85 f3 75 07 8b c6 c1 e0 10 0b f0 89 35 00 30 .3E.3.;.u..O.@.....u.........5.0
100e00 40 00 f7 d6 89 35 04 30 40 00 5e 5f 5b c9 c3 ff 25 74 20 40 00 ff 25 78 20 40 00 ff 25 7c 20 40 @....5.0@.^_[...%t.@..%x.@..%|.@
100e20 00 ff 25 80 20 40 00 ff 25 84 20 40 00 ff 25 90 20 40 00 ff 25 94 20 40 00 ff 25 98 20 40 00 ff ..%..@..%..@..%..@..%..@..%..@..
100e40 25 d0 20 40 00 50 64 ff 35 00 00 00 00 8d 44 24 0c 2b 64 24 0c 53 56 57 89 28 8b e8 a1 00 30 40 %..@.Pd.5.....D$.+d$.SVW.(....0@
100e60 00 33 c5 50 89 45 f0 ff 75 fc c7 45 fc ff ff ff ff 8d 45 f4 64 a3 00 00 00 00 c3 8b 4d f4 64 89 .3.P.E..u..E......E.d.......M.d.
100e80 0d 00 00 00 00 59 5f 5f 5e 5b 8b e5 5d 51 c3 8b 4d f0 33 cd e8 af f7 ff ff e9 dd ff ff ff 8d 4d .....Y__^[..]Q..M.3............M
100ea0 d4 ff 25 54 20 40 00 8b 54 24 08 8d 42 0c 8b 4a cc 33 c8 e8 90 f7 ff ff 8b 4a fc 33 c8 e8 86 f7 ..%T.@..T$..B..J.3.......J.3....
100ec0 ff ff b8 6c 22 40 00 e9 73 ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...l"@..s.......................
100ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100fc0 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 29 00 00 72 29 00 00 62 29 00 00 48 29 00 00 34 29 00 ..#...#...#...)..r)..b)..H)..4).
100fe0 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 28 00 00 b4 28 00 00 ac 28 00 00 96 28 00 00 9e 29 00 ..)...(...(...(...(...(...(...).
101000 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a 25 00 00 ca 25 00 00 1a 26 00 00 64 26 00 00 ae 26 00 ......#...$...%...%...&..d&...&.
101020 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 27 00 00 d6 27 00 00 e8 27 00 00 fe 27 00 00 1e 28 00 ..$......('...'...'...'...'...(.
101040 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 28 00 00 5a 28 00 00 74 28 00 00 86 28 00 00 1e 27 00 .((..6(...'..H(..Z(..t(...(...'.
101060 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 27 00 00 6c 27 00 00 5e 27 00 00 52 27 00 00 46 27 00 ..'...'...'...'..l'..^'..R'..F'.
101080 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 27 00 00 b8 29 00 00 00 00 00 00 00 00 00 00 96 10 40 .>'..>(..0'...'...)............@
1010a0 00 00 00 00 00 00 00 00 00 57 12 40 00 8a 14 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........W.@...@................
1010c0 00 00 00 00 00 ac 4d 6f 4f 00 00 00 00 02 00 00 00 6c 00 00 00 80 21 00 00 80 0f 00 00 40 30 40 ......MoO........l....!......@0@
1010e0 00 98 30 40 00 62 61 64 20 61 6c 6c 6f 63 61 74 69 6f 6e 00 00 00 00 00 00 48 00 00 00 00 00 00 ..0@.bad.allocation......H......
101100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 40 00 f0 21 40 00 02 00 00 ......................0@..!@....
101140 00 52 53 44 53 d1 8c b3 10 b4 8f 01 4a a8 21 f6 cc eb 4c 5a 00 01 00 00 00 63 3a 5c 75 73 65 72 .RSDS.......J.!...LZ.....c:\user
101160 73 5c 73 65 6c 64 5c 64 6f 63 75 6d 65 6e 74 73 5c 76 69 73 75 61 6c 20 73 74 75 64 69 6f 20 32 s\seld\documents\visual.studio.2
101180 30 31 30 5c 50 72 6f 6a 65 63 74 73 5c 68 69 64 64 65 6e 69 6e 70 5c 52 65 6c 65 61 73 65 5c 68 010\Projects\hiddeninp\Release\h
1011a0 69 64 64 65 6e 69 6e 70 2e 70 64 62 00 00 00 00 00 65 17 00 00 e6 18 00 00 00 00 00 00 00 00 00 iddeninp.pdb.....e..............
1011c0 00 00 00 00 00 00 00 00 00 fe ff ff ff 00 00 00 00 d0 ff ff ff 00 00 00 00 fe ff ff ff 07 12 40 ...............................@
1011e0 00 1b 12 40 00 00 00 00 00 fe ff ff ff 00 00 00 00 cc ff ff ff 00 00 00 00 fe ff ff ff 00 00 00 ...@............................
101200 00 3a 15 40 00 00 00 00 00 fe ff ff ff 00 00 00 00 d8 ff ff ff 00 00 00 00 fe ff ff ff cb 16 40 .:.@...........................@
101220 00 df 16 40 00 ff ff ff ff dd 18 40 00 22 05 93 19 01 00 00 00 64 22 40 00 00 00 00 00 00 00 00 ...@.......@.".......d"@........
101240 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 22 00 00 00 00 00 00 00 00 00 00 ec 23 00 .................."...........#.
101260 00 00 20 00 00 24 23 00 00 00 00 00 00 00 00 00 00 f4 26 00 00 44 20 00 00 48 23 00 00 00 00 00 .....$#...........&..D...H#.....
101280 00 00 00 00 00 12 28 00 00 68 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ......(..h......................
1012a0 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 29 00 00 72 29 00 00 62 29 00 00 48 29 00 00 34 29 00 ..#...#...#...)..r)..b)..H)..4).
1012c0 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 28 00 00 b4 28 00 00 ac 28 00 00 96 28 00 00 9e 29 00 ..)...(...(...(...(...(...(...).
1012e0 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a 25 00 00 ca 25 00 00 1a 26 00 00 64 26 00 00 ae 26 00 ......#...$...%...%...&..d&...&.
101300 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 27 00 00 d6 27 00 00 e8 27 00 00 fe 27 00 00 1e 28 00 ..$......('...'...'...'...'...(.
101320 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 28 00 00 5a 28 00 00 74 28 00 00 86 28 00 00 1e 27 00 .((..6(...'..H(..Z(..t(...(...'.
101340 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 27 00 00 6c 27 00 00 5e 27 00 00 52 27 00 00 46 27 00 ..'...'...'...'..l'..^'..R'..F'.
101360 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 27 00 00 b8 29 00 00 00 00 00 00 95 01 47 65 74 43 6f .>'..>(..0'...'...)........GetCo
101380 6e 73 6f 6c 65 4d 6f 64 65 00 00 b7 03 53 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 00 00 3b 02 47 nsoleMode....SetConsoleMode..;.G
1013a0 65 74 53 74 64 48 61 6e 64 6c 65 00 00 4b 45 52 4e 45 4c 33 32 2e 64 6c 6c 00 00 16 00 3f 3f 24 etStdHandle..KERNEL32.dll....??$
1013c0 3f 36 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f ?6DU?$char_traits@D@std@@V?$allo
1013e0 63 61 74 6f 72 40 44 40 31 40 40 73 74 64 40 40 59 41 41 41 56 3f 24 62 61 73 69 63 5f 6f 73 74 cator@D@1@@std@@YAAAV?$basic_ost
101400 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 30 40 41 ream@DU?$char_traits@D@std@@@0@A
101420 41 56 31 30 40 41 42 56 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f AV10@ABV?$basic_string@DU?$char_
101440 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 traits@D@std@@V?$allocator@D@2@@
101460 30 40 40 5a 00 91 06 3f 63 6f 75 74 40 73 74 64 40 40 33 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 0@@Z...?cout@std@@3V?$basic_ostr
101480 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 00 eam@DU?$char_traits@D@std@@@1@A.
1014a0 00 4a 06 3f 63 69 6e 40 73 74 64 40 40 33 56 3f 24 62 61 73 69 63 5f 69 73 74 72 65 61 6d 40 44 .J.?cin@std@@3V?$basic_istream@D
1014c0 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 00 c2 00 3f 3f 24 U?$char_traits@D@std@@@1@A...??$
1014e0 67 65 74 6c 69 6e 65 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 getline@DU?$char_traits@D@std@@V
101500 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 73 74 64 40 40 59 41 41 41 56 3f 24 62 61 73 ?$allocator@D@2@@std@@YAAAV?$bas
101520 69 63 5f 69 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 ic_istream@DU?$char_traits@D@std
101540 40 40 40 30 40 41 41 56 31 30 40 41 41 56 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f @@@0@AAV10@AAV?$basic_string@DU?
101560 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 $char_traits@D@std@@V?$allocator
101580 40 44 40 32 40 40 30 40 40 5a 00 1d 03 3f 3f 36 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 @D@2@@0@@Z...??6?$basic_ostream@
1015a0 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 73 74 64 40 40 51 41 45 DU?$char_traits@D@std@@@std@@QAE
1015c0 41 41 56 30 31 40 50 36 41 41 41 56 30 31 40 41 41 56 30 31 40 40 5a 40 5a 00 00 5f 02 3f 3f 31 AAV01@P6AAAV01@AAV01@@Z@Z.._.??1
1015e0 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 ?$basic_string@DU?$char_traits@D
101600 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 73 74 64 40 40 51 41 45 @std@@V?$allocator@D@2@@std@@QAE
101620 40 58 5a 00 00 7b 01 3f 3f 30 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 @XZ..{.??0?$basic_string@DU?$cha
101640 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 r_traits@D@std@@V?$allocator@D@2
101660 40 40 73 74 64 40 40 51 41 45 40 58 5a 00 00 b3 07 3f 65 6e 64 6c 40 73 74 64 40 40 59 41 41 41 @@std@@QAE@XZ....?endl@std@@YAAA
101680 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 V?$basic_ostream@DU?$char_traits
1016a0 40 44 40 73 74 64 40 40 40 31 40 41 41 56 32 31 40 40 5a 00 00 4d 53 56 43 50 39 30 2e 64 6c 6c @D@std@@@1@AAV21@@Z..MSVCP90.dll
1016c0 00 15 01 5f 61 6d 73 67 5f 65 78 69 74 00 00 9f 00 5f 5f 67 65 74 6d 61 69 6e 61 72 67 73 00 2c ..._amsg_exit....__getmainargs.,
1016e0 01 5f 63 65 78 69 74 00 00 7c 01 5f 65 78 69 74 00 66 00 5f 58 63 70 74 46 69 6c 74 65 72 00 cc ._cexit..|._exit.f._XcptFilter..
101700 04 65 78 69 74 00 00 a0 00 5f 5f 69 6e 69 74 65 6e 76 00 04 02 5f 69 6e 69 74 74 65 72 6d 00 05 .exit....__initenv..._initterm..
101720 02 5f 69 6e 69 74 74 65 72 6d 5f 65 00 3c 01 5f 63 6f 6e 66 69 67 74 68 72 65 61 64 6c 6f 63 61 ._initterm_e.<._configthreadloca
101740 6c 65 00 e3 00 5f 5f 73 65 74 75 73 65 72 6d 61 74 68 65 72 72 00 00 0b 01 5f 61 64 6a 75 73 74 le...__setusermatherr...._adjust
101760 5f 66 64 69 76 00 00 cb 00 5f 5f 70 5f 5f 63 6f 6d 6d 6f 64 65 00 00 cf 00 5f 5f 70 5f 5f 66 6d _fdiv....__p__commode....__p__fm
101780 6f 64 65 00 00 6a 01 5f 65 6e 63 6f 64 65 5f 70 6f 69 6e 74 65 72 00 e0 00 5f 5f 73 65 74 5f 61 ode..j._encode_pointer...__set_a
1017a0 70 70 5f 74 79 70 65 00 00 4b 01 5f 63 72 74 5f 64 65 62 75 67 67 65 72 5f 68 6f 6f 6b 00 00 43 pp_type..K._crt_debugger_hook..C
1017c0 00 3f 74 65 72 6d 69 6e 61 74 65 40 40 59 41 58 58 5a 00 4d 53 56 43 52 39 30 2e 64 6c 6c 00 e6 .?terminate@@YAXXZ.MSVCR90.dll..
1017e0 03 5f 75 6e 6c 6f 63 6b 00 96 00 5f 5f 64 6c 6c 6f 6e 65 78 69 74 00 76 02 5f 6c 6f 63 6b 00 1c ._unlock...__dllonexit.v._lock..
101800 03 5f 6f 6e 65 78 69 74 00 60 01 5f 64 65 63 6f 64 65 5f 70 6f 69 6e 74 65 72 00 73 01 5f 65 78 ._onexit.`._decode_pointer.s._ex
101820 63 65 70 74 5f 68 61 6e 64 6c 65 72 34 5f 63 6f 6d 6d 6f 6e 00 0b 02 5f 69 6e 76 6f 6b 65 5f 77 cept_handler4_common..._invoke_w
101840 61 74 73 6f 6e 00 00 3f 01 5f 63 6f 6e 74 72 6f 6c 66 70 5f 73 00 00 bd 02 49 6e 74 65 72 6c 6f atson..?._controlfp_s....Interlo
101860 63 6b 65 64 45 78 63 68 61 6e 67 65 00 21 04 53 6c 65 65 70 00 ba 02 49 6e 74 65 72 6c 6f 63 6b ckedExchange.!.Sleep...Interlock
101880 65 64 43 6f 6d 70 61 72 65 45 78 63 68 61 6e 67 65 00 00 2d 04 54 65 72 6d 69 6e 61 74 65 50 72 edCompareExchange..-.TerminatePr
1018a0 6f 63 65 73 73 00 00 a9 01 47 65 74 43 75 72 72 65 6e 74 50 72 6f 63 65 73 73 00 3e 04 55 6e 68 ocess....GetCurrentProcess.>.Unh
1018c0 61 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e 46 69 6c 74 65 72 00 00 15 04 53 65 74 55 6e 68 61 andledExceptionFilter....SetUnha
1018e0 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e 46 69 6c 74 65 72 00 d1 02 49 73 44 65 62 75 67 67 65 ndledExceptionFilter...IsDebugge
101900 72 50 72 65 73 65 6e 74 00 54 03 51 75 65 72 79 50 65 72 66 6f 72 6d 61 6e 63 65 43 6f 75 6e 74 rPresent.T.QueryPerformanceCount
101920 65 72 00 66 02 47 65 74 54 69 63 6b 43 6f 75 6e 74 00 00 ad 01 47 65 74 43 75 72 72 65 6e 74 54 er.f.GetTickCount....GetCurrentT
101940 68 72 65 61 64 49 64 00 00 aa 01 47 65 74 43 75 72 72 65 6e 74 50 72 6f 63 65 73 73 49 64 00 4f hreadId....GetCurrentProcessId.O
101960 02 47 65 74 53 79 73 74 65 6d 54 69 6d 65 41 73 46 69 6c 65 54 69 6d 65 00 73 00 5f 5f 43 78 78 .GetSystemTimeAsFileTime.s.__Cxx
101980 46 72 61 6d 65 48 61 6e 64 6c 65 72 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FrameHandler3...................
1019a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1019c0 00 4e e6 40 bb b1 19 bf 44 ff ff ff ff ff ff ff ff fe ff ff ff 01 00 00 00 24 21 40 00 00 00 00 .N.@....D................$!@....
1019e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101bc0 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 02 00 10 00 00 00 20 00 00 80 18 00 00 00 38 00 00 .............................8..
101be0 80 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 01 00 00 00 50 00 00 80 00 00 00 00 00 00 00 .....................P..........
101c00 00 04 00 00 00 00 00 01 00 01 00 00 00 68 00 00 80 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 .............h..................
101c20 00 09 04 00 00 80 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 09 04 00 00 90 00 00 ................................
101c40 00 a0 40 00 00 28 03 00 00 e4 04 00 00 00 00 00 00 c8 43 00 00 56 02 00 00 e4 04 00 00 00 00 00 ..@..(............C..V..........
101c60 00 28 03 34 00 00 00 56 00 53 00 5f 00 56 00 45 00 52 00 53 00 49 00 4f 00 4e 00 5f 00 49 00 4e .(.4...V.S._.V.E.R.S.I.O.N._.I.N
101c80 00 46 00 4f 00 00 00 00 00 bd 04 ef fe 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 .F.O............................
101ca0 00 17 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 86 02 00 ................................
101cc0 00 01 00 53 00 74 00 72 00 69 00 6e 00 67 00 46 00 69 00 6c 00 65 00 49 00 6e 00 66 00 6f 00 00 ...S.t.r.i.n.g.F.i.l.e.I.n.f.o..
101ce0 00 62 02 00 00 01 00 30 00 34 00 30 00 39 00 30 00 34 00 62 00 30 00 00 00 ca 00 51 00 01 00 46 .b.....0.4.0.9.0.4.b.0.....Q...F
101d00 00 69 00 6c 00 65 00 44 00 65 00 73 00 63 00 72 00 69 00 70 00 74 00 69 00 6f 00 6e 00 00 00 00 .i.l.e.D.e.s.c.r.i.p.t.i.o.n....
101d20 00 52 00 65 00 61 00 64 00 73 00 20 00 66 00 72 00 6f 00 6d 00 20 00 73 00 74 00 64 00 69 00 6e .R.e.a.d.s...f.r.o.m...s.t.d.i.n
101d40 00 20 00 77 00 69 00 74 00 68 00 6f 00 75 00 74 00 20 00 6c 00 65 00 61 00 6b 00 69 00 6e 00 67 ...w.i.t.h.o.u.t...l.e.a.k.i.n.g
101d60 00 20 00 69 00 6e 00 66 00 6f 00 20 00 74 00 6f 00 20 00 74 00 68 00 65 00 20 00 74 00 65 00 72 ...i.n.f.o...t.o...t.h.e...t.e.r
101d80 00 6d 00 69 00 6e 00 61 00 6c 00 20 00 61 00 6e 00 64 00 20 00 6f 00 75 00 74 00 70 00 75 00 74 .m.i.n.a.l...a.n.d...o.u.t.p.u.t
101da0 00 73 00 20 00 62 00 61 00 63 00 6b 00 20 00 74 00 6f 00 20 00 73 00 74 00 64 00 6f 00 75 00 74 .s...b.a.c.k...t.o...s.t.d.o.u.t
101dc0 00 00 00 00 00 36 00 0b 00 01 00 46 00 69 00 6c 00 65 00 56 00 65 00 72 00 73 00 69 00 6f 00 6e .....6.....F.i.l.e.V.e.r.s.i.o.n
101de0 00 00 00 00 00 31 00 2c 00 20 00 30 00 2c 00 20 00 30 00 2c 00 20 00 30 00 00 00 00 00 38 00 0c .....1.,...0.,...0.,...0.....8..
101e00 00 01 00 49 00 6e 00 74 00 65 00 72 00 6e 00 61 00 6c 00 4e 00 61 00 6d 00 65 00 00 00 68 00 69 ...I.n.t.e.r.n.a.l.N.a.m.e...h.i
101e20 00 64 00 64 00 65 00 6e 00 69 00 6e 00 70 00 75 00 74 00 00 00 50 00 16 00 01 00 4c 00 65 00 67 .d.d.e.n.i.n.p.u.t...P.....L.e.g
101e40 00 61 00 6c 00 43 00 6f 00 70 00 79 00 72 00 69 00 67 00 68 00 74 00 00 00 4a 00 6f 00 72 00 64 .a.l.C.o.p.y.r.i.g.h.t...J.o.r.d
101e60 00 69 00 20 00 42 00 6f 00 67 00 67 00 69 00 61 00 6e 00 6f 00 20 00 2d 00 20 00 32 00 30 00 31 .i...B.o.g.g.i.a.n.o...-...2.0.1
101e80 00 32 00 00 00 48 00 10 00 01 00 4f 00 72 00 69 00 67 00 69 00 6e 00 61 00 6c 00 46 00 69 00 6c .2...H.....O.r.i.g.i.n.a.l.F.i.l
101ea0 00 65 00 6e 00 61 00 6d 00 65 00 00 00 68 00 69 00 64 00 64 00 65 00 6e 00 69 00 6e 00 70 00 75 .e.n.a.m.e...h.i.d.d.e.n.i.n.p.u
101ec0 00 74 00 2e 00 65 00 78 00 65 00 00 00 3a 00 0d 00 01 00 50 00 72 00 6f 00 64 00 75 00 63 00 74 .t...e.x.e...:.....P.r.o.d.u.c.t
101ee0 00 4e 00 61 00 6d 00 65 00 00 00 00 00 48 00 69 00 64 00 64 00 65 00 6e 00 20 00 49 00 6e 00 70 .N.a.m.e.....H.i.d.d.e.n...I.n.p
101f00 00 75 00 74 00 00 00 00 00 3a 00 0b 00 01 00 50 00 72 00 6f 00 64 00 75 00 63 00 74 00 56 00 65 .u.t.....:.....P.r.o.d.u.c.t.V.e
101f20 00 72 00 73 00 69 00 6f 00 6e 00 00 00 31 00 2c 00 20 00 30 00 2c 00 20 00 30 00 2c 00 20 00 30 .r.s.i.o.n...1.,...0.,...0.,...0
101f40 00 00 00 00 00 44 00 00 00 01 00 56 00 61 00 72 00 46 00 69 00 6c 00 65 00 49 00 6e 00 66 00 6f .....D.....V.a.r.F.i.l.e.I.n.f.o
101f60 00 00 00 00 00 24 00 04 00 00 00 54 00 72 00 61 00 6e 00 73 00 6c 00 61 00 74 00 69 00 6f 00 6e .....$.....T.r.a.n.s.l.a.t.i.o.n
101f80 00 00 00 00 00 09 04 b0 04 3c 61 73 73 65 6d 62 6c 79 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 73 63 .........<assembly.xmlns="urn:sc
101fa0 68 65 6d 61 73 2d 6d 69 63 72 6f 73 6f 66 74 2d 63 6f 6d 3a 61 73 6d 2e 76 31 22 20 6d 61 6e 69 hemas-microsoft-com:asm.v1".mani
101fc0 66 65 73 74 56 65 72 73 69 6f 6e 3d 22 31 2e 30 22 3e 0d 0a 20 20 3c 74 72 75 73 74 49 6e 66 6f festVersion="1.0">....<trustInfo
101fe0 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 73 63 68 65 6d 61 73 2d 6d 69 63 72 6f 73 6f 66 74 2d 63 6f .xmlns="urn:schemas-microsoft-co
102000 6d 3a 61 73 6d 2e 76 33 22 3e 0d 0a 20 20 20 20 3c 73 65 63 75 72 69 74 79 3e 0d 0a 20 20 20 20 m:asm.v3">......<security>......
102020 20 20 3c 72 65 71 75 65 73 74 65 64 50 72 69 76 69 6c 65 67 65 73 3e 0d 0a 20 20 20 20 20 20 20 ..<requestedPrivileges>.........
102040 20 3c 72 65 71 75 65 73 74 65 64 45 78 65 63 75 74 69 6f 6e 4c 65 76 65 6c 20 6c 65 76 65 6c 3d .<requestedExecutionLevel.level=
102060 22 61 73 49 6e 76 6f 6b 65 72 22 20 75 69 41 63 63 65 73 73 3d 22 66 61 6c 73 65 22 3e 3c 2f 72 "asInvoker".uiAccess="false"></r
102080 65 71 75 65 73 74 65 64 45 78 65 63 75 74 69 6f 6e 4c 65 76 65 6c 3e 0d 0a 20 20 20 20 20 20 3c equestedExecutionLevel>........<
1020a0 2f 72 65 71 75 65 73 74 65 64 50 72 69 76 69 6c 65 67 65 73 3e 0d 0a 20 20 20 20 3c 2f 73 65 63 /requestedPrivileges>......</sec
1020c0 75 72 69 74 79 3e 0d 0a 20 20 3c 2f 74 72 75 73 74 49 6e 66 6f 3e 0d 0a 20 20 3c 64 65 70 65 6e urity>....</trustInfo>....<depen
1020e0 64 65 6e 63 79 3e 0d 0a 20 20 20 20 3c 64 65 70 65 6e 64 65 6e 74 41 73 73 65 6d 62 6c 79 3e 0d dency>......<dependentAssembly>.
102100 0a 20 20 20 20 20 20 3c 61 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 20 74 79 70 65 3d 22 77 .......<assemblyIdentity.type="w
102120 69 6e 33 32 22 20 6e 61 6d 65 3d 22 4d 69 63 72 6f 73 6f 66 74 2e 56 43 39 30 2e 43 52 54 22 20 in32".name="Microsoft.VC90.CRT".
102140 76 65 72 73 69 6f 6e 3d 22 39 2e 30 2e 32 31 30 32 32 2e 38 22 20 70 72 6f 63 65 73 73 6f 72 41 version="9.0.21022.8".processorA
102160 72 63 68 69 74 65 63 74 75 72 65 3d 22 78 38 36 22 20 70 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e rchitecture="x86".publicKeyToken
102180 3d 22 31 66 63 38 62 33 62 39 61 31 65 31 38 65 33 62 22 3e 3c 2f 61 73 73 65 6d 62 6c 79 49 64 ="1fc8b3b9a1e18e3b"></assemblyId
1021a0 65 6e 74 69 74 79 3e 0d 0a 20 20 20 20 3c 2f 64 65 70 65 6e 64 65 6e 74 41 73 73 65 6d 62 6c 79 entity>......</dependentAssembly
1021c0 3e 0d 0a 20 20 3c 2f 64 65 70 65 6e 64 65 6e 63 79 3e 0d 0a 3c 2f 61 73 73 65 6d 62 6c 79 3e 50 >....</dependency>..</assembly>P
1021e0 41 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e APADDINGXXPADDINGPADDINGXXPADDIN
102200 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102220 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102240 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102260 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102280 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
1022a0 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
1022c0 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
1022e0 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102300 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102320 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102340 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102360 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
102380 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
1023a0 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e GPADDINGXXPADDINGPADDINGXXPADDIN
1023c0 47 00 10 00 00 40 01 00 00 03 30 10 30 21 30 2f 30 38 30 46 30 4c 30 54 30 5e 30 64 30 6e 30 7b G....@....0.0!0/080F0L0T0^0d0n0{
1023e0 30 89 30 97 30 a1 30 a8 30 ae 30 b3 30 b8 30 bd 30 c2 30 c8 30 d0 30 e4 30 ff 30 08 31 23 31 2d 0.0.0.0.0.0.0.0.0.0.0.0.0.0.1#1-
102400 31 40 31 4a 31 4f 31 54 31 76 31 7b 31 84 31 89 31 96 31 a7 31 ad 31 b4 31 c8 31 cd 31 d3 31 db 1@1J1O1T1v1{1.1.1.1.1.1.1.1.1.1.
102420 31 e1 31 e7 31 f4 31 fa 31 03 32 22 32 2a 32 33 32 39 32 41 32 4d 32 5f 32 6a 32 70 32 b9 32 bf 1.1.1.1.1.2"2*23292A2M2_2j2p2.2.
102440 32 c7 32 ce 32 d3 32 d9 32 df 32 e7 32 ed 32 f4 32 fb 32 0b 33 13 33 19 33 25 33 30 33 4e 33 54 2.2.2.2.2.2.2.2.2.2.3.3.3%303N3T
102460 33 5a 33 60 33 66 33 6c 33 73 33 7a 33 81 33 88 33 8f 33 96 33 9d 33 a5 33 ad 33 b5 33 c1 33 ca 3Z3`3f3l3s3z3.3.3.3.3.3.3.3.3.3.
102480 33 cf 33 d5 33 df 33 e8 33 f3 33 ff 33 04 34 14 34 19 34 1f 34 25 34 3b 34 42 34 8b 34 91 34 9a 3.3.3.3.3.3.3.4.4.4.4%4;4B4.4.4.
1024a0 34 a1 34 ac 34 b2 34 c6 34 db 34 e6 34 fe 34 14 35 21 35 5e 35 63 35 84 35 89 35 a8 35 48 36 4d 4.4.4.4.4.4.4.4.5!5^5c5.5.5.5H6M
1024c0 36 5f 36 7d 36 91 36 97 36 00 37 06 37 0d 37 2a 37 77 37 7c 37 c1 37 e4 37 f1 37 fd 37 05 38 0d 6_6}6.6.6.7.7.7*7w7|7.7.7.7.7.8.
1024e0 38 19 38 3d 38 45 38 50 38 56 38 5c 38 62 38 68 38 6e 38 74 38 7a 38 80 38 9c 38 e2 38 02 39 00 8.8=8E8P8V8\8b8h8n8t8z8.8.8.8.9.
102500 00 00 20 00 00 24 00 00 00 dc 30 e8 30 ec 30 1c 31 20 31 74 31 78 31 1c 32 20 32 40 32 5c 32 60 .....$....0.0.0.1.1t1x1.2.2@2\2`
102520 32 68 32 74 32 00 30 00 00 0c 00 00 00 18 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2h2t2.0.......0.................
102540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1025a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1025c0 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
1025e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f ny\Component\Console;..use.Symfo
102600 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c ny\Component\Console\Descriptor\
102620 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 TextDescriptor;.use.Symfony\Comp
102640 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 onent\Console\Descriptor\XmlDesc
102660 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f riptor;.use.Symfony\Component\Co
102680 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 nsole\Exception\ExceptionInterfa
1026a0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
1026c0 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 e\Formatter\OutputFormatter;.use
1026e0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 .Symfony\Component\Console\Helpe
102700 72 5c 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 r\DebugFormatterHelper;.use.Symf
102720 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c ony\Component\Console\Helper\Hel
102740 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f per;.use.Symfony\Component\Conso
102760 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 63 65 73 73 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d le\Helper\ProcessHelper;.use.Sym
102780 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 fony\Component\Console\Helper\Qu
1027a0 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e estionHelper;.use.Symfony\Compon
1027c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 ent\Console\Input\InputInterface
1027e0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
102800 49 6e 70 75 74 5c 41 72 67 76 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d Input\ArgvInput;.use.Symfony\Com
102820 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b ponent\Console\Input\ArrayInput;
102840 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
102860 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e nput\InputDefinition;.use.Symfon
102880 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f y\Component\Console\Input\InputO
1028a0 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
1028c0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 sole\Input\InputArgument;.use.Sy
1028e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
102900 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 putAwareInterface;.use.Symfony\C
102920 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 omponent\Console\Output\Buffered
102940 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Output;.use.Symfony\Component\Co
102960 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 nsole\Output\OutputInterface;.us
102980 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 e.Symfony\Component\Console\Outp
1029a0 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ut\ConsoleOutput;.use.Symfony\Co
1029c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 mponent\Console\Output\ConsoleOu
1029e0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f tputInterface;.use.Symfony\Compo
102a00 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 nent\Console\Command\Command;.us
102a20 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d e.Symfony\Component\Console\Comm
102a40 61 6e 64 5c 48 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d and\HelpCommand;.use.Symfony\Com
102a60 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 4c 69 73 74 43 6f 6d 6d 61 ponent\Console\Command\ListComma
102a80 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c nd;.use.Symfony\Component\Consol
102aa0 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c e\Helper\HelperSet;.use.Symfony\
102ac0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 46 6f 72 6d 61 74 74 Component\Console\Helper\Formatt
102ae0 65 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c erHelper;.use.Symfony\Component\
102b00 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 3b 0a 75 73 65 Console\Helper\DialogHelper;.use
102b20 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 .Symfony\Component\Console\Helpe
102b40 72 5c 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f r\ProgressHelper;.use.Symfony\Co
102b60 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 mponent\Console\Helper\TableHelp
102b80 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c er;.use.Symfony\Component\Consol
102ba0 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 e\Event\ConsoleCommandEvent;.use
102bc0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 .Symfony\Component\Console\Event
102be0 5c 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 \ConsoleExceptionEvent;.use.Symf
102c00 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 ony\Component\Console\Event\Cons
102c20 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 oleTerminateEvent;.use.Symfony\C
102c40 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 omponent\Console\Exception\Comma
102c60 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ndNotFoundException;.use.Symfony
102c80 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 \Component\Console\Exception\Log
102ca0 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 icException;.use.Symfony\Compone
102cc0 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 54 68 72 6f 77 61 62 6c nt\Debug\Exception\FatalThrowabl
102ce0 65 45 72 72 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 45 76 eError;.use.Symfony\Component\Ev
102d00 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 49 6e 74 entDispatcher\EventDispatcherInt
102d20 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 erface;.................class.Ap
102d40 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 plication.{.private.$commands.=.
102d60 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 array();.private.$wantHelps.=.fa
102d80 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 3b 0a 70 72 lse;.private.$runningCommand;.pr
102da0 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 3b 0a 70 ivate.$name;.private.$version;.p
102dc0 72 69 76 61 74 65 20 24 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a rivate.$catchExceptions.=.true;.
102de0 70 72 69 76 61 74 65 20 24 61 75 74 6f 45 78 69 74 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 private.$autoExit.=.true;.privat
102e00 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 e.$definition;.private.$helperSe
102e20 74 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 70 61 74 63 68 65 72 3b 0a 70 72 69 76 61 74 65 20 t;.private.$dispatcher;.private.
102e40 24 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 64 65 $terminalDimensions;.private.$de
102e60 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 69 74 69 61 6c 69 7a faultCommand;.private.$initializ
102e80 65 64 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 ed;......public.function.__const
102ea0 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 2c 20 24 76 65 72 73 69 6f 6e ruct($name.=.'UNKNOWN',.$version
102ec0 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e .=.'UNKNOWN').{.$this->name.=.$n
102ee0 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a ame;.$this->version.=.$version;.
102f00 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 6c 69 73 74 27 3b 0a $this->defaultCommand.=.'list';.
102f20 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 70 61 74 63 68 65 72 }..public.function.setDispatcher
102f40 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 70 61 (EventDispatcherInterface.$dispa
102f60 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 20 3d 20 24 64 69 tcher).{.$this->dispatcher.=.$di
102f80 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 spatcher;.}.........public.funct
102fa0 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 3d 20 ion.run(InputInterface.$input.=.
102fc0 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 3d 20 null,.OutputInterface.$output.=.
102fe0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 29 20 7b 0a 24 null).{.if.(null.===.$input).{.$
103000 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 67 76 49 6e 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 input.=.new.ArgvInput();.}..if.(
103020 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 null.===.$output).{.$output.=.ne
103040 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e w.ConsoleOutput();.}..$this->con
103060 66 69 67 75 72 65 49 4f 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 74 72 79 20 figureIO($input,.$output);..try.
103080 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e {.$e.=.null;.$exitCode.=.$this->
1030a0 64 6f 52 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 doRun($input,.$output);.}.catch.
1030c0 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d (\Exception.$e).{.}..if.(null.!=
1030e0 3d 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 =.$e).{.if.(!$this->catchExcepti
103100 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 20 ons).{.throw.$e;.}..if.($output.
103120 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 instanceof.ConsoleOutputInterfac
103140 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 e).{.$this->renderException($e,.
103160 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 20 65 6c $output->getErrorOutput());.}.el
103180 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 se.{.$this->renderException($e,.
1031a0 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 65 2d 3e 67 65 74 $output);.}..$exitCode.=.$e->get
1031c0 43 6f 64 65 28 29 3b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 65 78 69 74 43 6f 64 65 Code();.if.(is_numeric($exitCode
1031e0 29 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 )).{.$exitCode.=.(int).$exitCode
103200 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 78 69 74 43 6f ;.if.(0.===.$exitCode).{.$exitCo
103220 64 65 20 3d 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 de.=.1;.}.}.else.{.$exitCode.=.1
103240 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 29 20 7b 0a 69 66 ;.}.}..if.($this->autoExit).{.if
103260 20 28 24 65 78 69 74 43 6f 64 65 20 3e 20 32 35 35 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d .($exitCode.>.255).{.$exitCode.=
103280 20 32 35 35 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 72 65 74 .255;.}..exit($exitCode);.}..ret
1032a0 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$exitCode;.}.......public.fu
1032c0 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 nction.doRun(InputInterface.$inp
1032e0 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 ut,.OutputInterface.$output).{.i
103300 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 f.(true.===.$input->hasParameter
103320 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 29 29 Option(array('--version',.'-V'))
103340 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 4c ).{.$output->writeln($this->getL
103360 6f 6e 67 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 6e 61 ongVersion());..return.0;.}..$na
103380 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 me.=.$this->getCommandName($inpu
1033a0 74 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 t);.if.(true.===.$input->hasPara
1033c0 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 meterOption(array('--help',.'-h'
1033e0 29 29 29 20 7b 0a 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 27 68 65 6c ))).{.if.(!$name).{.$name.=.'hel
103400 70 27 3b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 p';.$input.=.new.ArrayInput(arra
103420 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 27 68 65 6c 70 27 29 29 3b 0a 7d 20 65 6c 73 65 20 y('command'.=>.'help'));.}.else.
103440 7b 0a 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a {.$this->wantHelps.=.true;.}.}..
103460 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 if.(!$name).{.$name.=.$this->def
103480 61 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 aultCommand;.$definition.=.$this
1034a0 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e ->getDefinition();.$definition->
1034c0 73 65 74 41 72 67 75 6d 65 6e 74 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 64 65 66 69 6e setArguments(array_merge(.$defin
1034e0 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 2c 0a 61 72 72 61 79 28 0a 27 63 ition->getArguments(),.array(.'c
103500 6f 6d 6d 61 6e 64 27 20 3d 3e 20 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f ommand'.=>.new.InputArgument('co
103520 6d 6d 61 6e 64 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c mmand',.InputArgument::OPTIONAL,
103540 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 .$definition->getArgument('comma
103560 6e 64 27 29 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 6e 61 6d 65 29 2c 0a nd')->getDescription(),.$name),.
103580 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d ).));.}..$this->runningCommand.=
1035a0 20 6e 75 6c 6c 3b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 .null;...$command.=.$this->find(
1035c0 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d $name);..$this->runningCommand.=
1035e0 20 24 63 6f 6d 6d 61 6e 64 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f .$command;.$exitCode.=.$this->do
103600 52 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 RunCommand($command,.$input,.$ou
103620 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 6e tput);.$this->runningCommand.=.n
103640 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 ull;..return.$exitCode;.}..publi
103660 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 c.function.setHelperSet(HelperSe
103680 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 t.$helperSet).{.$this->helperSet
1036a0 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .=.$helperSet;.}.......public.fu
1036c0 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 nction.getHelperSet().{.if.(!$th
1036e0 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 is->helperSet).{.$this->helperSe
103700 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 t.=.$this->getDefaultHelperSet()
103720 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a ;.}..return.$this->helperSet;.}.
103740 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 .public.function.setDefinition(I
103760 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 74 nputDefinition.$definition).{.$t
103780 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d his->definition.=.$definition;.}
1037a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 .......public.function.getDefini
1037c0 74 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 29 tion().{.if.(!$this->definition)
1037e0 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 .{.$this->definition.=.$this->ge
103800 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 tDefaultInputDefinition();.}..re
103820 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a turn.$this->definition;.}.......
103840 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 75 public.function.getHelp().{.retu
103860 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a rn.$this->getLongVersion();.}...
103880 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 61 74 63 68 45 78 63 65 ....public.function.setCatchExce
1038a0 70 74 69 6f 6e 73 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 74 63 68 45 ptions($boolean).{.$this->catchE
1038c0 78 63 65 70 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a xceptions.=.(bool).$boolean;.}..
1038e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 45 78 69 74 .....public.function.setAutoExit
103900 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 20 3d 20 28 ($boolean).{.$this->autoExit.=.(
103920 62 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 bool).$boolean;.}.......public.f
103940 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 unction.getName().{.return.$this
103960 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ->name;.}.......public.function.
103980 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 setName($name).{.$this->name.=.$
1039a0 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 name;.}.......public.function.ge
1039c0 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 tVersion().{.return.$this->versi
1039e0 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 on;.}.......public.function.setV
103a00 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f ersion($version).{.$this->versio
103a20 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n.=.$version;.}.......public.fun
103a40 63 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 27 55 4e ction.getLongVersion().{.if.('UN
103a60 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 69 KNOWN'.!==.$this->getName()).{.i
103a80 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 f.('UNKNOWN'.!==.$this->getVersi
103aa0 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 on()).{.return.sprintf('<info>%s
103ac0 3c 2f 69 6e 66 6f 3e 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d </info>.version.<comment>%s</com
103ae0 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d ment>',.$this->getName(),.$this-
103b00 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 >getVersion());.}..return.sprint
103b20 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e f('<info>%s</info>',.$this->getN
103b40 61 6d 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3c 69 6e 66 6f 3e 43 6f 6e 73 6f 6c 65 ame());.}..return.'<info>Console
103b60 20 54 6f 6f 6c 3c 2f 69 6e 66 6f 3e 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .Tool</info>';.}.........public.
103b80 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 function.register($name).{.retur
103ba0 6e 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 29 n.$this->add(new.Command($name))
103bc0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 ;.}.........public.function.addC
103be0 6f 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 7b 0a 66 6f 72 65 61 ommands(array.$commands).{.forea
103c00 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 ch.($commands.as.$command).{.$th
103c20 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a is->add($command);.}.}..........
103c40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d public.function.add(Command.$com
103c60 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 mand).{.$this->init();..$command
103c80 2d 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 21 24 ->setApplication($this);..if.(!$
103ca0 63 6f 6d 6d 61 6e 64 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 command->isEnabled()).{.$command
103cc0 2d 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 6e 75 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b ->setApplication(null);..return;
103ce0 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 .}..if.(null.===.$command->getDe
103d00 66 69 6e 69 74 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 finition()).{.throw.new.LogicExc
103d20 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 20 22 25 eption(sprintf('Command.class."%
103d40 73 22 20 69 73 20 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e s".is.not.correctly.initialized.
103d60 20 59 6f 75 20 70 72 6f 62 61 62 6c 79 20 66 6f 72 67 6f 74 20 74 6f 20 63 61 6c 6c 20 74 68 65 .You.probably.forgot.to.call.the
103d80 20 70 61 72 65 6e 74 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 .parent.constructor.',.get_class
103da0 28 24 63 6f 6d 6d 61 6e 64 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 ($command)));.}..$this->commands
103dc0 5b 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 [$command->getName()].=.$command
103de0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 ;..foreach.($command->getAliases
103e00 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b ().as.$alias).{.$this->commands[
103e20 24 61 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 $alias].=.$command;.}..return.$c
103e40 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ommand;.}...........public.funct
103e60 69 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a ion.get($name).{.$this->init();.
103e80 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d .if.(!isset($this->commands[$nam
103ea0 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 e])).{.throw.new.CommandNotFound
103ec0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 22 Exception(sprintf('The.command."
103ee0 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d %s".does.not.exist.',.$name));.}
103f00 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 ..$command.=.$this->commands[$na
103f20 6d 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 29 20 7b 0a 24 74 me];..if.($this->wantHelps).{.$t
103f40 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 68 65 6c 70 43 6f his->wantHelps.=.false;..$helpCo
103f60 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 27 68 65 6c 70 27 29 3b 0a 24 68 65 6c mmand.=.$this->get('help');.$hel
103f80 70 43 6f 6d 6d 61 6e 64 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a pCommand->setCommand($command);.
103fa0 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .return.$helpCommand;.}..return.
103fc0 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $command;.}.........public.funct
103fe0 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a ion.has($name).{.$this->init();.
104000 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e .return.isset($this->commands[$n
104020 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ame]);.}.........public.function
104040 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d .getNamespaces().{.$namespaces.=
104060 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 6c 6c 28 29 20 .array();.foreach.($this->all().
104080 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 as.$command).{.$namespaces.=.arr
1040a0 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 70 61 63 65 73 2c 20 24 74 68 69 73 2d 3e 65 78 74 ay_merge($namespaces,.$this->ext
1040c0 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e ractAllNamespaces($command->getN
1040e0 61 6d 65 28 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 ame()));..foreach.($command->get
104100 41 6c 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 Aliases().as.$alias).{.$namespac
104120 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 70 61 63 65 73 2c 20 24 74 es.=.array_merge($namespaces,.$t
104140 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 61 6c 69 61 73 his->extractAllNamespaces($alias
104160 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 72 72 ));.}.}..return.array_values(arr
104180 61 79 5f 75 6e 69 71 75 65 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 73 70 61 63 ay_unique(array_filter($namespac
1041a0 65 73 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 es)));.}...........public.functi
1041c0 6f 6e 20 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 73 70 61 63 65 29 0a 7b 0a 24 on.findNamespace($namespace).{.$
1041e0 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 73 70 allNamespaces.=.$this->getNamesp
104200 61 63 65 73 28 29 3b 0a 24 65 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c aces();.$expr.=.preg_replace_cal
104220 6c 62 61 63 6b 28 27 7b 28 5b 5e 3a 5d 2b 7c 29 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d lback('{([^:]+|)}',.function.($m
104240 61 74 63 68 65 73 29 20 7b 20 72 65 74 75 72 6e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 atches).{.return.preg_quote($mat
104260 63 68 65 73 5b 31 5d 29 2e 27 5b 5e 3a 5d 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 ches[1]).'[^:]*';.},.$namespace)
104280 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 ;.$namespaces.=.preg_grep('{^'.$
1042a0 65 78 70 72 2e 27 7d 27 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 29 3b 0a 0a 69 66 20 28 expr.'}',.$allNamespaces);..if.(
1042c0 65 6d 70 74 79 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d empty($namespaces)).{.$message.=
1042e0 20 73 70 72 69 6e 74 66 28 27 54 68 65 72 65 20 61 72 65 20 6e 6f 20 63 6f 6d 6d 61 6e 64 73 20 .sprintf('There.are.no.commands.
104300 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 22 25 73 22 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c defined.in.the."%s".namespace.',
104320 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 .$namespace);..if.($alternatives
104340 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 .=.$this->findAlternatives($name
104360 73 70 61 63 65 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 69 66 20 28 31 20 space,.$allNamespaces)).{.if.(1.
104380 3d 3d 20 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 24 6d 65 73 73 ==.count($alternatives)).{.$mess
1043a0 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e age..=."\n\nDid.you.mean.this?\n
1043c0 20 20 20 20 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c ....";.}.else.{.$message..=."\n\
1043e0 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 nDid.you.mean.one.of.these?\n...
104400 20 22 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 .";.}..$message..=.implode("\n..
104420 20 20 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 ..",.$alternatives);.}..throw.ne
104440 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 w.CommandNotFoundException($mess
104460 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 24 65 78 61 63 74 20 3d age,.$alternatives);.}..$exact.=
104480 20 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 .in_array($namespace,.$namespace
1044a0 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 s,.true);.if.(count($namespaces)
1044c0 20 3e 20 31 20 26 26 20 21 24 65 78 61 63 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d .>.1.&&.!$exact).{.throw.new.Com
1044e0 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 mandNotFoundException(sprintf('T
104500 68 65 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 28 he.namespace."%s".is.ambiguous.(
104520 25 73 29 2e 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 %s).',.$namespace,.$this->getAbb
104540 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 61 72 72 61 79 5f 76 61 6c 75 65 reviationSuggestions(array_value
104560 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 s($namespaces))),.array_values($
104580 6e 61 6d 65 73 70 61 63 65 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 61 63 74 20 3f namespaces));.}..return.$exact.?
1045a0 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 20 72 65 73 65 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 .$namespace.:.reset($namespaces)
1045c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ;.}..............public.function
1045e0 20 66 69 6e 64 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 24 61 .find($name).{.$this->init();.$a
104600 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 20 3d liases.=.array();.$allCommands.=
104620 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 3b 0a 24 65 .array_keys($this->commands);.$e
104640 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 28 5b xpr.=.preg_replace_callback('{([
104660 5e 3a 5d 2b 7c 29 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 20 ^:]+|)}',.function.($matches).{.
104680 72 65 74 75 72 6e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 2e 27 return.preg_quote($matches[1]).'
1046a0 5b 5e 3a 5d 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 70 [^:]*';.},.$name);.$commands.=.p
1046c0 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 70 72 2e 27 7d 27 2c 20 24 61 6c 6c 43 6f 6d reg_grep('{^'.$expr.'}',.$allCom
1046e0 6d 61 6e 64 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6d 6d 61 6e 64 73 29 20 7c 7c mands);..if.(empty($commands).||
104700 20 63 6f 75 6e 74 28 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 70 72 2e 27 24 7d 27 .count(preg_grep('{^'.$expr.'$}'
104720 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 29 20 3c 20 31 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 ,.$commands)).<.1).{.if.(false.!
104740 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3a 27 29 29 20 7b ==.$pos.=.strrpos($name,.':')).{
104760 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 73 75 62 73 74 72 28 24 ...$this->findNamespace(substr($
104780 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 name,.0,.$pos));.}..$message.=.s
1047a0 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 printf('Command."%s".is.not.defi
1047c0 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 ned.',.$name);..if.($alternative
1047e0 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d s.=.$this->findAlternatives($nam
104800 65 2c 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 29 29 20 7b 0a 69 66 20 28 31 20 3d 3d 20 63 6f 75 e,.$allCommands)).{.if.(1.==.cou
104820 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d nt($alternatives)).{.$message..=
104840 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e 20 20 20 20 22 3b ."\n\nDid.you.mean.this?\n....";
104860 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 .}.else.{.$message..=."\n\nDid.y
104880 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 20 22 3b 0a 7d 0a ou.mean.one.of.these?\n....";.}.
1048a0 24 6d 65 73 73 61 67 65 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 22 2c 20 24 61 $message..=.implode("\n....",.$a
1048c0 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 lternatives);.}..throw.new.Comma
1048e0 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 61 ndNotFoundException($message,.$a
104900 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 63 6f lternatives);.}....if.(count($co
104920 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 20 3d 20 24 74 mmands).>.1).{.$commandList.=.$t
104940 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 his->commands;.$commands.=.array
104960 5f 66 69 6c 74 65 72 28 24 63 6f 6d 6d 61 6e 64 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 _filter($commands,.function.($na
104980 6d 65 4f 72 41 6c 69 61 73 29 20 75 73 65 20 28 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 2c 20 24 63 meOrAlias).use.($commandList,.$c
1049a0 6f 6d 6d 61 6e 64 73 2c 20 26 24 61 6c 69 61 73 65 73 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 ommands,.&$aliases).{.$commandNa
1049c0 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 5b 24 6e 61 6d 65 4f 72 41 6c 69 61 73 5d 2d me.=.$commandList[$nameOrAlias]-
1049e0 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 4f 72 41 6c 69 61 >getName();.$aliases[$nameOrAlia
104a00 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d s].=.$commandName;..return.$comm
104a20 61 6e 64 4e 61 6d 65 20 3d 3d 3d 20 24 6e 61 6d 65 4f 72 41 6c 69 61 73 20 7c 7c 20 21 69 6e 5f andName.===.$nameOrAlias.||.!in_
104a40 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 3b 0a array($commandName,.$commands);.
104a60 7d 29 3b 0a 7d 0a 0a 24 65 78 61 63 74 20 3d 20 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 });.}..$exact.=.in_array($name,.
104a80 24 63 6f 6d 6d 61 6e 64 73 2c 20 74 72 75 65 29 20 7c 7c 20 69 73 73 65 74 28 24 61 6c 69 61 73 $commands,.true).||.isset($alias
104aa0 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a 69 66 20 28 21 24 65 78 61 63 74 20 26 26 20 63 6f 75 6e 74 es[$name]);.if.(!$exact.&&.count
104ac0 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b 0a 24 73 75 67 67 65 73 74 69 6f 6e 73 20 ($commands).>.1).{.$suggestions.
104ae0 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 =.$this->getAbbreviationSuggesti
104b00 6f 6e 73 28 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 0a 74 ons(array_values($commands));..t
104b20 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f hrow.new.CommandNotFoundExceptio
104b40 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 69 73 20 61 6d 62 69 67 n(sprintf('Command."%s".is.ambig
104b60 75 6f 75 73 20 28 25 73 29 2e 27 2c 20 24 6e 61 6d 65 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 73 uous.(%s).',.$name,.$suggestions
104b80 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 7d 0a 0a ),.array_values($commands));.}..
104ba0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 65 78 61 63 74 20 3f 20 24 6e 61 6d 65 return.$this->get($exact.?.$name
104bc0 20 3a 20 72 65 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a .:.reset($commands));.}.........
104be0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 6e 61 6d 65 73 70 61 63 65 ..public.function.all($namespace
104c00 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 69 66 20 28 6e .=.null).{.$this->init();..if.(n
104c20 75 6c 6c 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 ull.===.$namespace).{.return.$th
104c40 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 is->commands;.}..$commands.=.arr
104c60 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 ay();.foreach.($this->commands.a
104c80 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 s.$name.=>.$command).{.if.($name
104ca0 73 70 61 63 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 space.===.$this->extractNamespac
104cc0 65 28 24 6e 61 6d 65 2c 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 e($name,.substr_count($namespace
104ce0 2c 20 27 3a 27 29 20 2b 20 31 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 ,.':').+.1)).{.$commands[$name].
104d00 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 =.$command;.}.}..return.$command
104d20 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 s;.}.........public.static.funct
104d40 69 6f 6e 20 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 73 28 24 6e 61 6d 65 73 29 0a 7b 0a 24 ion.getAbbreviations($names).{.$
104d60 61 62 62 72 65 76 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d abbrevs.=.array();.foreach.($nam
104d80 65 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 66 6f 72 20 28 24 6c 65 6e 20 3d 20 73 74 72 6c 65 es.as.$name).{.for.($len.=.strle
104da0 6e 28 24 6e 61 6d 65 29 3b 20 24 6c 65 6e 20 3e 20 30 3b 20 2d 2d 24 6c 65 6e 29 20 7b 0a 24 61 n($name);.$len.>.0;.--$len).{.$a
104dc0 62 62 72 65 76 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 6c 65 6e 29 3b 0a bbrev.=.substr($name,.0,.$len);.
104de0 24 61 62 62 72 65 76 73 5b 24 61 62 62 72 65 76 5d 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d $abbrevs[$abbrev][].=.$name;.}.}
104e00 0a 0a 72 65 74 75 72 6e 20 24 61 62 62 72 65 76 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ..return.$abbrevs;.}............
104e20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 24 6e 61 6d 65 73 70 61 63 public.function.asText($namespac
104e40 65 20 3d 20 6e 75 6c 6c 2c 20 24 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 e.=.null,.$raw.=.false).{.@trigg
104e60 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 er_error('The.'.__METHOD__.'.met
104e80 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 hod.is.deprecated.since.Symfony.
104ea0 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.3.and.will.be.removed.in.3.0.'
104ec0 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 ,.E_USER_DEPRECATED);..$descript
104ee0 6f 72 20 3d 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 or.=.new.TextDescriptor();.$outp
104f00 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 ut.=.new.BufferedOutput(Buffered
104f20 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 21 24 72 61 77 29 Output::VERBOSITY_NORMAL,.!$raw)
104f40 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c ;.$descriptor->describe($output,
104f60 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 .$this,.array('namespace'.=>.$na
104f80 6d 65 73 70 61 63 65 2c 20 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b mespace,.'raw_output'.=>.true));
104fa0 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a ..return.$output->fetch();.}....
104fc0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 6e ........public.function.asXml($n
104fe0 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 amespace.=.null,.$asDom.=.false)
105000 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f .{.@trigger_error('The.'.__METHO
105020 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 D__.'.method.is.deprecated.since
105040 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 .Symfony.2.3.and.will.be.removed
105060 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a .in.3.0.',.E_USER_DEPRECATED);..
105080 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 $descriptor.=.new.XmlDescriptor(
1050a0 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 );..if.($asDom).{.return.$descri
1050c0 70 74 6f 72 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 74 68 ptor->getApplicationDocument($th
1050e0 69 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 is,.$namespace);.}..$output.=.ne
105100 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d w.BufferedOutput();.$descriptor-
105120 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 >describe($output,.$this,.array(
105140 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 29 29 3b 0a 0a 72 65 'namespace'.=>.$namespace));..re
105160 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 turn.$output->fetch();.}.....pub
105180 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c lic.function.renderException($e,
1051a0 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c .$output).{.$output->writeln('',
1051c0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 .OutputInterface::VERBOSITY_QUIE
1051e0 54 29 3b 0a 0a 64 6f 20 7b 0a 24 74 69 74 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 20 20 5b 25 T);..do.{.$title.=.sprintf('..[%
105200 73 5d 20 20 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 29 3b 0a 0a 24 6c 65 6e 20 3d 20 48 s]..',.get_class($e));..$len.=.H
105220 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 3b 0a 0a 24 77 69 64 74 68 20 3d elper::strlen($title);..$width.=
105240 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 3f 20 24 74 68 .$this->getTerminalWidth().?.$th
105260 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 31 20 3a 20 50 48 50 is->getTerminalWidth().-.1.:.PHP
105280 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 _INT_MAX;...if.(defined('HHVM_VE
1052a0 52 53 49 4f 4e 27 29 20 26 26 20 24 77 69 64 74 68 20 3e 20 31 20 3c 3c 20 33 31 29 20 7b 0a 24 RSION').&&.$width.>.1.<<.31).{.$
1052c0 77 69 64 74 68 20 3d 20 31 20 3c 3c 20 33 31 3b 0a 7d 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 width.=.1.<<.31;.}.$lines.=.arra
1052e0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 5c 72 3f 5c 6e y();.foreach.(preg_split('/\r?\n
105300 2f 27 2c 20 74 72 69 6d 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 29 20 61 73 20 24 /',.trim($e->getMessage())).as.$
105320 6c 69 6e 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 70 6c 69 74 53 74 72 line).{.foreach.($this->splitStr
105340 69 6e 67 42 79 57 69 64 74 68 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 20 2d 20 34 29 20 61 73 ingByWidth($line,.$width.-.4).as
105360 20 24 6c 69 6e 65 29 20 7b 0a 0a 20 24 6c 69 6e 65 4c 65 6e 67 74 68 20 3d 20 48 65 6c 70 65 72 .$line).{...$lineLength.=.Helper
105380 3a 3a 73 74 72 6c 65 6e 28 24 6c 69 6e 65 29 20 2b 20 34 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 ::strlen($line).+.4;.$lines[].=.
1053a0 61 72 72 61 79 28 24 6c 69 6e 65 2c 20 24 6c 69 6e 65 4c 65 6e 67 74 68 29 3b 0a 0a 24 6c 65 6e array($line,.$lineLength);..$len
1053c0 20 3d 20 6d 61 78 28 24 6c 69 6e 65 4c 65 6e 67 74 68 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 7d 0a 0a .=.max($lineLength,.$len);.}.}..
1053e0 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d $messages.=.array();.$messages[]
105400 20 3d 20 24 65 6d 70 74 79 4c 69 6e 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e .=.$emptyLine.=.sprintf('<error>
105420 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 %s</error>',.str_repeat('.',.$le
105440 6e 29 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 72 72 n));.$messages[].=.sprintf('<err
105460 6f 72 3e 25 73 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 74 69 74 6c 65 2c 20 73 74 72 5f 72 65 or>%s%s</error>',.$title,.str_re
105480 70 65 61 74 28 27 20 27 2c 20 6d 61 78 28 30 2c 20 24 6c 65 6e 20 2d 20 48 65 6c 70 65 72 3a 3a peat('.',.max(0,.$len.-.Helper::
1054a0 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e strlen($title))));.foreach.($lin
1054c0 65 73 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 es.as.$line).{.$messages[].=.spr
1054e0 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 20 20 25 73 20 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 intf('<error>..%s..%s</error>',.
105500 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6c 69 6e 65 5b 30 5d OutputFormatter::escape($line[0]
105520 29 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 6c 69 6e 65 5b ),.str_repeat('.',.$len.-.$line[
105540 31 5d 29 29 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 79 4c 69 6e 65 1]));.}.$messages[].=.$emptyLine
105560 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 27 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 ;.$messages[].=.'';..$output->wr
105580 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 iteln($messages,.OutputInterface
1055a0 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 69 66 20 28 4f 75 74 70 75 74 49 ::VERBOSITY_QUIET);..if.(OutputI
1055c0 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3c 3d 20 24 nterface::VERBOSITY_VERBOSE.<=.$
1055e0 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f 75 74 70 75 output->getVerbosity()).{.$outpu
105600 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 45 78 63 65 70 74 69 6f 6e 20 74 t->writeln('<comment>Exception.t
105620 72 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 race:</comment>',.OutputInterfac
105640 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 0a 20 24 74 72 61 63 65 20 3d e::VERBOSITY_QUIET);....$trace.=
105660 20 24 65 2d 3e 67 65 74 54 72 61 63 65 28 29 3b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 .$e->getTrace();.array_unshift($
105680 74 72 61 63 65 2c 20 61 72 72 61 79 28 0a 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a trace,.array(.'function'.=>.'',.
1056a0 27 66 69 6c 65 27 20 3d 3e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 'file'.=>.null.!==.$e->getFile()
1056c0 20 3f 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 27 6c 69 6e 65 27 .?.$e->getFile().:.'n/a',.'line'
1056e0 20 3d 3e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 20 3f 20 24 65 2d .=>.null.!==.$e->getLine().?.$e-
105700 3e 67 65 74 4c 69 6e 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 27 61 72 67 73 27 20 3d 3e 20 61 72 >getLine().:.'n/a',.'args'.=>.ar
105720 72 61 79 28 29 2c 0a 29 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 ray(),.));..for.($i.=.0,.$count.
105740 3d 20 63 6f 75 6e 74 28 24 74 72 61 63 65 29 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b =.count($trace);.$i.<.$count;.++
105760 24 69 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b $i).{.$class.=.isset($trace[$i][
105780 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 63 6c 61 73 73 27 5d 20 'class']).?.$trace[$i]['class'].
1057a0 3a 20 27 27 3b 0a 24 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 :.'';.$type.=.isset($trace[$i]['
1057c0 74 79 70 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 3a 20 27 type']).?.$trace[$i]['type'].:.'
1057e0 27 3b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 6e 63 74 ';.$function.=.$trace[$i]['funct
105800 69 6f 6e 27 5d 3b 0a 24 66 69 6c 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b ion'];.$file.=.isset($trace[$i][
105820 27 66 69 6c 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 6c 65 27 5d 20 3a 20 'file']).?.$trace[$i]['file'].:.
105840 27 6e 2f 61 27 3b 0a 24 6c 69 6e 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 'n/a';.$line.=.isset($trace[$i][
105860 27 6c 69 6e 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 6c 69 6e 65 27 5d 20 3a 20 'line']).?.$trace[$i]['line'].:.
105880 27 6e 2f 61 27 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 'n/a';..$output->writeln(sprintf
1058a0 28 27 20 25 73 25 73 25 73 28 29 20 61 74 20 3c 69 6e 66 6f 3e 25 73 3a 25 73 3c 2f 69 6e 66 6f ('.%s%s%s().at.<info>%s:%s</info
1058c0 3e 27 2c 20 24 63 6c 61 73 73 2c 20 24 74 79 70 65 2c 20 24 66 75 6e 63 74 69 6f 6e 2c 20 24 66 >',.$class,.$type,.$function,.$f
1058e0 69 6c 65 2c 20 24 6c 69 6e 65 29 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 ile,.$line),.OutputInterface::VE
105900 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 RBOSITY_QUIET);.}..$output->writ
105920 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 eln('',.OutputInterface::VERBOSI
105940 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 7d 20 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 TY_QUIET);.}.}.while.($e.=.$e->g
105960 65 74 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 etPrevious());..if.(null.!==.$th
105980 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 is->runningCommand).{.$output->w
1059a0 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 riteln(sprintf('<info>%s</info>'
1059c0 2c 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 2d ,.sprintf($this->runningCommand-
1059e0 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 >getSynopsis(),.$this->getName()
105a00 29 29 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 )),.OutputInterface::VERBOSITY_Q
105a20 55 49 45 54 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 UIET);.$output->writeln('',.Outp
105a40 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d utInterface::VERBOSITY_QUIET);.}
105a60 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 .}.......protected.function.getT
105a80 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 0a 7b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 erminalWidth().{.$dimensions.=.$
105aa0 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a this->getTerminalDimensions();..
105ac0 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 30 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 return.$dimensions[0];.}.......p
105ae0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 48 65 69 rotected.function.getTerminalHei
105b00 67 68 74 28 29 0a 7b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ght().{.$dimensions.=.$this->get
105b20 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 TerminalDimensions();..return.$d
105b40 69 6d 65 6e 73 69 6f 6e 73 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e imensions[1];.}.......public.fun
105b60 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 0a 7b 0a ction.getTerminalDimensions().{.
105b80 69 66 20 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 29 20 7b if.($this->terminalDimensions).{
105ba0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e .return.$this->terminalDimension
105bc0 73 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 s;.}..if.('\\'.===.DIRECTORY_SEP
105be0 41 52 41 54 4f 52 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 5c ARATOR).{...if.(preg_match('/^(\
105c00 64 2b 29 78 5c 64 2b 20 5c 28 5c 64 2b 78 28 5c 64 2b 29 5c 29 24 2f 27 2c 20 74 72 69 6d 28 67 d+)x\d+.\(\d+x(\d+)\)$/',.trim(g
105c20 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a etenv('ANSICON')),.$matches)).{.
105c40 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 return.array((int).$matches[1],.
105c60 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 (int).$matches[2]);.}...if.(preg
105c80 5f 6d 61 74 63 68 28 27 2f 5e 28 5c 64 2b 29 78 28 5c 64 2b 29 24 2f 27 2c 20 24 74 68 69 73 2d _match('/^(\d+)x(\d+)$/',.$this-
105ca0 3e 67 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a >getConsoleMode(),.$matches)).{.
105cc0 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 return.array((int).$matches[1],.
105ce0 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 73 74 (int).$matches[2]);.}.}..if.($st
105d00 74 79 53 74 72 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 74 74 79 43 6f 6c 75 6d 6e 73 tyString.=.$this->getSttyColumns
105d20 28 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 72 6f 77 73 2e 28 5c ()).{...if.(preg_match('/rows.(\
105d40 64 2b 29 3b 2e 63 6f 6c 75 6d 6e 73 2e 28 5c 64 2b 29 3b 2f 69 27 2c 20 24 73 74 74 79 53 74 72 d+);.columns.(\d+);/i',.$sttyStr
105d60 69 6e 67 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 ing,.$matches)).{.return.array((
105d80 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 int).$matches[2],.(int).$matches
105da0 5b 31 5d 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 3b 2e 28 5c 64 [1]);.}...if.(preg_match('/;.(\d
105dc0 2b 29 2e 72 6f 77 73 3b 2e 28 5c 64 2b 29 2e 63 6f 6c 75 6d 6e 73 2f 69 27 2c 20 24 73 74 74 79 +).rows;.(\d+).columns/i',.$stty
105de0 53 74 72 69 6e 67 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 String,.$matches)).{.return.arra
105e00 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 y((int).$matches[2],.(int).$matc
105e20 68 65 73 5b 31 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 75 6c 6c 2c hes[1]);.}.}..return.array(null,
105e40 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .null);.}............public.func
105e60 74 69 6f 6e 20 73 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 24 77 69 64 74 tion.setTerminalDimensions($widt
105e80 68 2c 20 24 68 65 69 67 68 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d h,.$height).{.$this->terminalDim
105ea0 65 6e 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 24 77 69 64 74 68 2c 20 24 68 65 69 67 68 74 29 ensions.=.array($width,.$height)
105ec0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ;..return.$this;.}.....protected
105ee0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 49 4f 28 49 6e 70 75 74 49 6e 74 65 72 .function.configureIO(InputInter
105f00 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
105f20 74 70 75 74 29 0a 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 tput).{.if.(true.===.$input->has
105f40 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 61 6e 73 69 27 29 29 ParameterOption(array('--ansi'))
105f60 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 74 72 75 65 29 3b ).{.$output->setDecorated(true);
105f80 0a 7d 20 65 6c 73 65 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 .}.elseif.(true.===.$input->hasP
105fa0 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 arameterOption(array('--no-ansi'
105fc0 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 ))).{.$output->setDecorated(fals
105fe0 65 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 e);.}..if.(true.===.$input->hasP
106000 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 arameterOption(array('--no-inter
106020 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 29 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e action',.'-n'))).{.$input->setIn
106040 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 teractive(false);.}.elseif.(func
106060 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 20 26 26 20 24 tion_exists('posix_isatty').&&.$
106080 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 68 61 73 28 27 71 75 65 73 74 this->getHelperSet()->has('quest
1060a0 69 6f 6e 27 29 29 20 7b 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 67 ion')).{.$inputStream.=.$this->g
1060c0 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 2d 3e etHelperSet()->get('question')->
1060e0 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 3b 0a 69 66 20 28 21 40 70 6f 73 69 78 5f 69 73 getInputStream();.if.(!@posix_is
106100 61 74 74 79 28 24 69 6e 70 75 74 53 74 72 65 61 6d 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 atty($inputStream).&&.false.===.
106120 67 65 74 65 6e 76 28 27 53 48 45 4c 4c 5f 49 4e 54 45 52 41 43 54 49 56 45 27 29 29 20 7b 0a 24 getenv('SHELL_INTERACTIVE')).{.$
106140 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a input->setInteractive(false);.}.
106160 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d }..if.(true.===.$input->hasParam
106180 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 eterOption(array('--quiet',.'-q'
1061a0 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 ))).{.$output->setVerbosity(Outp
1061c0 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 24 utInterface::VERBOSITY_QUIET);.$
1061e0 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 20 input->setInteractive(false);.}.
106200 65 6c 73 65 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f else.{.if.($input->hasParameterO
106220 70 74 69 6f 6e 28 27 2d 76 76 76 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 ption('-vvv').||.$input->hasPara
106240 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 3d 33 27 29 20 7c 7c 20 33 20 meterOption('--verbose=3').||.3.
106260 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 ===.$input->getParameterOption('
106280 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f --verbose')).{.$output->setVerbo
1062a0 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f sity(OutputInterface::VERBOSITY_
1062c0 44 45 42 55 47 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 DEBUG);.}.elseif.($input->hasPar
1062e0 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 76 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 ameterOption('-vv').||.$input->h
106300 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 3d 32 27 29 asParameterOption('--verbose=2')
106320 20 7c 7c 20 32 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 .||.2.===.$input->getParameterOp
106340 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 tion('--verbose')).{.$output->se
106360 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 tVerbosity(OutputInterface::VERB
106380 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 OSITY_VERY_VERBOSE);.}.elseif.($
1063a0 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 27 29 20 input->hasParameterOption('-v').
1063c0 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d ||.$input->hasParameterOption('-
1063e0 2d 76 65 72 62 6f 73 65 3d 31 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d -verbose=1').||.$input->hasParam
106400 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 20 7c 7c 20 24 69 6e 70 75 eterOption('--verbose').||.$inpu
106420 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 t->getParameterOption('--verbose
106440 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 ')).{.$output->setVerbosity(Outp
106460 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 29 3b utInterface::VERBOSITY_VERBOSE);
106480 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .}.}.}..........protected.functi
1064a0 6f 6e 20 64 6f 52 75 6e 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 on.doRunCommand(Command.$command
1064c0 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 ,.InputInterface.$input,.OutputI
1064e0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f nterface.$output).{.foreach.($co
106500 6d 6d 61 6e 64 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 61 73 20 24 68 65 6c 70 65 72 mmand->getHelperSet().as.$helper
106520 29 20 7b 0a 69 66 20 28 24 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 ).{.if.($helper.instanceof.Input
106540 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 68 65 6c 70 65 72 2d 3e 73 65 74 49 6e AwareInterface).{.$helper->setIn
106560 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 put($input);.}.}..if.(null.===.$
106580 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d this->dispatcher).{.return.$comm
1065a0 61 6e 64 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 and->run($input,.$output);.}....
1065c0 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e try.{.$command->mergeApplication
1065e0 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 63 6f 6d 6d Definition();.$input->bind($comm
106600 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 and->getDefinition());.}.catch.(
106620 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 24 65 ExceptionInterface.$e).{...}..$e
106640 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 vent.=.new.ConsoleCommandEvent($
106660 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 20 3d 20 command,.$input,.$output);.$e.=.
106680 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e null;..try.{.$this->dispatcher->
1066a0 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c dispatch(ConsoleEvents::COMMAND,
1066c0 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 65 76 65 6e 74 2d 3e 63 6f 6d 6d 61 6e 64 53 68 .$event);..if.($event->commandSh
1066e0 6f 75 6c 64 52 75 6e 28 29 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 63 6f 6d 6d 61 6e ouldRun()).{.$exitCode.=.$comman
106700 64 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 d->run($input,.$output);.}.else.
106720 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e {.$exitCode.=.ConsoleCommandEven
106740 74 3a 3a 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 3b 0a 7d 0a 7d 20 63 61 74 t::RETURN_CODE_DISABLED;.}.}.cat
106760 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 ch.(\Exception.$e).{.}.catch.(\T
106780 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 hrowable.$e).{.}.if.(null.!==.$e
1067a0 29 20 7b 0a 24 78 20 3d 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f ).{.$x.=.$e.instanceof.\Exceptio
1067c0 6e 20 3f 20 24 65 20 3a 20 6e 65 77 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 n.?.$e.:.new.FatalThrowableError
1067e0 28 24 65 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 ($e);.$event.=.new.ConsoleExcept
106800 69 6f 6e 45 76 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 ionEvent($command,.$input,.$outp
106820 75 74 2c 20 24 78 2c 20 24 78 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 ut,.$x,.$x->getCode());.$this->d
106840 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 ispatcher->dispatch(ConsoleEvent
106860 73 3a 3a 45 58 43 45 50 54 49 4f 4e 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 78 20 21 s::EXCEPTION,.$event);..if.($x.!
106880 3d 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 29 20 7b 0a 24 65 20 ==.$event->getException()).{.$e.
1068a0 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 7d 0a 24 65 78 69 =.$event->getException();.}.$exi
1068c0 74 43 6f 64 65 20 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a 24 65 76 65 6e 74 tCode.=.$e->getCode();.}..$event
1068e0 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 28 24 63 6f .=.new.ConsoleTerminateEvent($co
106900 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 mmand,.$input,.$output,.$exitCod
106920 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 e);.$this->dispatcher->dispatch(
106940 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 54 45 52 4d 49 4e 41 54 45 2c 20 24 65 76 65 6e 74 ConsoleEvents::TERMINATE,.$event
106960 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b );..if.(null.!==.$e).{.throw.$e;
106980 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 .}..return.$event->getExitCode()
1069a0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ;.}.......protected.function.get
1069c0 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 CommandName(InputInterface.$inpu
1069e0 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 46 69 72 73 74 41 72 67 75 t).{.return.$input->getFirstArgu
106a00 6d 65 6e 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ment();.}.......protected.functi
106a20 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b on.getDefaultInputDefinition().{
106a40 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 .return.new.InputDefinition(arra
106a60 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 y(.new.InputArgument('command',.
106a80 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 63 6f InputArgument::REQUIRED,.'The.co
106aa0 6d 6d 61 6e 64 20 74 6f 20 65 78 65 63 75 74 65 27 29 2c 0a 0a 6e 65 77 20 49 6e 70 75 74 4f 70 mmand.to.execute'),..new.InputOp
106ac0 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e tion('--help',.'-h',.InputOption
106ae0 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 ::VALUE_NONE,.'Display.this.help
106b00 20 6d 65 73 73 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 71 .message'),.new.InputOption('--q
106b20 75 69 65 74 27 2c 20 27 2d 71 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f uiet',.'-q',.InputOption::VALUE_
106b40 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 61 6e 79 20 6d 65 73 73 61 67 65 NONE,.'Do.not.output.any.message
106b60 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 2c '),.new.InputOption('--verbose',
106b80 20 27 2d 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 .'-v|vv|vvv',.InputOption::VALUE
106ba0 5f 4e 4f 4e 45 2c 20 27 49 6e 63 72 65 61 73 65 20 74 68 65 20 76 65 72 62 6f 73 69 74 79 20 6f _NONE,.'Increase.the.verbosity.o
106bc0 66 20 6d 65 73 73 61 67 65 73 3a 20 31 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6f 75 74 70 75 74 2c f.messages:.1.for.normal.output,
106be0 20 32 20 66 6f 72 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 6f 75 74 70 75 74 20 61 6e 64 20 33 .2.for.more.verbose.output.and.3
106c00 20 66 6f 72 20 64 65 62 75 67 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d .for.debug'),.new.InputOption('-
106c20 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 -version',.'-V',.InputOption::VA
106c40 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 LUE_NONE,.'Display.this.applicat
106c60 69 6f 6e 20 76 65 72 73 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 ion.version'),.new.InputOption('
106c80 2d 2d 61 6e 73 69 27 2c 20 27 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f --ansi',.'',.InputOption::VALUE_
106ca0 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 6e 65 77 20 NONE,.'Force.ANSI.output'),.new.
106cc0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 2c 20 27 27 2c 20 49 6e 70 InputOption('--no-ansi',.'',.Inp
106ce0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 20 41 utOption::VALUE_NONE,.'Disable.A
106d00 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d NSI.output'),.new.InputOption('-
106d20 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 2c 20 49 6e 70 75 74 4f 70 74 -no-interaction',.'-n',.InputOpt
106d40 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 61 73 6b 20 61 6e 79 ion::VALUE_NONE,.'Do.not.ask.any
106d60 20 69 6e 74 65 72 61 63 74 69 76 65 20 71 75 65 73 74 69 6f 6e 27 29 2c 0a 29 29 3b 0a 7d 0a 0a .interactive.question'),.));.}..
106d80 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 .....protected.function.getDefau
106da0 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 ltCommands().{.return.array(new.
106dc0 48 65 6c 70 43 6f 6d 6d 61 6e 64 28 29 2c 20 6e 65 77 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 28 29 HelpCommand(),.new.ListCommand()
106de0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 );.}.......protected.function.ge
106e00 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 tDefaultHelperSet().{.return.new
106e20 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 79 28 0a 6e 65 77 20 46 6f 72 6d 61 74 74 65 72 48 .HelperSet(array(.new.FormatterH
106e40 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 44 69 61 6c 6f 67 48 65 6c 70 65 72 28 66 61 6c 73 65 29 elper(),.new.DialogHelper(false)
106e60 2c 0a 6e 65 77 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 28 66 61 6c 73 65 29 2c 0a 6e 65 77 ,.new.ProgressHelper(false),.new
106e80 20 54 61 62 6c 65 48 65 6c 70 65 72 28 66 61 6c 73 65 29 2c 0a 6e 65 77 20 44 65 62 75 67 46 6f .TableHelper(false),.new.DebugFo
106ea0 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 50 72 6f 63 65 73 73 48 65 6c 70 rmatterHelper(),.new.ProcessHelp
106ec0 65 72 28 29 2c 0a 6e 65 77 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 28 29 2c 0a 29 29 3b 0a er(),.new.QuestionHelper(),.));.
106ee0 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 74 79 }.......private.function.getStty
106f00 43 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 Columns().{.if.(!function_exists
106f20 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 64 65 73 ('proc_open')).{.return;.}..$des
106f40 63 72 69 70 74 6f 72 73 70 65 63 20 3d 20 61 72 72 61 79 28 31 20 3d 3e 20 61 72 72 61 79 28 27 criptorspec.=.array(1.=>.array('
106f60 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 pipe',.'w'),.2.=>.array('pipe',.
106f80 27 77 27 29 29 3b 0a 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 27 73 74 74 'w'));.$process.=.proc_open('stt
106fa0 79 20 2d 61 20 7c 20 67 72 65 70 20 63 6f 6c 75 6d 6e 73 27 2c 20 24 64 65 73 63 72 69 70 74 6f y.-a.|.grep.columns',.$descripto
106fc0 72 73 70 65 63 2c 20 24 70 69 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 rspec,.$pipes,.null,.null,.array
106fe0 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 69 66 ('suppress_errors'.=>.true));.if
107000 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 6f 63 65 73 73 29 29 20 7b 0a 24 69 6e 66 6f .(is_resource($process)).{.$info
107020 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d .=.stream_get_contents($pipes[1]
107040 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 );.fclose($pipes[1]);.fclose($pi
107060 70 65 73 5b 32 5d 29 3b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 0a pes[2]);.proc_close($process);..
107080 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 return.$info;.}.}.......private.
1070a0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 0a 7b 0a 69 66 20 28 function.getConsoleMode().{.if.(
1070c0 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b !function_exists('proc_open')).{
1070e0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 20 3d 20 61 72 .return;.}..$descriptorspec.=.ar
107100 72 61 79 28 31 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 20 3d ray(1.=>.array('pipe',.'w'),.2.=
107120 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 3b 0a 24 70 72 6f 63 65 73 73 20 >.array('pipe',.'w'));.$process.
107140 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 27 6d 6f 64 65 20 43 4f 4e 27 2c 20 24 64 65 73 63 72 69 70 =.proc_open('mode.CON',.$descrip
107160 74 6f 72 73 70 65 63 2c 20 24 70 69 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 61 72 72 torspec,.$pipes,.null,.null,.arr
107180 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a ay('suppress_errors'.=>.true));.
1071a0 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 6f 63 65 73 73 29 29 20 7b 0a 24 69 6e if.(is_resource($process)).{.$in
1071c0 66 6f 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b fo.=.stream_get_contents($pipes[
1071e0 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 1]);.fclose($pipes[1]);.fclose($
107200 70 69 70 65 73 5b 32 5d 29 3b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b pipes[2]);.proc_close($process);
107220 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2d 2d 2d 2d 2d 2d 2d 2d 2b 5c 72 3f 5c ..if.(preg_match('/--------+\r?\
107240 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2f 27 2c 20 24 n.+?(\d+)\r?\n.+?(\d+)\r?\n/',.$
107260 69 6e 66 6f 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 info,.$matches)).{.return.$match
107280 65 73 5b 32 5d 2e 27 78 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a es[2].'x'.$matches[1];.}.}.}....
1072a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 62 62 72 65 76 69 .....private.function.getAbbrevi
1072c0 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 24 61 62 62 72 65 76 73 29 0a 7b 0a 72 65 74 ationSuggestions($abbrevs).{.ret
1072e0 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 73 2c 20 25 73 25 73 27 2c 20 24 61 62 62 72 65 76 73 urn.sprintf('%s,.%s%s',.$abbrevs
107300 5b 30 5d 2c 20 24 61 62 62 72 65 76 73 5b 31 5d 2c 20 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 [0],.$abbrevs[1],.count($abbrevs
107320 29 20 3e 20 32 20 3f 20 73 70 72 69 6e 74 66 28 27 20 61 6e 64 20 25 64 20 6d 6f 72 65 27 2c 20 ).>.2.?.sprintf('.and.%d.more',.
107340 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 29 20 2d 20 32 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a count($abbrevs).-.2).:.'');.}...
107360 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 .........public.function.extract
107380 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 24 6c 69 6d 69 74 20 3d 20 6e 75 6c 6c 29 0a Namespace($name,.$limit.=.null).
1073a0 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 3b 0a {.$parts.=.explode(':',.$name);.
1073c0 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f array_pop($parts);..return.implo
1073e0 64 65 28 27 3a 27 2c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 69 6d 69 74 20 3f 20 24 70 61 72 74 73 de(':',.null.===.$limit.?.$parts
107400 20 3a 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 70 61 72 74 73 2c 20 30 2c 20 24 6c 69 6d 69 74 .:.array_slice($parts,.0,.$limit
107420 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ));.}...........private.function
107440 20 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6c 6c 65 63 .findAlternatives($name,.$collec
107460 74 69 6f 6e 29 0a 7b 0a 24 74 68 72 65 73 68 6f 6c 64 20 3d 20 31 65 33 3b 0a 24 61 6c 74 65 72 tion).{.$threshold.=.1e3;.$alter
107480 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 natives.=.array();..$collectionP
1074a0 61 72 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 63 arts.=.array();.foreach.($collec
1074c0 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 tion.as.$item).{.$collectionPart
1074e0 73 5b 24 69 74 65 6d 5d 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 69 74 65 6d 29 3b 0a s[$item].=.explode(':',.$item);.
107500 7d 0a 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 20 }..foreach.(explode(':',.$name).
107520 61 73 20 24 69 20 3d 3e 20 24 73 75 62 6e 61 6d 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 as.$i.=>.$subname).{.foreach.($c
107540 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 20 61 73 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d ollectionParts.as.$collectionNam
107560 65 20 3d 3e 20 24 70 61 72 74 73 29 20 7b 0a 24 65 78 69 73 74 73 20 3d 20 69 73 73 65 74 28 24 e.=>.$parts).{.$exists.=.isset($
107580 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 29 3b 0a alternatives[$collectionName]);.
1075a0 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 5d 29 20 26 26 20 24 65 78 69 73 74 if.(!isset($parts[$i]).&&.$exist
1075c0 73 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 s).{.$alternatives[$collectionNa
1075e0 6d 65 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 me].+=.$threshold;.continue;.}.e
107600 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 5d 29 29 20 7b 0a 63 6f 6e lseif.(!isset($parts[$i])).{.con
107620 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 73 75 tinue;.}..$lev.=.levenshtein($su
107640 62 6e 61 6d 65 2c 20 24 70 61 72 74 73 5b 24 69 5d 29 3b 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 bname,.$parts[$i]);.if.($lev.<=.
107660 73 74 72 6c 65 6e 28 24 73 75 62 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 27 27 20 21 3d 3d 20 24 strlen($subname)./.3.||.''.!==.$
107680 73 75 62 6e 61 6d 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 72 subname.&&.false.!==.strpos($par
1076a0 74 73 5b 24 69 5d 2c 20 24 73 75 62 6e 61 6d 65 29 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 ts[$i],.$subname)).{.$alternativ
1076c0 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 3d 20 24 65 78 69 73 74 73 20 3f 20 es[$collectionName].=.$exists.?.
1076e0 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b $alternatives[$collectionName].+
107700 20 24 6c 65 76 20 3a 20 24 6c 65 76 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 78 69 73 74 73 29 .$lev.:.$lev;.}.elseif.($exists)
107720 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 .{.$alternatives[$collectionName
107740 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 ].+=.$threshold;.}.}.}..foreach.
107760 28 24 63 6f 6c 6c 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 6c 65 76 20 3d 20 ($collection.as.$item).{.$lev.=.
107780 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6e 61 6d 65 2c 20 24 69 74 65 6d 29 3b 0a 69 66 20 28 24 levenshtein($name,.$item);.if.($
1077a0 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 66 61 6c 73 lev.<=.strlen($name)./.3.||.fals
1077c0 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 69 74 65 6d 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 61 e.!==.strpos($item,.$name)).{.$a
1077e0 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 lternatives[$item].=.isset($alte
107800 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d 29 20 3f 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 rnatives[$item]).?.$alternatives
107820 5b 24 69 74 65 6d 5d 20 2d 20 24 6c 65 76 20 3a 20 24 6c 65 76 3b 0a 7d 0a 7d 0a 0a 24 61 6c 74 [$item].-.$lev.:.$lev;.}.}..$alt
107840 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 61 6c 74 65 72 6e ernatives.=.array_filter($altern
107860 61 74 69 76 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6c 65 76 29 20 75 73 65 20 28 24 74 68 atives,.function.($lev).use.($th
107880 72 65 73 68 6f 6c 64 29 20 7b 20 72 65 74 75 72 6e 20 24 6c 65 76 20 3c 20 32 20 2a 20 24 74 68 reshold).{.return.$lev.<.2.*.$th
1078a0 72 65 73 68 6f 6c 64 3b 20 7d 29 3b 0a 61 73 6f 72 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 reshold;.});.asort($alternatives
1078c0 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 74 65 72 6e 61 74 69 );..return.array_keys($alternati
1078e0 76 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ves);.}.......public.function.se
107900 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 0a 7b 0a tDefaultCommand($commandName).{.
107920 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 $this->defaultCommand.=.$command
107940 4e 61 6d 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 53 Name;.}..private.function.splitS
107960 74 72 69 6e 67 42 79 57 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 77 69 64 74 68 29 0a 7b 0a tringByWidth($string,.$width).{.
107980 0a 20 0a 20 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 ......if.(false.===.$encoding.=.
1079a0 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c mb_detect_encoding($string,.null
1079c0 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 73 70 6c 69 74 28 24 73 74 72 ,.true)).{.return.str_split($str
1079e0 69 6e 67 2c 20 24 77 69 64 74 68 29 3b 0a 7d 0a 0a 24 75 74 66 38 53 74 72 69 6e 67 20 3d 20 6d ing,.$width);.}..$utf8String.=.m
107a00 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 27 75 74 66 b_convert_encoding($string,.'utf
107a20 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 8',.$encoding);.$lines.=.array()
107a40 3b 0a 24 6c 69 6e 65 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 ;.$line.=.'';.foreach.(preg_spli
107a60 74 28 27 2f 2f 75 27 2c 20 24 75 74 66 38 53 74 72 69 6e 67 29 20 61 73 20 24 63 68 61 72 29 20 t('//u',.$utf8String).as.$char).
107a80 7b 0a 0a 20 69 66 20 28 6d 62 5f 73 74 72 77 69 64 74 68 28 24 6c 69 6e 65 2e 24 63 68 61 72 2c {...if.(mb_strwidth($line.$char,
107aa0 20 27 75 74 66 38 27 29 20 3c 3d 20 24 77 69 64 74 68 29 20 7b 0a 24 6c 69 6e 65 20 2e 3d 20 24 .'utf8').<=.$width).{.$line..=.$
107ac0 63 68 61 72 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 char;.continue;.}...$lines[].=.s
107ae0 74 72 5f 70 61 64 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 29 3b 0a 24 6c 69 6e 65 20 3d 20 24 tr_pad($line,.$width);.$line.=.$
107b00 63 68 61 72 3b 0a 7d 0a 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 char;.}..$lines[].=.count($lines
107b20 29 20 3f 20 73 74 72 5f 70 61 64 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 29 20 3a 20 24 6c 69 ).?.str_pad($line,.$width).:.$li
107b40 6e 65 3b 0a 0a 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 65 6e 63 6f 64 ne;..mb_convert_variables($encod
107b60 69 6e 67 2c 20 27 75 74 66 38 27 2c 20 24 6c 69 6e 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c ing,.'utf8',.$lines);..return.$l
107b80 69 6e 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ines;.}.........private.function
107ba0 20 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 6e 61 6d 65 29 0a 7b 0a 0a .extractAllNamespaces($name).{..
107bc0 20 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 2c 20 2d 31 .$parts.=.explode(':',.$name,.-1
107be0 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 );.$namespaces.=.array();..forea
107c00 63 68 20 28 24 70 61 72 74 73 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 63 6f 75 6e 74 ch.($parts.as.$part).{.if.(count
107c20 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d ($namespaces)).{.$namespaces[].=
107c40 20 65 6e 64 28 24 6e 61 6d 65 73 70 61 63 65 73 29 2e 27 3a 27 2e 24 70 61 72 74 3b 0a 7d 20 65 .end($namespaces).':'.$part;.}.e
107c60 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d lse.{.$namespaces[].=.$part;.}.}
107c80 0a 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 ..return.$namespaces;.}..private
107ca0 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e .function.init().{.if.($this->in
107cc0 69 74 69 61 6c 69 7a 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e itialized).{.return;.}.$this->in
107ce0 69 74 69 61 6c 69 7a 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 itialized.=.true;..foreach.($thi
107d00 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d s->getDefaultCommands().as.$comm
107d20 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d and).{.$this->add($command);.}.}
107d40 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
107d60 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a fony\Component\Console\Command;.
107d80 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 .use.Symfony\Component\Console\D
107da0 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 escriptor\TextDescriptor;.use.Sy
107dc0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 mfony\Component\Console\Descript
107de0 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f or\XmlDescriptor;.use.Symfony\Co
107e00 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 63 65 70 74 mponent\Console\Exception\Except
107e20 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ionInterface;.use.Symfony\Compon
107e40 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f ent\Console\Input\InputDefinitio
107e60 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
107e80 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c \Input\InputOption;.use.Symfony\
107ea0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 Component\Console\Input\InputArg
107ec0 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ument;.use.Symfony\Component\Con
107ee0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
107f00 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
107f20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 BufferedOutput;.use.Symfony\Comp
107f40 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 onent\Console\Output\OutputInter
107f60 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
107f80 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ole\Application;.use.Symfony\Com
107fa0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b ponent\Console\Helper\HelperSet;
107fc0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
107fe0 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f xception\InvalidArgumentExceptio
108000 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
108020 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a \Exception\LogicException;......
108040 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 .class.Command.{.private.$applic
108060 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 ation;.private.$name;.private.$p
108080 72 6f 63 65 73 73 54 69 74 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 65 73 20 3d 20 rocessTitle;.private.$aliases.=.
1080a0 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 array();.private.$definition;.pr
1080c0 69 76 61 74 65 20 24 68 65 6c 70 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f ivate.$help;.private.$descriptio
1080e0 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f n;.private.$ignoreValidationErro
108100 72 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e rs.=.false;.private.$application
108120 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 DefinitionMerged.=.false;.privat
108140 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 e.$applicationDefinitionMergedWi
108160 74 68 41 72 67 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a 70 thArgs.=.false;.private.$code;.p
108180 72 69 76 61 74 65 20 24 73 79 6e 6f 70 73 69 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 rivate.$synopsis.=.array();.priv
1081a0 61 74 65 20 24 75 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 ate.$usages.=.array();.private.$
1081c0 68 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e helperSet;.......public.function
1081e0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 .__construct($name.=.null).{.$th
108200 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 is->definition.=.new.InputDefini
108220 74 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 tion();..if.(null.!==.$name).{.$
108240 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e this->setName($name);.}..$this->
108260 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6e 61 6d 65 29 20 configure();..if.(!$this->name).
108280 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e {.throw.new.LogicException(sprin
1082a0 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 64 65 66 69 6e 65 64 20 69 6e 20 22 25 73 22 20 tf('The.command.defined.in."%s".
1082c0 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 6e 20 65 6d 70 74 79 20 6e 61 6d 65 2e 27 2c 20 67 65 74 cannot.have.an.empty.name.',.get
1082e0 5f 63 6c 61 73 73 28 24 74 68 69 73 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 _class($this)));.}.}.......publi
108300 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 c.function.ignoreValidationError
108320 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 s().{.$this->ignoreValidationErr
108340 6f 72 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ors.=.true;.}..public.function.s
108360 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 etApplication(Application.$appli
108380 63 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 cation.=.null).{.$this->applicat
1083a0 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 ion.=.$application;.if.($applica
1083c0 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 61 70 70 tion).{.$this->setHelperSet($app
1083e0 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 29 3b 0a 7d 20 65 6c 73 lication->getHelperSet());.}.els
108400 65 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d e.{.$this->helperSet.=.null;.}.}
108420 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 ..public.function.setHelperSet(H
108440 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 elperSet.$helperSet).{.$this->he
108460 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 lperSet.=.$helperSet;.}.......pu
108480 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 blic.function.getHelperSet().{.r
1084a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a eturn.$this->helperSet;.}.......
1084c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 public.function.getApplication()
1084e0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a .{.return.$this->application;.}.
108500 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 62 6c .........public.function.isEnabl
108520 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ed().{.return.true;.}.....protec
108540 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a ted.function.configure().{.}....
108560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 ............protected.function.e
108580 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 xecute(InputInterface.$input,.Ou
1085a0 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 74 68 72 6f 77 20 6e tputInterface.$output).{.throw.n
1085c0 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 6f 76 65 72 ew.LogicException('You.must.over
1085e0 72 69 64 65 20 74 68 65 20 65 78 65 63 75 74 65 28 29 20 6d 65 74 68 6f 64 20 69 6e 20 74 68 65 ride.the.execute().method.in.the
108600 20 63 6f 6e 63 72 65 74 65 20 63 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 2e 27 29 3b 0a 7d 0a 0a 0a .concrete.command.class.');.}...
108620 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 ......protected.function.interac
108640 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 t(InputInterface.$input,.OutputI
108660 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f nterface.$output).{.}........pro
108680 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 tected.function.initialize(Input
1086a0 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
1086c0 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 e.$output).{.}................pu
1086e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 blic.function.run(InputInterface
108700 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 .$input,.OutputInterface.$output
108720 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 3b 0a ).{...$this->getSynopsis(true);.
108740 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 66 61 6c 73 65 29 3b 0a 0a 0a 20 24 74 $this->getSynopsis(false);....$t
108760 68 69 73 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 his->mergeApplicationDefinition(
108780 29 3b 0a 0a 0a 20 74 72 79 20 7b 0a 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 74 68 69 73 2d 3e );....try.{.$input->bind($this->
1087a0 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 49 definition);.}.catch.(ExceptionI
1087c0 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 67 6e 6f 72 nterface.$e).{.if.(!$this->ignor
1087e0 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d eValidationErrors).{.throw.$e;.}
108800 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f .}..$this->initialize($input,.$o
108820 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f utput);..if.(null.!==.$this->pro
108840 63 65 73 73 54 69 74 6c 65 29 20 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 cessTitle).{.if.(function_exists
108860 28 27 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 27 29 29 20 7b 0a 69 66 20 ('cli_set_process_title')).{.if.
108880 28 21 40 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 28 24 74 68 69 73 2d 3e (!@cli_set_process_title($this->
1088a0 70 72 6f 63 65 73 73 54 69 74 6c 65 29 29 20 7b 0a 69 66 20 28 27 44 61 72 77 69 6e 27 20 3d 3d processTitle)).{.if.('Darwin'.==
1088c0 3d 20 50 48 50 5f 4f 53 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 =.PHP_OS).{.$output->writeln('<c
1088e0 6f 6d 6d 65 6e 74 3e 52 75 6e 6e 69 6e 67 20 22 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f omment>Running."cli_set_process_
108900 74 69 74 6c 65 22 20 61 73 20 61 6e 20 75 6e 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 20 69 title".as.an.unprivileged.user.i
108920 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 4d 61 63 4f 53 2e 3c 2f 63 6f 6d 6d 65 s.not.supported.on.MacOS.</comme
108940 6e 74 3e 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 nt>',.OutputInterface::VERBOSITY
108960 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 6c 69 5f 73 65 74 _VERY_VERBOSE);.}.else.{.cli_set
108980 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 _process_title($this->processTit
1089a0 6c 65 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 le);.}.}.}.elseif.(function_exis
1089c0 74 73 28 27 73 65 74 70 72 6f 63 74 69 74 6c 65 27 29 29 20 7b 0a 73 65 74 70 72 6f 63 74 69 74 ts('setproctitle')).{.setproctit
1089e0 6c 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 3b 0a 7d 20 65 6c 73 65 69 le($this->processTitle);.}.elsei
108a00 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 f.(OutputInterface::VERBOSITY_VE
108a20 52 59 5f 56 45 52 42 4f 53 45 20 3d 3d 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f RY_VERBOSE.===.$output->getVerbo
108a40 73 69 74 79 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d sity()).{.$output->writeln('<com
108a60 6d 65 6e 74 3e 49 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 63 74 69 74 6c 65 20 50 45 43 4c 20 ment>Install.the.proctitle.PECL.
108a80 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 70 72 6f 63 65 73 73 to.be.able.to.change.the.process
108aa0 20 74 69 74 6c 65 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 .title.</comment>');.}.}..if.($i
108ac0 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e nput->isInteractive()).{.$this->
108ae0 69 6e 74 65 72 61 63 74 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 interact($input,.$output);.}....
108b00 0a 20 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d ....if.($input->hasArgument('com
108b20 6d 61 6e 64 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 mand').&&.null.===.$input->getAr
108b40 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 gument('command')).{.$input->set
108b60 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 Argument('command',.$this->getNa
108b80 6d 65 28 29 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 2d 3e 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 69 me());.}..$input->validate();..i
108ba0 66 20 28 24 74 68 69 73 2d 3e 63 6f 64 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 f.($this->code).{.$statusCode.=.
108bc0 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 63 6f 64 65 2c 20 24 69 6e 70 call_user_func($this->code,.$inp
108be0 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 74 61 74 75 73 43 6f ut,.$output);.}.else.{.$statusCo
108c00 64 65 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 de.=.$this->execute($input,.$out
108c20 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 74 61 74 put);.}..return.is_numeric($stat
108c40 75 73 43 6f 64 65 29 20 3f 20 28 69 6e 74 29 20 24 73 74 61 74 75 73 43 6f 64 65 20 3a 20 30 3b usCode).?.(int).$statusCode.:.0;
108c60 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .}................public.functio
108c80 6e 20 73 65 74 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 n.setCode($code).{.if.(!is_calla
108ca0 62 6c 65 28 24 63 6f 64 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 ble($code)).{.throw.new.InvalidA
108cc0 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 61 6c 6c 61 62 rgumentException('Invalid.callab
108ce0 6c 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 43 6f 6d 6d 61 6e 64 3a 3a 73 65 74 43 6f 64 65 2e le.provided.to.Command::setCode.
108d00 27 29 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 ');.}..if.(PHP_VERSION_ID.>=.504
108d20 30 30 20 26 26 20 24 63 6f 64 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 43 6c 6f 73 75 72 65 29 00.&&.$code.instanceof.\Closure)
108d40 20 7b 0a 24 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 46 75 6e 63 74 69 6f 6e 28 .{.$r.=.new.\ReflectionFunction(
108d60 24 63 6f 64 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 2d 3e 67 65 74 43 6c 6f 73 $code);.if.(null.===.$r->getClos
108d80 75 72 65 54 68 69 73 28 29 29 20 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 ureThis()).{.if.(PHP_VERSION_ID.
108da0 3c 20 37 30 30 30 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 63 6f 64 65 20 3d 20 40 5c 43 6c 6f <.70000).{.........$code.=.@\Clo
108dc0 73 75 72 65 3a 3a 62 69 6e 64 28 24 63 6f 64 65 2c 20 24 74 68 69 73 29 3b 0a 7d 20 65 6c 73 65 sure::bind($code,.$this);.}.else
108de0 20 7b 0a 24 63 6f 64 65 20 3d 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 24 63 6f 64 65 2c .{.$code.=.\Closure::bind($code,
108e00 20 24 74 68 69 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 64 65 20 3d 20 24 63 .$this);.}.}.}..$this->code.=.$c
108e20 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ode;..return.$this;.}.........pu
108e40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 blic.function.mergeApplicationDe
108e60 66 69 6e 69 74 69 6f 6e 28 24 6d 65 72 67 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 finition($mergeArgs.=.true).{.if
108e80 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 7c 7c .(null.===.$this->application.||
108ea0 20 28 74 72 75 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 .(true.===.$this->applicationDef
108ec0 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 26 26 20 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 initionMerged.&&.($this->applica
108ee0 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 7c 7c 20 tionDefinitionMergedWithArgs.||.
108f00 21 24 6d 65 72 67 65 41 72 67 73 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 !$mergeArgs))).{.return;.}..$thi
108f20 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d s->definition->addOptions($this-
108f40 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 >application->getDefinition()->g
108f60 65 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 0a 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 29 20 7b etOptions());..if.($mergeArgs).{
108f80 0a 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 .$currentArguments.=.$this->defi
108fa0 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 74 68 69 73 2d 3e 64 nition->getArguments();.$this->d
108fc0 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 61 efinition->setArguments($this->a
108fe0 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 pplication->getDefinition()->get
109000 41 72 67 75 6d 65 6e 74 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d Arguments());.$this->definition-
109020 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 73 29 >addArguments($currentArguments)
109040 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f ;.}..$this->applicationDefinitio
109060 6e 4d 65 72 67 65 64 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 29 20 nMerged.=.true;.if.($mergeArgs).
109080 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 {.$this->applicationDefinitionMe
1090a0 72 67 65 64 57 69 74 68 41 72 67 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a rgedWithArgs.=.true;.}.}........
1090c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 .public.function.setDefinition($
1090e0 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 69 6e definition).{.if.($definition.in
109100 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 stanceof.InputDefinition).{.$thi
109120 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 20 65 s->definition.=.$definition;.}.e
109140 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 44 65 66 69 lse.{.$this->definition->setDefi
109160 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 nition($definition);.}..$this->a
109180 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 66 61 6c pplicationDefinitionMerged.=.fal
1091a0 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 se;..return.$this;.}.......publi
1091c0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 c.function.getDefinition().{.ret
1091e0 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a urn.$this->definition;.}........
109200 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 74 69 76 65 44 65 66 ....public.function.getNativeDef
109220 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 inition().{.return.$this->getDef
109240 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 inition();.}............public.f
109260 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 unction.addArgument($name,.$mode
109280 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 .=.null,.$description.=.'',.$def
1092a0 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e ault.=.null).{.$this->definition
1092c0 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 ->addArgument(new.InputArgument(
1092e0 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 66 $name,.$mode,.$description,.$def
109300 61 75 6c 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ault));..return.$this;.}........
109320 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 24 .....public.function.addOption($
109340 6e 61 6d 65 2c 20 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 6f 64 65 20 3d 20 name,.$shortcut.=.null,.$mode.=.
109360 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c null,.$description.=.'',.$defaul
109380 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 t.=.null).{.$this->definition->a
1093a0 64 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 ddOption(new.InputOption($name,.
1093c0 24 73 68 6f 72 74 63 75 74 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 $shortcut,.$mode,.$description,.
1093e0 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a $default));..return.$this;.}....
109400 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e ............public.function.setN
109420 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 ame($name).{.$this->validateName
109440 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 0a ($name);..$this->name.=.$name;..
109460 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 return.$this;.}..............pub
109480 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 63 65 73 73 54 69 74 6c 65 28 24 74 69 lic.function.setProcessTitle($ti
1094a0 74 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 20 3d 20 24 74 69 tle).{.$this->processTitle.=.$ti
1094c0 74 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tle;..return.$this;.}.......publ
1094e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ic.function.getName().{.return.$
109500 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e this->name;.}.........public.fun
109520 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 69 6f ction.setDescription($descriptio
109540 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 n).{.$this->description.=.$descr
109560 69 70 74 69 6f 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 iption;..return.$this;.}.......p
109580 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a ublic.function.getDescription().
1095a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a {.return.$this->description;.}..
1095c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 28 24 .......public.function.setHelp($
1095e0 68 65 6c 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 20 3d 20 24 68 65 6c 70 3b 0a 0a 72 65 help).{.$this->help.=.$help;..re
109600 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
109620 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 ion.getHelp().{.return.$this->he
109640 6c 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 lp;.}........public.function.get
109660 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d ProcessedHelp().{.$name.=.$this-
109680 3e 6e 61 6d 65 3b 0a 0a 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 3d 20 61 72 72 61 79 28 0a 27 >name;..$placeholders.=.array(.'
1096a0 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 27 2c 0a 27 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f %command.name%',.'%command.full_
1096c0 6e 61 6d 65 25 27 2c 0a 29 3b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 name%',.);.$replacements.=.array
1096e0 28 0a 24 6e 61 6d 65 2c 0a 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 2e 27 20 (.$name,.$_SERVER['PHP_SELF'].'.
109700 27 2e 24 6e 61 6d 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 '.$name,.);..return.str_replace(
109720 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 24 74 $placeholders,.$replacements,.$t
109740 68 69 73 2d 3e 67 65 74 48 65 6c 70 28 29 20 3f 3a 20 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 his->getHelp().?:.$this->getDesc
109760 72 69 70 74 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ription());.}...........public.f
109780 75 6e 63 74 69 6f 6e 20 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 0a 7b 0a 69 unction.setAliases($aliases).{.i
1097a0 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 61 6c 69 61 73 65 73 29 20 26 26 20 21 24 61 6c 69 61 f.(!is_array($aliases).&&.!$alia
1097c0 73 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 74 ses.instanceof.\Traversable).{.t
1097e0 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f hrow.new.InvalidArgumentExceptio
109800 6e 28 27 24 61 6c 69 61 73 65 73 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 n('$aliases.must.be.an.array.or.
109820 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 27 29 3b 0a 7d an.instance.of.\Traversable');.}
109840 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 61 6c 69 61 73 29 20 7b ..foreach.($aliases.as.$alias).{
109860 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 61 6c 69 61 73 29 3b 0a 7d 0a .$this->validateName($alias);.}.
109880 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 0a 72 65 74 .$this->aliases.=.$aliases;..ret
1098a0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urn.$this;.}.......public.functi
1098c0 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e on.getAliases().{.return.$this->
1098e0 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 aliases;.}.........public.functi
109900 6f 6e 20 67 65 74 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b on.getSynopsis($short.=.false).{
109920 0a 24 6b 65 79 20 3d 20 24 73 68 6f 72 74 20 3f 20 27 73 68 6f 72 74 27 20 3a 20 27 6c 6f 6e 67 .$key.=.$short.?.'short'.:.'long
109940 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 ';..if.(!isset($this->synopsis[$
109960 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 20 3d key])).{.$this->synopsis[$key].=
109980 20 74 72 69 6d 28 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 6e 61 .trim(sprintf('%s.%s',.$this->na
1099a0 6d 65 2c 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 53 79 6e 6f 70 73 me,.$this->definition->getSynops
1099c0 69 73 28 24 73 68 6f 72 74 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 is($short)));.}..return.$this->s
1099e0 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ynopsis[$key];.}.........public.
109a00 66 75 6e 63 74 69 6f 6e 20 61 64 64 55 73 61 67 65 28 24 75 73 61 67 65 29 0a 7b 0a 69 66 20 28 function.addUsage($usage).{.if.(
109a20 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 75 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 0.!==.strpos($usage,.$this->name
109a40 29 29 20 7b 0a 24 75 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 27 2c 20 24 )).{.$usage.=.sprintf('%s.%s',.$
109a60 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 73 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 this->name,.$usage);.}..$this->u
109a80 73 61 67 65 73 5b 5d 20 3d 20 24 75 73 61 67 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b sages[].=.$usage;..return.$this;
109aa0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 61 67 .}.......public.function.getUsag
109ac0 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 61 67 65 73 3b 0a 7d 0a 0a es().{.return.$this->usages;.}..
109ae0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c ..........public.function.getHel
109b00 70 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d per($name).{.if.(null.===.$this-
109b20 3e 68 65 6c 70 65 72 53 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 >helperSet).{.throw.new.LogicExc
109b40 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 72 65 74 72 69 65 76 65 20 eption(sprintf('Cannot.retrieve.
109b60 68 65 6c 70 65 72 20 22 25 73 22 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 helper."%s".because.there.is.no.
109b80 48 65 6c 70 65 72 53 65 74 20 64 65 66 69 6e 65 64 2e 20 44 69 64 20 79 6f 75 20 66 6f 72 67 65 HelperSet.defined..Did.you.forge
109ba0 74 20 74 6f 20 61 64 64 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 61 70 70 t.to.add.your.command.to.the.app
109bc0 6c 69 63 61 74 69 6f 6e 20 6f 72 20 74 6f 20 73 65 74 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 lication.or.to.set.the.applicati
109be0 6f 6e 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e 67 20 74 68 65 20 73 65 74 41 on.on.the.command.using.the.setA
109c00 70 70 6c 69 63 61 74 69 6f 6e 28 29 20 6d 65 74 68 6f 64 3f 20 59 6f 75 20 63 61 6e 20 61 6c 73 pplication().method?.You.can.als
109c20 6f 20 73 65 74 20 74 68 65 20 48 65 6c 70 65 72 53 65 74 20 64 69 72 65 63 74 6c 79 20 75 73 69 o.set.the.HelperSet.directly.usi
109c40 6e 67 20 74 68 65 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 6d 65 74 68 6f 64 2e 27 2c 20 ng.the.setHelperSet().method.',.
109c60 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 $name));.}..return.$this->helper
109c80 53 65 74 2d 3e 67 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 Set->get($name);.}.........publi
109ca0 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 c.function.asText().{.@trigger_e
109cc0 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 rror('The.'.__METHOD__.'.method.
109ce0 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 is.deprecated.since.Symfony.2.3.
109d00 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f and.will.be.removed.in.3.0.',.E_
109d20 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d USER_DEPRECATED);..$descriptor.=
109d40 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d .new.TextDescriptor();.$output.=
109d60 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 .new.BufferedOutput(BufferedOutp
109d80 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 74 72 75 65 29 3b 0a 24 64 65 ut::VERBOSITY_NORMAL,.true);.$de
109da0 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 scriptor->describe($output,.$thi
109dc0 73 2c 20 61 72 72 61 79 28 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b s,.array('raw_output'.=>.true));
109de0 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a ..return.$output->fetch();.}....
109e00 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 61 73 .......public.function.asXml($as
109e20 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 Dom.=.false).{.@trigger_error('T
109e40 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 he.'.__METHOD__.'.method.is.depr
109e60 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.3.and.wil
109e80 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 l.be.removed.in.3.0.',.E_USER_DE
109ea0 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d PRECATED);..$descriptor.=.new.Xm
109ec0 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 lDescriptor();..if.($asDom).{.re
109ee0 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 turn.$descriptor->getCommandDocu
109f00 6d 65 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 ment($this);.}..$output.=.new.Bu
109f20 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 fferedOutput();.$descriptor->des
109f40 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 cribe($output,.$this);..return.$
109f60 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 output->fetch();.}...........pri
109f80 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 6e 61 6d 65 vate.function.validateName($name
109fa0 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 5e 5c 3a 5d 2b 2b 28 5c ).{.if.(!preg_match('/^[^\:]++(\
109fc0 3a 5b 5e 5c 3a 5d 2b 2b 29 2a 24 2f 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e :[^\:]++)*$/',.$name)).{.throw.n
109fe0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
10a000 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 ntf('Command.name."%s".is.invali
10a020 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a d.',.$name));.}.}.}.<?php.......
10a040 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
10a060 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Console\Command;..use.Symfony\Co
10a080 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 74 6f mponent\Console\Helper\Descripto
10a0a0 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 rHelper;.use.Symfony\Component\C
10a0c0 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 onsole\Input\InputArgument;.use.
10a0e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c Symfony\Component\Console\Input\
10a100 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 InputOption;.use.Symfony\Compone
10a120 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
10a140 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f .use.Symfony\Component\Console\O
10a160 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 utput\OutputInterface;.......cla
10a180 73 73 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b ss.HelpCommand.extends.Command.{
10a1a0 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 .private.$command;.....protected
10a1c0 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 .function.configure().{.$this->i
10a1e0 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 29 3b 0a 0a 24 74 68 69 73 0a gnoreValidationErrors();..$this.
10a200 2d 3e 73 65 74 4e 61 6d 65 28 27 68 65 6c 70 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f ->setName('help').->setDefinitio
10a220 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d n(array(.new.InputArgument('comm
10a240 61 6e 64 5f 6e 61 6d 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e and_name',.InputArgument::OPTION
10a260 41 4c 2c 20 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 27 2c 20 27 68 65 6c 70 27 29 2c AL,.'The.command.name',.'help'),
10a280 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e .new.InputOption('xml',.null,.In
10a2a0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 putOption::VALUE_NONE,.'To.outpu
10a2c0 74 20 68 65 6c 70 20 61 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e t.help.as.XML'),.new.InputOption
10a2e0 28 27 66 6f 72 6d 61 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 ('format',.null,.InputOption::VA
10a300 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 LUE_REQUIRED,.'The.output.format
10a320 20 28 74 78 74 2c 20 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 .(txt,.xml,.json,.or.md)',.'txt'
10a340 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e 75 6c 6c 2c 20 ),.new.InputOption('raw',.null,.
10a360 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 InputOption::VALUE_NONE,.'To.out
10a380 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 put.raw.command.help'),.)).->set
10a3a0 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 20 61 Description('Displays.help.for.a
10a3c0 20 63 6f 6d 6d 61 6e 64 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 27 45 4f 46 27 0a 54 68 .command').->setHelp(<<<'EOF'.Th
10a3e0 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f e.<info>%command.name%</info>.co
10a400 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 20 61 20 67 69 76 65 6e 20 mmand.displays.help.for.a.given.
10a420 63 6f 6d 6d 61 6e 64 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 command:....<info>php.%command.f
10a440 75 6c 6c 5f 6e 61 6d 65 25 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 ull_name%.list</info>..You.can.a
10a460 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 68 65 6c 70 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 lso.output.the.help.in.other.for
10a480 6d 61 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d 6d 65 6e 74 3e 2d 2d 66 6f 72 mats.by.using.the.<comment>--for
10a4a0 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 mat</comment>.option:....<info>p
10a4c0 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 66 6f 72 6d 61 74 3d hp.%command.full_name%.--format=
10a4e0 78 6d 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 xml.list</info>..To.display.the.
10a500 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2c 20 70 6c 65 61 list.of.available.commands,.plea
10a520 73 65 20 75 73 65 20 74 68 65 20 3c 69 6e 66 6f 3e 6c 69 73 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d se.use.the.<info>list</info>.com
10a540 6d 61 6e 64 2e 0a 45 4f 46 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e mand..EOF.).;.}..public.function
10a560 20 73 65 74 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a .setCommand(Command.$command).{.
10a580 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a $this->command.=.$command;.}....
10a5a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
10a5c0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
10a5e0 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 ce.$output).{.if.(null.===.$this
10a600 2d 3e 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 ->command).{.$this->command.=.$t
10a620 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 24 69 6e 70 his->getApplication()->find($inp
10a640 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 29 29 ut->getArgument('command_name'))
10a660 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 ;.}..if.($input->getOption('xml'
10a680 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 2d 2d 78 6d 6c 20 6f )).{.@trigger_error('The.--xml.o
10a6a0 70 74 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 ption.was.deprecated.in.version.
10a6c0 32 2e 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 76 65 72 73 69 2.7.and.will.be.removed.in.versi
10a6e0 6f 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d 61 74 20 6f 70 74 69 6f 6e 20 on.3.0..Use.the.--format.option.
10a700 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a instead.',.E_USER_DEPRECATED);..
10a720 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 78 6d 6c $input->setOption('format',.'xml
10a740 27 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 65 73 63 72 69 70 74 6f 72 48 ');.}..$helper.=.new.DescriptorH
10a760 65 6c 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 elper();.$helper->describe($outp
10a780 75 74 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 28 0a 27 66 6f 72 6d ut,.$this->command,.array(.'form
10a7a0 61 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 at'.=>.$input->getOption('format
10a7c0 27 29 2c 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 '),.'raw_text'.=>.$input->getOpt
10a7e0 69 6f 6e 28 27 72 61 77 27 29 2c 0a 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 ion('raw'),.));..$this->command.
10a800 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 =.null;.}.}.<?php...........name
10a820 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
10a840 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Command;..use.Symfony\Component\
10a860 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 3b Console\Helper\DescriptorHelper;
10a880 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
10a8a0 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nput\InputArgument;.use.Symfony\
10a8c0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 Component\Console\Input\InputOpt
10a8e0 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
10a900 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d le\Input\InputInterface;.use.Sym
10a920 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
10a940 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f tputInterface;.use.Symfony\Compo
10a960 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 nent\Console\Input\InputDefiniti
10a980 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 on;.......class.ListCommand.exte
10a9a0 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 nds.Command.{....protected.funct
10a9c0 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d ion.configure().{.$this.->setNam
10a9e0 65 28 27 6c 69 73 74 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 74 68 69 73 2d e('list').->setDefinition($this-
10aa00 3e 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 >createDefinition()).->setDescri
10aa20 70 74 69 6f 6e 28 27 4c 69 73 74 73 20 63 6f 6d 6d 61 6e 64 73 27 29 0a 2d 3e 73 65 74 48 65 6c ption('Lists.commands').->setHel
10aa40 70 28 3c 3c 3c 27 45 4f 46 27 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 p(<<<'EOF'.The.<info>%command.na
10aa60 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 73 20 61 6c 6c 20 63 6f 6d me%</info>.command.lists.all.com
10aa80 6d 61 6e 64 73 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c mands:....<info>php.%command.ful
10aaa0 6c 5f 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 64 69 73 l_name%</info>..You.can.also.dis
10aac0 70 6c 61 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 play.the.commands.for.a.specific
10aae0 20 6e 61 6d 65 73 70 61 63 65 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e .namespace:....<info>php.%comman
10ab00 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 74 65 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 d.full_name%.test</info>..You.ca
10ab20 6e 20 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e n.also.output.the.information.in
10ab40 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d .other.formats.by.using.the.<com
10ab60 6d 65 6e 74 3e 2d 2d 66 6f 72 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a ment>--format</comment>.option:.
10ab80 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 ...<info>php.%command.full_name%
10aba0 20 2d 2d 66 6f 72 6d 61 74 3d 78 6d 6c 3c 2f 69 6e 66 6f 3e 0a 0a 49 74 27 73 20 61 6c 73 6f 20 .--format=xml</info>..It's.also.
10abc0 70 6f 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 72 61 77 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d possible.to.get.raw.list.of.comm
10abe0 61 6e 64 73 20 28 75 73 65 66 75 6c 20 66 6f 72 20 65 6d 62 65 64 64 69 6e 67 20 63 6f 6d 6d 61 ands.(useful.for.embedding.comma
10ac00 6e 64 20 72 75 6e 6e 65 72 29 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e nd.runner):....<info>php.%comman
10ac20 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 72 61 77 3c 2f 69 6e 66 6f 3e 0a 45 4f 46 0a 29 0a d.full_name%.--raw</info>.EOF.).
10ac40 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 74 69 76 ;.}.....public.function.getNativ
10ac60 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 eDefinition().{.return.$this->cr
10ac80 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 eateDefinition();.}.....protecte
10aca0 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 d.function.execute(InputInterfac
10acc0 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 e.$input,.OutputInterface.$outpu
10ace0 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 t).{.if.($input->getOption('xml'
10ad00 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 2d 2d 78 6d 6c 20 6f )).{.@trigger_error('The.--xml.o
10ad20 70 74 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 ption.was.deprecated.in.version.
10ad40 32 2e 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 76 65 72 73 69 2.7.and.will.be.removed.in.versi
10ad60 6f 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d 61 74 20 6f 70 74 69 6f 6e 20 on.3.0..Use.the.--format.option.
10ad80 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a instead.',.E_USER_DEPRECATED);..
10ada0 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 78 6d 6c $input->setOption('format',.'xml
10adc0 27 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 65 73 63 72 69 70 74 6f 72 48 ');.}..$helper.=.new.DescriptorH
10ade0 65 6c 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 elper();.$helper->describe($outp
10ae00 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2c 20 61 72 72 ut,.$this->getApplication(),.arr
10ae20 61 79 28 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ay(.'format'.=>.$input->getOptio
10ae40 6e 28 27 66 6f 72 6d 61 74 27 29 2c 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 75 n('format'),.'raw_text'.=>.$inpu
10ae60 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 27 6e 61 6d 65 73 70 61 63 65 27 t->getOption('raw'),.'namespace'
10ae80 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 .=>.$input->getArgument('namespa
10aea0 63 65 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ce'),.));.}.....private.function
10aec0 20 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 .createDefinition().{.return.new
10aee0 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .InputDefinition(array(.new.Inpu
10af00 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 27 2c 20 49 6e 70 75 74 41 72 67 75 tArgument('namespace',.InputArgu
10af20 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6e ment::OPTIONAL,.'The.namespace.n
10af40 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 2c 20 6e 75 ame'),.new.InputOption('xml',.nu
10af60 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f ll,.InputOption::VALUE_NONE,.'To
10af80 20 6f 75 74 70 75 74 20 6c 69 73 74 20 61 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 .output.list.as.XML'),.new.Input
10afa0 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a Option('raw',.null,.InputOption:
10afc0 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d :VALUE_NONE,.'To.output.raw.comm
10afe0 61 6e 64 20 6c 69 73 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 and.list'),.new.InputOption('for
10b000 6d 61 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 mat',.null,.InputOption::VALUE_R
10b020 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 20 28 74 78 74 EQUIRED,.'The.output.format.(txt
10b040 2c 20 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 29 2c 0a 29 29 ,.xml,.json,.or.md)',.'txt'),.))
10b060 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
10b080 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 0a 0a 0a 0a Symfony\Component\Console;......
10b0a0 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a .final.class.ConsoleEvents.{....
10b0c0 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e .......const.COMMAND.=.'console.
10b0e0 63 6f 6d 6d 61 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 54 45 52 4d 49 4e command';...........const.TERMIN
10b100 41 54 45 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 74 65 72 6d 69 6e 61 74 65 27 3b 0a 0a 0a 0a 0a 0a ATE.=.'console.terminate';......
10b120 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 20 3d 20 27 63 6f 6e 73 6f 6c 65 ......const.EXCEPTION.=.'console
10b140 2e 65 78 63 65 70 74 69 6f 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .exception';.}.<?php...........n
10b160 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
10b180 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 le\Descriptor;..use.Symfony\Comp
10b1a0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 onent\Console\Application;.use.S
10b1c0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 ymfony\Component\Console\Command
10b1e0 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c \Command;.use.Symfony\Component\
10b200 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e Console\Exception\CommandNotFoun
10b220 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 dException;.......class.Applicat
10b240 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 47 4c 4f 42 41 4c 5f 4e 41 ionDescription.{.const.GLOBAL_NA
10b260 4d 45 53 50 41 43 45 20 3d 20 27 5f 67 6c 6f 62 61 6c 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 61 MESPACE.=.'_global';..private.$a
10b280 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a pplication;.private.$namespace;.
10b2a0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a 0a 0a 0a 0a 70 72 69 ....private.$namespaces;.....pri
10b2c0 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 6c 69 vate.$commands;.....private.$ali
10b2e0 61 73 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 ases;..public.function.__constru
10b300 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 ct(Application.$application,.$na
10b320 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 mespace.=.null).{.$this->applica
10b340 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 tion.=.$application;.$this->name
10b360 73 70 61 63 65 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 space.=.$namespace;.}.....public
10b380 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 7b 0a 69 66 20 28 .function.getNamespaces().{.if.(
10b3a0 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 29 20 7b 0a 24 74 null.===.$this->namespaces).{.$t
10b3c0 68 69 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 his->inspectApplication();.}..re
10b3e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 turn.$this->namespaces;.}.....pu
10b400 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 69 66 blic.function.getCommands().{.if
10b420 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 20 7b 0a 24 74 .(null.===.$this->commands).{.$t
10b440 68 69 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 his->inspectApplication();.}..re
10b460 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.$this->commands;.}.........
10b480 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 public.function.getCommand($name
10b4a0 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 ).{.if.(!isset($this->commands[$
10b4c0 6e 61 6d 65 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b name]).&&.!isset($this->aliases[
10b4e0 24 6e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 $name])).{.throw.new.CommandNotF
10b500 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 25 oundException(sprintf('Command.%
10b520 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a s.does.not.exist.',.$name));.}..
10b540 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 return.isset($this->commands[$na
10b560 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3a 20 me]).?.$this->commands[$name].:.
10b580 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 $this->aliases[$name];.}..privat
10b5a0 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a e.function.inspectApplication().
10b5c0 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 {.$this->commands.=.array();.$th
10b5e0 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 61 6c 6c 20 is->namespaces.=.array();..$all.
10b600 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 6c 6c 28 24 74 68 69 73 2d =.$this->application->all($this-
10b620 3e 6e 61 6d 65 73 70 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d >namespace.?.$this->application-
10b640 3e 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 29 >findNamespace($this->namespace)
10b660 20 3a 20 6e 75 6c 6c 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 43 6f .:.null);.foreach.($this->sortCo
10b680 6d 6d 61 6e 64 73 28 24 61 6c 6c 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 63 mmands($all).as.$namespace.=>.$c
10b6a0 6f 6d 6d 61 6e 64 73 29 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 66 ommands).{.$names.=.array();...f
10b6c0 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 oreach.($commands.as.$name.=>.$c
10b6e0 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 ommand).{.if.(!$command->getName
10b700 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 6d 61 6e 64 2d ()).{.continue;.}..if.($command-
10b720 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 >getName().===.$name).{.$this->c
10b740 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 20 65 6c 73 ommands[$name].=.$command;.}.els
10b760 65 20 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d e.{.$this->aliases[$name].=.$com
10b780 6d 61 6e 64 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 24 74 mand;.}..$names[].=.$name;.}..$t
10b7a0 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 5b 24 6e 61 6d 65 73 70 61 63 65 5d 20 3d 20 61 72 his->namespaces[$namespace].=.ar
10b7c0 72 61 79 28 27 69 64 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 63 6f 6d 6d 61 6e 64 ray('id'.=>.$namespace,.'command
10b7e0 73 27 20 3d 3e 20 24 6e 61 6d 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 s'.=>.$names);.}.}.....private.f
10b800 75 6e 63 74 69 6f 6e 20 73 6f 72 74 43 6f 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d unction.sortCommands(array.$comm
10b820 61 6e 64 73 29 0a 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 ands).{.$namespacedCommands.=.ar
10b840 72 61 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 ray();.$globalCommands.=.array()
10b860 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e ;.foreach.($commands.as.$name.=>
10b880 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 .$command).{.$key.=.$this->appli
10b8a0 63 61 74 69 6f 6e 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 cation->extractNamespace($name,.
10b8c0 31 29 3b 0a 69 66 20 28 21 24 6b 65 79 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 1);.if.(!$key).{.$globalCommands
10b8e0 5b 27 5f 67 6c 6f 62 61 6c 27 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d ['_global'][$name].=.$command;.}
10b900 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 5b 24 6b 65 79 .else.{.$namespacedCommands[$key
10b920 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 ][$name].=.$command;.}.}.ksort($
10b940 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 64 namespacedCommands);.$namespaced
10b960 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 67 6c 6f 62 61 6c 43 6f Commands.=.array_merge($globalCo
10b980 6d 6d 61 6e 64 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 66 mmands,.$namespacedCommands);..f
10b9a0 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 61 73 20 26 oreach.($namespacedCommands.as.&
10b9c0 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 20 7b 0a 6b 73 6f 72 74 28 24 63 6f 6d 6d 61 6e 64 73 53 $commandsSet).{.ksort($commandsS
10b9e0 65 74 29 3b 0a 7d 0a 0a 20 75 6e 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 3b 0a 0a 72 et);.}...unset($commandsSet);..r
10ba00 65 74 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 7d 0a 3c eturn.$namespacedCommands;.}.}.<
10ba20 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
10ba40 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a \Component\Console\Descriptor;..
10ba60 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 use.Symfony\Component\Console\Ap
10ba80 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 plication;.use.Symfony\Component
10baa0 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 \Console\Command\Command;.use.Sy
10bac0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
10bae0 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 putArgument;.use.Symfony\Compone
10bb00 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e nt\Console\Input\InputDefinition
10bb20 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
10bb40 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Input\InputOption;.use.Symfony\C
10bb60 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
10bb80 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
10bba0 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 onsole\Exception\InvalidArgument
10bbc0 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 Exception;.......abstract.class.
10bbe0 44 65 73 63 72 69 70 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 65 73 63 72 69 70 74 6f 72 Descriptor.implements.Descriptor
10bc00 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a Interface.{....private.$output;.
10bc20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 ....public.function.describe(Out
10bc40 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 putInterface.$output,.$object,.a
10bc60 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 rray.$options.=.array()).{.$this
10bc80 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 73 77 69 74 63 68 20 28 74 72 75 ->output.=.$output;..switch.(tru
10bca0 65 29 20 7b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 e).{.case.$object.instanceof.Inp
10bcc0 75 74 41 72 67 75 6d 65 6e 74 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 utArgument:.$this->describeInput
10bce0 41 72 67 75 6d 65 6e 74 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 Argument($object,.$options);.bre
10bd00 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 ak;.case.$object.instanceof.Inpu
10bd20 74 4f 70 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 tOption:.$this->describeInputOpt
10bd40 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 ion($object,.$options);.break;.c
10bd60 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 44 65 66 69 ase.$object.instanceof.InputDefi
10bd80 6e 69 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 nition:.$this->describeInputDefi
10bda0 6e 69 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b nition($object,.$options);.break
10bdc0 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e ;.case.$object.instanceof.Comman
10bde0 64 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 24 6f 62 6a 65 63 d:.$this->describeCommand($objec
10be00 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 t,.$options);.break;.case.$objec
10be20 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 3a 0a 24 74 68 69 73 2d t.instanceof.Application:.$this-
10be40 3e 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f >describeApplication($object,.$o
10be60 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e ptions);.break;.default:.throw.n
10be80 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
10bea0 6e 74 66 28 27 4f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 ntf('Object.of.type."%s".is.not.
10bec0 64 65 73 63 72 69 62 61 62 6c 65 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 6f 62 6a 65 63 74 describable.',.get_class($object
10bee0 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 )));.}.}........protected.functi
10bf00 6f 6e 20 77 72 69 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 on.write($content,.$decorated.=.
10bf20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 false).{.$this->output->write($c
10bf40 6f 6e 74 65 6e 74 2c 20 66 61 6c 73 65 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3f 20 4f 75 74 70 ontent,.false,.$decorated.?.Outp
10bf60 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3a 20 4f 75 74 utInterface::OUTPUT_NORMAL.:.Out
10bf80 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 29 3b 0a 7d 0a 0a 0a 0a putInterface::OUTPUT_RAW);.}....
10bfa0 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 ...abstract.protected.function.d
10bfc0 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 escribeInputArgument(InputArgume
10bfe0 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 nt.$argument,.array.$options.=.a
10c000 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 rray());.......abstract.protecte
10c020 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 d.function.describeInputOption(I
10c040 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f nputOption.$option,.array.$optio
10c060 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 ns.=.array());.......abstract.pr
10c080 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 otected.function.describeInputDe
10c0a0 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 finition(InputDefinition.$defini
10c0c0 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b tion,.array.$options.=.array());
10c0e0 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .......abstract.protected.functi
10c100 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d on.describeCommand(Command.$comm
10c120 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a and,.array.$options.=.array());.
10c140 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ......abstract.protected.functio
10c160 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f n.describeApplication(Applicatio
10c180 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d n.$application,.array.$options.=
10c1a0 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d .array());.}.<?php...........nam
10c1c0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 espace.Symfony\Component\Console
10c1e0 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e \Descriptor;..use.Symfony\Compon
10c200 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ent\Console\Output\OutputInterfa
10c220 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 65 73 63 72 69 70 74 6f 72 49 6e ce;.......interface.DescriptorIn
10c240 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e terface.{........public.function
10c260 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 .describe(OutputInterface.$outpu
10c280 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 t,.$object,.array.$options.=.arr
10c2a0 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ay());.}.<?php...........namespa
10c2c0 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 ce.Symfony\Component\Console\Des
10c2e0 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c criptor;..use.Symfony\Component\
10c300 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Console\Application;.use.Symfony
10c320 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 \Component\Console\Command\Comma
10c340 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c nd;.use.Symfony\Component\Consol
10c360 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
10c380 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
10c3a0 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e Definition;.use.Symfony\Componen
10c3c0 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a t\Console\Input\InputOption;....
10c3e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 .....class.JsonDescriptor.extend
10c400 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 s.Descriptor.{....protected.func
10c420 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 tion.describeInputArgument(Input
10c440 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f Argument.$argument,.array.$optio
10c460 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 ns.=.array()).{.$this->writeData
10c480 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 24 61 72 ($this->getInputArgumentData($ar
10c4a0 67 75 6d 65 6e 74 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 gument),.$options);.}.....protec
10c4c0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e ted.function.describeInputOption
10c4e0 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 (InputOption.$option,.array.$opt
10c500 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 ions.=.array()).{.$this->writeDa
10c520 74 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 24 6f 70 ta($this->getInputOptionData($op
10c540 74 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 tion),.$options);.}.....protecte
10c560 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 d.function.describeInputDefiniti
10c580 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 on(InputDefinition.$definition,.
10c5a0 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$options.=.array()).{.$thi
10c5c0 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 s->writeData($this->getInputDefi
10c5e0 6e 69 74 69 6f 6e 44 61 74 61 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e nitionData($definition),.$option
10c600 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 s);.}.....protected.function.des
10c620 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 cribeCommand(Command.$command,.a
10c640 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 rray.$options.=.array()).{.$this
10c660 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 ->writeData($this->getCommandDat
10c680 61 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 a($command),.$options);.}.....pr
10c6a0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 otected.function.describeApplica
10c6c0 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 tion(Application.$application,.a
10c6e0 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 73 63 rray.$options.=.array()).{.$desc
10c700 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b ribedNamespace.=.isset($options[
10c720 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 'namespace']).?.$options['namesp
10c740 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 ace'].:.null;.$description.=.new
10c760 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 .ApplicationDescription($applica
10c780 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 24 63 6f 6d tion,.$describedNamespace);.$com
10c7a0 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 mands.=.array();..foreach.($desc
10c7c0 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 ription->getCommands().as.$comma
10c7e0 6e 64 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f nd).{.$commands[].=.$this->getCo
10c800 6d 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 mmandData($command);.}..$data.=.
10c820 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 0a 3f 20 61 72 72 61 79 28 27 63 6f 6d $describedNamespace.?.array('com
10c840 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 27 mands'.=>.$commands,.'namespace'
10c860 20 3d 3e 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 0a 3a 20 61 72 72 61 79 .=>.$describedNamespace).:.array
10c880 28 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 ('commands'.=>.$commands,.'names
10c8a0 70 61 63 65 73 27 20 3d 3e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 64 65 73 63 72 69 70 74 paces'.=>.array_values($descript
10c8c0 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 29 29 3b 0a 0a 24 74 68 69 73 2d 3e ion->getNamespaces()));..$this->
10c8e0 77 72 69 74 65 44 61 74 61 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a writeData($data,.$options);.}...
10c900 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 44 61 74 61 28 61 ....private.function.writeData(a
10c920 72 72 61 79 20 24 64 61 74 61 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 rray.$data,.array.$options).{.$t
10c940 68 69 73 2d 3e 77 72 69 74 65 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 69 73 his->write(json_encode($data,.is
10c960 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e 63 6f 64 69 6e 67 27 5d 29 20 3f set($options['json_encoding']).?
10c980 20 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e 63 6f 64 69 6e 67 27 5d 20 3a 20 30 29 29 .$options['json_encoding'].:.0))
10c9a0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 ;.}.....private.function.getInpu
10c9c0 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 tArgumentData(InputArgument.$arg
10c9e0 75 6d 65 6e 74 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e ument).{.return.array(.'name'.=>
10ca00 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 69 73 5f 72 65 71 75 69 .$argument->getName(),.'is_requi
10ca20 72 65 64 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 2c red'.=>.$argument->isRequired(),
10ca40 0a 27 69 73 5f 61 72 72 61 79 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 .'is_array'.=>.$argument->isArra
10ca60 79 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 70 72 65 67 5f 72 65 70 6c 61 y(),.'description'.=>.preg_repla
10ca80 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 27 20 27 2c 20 24 61 72 67 75 6d ce('/\s*[\r\n]\s*/',.'.',.$argum
10caa0 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 27 64 65 66 61 75 6c 74 ent->getDescription()),.'default
10cac0 27 20 3d 3e 20 49 4e 46 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 '.=>.INF.===.$argument->getDefau
10cae0 6c 74 28 29 20 3f 20 27 49 4e 46 27 20 3a 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 lt().?.'INF'.:.$argument->getDef
10cb00 61 75 6c 74 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ault(),.);.}.....private.functio
10cb20 6e 20 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 4f 70 74 69 6f 6e n.getInputOptionData(InputOption
10cb40 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 .$option).{.return.array(.'name'
10cb60 20 3d 3e 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 73 68 .=>.'--'.$option->getName(),.'sh
10cb80 6f 72 74 63 75 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 ortcut'.=>.$option->getShortcut(
10cba0 29 20 3f 20 27 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c 2d 27 2c 20 24 ).?.'-'.str_replace('|',.'|-',.$
10cbc0 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 2c 0a 27 61 63 option->getShortcut()).:.'',.'ac
10cbe0 63 65 70 74 5f 76 61 6c 75 65 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 cept_value'.=>.$option->acceptVa
10cc00 6c 75 65 28 29 2c 0a 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 65 64 27 20 3d 3e 20 24 6f lue(),.'is_value_required'.=>.$o
10cc20 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 2c 0a 27 69 73 5f 6d 75 ption->isValueRequired(),.'is_mu
10cc40 6c 74 69 70 6c 65 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 2c 0a 27 ltiple'.=>.$option->isArray(),.'
10cc60 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c description'.=>.preg_replace('/\
10cc80 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 27 20 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 s*[\r\n]\s*/',.'.',.$option->get
10cca0 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 49 4e 46 Description()),.'default'.=>.INF
10ccc0 20 3d 3d 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 27 49 4e .===.$option->getDefault().?.'IN
10cce0 46 27 20 3a 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 0a 29 3b 0a 7d F'.:.$option->getDefault(),.);.}
10cd00 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 44 65 .....private.function.getInputDe
10cd20 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 finitionData(InputDefinition.$de
10cd40 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 finition).{.$inputArguments.=.ar
10cd60 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 ray();.foreach.($definition->get
10cd80 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 61 72 67 75 6d 65 6e Arguments().as.$name.=>.$argumen
10cda0 74 29 20 7b 0a 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 t).{.$inputArguments[$name].=.$t
10cdc0 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 24 61 72 67 75 6d his->getInputArgumentData($argum
10cde0 65 6e 74 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 ent);.}..$inputOptions.=.array()
10ce00 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f ;.foreach.($definition->getOptio
10ce20 6e 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 69 6e 70 ns().as.$name.=>.$option).{.$inp
10ce40 75 74 4f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 utOptions[$name].=.$this->getInp
10ce60 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e utOptionData($option);.}..return
10ce80 20 61 72 72 61 79 28 27 61 72 67 75 6d 65 6e 74 73 27 20 3d 3e 20 24 69 6e 70 75 74 41 72 67 75 .array('arguments'.=>.$inputArgu
10cea0 6d 65 6e 74 73 2c 20 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 24 69 6e 70 75 74 4f 70 74 69 6f 6e ments,.'options'.=>.$inputOption
10cec0 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f s);.}.....private.function.getCo
10cee0 6d 6d 61 6e 64 44 61 74 61 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 63 mmandData(Command.$command).{.$c
10cf00 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d ommand->getSynopsis();.$command-
10cf20 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 >mergeApplicationDefinition(fals
10cf40 65 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 63 6f e);..return.array(.'name'.=>.$co
10cf60 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 75 73 61 67 65 27 20 3d 3e 20 61 72 72 mmand->getName(),.'usage'.=>.arr
10cf80 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f ay_merge(array($command->getSyno
10cfa0 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 2c 20 psis()),.$command->getUsages(),.
10cfc0 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 2c 0a 27 64 65 73 63 72 69 $command->getAliases()),.'descri
10cfe0 70 74 69 6f 6e 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 ption'.=>.$command->getDescripti
10d000 6f 6e 28 29 2c 0a 27 68 65 6c 70 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f on(),.'help'.=>.$command->getPro
10d020 63 65 73 73 65 64 48 65 6c 70 28 29 2c 0a 27 64 65 66 69 6e 69 74 69 6f 6e 27 20 3d 3e 20 24 74 cessedHelp(),.'definition'.=>.$t
10d040 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 24 63 6f 6d his->getInputDefinitionData($com
10d060 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 2c 0a 29 3b mand->getNativeDefinition()),.);
10d080 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
10d0a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 ymfony\Component\Console\Descrip
10d0c0 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tor;..use.Symfony\Component\Cons
10d0e0 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ole\Application;.use.Symfony\Com
10d100 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a ponent\Console\Command\Command;.
10d120 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 use.Symfony\Component\Console\He
10d140 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 lper\Helper;.use.Symfony\Compone
10d160 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a nt\Console\Input\InputArgument;.
10d180 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
10d1a0 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 put\InputDefinition;.use.Symfony
10d1c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 \Component\Console\Input\InputOp
10d1e0 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 tion;.........class.MarkdownDesc
10d200 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 riptor.extends.Descriptor.{....p
10d220 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 rotected.function.describeInputA
10d240 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c rgument(InputArgument.$argument,
10d260 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 .array.$options.=.array()).{.$th
10d280 69 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 is->write(.'**'.$argument->getNa
10d2a0 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 4e 61 6d 65 3a 20 27 2e 28 24 me().':**'."\n\n"..'*.Name:.'.($
10d2c0 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 argument->getName().?:.'<none>')
10d2e0 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 72 65 71 75 69 72 65 64 3a 20 27 2e 28 24 61 72 67 75 6d ."\n"..'*.Is.required:.'.($argum
10d300 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 ent->isRequired().?.'yes'.:.'no'
10d320 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 61 72 72 61 79 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e )."\n"..'*.Is.array:.'.($argumen
10d340 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e t->isArray().?.'yes'.:.'no')."\n
10d360 22 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 "..'*.Description:.'.preg_replac
10d380 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 20 20 22 2c 20 24 61 72 67 e('/\s*[\r\n]\s*/',."\n..",.$arg
10d3a0 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e ument->getDescription().?:.'<non
10d3c0 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 66 61 75 6c 74 3a 20 60 27 2e 73 74 72 5f 72 65 e>')."\n"..'*.Default:.`'.str_re
10d3e0 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 61 72 67 75 place("\n",.'',.var_export($argu
10d400 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 29 ment->getDefault(),.true)).'`'.)
10d420 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 ;.}.....protected.function.descr
10d440 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 ibeInputOption(InputOption.$opti
10d460 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a on,.array.$options.=.array()).{.
10d480 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e $this->write(.'**'.$option->getN
10d4a0 61 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 4e 61 6d 65 3a 20 60 2d 2d ame().':**'."\n\n"..'*.Name:.`--
10d4c0 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 60 27 2e 22 5c 6e 22 0a 2e 27 '.$option->getName().'`'."\n"..'
10d4e0 2a 20 53 68 6f 72 74 63 75 74 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 *.Shortcut:.'.($option->getShort
10d500 63 75 74 28 29 20 3f 20 27 60 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c cut().?.'`-'.str_replace('|',.'|
10d520 2d 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 2e 27 60 27 20 -',.$option->getShortcut()).'`'.
10d540 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 41 63 63 65 70 74 20 76 61 6c 75 :.'<none>')."\n"..'*.Accept.valu
10d560 65 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 27 e:.'.($option->acceptValue().?.'
10d580 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 76 61 6c 75 65 20 72 yes'.:.'no')."\n"..'*.Is.value.r
10d5a0 65 71 75 69 72 65 64 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 equired:.'.($option->isValueRequ
10d5c0 69 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 ired().?.'yes'.:.'no')."\n"..'*.
10d5e0 49 73 20 6d 75 6c 74 69 70 6c 65 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 Is.multiple:.'.($option->isArray
10d600 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 73 63 ().?.'yes'.:.'no')."\n"..'*.Desc
10d620 72 69 70 74 69 6f 6e 3a 20 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 ription:.'.preg_replace('/\s*[\r
10d640 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 20 20 22 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 \n]\s*/',."\n..",.$option->getDe
10d660 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 scription().?:.'<none>')."\n"..'
10d680 2a 20 44 65 66 61 75 6c 74 3a 20 60 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 *.Default:.`'.str_replace("\n",.
10d6a0 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 '',.var_export($option->getDefau
10d6c0 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 lt(),.true)).'`'.);.}.....protec
10d6e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 ted.function.describeInputDefini
10d700 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e tion(InputDefinition.$definition
10d720 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 ,.array.$options.=.array()).{.if
10d740 20 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 20 3d 20 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 .($showArguments.=.count($defini
10d760 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 3e 20 30 29 20 7b 0a 24 74 68 tion->getArguments()).>.0).{.$th
10d780 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 41 72 67 75 6d 65 6e 74 73 3a 27 29 3b 0a 66 6f 72 is->write('###.Arguments:');.for
10d7a0 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 each.($definition->getArguments(
10d7c0 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 ).as.$argument).{.$this->write("
10d7e0 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 \n\n");.$this->write($this->desc
10d800 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 7d ribeInputArgument($argument));.}
10d820 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 .}..if.(count($definition->getOp
10d840 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 69 66 20 28 24 73 68 6f 77 41 72 67 75 6d 65 6e tions()).>.0).{.if.($showArgumen
10d860 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 7d 0a 0a 24 ts).{.$this->write("\n\n");.}..$
10d880 74 68 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 4f 70 74 69 6f 6e 73 3a 27 29 3b 0a 66 6f 72 this->write('###.Options:');.for
10d8a0 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 each.($definition->getOptions().
10d8c0 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e as.$option).{.$this->write("\n\n
10d8e0 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 ");.$this->write($this->describe
10d900 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a InputOption($option));.}.}.}....
10d920 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d .protected.function.describeComm
10d940 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 and(Command.$command,.array.$opt
10d960 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 ions.=.array()).{.$command->getS
10d980 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 ynopsis();.$command->mergeApplic
10d9a0 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e ationDefinition(false);..$this->
10d9c0 77 72 69 74 65 28 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 0a write(.$command->getName()."\n".
10d9e0 2e 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 .str_repeat('-',.Helper::strlen(
10da00 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a $command->getName()))."\n\n"..'*
10da20 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 .Description:.'.($command->getDe
10da40 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 scription().?:.'<none>')."\n"..'
10da60 2a 20 55 73 61 67 65 3a 27 2e 22 5c 6e 5c 6e 22 0a 2e 61 72 72 61 79 5f 72 65 64 75 63 65 28 61 *.Usage:'."\n\n"..array_reduce(a
10da80 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 rray_merge(array($command->getSy
10daa0 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 nopsis()),.$command->getAliases(
10dac0 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 2c 20 66 75 6e 63 74 ),.$command->getUsages()),.funct
10dae0 69 6f 6e 20 28 24 63 61 72 72 79 2c 20 24 75 73 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 ion.($carry,.$usage).{.return.$c
10db00 61 72 72 79 2e 27 20 20 2a 20 60 27 2e 24 75 73 61 67 65 2e 27 60 27 2e 22 5c 6e 22 3b 0a 7d 29 arry.'..*.`'.$usage.'`'."\n";.})
10db20 0a 29 3b 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 .);..if.($help.=.$command->getPr
10db40 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c ocessedHelp()).{.$this->write("\
10db60 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 68 65 6c 70 29 3b 0a 7d 0a 0a 69 66 20 n");.$this->write($help);.}..if.
10db80 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 ($command->getNativeDefinition()
10dba0 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d ).{.$this->write("\n\n");.$this-
10dbc0 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 63 6f 6d 6d 61 6e >describeInputDefinition($comman
10dbe0 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 0a d->getNativeDefinition());.}.}..
10dc00 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 ...protected.function.describeAp
10dc20 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 plication(Application.$applicati
10dc40 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a on,.array.$options.=.array()).{.
10dc60 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 $describedNamespace.=.isset($opt
10dc80 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e ions['namespace']).?.$options['n
10dca0 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 amespace'].:.null;.$description.
10dcc0 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 =.new.ApplicationDescription($ap
10dce0 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b plication,.$describedNamespace);
10dd00 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 ..$this->write($application->get
10dd20 4e 61 6d 65 28 29 2e 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 3d 27 2c 20 48 65 6c 70 Name()."\n".str_repeat('=',.Help
10dd40 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 er::strlen($application->getName
10dd60 28 29 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 ())));..foreach.($description->g
10dd80 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a etNamespaces().as.$namespace).{.
10dda0 69 66 20 28 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 3a 3a 47 4c 4f 42 if.(ApplicationDescription::GLOB
10ddc0 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 AL_NAMESPACE.!==.$namespace['id'
10dde0 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 ]).{.$this->write("\n\n");.$this
10de00 2d 3e 77 72 69 74 65 28 27 2a 2a 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 3a ->write('**'.$namespace['id'].':
10de20 2a 2a 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 **');.}..$this->write("\n\n");.$
10de40 74 68 69 73 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f this->write(implode("\n",.array_
10de60 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 20 7b 0a 72 65 map(function.($commandName).{.re
10de80 74 75 72 6e 20 27 2a 20 27 2e 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 7d 2c 20 24 6e 61 6d 65 turn.'*.'.$commandName;.},.$name
10dea0 73 70 61 63 65 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 29 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 space['commands'])));.}..foreach
10dec0 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 .($description->getCommands().as
10dee0 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 .$command).{.$this->write("\n\n"
10df00 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 43 );.$this->write($this->describeC
10df20 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ommand($command));.}.}.}.<?php..
10df40 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
10df60 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 nent\Console\Descriptor;..use.Sy
10df80 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 mfony\Component\Console\Applicat
10dfa0 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
10dfc0 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c le\Command\Command;.use.Symfony\
10dfe0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 Component\Console\Formatter\Outp
10e000 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utFormatter;.use.Symfony\Compone
10e020 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 nt\Console\Helper\Helper;.use.Sy
10e040 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
10e060 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 putArgument;.use.Symfony\Compone
10e080 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e nt\Console\Input\InputDefinition
10e0a0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
10e0c0 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 Input\InputOption;.........class
10e0e0 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 .TextDescriptor.extends.Descript
10e100 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 or.{....protected.function.descr
10e120 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 ibeInputArgument(InputArgument.$
10e140 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 argument,.array.$options.=.array
10e160 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 ()).{.if.(null.!==.$argument->ge
10e180 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 tDefault().&&.(!is_array($argume
10e1a0 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 63 6f 75 6e 74 28 24 61 72 67 75 nt->getDefault()).||.count($argu
10e1c0 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 ment->getDefault()))).{.$default
10e1e0 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 20 5b 64 65 66 61 75 6c 74 3a 20 .=.sprintf('<comment>.[default:.
10e200 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 44 65 66 %s]</comment>',.$this->formatDef
10e220 61 75 6c 74 56 61 6c 75 65 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 aultValue($argument->getDefault(
10e240 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a )));.}.else.{.$default.=.'';.}..
10e260 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 74 6f $totalWidth.=.isset($options['to
10e280 74 61 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 tal_width']).?.$options['total_w
10e2a0 69 64 74 68 27 5d 20 3a 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e idth'].:.Helper::strlen($argumen
10e2c0 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 t->getName());.$spacingWidth.=.$
10e2e0 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 totalWidth.-.strlen($argument->g
10e300 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 etName());..$this->writeText(spr
10e320 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 20 25 73 25 73 25 73 27 intf('..<info>%s</info>..%s%s%s'
10e340 2c 0a 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 73 74 72 5f 72 65 70 65 ,.$argument->getName(),.str_repe
10e360 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a 0a 20 70 72 65 67 5f 72 at('.',.$spacingWidth),...preg_r
10e380 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 22 2e 73 74 eplace('/\s*[\r\n]\s*/',."\n".st
10e3a0 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2b 20 34 29 2c 20 r_repeat('.',.$totalWidth.+.4),.
10e3c0 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 24 64 $argument->getDescription()),.$d
10e3e0 65 66 61 75 6c 74 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 efault.),.$options);.}.....prote
10e400 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f cted.function.describeInputOptio
10e420 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 n(InputOption.$option,.array.$op
10e440 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e tions.=.array()).{.if.($option->
10e460 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6f 70 74 69 6f acceptValue().&&.null.!==.$optio
10e480 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 69 73 5f 61 72 72 61 79 28 24 6f n->getDefault().&&.(!is_array($o
10e4a0 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 63 6f 75 6e 74 28 24 6f ption->getDefault()).||.count($o
10e4c0 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 24 64 65 66 61 75 6c ption->getDefault()))).{.$defaul
10e4e0 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 20 5b 64 65 66 61 75 6c 74 3a t.=.sprintf('<comment>.[default:
10e500 20 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 44 65 .%s]</comment>',.$this->formatDe
10e520 66 61 75 6c 74 56 61 6c 75 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 faultValue($option->getDefault()
10e540 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a 24 ));.}.else.{.$default.=.'';.}..$
10e560 76 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 value.=.'';.if.($option->acceptV
10e580 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 27 3d 27 2e 73 74 72 74 6f 75 70 70 65 alue()).{.$value.=.'='.strtouppe
10e5a0 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 r($option->getName());..if.($opt
10e5c0 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 29 20 7b 0a 24 76 61 6c 75 65 ion->isValueOptional()).{.$value
10e5e0 20 3d 20 27 5b 27 2e 24 76 61 6c 75 65 2e 27 5d 27 3b 0a 7d 0a 7d 0a 0a 24 74 6f 74 61 6c 57 69 .=.'['.$value.']';.}.}..$totalWi
10e600 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 dth.=.isset($options['total_widt
10e620 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 20 3a h']).?.$options['total_width'].:
10e640 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 .$this->calculateTotalWidthForOp
10e660 74 69 6f 6e 73 28 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 24 73 79 6e 6f 70 73 69 73 tions(array($option));.$synopsis
10e680 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 25 73 27 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 .=.sprintf('%s%s',.$option->getS
10e6a0 68 6f 72 74 63 75 74 28 29 20 3f 20 73 70 72 69 6e 74 66 28 27 2d 25 73 2c 20 27 2c 20 24 6f 70 hortcut().?.sprintf('-%s,.',.$op
10e6c0 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 20 20 20 20 27 2c 0a 73 tion->getShortcut()).:.'....',.s
10e6e0 70 72 69 6e 74 66 28 27 2d 2d 25 73 25 73 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d printf('--%s%s',.$option->getNam
10e700 65 28 29 2c 20 24 76 61 6c 75 65 29 0a 29 3b 0a 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d e(),.$value).);..$spacingWidth.=
10e720 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 73 .$totalWidth.-.Helper::strlen($s
10e740 79 6e 6f 70 73 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 ynopsis);..$this->writeText(spri
10e760 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 20 25 73 25 73 25 73 25 73 ntf('..<info>%s</info>..%s%s%s%s
10e780 27 2c 0a 24 73 79 6e 6f 70 73 69 73 2c 0a 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 ',.$synopsis,.str_repeat('.',.$s
10e7a0 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a 0a 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c pacingWidth),...preg_replace('/\
10e7c0 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 s*[\r\n]\s*/',."\n".str_repeat('
10e7e0 20 27 2c 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2b 20 34 29 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 .',.$totalWidth.+.4),.$option->g
10e800 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 24 64 65 66 61 75 6c 74 2c 0a 24 6f 70 74 etDescription()),.$default,.$opt
10e820 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 3c 63 6f 6d 6d 65 6e 74 3e 20 28 6d 75 6c ion->isArray().?.'<comment>.(mul
10e840 74 69 70 6c 65 20 76 61 6c 75 65 73 20 61 6c 6c 6f 77 65 64 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 tiple.values.allowed)</comment>'
10e860 20 3a 20 27 27 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 .:.''.),.$options);.}.....protec
10e880 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 ted.function.describeInputDefini
10e8a0 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e tion(InputDefinition.$definition
10e8c0 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 ,.array.$options.=.array()).{.$t
10e8e0 6f 74 61 6c 57 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 otalWidth.=.$this->calculateTota
10e900 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 lWidthForOptions($definition->ge
10e920 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f tOptions());.foreach.($definitio
10e940 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 n->getArguments().as.$argument).
10e960 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 2c {.$totalWidth.=.max($totalWidth,
10e980 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 .Helper::strlen($argument->getNa
10e9a0 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 me()));.}..if.($definition->getA
10e9c0 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 rguments()).{.$this->writeText('
10e9e0 3c 63 6f 6d 6d 65 6e 74 3e 41 72 67 75 6d 65 6e 74 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 <comment>Arguments:</comment>',.
10ea00 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 $options);.$this->writeText("\n"
10ea20 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 );.foreach.($definition->getArgu
10ea40 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 ments().as.$argument).{.$this->d
10ea60 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 2c 20 escribeInputArgument($argument,.
10ea80 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 array_merge($options,.array('tot
10eaa0 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 24 74 68 al_width'.=>.$totalWidth)));.$th
10eac0 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 is->writeText("\n");.}.}..if.($d
10eae0 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 26 26 20 24 64 65 efinition->getArguments().&&.$de
10eb00 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 74 68 69 73 2d finition->getOptions()).{.$this-
10eb20 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 >writeText("\n");.}..if.($defini
10eb40 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 6c 61 74 65 72 4f 70 74 69 tion->getOptions()).{.$laterOpti
10eb60 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 ons.=.array();..$this->writeText
10eb80 28 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 69 6f 6e 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 ('<comment>Options:</comment>',.
10eba0 24 6f 70 74 69 6f 6e 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d $options);.foreach.($definition-
10ebc0 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 >getOptions().as.$option).{.if.(
10ebe0 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3e strlen($option->getShortcut()).>
10ec00 20 31 29 20 7b 0a 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 3b .1).{.$laterOptions[].=.$option;
10ec20 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c .continue;.}.$this->writeText("\
10ec40 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 n");.$this->describeInputOption(
10ec60 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 $option,.array_merge($options,.a
10ec80 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 rray('total_width'.=>.$totalWidt
10eca0 68 29 29 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 20 61 h)));.}.foreach.($laterOptions.a
10ecc0 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c s.$option).{.$this->writeText("\
10ece0 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 n");.$this->describeInputOption(
10ed00 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 $option,.array_merge($options,.a
10ed20 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 rray('total_width'.=>.$totalWidt
10ed40 68 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 h)));.}.}.}.....protected.functi
10ed60 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d on.describeCommand(Command.$comm
10ed80 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b and,.array.$options.=.array()).{
10eda0 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 3b 0a 24 63 .$command->getSynopsis(true);.$c
10edc0 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 66 61 6c 73 65 29 3b 0a 24 63 6f 6d ommand->getSynopsis(false);.$com
10ede0 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e mand->mergeApplicationDefinition
10ee00 28 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d (false);..$this->writeText('<com
10ee20 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 ment>Usage:</comment>',.$options
10ee40 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 );.foreach.(array_merge(array($c
10ee60 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 29 2c 20 24 63 6f 6d ommand->getSynopsis(true)),.$com
10ee80 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 mand->getAliases(),.$command->ge
10eea0 74 55 73 61 67 65 73 28 29 29 20 61 73 20 24 75 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 tUsages()).as.$usage).{.$this->w
10eec0 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 riteText("\n");.$this->writeText
10eee0 28 27 20 20 27 2e 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 75 ('..'.OutputFormatter::escape($u
10ef00 73 61 67 65 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 sage),.$options);.}.$this->write
10ef20 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 63 6f 6d 6d Text("\n");..$definition.=.$comm
10ef40 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 69 66 20 28 and->getNativeDefinition();.if.(
10ef60 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 7c 7c 20 24 64 65 $definition->getOptions().||.$de
10ef80 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 74 68 69 finition->getArguments()).{.$thi
10efa0 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 s->writeText("\n");.$this->descr
10efc0 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 ibeInputDefinition($definition,.
10efe0 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 $options);.$this->writeText("\n"
10f000 29 3b 0a 7d 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 );.}..if.($help.=.$command->getP
10f020 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 rocessedHelp()).{.$this->writeTe
10f040 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d xt("\n");.$this->writeText('<com
10f060 6d 65 6e 74 3e 48 65 6c 70 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 ment>Help:</comment>',.$options)
10f080 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d ;.$this->writeText("\n");.$this-
10f0a0 3e 77 72 69 74 65 54 65 78 74 28 27 20 20 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 >writeText('..'.str_replace("\n"
10f0c0 2c 20 22 5c 6e 20 20 22 2c 20 24 68 65 6c 70 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 ,."\n..",.$help),.$options);.$th
10f0e0 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f is->writeText("\n");.}.}.....pro
10f100 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 tected.function.describeApplicat
10f120 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 ion(Application.$application,.ar
10f140 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 73 63 72 ray.$options.=.array()).{.$descr
10f160 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 ibedNamespace.=.isset($options['
10f180 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 namespace']).?.$options['namespa
10f1a0 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 ce'].:.null;.$description.=.new.
10f1c0 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 ApplicationDescription($applicat
10f1e0 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 ion,.$describedNamespace);..if.(
10f200 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 26 26 20 24 isset($options['raw_text']).&&.$
10f220 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 options['raw_text']).{.$width.=.
10f240 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 64 65 73 63 72 69 70 74 69 $this->getColumnWidth($descripti
10f260 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 on->getCommands());..foreach.($d
10f280 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f escription->getCommands().as.$co
10f2a0 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 mmand).{.$this->writeText(sprint
10f2c0 66 28 22 25 2d 7b 24 77 69 64 74 68 7d 73 20 25 73 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 f("%-{$width}s.%s",.$command->ge
10f2e0 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f tName(),.$command->getDescriptio
10f300 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 n()),.$options);.$this->writeTex
10f320 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 27 27 20 21 3d 20 24 68 t("\n");.}.}.else.{.if.(''.!=.$h
10f340 65 6c 70 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 28 29 29 20 7b elp.=.$application->getHelp()).{
10f360 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 24 68 65 6c 70 5c 6e 5c 6e 22 2c 20 24 .$this->writeText("$help\n\n",.$
10f380 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 3c options);.}..$this->writeText("<
10f3a0 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 5c 6e 22 2c 20 24 6f 70 comment>Usage:</comment>\n",.$op
10f3c0 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 20 20 63 6f 6d 6d tions);.$this->writeText("..comm
10f3e0 61 6e 64 20 5b 6f 70 74 69 6f 6e 73 5d 20 5b 61 72 67 75 6d 65 6e 74 73 5d 5c 6e 5c 6e 22 2c 20 and.[options].[arguments]\n\n",.
10f400 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 $options);..$this->describeInput
10f420 44 65 66 69 6e 69 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 Definition(new.InputDefinition($
10f440 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 application->getDefinition()->ge
10f460 74 4f 70 74 69 6f 6e 73 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e tOptions()),.$options);..$this->
10f480 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 writeText("\n");.$this->writeTex
10f4a0 74 28 22 5c 6e 22 29 3b 0a 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c t("\n");..$width.=.$this->getCol
10f4c0 75 6d 6e 57 69 64 74 68 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e umnWidth($description->getComman
10f4e0 64 73 28 29 29 3b 0a 0a 69 66 20 28 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 ds());..if.($describedNamespace)
10f500 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 3c 63 6f .{.$this->writeText(sprintf('<co
10f520 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 65 mment>Available.commands.for.the
10f540 20 22 25 73 22 20 6e 61 6d 65 73 70 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 64 65 ."%s".namespace:</comment>',.$de
10f560 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 20 scribedNamespace),.$options);.}.
10f580 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e else.{.$this->writeText('<commen
10f5a0 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 t>Available.commands:</comment>'
10f5c0 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 ,.$options);.}....foreach.($desc
10f5e0 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d ription->getNamespaces().as.$nam
10f600 65 73 70 61 63 65 29 20 7b 0a 69 66 20 28 21 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 espace).{.if.(!$describedNamespa
10f620 63 65 20 26 26 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 3a 3a 47 4c ce.&&.ApplicationDescription::GL
10f640 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 OBAL_NAMESPACE.!==.$namespace['i
10f660 64 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 d']).{.$this->writeText("\n");.$
10f680 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6e 61 this->writeText('.<comment>'.$na
10f6a0 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 mespace['id'].'</comment>',.$opt
10f6c0 69 6f 6e 73 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 5b 27 63 ions);.}..foreach.($namespace['c
10f6e0 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 ommands'].as.$name).{.$this->wri
10f700 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 77 teText("\n");.$spacingWidth.=.$w
10f720 69 64 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 0a 24 74 idth.-.Helper::strlen($name);.$t
10f740 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e his->writeText(sprintf('..<info>
10f760 25 73 3c 2f 69 6e 66 6f 3e 25 73 25 73 27 2c 20 24 6e 61 6d 65 2c 20 73 74 72 5f 72 65 70 65 61 %s</info>%s%s',.$name,.str_repea
10f780 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 20 24 64 65 73 63 72 69 70 74 t('.',.$spacingWidth),.$descript
10f7a0 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 73 63 72 ion->getCommand($name)->getDescr
10f7c0 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 iption()),.$options);.}.}..$this
10f7e0 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 ->writeText("\n");.}.}.....priva
10f800 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 65 78 74 28 24 63 6f 6e 74 65 6e 74 2c 20 te.function.writeText($content,.
10f820 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$options.=.array()).{.$thi
10f840 73 2d 3e 77 72 69 74 65 28 0a 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 s->write(.isset($options['raw_te
10f860 78 74 27 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 20 3f 20 xt']).&&.$options['raw_text'].?.
10f880 73 74 72 69 70 5f 74 61 67 73 28 24 63 6f 6e 74 65 6e 74 29 20 3a 20 24 63 6f 6e 74 65 6e 74 2c strip_tags($content).:.$content,
10f8a0 0a 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 29 20 3f .isset($options['raw_output']).?
10f8c0 20 21 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 20 3a 20 74 72 75 65 0a .!$options['raw_output'].:.true.
10f8e0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f );.}.........private.function.fo
10f900 72 6d 61 74 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 64 65 66 61 75 6c 74 29 0a 7b 0a 69 66 20 rmatDefaultValue($default).{.if.
10f920 28 49 4e 46 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 49 4e 46 (INF.===.$default).{.return.'INF
10f940 27 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 66 61 75 6c 74 29 29 20 7b ';.}..if.(is_string($default)).{
10f960 0a 24 64 65 66 61 75 6c 74 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 .$default.=.OutputFormatter::esc
10f980 61 70 65 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 ape($default);.}.elseif.(is_arra
10f9a0 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 y($default)).{.foreach.($default
10f9c0 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 .as.$key.=>.$value).{.if.(is_str
10f9e0 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 ing($value)).{.$default[$key].=.
10fa00 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 76 61 6c 75 65 29 3b OutputFormatter::escape($value);
10fa20 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 .}.}.}..if.(\PHP_VERSION_ID.<.50
10fa40 34 30 30 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 400).{.return.str_replace(array(
10fa60 27 5c 2f 27 2c 20 27 5c 5c 5c 5c 27 29 2c 20 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c '\/',.'\\\\'),.array('/',.'\\'),
10fa80 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 .json_encode($default));.}..retu
10faa0 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 5c 5c 27 2c 20 27 5c 5c 27 2c 20 6a 73 6f rn.str_replace('\\\\',.'\\',.jso
10fac0 6e 5f 65 6e 63 6f 64 65 28 24 64 65 66 61 75 6c 74 2c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 n_encode($default,.JSON_UNESCAPE
10fae0 44 5f 53 4c 41 53 48 45 53 20 7c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f D_SLASHES.|.JSON_UNESCAPED_UNICO
10fb00 44 45 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 DE));.}.......private.function.g
10fb20 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 7b etColumnWidth(array.$commands).{
10fb40 0a 24 77 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 .$widths.=.array();..foreach.($c
10fb60 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 77 69 64 74 68 73 5b 5d ommands.as.$command).{.$widths[]
10fb80 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e .=.Helper::strlen($command->getN
10fba0 61 6d 65 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c ame());.foreach.($command->getAl
10fbc0 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 77 69 64 74 68 73 5b 5d 20 3d iases().as.$alias).{.$widths[].=
10fbe0 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 72 65 .Helper::strlen($alias);.}.}..re
10fc00 74 75 72 6e 20 6d 61 78 28 24 77 69 64 74 68 73 29 20 2b 20 32 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 turn.max($widths).+.2;.}.......p
10fc20 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 6c 57 69 rivate.function.calculateTotalWi
10fc40 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a dthForOptions(array.$options).{.
10fc60 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f $totalWidth.=.0;.foreach.($optio
10fc80 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 0a 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d ns.as.$option).{...$nameLength.=
10fca0 20 31 20 2b 20 6d 61 78 28 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 .1.+.max(strlen($option->getShor
10fcc0 74 63 75 74 28 29 29 2c 20 31 29 20 2b 20 34 20 2b 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e tcut()),.1).+.4.+.Helper::strlen
10fce0 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 ($option->getName());..if.($opti
10fd00 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 4c 65 6e 67 74 on->acceptValue()).{.$valueLengt
10fd20 68 20 3d 20 31 20 2b 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e h.=.1.+.Helper::strlen($option->
10fd40 67 65 74 4e 61 6d 65 28 29 29 3b 20 0a 20 24 76 61 6c 75 65 4c 65 6e 67 74 68 20 2b 3d 20 24 6f getName());...$valueLength.+=.$o
10fd60 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 32 20 3a 20 30 ption->isValueOptional().?.2.:.0
10fd80 3b 20 0a 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 3d 20 24 76 61 6c 75 65 4c 65 6e 67 74 68 3b ;...$nameLength.+=.$valueLength;
10fda0 0a 7d 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 .}.$totalWidth.=.max($totalWidth
10fdc0 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 74 61 6c ,.$nameLength);.}..return.$total
10fde0 57 69 64 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 Width;.}.}.<?php...........names
10fe00 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 pace.Symfony\Component\Console\D
10fe20 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e escriptor;..use.Symfony\Componen
10fe40 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f t\Console\Application;.use.Symfo
10fe60 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d ny\Component\Console\Command\Com
10fe80 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 mand;.use.Symfony\Component\Cons
10fea0 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d ole\Input\InputArgument;.use.Sym
10fec0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
10fee0 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e utDefinition;.use.Symfony\Compon
10ff00 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a ent\Console\Input\InputOption;..
10ff20 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e .......class.XmlDescriptor.exten
10ff40 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ds.Descriptor.{....public.functi
10ff60 6f 6e 20 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 49 6e on.getInputDefinitionDocument(In
10ff80 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 64 6f putDefinition.$definition).{.$do
10ffa0 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 m.=.new.\DOMDocument('1.0',.'UTF
10ffc0 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 69 6e 69 74 -8');.$dom->appendChild($definit
10ffe0 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 ionXML.=.$dom->createElement('de
110000 66 69 6e 69 74 69 6f 6e 27 29 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 finition'));..$definitionXML->ap
110020 70 65 6e 64 43 68 69 6c 64 28 24 61 72 67 75 6d 65 6e 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e pendChild($argumentsXML.=.$dom->
110040 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 73 27 29 29 3b 0a 66 6f 72 createElement('arguments'));.for
110060 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 each.($definition->getArguments(
110080 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 ).as.$argument).{.$this->appendD
1100a0 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 ocument($argumentsXML,.$this->ge
1100c0 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 tInputArgumentDocument($argument
1100e0 29 29 3b 0a 7d 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 ));.}..$definitionXML->appendChi
110100 6c 64 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 ld($optionsXML.=.$dom->createEle
110120 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 ment('options'));.foreach.($defi
110140 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 nition->getOptions().as.$option)
110160 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e .{.$this->appendDocument($option
110180 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d sXML,.$this->getInputOptionDocum
1101a0 65 6e 74 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d ent($option));.}..return.$dom;.}
1101c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 44 .....public.function.getCommandD
1101e0 6f 63 75 6d 65 6e 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 64 6f 6d ocument(Command.$command).{.$dom
110200 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d .=.new.\DOMDocument('1.0',.'UTF-
110220 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 58 8');.$dom->appendChild($commandX
110240 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e ML.=.$dom->createElement('comman
110260 64 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a d'));..$command->getSynopsis();.
110280 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 $command->mergeApplicationDefini
1102a0 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 74 tion(false);..$commandXML->setAt
1102c0 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 tribute('id',.$command->getName(
1102e0 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e ));.$commandXML->setAttribute('n
110300 61 6d 65 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 63 6f ame',.$command->getName());..$co
110320 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 75 73 61 67 65 73 58 4d 4c mmandXML->appendChild($usagesXML
110340 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 75 73 61 67 65 73 27 29 .=.$dom->createElement('usages')
110360 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 );..foreach.(array_merge(array($
110380 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e command->getSynopsis()),.$comman
1103a0 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 d->getAliases(),.$command->getUs
1103c0 61 67 65 73 28 29 29 20 61 73 20 24 75 73 61 67 65 29 20 7b 0a 24 75 73 61 67 65 73 58 4d 4c 2d ages()).as.$usage).{.$usagesXML-
1103e0 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 >appendChild($dom->createElement
110400 28 27 75 73 61 67 65 27 2c 20 24 75 73 61 67 65 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 58 ('usage',.$usage));.}..$commandX
110420 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 20 ML->appendChild($descriptionXML.
110440 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 69 =.$dom->createElement('descripti
110460 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 on'));.$descriptionXML->appendCh
110480 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 ild($dom->createTextNode(str_rep
1104a0 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 lace("\n",."\n.",.$command->getD
1104c0 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 escription())));..$commandXML->a
1104e0 70 70 65 6e 64 43 68 69 6c 64 28 24 68 65 6c 70 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 ppendChild($helpXML.=.$dom->crea
110500 74 65 45 6c 65 6d 65 6e 74 28 27 68 65 6c 70 27 29 29 3b 0a 24 68 65 6c 70 58 4d 4c 2d 3e 61 70 teElement('help'));.$helpXML->ap
110520 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 73 pendChild($dom->createTextNode(s
110540 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 63 6f 6d 6d 61 6e 64 tr_replace("\n",."\n.",.$command
110560 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 29 29 3b 0a 0a 24 64 65 66 69 6e ->getProcessedHelp())));..$defin
110580 69 74 69 6f 6e 58 4d 4c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 itionXML.=.$this->getInputDefini
1105a0 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 tionDocument($command->getNative
1105c0 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 Definition());.$this->appendDocu
1105e0 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c ment($commandXML,.$definitionXML
110600 2d 3e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 27 64 65 66 69 6e 69 74 69 ->getElementsByTagName('definiti
110620 6f 6e 27 29 2d 3e 69 74 65 6d 28 30 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a on')->item(0));..return.$dom;.}.
110640 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c 69 63 .......public.function.getApplic
110660 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 ationDocument(Application.$appli
110680 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 64 6f cation,.$namespace.=.null).{.$do
1106a0 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 m.=.new.\DOMDocument('1.0',.'UTF
1106c0 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 72 6f 6f 74 58 6d 6c -8');.$dom->appendChild($rootXml
1106e0 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 73 79 6d 66 6f 6e 79 27 .=.$dom->createElement('symfony'
110700 29 29 3b 0a 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 74 ));..if.('UNKNOWN'.!==.$applicat
110720 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 ion->getName()).{.$rootXml->setA
110740 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 ttribute('name',.$application->g
110760 65 74 4e 61 6d 65 28 29 29 3b 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 61 70 etName());.if.('UNKNOWN'.!==.$ap
110780 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 24 72 6f 6f 74 plication->getVersion()).{.$root
1107a0 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 76 65 72 73 69 6f 6e 27 2c 20 24 61 70 Xml->setAttribute('version',.$ap
1107c0 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 0a 24 plication->getVersion());.}.}..$
1107e0 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 73 58 4d rootXml->appendChild($commandsXM
110800 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 L.=.$dom->createElement('command
110820 73 27 29 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 s'));..$description.=.new.Applic
110840 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 ationDescription($application,.$
110860 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 namespace);..if.($namespace).{.$
110880 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 73 commandsXML->setAttribute('names
1108a0 70 61 63 65 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 pace',.$namespace);.}..foreach.(
1108c0 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 $description->getCommands().as.$
1108e0 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 command).{.$this->appendDocument
110900 28 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 ($commandsXML,.$this->getCommand
110920 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 6e 61 Document($command));.}..if.(!$na
110940 6d 65 73 70 61 63 65 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 mespace).{.$rootXml->appendChild
110960 28 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c ($namespacesXML.=.$dom->createEl
110980 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 73 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 ement('namespaces'));..foreach.(
1109a0 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 $description->getNamespaces().as
1109c0 20 24 6e 61 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 6e 61 6d 65 73 .$namespaceDescription).{.$names
1109e0 70 61 63 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 pacesXML->appendChild($namespace
110a00 41 72 72 61 79 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 ArrayXML.=.$dom->createElement('
110a20 6e 61 6d 65 73 70 61 63 65 27 29 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c namespace'));.$namespaceArrayXML
110a40 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 44 ->setAttribute('id',.$namespaceD
110a60 65 73 63 72 69 70 74 69 6f 6e 5b 27 69 64 27 5d 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 escription['id']);..foreach.($na
110a80 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f 6e 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 mespaceDescription['commands'].a
110aa0 73 20 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c 2d 3e 61 s.$name).{.$namespaceArrayXML->a
110ac0 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 ppendChild($commandXML.=.$dom->c
110ae0 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 24 63 6f 6d 6d 61 reateElement('command'));.$comma
110b00 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 ndXML->appendChild($dom->createT
110b20 65 78 74 4e 6f 64 65 28 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 extNode($name));.}.}.}..return.$
110b40 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 dom;.}.....protected.function.de
110b60 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e scribeInputArgument(InputArgumen
110b80 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 t.$argument,.array.$options.=.ar
110ba0 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 ray()).{.$this->writeDocument($t
110bc0 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 24 61 his->getInputArgumentDocument($a
110be0 72 67 75 6d 65 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 rgument));.}.....protected.funct
110c00 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 ion.describeInputOption(InputOpt
110c20 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 ion.$option,.array.$options.=.ar
110c40 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 ray()).{.$this->writeDocument($t
110c60 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 his->getInputOptionDocument($opt
110c80 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ion));.}.....protected.function.
110ca0 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 describeInputDefinition(InputDef
110cc0 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 inition.$definition,.array.$opti
110ce0 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 ons.=.array()).{.$this->writeDoc
110d00 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 ument($this->getInputDefinitionD
110d20 6f 63 75 6d 65 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f ocument($definition));.}.....pro
110d40 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 tected.function.describeCommand(
110d60 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 Command.$command,.array.$options
110d80 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 .=.array()).{.$this->writeDocume
110da0 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f nt($this->getCommandDocument($co
110dc0 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f mmand));.}.....protected.functio
110de0 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f n.describeApplication(Applicatio
110e00 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d n.$application,.array.$options.=
110e20 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 .array()).{.$this->writeDocument
110e40 28 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 ($this->getApplicationDocument($
110e60 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d application,.isset($options['nam
110e80 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 espace']).?.$options['namespace'
110ea0 5d 20 3a 20 6e 75 6c 6c 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ].:.null));.}.....private.functi
110ec0 6f 6e 20 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 4e 6f 64 65 20 24 70 61 72 65 on.appendDocument(\DOMNode.$pare
110ee0 6e 74 4e 6f 64 65 2c 20 5c 44 4f 4d 4e 6f 64 65 20 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 ntNode,.\DOMNode.$importedParent
110f00 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 2d 3e 63 68 ).{.foreach.($importedParent->ch
110f20 69 6c 64 4e 6f 64 65 73 20 61 73 20 24 63 68 69 6c 64 4e 6f 64 65 29 20 7b 0a 24 70 61 72 65 6e ildNodes.as.$childNode).{.$paren
110f40 74 4e 6f 64 65 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 70 61 72 65 6e 74 4e 6f 64 65 2d 3e tNode->appendChild($parentNode->
110f60 6f 77 6e 65 72 44 6f 63 75 6d 65 6e 74 2d 3e 69 6d 70 6f 72 74 4e 6f 64 65 28 24 63 68 69 6c 64 ownerDocument->importNode($child
110f80 4e 6f 64 65 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 Node,.true));.}.}.......private.
110fa0 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 44 6f 63 75 6d function.writeDocument(\DOMDocum
110fc0 65 6e 74 20 24 64 6f 6d 29 0a 7b 0a 24 64 6f 6d 2d 3e 66 6f 72 6d 61 74 4f 75 74 70 75 74 20 3d ent.$dom).{.$dom->formatOutput.=
110fe0 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 64 6f 6d 2d 3e 73 61 76 65 58 4d .true;.$this->write($dom->saveXM
111000 4c 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 L());.}.....private.function.get
111020 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d InputArgumentDocument(InputArgum
111040 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d ent.$argument).{.$dom.=.new.\DOM
111060 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 0a 24 64 6f 6d 2d Document('1.0',.'UTF-8');..$dom-
111080 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 6a 65 63 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e >appendChild($objectXML.=.$dom->
1110a0 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 27 29 29 3b 0a 24 6f 62 6a createElement('argument'));.$obj
1110c0 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 61 72 ectXML->setAttribute('name',.$ar
1110e0 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e gument->getName());.$objectXML->
111100 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 72 65 71 75 69 72 65 64 27 2c 20 24 61 72 67 setAttribute('is_required',.$arg
111120 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f ument->isRequired().?.1.:.0);.$o
111140 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 61 72 72 61 79 bjectXML->setAttribute('is_array
111160 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 31 20 3a 20 30 29 ',.$argument->isArray().?.1.:.0)
111180 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 73 63 72 ;.$objectXML->appendChild($descr
1111a0 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 iptionXML.=.$dom->createElement(
1111c0 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 'description'));.$descriptionXML
1111e0 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f ->appendChild($dom->createTextNo
111200 64 65 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 de($argument->getDescription()))
111220 3b 0a 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 ;..$objectXML->appendChild($defa
111240 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 ultsXML.=.$dom->createElement('d
111260 65 66 61 75 6c 74 73 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 69 73 5f 61 72 72 61 79 efaults'));.$defaults.=.is_array
111280 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 61 72 67 ($argument->getDefault()).?.$arg
1112a0 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c 28 24 ument->getDefault().:.(is_bool($
1112c0 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 argument->getDefault()).?.array(
1112e0 76 61 72 5f 65 78 70 6f 72 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 var_export($argument->getDefault
111300 28 29 2c 20 74 72 75 65 29 29 20 3a 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 (),.true)).:.($argument->getDefa
111320 75 6c 74 28 29 20 3f 20 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 ult().?.array($argument->getDefa
111340 75 6c 74 28 29 29 20 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 ult()).:.array()));.foreach.($de
111360 66 61 75 6c 74 73 20 61 73 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 58 faults.as.$default).{.$defaultsX
111380 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 58 4d 4c 20 3d 20 24 64 ML->appendChild($defaultXML.=.$d
1113a0 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 27 29 29 3b 0a 24 om->createElement('default'));.$
1113c0 64 65 66 61 75 6c 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 defaultXML->appendChild($dom->cr
1113e0 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 eateTextNode($default));.}..retu
111400 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 rn.$dom;.}.....private.function.
111420 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 4f 70 74 69 getInputOptionDocument(InputOpti
111440 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 on.$option).{.$dom.=.new.\DOMDoc
111460 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 0a 24 64 6f 6d 2d 3e 61 70 ument('1.0',.'UTF-8');..$dom->ap
111480 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 6a 65 63 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 pendChild($objectXML.=.$dom->cre
1114a0 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 27 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d ateElement('option'));.$objectXM
1114c0 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 27 2d 2d 27 2e 24 6f 70 L->setAttribute('name',.'--'.$op
1114e0 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 tion->getName());.$pos.=.strpos(
111500 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 27 7c 27 29 3b 0a 69 66 $option->getShortcut(),.'|');.if
111520 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e .(false.!==.$pos).{.$objectXML->
111540 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 27 2d 27 2e 73 75 62 setAttribute('shortcut',.'-'.sub
111560 73 74 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 30 2c 20 24 str($option->getShortcut(),.0,.$
111580 70 6f 73 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 pos));.$objectXML->setAttribute(
1115a0 27 73 68 6f 72 74 63 75 74 73 27 2c 20 27 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 'shortcuts',.'-'.str_replace('|'
1115c0 2c 20 27 7c 2d 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 29 ,.'|-',.$option->getShortcut()))
1115e0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 ;.}.else.{.$objectXML->setAttrib
111600 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 ute('shortcut',.$option->getShor
111620 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 tcut().?.'-'.$option->getShortcu
111640 74 28 29 20 3a 20 27 27 29 3b 0a 7d 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 t().:.'');.}.$objectXML->setAttr
111660 69 62 75 74 65 28 27 61 63 63 65 70 74 5f 76 61 6c 75 65 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 61 ibute('accept_value',.$option->a
111680 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d cceptValue().?.1.:.0);.$objectXM
1116a0 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 L->setAttribute('is_value_requir
1116c0 65 64 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 ed',.$option->isValueRequired().
1116e0 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 ?.1.:.0);.$objectXML->setAttribu
111700 74 65 28 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 te('is_multiple',.$option->isArr
111720 61 79 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e ay().?.1.:.0);.$objectXML->appen
111740 64 43 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 dChild($descriptionXML.=.$dom->c
111760 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 reateElement('description'));.$d
111780 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d escriptionXML->appendChild($dom-
1117a0 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 >createTextNode($option->getDesc
1117c0 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 ription()));..if.($option->accep
1117e0 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 69 73 5f 61 72 72 61 79 tValue()).{.$defaults.=.is_array
111800 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 6f 70 74 69 6f ($option->getDefault()).?.$optio
111820 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c 28 24 6f 70 74 69 n->getDefault().:.(is_bool($opti
111840 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 on->getDefault()).?.array(var_ex
111860 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 port($option->getDefault(),.true
111880 29 29 20 3a 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 )).:.($option->getDefault().?.ar
1118a0 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3a 20 61 72 72 ray($option->getDefault()).:.arr
1118c0 61 79 28 29 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 ay()));.$objectXML->appendChild(
1118e0 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 $defaultsXML.=.$dom->createEleme
111900 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 65 nt('defaults'));..if.(!empty($de
111920 66 61 75 6c 74 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 73 20 61 73 faults)).{.foreach.($defaults.as
111940 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 65 6e .$default).{.$defaultsXML->appen
111960 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 dChild($defaultXML.=.$dom->creat
111980 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 58 4d eElement('default'));.$defaultXM
1119a0 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e L->appendChild($dom->createTextN
1119c0 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 ode($default));.}.}.}..return.$d
1119e0 6f 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 om;.}.}.<?php...........namespac
111a00 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e e.Symfony\Component\Console\Even
111a20 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 t;.......class.ConsoleCommandEve
111a40 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 63 6f 6e nt.extends.ConsoleEvent.{....con
111a60 73 74 20 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 20 3d 20 31 31 33 3b 0a 0a st.RETURN_CODE_DISABLED.=.113;..
111a80 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 74 ...private.$commandShouldRun.=.t
111aa0 72 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 rue;.......public.function.disab
111ac0 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d leCommand().{.return.$this->comm
111ae0 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 andShouldRun.=.false;.}.......pu
111b00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a blic.function.enableCommand().{.
111b20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d return.$this->commandShouldRun.=
111b40 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 .true;.}.......public.function.c
111b60 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ommandShouldRun().{.return.$this
111b80 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ->commandShouldRun;.}.}.<?php...
111ba0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
111bc0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ent\Console\Event;..use.Symfony\
111be0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e Component\Console\Command\Comman
111c00 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 d;.use.Symfony\Component\Console
111c20 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
111c40 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
111c60 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utInterface;.use.Symfony\Compone
111c80 6e 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a nt\EventDispatcher\Event;.......
111ca0 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 class.ConsoleEvent.extends.Event
111cc0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 70 72 69 76 61 74 65 20 .{.protected.$command;..private.
111ce0 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 $input;.private.$output;..public
111d00 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 .function.__construct(Command.$c
111d20 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f ommand,.InputInterface.$input,.O
111d40 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d utputInterface.$output).{.$this-
111d60 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 >command.=.$command;.$this->inpu
111d80 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 t.=.$input;.$this->output.=.$out
111da0 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 put;.}.......public.function.get
111dc0 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e Command().{.return.$this->comman
111de0 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e d;.}.......public.function.getIn
111e00 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a put().{.return.$this->input;.}..
111e20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 .....public.function.getOutput()
111e40 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 .{.return.$this->output;.}.}.<?p
111e60 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
111e80 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d omponent\Console\Event;..use.Sym
111ea0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 fony\Component\Console\Command\C
111ec0 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ommand;.use.Symfony\Component\Co
111ee0 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 nsole\Input\InputInterface;.use.
111f00 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
111f20 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f \OutputInterface;.......class.Co
111f40 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 nsoleExceptionEvent.extends.Cons
111f60 6f 6c 65 45 76 65 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 70 oleEvent.{.private.$exception;.p
111f80 72 69 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rivate.$exitCode;..public.functi
111fa0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c on.__construct(Command.$command,
111fc0 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e .InputInterface.$input,.OutputIn
111fe0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 terface.$output,.\Exception.$exc
112000 65 70 74 69 6f 6e 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 eption,.$exitCode).{.parent::__c
112020 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 onstruct($command,.$input,.$outp
112040 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 ut);..$this->setException($excep
112060 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 tion);.$this->exitCode.=.(int).$
112080 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f exitCode;.}.......public.functio
1120a0 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d n.getException().{.return.$this-
1120c0 3e 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >exception;.}.........public.fun
1120e0 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 ction.setException(\Exception.$e
112100 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 xception).{.$this->exception.=.$
112120 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 exception;.}.......public.functi
112140 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getExitCode().{.return.$this-
112160 3e 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e >exitCode;.}.}.<?php...........n
112180 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
1121a0 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 le\Event;..use.Symfony\Component
1121c0 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 \Console\Command\Command;.use.Sy
1121e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
112200 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
112220 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ent\Console\Output\OutputInterfa
112240 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 ce;.......class.ConsoleTerminate
112260 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a Event.extends.ConsoleEvent.{....
112280 0a 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..private.$exitCode;..public.fun
1122a0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 ction.__construct(Command.$comma
1122c0 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 nd,.InputInterface.$input,.Outpu
1122e0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b tInterface.$output,.$exitCode).{
112300 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 .parent::__construct($command,.$
112320 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 45 78 69 74 input,.$output);..$this->setExit
112340 43 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 Code($exitCode);.}.......public.
112360 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 69 74 43 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 0a function.setExitCode($exitCode).
112380 7b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 {.$this->exitCode.=.(int).$exitC
1123a0 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ode;.}.......public.function.get
1123c0 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 ExitCode().{.return.$this->exitC
1123e0 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ode;.}.}.<?php...........namespa
112400 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 ce.Symfony\Component\Console\Exc
112420 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f eption;.......class.CommandNotFo
112440 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 undException.extends.\InvalidArg
112460 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 umentException.implements.Except
112480 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 6c 74 65 72 6e 61 74 ionInterface.{.private.$alternat
1124a0 69 76 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ives;........public.function.__c
1124c0 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 61 6c 74 65 72 6e onstruct($message,.array.$altern
1124e0 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 atives.=.array(),.$code.=.0,.\Ex
112500 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 ception.$previous.=.null).{.pare
112520 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c nt::__construct($message,.$code,
112540 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 .$previous);..$this->alternative
112560 73 20 3d 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 s.=.$alternatives;.}.....public.
112580 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 74 65 72 6e 61 74 69 76 65 73 28 29 0a 7b 0a 72 65 74 function.getAlternatives().{.ret
1125a0 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 urn.$this->alternatives;.}.}.<?p
1125c0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
1125e0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a omponent\Console\Exception;.....
112600 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b ..interface.ExceptionInterface.{
112620 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
112640 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
112660 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 ;.....class.InvalidArgumentExcep
112680 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 tion.extends.\InvalidArgumentExc
1126a0 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 eption.implements.ExceptionInter
1126c0 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 face.{.}.<?php...........namespa
1126e0 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 ce.Symfony\Component\Console\Exc
112700 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f eption;.......class.InvalidOptio
112720 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d nException.extends.\InvalidArgum
112740 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f entException.implements.Exceptio
112760 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e nInterface.{.}.<?php...........n
112780 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
1127a0 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 le\Exception;.....class.LogicExc
1127c0 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 69 eption.extends.\LogicException.i
1127e0 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d mplements.ExceptionInterface.{.}
112800 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
112820 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a ny\Component\Console\Exception;.
112840 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e ....class.RuntimeException.exten
112860 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 ds.\RuntimeException.implements.
112880 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ExceptionInterface.{.}.<?php....
1128a0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
1128c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f nt\Console\Formatter;..use.Symfo
1128e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 ny\Component\Console\Exception\I
112900 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 nvalidArgumentException;.......c
112920 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 lass.OutputFormatter.implements.
112940 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 OutputFormatterInterface.{.priva
112960 74 65 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 20 3d te.$decorated;.private.$styles.=
112980 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 53 74 61 63 6b 3b 0a 0a .array();.private.$styleStack;..
1129a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 .......public.static.function.es
1129c0 63 61 70 65 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 cape($text).{.$text.=.preg_repla
1129e0 63 65 28 27 2f 28 5b 5e 5c 5c 5c 5c 5d 3f 29 3c 2f 27 2c 20 27 24 31 5c 5c 3c 27 2c 20 24 74 65 ce('/([^\\\\]?)</',.'$1\\<',.$te
112a00 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e xt);..return.self::escapeTrailin
112a20 67 42 61 63 6b 73 6c 61 73 68 28 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 gBackslash($text);.}...........p
112a40 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 54 72 61 69 ublic.static.function.escapeTrai
112a60 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 74 65 78 74 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 lingBackslash($text).{.if.('\\'.
112a80 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 65 78 74 2c 20 2d 31 29 29 20 7b 0a 24 6c 65 6e 20 3d 20 ===.substr($text,.-1)).{.$len.=.
112aa0 73 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 3d 20 72 74 72 69 6d 28 24 74 65 strlen($text);.$text.=.rtrim($te
112ac0 78 74 2c 20 27 5c 5c 27 29 3b 0a 24 74 65 78 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 xt,.'\\');.$text.=.str_replace("
112ae0 5c 30 22 2c 20 27 27 2c 20 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 2e 3d 20 73 74 72 5f 72 65 \0",.'',.$text);.$text..=.str_re
112b00 70 65 61 74 28 22 5c 30 22 2c 20 24 6c 65 6e 20 2d 20 73 74 72 6c 65 6e 28 24 74 65 78 74 29 29 peat("\0",.$len.-.strlen($text))
112b20 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ;.}..return.$text;.}........publ
112b40 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 63 6f 72 61 74 ic.function.__construct($decorat
112b60 65 64 20 3d 20 66 61 6c 73 65 2c 20 61 72 72 61 79 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 ed.=.false,.array.$styles.=.arra
112b80 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 y()).{.$this->decorated.=.(bool)
112ba0 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 65 .$decorated;..$this->setStyle('e
112bc0 72 72 6f 72 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 rror',.new.OutputFormatterStyle(
112be0 27 77 68 69 74 65 27 2c 20 27 72 65 64 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 'white',.'red'));.$this->setStyl
112c00 65 28 27 69 6e 66 6f 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 e('info',.new.OutputFormatterSty
112c20 6c 65 28 27 67 72 65 65 6e 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 le('green'));.$this->setStyle('c
112c40 6f 6d 6d 65 6e 74 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c omment',.new.OutputFormatterStyl
112c60 65 28 27 79 65 6c 6c 6f 77 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 71 e('yellow'));.$this->setStyle('q
112c80 75 65 73 74 69 6f 6e 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 uestion',.new.OutputFormatterSty
112ca0 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 63 79 61 6e 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 le('black',.'cyan'));..foreach.(
112cc0 24 73 74 79 6c 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 73 74 79 6c 65 29 20 7b 0a 24 74 $styles.as.$name.=>.$style).{.$t
112ce0 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a his->setStyle($name,.$style);.}.
112d00 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 .$this->styleStack.=.new.OutputF
112d20 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ormatterStyleStack();.}.....publ
112d40 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 ic.function.setDecorated($decora
112d60 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 ted).{.$this->decorated.=.(bool)
112d80 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$decorated;.}.....public.functi
112da0 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.isDecorated().{.return.$this-
112dc0 3e 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >decorated;.}.....public.functio
112de0 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 n.setStyle($name,.OutputFormatte
112e00 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d rStyleInterface.$style).{.$this-
112e20 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 73 74 >styles[strtolower($name)].=.$st
112e40 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 yle;.}.....public.function.hasSt
112e60 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d yle($name).{.return.isset($this-
112e80 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 29 3b 0a 7d 0a 0a >styles[strtolower($name)]);.}..
112ea0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d ...public.function.getStyle($nam
112ec0 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 e).{.if.(!$this->hasStyle($name)
112ee0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
112f00 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 64 65 66 69 6e 65 64 20 73 74 79 6c 65 3a eption(sprintf('Undefined.style:
112f20 20 25 73 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e .%s',.$name));.}..return.$this->
112f40 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 3b 0a 7d 0a 0a 0a 0a styles[strtolower($name)];.}....
112f60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 .public.function.format($message
112f80 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6d 65 73 73 61 67 65 ).{.$message.=.(string).$message
112fa0 3b 0a 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 74 61 ;.$offset.=.0;.$output.=.'';.$ta
112fc0 67 52 65 67 65 78 20 3d 20 27 5b 61 2d 7a 5d 5b 61 2d 7a 30 2d 39 5f 3d 3b 2d 5d 2a 2b 27 3b 0a gRegex.=.'[a-z][a-z0-9_=;-]*+';.
112fe0 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 22 23 3c 28 28 24 74 61 67 52 65 67 65 78 29 20 7c preg_match_all("#<(($tagRegex).|
113000 20 2f 28 24 74 61 67 52 65 67 65 78 29 3f 29 3e 23 69 78 22 2c 20 24 6d 65 73 73 61 67 65 2c 20 ./($tagRegex)?)>#ix",.$message,.
113020 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f 4f 46 46 53 45 54 5f 43 41 50 54 55 52 45 29 3b 0a $matches,.PREG_OFFSET_CAPTURE);.
113040 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 20 61 73 20 24 69 20 3d 3e 20 24 6d foreach.($matches[0].as.$i.=>.$m
113060 61 74 63 68 29 20 7b 0a 24 70 6f 73 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 65 78 74 20 atch).{.$pos.=.$match[1];.$text.
113080 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 0a 69 66 20 28 30 20 21 3d 20 24 70 6f 73 20 26 26 20 27 =.$match[0];..if.(0.!=.$pos.&&.'
1130a0 5c 5c 27 20 3d 3d 20 24 6d 65 73 73 61 67 65 5b 24 70 6f 73 20 2d 20 31 5d 29 20 7b 0a 63 6f 6e \\'.==.$message[$pos.-.1]).{.con
1130c0 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 tinue;.}....$output..=.$this->ap
1130e0 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c plyCurrentStyle(substr($message,
113100 20 24 6f 66 66 73 65 74 2c 20 24 70 6f 73 20 2d 20 24 6f 66 66 73 65 74 29 29 3b 0a 24 6f 66 66 .$offset,.$pos.-.$offset));.$off
113120 73 65 74 20 3d 20 24 70 6f 73 20 2b 20 73 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 0a 0a 20 69 set.=.$pos.+.strlen($text);....i
113140 66 20 28 24 6f 70 65 6e 20 3d 20 27 2f 27 20 21 3d 20 24 74 65 78 74 5b 31 5d 29 20 7b 0a 24 74 f.($open.=.'/'.!=.$text[1]).{.$t
113160 61 67 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 5b 24 69 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 ag.=.$matches[1][$i][0];.}.else.
113180 7b 0a 24 74 61 67 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 {.$tag.=.isset($matches[3][$i][0
1131a0 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 20 3a 20 27 27 3b 0a 7d 0a ]).?.$matches[3][$i][0].:.'';.}.
1131c0 0a 69 66 20 28 21 24 6f 70 65 6e 20 26 26 20 21 24 74 61 67 29 20 7b 0a 0a 20 24 74 68 69 73 2d .if.(!$open.&&.!$tag).{...$this-
1131e0 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 >styleStack->pop();.}.elseif.(fa
113200 6c 73 65 20 3d 3d 3d 20 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 74 lse.===.$style.=.$this->createSt
113220 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 67 29 29 29 yleFromString(strtolower($tag)))
113240 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e .{.$output..=.$this->applyCurren
113260 74 53 74 79 6c 65 28 24 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 6e 29 20 tStyle($text);.}.elseif.($open).
113280 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 75 73 68 28 24 73 74 79 6c 65 {.$this->styleStack->push($style
1132a0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 );.}.else.{.$this->styleStack->p
1132c0 6f 70 28 24 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 op($style);.}.}..$output..=.$thi
1132e0 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 73 75 62 73 74 72 28 24 6d 65 73 s->applyCurrentStyle(substr($mes
113300 73 61 67 65 2c 20 24 6f 66 66 73 65 74 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 sage,.$offset));..if.(false.!==.
113320 73 74 72 70 6f 73 28 24 6f 75 74 70 75 74 2c 20 22 5c 30 22 29 29 20 7b 0a 72 65 74 75 72 6e 20 strpos($output,."\0")).{.return.
113340 73 74 72 74 72 28 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 28 22 5c 30 22 20 3d 3e 20 27 5c 5c strtr($output,.array("\0".=>.'\\
113360 27 2c 20 27 5c 5c 3c 27 20 3d 3e 20 27 3c 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 ',.'\\<'.=>.'<'));.}..return.str
113380 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 27 2c 20 27 3c 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d _replace('\\<',.'<',.$output);.}
1133a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 53 74 61 .....public.function.getStyleSta
1133c0 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 3b ck().{.return.$this->styleStack;
1133e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 .}.........private.function.crea
113400 74 65 53 74 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 teStyleFromString($string).{.if.
113420 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 29 29 20 (isset($this->styles[$string])).
113440 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 3b {.return.$this->styles[$string];
113460 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 28 5b 5e 3d 5d 2b .}..if.(!preg_match_all('/([^=]+
113480 29 3d 28 5b 5e 3b 5d 2b 29 28 3b 7c 24 29 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 )=([^;]+)(;|$)/',.strtolower($st
1134a0 72 69 6e 67 29 2c 20 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 52 29 ring),.$matches,.PREG_SET_ORDER)
1134c0 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 6e 65 ).{.return.false;.}..$style.=.ne
1134e0 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 66 6f 72 65 61 63 w.OutputFormatterStyle();.foreac
113500 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 61 72 72 61 79 5f 73 h.($matches.as.$match).{.array_s
113520 68 69 66 74 28 24 6d 61 74 63 68 29 3b 0a 0a 69 66 20 28 27 66 67 27 20 3d 3d 20 24 6d 61 74 63 hift($match);..if.('fg'.==.$matc
113540 68 5b 30 5d 29 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 6d h[0]).{.$style->setForeground($m
113560 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 67 27 20 3d 3d 20 24 6d 61 74 atch[1]);.}.elseif.('bg'.==.$mat
113580 63 68 5b 30 5d 29 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 ch[0]).{.$style->setBackground($
1135a0 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 72 79 20 7b 0a 24 73 74 79 6c 65 match[1]);.}.else.{.try.{.$style
1135c0 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 ->setOption($match[1]);.}.catch.
1135e0 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b (\InvalidArgumentException.$e).{
113600 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 .return.false;.}.}.}..return.$st
113620 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 yle;.}.........private.function.
113640 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 74 65 78 74 29 0a 7b 0a 72 65 74 75 72 applyCurrentStyle($text).{.retur
113660 6e 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 26 26 20 73 74 72 6c 65 6e n.$this->isDecorated().&&.strlen
113680 28 24 74 65 78 74 29 20 3e 20 30 20 3f 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d ($text).>.0.?.$this->styleStack-
1136a0 3e 67 65 74 43 75 72 72 65 6e 74 28 29 2d 3e 61 70 70 6c 79 28 24 74 65 78 74 29 20 3a 20 24 74 >getCurrent()->apply($text).:.$t
1136c0 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ext;.}.}.<?php...........namespa
1136e0 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 ce.Symfony\Component\Console\For
113700 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f matter;.......interface.OutputFo
113720 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 rmatterInterface.{......public.f
113740 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 unction.setDecorated($decorated)
113760 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 ;.......public.function.isDecora
113780 74 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ted();........public.function.se
1137a0 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 tStyle($name,.OutputFormatterSty
1137c0 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 leInterface.$style);.........pub
1137e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a lic.function.hasStyle($name);...
113800 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 ........public.function.getStyle
113820 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ($name);.........public.function
113840 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .format($message);.}.<?php......
113860 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
113880 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 \Console\Formatter;..use.Symfony
1138a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 \Component\Console\Exception\Inv
1138c0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 alidArgumentException;.......cla
1138e0 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e ss.OutputFormatterStyle.implemen
113900 74 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 ts.OutputFormatterStyleInterface
113920 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 .{.private.static.$availableFore
113940 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e groundColors.=.array(.'black'.=>
113960 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 .array('set'.=>.30,.'unset'.=>.3
113980 39 29 2c 0a 27 72 65 64 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 31 2c 20 9),.'red'.=>.array('set'.=>.31,.
1139a0 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 'unset'.=>.39),.'green'.=>.array
1139c0 28 27 73 65 74 27 20 3d 3e 20 33 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 79 ('set'.=>.32,.'unset'.=>.39),.'y
1139e0 65 6c 6c 6f 77 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 33 2c 20 27 75 6e ellow'.=>.array('set'.=>.33,.'un
113a00 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 62 6c 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 set'.=>.39),.'blue'.=>.array('se
113a20 74 27 20 3d 3e 20 33 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 6d 61 67 65 6e t'.=>.34,.'unset'.=>.39),.'magen
113a40 74 61 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 35 2c 20 27 75 6e 73 65 74 ta'.=>.array('set'.=>.35,.'unset
113a60 27 20 3d 3e 20 33 39 29 2c 0a 27 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 '.=>.39),.'cyan'.=>.array('set'.
113a80 3d 3e 20 33 36 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 77 68 69 74 65 27 20 3d =>.36,.'unset'.=>.39),.'white'.=
113aa0 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 >.array('set'.=>.37,.'unset'.=>.
113ac0 33 39 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 39),.'default'.=>.array('set'.=>
113ae0 20 33 39 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 .39,.'unset'.=>.39),.);.private.
113b00 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 static.$availableBackgroundColor
113b20 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 s.=.array(.'black'.=>.array('set
113b40 27 20 3d 3e 20 34 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 72 65 64 27 20 3d '.=>.40,.'unset'.=>.49),.'red'.=
113b60 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 >.array('set'.=>.41,.'unset'.=>.
113b80 34 39 29 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 49),.'green'.=>.array('set'.=>.4
113ba0 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 79 65 6c 6c 6f 77 27 20 3d 3e 20 61 2,.'unset'.=>.49),.'yellow'.=>.a
113bc0 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 33 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 rray('set'.=>.43,.'unset'.=>.49)
113be0 2c 0a 27 62 6c 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 34 2c 20 27 ,.'blue'.=>.array('set'.=>.44,.'
113c00 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 72 72 61 unset'.=>.49),.'magenta'.=>.arra
113c20 79 28 27 73 65 74 27 20 3d 3e 20 34 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 y('set'.=>.45,.'unset'.=>.49),.'
113c40 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 36 2c 20 27 75 6e 73 cyan'.=>.array('set'.=>.46,.'uns
113c60 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 77 68 69 74 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 et'.=>.49),.'white'.=>.array('se
113c80 74 27 20 3d 3e 20 34 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 64 65 66 61 75 t'.=>.47,.'unset'.=>.49),.'defau
113ca0 6c 74 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 39 2c 20 27 75 6e 73 65 74 lt'.=>.array('set'.=>.49,.'unset
113cc0 27 20 3d 3e 20 34 39 29 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 '.=>.49),.);.private.static.$ava
113ce0 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6f 6c 64 27 20 3d 3e ilableOptions.=.array(.'bold'.=>
113d00 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 32 .array('set'.=>.1,.'unset'.=>.22
113d20 29 2c 0a 27 75 6e 64 65 72 73 63 6f 72 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d ),.'underscore'.=>.array('set'.=
113d40 3e 20 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 34 29 2c 0a 27 62 6c 69 6e 6b 27 20 3d 3e 20 >.4,.'unset'.=>.24),.'blink'.=>.
113d60 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 35 29 array('set'.=>.5,.'unset'.=>.25)
113d80 2c 0a 27 72 65 76 65 72 73 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 37 2c ,.'reverse'.=>.array('set'.=>.7,
113da0 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 37 29 2c 0a 27 63 6f 6e 63 65 61 6c 27 20 3d 3e 20 61 72 .'unset'.=>.27),.'conceal'.=>.ar
113dc0 72 61 79 28 27 73 65 74 27 20 3d 3e 20 38 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 38 29 2c 0a ray('set'.=>.8,.'unset'.=>.28),.
113de0 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 6f 72 65 67 72 6f 75 6e 64 3b 0a 70 72 69 76 61 74 65 );..private.$foreground;.private
113e00 20 24 62 61 63 6b 67 72 6f 75 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d .$background;.private.$options.=
113e20 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .array();.........public.functio
113e40 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c n.__construct($foreground.=.null
113e60 2c 20 24 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 ,.$background.=.null,.array.$opt
113e80 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 ions.=.array()).{.if.(null.!==.$
113ea0 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 foreground).{.$this->setForegrou
113ec0 6e 64 28 24 66 6f 72 65 67 72 6f 75 6e 64 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 nd($foreground);.}.if.(null.!==.
113ee0 24 62 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 42 61 63 6b 67 72 6f $background).{.$this->setBackgro
113f00 75 6e 64 28 24 62 61 63 6b 67 72 6f 75 6e 64 29 3b 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 6f und($background);.}.if.(count($o
113f20 70 74 69 6f 6e 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 ptions)).{.$this->setOptions($op
113f40 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tions);.}.}.........public.funct
113f60 69 6f 6e 20 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 ion.setForeground($color.=.null)
113f80 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 74 68 69 73 2d .{.if.(null.===.$color).{.$this-
113fa0 3e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a >foreground.=.null;..return;.}..
113fc0 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 if.(!isset(static::$availableFor
113fe0 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 egroundColors[$color])).{.throw.
114000 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 new.InvalidArgumentException(spr
114020 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 intf(.'Invalid.foreground.color.
114040 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 specified:."%s"..Expected.one.of
114060 20 28 25 73 29 27 2c 0a 24 63 6f 6c 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 .(%s)',.$color,.implode(',.',.ar
114080 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 ray_keys(static::$availableForeg
1140a0 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 65 roundColors)).));.}..$this->fore
1140c0 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 ground.=.static::$availableForeg
1140e0 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 roundColors[$color];.}.........p
114100 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 63 6f ublic.function.setBackground($co
114120 6c 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f lor.=.null).{.if.(null.===.$colo
114140 72 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a r).{.$this->background.=.null;..
114160 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 return;.}..if.(!isset(static::$a
114180 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d vailableBackgroundColors[$color]
1141a0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 )).{.throw.new.InvalidArgumentEx
1141c0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 62 61 63 6b 67 72 ception(sprintf(.'Invalid.backgr
1141e0 6f 75 6e 64 20 63 6f 6c 6f 72 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 ound.color.specified:."%s"..Expe
114200 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 0a 24 63 6f 6c 6f 72 2c 0a 69 6d 70 6c 6f cted.one.of.(%s)',.$color,.implo
114220 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 de(',.',.array_keys(static::$ava
114240 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 0a 29 29 3b 0a 7d 0a 0a ilableBackgroundColors)).));.}..
114260 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 $this->background.=.static::$ava
114280 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a ilableBackgroundColors[$color];.
1142a0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 }.........public.function.setOpt
1142c0 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 ion($option).{.if.(!isset(static
1142e0 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b ::$availableOptions[$option])).{
114300 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 .throw.new.InvalidArgumentExcept
114320 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 73 70 65 ion(sprintf(.'Invalid.option.spe
114340 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 cified:."%s"..Expected.one.of.(%
114360 73 29 27 2c 0a 24 6f 70 74 69 6f 6e 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 s)',.$option,.implode(',.',.arra
114380 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 y_keys(static::$availableOptions
1143a0 29 29 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 73 74 61 74 69 63 3a 3a )).));.}..if.(!in_array(static::
1143c0 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 2c 20 24 74 68 69 $availableOptions[$option],.$thi
1143e0 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 5d 20 s->options)).{.$this->options[].
114400 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 =.static::$availableOptions[$opt
114420 69 6f 6e 5d 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ion];.}.}.........public.functio
114440 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 n.unsetOption($option).{.if.(!is
114460 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f set(static::$availableOptions[$o
114480 70 74 69 6f 6e 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 ption])).{.throw.new.InvalidArgu
1144a0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 mentException(sprintf(.'Invalid.
1144c0 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 option.specified:."%s"..Expected
1144e0 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 0a 24 6f 70 74 69 6f 6e 2c 0a 69 6d 70 6c 6f 64 65 28 .one.of.(%s)',.$option,.implode(
114500 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 ',.',.array_keys(static::$availa
114520 62 6c 65 4f 70 74 69 6f 6e 73 29 29 0a 29 29 3b 0a 7d 0a 0a 24 70 6f 73 20 3d 20 61 72 72 61 79 bleOptions)).));.}..$pos.=.array
114540 5f 73 65 61 72 63 68 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e _search(static::$availableOption
114560 73 5b 24 6f 70 74 69 6f 6e 5d 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 s[$option],.$this->options);.if.
114580 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e (false.!==.$pos).{.unset($this->
1145a0 6f 70 74 69 6f 6e 73 5b 24 70 6f 73 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 options[$pos]);.}.}.....public.f
1145c0 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e unction.setOptions(array.$option
1145e0 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a s).{.$this->options.=.array();..
114600 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a foreach.($options.as.$option).{.
114620 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a $this->setOption($option);.}.}..
114640 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 .......public.function.apply($te
114660 78 74 29 0a 7b 0a 24 73 65 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 75 6e 73 65 xt).{.$setCodes.=.array();.$unse
114680 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 tCodes.=.array();..if.(null.!==.
1146a0 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d $this->foreground).{.$setCodes[]
1146c0 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 73 65 74 27 5d 3b 0a 24 75 6e .=.$this->foreground['set'];.$un
1146e0 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 setCodes[].=.$this->foreground['
114700 75 6e 73 65 74 27 5d 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 62 unset'];.}.if.(null.!==.$this->b
114720 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 ackground).{.$setCodes[].=.$this
114740 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 5b 27 73 65 74 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 ->background['set'];.$unsetCodes
114760 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b [].=.$this->background['unset'];
114780 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a .}.if.(count($this->options)).{.
1147a0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 foreach.($this->options.as.$opti
1147c0 6f 6e 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 73 65 74 on).{.$setCodes[].=.$option['set
1147e0 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 75 6e 73 '];.$unsetCodes[].=.$option['uns
114800 65 74 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 73 65 74 43 et'];.}.}..if.(0.===.count($setC
114820 6f 64 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e odes)).{.return.$text;.}..return
114840 20 73 70 72 69 6e 74 66 28 22 5c 30 33 33 5b 25 73 6d 25 73 5c 30 33 33 5b 25 73 6d 22 2c 20 69 .sprintf("\033[%sm%s\033[%sm",.i
114860 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 73 65 74 43 6f 64 65 73 29 2c 20 24 74 65 78 74 2c 20 69 mplode(';',.$setCodes),.$text,.i
114880 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 75 6e 73 65 74 43 6f 64 65 73 29 29 3b 0a 7d 0a 7d 0a 3c mplode(';',.$unsetCodes));.}.}.<
1148a0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
1148c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a \Component\Console\Formatter;...
1148e0 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 ....interface.OutputFormatterSty
114900 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 leInterface.{......public.functi
114920 6f 6e 20 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b on.setForeground($color.=.null);
114940 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 63 6b 67 72 .......public.function.setBackgr
114960 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ound($color.=.null);.......publi
114980 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a c.function.setOption($option);..
1149a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e .....public.function.unsetOption
1149c0 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ($option);.....public.function.s
1149e0 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 0a 0a 0a 0a etOptions(array.$options);......
114a00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 3b ...public.function.apply($text);
114a20 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
114a40 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 fony\Component\Console\Formatter
114a60 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
114a80 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 \Exception\InvalidArgumentExcept
114aa0 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 ion;.....class.OutputFormatterSt
114ac0 79 6c 65 53 74 61 63 6b 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 3b 0a 0a yleStack.{....private.$styles;..
114ae0 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 53 74 79 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e private.$emptyStyle;..public.fun
114b00 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 ction.__construct(OutputFormatte
114b20 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 6e 75 rStyleInterface.$emptyStyle.=.nu
114b40 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 24 65 6d 70 74 79 ll).{.$this->emptyStyle.=.$empty
114b60 53 74 79 6c 65 20 3f 3a 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c Style.?:.new.OutputFormatterStyl
114b80 65 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 e();.$this->reset();.}.....publi
114ba0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c c.function.reset().{.$this->styl
114bc0 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 es.=.array();.}.....public.funct
114be0 69 6f 6e 20 70 75 73 68 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 ion.push(OutputFormatterStyleInt
114c00 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 5d erface.$style).{.$this->styles[]
114c20 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .=.$style;.}.........public.func
114c40 74 69 6f 6e 20 70 6f 70 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 tion.pop(OutputFormatterStyleInt
114c60 65 72 66 61 63 65 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 65 6d 70 74 erface.$style.=.null).{.if.(empt
114c80 79 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 y($this->styles)).{.return.$this
114ca0 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 ->emptyStyle;.}..if.(null.===.$s
114cc0 74 79 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e tyle).{.return.array_pop($this->
114ce0 73 74 79 6c 65 73 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 72 65 76 65 72 styles);.}..foreach.(array_rever
114d00 73 65 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 2c 20 74 72 75 65 29 20 61 73 20 24 69 6e 64 65 se($this->styles,.true).as.$inde
114d20 78 20 3d 3e 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 29 20 7b 0a 69 66 20 28 24 73 74 79 6c 65 x.=>.$stackedStyle).{.if.($style
114d40 2d 3e 61 70 70 6c 79 28 27 27 29 20 3d 3d 3d 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 2d 3e 61 ->apply('').===.$stackedStyle->a
114d60 70 70 6c 79 28 27 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 20 3d 20 61 72 72 61 pply('')).{.$this->styles.=.arra
114d80 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 2c 20 30 2c 20 24 69 6e 64 65 78 y_slice($this->styles,.0,.$index
114da0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 3b 0a 7d 0a 7d 0a 0a 74 );..return.$stackedStyle;.}.}..t
114dc0 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f hrow.new.InvalidArgumentExceptio
114de0 6e 28 27 49 6e 63 6f 72 72 65 63 74 6c 79 20 6e 65 73 74 65 64 20 73 74 79 6c 65 20 74 61 67 20 n('Incorrectly.nested.style.tag.
114e00 66 6f 75 6e 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f found.');.}.......public.functio
114e20 6e 20 67 65 74 43 75 72 72 65 6e 74 28 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 n.getCurrent().{.if.(empty($this
114e40 2d 3e 73 74 79 6c 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 ->styles)).{.return.$this->empty
114e60 53 74 79 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 63 Style;.}..return.$this->styles[c
114e80 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 20 2d 20 31 5d 3b 0a 7d 0a 0a 0a 0a 0a ount($this->styles).-.1];.}.....
114ea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 53 74 79 6c 65 28 4f 75 public.function.setEmptyStyle(Ou
114ec0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 tputFormatterStyleInterface.$emp
114ee0 74 79 53 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 24 tyStyle).{.$this->emptyStyle.=.$
114f00 65 6d 70 74 79 53 74 79 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a emptyStyle;..return.$this;.}....
114f20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 53 74 79 6c 65 28 29 .public.function.getEmptyStyle()
114f40 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 7d .{.return.$this->emptyStyle;.}.}
114f60 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
114f80 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a ny\Component\Console\Helper;....
114fa0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 20 .....class.DebugFormatterHelper.
114fc0 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 73 extends.Helper.{.private.$colors
114fe0 20 3d 20 61 72 72 61 79 28 27 62 6c 61 63 6b 27 2c 20 27 72 65 64 27 2c 20 27 67 72 65 65 6e 27 .=.array('black',.'red',.'green'
115000 2c 20 27 79 65 6c 6c 6f 77 27 2c 20 27 62 6c 75 65 27 2c 20 27 6d 61 67 65 6e 74 61 27 2c 20 27 ,.'yellow',.'blue',.'magenta',.'
115020 63 79 61 6e 27 2c 20 27 77 68 69 74 65 27 2c 20 27 64 65 66 61 75 6c 74 27 29 3b 0a 70 72 69 76 cyan',.'white',.'default');.priv
115040 61 74 65 20 24 73 74 61 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 ate.$started.=.array();.private.
115060 24 63 6f 75 6e 74 20 3d 20 2d 31 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $count.=.-1;...........public.fu
115080 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 70 72 65 nction.start($id,.$message,.$pre
1150a0 66 69 78 20 3d 20 27 52 55 4e 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 fix.=.'RUN').{.$this->started[$i
1150c0 64 5d 20 3d 20 61 72 72 61 79 28 27 62 6f 72 64 65 72 27 20 3d 3e 20 2b 2b 24 74 68 69 73 2d 3e d].=.array('border'.=>.++$this->
1150e0 63 6f 75 6e 74 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 29 3b 0a 0a count.%.count($this->colors));..
115100 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 25 73 3c 62 67 3d 62 6c 75 65 3b 66 67 3d 77 68 return.sprintf("%s<bg=blue;fg=wh
115120 69 74 65 3e 20 25 73 20 3c 2f 3e 20 3c 66 67 3d 62 6c 75 65 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 ite>.%s.</>.<fg=blue>%s</>\n",.$
115140 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 2c 20 24 this->getBorder($id),.$prefix,.$
115160 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 message);.}.............public.f
115180 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 28 24 69 64 2c 20 24 62 75 66 66 65 72 2c 20 24 unction.progress($id,.$buffer,.$
1151a0 65 72 72 6f 72 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 69 78 20 3d 20 27 4f 55 54 27 2c 20 error.=.false,.$prefix.=.'OUT',.
1151c0 24 65 72 72 6f 72 50 72 65 66 69 78 20 3d 20 27 45 52 52 27 29 0a 7b 0a 24 6d 65 73 73 61 67 65 $errorPrefix.=.'ERR').{.$message
1151e0 20 3d 20 27 27 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 .=.'';..if.($error).{.if.(isset(
115200 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 24 $this->started[$id]['out'])).{.$
115220 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 message..=."\n";.unset($this->st
115240 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 arted[$id]['out']);.}.if.(!isset
115260 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 29 20 7b 0a ($this->started[$id]['err'])).{.
115280 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3c 62 67 3d 72 65 64 3b 66 $message..=.sprintf('%s<bg=red;f
1152a0 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 g=white>.%s.</>.',.$this->getBor
1152c0 64 65 72 28 24 69 64 29 2c 20 24 65 72 72 6f 72 50 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e der($id),.$errorPrefix);.$this->
1152e0 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 started[$id]['err'].=.true;.}..$
115300 6d 65 73 73 61 67 65 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 73 70 72 message..=.str_replace("\n",.spr
115320 69 6e 74 66 28 22 5c 6e 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c intf("\n%s<bg=red;fg=white>.%s.<
115340 2f 3e 20 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 65 72 />.",.$this->getBorder($id),.$er
115360 72 6f 72 50 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 rorPrefix),.$buffer);.}.else.{.i
115380 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 f.(isset($this->started[$id]['er
1153a0 72 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 75 6e 73 65 74 28 r'])).{.$message..=."\n";.unset(
1153c0 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 7d 0a 69 $this->started[$id]['err']);.}.i
1153e0 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f f.(!isset($this->started[$id]['o
115400 75 74 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 ut'])).{.$message..=.sprintf('%s
115420 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 <bg=green;fg=white>.%s.</>.',.$t
115440 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 3b 0a 24 his->getBorder($id),.$prefix);.$
115460 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 20 3d 20 74 72 75 65 this->started[$id]['out'].=.true
115480 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e ;.}..$message..=.str_replace("\n
1154a0 22 2c 20 73 70 72 69 6e 74 66 28 22 5c 6e 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 ",.sprintf("\n%s<bg=green;fg=whi
1154c0 74 65 3e 20 25 73 20 3c 2f 3e 20 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 te>.%s.</>.",.$this->getBorder($
1154e0 69 64 29 2c 20 24 70 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 id),.$prefix),.$buffer);.}..retu
115500 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rn.$message;.}............public
115520 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 73 .function.stop($id,.$message,.$s
115540 75 63 63 65 73 73 66 75 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 52 45 53 27 29 0a 7b 0a 24 74 uccessful,.$prefix.=.'RES').{.$t
115560 72 61 69 6c 69 6e 67 45 4f 4c 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 railingEOL.=.isset($this->starte
115580 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 d[$id]['out']).||.isset($this->s
1155a0 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 20 3f 20 22 5c 6e 22 20 3a 20 27 27 3b tarted[$id]['err']).?."\n".:.'';
1155c0 0a 0a 69 66 20 28 24 73 75 63 63 65 73 73 66 75 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 ..if.($successful).{.return.spri
1155e0 6e 74 66 28 22 25 73 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 ntf("%s%s<bg=green;fg=white>.%s.
115600 3c 2f 3e 20 3c 66 67 3d 67 72 65 65 6e 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e </>.<fg=green>%s</>\n",.$trailin
115620 67 45 4f 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 gEOL,.$this->getBorder($id),.$pr
115640 65 66 69 78 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 efix,.$message);.}..$message.=.s
115660 70 72 69 6e 74 66 28 22 25 73 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 printf("%s%s<bg=red;fg=white>.%s
115680 20 3c 2f 3e 20 3c 66 67 3d 72 65 64 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 .</>.<fg=red>%s</>\n",.$trailing
1156a0 45 4f 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 EOL,.$this->getBorder($id),.$pre
1156c0 66 69 78 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 fix,.$message);..unset($this->st
1156e0 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 2c 20 24 74 68 69 73 2d 3e 73 74 61 72 74 65 arted[$id]['out'],.$this->starte
115700 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 d[$id]['err']);..return.$message
115720 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 6f ;.}.......private.function.getBo
115740 72 64 65 72 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 62 67 3d rder($id).{.return.sprintf('<bg=
115760 25 73 3e 20 3c 2f 3e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 74 68 69 73 2d 3e 73 %s>.</>',.$this->colors[$this->s
115780 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 62 6f 72 64 65 72 27 5d 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 tarted[$id]['border']]);.}.....p
1157a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 ublic.function.getName().{.retur
1157c0 6e 20 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a n.'debug_formatter';.}.}.<?php..
1157e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
115800 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e nent\Console\Helper;..use.Symfon
115820 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 44 y\Component\Console\Descriptor\D
115840 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c escriptorInterface;.use.Symfony\
115860 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4a 73 6f Component\Console\Descriptor\Jso
115880 6e 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 nDescriptor;.use.Symfony\Compone
1158a0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4d 61 72 6b 64 6f 77 6e 44 65 nt\Console\Descriptor\MarkdownDe
1158c0 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c scriptor;.use.Symfony\Component\
1158e0 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f Console\Descriptor\TextDescripto
115900 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 r;.use.Symfony\Component\Console
115920 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 \Descriptor\XmlDescriptor;.use.S
115940 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
115960 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d OutputInterface;.use.Symfony\Com
115980 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 ponent\Console\Exception\Invalid
1159a0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 ArgumentException;.......class.D
1159c0 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b escriptorHelper.extends.Helper.{
1159e0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 ....private.$descriptors.=.array
115a00 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 ();..public.function.__construct
115a20 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 74 78 74 27 2c 20 6e 65 77 ().{.$this.->register('txt',.new
115a40 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 78 .TextDescriptor()).->register('x
115a60 6d 6c 27 2c 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 ml',.new.XmlDescriptor()).->regi
115a80 73 74 65 72 28 27 6a 73 6f 6e 27 2c 20 6e 65 77 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 28 ster('json',.new.JsonDescriptor(
115aa0 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 6d 64 27 2c 20 6e 65 77 20 4d 61 72 6b 64 6f 77 6e )).->register('md',.new.Markdown
115ac0 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Descriptor()).;.}...............
115ae0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 public.function.describe(OutputI
115b00 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 nterface.$output,.$object,.array
115b20 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 .$options.=.array()).{.$options.
115b40 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 0a 27 72 61 77 5f 74 65 78 74 27 20 =.array_merge(array(.'raw_text'.
115b60 3d 3e 20 66 61 6c 73 65 2c 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 27 74 78 74 27 2c 0a 29 2c 20 =>.false,.'format'.=>.'txt',.),.
115b80 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 $options);..if.(!isset($this->de
115ba0 73 63 72 69 70 74 6f 72 73 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 29 29 20 scriptors[$options['format']])).
115bc0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 {.throw.new.InvalidArgumentExcep
115be0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 tion(sprintf('Unsupported.format
115c00 20 22 25 73 22 2e 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 29 29 3b 0a 7d ."%s".',.$options['format']));.}
115c20 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f ..$descriptor.=.$this->descripto
115c40 72 73 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 3b 0a 24 64 65 73 63 72 69 70 rs[$options['format']];.$descrip
115c60 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 tor->describe($output,.$object,.
115c80 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $options);.}..........public.fun
115ca0 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 66 6f 72 6d 61 74 2c 20 44 65 73 63 72 69 70 74 ction.register($format,.Descript
115cc0 6f 72 49 6e 74 65 72 66 61 63 65 20 24 64 65 73 63 72 69 70 74 6f 72 29 0a 7b 0a 24 74 68 69 73 orInterface.$descriptor).{.$this
115ce0 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 5b 24 66 6f 72 6d 61 74 5d 20 3d 20 24 64 65 73 63 72 69 ->descriptors[$format].=.$descri
115d00 70 74 6f 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ptor;..return.$this;.}.....publi
115d20 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 c.function.getName().{.return.'d
115d40 65 73 63 72 69 70 74 6f 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a escriptor';.}.}.<?php...........
115d60 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
115d80 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 ole\Helper;..use.Symfony\Compone
115da0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 nt\Console\Exception\InvalidArgu
115dc0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f mentException;.use.Symfony\Compo
115de0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 nent\Console\Exception\RuntimeEx
115e00 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ception;.use.Symfony\Component\C
115e20 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 onsole\Output\ConsoleOutputInter
115e40 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
115e60 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ole\Output\OutputInterface;.use.
115e80 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 Symfony\Component\Console\Format
115ea0 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a ter\OutputFormatterStyle;.......
115ec0 0a 0a 0a 63 6c 61 73 73 20 44 69 61 6c 6f 67 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 49 6e ...class.DialogHelper.extends.In
115ee0 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 53 putAwareHelper.{.private.$inputS
115f00 74 72 65 61 6d 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b 0a 70 72 tream;.private.static.$shell;.pr
115f20 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 74 79 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ivate.static.$stty;..public.func
115f40 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 tion.__construct($triggerDepreca
115f60 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 67 67 65 72 tionError.=.true).{.if.($trigger
115f80 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 DeprecationError).{.@trigger_err
115fa0 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 or('"Symfony\Component\Console\H
115fc0 65 6c 70 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 elper\DialogHelper".is.deprecate
115fe0 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.5.and.will.be.
116000 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d removed.in.3.0..Use."Symfony\Com
116020 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 ponent\Console\Helper\QuestionHe
116040 6c 70 65 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 lper".instead.',.E_USER_DEPRECAT
116060 45 44 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ED);.}.}.................public.
116080 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 function.select(OutputInterface.
1160a0 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 $output,.$question,.$choices,.$d
1160c0 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 efault.=.null,.$attempts.=.false
1160e0 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 ,.$errorMessage.=.'Value."%s".is
116100 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 .invalid',.$multiselect.=.false)
116120 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c .{.if.($output.instanceof.Consol
116140 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f eOutputInterface).{.$output.=.$o
116160 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 77 69 64 utput->getErrorOutput();.}..$wid
116180 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 6c 65 6e 27 2c 20 61 72 72 th.=.max(array_map('strlen',.arr
1161a0 61 79 5f 6b 65 79 73 28 24 63 68 6f 69 63 65 73 29 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 ay_keys($choices)));..$messages.
1161c0 3d 20 28 61 72 72 61 79 29 20 24 71 75 65 73 74 69 6f 6e 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 =.(array).$question;.foreach.($c
1161e0 68 6f 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 hoices.as.$key.=>.$value).{.$mes
116200 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 22 20 20 5b 3c 69 6e 66 6f 3e 25 2d 7b 24 sages[].=.sprintf("..[<info>%-{$
116220 77 69 64 74 68 7d 73 3c 2f 69 6e 66 6f 3e 5d 20 25 73 22 2c 20 24 6b 65 79 2c 20 24 76 61 6c 75 width}s</info>].%s",.$key,.$valu
116240 65 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 e);.}..$output->writeln($message
116260 73 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 s);..$result.=.$this->askAndVali
116280 64 61 74 65 28 24 6f 75 74 70 75 74 2c 20 27 3e 20 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 date($output,.'>.',.function.($p
1162a0 69 63 6b 65 64 29 20 75 73 65 20 28 24 63 68 6f 69 63 65 73 2c 20 24 65 72 72 6f 72 4d 65 73 73 icked).use.($choices,.$errorMess
1162c0 61 67 65 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 24 73 65 6c 65 63 74 65 64 age,.$multiselect).{...$selected
1162e0 43 68 6f 69 63 65 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 27 2c 20 24 Choices.=.str_replace('.',.'',.$
116300 70 69 63 6b 65 64 29 3b 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 picked);..if.($multiselect).{...
116320 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d if.(!preg_match('/^[a-zA-Z0-9_-]
116340 2b 28 3f 3a 2c 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c 65 63 +(?:,[a-zA-Z0-9_-]+)*$/',.$selec
116360 74 65 64 43 68 6f 69 63 65 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e tedChoices,.$matches)).{.throw.n
116380 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
1163a0 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 70 69 63 6b 65 64 29 29 3b 0a 7d 0a ntf($errorMessage,.$picked));.}.
1163c0 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 $selectedChoices.=.explode(',',.
1163e0 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 65 6c $selectedChoices);.}.else.{.$sel
116400 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 24 70 69 63 6b 65 64 29 3b 0a 7d ectedChoices.=.array($picked);.}
116420 0a 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b ..$multiselectChoices.=.array();
116440 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 24 ..foreach.($selectedChoices.as.$
116460 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c value).{.if.(empty($choices[$val
116480 75 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ue])).{.throw.new.InvalidArgumen
1164a0 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 tException(sprintf($errorMessage
1164c0 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 ,.$value));.}.$multiselectChoice
1164e0 73 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 s[].=.$value;.}..if.($multiselec
116500 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b t).{.return.$multiselectChoices;
116520 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 69 63 6b 65 64 3b 0a 7d 2c 20 24 61 74 74 65 6d 70 74 73 .}..return.$picked;.},.$attempts
116540 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a ,.$default);..return.$result;.}.
116560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b .............public.function.ask
116580 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 (OutputInterface.$output,.$quest
1165a0 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 ion,.$default.=.null,.array.$aut
1165c0 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 ocomplete.=.null).{.if.($this->i
1165e0 6e 70 75 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 nput.&&.!$this->input->isInterac
116600 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 tive()).{.return.$default;.}..if
116620 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 .($output.instanceof.ConsoleOutp
116640 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 utInterface).{.$output.=.$output
116660 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e ->getErrorOutput();.}..$output->
116680 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 write($question);..$inputStream.
1166a0 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 3b 0a 0a =.$this->inputStream.?:.STDIN;..
1166c0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 if.(null.===.$autocomplete.||.!$
1166e0 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 this->hasSttyAvailable()).{.$ret
116700 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 .=.fgets($inputStream,.4096);.if
116720 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 .(false.===.$ret).{.throw.new.Ru
116740 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 ntimeException('Aborted');.}.$re
116760 74 20 3d 20 74 72 69 6d 28 24 72 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 t.=.trim($ret);.}.else.{.$ret.=.
116780 27 27 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 '';..$i.=.0;.$ofs.=.-1;.$matches
1167a0 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 .=.$autocomplete;.$numMatches.=.
1167c0 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 count($matches);..$sttyMode.=.sh
1167e0 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 ell_exec('stty.-g');....shell_ex
116800 65 63 28 27 73 74 74 79 20 2d 69 63 61 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a 0a 0a 20 24 6f 75 ec('stty.-icanon.-echo');....$ou
116820 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 27 tput->getFormatter()->setStyle('
116840 68 6c 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 hl',.new.OutputFormatterStyle('b
116860 6c 61 63 6b 27 2c 20 27 77 68 69 74 65 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 21 66 65 6f lack',.'white'));....while.(!feo
116880 66 28 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 65 61 64 28 24 69 f($inputStream)).{.$c.=.fread($i
1168a0 6e 70 75 74 53 74 72 65 61 6d 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d nputStream,.1);....if.("\177".==
1168c0 3d 20 24 63 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 26 26 =.$c).{.if.(0.===.$numMatches.&&
1168e0 20 30 20 21 3d 3d 20 24 69 29 20 7b 0a 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 .0.!==.$i).{.--$i;...$output->wr
116900 69 74 65 28 22 5c 30 33 33 5b 31 44 22 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 ite("\033[1D");.}..if.(0.===.$i)
116920 20 7b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f .{.$ofs.=.-1;.$matches.=.$autoco
116940 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 mplete;.$numMatches.=.count($mat
116960 63 68 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b ches);.}.else.{.$numMatches.=.0;
116980 0a 7d 0a 0a 0a 20 24 72 65 74 20 3d 20 73 75 62 73 74 72 28 24 72 65 74 2c 20 30 2c 20 24 69 29 .}....$ret.=.substr($ret,.0,.$i)
1169a0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 0a 20 24 ;.}.elseif.("\033".===.$c).{...$
1169c0 63 20 2e 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 32 29 3b 0a 0a 0a 20 c..=.fread($inputStream,.2);....
1169e0 69 66 20 28 69 73 73 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b if.(isset($c[2]).&&.('A'.===.$c[
116a00 32 5d 20 7c 7c 20 27 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 66 20 28 27 41 27 20 2].||.'B'.===.$c[2])).{.if.('A'.
116a20 3d 3d 3d 20 24 63 5b 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 ===.$c[2].&&.-1.===.$ofs).{.$ofs
116a40 20 3d 20 30 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 .=.0;.}..if.(0.===.$numMatches).
116a60 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 {.continue;.}..$ofs.+=.('A'.===.
116a80 24 63 5b 32 5d 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 $c[2]).?.-1.:.1;.$ofs.=.($numMat
116aa0 63 68 65 73 20 2b 20 24 6f 66 73 29 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 ches.+.$ofs).%.$numMatches;.}.}.
116ac0 65 6c 73 65 69 66 20 28 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 22 elseif.(ord($c).<.32).{.if.("\t"
116ae0 20 3d 3d 3d 20 24 63 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 6e .===.$c.||."\n".===.$c).{.if.($n
116b00 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a umMatches.>.0.&&.-1.!==.$ofs).{.
116b20 24 72 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 74 $ret.=.$matches[$ofs];...$output
116b40 2d 3e 77 72 69 74 65 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d 20 ->write(substr($ret,.$i));.$i.=.
116b60 73 74 72 6c 65 6e 28 24 72 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 24 63 strlen($ret);.}..if.("\n".===.$c
116b80 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d ).{.$output->write($c);.break;.}
116ba0 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a ..$numMatches.=.0;.}..continue;.
116bc0 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 72 65 }.else.{.$output->write($c);.$re
116be0 74 20 2e 3d 20 24 63 3b 0a 2b 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b t..=.$c;.++$i;..$numMatches.=.0;
116c00 0a 24 6f 66 73 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 6f 6d 70 6c 65 .$ofs.=.0;..foreach.($autocomple
116c20 74 65 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 te.as.$value).{...if.(0.===.strp
116c40 6f 73 28 24 76 61 6c 75 65 2c 20 24 72 65 74 29 20 26 26 20 24 69 20 21 3d 3d 20 73 74 72 6c 65 os($value,.$ret).&&.$i.!==.strle
116c60 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 75 6d 4d 61 74 63 68 65 n($value)).{.$matches[$numMatche
116c80 73 2b 2b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 2d s++].=.$value;.}.}.}....$output-
116ca0 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 >write("\033[K");..if.($numMatch
116cc0 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 0a 20 24 6f 75 74 70 es.>.0.&&.-1.!==.$ofs).{...$outp
116ce0 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 22 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 ut->write("\0337");...$output->w
116d00 72 69 74 65 28 27 3c 68 6c 3e 27 2e 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 rite('<hl>'.substr($matches[$ofs
116d20 5d 2c 20 24 69 29 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 ],.$i).'</hl>');...$output->writ
116d40 65 28 22 5c 30 33 33 38 22 29 3b 0a 7d 0a 7d 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 e("\0338");.}.}....shell_exec(sp
116d60 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 7d 0a rintf('stty.%s',.$sttyMode));.}.
116d80 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 20 3f 20 24 72 65 74 20 .return.strlen($ret).>.0.?.$ret.
116da0 3a 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 :.$default;.}.............public
116dc0 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 4f 75 74 70 75 74 .function.askConfirmation(Output
116de0 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 Interface.$output,.$question,.$d
116e00 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 61 6e 73 77 65 72 20 3d 20 27 7a 27 3b 0a efault.=.true).{.$answer.=.'z';.
116e20 77 68 69 6c 65 20 28 24 61 6e 73 77 65 72 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 73 74 72 74 while.($answer.&&.!in_array(strt
116e40 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 2c 20 61 72 72 61 79 28 27 79 27 2c 20 27 olower($answer[0]),.array('y',.'
116e60 6e 27 29 29 29 20 7b 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 n'))).{.$answer.=.$this->ask($ou
116e80 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d tput,.$question);.}..if.(false.=
116ea0 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 ==.$default).{.return.$answer.&&
116ec0 20 27 79 27 20 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a .'y'.==.strtolower($answer[0]);.
116ee0 7d 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 65 72 20 7c 7c 20 27 79 27 20 3d 3d 20 73 74 72 }..return.!$answer.||.'y'.==.str
116f00 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tolower($answer[0]);.}..........
116f20 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 52 65 73 70 ...public.function.askHiddenResp
116f40 6f 6e 73 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 onse(OutputInterface.$output,.$q
116f60 75 65 73 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 uestion,.$fallback.=.true).{.if.
116f80 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 ($output.instanceof.ConsoleOutpu
116fa0 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d tInterface).{.$output.=.$output-
116fc0 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d >getErrorOutput();.}..if.('\\'.=
116fe0 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 78 65 20 3d ==.DIRECTORY_SEPARATOR).{.$exe.=
117000 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 64 .__DIR__.'/../Resources/bin/hidd
117020 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d eninput.exe';....if.('phar:'.===
117040 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 74 6d 70 45 .substr(__FILE__,.0,.5)).{.$tmpE
117060 78 65 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 68 69 64 64 65 6e xe.=.sys_get_temp_dir().'/hidden
117080 69 6e 70 75 74 2e 65 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d 70 45 78 65 29 3b input.exe';.copy($exe,.$tmpExe);
1170a0 0a 24 65 78 65 20 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 .$exe.=.$tmpExe;.}..$output->wri
1170c0 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 te($question);.$value.=.rtrim(sh
1170e0 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c ell_exec($exe));.$output->writel
117100 6e 28 27 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 29 20 7b 0a 75 6e n('');..if.(isset($tmpExe)).{.un
117120 6c 69 6e 6b 28 24 74 6d 70 45 78 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b link($tmpExe);.}..return.$value;
117140 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 .}..if.($this->hasSttyAvailable(
117160 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a )).{.$output->write($question);.
117180 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 .$sttyMode.=.shell_exec('stty.-g
1171a0 27 29 3b 0a 0a 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 65 63 68 6f 27 29 3b 0a 24 ');..shell_exec('stty.-echo');.$
1171c0 76 61 6c 75 65 20 3d 20 66 67 65 74 73 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d value.=.fgets($this->inputStream
1171e0 20 3f 3a 20 53 54 44 49 4e 2c 20 34 30 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 .?:.STDIN,.4096);.shell_exec(spr
117200 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 69 66 intf('stty.%s',.$sttyMode));..if
117220 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 .(false.===.$value).{.throw.new.
117240 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 0a RuntimeException('Aborted');.}..
117260 24 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 74 70 75 74 2d 3e $value.=.trim($value);.$output->
117280 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a writeln('');..return.$value;.}..
1172a0 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 if.(false.!==.$shell.=.$this->ge
1172c0 74 53 68 65 6c 6c 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 tShell()).{.$output->write($ques
1172e0 74 69 6f 6e 29 3b 0a 24 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 20 3d 3d 3d 20 24 73 68 65 tion);.$readCmd.=.'csh'.===.$she
117300 6c 6c 20 3f 20 27 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 ll.?.'set.mypassword.=.$<'.:.'re
117320 61 64 20 2d 72 20 6d 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 ad.-r.mypassword';.$command.=.sp
117340 72 69 6e 74 66 28 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 73 74 74 79 20 rintf("/usr/bin/env.%s.-c.'stty.
117360 2d 65 63 68 6f 3b 20 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 20 5c 24 6d 79 70 -echo;.%s;.stty.echo;.echo.\$myp
117380 61 73 73 77 6f 72 64 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d 64 29 3b 0a 24 76 assword'",.$shell,.$readCmd);.$v
1173a0 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 6f 6d 6d 61 6e 64 alue.=.rtrim(shell_exec($command
1173c0 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 ));.$output->writeln('');..retur
1173e0 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 66 61 6c 6c 62 61 63 6b 29 20 7b 0a 72 65 n.$value;.}..if.($fallback).{.re
117400 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 turn.$this->ask($output,.$questi
117420 6f 6e 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 on);.}..throw.new.RuntimeExcepti
117440 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 70 6f 6e 73 65 27 on('Unable.to.hide.the.response'
117460 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 );.}....................public.f
117480 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 4f 75 74 70 75 74 49 6e 74 unction.askAndValidate(OutputInt
1174a0 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 erface.$output,.$question,.$vali
1174c0 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 64 65 66 61 75 dator,.$attempts.=.false,.$defau
1174e0 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d lt.=.null,.array.$autocomplete.=
117500 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 .null).{.$that.=.$this;..$interv
117520 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 iewer.=.function.().use.($output
117540 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 75 74 6f 63 6f 6d 70 ,.$question,.$default,.$autocomp
117560 6c 65 74 65 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e 61 73 6b lete,.$that).{.return.$that->ask
117580 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 ($output,.$question,.$default,.$
1175a0 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d autocomplete);.};..return.$this-
1175c0 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 >validateAttempts($interviewer,.
1175e0 24 6f 75 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 3b $output,.$validator,.$attempts);
117600 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .}....................public.fun
117620 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 41 6e 64 56 61 6c 69 64 61 ction.askHiddenResponseAndValida
117640 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 te(OutputInterface.$output,.$que
117660 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 stion,.$validator,.$attempts.=.f
117680 61 6c 73 65 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 61 74 20 alse,.$fallback.=.true).{.$that.
1176a0 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f =.$this;..$interviewer.=.functio
1176c0 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 n.().use.($output,.$question,.$f
1176e0 61 6c 6c 62 61 63 6b 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e allback,.$that).{.return.$that->
117700 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 askHiddenResponse($output,.$ques
117720 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 6b 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 tion,.$fallback);.};..return.$th
117740 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 is->validateAttempts($interviewe
117760 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 r,.$output,.$validator,.$attempt
117780 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 s);.}.........public.function.se
1177a0 74 49 6e 70 75 74 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 tInputStream($stream).{.$this->i
1177c0 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 nputStream.=.$stream;.}.......pu
1177e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 0a 7b blic.function.getInputStream().{
117800 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 7d 0a 0a 0a .return.$this->inputStream;.}...
117820 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 ..public.function.getName().{.re
117840 74 75 72 6e 20 27 64 69 61 6c 6f 67 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 turn.'dialog';.}.......private.f
117860 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d unction.getShell().{.if.(null.!=
117880 3d 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 =.self::$shell).{.return.self::$
1178a0 73 68 65 6c 6c 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 61 6c 73 65 3b 0a shell;.}..self::$shell.=.false;.
1178c0 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 27 29 .if.(file_exists('/usr/bin/env')
1178e0 29 20 7b 0a 0a 20 24 74 65 73 74 20 3d 20 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d ).{...$test.=."/usr/bin/env.%s.-
117900 63 20 27 65 63 68 6f 20 4f 4b 27 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 22 3b 0a 66 6f 72 65 61 c.'echo.OK'.2>./dev/null";.forea
117920 63 68 20 28 61 72 72 61 79 28 27 62 61 73 68 27 2c 20 27 7a 73 68 27 2c 20 27 6b 73 68 27 2c 20 ch.(array('bash',.'zsh',.'ksh',.
117940 27 63 73 68 27 29 20 61 73 20 24 73 68 29 20 7b 0a 69 66 20 28 27 4f 4b 27 20 3d 3d 3d 20 72 74 'csh').as.$sh).{.if.('OK'.===.rt
117960 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 24 74 65 73 74 2c 20 24 73 rim(shell_exec(sprintf($test,.$s
117980 68 29 29 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a 62 72 65 61 h)))).{.self::$shell.=.$sh;.brea
1179a0 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d k;.}.}.}..return.self::$shell;.}
1179c0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 74 79 41 76 61 69 6c 61 ..private.function.hasSttyAvaila
1179e0 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 74 74 79 ble().{.if.(null.!==.self::$stty
117a00 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b 0a 7d 0a 0a 65 78 65 63 28 ).{.return.self::$stty;.}..exec(
117a20 27 73 74 74 79 20 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 63 6f 64 65 29 'stty.2>&1',.$output,.$exitcode)
117a40 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d 20 30 20 3d 3d 3d 20 24 65 ;..return.self::$stty.=.0.===.$e
117a60 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 xitcode;.}..............private.
117a80 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 function.validateAttempts($inter
117aa0 76 69 65 77 65 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c viewer,.OutputInterface.$output,
117ac0 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 0a 7b 0a 69 66 20 28 24 6f .$validator,.$attempts).{.if.($o
117ae0 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e utput.instanceof.ConsoleOutputIn
117b00 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 terface).{.$output.=.$output->ge
117b20 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 77 68 tErrorOutput();.}..$e.=.null;.wh
117b40 69 6c 65 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 7c 7c 20 24 61 74 74 ile.(false.===.$attempts.||.$att
117b60 65 6d 70 74 73 2d 2d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 24 6f empts--).{.if.(null.!==.$e).{.$o
117b80 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 utput->writeln($this->getHelperS
117ba0 65 74 28 29 2d 3e 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c et()->get('formatter')->formatBl
117bc0 6f 63 6b 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 29 3b ock($e->getMessage(),.'error'));
117be0 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 .}..try.{.return.call_user_func(
117c00 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 69 6e 74 65 72 76 69 65 77 65 72 28 29 29 3b 0a 7d 20 63 $validator,.$interviewer());.}.c
117c20 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 74 68 72 6f atch.(\Exception.$e).{.}.}..thro
117c40 77 20 24 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 w.$e;.}.}.<?php...........namesp
117c60 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 ace.Symfony\Component\Console\He
117c80 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e lper;..use.Symfony\Component\Con
117ca0 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a sole\Formatter\OutputFormatter;.
117cc0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 20 65 78 74 65 ......class.FormatterHelper.exte
117ce0 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e nds.Helper.{..........public.fun
117d00 63 74 69 6f 6e 20 66 6f 72 6d 61 74 53 65 63 74 69 6f 6e 28 24 73 65 63 74 69 6f 6e 2c 20 24 6d ction.formatSection($section,.$m
117d20 65 73 73 61 67 65 2c 20 24 73 74 79 6c 65 20 3d 20 27 69 6e 66 6f 27 29 0a 7b 0a 72 65 74 75 72 essage,.$style.=.'info').{.retur
117d40 6e 20 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 5b 25 73 5d 3c 2f 25 73 3e 20 25 73 27 2c 20 24 73 n.sprintf('<%s>[%s]</%s>.%s',.$s
117d60 74 79 6c 65 2c 20 24 73 65 63 74 69 6f 6e 2c 20 24 73 74 79 6c 65 2c 20 24 6d 65 73 73 61 67 65 tyle,.$section,.$style,.$message
117d80 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 );.}...........public.function.f
117da0 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 73 74 79 6c 65 2c 20 24 6c ormatBlock($messages,.$style,.$l
117dc0 61 72 67 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6d arge.=.false).{.if.(!is_array($m
117de0 65 73 73 61 67 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 6d essages)).{.$messages.=.array($m
117e00 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 6c 69 6e 65 73 20 3d 20 essages);.}..$len.=.0;.$lines.=.
117e20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 array();.foreach.($messages.as.$
117e40 6d 65 73 73 61 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d message).{.$message.=.OutputForm
117e60 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 24 6c 69 6e 65 73 5b atter::escape($message);.$lines[
117e80 5d 20 3d 20 73 70 72 69 6e 74 66 28 24 6c 61 72 67 65 20 3f 20 27 20 20 25 73 20 20 27 20 3a 20 ].=.sprintf($large.?.'..%s..'.:.
117ea0 27 20 25 73 20 27 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 24 6c 65 6e 20 3d 20 6d 61 78 28 24 74 '.%s.',.$message);.$len.=.max($t
117ec0 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 20 2b 20 28 24 6c 61 72 67 65 20 his->strlen($message).+.($large.
117ee0 3f 20 34 20 3a 20 32 29 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 ?.4.:.2),.$len);.}..$messages.=.
117f00 24 6c 61 72 67 65 20 3f 20 61 72 72 61 79 28 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 $large.?.array(str_repeat('.',.$
117f20 6c 65 6e 29 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 len)).:.array();.for.($i.=.0;.is
117f40 73 65 74 28 24 6c 69 6e 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 24 6d 65 73 73 61 67 set($lines[$i]);.++$i).{.$messag
117f60 65 73 5b 5d 20 3d 20 24 6c 69 6e 65 73 5b 24 69 5d 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 es[].=.$lines[$i].str_repeat('.'
117f80 2c 20 24 6c 65 6e 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6c 69 6e 65 73 5b 24 69 ,.$len.-.$this->strlen($lines[$i
117fa0 5d 29 29 3b 0a 7d 0a 69 66 20 28 24 6c 61 72 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d ]));.}.if.($large).{.$messages[]
117fc0 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 66 6f 72 .=.str_repeat('.',.$len);.}..for
117fe0 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 29 3b 20 .($i.=.0;.isset($messages[$i]);.
118000 2b 2b 24 69 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 20 3d 20 73 70 72 69 6e 74 66 28 ++$i).{.$messages[$i].=.sprintf(
118020 27 3c 25 73 3e 25 73 3c 2f 25 73 3e 27 2c 20 24 73 74 79 6c 65 2c 20 24 6d 65 73 73 61 67 65 73 '<%s>%s</%s>',.$style,.$messages
118040 5b 24 69 5d 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 [$i],.$style);.}..return.implode
118060 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ("\n",.$messages);.}.....public.
118080 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 66 6f 72 function.getName().{.return.'for
1180a0 6d 61 74 74 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d matter';.}.}.<?php...........nam
1180c0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 espace.Symfony\Component\Console
1180e0 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c \Helper;..use.Symfony\Component\
118100 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 Console\Formatter\OutputFormatte
118120 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 rInterface;.......abstract.class
118140 20 48 65 6c 70 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 .Helper.implements.HelperInterfa
118160 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c ce.{.protected.$helperSet.=.null
118180 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 ;.....public.function.setHelperS
1181a0 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 0a et(HelperSet.$helperSet.=.null).
1181c0 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b {.$this->helperSet.=.$helperSet;
1181e0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 .}.....public.function.getHelper
118200 53 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b Set().{.return.$this->helperSet;
118220 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .}.........public.static.functio
118240 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d n.strlen($string).{.if.(false.==
118260 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 =.$encoding.=.mb_detect_encoding
118280 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 ($string,.null,.true)).{.return.
1182a0 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 strlen($string);.}..return.mb_st
1182c0 72 77 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 rwidth($string,.$encoding);.}..p
1182e0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 54 69 6d 65 ublic.static.function.formatTime
118300 28 24 73 65 63 73 29 0a 7b 0a 73 74 61 74 69 63 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 3d 20 ($secs).{.static.$timeFormats.=.
118320 61 72 72 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3c 20 31 20 73 65 63 27 29 2c 0a 61 72 72 61 array(.array(0,.'<.1.sec'),.arra
118340 79 28 31 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 32 2c 20 27 73 65 63 73 27 2c 20 y(1,.'1.sec'),.array(2,.'secs',.
118360 31 29 2c 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c 0a 61 72 72 61 79 28 31 32 1),.array(60,.'1.min'),.array(12
118380 30 2c 20 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 33 36 30 30 2c 20 27 31 20 68 0,.'mins',.60),.array(3600,.'1.h
1183a0 72 27 29 2c 0a 61 72 72 61 79 28 37 32 30 30 2c 20 27 68 72 73 27 2c 20 33 36 30 30 29 2c 0a 61 r'),.array(7200,.'hrs',.3600),.a
1183c0 72 72 61 79 28 38 36 34 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 72 72 61 79 28 31 37 32 38 rray(86400,.'1.day'),.array(1728
1183e0 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 00,.'days',.86400),.);..foreach.
118400 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 66 6f 72 6d ($timeFormats.as.$index.=>.$form
118420 61 74 29 20 7b 0a 69 66 20 28 24 73 65 63 73 20 3e 3d 20 24 66 6f 72 6d 61 74 5b 30 5d 29 20 7b at).{.if.($secs.>=.$format[0]).{
118440 0a 69 66 20 28 28 69 73 73 65 74 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 5b 24 69 6e 64 65 78 20 .if.((isset($timeFormats[$index.
118460 2b 20 31 5d 29 20 26 26 20 24 73 65 63 73 20 3c 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 5b 24 69 +.1]).&&.$secs.<.$timeFormats[$i
118480 6e 64 65 78 20 2b 20 31 5d 5b 30 5d 29 0a 7c 7c 20 24 69 6e 64 65 78 20 3d 3d 20 63 6f 75 6e 74 ndex.+.1][0]).||.$index.==.count
1184a0 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 29 20 2d 20 31 0a 29 20 7b 0a 69 66 20 28 32 20 3d 3d 20 ($timeFormats).-.1.).{.if.(2.==.
1184c0 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 6f 72 6d 61 74 count($format)).{.return.$format
1184e0 5b 31 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 73 65 63 73 20 2f 20 24 66 6f [1];.}..return.floor($secs./.$fo
118500 72 6d 61 74 5b 32 5d 29 2e 27 20 27 2e 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d rmat[2]).'.'.$format[1];.}.}.}.}
118520 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 4d ..public.static.function.formatM
118540 65 6d 6f 72 79 28 24 6d 65 6d 6f 72 79 29 0a 7b 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 emory($memory).{.if.($memory.>=.
118560 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 1024.*.1024.*.1024).{.return.spr
118580 69 6e 74 66 28 27 25 2e 31 66 20 47 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 30 32 34 20 intf('%.1f.GiB',.$memory./.1024.
1185a0 2f 20 31 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e /.1024./.1024);.}..if.($memory.>
1185c0 3d 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 =.1024.*.1024).{.return.sprintf(
1185e0 27 25 2e 31 66 20 4d 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 30 32 34 20 2f 20 31 30 32 '%.1f.MiB',.$memory./.1024./.102
118600 34 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 30 32 34 29 20 7b 0a 72 65 4);.}..if.($memory.>=.1024).{.re
118620 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 4b 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f turn.sprintf('%d.KiB',.$memory./
118640 20 31 30 32 34 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 42 27 .1024);.}..return.sprintf('%d.B'
118660 2c 20 24 6d 65 6d 6f 72 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e ,.$memory);.}..public.static.fun
118680 63 74 69 6f 6e 20 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 4f 75 ction.strlenWithoutDecoration(Ou
1186a0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 tputFormatterInterface.$formatte
1186c0 72 2c 20 24 73 74 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 73 74 72 6c 65 r,.$string).{.return.self::strle
1186e0 6e 28 73 65 6c 66 3a 3a 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 24 66 6f 72 6d 61 74 n(self::removeDecoration($format
118700 74 65 72 2c 20 24 73 74 72 69 6e 67 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 ter,.$string));.}..public.static
118720 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 4f 75 74 70 75 .function.removeDecoration(Outpu
118740 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 2c 20 tFormatterInterface.$formatter,.
118760 24 73 74 72 69 6e 67 29 0a 7b 0a 24 69 73 44 65 63 6f 72 61 74 65 64 20 3d 20 24 66 6f 72 6d 61 $string).{.$isDecorated.=.$forma
118780 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 2d tter->isDecorated();.$formatter-
1187a0 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b 0a 0a 20 24 73 74 72 69 6e 67 20 >setDecorated(false);...$string.
1187c0 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 73 74 72 69 6e 67 29 3b 0a 0a =.$formatter->format($string);..
1187e0 20 24 73 74 72 69 6e 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 22 2f 5c 30 33 33 5c 5b .$string.=.preg_replace("/\033\[
118800 5b 5e 6d 5d 2a 6d 2f 22 2c 20 27 27 2c 20 24 73 74 72 69 6e 67 29 3b 0a 24 66 6f 72 6d 61 74 74 [^m]*m/",.'',.$string);.$formatt
118820 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 69 73 44 65 63 6f 72 61 74 65 64 29 3b 0a er->setDecorated($isDecorated);.
118840 0a 72 65 74 75 72 6e 20 24 73 74 72 69 6e 67 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .return.$string;.}.}.<?php......
118860 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
118880 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 \Console\Helper;.......interface
1188a0 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .HelperInterface.{....public.fun
1188c0 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 ction.setHelperSet(HelperSet.$he
1188e0 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 lperSet.=.null);.......public.fu
118900 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 nction.getHelperSet();.......pub
118920 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a lic.function.getName();.}.<?php.
118940 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
118960 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f onent\Console\Helper;..use.Symfo
118980 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d ny\Component\Console\Command\Com
1189a0 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 mand;.use.Symfony\Component\Cons
1189c0 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
1189e0 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 65 6c 70 65 72 53 65 74 20 69 6d eption;.......class.HelperSet.im
118a00 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 0a 7b 0a 0a 0a plements.\IteratorAggregate.{...
118a20 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 .private.$helpers.=.array();.pri
118a40 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 vate.$command;.....public.functi
118a60 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 68 65 6c 70 65 72 73 20 3d 20 on.__construct(array.$helpers.=.
118a80 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 6c 70 65 72 73 20 61 73 20 array()).{.foreach.($helpers.as.
118aa0 24 61 6c 69 61 73 20 3d 3e 20 24 68 65 6c 70 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 28 $alias.=>.$helper).{.$this->set(
118ac0 24 68 65 6c 70 65 72 2c 20 69 73 5f 69 6e 74 28 24 61 6c 69 61 73 29 20 3f 20 6e 75 6c 6c 20 3a $helper,.is_int($alias).?.null.:
118ae0 20 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$alias);.}.}........public.func
118b00 74 69 6f 6e 20 73 65 74 28 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 20 24 68 65 6c 70 65 72 tion.set(HelperInterface.$helper
118b20 2c 20 24 61 6c 69 61 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 ,.$alias.=.null).{.$this->helper
118b40 73 5b 24 68 65 6c 70 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 68 65 6c 70 65 72 3b s[$helper->getName()].=.$helper;
118b60 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 68 .if.(null.!==.$alias).{.$this->h
118b80 65 6c 70 65 72 73 5b 24 61 6c 69 61 73 5d 20 3d 20 24 68 65 6c 70 65 72 3b 0a 7d 0a 0a 24 68 65 elpers[$alias].=.$helper;.}..$he
118ba0 6c 70 65 72 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a lper->setHelperSet($this);.}....
118bc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a .....public.function.has($name).
118be0 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e {.return.isset($this->helpers[$n
118c00 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ame]);.}...........public.functi
118c20 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 28 on.get($name).{.if.(!$this->has(
118c40 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d $name)).{.throw.new.InvalidArgum
118c60 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 68 65 6c 70 65 72 entException(sprintf('The.helper
118c80 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b ."%s".is.not.defined.',.$name));
118ca0 0a 7d 0a 0a 69 66 20 28 27 64 69 61 6c 6f 67 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 24 74 .}..if.('dialog'.===.$name.&&.$t
118cc0 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 his->helpers[$name].instanceof.D
118ce0 69 61 6c 6f 67 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 22 ialogHelper).{.@trigger_error('"
118d00 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
118d20 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e \DialogHelper".is.deprecated.sin
118d40 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 ce.Symfony.2.5.and.will.be.remov
118d60 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ed.in.3.0..Use."Symfony\Componen
118d80 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 22 t\Console\Helper\QuestionHelper"
118da0 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a .instead.',.E_USER_DEPRECATED);.
118dc0 7d 20 65 6c 73 65 69 66 20 28 27 70 72 6f 67 72 65 73 73 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 }.elseif.('progress'.===.$name.&
118de0 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e 63 65 &.$this->helpers[$name].instance
118e00 6f 66 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 of.ProgressHelper).{.@trigger_er
118e20 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ror('"Symfony\Component\Console\
118e40 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 Helper\ProgressHelper".is.deprec
118e60 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.5.and.will.
118e80 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c be.removed.in.3.0..Use."Symfony\
118ea0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 Component\Console\Helper\Progres
118ec0 73 42 61 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 sBar".instead.',.E_USER_DEPRECAT
118ee0 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 74 61 62 6c 65 27 20 3d 3d 3d 20 24 6e 61 6d 65 ED);.}.elseif.('table'.===.$name
118f00 20 26 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 69 6e 73 74 61 6e .&&.$this->helpers[$name].instan
118f20 63 65 6f 66 20 54 61 62 6c 65 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 ceof.TableHelper).{.@trigger_err
118f40 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 or('"Symfony\Component\Console\H
118f60 65 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 elper\TableHelper".is.deprecated
118f80 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 .since.Symfony.2.5.and.will.be.r
118fa0 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 emoved.in.3.0..Use."Symfony\Comp
118fc0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 22 20 69 6e 73 74 onent\Console\Helper\Table".inst
118fe0 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 72 65 ead.',.E_USER_DEPRECATED);.}..re
119000 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 70 turn.$this->helpers[$name];.}..p
119020 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e ublic.function.setCommand(Comman
119040 64 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d d.$command.=.null).{.$this->comm
119060 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 and.=.$command;.}.......public.f
119080 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 unction.getCommand().{.return.$t
1190a0 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->command;.}.....public.funct
1190c0 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c ion.getIterator().{.return.new.\
1190e0 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 29 3b 0a 7d ArrayIterator($this->helpers);.}
119100 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
119120 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a fony\Component\Console\Helper;..
119140 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
119160 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
119180 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 77 61 Component\Console\Input\InputAwa
1191a0 72 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 reInterface;.......abstract.clas
1191c0 73 20 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 s.InputAwareHelper.extends.Helpe
1191e0 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 r.implements.InputAwareInterface
119200 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .{.protected.$input;.....public.
119220 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 function.setInput(InputInterface
119240 20 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 .$input).{.$this->input.=.$input
119260 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
119280 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
1192a0 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
1192c0 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a \Output\ConsoleOutputInterface;.
1192e0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
119300 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tput\OutputInterface;.use.Symfon
119320 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 50 72 y\Component\Process\Exception\Pr
119340 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ocessFailedException;.use.Symfon
119360 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 75 73 65 y\Component\Process\Process;.use
119380 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 .Symfony\Component\Process\Proce
1193a0 73 73 42 75 69 6c 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 48 65 ssBuilder;.......class.ProcessHe
1193c0 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a lper.extends.Helper.{...........
1193e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 4f 75 74 70 75 74 49 6e 74 65 ..public.function.run(OutputInte
119400 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 rface.$output,.$cmd,.$error.=.nu
119420 6c 6c 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 ll,.$callback.=.null,.$verbosity
119440 20 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 .=.OutputInterface::VERBOSITY_VE
119460 52 59 5f 56 45 52 42 4f 53 45 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e RY_VERBOSE).{.if.($output.instan
119480 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 ceof.ConsoleOutputInterface).{.$
1194a0 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 output.=.$output->getErrorOutput
1194c0 28 29 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 ();.}..$formatter.=.$this->getHe
1194e0 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 lperSet()->get('debug_formatter'
119500 29 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 63 6d 64 29 29 20 7b 0a 24 70 72 6f 63 65 );..if.(is_array($cmd)).{.$proce
119520 73 73 20 3d 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3a 3a 63 72 65 61 74 65 28 24 63 6d 64 ss.=.ProcessBuilder::create($cmd
119540 29 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 6d 64 20 )->getProcess();.}.elseif.($cmd.
119560 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 63 65 73 73 29 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d instanceof.Process).{.$process.=
119580 20 24 63 6d 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 .$cmd;.}.else.{.$process.=.new.P
1195a0 72 6f 63 65 73 73 28 24 63 6d 64 29 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 rocess($cmd);.}..if.($verbosity.
1195c0 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f <=.$output->getVerbosity()).{.$o
1195e0 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 74 61 72 74 28 73 utput->write($formatter->start(s
119600 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f 63 65 73 73 29 2c 20 24 74 68 69 73 2d pl_object_hash($process),.$this-
119620 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 >escapeString($process->getComma
119640 6e 64 4c 69 6e 65 28 29 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 69 73 44 ndLine())));.}..if.($output->isD
119660 65 62 75 67 28 29 29 20 7b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 77 72 61 ebug()).{.$callback.=.$this->wra
119680 70 43 61 6c 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 pCallback($output,.$process,.$ca
1196a0 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 llback);.}..$process->run($callb
1196c0 61 63 6b 29 3b 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 24 6f 75 74 70 75 74 ack);..if.($verbosity.<=.$output
1196e0 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 ->getVerbosity()).{.$message.=.$
119700 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 20 3f 20 27 43 6f 6d 6d 61 process->isSuccessful().?.'Comma
119720 6e 64 20 72 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 27 20 3a 20 73 70 72 69 6e 74 66 28 27 nd.ran.successfully'.:.sprintf('
119740 25 73 20 43 6f 6d 6d 61 6e 64 20 64 69 64 20 6e 6f 74 20 72 75 6e 20 73 75 63 63 65 73 73 66 75 %s.Command.did.not.run.successfu
119760 6c 6c 79 27 2c 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 29 3b 0a lly',.$process->getExitCode());.
119780 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 74 6f 70 28 $output->write($formatter->stop(
1197a0 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f 63 65 73 73 29 2c 20 24 6d 65 73 73 spl_object_hash($process),.$mess
1197c0 61 67 65 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 29 3b age,.$process->isSuccessful()));
1197e0 0a 7d 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 .}..if.(!$process->isSuccessful(
119800 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 6f 75 74 70 75 74 2d ).&&.null.!==.$error).{.$output-
119820 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 3c 2f 65 72 72 >writeln(sprintf('<error>%s</err
119840 6f 72 3e 27 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 65 72 72 6f 72 or>',.$this->escapeString($error
119860 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a )));.}..return.$process;.}......
119880 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 75 ..............public.function.mu
1198a0 73 74 52 75 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 stRun(OutputInterface.$output,.$
1198c0 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 cmd,.$error.=.null,.$callback.=.
1198e0 6e 75 6c 6c 29 0a 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6e 28 24 6f null).{.$process.=.$this->run($o
119900 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 2c 20 24 63 61 6c 6c 62 61 63 6b 29 3b utput,.$cmd,.$error,.$callback);
119920 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 ..if.(!$process->isSuccessful())
119940 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 .{.throw.new.ProcessFailedExcept
119960 69 6f 6e 28 24 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 ion($process);.}..return.$proces
119980 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 s;.}...........public.function.w
1199a0 72 61 70 43 61 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 rapCallback(OutputInterface.$out
1199c0 70 75 74 2c 20 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b put,.Process.$process,.$callback
1199e0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f .=.null).{.if.($output.instanceo
119a00 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 f.ConsoleOutputInterface).{.$out
119a20 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b put.=.$output->getErrorOutput();
119a40 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 .}..$formatter.=.$this->getHelpe
119a60 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 29 3b 0a rSet()->get('debug_formatter');.
119a80 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e .$that.=.$this;..return.function
119aa0 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 .($type,.$buffer).use.($output,.
119ac0 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 66 6f 72 6d 61 74 74 65 72 2c $process,.$callback,.$formatter,
119ae0 20 24 74 68 61 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 .$that).{.$output->write($format
119b00 74 65 72 2d 3e 70 72 6f 67 72 65 73 73 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 ter->progress(spl_object_hash($p
119b20 72 6f 63 65 73 73 29 2c 20 24 74 68 61 74 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 62 75 rocess),.$that->escapeString($bu
119b40 66 66 65 72 29 2c 20 50 72 6f 63 65 73 73 3a 3a 45 52 52 20 3d 3d 3d 20 24 74 79 70 65 29 29 3b ffer),.Process::ERR.===.$type));
119b60 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 63 61 6c 6c ..if.(null.!==.$callback).{.call
119b80 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 2c 20 24 62 75 _user_func($callback,.$type,.$bu
119ba0 66 66 65 72 29 3b 0a 7d 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ffer);.}.};.}.......public.funct
119bc0 69 6f 6e 20 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.escapeString($str).{.return.
119be0 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3c 27 2c 20 27 5c 5c 3c 27 2c 20 24 73 74 72 29 3b 0a 7d str_replace('<',.'\\<',.$str);.}
119c00 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b .....public.function.getName().{
119c20 0a 72 65 74 75 72 6e 20 27 70 72 6f 63 65 73 73 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a .return.'process';.}.}.<?php....
119c40 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
119c60 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nt\Console\Helper;..use.Symfony\
119c80 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 Component\Console\Output\Console
119ca0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d OutputInterface;.use.Symfony\Com
119cc0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
119ce0 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
119d00 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a sole\Exception\LogicException;..
119d20 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 42 61 72 0a 7b 0a 70 72 69 76 61 74 ......class.ProgressBar.{.privat
119d40 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a 70 72 69 76 61 74 65 20 24 62 61 72 43 68 e.$barWidth.=.28;.private.$barCh
119d60 61 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 27 2d 27 3b ar;.private.$emptyBarChar.=.'-';
119d80 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 27 3e 27 3b 0a 70 72 .private.$progressChar.=.'>';.pr
119da0 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 74 65 72 6e 61 6c ivate.$format;.private.$internal
119dc0 46 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d 20 31 3b Format;.private.$redrawFreq.=.1;
119de0 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 65 70 20 .private.$output;.private.$step.
119e00 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 =.0;.private.$max;.private.$star
119e20 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 65 70 57 69 64 74 68 3b 0a 70 72 69 76 61 tTime;.private.$stepWidth;.priva
119e40 74 65 20 24 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d te.$percent.=.0.0;.private.$form
119e60 61 74 4c 69 6e 65 43 6f 75 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 73 20 3d atLineCount;.private.$messages.=
119e80 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 74 .array();.private.$overwrite.=.t
119ea0 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 66 69 72 73 74 52 75 6e 20 3d 20 74 72 75 65 3b 0a 0a rue;.private.$firstRun.=.true;..
119ec0 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 74 65 72 73 3b 0a 70 72 69 76 private.static.$formatters;.priv
119ee0 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ate.static.$formats;......public
119f00 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 .function.__construct(OutputInte
119f20 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 69 66 20 28 24 rface.$output,.$max.=.0).{.if.($
119f40 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 output.instanceof.ConsoleOutputI
119f60 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 nterface).{.$output.=.$output->g
119f80 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 etErrorOutput();.}..$this->outpu
119fa0 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 t.=.$output;.$this->setMaxSteps(
119fc0 24 6d 61 78 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 $max);..if.(!$this->output->isDe
119fe0 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 20 corated()).{...$this->overwrite.
11a000 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 52 65 64 72 61 77 46 72 65 71 =.false;....$this->setRedrawFreq
11a020 75 65 6e 63 79 28 24 6d 61 78 20 2f 20 31 30 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 72 uency($max./.10);.}..$this->star
11a040 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tTime.=.time();.}..........publi
11a060 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 c.static.function.setPlaceholder
11a080 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 63 61 6c 6c FormatterDefinition($name,.$call
11a0a0 61 62 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 able).{.if.(!self::$formatters).
11a0c0 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 {.self::$formatters.=.self::init
11a0e0 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 PlaceholderFormatters();.}..self
11a100 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 61 6c 6c 61 62 6c 65 ::$formatters[$name].=.$callable
11a120 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 ;.}.........public.static.functi
11a140 6f 6e 20 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 on.getPlaceholderFormatterDefini
11a160 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 tion($name).{.if.(!self::$format
11a180 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 ters).{.self::$formatters.=.self
11a1a0 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d ::initPlaceholderFormatters();.}
11a1c0 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 ..return.isset(self::$formatters
11a1e0 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 [$name]).?.self::$formatters[$na
11a200 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 me].:.null;.}..........public.st
11a220 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f atic.function.setFormatDefinitio
11a240 6e 28 24 6e 61 6d 65 2c 20 24 66 6f 72 6d 61 74 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 n($name,.$format).{.if.(!self::$
11a260 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 formats).{.self::$formats.=.self
11a280 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 ::initFormats();.}..self::$forma
11a2a0 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ts[$name].=.$format;.}.........p
11a2c0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 44 ublic.static.function.getFormatD
11a2e0 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 efinition($name).{.if.(!self::$f
11a300 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a ormats).{.self::$formats.=.self:
11a320 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 :initFormats();.}..return.isset(
11a340 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 self::$formats[$name]).?.self::$
11a360 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a formats[$name].:.null;.}........
11a380 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 ....public.function.setMessage($
11a3a0 6d 65 73 73 61 67 65 2c 20 24 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 7b 0a 24 74 message,.$name.=.'message').{.$t
11a3c0 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b his->messages[$name].=.$message;
11a3e0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 28 24 .}..public.function.getMessage($
11a400 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 name.=.'message').{.return.$this
11a420 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ->messages[$name];.}.......publi
11a440 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 0a 7b 0a 72 65 74 75 c.function.getStartTime().{.retu
11a460 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 rn.$this->startTime;.}.......pub
11a480 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 78 53 74 65 70 73 28 29 0a 7b 0a 72 65 74 lic.function.getMaxSteps().{.ret
11a4a0 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->max;.}.........public
11a4c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 70 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 .function.getStep().{.@trigger_e
11a4e0 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 rror('The.'.__METHOD__.'.method.
11a500 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 is.deprecated.since.Symfony.2.6.
11a520 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 and.will.be.removed.in.3.0..Use.
11a540 74 68 65 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 the.getProgress().method.instead
11a560 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 .',.E_USER_DEPRECATED);..return.
11a580 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 $this->getProgress();.}.......pu
11a5a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 0a 7b 0a 72 65 blic.function.getProgress().{.re
11a5c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c turn.$this->step;.}.........publ
11a5e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 70 57 69 64 74 68 28 29 0a 7b 0a 72 65 74 ic.function.getStepWidth().{.ret
11a600 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 urn.$this->stepWidth;.}.......pu
11a620 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 63 65 6e 74 blic.function.getProgressPercent
11a640 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 3b 0a 7d 0a 0a 0a ().{.return.$this->percent;.}...
11a660 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 ....public.function.setBarWidth(
11a680 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 $size).{.$this->barWidth.=.(int)
11a6a0 20 24 73 69 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$size;.}.......public.function.
11a6c0 67 65 74 42 61 72 57 69 64 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 getBarWidth().{.return.$this->ba
11a6e0 72 57 69 64 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rWidth;.}.......public.function.
11a700 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e setBarCharacter($char).{.$this->
11a720 62 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 barChar.=.$char;.}.......public.
11a740 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 29 0a 7b 0a 69 66 20 function.getBarCharacter().{.if.
11a760 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 29 20 7b 0a 72 65 74 75 (null.===.$this->barChar).{.retu
11a780 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 3d 27 20 3a 20 24 74 68 69 73 2d 3e 65 6d 70 rn.$this->max.?.'='.:.$this->emp
11a7a0 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 72 43 tyBarChar;.}..return.$this->barC
11a7c0 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 har;.}.......public.function.set
11a7e0 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 EmptyBarCharacter($char).{.$this
11a800 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->emptyBarChar.=.$char;.}.......
11a820 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 public.function.getEmptyBarChara
11a840 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 cter().{.return.$this->emptyBarC
11a860 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 har;.}.......public.function.set
11a880 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 ProgressCharacter($char).{.$this
11a8a0 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->progressChar.=.$char;.}.......
11a8c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 public.function.getProgressChara
11a8e0 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 cter().{.return.$this->progressC
11a900 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 har;.}.......public.function.set
11a920 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 Format($format).{.$this->format.
11a940 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3d 20 =.null;.$this->internalFormat.=.
11a960 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $format;.}.......public.function
11a980 20 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 79 28 24 66 72 65 71 29 0a 7b 0a 24 74 68 .setRedrawFrequency($freq).{.$th
11a9a0 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 20 3d 20 6d 61 78 28 28 69 6e 74 29 20 24 66 72 65 71 is->redrawFreq.=.max((int).$freq
11a9c0 2c 20 31 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 ,.1);.}.......public.function.st
11a9e0 61 72 74 28 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 art($max.=.null).{.$this->startT
11aa00 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 30 3b 0a 24 ime.=.time();.$this->step.=.0;.$
11aa20 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 this->percent.=.0.0;..if.(null.!
11aa40 3d 3d 20 24 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d ==.$max).{.$this->setMaxSteps($m
11aa60 61 78 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a ax);.}..$this->display();.}.....
11aa80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 24 73 74 65 ....public.function.advance($ste
11aaa0 70 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 74 68 69 p.=.1).{.$this->setProgress($thi
11aac0 73 2d 3e 73 74 65 70 20 2b 20 24 73 74 65 70 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 s->step.+.$step);.}...........pu
11aae0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 28 24 73 74 65 70 29 0a blic.function.setCurrent($step).
11ab00 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 {.@trigger_error('The.'.__METHOD
11ab20 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 __.'.method.is.deprecated.since.
11ab40 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.6.and.will.be.removed.
11ab60 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 74 50 72 6f 67 72 65 73 73 28 29 20 6d 65 in.3.0..Use.the.setProgress().me
11ab80 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 thod.instead.',.E_USER_DEPRECATE
11aba0 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 73 74 65 70 29 3b 0a D);..$this->setProgress($step);.
11abc0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 76 65 72 77 }.......public.function.setOverw
11abe0 72 69 74 65 28 24 6f 76 65 72 77 72 69 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 rite($overwrite).{.$this->overwr
11ac00 69 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 76 65 72 77 72 69 74 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ite.=.(bool).$overwrite;.}......
11ac20 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 28 24 ...public.function.setProgress($
11ac40 73 74 65 70 29 0a 7b 0a 24 73 74 65 70 20 3d 20 28 69 6e 74 29 20 24 73 74 65 70 3b 0a 69 66 20 step).{.$step.=.(int).$step;.if.
11ac60 28 24 73 74 65 70 20 3c 20 24 74 68 69 73 2d 3e 73 74 65 70 29 20 7b 0a 74 68 72 6f 77 20 6e 65 ($step.<.$this->step).{.throw.ne
11ac80 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 5c 27 74 20 72 65 67 w.LogicException('You.can\'t.reg
11aca0 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 ress.the.progress.bar.');.}..if.
11acc0 28 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 24 73 74 65 70 20 3e 20 24 74 68 69 73 2d 3e 6d 61 ($this->max.&&.$step.>.$this->ma
11ace0 78 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 73 74 65 70 3b 0a 7d 0a 0a 24 70 72 65 x).{.$this->max.=.$step;.}..$pre
11ad00 76 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 2f 20 24 vPeriod.=.(int).($this->step./.$
11ad20 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 24 63 75 72 72 50 65 72 69 6f 64 20 3d this->redrawFreq);.$currPeriod.=
11ad40 20 28 69 6e 74 29 20 28 24 73 74 65 70 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 .(int).($step./.$this->redrawFre
11ad60 71 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 24 73 74 65 70 3b 0a 24 74 68 69 73 2d 3e q);.$this->step.=.$step;.$this->
11ad80 70 65 72 63 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 28 66 6c 6f 61 74 29 20 24 percent.=.$this->max.?.(float).$
11ada0 74 68 69 73 2d 3e 73 74 65 70 20 2f 20 24 74 68 69 73 2d 3e 6d 61 78 20 3a 20 30 3b 0a 69 66 20 this->step./.$this->max.:.0;.if.
11adc0 28 24 70 72 65 76 50 65 72 69 6f 64 20 21 3d 3d 20 24 63 75 72 72 50 65 72 69 6f 64 20 7c 7c 20 ($prevPeriod.!==.$currPeriod.||.
11ade0 24 74 68 69 73 2d 3e 6d 61 78 20 3d 3d 3d 20 24 73 74 65 70 29 20 7b 0a 24 74 68 69 73 2d 3e 64 $this->max.===.$step).{.$this->d
11ae00 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f isplay();.}.}.....public.functio
11ae20 6e 20 66 69 6e 69 73 68 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a n.finish().{.if.(!$this->max).{.
11ae40 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a 7d 0a 0a 69 66 20 $this->max.=.$this->step;.}..if.
11ae60 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 21 ($this->step.===.$this->max.&&.!
11ae80 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a $this->overwrite).{...return;.}.
11aea0 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 74 68 69 73 2d 3e 6d 61 78 29 3b .$this->setProgress($this->max);
11aec0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 29 .}.....public.function.display()
11aee0 0a 7b 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 .{.if.(OutputInterface::VERBOSIT
11af00 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 Y_QUIET.===.$this->output->getVe
11af20 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c rbosity()).{.return;.}..if.(null
11af40 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 .===.$this->format).{.$this->set
11af60 52 65 61 6c 46 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 RealFormat($this->internalFormat
11af80 20 3f 3a 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 .?:.$this->determineBestFormat()
11afa0 29 3b 0a 7d 0a 0a 0a 20 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 6f 75 74 70 75 74 20 3d );.}....$self.=.$this;.$output.=
11afc0 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 24 74 68 69 .$this->output;.$messages.=.$thi
11afe0 73 2d 3e 6d 65 73 73 61 67 65 73 3b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 s->messages;.$this->overwrite(pr
11b000 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 25 28 5b 61 2d 7a 5c 2d 5f 5d eg_replace_callback("{%([a-z\-_]
11b020 2b 29 28 3f 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f 25 7d 69 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 +)(?:\:([^%]+))?%}i",.function.(
11b040 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 6f 75 74 70 75 74 2c 20 24 $matches).use.($self,.$output,.$
11b060 6d 65 73 73 61 67 65 73 29 20 7b 0a 69 66 20 28 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 73 65 messages).{.if.($formatter.=.$se
11b080 6c 66 3a 3a 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e lf::getPlaceholderFormatterDefin
11b0a0 69 74 69 6f 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 63 61 ition($matches[1])).{.$text.=.ca
11b0c0 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 65 6c 66 2c 20 ll_user_func($formatter,.$self,.
11b0e0 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 65 73 73 61 $output);.}.elseif.(isset($messa
11b100 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 24 6d 65 ges[$matches[1]])).{.$text.=.$me
11b120 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 ssages[$matches[1]];.}.else.{.re
11b140 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 turn.$matches[0];.}..if.(isset($
11b160 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 matches[2])).{.$text.=.sprintf('
11b180 25 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 %'.$matches[2],.$text);.}..retur
11b1a0 6e 20 24 74 65 78 74 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a n.$text;.},.$this->format));.}..
11b1c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b .......public.function.clear().{
11b1e0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 72 65 74 75 72 6e .if.(!$this->overwrite).{.return
11b200 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 ;.}..if.(null.===.$this->format)
11b220 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 69 .{.$this->setRealFormat($this->i
11b240 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3f 3a 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e nternalFormat.?:.$this->determin
11b260 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 eBestFormat());.}..$this->overwr
11b280 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ite('');.}.......private.functio
11b2a0 6e 20 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 0a 20 69 66 20 n.setRealFormat($format).{...if.
11b2c0 28 21 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 (!$this->max.&&.null.!==.self::g
11b2e0 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 2e 27 5f 6e 6f 6d etFormatDefinition($format.'_nom
11b300 61 78 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 ax')).{.$this->format.=.self::ge
11b320 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 2e 27 5f 6e 6f 6d 61 tFormatDefinition($format.'_noma
11b340 78 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 65 x');.}.elseif.(null.!==.self::ge
11b360 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 24 74 tFormatDefinition($format)).{.$t
11b380 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 his->format.=.self::getFormatDef
11b3a0 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 inition($format);.}.else.{.$this
11b3c0 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f ->format.=.$format;.}..$this->fo
11b3e0 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 74 68 rmatLineCount.=.substr_count($th
11b400 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 5c 6e 22 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 is->format,."\n");.}.......priva
11b420 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 0a 7b 0a te.function.setMaxSteps($max).{.
11b440 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 6d 61 78 28 30 2c 20 28 69 6e 74 29 20 24 6d 61 78 29 3b $this->max.=.max(0,.(int).$max);
11b460 0a 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f .$this->stepWidth.=.$this->max.?
11b480 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 78 29 20 3a 20 34 3b .Helper::strlen($this->max).:.4;
11b4a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 .}.......private.function.overwr
11b4c0 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 76 65 72 77 ite($message).{.if.($this->overw
11b4e0 72 69 74 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 72 73 74 52 75 6e 29 20 7b 0a rite).{.if.(!$this->firstRun).{.
11b500 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 22 29 3b 0a ..$this->output->write("\x0D");.
11b520 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 31 42 5b 32 4b ...$this->output->write("\x1B[2K
11b540 22 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e ");....if.($this->formatLineCoun
11b560 74 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 t.>.0).{.$this->output->write(st
11b580 72 5f 72 65 70 65 61 74 28 22 5c 78 31 42 5b 31 41 5c 78 31 42 5b 32 4b 22 2c 20 24 74 68 69 73 r_repeat("\x1B[1A\x1B[2K",.$this
11b5a0 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 29 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 ->formatLineCount));.}.}.}.elsei
11b5c0 66 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 f.($this->step.>.0).{.$this->out
11b5e0 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 72 73 put->writeln('');.}..$this->firs
11b600 74 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 tRun.=.false;..$this->output->wr
11b620 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ite($message);.}..private.functi
11b640 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 73 77 69 74 63 on.determineBestFormat().{.switc
11b660 68 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 h.($this->output->getVerbosity()
11b680 29 20 7b 0a 0a 20 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 ).{...case.OutputInterface::VERB
11b6a0 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 OSITY_VERBOSE:.return.$this->max
11b6c0 20 3f 20 27 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 3b 0a .?.'verbose'.:.'verbose_nomax';.
11b6e0 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f case.OutputInterface::VERBOSITY_
11b700 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 VERY_VERBOSE:.return.$this->max.
11b720 3f 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 ?.'very_verbose'.:.'very_verbose
11b740 5f 6e 6f 6d 61 78 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 _nomax';.case.OutputInterface::V
11b760 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 ERBOSITY_DEBUG:.return.$this->ma
11b780 78 20 3f 20 27 64 65 62 75 67 27 20 3a 20 27 64 65 62 75 67 5f 6e 6f 6d 61 78 27 3b 0a 64 65 66 x.?.'debug'.:.'debug_nomax';.def
11b7a0 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 6e 6f 72 6d 61 ault:.return.$this->max.?.'norma
11b7c0 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 l'.:.'normal_nomax';.}.}..privat
11b7e0 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 e.static.function.initPlaceholde
11b800 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 62 rFormatters().{.return.array(.'b
11b820 61 72 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 ar'.=>.function.(ProgressBar.$ba
11b840 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 63 r,.OutputInterface.$output).{.$c
11b860 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 4d 61 78 ompleteBars.=.floor($bar->getMax
11b880 53 74 65 70 73 28 29 20 3e 20 30 20 3f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 50 Steps().>.0.?.$bar->getProgressP
11b8a0 65 72 63 65 6e 74 28 29 20 2a 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 20 3a ercent().*.$bar->getBarWidth().:
11b8c0 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 25 20 24 62 61 72 2d 3e 67 65 74 .$bar->getProgress().%.$bar->get
11b8e0 42 61 72 57 69 64 74 68 28 29 29 3b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 65 BarWidth());.$display.=.str_repe
11b900 61 74 28 24 62 61 72 2d 3e 67 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 29 2c 20 24 63 6f 6d at($bar->getBarCharacter(),.$com
11b920 70 6c 65 74 65 42 61 72 73 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3c 20 pleteBars);.if.($completeBars.<.
11b940 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 29 20 7b 0a 24 65 6d 70 74 79 42 61 72 $bar->getBarWidth()).{.$emptyBar
11b960 73 20 3d 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 20 2d 20 24 63 6f 6d 70 6c s.=.$bar->getBarWidth().-.$compl
11b980 65 74 65 42 61 72 73 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 eteBars.-.Helper::strlenWithoutD
11b9a0 65 63 6f 72 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 ecoration($output->getFormatter(
11b9c0 29 2c 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 29 29 ),.$bar->getProgressCharacter())
11b9e0 3b 0a 24 64 69 73 70 6c 61 79 20 2e 3d 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 43 ;.$display..=.$bar->getProgressC
11ba00 68 61 72 61 63 74 65 72 28 29 2e 73 74 72 5f 72 65 70 65 61 74 28 24 62 61 72 2d 3e 67 65 74 45 haracter().str_repeat($bar->getE
11ba20 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 29 2c 20 24 65 6d 70 74 79 42 61 72 73 29 3b mptyBarCharacter(),.$emptyBars);
11ba40 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 2c 0a 27 65 6c 61 70 73 65 64 .}..return.$display;.},.'elapsed
11ba60 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 '.=>.function.(ProgressBar.$bar)
11ba80 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 74 69 6d .{.return.Helper::formatTime(tim
11baa0 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 3b 0a 7d 2c 0a e().-.$bar->getStartTime());.},.
11bac0 27 72 65 6d 61 69 6e 69 6e 67 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 'remaining'.=>.function.(Progres
11bae0 73 42 61 72 20 24 62 61 72 29 20 7b 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 sBar.$bar).{.if.(!$bar->getMaxSt
11bb00 65 70 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f eps()).{.throw.new.LogicExceptio
11bb20 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 72 65 6d 61 69 6e 69 n('Unable.to.display.the.remaini
11bb40 6e 67 20 74 69 6d 65 20 69 66 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 ng.time.if.the.maximum.number.of
11bb60 20 73 74 65 70 73 20 69 73 20 6e 6f 74 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 62 .steps.is.not.set.');.}..if.(!$b
11bb80 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 ar->getProgress()).{.$remaining.
11bba0 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 72 6f 75 6e 64 =.0;.}.else.{.$remaining.=.round
11bbc0 28 28 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 ((time().-.$bar->getStartTime())
11bbe0 20 2f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 2a 20 28 24 62 61 72 2d 3e ./.$bar->getProgress().*.($bar->
11bc00 67 65 74 4d 61 78 53 74 65 70 73 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 getMaxSteps().-.$bar->getProgres
11bc20 73 28 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 s()));.}..return.Helper::formatT
11bc40 69 6d 65 28 24 72 65 6d 61 69 6e 69 6e 67 29 3b 0a 7d 2c 0a 27 65 73 74 69 6d 61 74 65 64 27 20 ime($remaining);.},.'estimated'.
11bc60 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b =>.function.(ProgressBar.$bar).{
11bc80 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 29 20 7b 0a 74 68 72 .if.(!$bar->getMaxSteps()).{.thr
11bca0 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f ow.new.LogicException('Unable.to
11bcc0 20 64 69 73 70 6c 61 79 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 74 69 6d 65 20 69 66 20 74 .display.the.estimated.time.if.t
11bce0 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 65 70 73 20 69 73 20 6e 6f he.maximum.number.of.steps.is.no
11bd00 74 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 t.set.');.}..if.(!$bar->getProgr
11bd20 65 73 73 28 29 29 20 7b 0a 24 65 73 74 69 6d 61 74 65 64 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 ess()).{.$estimated.=.0;.}.else.
11bd40 7b 0a 24 65 73 74 69 6d 61 74 65 64 20 3d 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 24 {.$estimated.=.round((time().-.$
11bd60 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 20 2f 20 24 62 61 72 2d 3e 67 65 74 bar->getStartTime())./.$bar->get
11bd80 50 72 6f 67 72 65 73 73 28 29 20 2a 20 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 Progress().*.$bar->getMaxSteps()
11bda0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 );.}..return.Helper::formatTime(
11bdc0 24 65 73 74 69 6d 61 74 65 64 29 3b 0a 7d 2c 0a 27 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 75 6e 63 $estimated);.},.'memory'.=>.func
11bde0 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e tion.(ProgressBar.$bar).{.return
11be00 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f 67 65 74 .Helper::formatMemory(memory_get
11be20 5f 75 73 61 67 65 28 74 72 75 65 29 29 3b 0a 7d 2c 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 66 _usage(true));.},.'current'.=>.f
11be40 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 unction.(ProgressBar.$bar).{.ret
11be60 75 72 6e 20 73 74 72 5f 70 61 64 28 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 2c urn.str_pad($bar->getProgress(),
11be80 20 24 62 61 72 2d 3e 67 65 74 53 74 65 70 57 69 64 74 68 28 29 2c 20 27 20 27 2c 20 53 54 52 5f .$bar->getStepWidth(),.'.',.STR_
11bea0 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 2c 0a 27 6d 61 78 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 PAD_LEFT);.},.'max'.=>.function.
11bec0 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 72 (ProgressBar.$bar).{.return.$bar
11bee0 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 3b 0a 7d 2c 0a 27 70 65 72 63 65 6e 74 27 20 3d 3e ->getMaxSteps();.},.'percent'.=>
11bf00 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 .function.(ProgressBar.$bar).{.r
11bf20 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 eturn.floor($bar->getProgressPer
11bf40 63 65 6e 74 28 29 20 2a 20 31 30 30 29 3b 0a 7d 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 cent().*.100);.},.);.}..private.
11bf60 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 0a 7b 0a static.function.initFormats().{.
11bf80 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 6f 72 6d 61 6c 27 20 3d 3e 20 27 20 25 63 75 72 return.array(.'normal'.=>.'.%cur
11bfa0 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 rent%/%max%.[%bar%].%percent:3s%
11bfc0 25 27 2c 0a 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 %',.'normal_nomax'.=>.'.%current
11bfe0 25 20 5b 25 62 61 72 25 5d 27 2c 0a 0a 27 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 63 75 72 %.[%bar%]',..'verbose'.=>.'.%cur
11c000 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 rent%/%max%.[%bar%].%percent:3s%
11c020 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 %.%elapsed:6s%',.'verbose_nomax'
11c040 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 .=>.'.%current%.[%bar%].%elapsed
11c060 3a 36 73 25 27 2c 0a 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 63 75 72 :6s%',..'very_verbose'.=>.'.%cur
11c080 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 rent%/%max%.[%bar%].%percent:3s%
11c0a0 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 2f 25 65 73 74 69 6d 61 74 65 64 3a 2d 36 73 25 27 2c %.%elapsed:6s%/%estimated:-6s%',
11c0c0 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 .'very_verbose_nomax'.=>.'.%curr
11c0e0 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 0a 27 64 65 ent%.[%bar%].%elapsed:6s%',..'de
11c100 62 75 67 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 bug'.=>.'.%current%/%max%.[%bar%
11c120 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 2f 25 65 73 ].%percent:3s%%.%elapsed:6s%/%es
11c140 74 69 6d 61 74 65 64 3a 2d 36 73 25 20 25 6d 65 6d 6f 72 79 3a 36 73 25 27 2c 0a 27 64 65 62 75 timated:-6s%.%memory:6s%',.'debu
11c160 67 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 g_nomax'.=>.'.%current%.[%bar%].
11c180 25 65 6c 61 70 73 65 64 3a 36 73 25 20 25 6d 65 6d 6f 72 79 3a 36 73 25 27 2c 0a 29 3b 0a 7d 0a %elapsed:6s%.%memory:6s%',.);.}.
11c1a0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
11c1c0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 ony\Component\Console\Helper;..u
11c1e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
11c200 70 75 74 5c 4e 75 6c 6c 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 put\NullOutput;.use.Symfony\Comp
11c220 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 onent\Console\Output\ConsoleOutp
11c240 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utInterface;.use.Symfony\Compone
11c260 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 nt\Console\Output\OutputInterfac
11c280 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
11c2a0 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a \Exception\LogicException;......
11c2c0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 20 65 78 74 65 6e 64 .....class.ProgressHelper.extend
11c2e0 73 20 48 65 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 20 3d 20 s.Helper.{.const.FORMAT_QUIET.=.
11c300 27 20 25 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d '.%percent%%';.const.FORMAT_NORM
11c320 41 4c 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 AL.=.'.%current%/%max%.[%bar%].%
11c340 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 percent%%';.const.FORMAT_VERBOSE
11c360 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 .=.'.%current%/%max%.[%bar%].%pe
11c380 72 63 65 6e 74 25 25 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b 0a 63 6f 6e rcent%%.Elapsed:.%elapsed%';.con
11c3a0 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 st.FORMAT_QUIET_NOMAX.=.'.%curre
11c3c0 6e 74 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 20 nt%';.const.FORMAT_NORMAL_NOMAX.
11c3e0 3d 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 3b 0a 63 6f 6e 73 74 20 46 4f =.'.%current%.[%bar%]';.const.FO
11c400 52 4d 41 54 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 RMAT_VERBOSE_NOMAX.=.'.%current%
11c420 20 5b 25 62 61 72 25 5d 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b 0a 0a 0a .[%bar%].Elapsed:.%elapsed%';...
11c440 20 70 72 69 76 61 74 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a 70 72 69 76 61 74 65 .private.$barWidth.=.28;.private
11c460 20 24 62 61 72 43 68 61 72 20 3d 20 27 3d 27 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 42 .$barChar.=.'=';.private.$emptyB
11c480 61 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 43 arChar.=.'-';.private.$progressC
11c4a0 68 61 72 20 3d 20 27 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c har.=.'>';.private.$format.=.nul
11c4c0 6c 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d 20 31 3b 0a 0a 70 72 69 l;.private.$redrawFreq.=.1;..pri
11c4e0 76 61 74 65 20 24 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 vate.$lastMessagesLength;.privat
11c500 65 20 24 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 e.$barCharOriginal;.....private.
11c520 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 3b $output;.......private.$current;
11c540 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .......private.$max;.......priva
11c560 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 te.$startTime;.......private.$de
11c580 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 0a 27 63 75 72 72 65 6e faultFormatVars.=.array(.'curren
11c5a0 74 27 2c 0a 27 6d 61 78 27 2c 0a 27 62 61 72 27 2c 0a 27 70 65 72 63 65 6e 74 27 2c 0a 27 65 6c t',.'max',.'bar',.'percent',.'el
11c5c0 61 70 73 65 64 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 apsed',.);.......private.$format
11c5e0 56 61 72 73 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 77 69 64 74 68 73 20 3d 20 61 72 Vars;.......private.$widths.=.ar
11c600 72 61 79 28 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 34 2c 0a 27 6d 61 78 27 20 3d 3e 20 34 2c ray(.'current'.=>.4,.'max'.=>.4,
11c620 0a 27 70 65 72 63 65 6e 74 27 20 3d 3e 20 33 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 36 2c .'percent'.=>.3,.'elapsed'.=>.6,
11c640 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 3d .);.......private.$timeFormats.=
11c660 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3f 3f 3f 27 29 2c 0a 61 72 72 61 79 28 32 .array(.array(0,.'???'),.array(2
11c680 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 35 39 2c 20 27 73 65 63 73 27 2c 20 31 29 ,.'1.sec'),.array(59,.'secs',.1)
11c6a0 2c 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c 0a 61 72 72 61 79 28 33 36 30 30 ,.array(60,.'1.min'),.array(3600
11c6c0 2c 20 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 35 34 30 30 2c 20 27 31 20 68 72 ,.'mins',.60),.array(5400,.'1.hr
11c6e0 27 29 2c 0a 61 72 72 61 79 28 38 36 34 30 30 2c 20 27 68 72 73 27 2c 20 33 36 30 30 29 2c 0a 61 '),.array(86400,.'hrs',.3600),.a
11c700 72 72 61 79 28 31 32 39 36 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 72 72 61 79 28 36 30 34 rray(129600,.'1.day'),.array(604
11c720 38 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 800,.'days',.86400),.);..public.
11c740 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 function.__construct($triggerDep
11c760 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 recationError.=.true).{.if.($tri
11c780 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 ggerDeprecationError).{.@trigger
11c7a0 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 _error('The.'.__CLASS__.'.class.
11c7c0 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 is.deprecated.since.Symfony.2.5.
11c7e0 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 and.will.be.removed.in.3.0..Use.
11c800 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 the.Symfony\Component\Console\He
11c820 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 lper\ProgressBar.class.instead.'
11c840 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ,.E_USER_DEPRECATED);.}.}.......
11c860 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 24 73 69 7a public.function.setBarWidth($siz
11c880 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 20 24 73 69 e).{.$this->barWidth.=.(int).$si
11c8a0 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 ze;.}.......public.function.setB
11c8c0 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 arCharacter($char).{.$this->barC
11c8e0 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 har.=.$char;.}.......public.func
11c900 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 tion.setEmptyBarCharacter($char)
11c920 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a .{.$this->emptyBarChar.=.$char;.
11c940 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 }.......public.function.setProgr
11c960 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f essCharacter($char).{.$this->pro
11c980 67 72 65 73 73 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 gressChar.=.$char;.}.......publi
11c9a0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a c.function.setFormat($format).{.
11c9c0 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a $this->format.=.$format;.}......
11c9e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 .public.function.setRedrawFreque
11ca00 6e 63 79 28 24 66 72 65 71 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 20 3d ncy($freq).{.$this->redrawFreq.=
11ca20 20 28 69 6e 74 29 20 24 66 72 65 71 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .(int).$freq;.}........public.fu
11ca40 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 nction.start(OutputInterface.$ou
11ca60 74 70 75 74 2c 20 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 tput,.$max.=.null).{.if.($output
11ca80 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 .instanceof.ConsoleOutputInterfa
11caa0 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f ce).{.$output.=.$output->getErro
11cac0 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d rOutput();.}..$this->startTime.=
11cae0 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 30 3b 0a 24 74 68 .time();.$this->current.=.0;.$th
11cb00 69 73 2d 3e 6d 61 78 20 3d 20 28 69 6e 74 29 20 24 6d 61 78 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e is->max.=.(int).$max;....$this->
11cb20 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 output.=.$output->isDecorated().
11cb40 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 65 77 20 4e 75 6c 6c 4f 75 74 70 75 74 28 29 3b 0a 24 74 ?.$output.:.new.NullOutput();.$t
11cb60 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 24 74 68 his->lastMessagesLength.=.0;.$th
11cb80 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 20 3d 20 27 27 3b 0a 0a 69 66 20 28 6e is->barCharOriginal.=.'';..if.(n
11cba0 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 73 77 69 74 63 68 20 ull.===.$this->format).{.switch.
11cbc0 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 63 61 73 65 ($output->getVerbosity()).{.case
11cbe0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 .OutputInterface::VERBOSITY_QUIE
11cc00 54 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f T:.$this->format.=.self::FORMAT_
11cc20 51 55 49 45 54 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 QUIET_NOMAX;.if.($this->max.>.0)
11cc40 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f .{.$this->format.=.self::FORMAT_
11cc60 51 55 49 45 54 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 QUIET;.}.break;.case.OutputInter
11cc80 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 face::VERBOSITY_VERBOSE:.case.Ou
11cca0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 tputInterface::VERBOSITY_VERY_VE
11ccc0 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 RBOSE:.case.OutputInterface::VER
11cce0 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 BOSITY_DEBUG:.$this->format.=.se
11cd00 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 lf::FORMAT_VERBOSE_NOMAX;.if.($t
11cd20 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 his->max.>.0).{.$this->format.=.
11cd40 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 64 self::FORMAT_VERBOSE;.}.break;.d
11cd60 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f efault:.$this->format.=.self::FO
11cd80 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 RMAT_NORMAL_NOMAX;.if.($this->ma
11cda0 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 x.>.0).{.$this->format.=.self::F
11cdc0 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 ORMAT_NORMAL;.}.break;.}.}..$thi
11cde0 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c s->initialize();.}..........publ
11ce00 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 2c 20 24 ic.function.advance($step.=.1,.$
11ce20 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 43 75 72 72 redraw.=.false).{.$this->setCurr
11ce40 65 6e 74 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2b 20 24 73 74 65 70 2c 20 24 72 65 64 ent($this->current.+.$step,.$red
11ce60 72 61 77 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e raw);.}..........public.function
11ce80 20 73 65 74 43 75 72 72 65 6e 74 28 24 63 75 72 72 65 6e 74 2c 20 24 72 65 64 72 61 77 20 3d 20 .setCurrent($current,.$redraw.=.
11cea0 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 false).{.if.(null.===.$this->sta
11cec0 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 rtTime).{.throw.new.LogicExcepti
11cee0 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 on('You.must.start.the.progress.
11cf00 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 73 65 74 43 75 72 72 65 6e 74 28 29 2e bar.before.calling.setCurrent().
11cf20 27 29 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 20 3d 20 28 69 6e 74 29 20 24 63 75 72 72 65 6e 74 ');.}..$current.=.(int).$current
11cf40 3b 0a 0a 69 66 20 28 24 63 75 72 72 65 6e 74 20 3c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 ;..if.($current.<.$this->current
11cf60 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f ).{.throw.new.LogicException('Yo
11cf80 75 20 63 61 6e 5c 27 74 20 72 65 67 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 u.can\'t.regress.the.progress.ba
11cfa0 72 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 r');.}..if.(0.===.$this->current
11cfc0 29 20 7b 0a 24 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 65 76 50 65 72 69 ).{.$redraw.=.true;.}..$prevPeri
11cfe0 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2f 20 24 74 68 od.=.(int).($this->current./.$th
11d000 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 is->redrawFreq);..$this->current
11d020 20 3d 20 24 63 75 72 72 65 6e 74 3b 0a 0a 24 63 75 72 72 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 .=.$current;..$currPeriod.=.(int
11d040 29 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 ).($this->current./.$this->redra
11d060 77 46 72 65 71 29 3b 0a 69 66 20 28 24 72 65 64 72 61 77 20 7c 7c 20 24 70 72 65 76 50 65 72 69 wFreq);.if.($redraw.||.$prevPeri
11d080 6f 64 20 21 3d 3d 20 24 63 75 72 72 50 65 72 69 6f 64 20 7c 7c 20 24 74 68 69 73 2d 3e 6d 61 78 od.!==.$currPeriod.||.$this->max
11d0a0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 .===.$this->current).{.$this->di
11d0c0 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 splay();.}.}.........public.func
11d0e0 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 24 66 69 6e 69 73 68 20 3d 20 66 61 6c 73 65 29 0a 7b 0a tion.display($finish.=.false).{.
11d100 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b if.(null.===.$this->startTime).{
11d120 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d .throw.new.LogicException('You.m
11d140 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 66 6f 72 ust.start.the.progress.bar.befor
11d160 65 20 63 61 6c 6c 69 6e 67 20 64 69 73 70 6c 61 79 28 29 2e 27 29 3b 0a 7d 0a 0a 24 6d 65 73 73 e.calling.display().');.}..$mess
11d180 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 age.=.$this->format;.foreach.($t
11d1a0 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 66 69 6e 69 73 68 29 20 61 73 20 24 6e 61 6d 65 20 his->generate($finish).as.$name.
11d1c0 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 5f 72 65 70 6c =>.$value).{.$message.=.str_repl
11d1e0 61 63 65 28 22 25 7b 24 6e 61 6d 65 7d 25 22 2c 20 24 76 61 6c 75 65 2c 20 24 6d 65 73 73 61 67 ace("%{$name}%",.$value,.$messag
11d200 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 24 74 68 69 73 2d 3e 6f 75 e);.}.$this->overwrite($this->ou
11d220 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tput,.$message);.}.........publi
11d240 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 c.function.clear().{.$this->over
11d260 77 72 69 74 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a write($this->output,.'');.}.....
11d280 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 69 73 68 28 29 0a 7b 0a 69 66 20 28 6e public.function.finish().{.if.(n
11d2a0 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f ull.===.$this->startTime).{.thro
11d2c0 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 w.new.LogicException('You.must.s
11d2e0 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c tart.the.progress.bar.before.cal
11d300 6c 69 6e 67 20 66 69 6e 69 73 68 28 29 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d ling.finish().');.}..if.(null.!=
11d320 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 =.$this->startTime).{.if.(!$this
11d340 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 74 68 69 73 2d ->max).{.$this->barChar.=.$this-
11d360 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 >barCharOriginal;.$this->display
11d380 28 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 6e 75 6c (true);.}.$this->startTime.=.nul
11d3a0 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 24 l;.$this->output->writeln('');.$
11d3c0 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 this->output.=.null;.}.}.....pri
11d3e0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 vate.function.initialize().{.$th
11d400 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 is->formatVars.=.array();.foreac
11d420 68 20 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 73 20 61 73 20 24 h.($this->defaultFormatVars.as.$
11d440 76 61 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 var).{.if.(false.!==.strpos($thi
11d460 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 25 7b 24 76 61 72 7d 25 22 29 29 20 7b 0a 24 74 68 69 73 2d s->format,."%{$var}%")).{.$this-
11d480 3e 66 6f 72 6d 61 74 56 61 72 73 5b 24 76 61 72 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 >formatVars[$var].=.true;.}.}..i
11d4a0 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 77 69 64 74 f.($this->max.>.0).{.$this->widt
11d4c0 68 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 74 68 69 73 2d hs['max'].=.$this->strlen($this-
11d4e0 3e 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 63 75 72 72 65 6e 74 27 5d 20 >max);.$this->widths['current'].
11d500 3d 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 6d 61 78 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b =.$this->widths['max'];.}.else.{
11d520 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 20 3d 20 24 74 68 69 73 2d .$this->barCharOriginal.=.$this-
11d540 3e 62 61 72 43 68 61 72 3b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 74 68 69 73 >barChar;.$this->barChar.=.$this
11d560 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ->emptyBarChar;.}.}.........priv
11d580 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 24 66 69 6e 69 73 68 20 3d 20 ate.function.generate($finish.=.
11d5a0 66 61 6c 73 65 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 65 72 63 65 false).{.$vars.=.array();.$perce
11d5c0 6e 74 20 3d 20 30 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 70 nt.=.0;.if.($this->max.>.0).{.$p
11d5e0 65 72 63 65 6e 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 ercent.=.(float).$this->current.
11d600 2f 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 /.$this->max;.}..if.(isset($this
11d620 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 62 61 72 27 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 ->formatVars['bar'])).{.if.($thi
11d640 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c s->max.>.0).{.$completeBars.=.fl
11d660 6f 6f 72 28 24 70 65 72 63 65 6e 74 20 2a 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 3b oor($percent.*.$this->barWidth);
11d680 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 66 69 6e 69 73 68 29 20 7b 0a 24 63 6f 6d 70 6c .}.else.{.if.(!$finish).{.$compl
11d6a0 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 25 eteBars.=.floor($this->current.%
11d6c0 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d .$this->barWidth);.}.else.{.$com
11d6e0 70 6c 65 74 65 42 61 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 3b 0a 7d 0a 7d pleteBars.=.$this->barWidth;.}.}
11d700 0a 0a 24 65 6d 70 74 79 42 61 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 2d ..$emptyBars.=.$this->barWidth.-
11d720 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 .$completeBars.-.$this->strlen($
11d740 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 29 3b 0a 24 62 61 72 20 3d 20 73 74 72 5f this->progressChar);.$bar.=.str_
11d760 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 2c 20 24 63 6f 6d 70 6c 65 74 65 repeat($this->barChar,.$complete
11d780 42 61 72 73 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3c 20 24 74 68 69 73 Bars);.if.($completeBars.<.$this
11d7a0 2d 3e 62 61 72 57 69 64 74 68 29 20 7b 0a 24 62 61 72 20 2e 3d 20 24 74 68 69 73 2d 3e 70 72 6f ->barWidth).{.$bar..=.$this->pro
11d7c0 67 72 65 73 73 43 68 61 72 3b 0a 24 62 61 72 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 gressChar;.$bar..=.str_repeat($t
11d7e0 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 2c 20 24 65 6d 70 74 79 42 61 72 73 29 3b 0a his->emptyBarChar,.$emptyBars);.
11d800 7d 0a 0a 24 76 61 72 73 5b 27 62 61 72 27 5d 20 3d 20 24 62 61 72 3b 0a 7d 0a 0a 69 66 20 28 69 }..$vars['bar'].=.$bar;.}..if.(i
11d820 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 65 6c 61 70 73 65 64 27 sset($this->formatVars['elapsed'
11d840 5d 29 29 20 7b 0a 24 65 6c 61 70 73 65 64 20 3d 20 74 69 6d 65 28 29 20 2d 20 24 74 68 69 73 2d ])).{.$elapsed.=.time().-.$this-
11d860 3e 73 74 61 72 74 54 69 6d 65 3b 0a 24 76 61 72 73 5b 27 65 6c 61 70 73 65 64 27 5d 20 3d 20 73 >startTime;.$vars['elapsed'].=.s
11d880 74 72 5f 70 61 64 28 24 74 68 69 73 2d 3e 68 75 6d 61 6e 65 54 69 6d 65 28 24 65 6c 61 70 73 65 tr_pad($this->humaneTime($elapse
11d8a0 64 29 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 65 6c 61 70 73 65 64 27 5d 2c 20 27 20 d),.$this->widths['elapsed'],.'.
11d8c0 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 ',.STR_PAD_LEFT);.}..if.(isset($
11d8e0 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 63 75 72 72 65 6e 74 27 5d 29 29 20 7b 0a this->formatVars['current'])).{.
11d900 24 76 61 72 73 5b 27 63 75 72 72 65 6e 74 27 5d 20 3d 20 73 74 72 5f 70 61 64 28 24 74 68 69 73 $vars['current'].=.str_pad($this
11d920 2d 3e 63 75 72 72 65 6e 74 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 63 75 72 72 65 6e ->current,.$this->widths['curren
11d940 74 27 5d 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 69 66 20 28 t'],.'.',.STR_PAD_LEFT);.}..if.(
11d960 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 6d 61 78 27 5d 29 29 isset($this->formatVars['max']))
11d980 20 7b 0a 24 76 61 72 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a .{.$vars['max'].=.$this->max;.}.
11d9a0 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 70 65 .if.(isset($this->formatVars['pe
11d9c0 72 63 65 6e 74 27 5d 29 29 20 7b 0a 24 76 61 72 73 5b 27 70 65 72 63 65 6e 74 27 5d 20 3d 20 73 rcent'])).{.$vars['percent'].=.s
11d9e0 74 72 5f 70 61 64 28 66 6c 6f 6f 72 28 24 70 65 72 63 65 6e 74 20 2a 20 31 30 30 29 2c 20 24 74 tr_pad(floor($percent.*.100),.$t
11da00 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 70 65 72 63 65 6e 74 27 5d 2c 20 27 20 27 2c 20 53 54 52 his->widths['percent'],.'.',.STR
11da20 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 72 73 3b 0a 7d 0a 0a _PAD_LEFT);.}..return.$vars;.}..
11da40 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 75 6d 61 6e 65 54 69 .......private.function.humaneTi
11da60 6d 65 28 24 73 65 63 73 29 0a 7b 0a 24 74 65 78 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 me($secs).{.$text.=.'';.foreach.
11da80 28 24 74 68 69 73 2d 3e 74 69 6d 65 46 6f 72 6d 61 74 73 20 61 73 20 24 66 6f 72 6d 61 74 29 20 ($this->timeFormats.as.$format).
11daa0 7b 0a 69 66 20 28 24 73 65 63 73 20 3c 20 24 66 6f 72 6d 61 74 5b 30 5d 29 20 7b 0a 69 66 20 28 {.if.($secs.<.$format[0]).{.if.(
11dac0 32 20 3d 3d 20 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 24 2.==.count($format)).{.$text.=.$
11dae0 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 65 78 74 format[1];.break;.}.else.{.$text
11db00 20 3d 20 63 65 69 6c 28 24 73 65 63 73 20 2f 20 24 66 6f 72 6d 61 74 5b 32 5d 29 2e 27 20 27 2e .=.ceil($secs./.$format[2]).'.'.
11db20 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e $format[1];.break;.}.}.}..return
11db40 20 24 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f .$text;.}........private.functio
11db60 6e 20 6f 76 65 72 77 72 69 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 n.overwrite(OutputInterface.$out
11db80 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 put,.$message).{.$length.=.$this
11dba0 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 ->strlen($message);....if.(null.
11dbc0 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 26 26 !==.$this->lastMessagesLength.&&
11dbe0 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3e 20 24 6c 65 .$this->lastMessagesLength.>.$le
11dc00 6e 67 74 68 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 5f 70 61 64 28 24 6d 65 73 73 ngth).{.$message.=.str_pad($mess
11dc20 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 2c 20 age,.$this->lastMessagesLength,.
11dc40 22 5c 78 32 30 22 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 29 3b 0a 7d 0a 0a 0a 20 24 6f 75 "\x20",.STR_PAD_RIGHT);.}....$ou
11dc60 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 22 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 tput->write("\x0D");.$output->wr
11dc80 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 ite($message);..$this->lastMessa
11dca0 67 65 73 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 gesLength.=.$this->strlen($messa
11dcc0 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 ge);.}.....public.function.getNa
11dce0 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 67 72 65 73 73 27 3b 0a 7d 0a 7d 0a 3c 3f me().{.return.'progress';.}.}.<?
11dd00 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
11dd20 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 Component\Console\Helper;..use.S
11dd40 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 ymfony\Component\Console\Excepti
11dd60 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 on\InvalidArgumentException;.use
11dd80 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 .Symfony\Component\Console\Excep
11dda0 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 tion\LogicException;.use.Symfony
11ddc0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 \Component\Console\Output\Output
11dde0 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 49 6e 64 Interface;.....class.ProgressInd
11de00 69 63 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 icator.{.private.$output;.privat
11de20 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 70 e.$startTime;.private.$format;.p
11de40 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 rivate.$message;.private.$indica
11de60 74 6f 72 56 61 6c 75 65 73 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 75 72 torValues;.private.$indicatorCur
11de80 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e rent;.private.$indicatorChangeIn
11dea0 74 65 72 76 61 6c 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 terval;.private.$indicatorUpdate
11dec0 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a Time;.private.$started.=.false;.
11dee0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 74 65 72 73 3b 0a 70 72 69 .private.static.$formatters;.pri
11df00 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 vate.static.$formats;........pub
11df20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 lic.function.__construct(OutputI
11df40 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c nterface.$output,.$format.=.null
11df60 2c 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 3d 20 31 30 30 ,.$indicatorChangeInterval.=.100
11df80 2c 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 ,.$indicatorValues.=.null).{.$th
11dfa0 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 is->output.=.$output;..if.(null.
11dfc0 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 66 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e ===.$format).{.$format.=.$this->
11dfe0 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 determineBestFormat();.}..if.(nu
11e000 6c 6c 20 3d 3d 3d 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 20 7b 0a 24 69 6e 64 69 ll.===.$indicatorValues).{.$indi
11e020 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 27 2d 27 2c 20 27 5c 5c 27 2c 20 27 catorValues.=.array('-',.'\\',.'
11e040 7c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 |',.'/');.}..$indicatorValues.=.
11e060 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 3b 0a array_values($indicatorValues);.
11e080 0a 69 66 20 28 32 20 3e 20 63 6f 75 6e 74 28 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 .if.(2.>.count($indicatorValues)
11e0a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
11e0c0 65 70 74 69 6f 6e 28 27 4d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 32 20 69 6e 64 eption('Must.have.at.least.2.ind
11e0e0 69 63 61 74 6f 72 20 76 61 6c 75 65 20 63 68 61 72 61 63 74 65 72 73 2e 27 29 3b 0a 7d 0a 0a 24 icator.value.characters.');.}..$
11e100 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 this->format.=.self::getFormatDe
11e120 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 finition($format);.$this->indica
11e140 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 3d 20 24 69 6e 64 69 63 61 74 6f 72 43 68 torChangeInterval.=.$indicatorCh
11e160 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 angeInterval;.$this->indicatorVa
11e180 6c 75 65 73 20 3d 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 3b 0a 24 74 68 69 73 2d 3e lues.=.$indicatorValues;.$this->
11e1a0 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c startTime.=.time();.}.......publ
11e1c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 6d 65 73 73 61 67 65 29 ic.function.setMessage($message)
11e1e0 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 24 .{.$this->message.=.$message;..$
11e200 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 this->display();.}.........publi
11e220 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getMessage().{.return
11e240 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .$this->message;.}.........publi
11e260 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 0a 7b 0a 72 65 74 75 c.function.getStartTime().{.retu
11e280 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 rn.$this->startTime;.}.........p
11e2a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 ublic.function.getCurrentValue()
11e2c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 .{.return.$this->indicatorValues
11e2e0 5b 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 20 25 20 63 6f 75 6e 74 [$this->indicatorCurrent.%.count
11e300 28 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 5d 3b 0a 7d 0a 0a 0a 0a ($this->indicatorValues)];.}....
11e320 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 6d 65 73 73 61 67 ...public.function.start($messag
11e340 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 e).{.if.($this->started).{.throw
11e360 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e .new.LogicException('Progress.in
11e380 64 69 63 61 74 6f 72 20 61 6c 72 65 61 64 79 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 24 dicator.already.started.');.}..$
11e3a0 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d this->message.=.$message;.$this-
11e3c0 3e 73 74 61 72 74 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d >started.=.true;.$this->startTim
11e3e0 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 e.=.time();.$this->indicatorUpda
11e400 74 65 54 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e teTime.=.$this->getCurrentTimeIn
11e420 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f Milliseconds().+.$this->indicato
11e440 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f rChangeInterval;.$this->indicato
11e460 72 43 75 72 72 65 6e 74 20 3d 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b rCurrent.=.0;..$this->display();
11e480 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 29 .}.....public.function.advance()
11e4a0 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 .{.if.(!$this->started).{.throw.
11e4c0 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e 64 new.LogicException('Progress.ind
11e4e0 69 63 61 74 6f 72 20 68 61 73 20 6e 6f 74 20 79 65 74 20 62 65 65 6e 20 73 74 61 72 74 65 64 2e icator.has.not.yet.been.started.
11e500 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 ');.}..if.(!$this->output->isDec
11e520 6f 72 61 74 65 64 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 54 orated()).{.return;.}..$currentT
11e540 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c ime.=.$this->getCurrentTimeInMil
11e560 6c 69 73 65 63 6f 6e 64 73 28 29 3b 0a 0a 69 66 20 28 24 63 75 72 72 65 6e 74 54 69 6d 65 20 3c liseconds();..if.($currentTime.<
11e580 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d 65 29 20 7b 0a 72 .$this->indicatorUpdateTime).{.r
11e5a0 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 eturn;.}..$this->indicatorUpdate
11e5c0 54 69 6d 65 20 3d 20 24 63 75 72 72 65 6e 74 54 69 6d 65 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 Time.=.$currentTime.+.$this->ind
11e5e0 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 2b 2b 24 74 68 69 73 2d 3e 69 icatorChangeInterval;.++$this->i
11e600 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 ndicatorCurrent;..$this->display
11e620 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 69 ();.}.......public.function.fini
11e640 73 68 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 sh($message).{.if.(!$this->start
11e660 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 ed).{.throw.new.LogicException('
11e680 50 72 6f 67 72 65 73 73 20 69 6e 64 69 63 61 74 6f 72 20 68 61 73 20 6e 6f 74 20 79 65 74 20 62 Progress.indicator.has.not.yet.b
11e6a0 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 een.started.');.}..$this->messag
11e6c0 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a e.=.$message;.$this->display();.
11e6e0 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 24 74 68 69 $this->output->writeln('');.$thi
11e700 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 s->started.=.false;.}.........pu
11e720 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 44 65 blic.static.function.getFormatDe
11e740 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f finition($name).{.if.(!self::$fo
11e760 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a rmats).{.self::$formats.=.self::
11e780 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 initFormats();.}..return.isset(s
11e7a0 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 elf::$formats[$name]).?.self::$f
11e7c0 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ormats[$name].:.null;.}.........
11e7e0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 61 63 65 .public.static.function.setPlace
11e800 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c holderFormatterDefinition($name,
11e820 20 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 .$callable).{.if.(!self::$format
11e840 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 ters).{.self::$formatters.=.self
11e860 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d ::initPlaceholderFormatters();.}
11e880 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 61 ..self::$formatters[$name].=.$ca
11e8a0 6c 6c 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 llable;.}.........public.static.
11e8c0 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 function.getPlaceholderFormatter
11e8e0 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 Definition($name).{.if.(!self::$
11e900 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 formatters).{.self::$formatters.
11e920 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 =.self::initPlaceholderFormatter
11e940 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d s();.}..return.isset(self::$form
11e960 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 atters[$name]).?.self::$formatte
11e980 72 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e rs[$name].:.null;.}..private.fun
11e9a0 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 29 0a 7b 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 ction.display().{.if.(OutputInte
11e9c0 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 rface::VERBOSITY_QUIET.===.$this
11e9e0 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 ->output->getVerbosity()).{.retu
11ea00 72 6e 3b 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 0a 24 74 68 69 73 2d 3e 6f 76 rn;.}..$self.=.$this;..$this->ov
11ea20 65 72 77 72 69 74 65 28 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b erwrite(preg_replace_callback("{
11ea40 25 28 5b 61 2d 7a 5c 2d 5f 5d 2b 29 28 3f 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f 25 7d 69 22 2c 20 %([a-z\-_]+)(?:\:([^%]+))?%}i",.
11ea60 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 65 6c 66 29 20 function.($matches).use.($self).
11ea80 7b 0a 69 66 20 28 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 73 65 6c 66 3a 3a 67 65 74 50 6c 61 {.if.($formatter.=.$self::getPla
11eaa0 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 61 74 ceholderFormatterDefinition($mat
11eac0 63 68 65 73 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e ches[1])).{.return.call_user_fun
11eae0 63 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 65 6c 66 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 c($formatter,.$self);.}..return.
11eb00 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 29 3b $matches[0];.},.$this->format));
11eb20 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 .}..private.function.determineBe
11eb40 73 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 stFormat().{.switch.($this->outp
11eb60 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 0a 20 63 61 73 65 20 4f 75 74 ut->getVerbosity()).{...case.Out
11eb80 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a putInterface::VERBOSITY_VERBOSE:
11eba0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 .return.$this->output->isDecorat
11ebc0 65 64 28 29 20 3f 20 27 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 ed().?.'verbose'.:.'verbose_no_a
11ebe0 6e 73 69 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 nsi';.case.OutputInterface::VERB
11ec00 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 74 49 OSITY_VERY_VERBOSE:.case.OutputI
11ec20 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 72 65 74 75 72 nterface::VERBOSITY_DEBUG:.retur
11ec40 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f n.$this->output->isDecorated().?
11ec60 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3a 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f .'very_verbose'.:.'very_verbose_
11ec80 6e 6f 5f 61 6e 73 69 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d no_ansi';.default:.return.$this-
11eca0 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 27 6e 6f 72 6d 61 6c >output->isDecorated().?.'normal
11ecc0 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a '.:.'normal_no_ansi';.}.}.......
11ece0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 private.function.overwrite($mess
11ed00 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f age).{.if.($this->output->isDeco
11ed20 72 61 74 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 rated()).{.$this->output->write(
11ed40 22 5c 78 30 44 5c 78 31 42 5b 32 4b 22 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 "\x0D\x1B[2K");.$this->output->w
11ed60 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e rite($message);.}.else.{.$this->
11ed80 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a output->writeln($message);.}.}..
11eda0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 private.function.getCurrentTimeI
11edc0 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 72 6f 75 6e 64 28 6d nMilliseconds().{.return.round(m
11ede0 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2a 20 31 30 30 30 29 3b 0a 7d 0a 0a 70 72 69 76 61 icrotime(true).*.1000);.}..priva
11ee00 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 te.static.function.initPlacehold
11ee20 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 erFormatters().{.return.array(.'
11ee40 69 6e 64 69 63 61 74 6f 72 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 indicator'.=>.function.(Progress
11ee60 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 Indicator.$indicator).{.return.$
11ee80 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 3b 0a 7d 2c indicator->getCurrentValue();.},
11eea0 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 .'message'.=>.function.(Progress
11eec0 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 Indicator.$indicator).{.return.$
11eee0 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 2c 0a 27 65 6c 61 indicator->getMessage();.},.'ela
11ef00 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 49 6e 64 69 63 psed'.=>.function.(ProgressIndic
11ef20 61 74 6f 72 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 ator.$indicator).{.return.Helper
11ef40 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 74 69 6d 65 28 29 20 2d 20 24 69 6e 64 69 63 61 74 6f 72 ::formatTime(time().-.$indicator
11ef60 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 3b 0a 7d 2c 0a 27 6d 65 6d 6f 72 79 27 20 3d ->getStartTime());.},.'memory'.=
11ef80 3e 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 >.function.().{.return.Helper::f
11efa0 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 74 72 75 ormatMemory(memory_get_usage(tru
11efc0 65 29 29 3b 0a 7d 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e e));.},.);.}..private.static.fun
11efe0 63 74 69 6f 6e 20 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 ction.initFormats().{.return.arr
11f000 61 79 28 0a 27 6e 6f 72 6d 61 6c 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d ay(.'normal'.=>.'.%indicator%.%m
11f020 65 73 73 61 67 65 25 27 2c 0a 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 essage%',.'normal_no_ansi'.=>.'.
11f040 25 6d 65 73 73 61 67 65 25 27 2c 0a 0a 27 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 69 6e 64 %message%',..'verbose'.=>.'.%ind
11f060 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 29 icator%.%message%.(%elapsed:6s%)
11f080 27 2c 0a 27 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 ',.'verbose_no_ansi'.=>.'.%messa
11f0a0 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 29 27 2c 0a 0a 27 76 65 72 79 5f 76 65 72 62 ge%.(%elapsed:6s%)',..'very_verb
11f0c0 6f 73 65 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 20 ose'.=>.'.%indicator%.%message%.
11f0e0 28 25 65 6c 61 70 73 65 64 3a 36 73 25 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 25 29 27 2c 0a 27 76 (%elapsed:6s%,.%memory:6s%)',.'v
11f100 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 ery_verbose_no_ansi'.=>.'.%messa
11f120 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 25 29 27 ge%.(%elapsed:6s%,.%memory:6s%)'
11f140 2c 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ,.);.}.}.<?php...........namespa
11f160 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c ce.Symfony\Component\Console\Hel
11f180 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 per;..use.Symfony\Component\Cons
11f1a0 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
11f1c0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
11f1e0 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e nsole\Exception\RuntimeException
11f200 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
11f220 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 Formatter\OutputFormatter;.use.S
11f240 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 ymfony\Component\Console\Formatt
11f260 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d er\OutputFormatterStyle;.use.Sym
11f280 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
11f2a0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utInterface;.use.Symfony\Compone
11f2c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 nt\Console\Output\ConsoleOutputI
11f2e0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
11f300 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
11f320 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 use.Symfony\Component\Console\Qu
11f340 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d estion\Question;.use.Symfony\Com
11f360 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 ponent\Console\Question\ChoiceQu
11f380 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 estion;.......class.QuestionHelp
11f3a0 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 er.extends.Helper.{.private.$inp
11f3c0 75 74 53 74 72 65 61 6d 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b utStream;.private.static.$shell;
11f3e0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .private.static.$stty;.........p
11f400 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 ublic.function.ask(InputInterfac
11f420 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 e.$input,.OutputInterface.$outpu
11f440 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 6f 75 t,.Question.$question).{.if.($ou
11f460 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 tput.instanceof.ConsoleOutputInt
11f480 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 erface).{.$output.=.$output->get
11f4a0 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 ErrorOutput();.}..if.(!$input->i
11f4c0 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 24 71 75 65 73 74 69 6f 6e 20 sInteractive()).{.if.($question.
11f4e0 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a 24 63 68 instanceof.ChoiceQuestion).{.$ch
11f500 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 3b oices.=.$question->getChoices();
11f520 0a 0a 72 65 74 75 72 6e 20 24 63 68 6f 69 63 65 73 5b 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 ..return.$choices[$question->get
11f540 44 65 66 61 75 6c 74 28 29 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 71 75 65 73 74 69 6f 6e 2d Default()];.}..return.$question-
11f560 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e >getDefault();.}..if.(!$question
11f580 2d 3e 67 65 74 56 61 6c 69 64 61 74 6f 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ->getValidator()).{.return.$this
11f5a0 2d 3e 64 6f 41 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a ->doAsk($output,.$question);.}..
11f5c0 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 $that.=.$this;..$interviewer.=.f
11f5e0 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 unction.().use.($output,.$questi
11f600 6f 6e 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 74 2d 3e 64 6f 41 73 6b on,.$that).{.return.$that->doAsk
11f620 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e ($output,.$question);.};..return
11f640 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 .$this->validateAttempts($interv
11f660 69 65 77 65 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a iewer,.$output,.$question);.}...
11f680 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 ........public.function.setInput
11f6a0 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 69 66 20 28 21 69 73 5f 72 65 73 6f 75 72 Stream($stream).{.if.(!is_resour
11f6c0 63 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 ce($stream)).{.throw.new.Invalid
11f6e0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 75 74 20 73 74 72 65 61 6d 20 ArgumentException('Input.stream.
11f700 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 72 65 73 6f 75 72 63 65 2e 27 29 3b 0a 7d 0a 0a must.be.a.valid.resource.');.}..
11f720 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 7d 0a $this->inputStream.=.$stream;.}.
11f740 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 53 74 ......public.function.getInputSt
11f760 72 65 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 ream().{.return.$this->inputStre
11f780 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d am;.}.....public.function.getNam
11f7a0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 71 75 65 73 74 69 6f 6e 27 3b 0a 7d 0a 0a 0a 0a 0a 0a e().{.return.'question';.}......
11f7c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 41 73 6b 28 4f 75 74 70 75 .....public.function.doAsk(Outpu
11f7e0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 tInterface.$output,.Question.$qu
11f800 65 73 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 50 72 6f 6d 70 74 28 24 6f 75 estion).{.$this->writePrompt($ou
11f820 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 tput,.$question);..$inputStream.
11f840 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 3b 0a 24 =.$this->inputStream.?:.STDIN;.$
11f860 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 41 75 74 autocomplete.=.$question->getAut
11f880 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d ocompleterValues();..if.(null.==
11f8a0 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 74 68 69 73 2d 3e 68 61 73 53 74 =.$autocomplete.||.!$this->hasSt
11f8c0 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 20 3d 20 66 61 6c 73 65 3b 0a 69 tyAvailable()).{.$ret.=.false;.i
11f8e0 66 20 28 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 65 6e 28 29 29 20 7b 0a 74 72 79 20 f.($question->isHidden()).{.try.
11f900 7b 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 67 65 74 48 69 64 64 65 6e 52 65 {.$ret.=.trim($this->getHiddenRe
11f920 73 70 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 3b 0a sponse($output,.$inputStream));.
11f940 7d 20 63 61 74 63 68 20 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a }.catch.(RuntimeException.$e).{.
11f960 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b if.(!$question->isHiddenFallback
11f980 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 ()).{.throw.$e;.}.}.}..if.(false
11f9a0 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 24 72 65 74 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 74 .===.$ret).{.$ret.=.fgets($input
11f9c0 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 Stream,.4096);.if.(false.===.$re
11f9e0 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 t).{.throw.new.RuntimeException(
11fa00 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 72 65 74 29 3b 'Aborted');.}.$ret.=.trim($ret);
11fa20 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 61 .}.}.else.{.$ret.=.trim($this->a
11fa40 75 74 6f 63 6f 6d 70 6c 65 74 65 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 utocomplete($output,.$question,.
11fa60 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 69 73 5f 61 72 72 61 79 28 24 61 75 74 6f 63 6f 6d 70 $inputStream,.is_array($autocomp
11fa80 6c 65 74 65 29 20 3f 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3a 20 69 74 65 72 61 74 6f 72 lete).?.$autocomplete.:.iterator
11faa0 5f 74 6f 5f 61 72 72 61 79 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 2c 20 66 61 6c 73 65 29 29 _to_array($autocomplete,.false))
11fac0 29 3b 0a 7d 0a 0a 24 72 65 74 20 3d 20 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 20 3f 20 );.}..$ret.=.strlen($ret).>.0.?.
11fae0 24 72 65 74 20 3a 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a $ret.:.$question->getDefault();.
11fb00 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 .if.($normalizer.=.$question->ge
11fb20 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 tNormalizer()).{.return.$normali
11fb40 7a 65 72 28 24 72 65 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a zer($ret);.}..return.$ret;.}....
11fb60 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 50 72 6f 6d 70 74 28 .protected.function.writePrompt(
11fb80 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f OutputInterface.$output,.Questio
11fba0 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 71 75 65 73 74 n.$question).{.$message.=.$quest
11fbc0 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 71 75 65 73 74 69 ion->getQuestion();..if.($questi
11fbe0 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a on.instanceof.ChoiceQuestion).{.
11fc00 24 6d 61 78 57 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 $maxWidth.=.max(array_map(array(
11fc20 24 74 68 69 73 2c 20 27 73 74 72 6c 65 6e 27 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 71 75 $this,.'strlen'),.array_keys($qu
11fc40 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 29 29 29 3b 0a 0a 24 6d 65 73 73 61 estion->getChoices())));..$messa
11fc60 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 ges.=.(array).$question->getQues
11fc80 74 69 6f 6e 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 tion();.foreach.($question->getC
11fca0 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 77 hoices().as.$key.=>.$value).{.$w
11fcc0 69 64 74 68 20 3d 20 24 6d 61 78 57 69 64 74 68 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e idth.=.$maxWidth.-.$this->strlen
11fce0 28 24 6b 65 79 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 20 20 5b 3c 69 6e 66 6f 3e ($key);.$messages[].=.'..[<info>
11fd00 27 2e 24 6b 65 79 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 77 69 64 74 68 29 2e 27 '.$key.str_repeat('.',.$width).'
11fd20 3c 2f 69 6e 66 6f 3e 5d 20 27 2e 24 76 61 6c 75 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 </info>].'.$value;.}..$output->w
11fd40 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 riteln($messages);..$message.=.$
11fd60 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 question->getPrompt();.}..$outpu
11fd80 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 t->write($message);.}.....protec
11fda0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 4f 75 74 70 75 74 49 6e ted.function.writeError(OutputIn
11fdc0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 terface.$output,.\Exception.$err
11fde0 6f 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c or).{.if.(null.!==.$this->getHel
11fe00 70 65 72 53 65 74 28 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 perSet().&&.$this->getHelperSet(
11fe20 29 2d 3e 68 61 73 28 27 66 6f 72 6d 61 74 74 65 72 27 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 )->has('formatter')).{.$message.
11fe40 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 66 6f =.$this->getHelperSet()->get('fo
11fe60 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 65 72 72 6f 72 2d 3e 67 rmatter')->formatBlock($error->g
11fe80 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a etMessage(),.'error');.}.else.{.
11fea0 24 6d 65 73 73 61 67 65 20 3d 20 27 3c 65 72 72 6f 72 3e 27 2e 24 65 72 72 6f 72 2d 3e 67 65 74 $message.=.'<error>'.$error->get
11fec0 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 Message().'</error>';.}..$output
11fee0 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ->writeln($message);.}..........
11ff00 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 28 ..private.function.autocomplete(
11ff20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f OutputInterface.$output,.Questio
11ff40 6e 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 61 72 72 61 79 n.$question,.$inputStream,.array
11ff60 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 0a 7b 0a 24 72 65 74 20 3d 20 27 27 3b 0a 0a 24 69 .$autocomplete).{.$ret.=.'';..$i
11ff80 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 .=.0;.$ofs.=.-1;.$matches.=.$aut
11ffa0 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 63 6f 75 6e 74 28 24 ocomplete;.$numMatches.=.count($
11ffc0 6d 61 74 63 68 65 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 matches);..$sttyMode.=.shell_exe
11ffe0 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 c('stty.-g');....shell_exec('stt
120000 79 20 2d 69 63 61 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 67 y.-icanon.-echo');....$output->g
120020 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 27 68 6c 27 2c 20 6e 65 etFormatter()->setStyle('hl',.ne
120040 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 w.OutputFormatterStyle('black',.
120060 27 77 68 69 74 65 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 21 66 65 6f 66 28 24 69 6e 70 75 'white'));....while.(!feof($inpu
120080 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 tStream)).{.$c.=.fread($inputStr
1200a0 65 61 6d 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d 3d 20 24 63 29 20 7b eam,.1);....if.("\177".===.$c).{
1200c0 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 26 26 20 30 20 21 3d 3d 20 .if.(0.===.$numMatches.&&.0.!==.
1200e0 24 69 29 20 7b 0a 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 $i).{.--$i;...$output->write("\0
120100 33 33 5b 31 44 22 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 24 6f 66 73 33[1D");.}..if.(0.===.$i).{.$ofs
120120 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b .=.-1;.$matches.=.$autocomplete;
120140 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a .$numMatches.=.count($matches);.
120160 7d 20 65 6c 73 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 0a 20 24 }.else.{.$numMatches.=.0;.}....$
120180 72 65 74 20 3d 20 73 75 62 73 74 72 28 24 72 65 74 2c 20 30 2c 20 24 69 29 3b 0a 7d 20 65 6c 73 ret.=.substr($ret,.0,.$i);.}.els
1201a0 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 0a 20 24 63 20 2e 3d 20 66 72 eif.("\033".===.$c).{...$c..=.fr
1201c0 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 32 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 ead($inputStream,.2);....if.(iss
1201e0 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 7c 7c 20 27 et($c[2]).&&.('A'.===.$c[2].||.'
120200 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b B'.===.$c[2])).{.if.('A'.===.$c[
120220 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 20 3d 20 30 3b 0a 7d 2].&&.-1.===.$ofs).{.$ofs.=.0;.}
120240 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 7b 0a 63 6f 6e 74 69 ..if.(0.===.$numMatches).{.conti
120260 6e 75 65 3b 0a 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 20 nue;.}..$ofs.+=.('A'.===.$c[2]).
120280 3f 20 2d 31 20 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 2b 20 ?.-1.:.1;.$ofs.=.($numMatches.+.
1202a0 24 6f 66 73 29 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 $ofs).%.$numMatches;.}.}.elseif.
1202c0 28 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 63 (ord($c).<.32).{.if.("\t".===.$c
1202e0 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 .||."\n".===.$c).{.if.($numMatch
120300 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 72 65 74 20 3d 20 es.>.0.&&.-1.!==.$ofs).{.$ret.=.
120320 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 $matches[$ofs];...$output->write
120340 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d 20 73 74 72 6c 65 6e 28 (substr($ret,.$i));.$i.=.strlen(
120360 24 72 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 24 6f 75 $ret);.}..if.("\n".===.$c).{.$ou
120380 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 6e 75 6d 4d tput->write($c);.break;.}..$numM
1203a0 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 20 atches.=.0;.}..continue;.}.else.
1203c0 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 72 65 74 20 2e 3d 20 24 63 {.$output->write($c);.$ret..=.$c
1203e0 3b 0a 2b 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 24 6f 66 73 20 3d ;.++$i;..$numMatches.=.0;.$ofs.=
120400 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 61 73 20 24 .0;..foreach.($autocomplete.as.$
120420 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c value).{...if.(0.===.strpos($val
120440 75 65 2c 20 24 72 65 74 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 75 6d 4d 61 74 63 68 65 ue,.$ret)).{.$matches[$numMatche
120460 73 2b 2b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 2d s++].=.$value;.}.}.}....$output-
120480 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 >write("\033[K");..if.($numMatch
1204a0 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 0a 20 24 6f 75 74 70 es.>.0.&&.-1.!==.$ofs).{...$outp
1204c0 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 22 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 ut->write("\0337");...$output->w
1204e0 72 69 74 65 28 27 3c 68 6c 3e 27 2e 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 rite('<hl>'.OutputFormatter::esc
120500 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 73 75 62 73 74 72 28 24 6d 61 74 apeTrailingBackslash(substr($mat
120520 63 68 65 73 5b 24 6f 66 73 5d 2c 20 24 69 29 29 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 0a 20 24 6f 75 ches[$ofs],.$i)).'</hl>');...$ou
120540 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 38 22 29 3b 0a 7d 0a 7d 0a 0a 0a 20 73 68 65 tput->write("\0338");.}.}....she
120560 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 ll_exec(sprintf('stty.%s',.$stty
120580 4d 6f 64 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a Mode));..return.$ret;.}.........
1205a0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 69 64 64 65 6e 52 65 73 ...private.function.getHiddenRes
1205c0 70 6f 6e 73 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 ponse(OutputInterface.$output,.$
1205e0 69 6e 70 75 74 53 74 72 65 61 6d 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 inputStream).{.if.('\\'.===.DIRE
120600 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 78 65 20 3d 20 5f 5f 44 49 52 5f CTORY_SEPARATOR).{.$exe.=.__DIR_
120620 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 _.'/../Resources/bin/hiddeninput
120640 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 .exe';....if.('phar:'.===.substr
120660 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 74 6d 70 45 78 65 20 3d 20 73 79 (__FILE__,.0,.5)).{.$tmpExe.=.sy
120680 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 s_get_temp_dir().'/hiddeninput.e
1206a0 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d 70 45 78 65 29 3b 0a 24 65 78 65 20 3d xe';.copy($exe,.$tmpExe);.$exe.=
1206c0 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c .$tmpExe;.}..$value.=.rtrim(shel
1206e0 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 l_exec($exe));.$output->writeln(
120700 27 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 29 20 7b 0a 75 6e 6c 69 '');..if.(isset($tmpExe)).{.unli
120720 6e 6b 28 24 74 6d 70 45 78 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d nk($tmpExe);.}..return.$value;.}
120740 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 ..if.($this->hasSttyAvailable())
120760 20 7b 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 .{.$sttyMode.=.shell_exec('stty.
120780 2d 67 27 29 3b 0a 0a 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 65 63 68 6f 27 29 3b -g');..shell_exec('stty.-echo');
1207a0 0a 24 76 61 6c 75 65 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 34 30 .$value.=.fgets($inputStream,.40
1207c0 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 96);.shell_exec(sprintf('stty.%s
1207e0 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 ',.$sttyMode));..if.(false.===.$
120800 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 value).{.throw.new.RuntimeExcept
120820 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 74 72 69 6d ion('Aborted');.}..$value.=.trim
120840 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a ($value);.$output->writeln('');.
120860 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d .return.$value;.}..if.(false.!==
120880 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 65 6c 6c 28 29 29 20 7b 0a 24 .$shell.=.$this->getShell()).{.$
1208a0 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 20 3d 3d 3d 20 24 73 68 65 6c 6c 20 3f 20 27 73 65 readCmd.=.'csh'.===.$shell.?.'se
1208c0 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 61 64 20 2d 72 20 6d 79 t.mypassword.=.$<'.:.'read.-r.my
1208e0 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 22 2f password';.$command.=.sprintf("/
120900 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 73 74 74 79 20 2d 65 63 68 6f 3b 20 25 usr/bin/env.%s.-c.'stty.-echo;.%
120920 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 20 5c 24 6d 79 70 61 73 73 77 6f 72 64 27 s;.stty.echo;.echo.\$mypassword'
120940 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 ",.$shell,.$readCmd);.$value.=.r
120960 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 24 6f 75 74 trim(shell_exec($command));.$out
120980 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 put->writeln('');..return.$value
1209a0 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ;.}..throw.new.RuntimeException(
1209c0 27 55 6e 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 27 29 3b 'Unable.to.hide.the.response.');
1209e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 .}.............private.function.
120a00 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 4f validateAttempts($interviewer,.O
120a20 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e utputInterface.$output,.Question
120a40 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 24 61 74 .$question).{.$error.=.null;.$at
120a60 74 65 6d 70 74 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 4d 61 78 41 74 74 65 6d 70 tempts.=.$question->getMaxAttemp
120a80 74 73 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 ts();.while.(null.===.$attempts.
120aa0 7c 7c 20 24 61 74 74 65 6d 70 74 73 2d 2d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 ||.$attempts--).{.if.(null.!==.$
120ac0 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 error).{.$this->writeError($outp
120ae0 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 63 61 6c ut,.$error);.}..try.{.return.cal
120b00 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 61 6c 69 64 61 l_user_func($question->getValida
120b20 74 6f 72 28 29 2c 20 24 69 6e 74 65 72 76 69 65 77 65 72 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 tor(),.$interviewer());.}.catch.
120b40 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 (RuntimeException.$e).{.throw.$e
120b60 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 20 7b 0a ;.}.catch.(\Exception.$error).{.
120b80 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 }.}..throw.$error;.}.......priva
120ba0 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 66 20 28 6e 75 6c te.function.getShell().{.if.(nul
120bc0 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c l.!==.self::$shell).{.return.sel
120be0 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 61 6c f::$shell;.}..self::$shell.=.fal
120c00 73 65 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 75 73 72 2f 62 69 6e 2f 65 se;..if.(file_exists('/usr/bin/e
120c20 6e 76 27 29 29 20 7b 0a 0a 20 24 74 65 73 74 20 3d 20 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 nv')).{...$test.=."/usr/bin/env.
120c40 25 73 20 2d 63 20 27 65 63 68 6f 20 4f 4b 27 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 22 3b 0a 66 %s.-c.'echo.OK'.2>./dev/null";.f
120c60 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 62 61 73 68 27 2c 20 27 7a 73 68 27 2c 20 27 6b 73 oreach.(array('bash',.'zsh',.'ks
120c80 68 27 2c 20 27 63 73 68 27 29 20 61 73 20 24 73 68 29 20 7b 0a 69 66 20 28 27 4f 4b 27 20 3d 3d h',.'csh').as.$sh).{.if.('OK'.==
120ca0 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 24 74 65 73 74 =.rtrim(shell_exec(sprintf($test
120cc0 2c 20 24 73 68 29 29 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a ,.$sh)))).{.self::$shell.=.$sh;.
120ce0 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c break;.}.}.}..return.self::$shel
120d00 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 l;.}.......private.function.hasS
120d20 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 ttyAvailable().{.if.(null.!==.se
120d40 6c 66 3a 3a 24 73 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b lf::$stty).{.return.self::$stty;
120d60 0a 7d 0a 0a 65 78 65 63 28 27 73 74 74 79 20 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 .}..exec('stty.2>&1',.$output,.$
120d80 65 78 69 74 63 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d exitcode);..return.self::$stty.=
120da0 20 30 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .0.===.$exitcode;.}.}.<?php.....
120dc0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
120de0 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\Console\Helper;..use.Symfony\C
120e00 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 omponent\Console\Exception\Logic
120e20 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Exception;.use.Symfony\Component
120e40 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 \Console\Input\InputInterface;.u
120e60 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
120e80 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 put\OutputInterface;.use.Symfony
120ea0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 \Component\Console\Question\Choi
120ec0 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ceQuestion;.use.Symfony\Componen
120ee0 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 t\Console\Question\ConfirmationQ
120f00 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 uestion;.use.Symfony\Component\C
120f20 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 onsole\Question\Question;.use.Sy
120f40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 5c 53 79 mfony\Component\Console\Style\Sy
120f60 6d 66 6f 6e 79 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e mfonyStyle;.use.Symfony\Componen
120f80 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 t\Console\Formatter\OutputFormat
120fa0 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e ter;.......class.SymfonyQuestion
120fc0 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 0a 7b 0a Helper.extends.QuestionHelper.{.
120fe0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 49 6e 70 75 74 49 6e 74 65 ...public.function.ask(InputInte
121000 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f rface.$input,.OutputInterface.$o
121020 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 76 61 utput,.Question.$question).{.$va
121040 6c 69 64 61 74 6f 72 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 61 6c 69 64 61 74 6f lidator.=.$question->getValidato
121060 72 28 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 66 75 6e r();.$question->setValidator(fun
121080 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 76 61 6c 69 64 61 74 6f 72 29 20 ction.($value).use.($validator).
1210a0 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 6f 72 29 20 7b 0a 24 76 61 {.if.(null.!==.$validator).{.$va
1210c0 6c 75 65 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 lue.=.$validator($value);.}.else
1210e0 20 7b 0a 0a 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 21 69 .{...if.(!is_array($value).&&.!i
121100 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 s_bool($value).&&.0.===.strlen($
121120 76 61 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 value)).{.throw.new.LogicExcepti
121140 6f 6e 28 27 41 20 76 61 6c 75 65 20 69 73 20 72 65 71 75 69 72 65 64 2e 27 29 3b 0a 7d 0a 7d 0a on('A.value.is.required.');.}.}.
121160 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 .return.$value;.});..return.pare
121180 6e 74 3a 3a 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 nt::ask($input,.$output,.$questi
1211a0 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 on);.}.....protected.function.wr
1211c0 69 74 65 50 72 6f 6d 70 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 itePrompt(OutputInterface.$outpu
1211e0 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 74 65 78 74 20 3d t,.Question.$question).{.$text.=
121200 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 .OutputFormatter::escapeTrailing
121220 42 61 63 6b 73 6c 61 73 68 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e Backslash($question->getQuestion
121240 28 29 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 ());.$default.=.$question->getDe
121260 66 61 75 6c 74 28 29 3b 0a 0a 73 77 69 74 63 68 20 28 74 72 75 65 29 20 7b 0a 63 61 73 65 20 6e fault();..switch.(true).{.case.n
121280 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 3a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 ull.===.$default:.$text.=.sprint
1212a0 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 27 2c 20 24 74 65 78 74 29 3b 0a 0a f('.<info>%s</info>:',.$text);..
1212c0 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f break;..case.$question.instanceo
1212e0 66 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3a 0a 24 74 65 78 74 20 3d 20 f.ConfirmationQuestion:.$text.=.
121300 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 20 28 79 65 73 2f 6e 6f 29 3c 2f 69 6e 66 sprintf('.<info>%s.(yes/no)</inf
121320 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 o>.[<comment>%s</comment>]:',.$t
121340 65 78 74 2c 20 24 64 65 66 61 75 6c 74 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 3b 0a 0a ext,.$default.?.'yes'.:.'no');..
121360 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f break;..case.$question.instanceo
121380 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 20 26 26 20 24 71 75 65 73 74 69 6f 6e 2d 3e 69 f.ChoiceQuestion.&&.$question->i
1213a0 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 3a 0a 24 63 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 sMultiselect():.$choices.=.$ques
1213c0 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 65 tion->getChoices();.$default.=.e
1213e0 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 xplode(',',.$default);..foreach.
121400 28 24 64 65 66 61 75 6c 74 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 ($default.as.$key.=>.$value).{.$
121420 64 65 66 61 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 24 63 68 6f 69 63 65 73 5b 74 72 69 6d 28 24 76 default[$key].=.$choices[trim($v
121440 61 6c 75 65 29 5d 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e alue)];.}..$text.=.sprintf('.<in
121460 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 fo>%s</info>.[<comment>%s</comme
121480 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a nt>]:',.$text,.OutputFormatter::
1214a0 65 73 63 61 70 65 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 64 65 66 61 75 6c 74 29 29 29 escape(implode(',.',.$default)))
1214c0 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e ;..break;..case.$question.instan
1214e0 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3a 0a 24 63 68 6f 69 63 65 73 20 3d 20 ceof.ChoiceQuestion:.$choices.=.
121500 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 24 74 65 78 74 20 3d $question->getChoices();.$text.=
121520 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d .sprintf('.<info>%s</info>.[<com
121540 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 ment>%s</comment>]:',.$text,.Out
121560 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 63 68 6f 69 63 65 73 5b 24 64 putFormatter::escape($choices[$d
121580 65 66 61 75 6c 74 5d 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 65 efault]));..break;..default:.$te
1215a0 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b xt.=.sprintf('.<info>%s</info>.[
1215c0 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c <comment>%s</comment>]:',.$text,
1215e0 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c .OutputFormatter::escape($defaul
121600 74 29 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 65 78 74 29 3b t));.}..$output->writeln($text);
121620 0a 0a 69 66 20 28 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 ..if.($question.instanceof.Choic
121640 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f eQuestion).{.$width.=.max(array_
121660 6d 61 70 28 27 73 74 72 6c 65 6e 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 71 75 65 73 74 69 map('strlen',.array_keys($questi
121680 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 on->getChoices())));..foreach.($
1216a0 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d question->getChoices().as.$key.=
1216c0 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 >.$value).{.$output->writeln(spr
1216e0 69 6e 74 66 28 22 20 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 2d 24 7b 77 69 64 74 68 7d 73 3c 2f 63 intf("..[<comment>%-${width}s</c
121700 6f 6d 6d 65 6e 74 3e 5d 20 25 73 22 2c 20 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a omment>].%s",.$key,.$value));.}.
121720 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 20 3e 20 27 29 3b 0a 7d 0a 0a 0a 0a 0a }..$output->write('.>.');.}.....
121740 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 4f 75 protected.function.writeError(Ou
121760 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f tputInterface.$output,.\Exceptio
121780 6e 20 24 65 72 72 6f 72 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 n.$error).{.if.($output.instance
1217a0 6f 66 20 53 79 6d 66 6f 6e 79 53 74 79 6c 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 6e 65 77 4c of.SymfonyStyle).{.$output->newL
1217c0 69 6e 65 28 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 65 72 72 6f 72 28 24 65 72 72 6f 72 2d 3e 67 65 ine();.$output->error($error->ge
1217e0 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a tMessage());..return;.}..parent:
121800 3a 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a :writeError($output,.$error);.}.
121820 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
121840 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 ony\Component\Console\Helper;..u
121860 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
121880 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 put\OutputInterface;.use.Symfony
1218a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 \Component\Console\Exception\Inv
1218c0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a alidArgumentException;..........
1218e0 63 6c 61 73 73 20 54 61 62 6c 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 class.Table.{....private.$header
121900 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 6f 77 73 20 3d s.=.array();.....private.$rows.=
121920 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 75 6d 6e 57 69 64 .array();.....private.$columnWid
121940 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 75 ths.=.array();.......private.$nu
121960 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 mberOfColumns;.....private.$outp
121980 75 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 3b 0a 0a 0a 0a 0a 70 72 69 76 ut;.....private.$style;.....priv
1219a0 61 74 65 20 24 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 ate.$columnStyles.=.array();..pr
1219c0 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 79 6c 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 ivate.static.$styles;..public.fu
1219e0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 nction.__construct(OutputInterfa
121a00 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f ce.$output).{.$this->output.=.$o
121a20 75 74 70 75 74 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 utput;..if.(!self::$styles).{.se
121a40 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 lf::$styles.=.self::initStyles()
121a60 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b ;.}..$this->setStyle('default');
121a80 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e .}........public.static.function
121aa0 20 73 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 54 61 62 6c 65 .setStyleDefinition($name,.Table
121ac0 53 74 79 6c 65 20 24 73 74 79 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c Style.$style).{.if.(!self::$styl
121ae0 65 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 es).{.self::$styles.=.self::init
121b00 53 74 79 6c 65 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 Styles();.}..self::$styles[$name
121b20 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 ].=.$style;.}.........public.sta
121b40 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 tic.function.getStyleDefinition(
121b60 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 $name).{.if.(!self::$styles).{.s
121b80 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 elf::$styles.=.self::initStyles(
121ba0 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e );.}..if.(isset(self::$styles[$n
121bc0 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e ame])).{.return.self::$styles[$n
121be0 61 6d 65 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ame];.}..throw.new.InvalidArgume
121c00 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 74 79 6c 65 20 22 25 73 22 20 ntException(sprintf('Style."%s".
121c20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a is.not.defined.',.$name));.}....
121c40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 28 24 6e .....public.function.setStyle($n
121c60 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 ame).{.$this->style.=.$this->res
121c80 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b olveStyle($name);..return.$this;
121ca0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c .}.......public.function.getStyl
121cc0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a e().{.return.$this->style;.}....
121ce0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6c 75 6d 6e 53 ......public.function.setColumnS
121d00 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 63 6f 6c tyle($columnIndex,.$name).{.$col
121d20 75 6d 6e 49 6e 64 65 78 20 3d 20 28 69 6e 74 29 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 3b 0a 0a umnIndex.=.(int).$columnIndex;..
121d40 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 $this->columnStyles[$columnIndex
121d60 5d 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a ].=.$this->resolveStyle($name);.
121d80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .return.$this;.}...........publi
121da0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d c.function.getColumnStyle($colum
121dc0 6e 49 6e 64 65 78 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6c 75 6d nIndex).{.if.(isset($this->colum
121de0 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 29 29 20 7b 0a 72 65 74 75 72 6e nStyles[$columnIndex])).{.return
121e00 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 .$this->columnStyles[$columnInde
121e20 78 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b x];.}..return.$this->getStyle();
121e40 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 .}..public.function.setHeaders(a
121e60 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 rray.$headers).{.$headers.=.arra
121e80 79 5f 76 61 6c 75 65 73 28 24 68 65 61 64 65 72 73 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 y_values($headers);.if.(!empty($
121ea0 68 65 61 64 65 72 73 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 68 65 61 64 65 72 73 5b 30 headers).&&.!is_array($headers[0
121ec0 5d 29 29 20 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 24 68 65 61 64 65 72 73 29 ])).{.$headers.=.array($headers)
121ee0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a ;.}..$this->headers.=.$headers;.
121f00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .return.$this;.}..public.functio
121f20 6e 20 73 65 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e n.setRows(array.$rows).{.$this->
121f40 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 rows.=.array();..return.$this->a
121f60 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ddRows($rows);.}..public.functio
121f80 6e 20 61 64 64 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 66 6f 72 65 61 63 68 n.addRows(array.$rows).{.foreach
121fa0 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 6f 77 .($rows.as.$row).{.$this->addRow
121fc0 28 24 72 6f 77 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c ($row);.}..return.$this;.}..publ
121fe0 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 28 24 72 6f 77 29 0a 7b 0a 69 66 20 28 24 ic.function.addRow($row).{.if.($
122000 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b row.instanceof.TableSeparator).{
122020 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 24 72 6f 77 3b 0a 0a 72 65 74 75 72 6e 20 24 .$this->rows[].=.$row;..return.$
122040 74 68 69 73 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 6f 77 29 29 20 7b 0a this;.}..if.(!is_array($row)).{.
122060 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
122080 6f 6e 28 27 41 20 72 6f 77 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 61 20 on('A.row.must.be.an.array.or.a.
1220a0 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 2e 27 29 3b 0a 7d 0a 0a 24 TableSeparator.instance.');.}..$
1220c0 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 72 6f 77 this->rows[].=.array_values($row
1220e0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 );..return.$this;.}..public.func
122100 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 29 tion.setRow($column,.array.$row)
122120 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 72 6f 77 3b 0a .{.$this->rows[$column].=.$row;.
122140 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .return.$this;.}................
122160 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 24 74 68 69 73 public.function.render().{.$this
122180 2d 3e 63 61 6c 63 75 6c 61 74 65 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 3b 0a 24 72 ->calculateNumberOfColumns();.$r
1221a0 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 74 68 69 ows.=.$this->buildTableRows($thi
1221c0 73 2d 3e 72 6f 77 73 29 3b 0a 24 68 65 61 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c s->rows);.$headers.=.$this->buil
1221e0 64 54 61 62 6c 65 52 6f 77 73 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 29 3b 0a 0a 24 74 68 dTableRows($this->headers);..$th
122200 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 43 6f 6c 75 6d 6e 73 57 69 64 74 68 28 61 72 72 61 79 5f is->calculateColumnsWidth(array_
122220 6d 65 72 67 65 28 24 68 65 61 64 65 72 73 2c 20 24 72 6f 77 73 29 29 3b 0a 0a 24 74 68 69 73 2d merge($headers,.$rows));..$this-
122240 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 >renderRowSeparator();.if.(!empt
122260 79 28 24 68 65 61 64 65 72 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 y($headers)).{.foreach.($headers
122280 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 .as.$header).{.$this->renderRow(
1222a0 24 68 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 48 65 $header,.$this->style->getCellHe
1222c0 61 64 65 72 46 6f 72 6d 61 74 28 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 aderFormat());.$this->renderRowS
1222e0 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 eparator();.}.}.foreach.($rows.a
122300 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 s.$row).{.if.($row.instanceof.Ta
122320 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 bleSeparator).{.$this->renderRow
122340 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e Separator();.}.else.{.$this->ren
122360 64 65 72 52 6f 77 28 24 72 6f 77 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 derRow($row,.$this->style->getCe
122380 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 29 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 llRowFormat());.}.}.if.(!empty($
1223a0 72 6f 77 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 rows)).{.$this->renderRowSeparat
1223c0 6f 72 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 75 70 28 29 3b 0a 7d 0a 0a 0a 0a or();.}..$this->cleanup();.}....
1223e0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 53 65 70 ...private.function.renderRowSep
122400 61 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 63 6f 75 6e 74 20 3d 20 24 74 arator().{.if.(0.===.$count.=.$t
122420 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a his->numberOfColumns).{.return;.
122440 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e }..if.(!$this->style->getHorizon
122460 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 73 74 79 6c 65 talBorderChar().&&.!$this->style
122480 2d 3e 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d ->getCrossingChar()).{.return;.}
1224a0 0a 0a 24 6d 61 72 6b 75 70 20 3d 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f ..$markup.=.$this->style->getCro
1224c0 73 73 69 6e 67 43 68 61 72 28 29 3b 0a 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 ssingChar();.for.($column.=.0;.$
1224e0 63 6f 6c 75 6d 6e 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 6d column.<.$count;.++$column).{.$m
122500 61 72 6b 75 70 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 arkup..=.str_repeat($this->style
122520 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 74 68 ->getHorizontalBorderChar(),.$th
122540 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 29 2e 24 74 68 69 73 is->columnWidths[$column]).$this
122560 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 3b 0a 7d 0a 0a 24 ->style->getCrossingChar();.}..$
122580 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 24 74 this->output->writeln(sprintf($t
1225a0 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 his->style->getBorderFormat(),.$
1225c0 6d 61 72 6b 75 70 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e markup));.}.....private.function
1225e0 20 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 .renderColumnSeparator().{.retur
122600 6e 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 n.sprintf($this->style->getBorde
122620 72 46 6f 72 6d 61 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 56 65 72 74 rFormat(),.$this->style->getVert
122640 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 icalBorderChar());.}..........pr
122660 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 28 61 72 72 61 79 20 24 ivate.function.renderRow(array.$
122680 72 6f 77 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 72 row,.$cellFormat).{.if.(empty($r
1226a0 6f 77 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 3d 20 ow)).{.return;.}..$rowContent.=.
1226c0 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a $this->renderColumnSeparator();.
1226e0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 24 72 foreach.($this->getRowColumns($r
122700 6f 77 29 20 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e 3d ow).as.$column).{.$rowContent..=
122720 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 65 6c 6c 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e .$this->renderCell($row,.$column
122740 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 3b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e 3d 20 24 ,.$cellFormat);.$rowContent..=.$
122760 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d this->renderColumnSeparator();.}
122780 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 6f 77 43 6f 6e 74 .$this->output->writeln($rowCont
1227a0 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ent);.}.........private.function
1227c0 20 72 65 6e 64 65 72 43 65 6c 6c 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 2c .renderCell(array.$row,.$column,
1227e0 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 0a 7b 0a 24 63 65 6c 6c 20 3d 20 69 73 73 65 74 28 24 72 .$cellFormat).{.$cell.=.isset($r
122800 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 20 3f 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3a 20 27 ow[$column]).?.$row[$column].:.'
122820 27 3b 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b ';.$width.=.$this->columnWidths[
122840 24 63 6f 6c 75 6d 6e 5d 3b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 $column];.if.($cell.instanceof.T
122860 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 ableCell.&&.$cell->getColspan().
122880 3e 20 31 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 72 61 6e 67 65 28 24 63 6f 6c 75 6d 6e 20 >.1).{...foreach.(range($column.
1228a0 2b 20 31 2c 20 24 63 6f 6c 75 6d 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e +.1,.$column.+.$cell->getColspan
1228c0 28 29 20 2d 20 31 29 20 61 73 20 24 6e 65 78 74 43 6f 6c 75 6d 6e 29 20 7b 0a 24 77 69 64 74 68 ().-.1).as.$nextColumn).{.$width
1228e0 20 2b 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 57 69 64 .+=.$this->getColumnSeparatorWid
122900 74 68 28 29 20 2b 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 6e 65 78 74 th().+.$this->columnWidths[$next
122920 43 6f 6c 75 6d 6e 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 65 Column];.}.}....if.(false.!==.$e
122940 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 63 65 ncoding.=.mb_detect_encoding($ce
122960 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 77 69 64 74 68 20 2b 3d 20 73 74 72 ll,.null,.true)).{.$width.+=.str
122980 6c 65 6e 28 24 63 65 6c 6c 29 20 2d 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 63 65 6c 6c 2c 20 len($cell).-.mb_strwidth($cell,.
1229a0 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 $encoding);.}..$style.=.$this->g
1229c0 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 29 3b 0a 0a 69 66 20 28 24 63 65 etColumnStyle($column);..if.($ce
1229e0 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a ll.instanceof.TableSeparator).{.
122a00 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 return.sprintf($style->getBorder
122a20 46 6f 72 6d 61 74 28 29 2c 20 73 74 72 5f 72 65 70 65 61 74 28 24 73 74 79 6c 65 2d 3e 67 65 74 Format(),.str_repeat($style->get
122a40 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 77 69 64 74 68 29 29 HorizontalBorderChar(),.$width))
122a60 3b 0a 7d 0a 0a 24 77 69 64 74 68 20 2b 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 63 ;.}..$width.+=.Helper::strlen($c
122a80 65 6c 6c 29 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f ell).-.Helper::strlenWithoutDeco
122aa0 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 ration($this->output->getFormatt
122ac0 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 70 72 69 6e 74 66 er(),.$cell);.$content.=.sprintf
122ae0 28 24 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 ($style->getCellRowContentFormat
122b00 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 65 6c (),.$cell);..return.sprintf($cel
122b20 6c 46 6f 72 6d 61 74 2c 20 73 74 72 5f 70 61 64 28 24 63 6f 6e 74 65 6e 74 2c 20 24 77 69 64 74 lFormat,.str_pad($content,.$widt
122b40 68 2c 20 24 73 74 79 6c 65 2d 3e 67 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 29 2c 20 24 73 74 h,.$style->getPaddingChar(),.$st
122b60 79 6c 65 2d 3e 67 65 74 50 61 64 54 79 70 65 28 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 yle->getPadType()));.}.....priva
122b80 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 4e 75 6d 62 65 72 4f 66 43 6f 6c te.function.calculateNumberOfCol
122ba0 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6e 75 6d umns().{.if.(null.!==.$this->num
122bc0 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6c 75 berOfColumns).{.return;.}..$colu
122be0 6d 6e 73 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d mns.=.array(0);.foreach.(array_m
122c00 65 72 67 65 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 2c 20 24 74 68 69 73 2d 3e 72 6f 77 73 erge($this->headers,.$this->rows
122c20 29 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 ).as.$row).{.if.($row.instanceof
122c40 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a .TableSeparator).{.continue;.}..
122c60 24 63 6f 6c 75 6d 6e 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 $columns[].=.$this->getNumberOfC
122c80 6f 6c 75 6d 6e 73 28 24 72 6f 77 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 olumns($row);.}..$this->numberOf
122ca0 43 6f 6c 75 6d 6e 73 20 3d 20 6d 61 78 28 24 63 6f 6c 75 6d 6e 73 29 3b 0a 7d 0a 0a 70 72 69 76 Columns.=.max($columns);.}..priv
122cc0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 72 6f 77 ate.function.buildTableRows($row
122ce0 73 29 0a 7b 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f s).{.$unmergedRows.=.array();.fo
122d00 72 20 28 24 72 6f 77 4b 65 79 20 3d 20 30 3b 20 24 72 6f 77 4b 65 79 20 3c 20 63 6f 75 6e 74 28 r.($rowKey.=.0;.$rowKey.<.count(
122d20 24 72 6f 77 73 29 3b 20 2b 2b 24 72 6f 77 4b 65 79 29 20 7b 0a 24 72 6f 77 73 20 3d 20 24 74 68 $rows);.++$rowKey).{.$rows.=.$th
122d40 69 73 2d 3e 66 69 6c 6c 4e 65 78 74 52 6f 77 73 28 24 72 6f 77 73 2c 20 24 72 6f 77 4b 65 79 29 is->fillNextRows($rows,.$rowKey)
122d60 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 20 61 73 20 ;....foreach.($rows[$rowKey].as.
122d80 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 73 74 72 73 74 72 28 $column.=>.$cell).{.if.(!strstr(
122da0 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 6c 69 6e $cell,."\n")).{.continue;.}.$lin
122dc0 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 es.=.explode("\n",.str_replace("
122de0 5c 6e 22 2c 20 22 3c 66 67 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 5c 6e 3c \n",."<fg=default;bg=default>\n<
122e00 2f 3e 22 2c 20 24 63 65 6c 6c 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 />",.$cell));.foreach.($lines.as
122e20 20 24 6c 69 6e 65 4b 65 79 20 3d 3e 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 .$lineKey.=>.$line).{.if.($cell.
122e40 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 instanceof.TableCell).{.$line.=.
122e60 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 6c 69 6e 65 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 new.TableCell($line,.array('cols
122e80 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 7d pan'.=>.$cell->getColspan()));.}
122ea0 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 6e 65 4b 65 79 29 20 7b 0a 24 72 6f 77 73 5b 24 72 6f .if.(0.===.$lineKey).{.$rows[$ro
122ec0 77 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 20 65 6c 73 65 20 7b wKey][$column].=.$line;.}.else.{
122ee0 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 6c 69 6e 65 4b 65 79 .$unmergedRows[$rowKey][$lineKey
122f00 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 74 61 ][$column].=.$line;.}.}.}.}..$ta
122f20 62 6c 65 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 bleRows.=.array();.foreach.($row
122f40 73 20 61 73 20 24 72 6f 77 4b 65 79 20 3d 3e 20 24 72 6f 77 29 20 7b 0a 24 74 61 62 6c 65 52 6f s.as.$rowKey.=>.$row).{.$tableRo
122f60 77 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f 77 29 3b 0a 69 ws[].=.$this->fillCells($row);.i
122f80 66 20 28 69 73 73 65 74 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 29 f.(isset($unmergedRows[$rowKey])
122fa0 29 20 7b 0a 24 74 61 62 6c 65 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 61 ).{.$tableRows.=.array_merge($ta
122fc0 62 6c 65 52 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 29 bleRows,.$unmergedRows[$rowKey])
122fe0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 62 6c 65 52 6f 77 73 3b 0a 7d 0a 0a 0a 0a 0a ;.}.}..return.$tableRows;.}.....
123000 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 4e 65 78 74 52 6f .....private.function.fillNextRo
123020 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 75 6e 6d 65 72 67 ws(array.$rows,.$line).{.$unmerg
123040 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 edRows.=.array();.foreach.($rows
123060 5b 24 6c 69 6e 65 5d 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 [$line].as.$column.=>.$cell).{.i
123080 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 f.($cell.instanceof.TableCell.&&
1230a0 20 24 63 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 24 6e 62 4c .$cell->getRowspan().>.1).{.$nbL
1230c0 69 6e 65 73 20 3d 20 24 63 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 2d 20 31 3b 0a ines.=.$cell->getRowspan().-.1;.
1230e0 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 24 63 65 6c 6c 29 3b 0a 69 66 20 28 73 74 72 73 74 $lines.=.array($cell);.if.(strst
123100 72 28 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 29 20 7b 0a 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f r($cell,."\n")).{.$lines.=.explo
123120 64 65 28 22 5c 6e 22 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 3c 66 67 3d de("\n",.str_replace("\n",."<fg=
123140 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 5c 6e 3c 2f 3e 22 2c 20 24 63 65 6c 6c default;bg=default>\n</>",.$cell
123160 29 29 3b 0a 24 6e 62 4c 69 6e 65 73 20 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 3e 20 24 ));.$nbLines.=.count($lines).>.$
123180 6e 62 4c 69 6e 65 73 20 3f 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 65 6c 6c 2c 20 22 5c nbLines.?.substr_count($cell,."\
1231a0 6e 22 29 20 3a 20 24 6e 62 4c 69 6e 65 73 3b 0a 0a 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 5b 24 63 n").:.$nbLines;..$rows[$line][$c
1231c0 6f 6c 75 6d 6e 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 6c 69 6e 65 73 5b 30 5d olumn].=.new.TableCell($lines[0]
1231e0 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 ,.array('colspan'.=>.$cell->getC
123200 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 75 6e 73 65 74 28 24 6c 69 6e 65 73 5b 30 5d 29 3b 0a 7d 0a olspan()));.unset($lines[0]);.}.
123220 0a 0a 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 ...$unmergedRows.=.array_replace
123240 5f 72 65 63 75 72 73 69 76 65 28 61 72 72 61 79 5f 66 69 6c 6c 28 24 6c 69 6e 65 20 2b 20 31 2c _recursive(array_fill($line.+.1,
123260 20 24 6e 62 4c 69 6e 65 73 2c 20 61 72 72 61 79 28 29 29 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f .$nbLines,.array()),.$unmergedRo
123280 77 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 61 73 20 24 ws);.foreach.($unmergedRows.as.$
1232a0 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 29 20 unmergedRowKey.=>.$unmergedRow).
1232c0 7b 0a 24 76 61 6c 75 65 20 3d 20 69 73 73 65 74 28 24 6c 69 6e 65 73 5b 24 75 6e 6d 65 72 67 65 {.$value.=.isset($lines[$unmerge
1232e0 64 52 6f 77 4b 65 79 20 2d 20 24 6c 69 6e 65 5d 29 20 3f 20 24 6c 69 6e 65 73 5b 24 75 6e 6d 65 dRowKey.-.$line]).?.$lines[$unme
123300 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 24 6c 69 6e 65 5d 20 3a 20 27 27 3b 0a 24 75 6e 6d 65 72 rgedRowKey.-.$line].:.'';.$unmer
123320 67 65 64 52 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e gedRows[$unmergedRowKey][$column
123340 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 28 ].=.new.TableCell($value,.array(
123360 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 'colspan'.=>.$cell->getColspan()
123380 29 29 3b 0a 69 66 20 28 24 6e 62 4c 69 6e 65 73 20 3d 3d 3d 20 24 75 6e 6d 65 72 67 65 64 52 6f ));.if.($nbLines.===.$unmergedRo
1233a0 77 4b 65 79 20 2d 20 24 6c 69 6e 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a wKey.-.$line).{.break;.}.}.}.}..
1233c0 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 61 73 20 24 75 6e 6d 65 72 foreach.($unmergedRows.as.$unmer
1233e0 67 65 64 52 6f 77 4b 65 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 29 20 7b 0a 0a 20 69 gedRowKey.=>.$unmergedRow).{...i
123400 66 20 28 69 73 73 65 74 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 f.(isset($rows[$unmergedRowKey])
123420 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b .&&.is_array($rows[$unmergedRowK
123440 65 79 5d 29 20 26 26 20 28 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d ey]).&&.($this->getNumberOfColum
123460 6e 73 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 2b 20 24 74 68 ns($rows[$unmergedRowKey]).+.$th
123480 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 24 75 6e 6d 65 72 67 65 64 is->getNumberOfColumns($unmerged
1234a0 52 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 3c 3d 20 24 74 68 69 73 2d Rows[$unmergedRowKey]).<=.$this-
1234c0 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 75 >numberOfColumns)).{.foreach.($u
1234e0 6e 6d 65 72 67 65 64 52 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 29 nmergedRow.as.$cellKey.=>.$cell)
123500 20 7b 0a 0a 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 .{...array_splice($rows[$unmerge
123520 64 52 6f 77 4b 65 79 5d 2c 20 24 63 65 6c 6c 4b 65 79 2c 20 30 2c 20 61 72 72 61 79 28 24 63 65 dRowKey],.$cellKey,.0,.array($ce
123540 6c 6c 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 77 20 3d 20 24 74 68 69 73 2d 3e 63 ll));.}.}.else.{.$row.=.$this->c
123560 6f 70 79 52 6f 77 28 24 72 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 opyRow($rows,.$unmergedRowKey.-.
123580 31 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 20 61 73 20 24 63 6f 1);.foreach.($unmergedRow.as.$co
1235a0 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 65 6c lumn.=>.$cell).{.if.(!empty($cel
1235c0 6c 29 29 20 7b 0a 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 75 6e 6d 65 72 67 65 64 52 l)).{.$row[$column].=.$unmergedR
1235e0 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 7d 0a 7d 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 72 ow[$column];.}.}.array_splice($r
123600 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 2c 20 30 2c 20 61 72 72 61 79 28 24 ows,.$unmergedRowKey,.0,.array($
123620 72 6f 77 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 7d 0a 0a 0a 0a 0a row));.}.}..return.$rows;.}.....
123640 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f ..private.function.fillCells($ro
123660 77 29 0a 7b 0a 24 6e 65 77 52 6f 77 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 w).{.$newRow.=.array();.foreach.
123680 28 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 24 6e 65 ($row.as.$column.=>.$cell).{.$ne
1236a0 77 52 6f 77 5b 5d 20 3d 20 24 63 65 6c 6c 3b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e wRow[].=.$cell;.if.($cell.instan
1236c0 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 ceof.TableCell.&&.$cell->getCols
1236e0 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 72 61 6e 67 65 28 24 63 6f 6c pan().>.1).{.foreach.(range($col
123700 75 6d 6e 20 2b 20 31 2c 20 24 63 6f 6c 75 6d 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c umn.+.1,.$column.+.$cell->getCol
123720 73 70 61 6e 28 29 20 2d 20 31 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 0a 20 24 6e span().-.1).as.$position).{...$n
123740 65 77 52 6f 77 5b 5d 20 3d 20 27 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6e 65 77 ewRow[].=.'';.}.}.}..return.$new
123760 52 6f 77 20 3f 3a 20 24 72 6f 77 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 Row.?:.$row;.}........private.fu
123780 6e 63 74 69 6f 6e 20 63 6f 70 79 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 73 2c 20 24 6c 69 6e nction.copyRow(array.$rows,.$lin
1237a0 65 29 0a 7b 0a 24 72 6f 77 20 3d 20 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 3b 0a 66 6f 72 65 61 63 e).{.$row.=.$rows[$line];.foreac
1237c0 68 20 28 24 72 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 56 61 6c 75 h.($row.as.$cellKey.=>.$cellValu
1237e0 65 29 20 7b 0a 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 27 27 3b 0a 69 66 20 28 24 63 e).{.$row[$cellKey].=.'';.if.($c
123800 65 6c 6c 56 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b ellValue.instanceof.TableCell).{
123820 0a 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 .$row[$cellKey].=.new.TableCell(
123840 27 27 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 56 61 6c 75 '',.array('colspan'.=>.$cellValu
123860 65 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 e->getColspan()));.}.}..return.$
123880 72 6f 77 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 row;.}.......private.function.ge
1238a0 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 tNumberOfColumns(array.$row).{.$
1238c0 63 6f 6c 75 6d 6e 73 20 3d 20 63 6f 75 6e 74 28 24 72 6f 77 29 3b 0a 66 6f 72 65 61 63 68 20 28 columns.=.count($row);.foreach.(
1238e0 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 63 6f 6c 75 6d 6e 73 20 2b 3d 20 24 $row.as.$column).{.$columns.+=.$
123900 63 6f 6c 75 6d 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 3f 20 28 24 column.instanceof.TableCell.?.($
123920 63 6f 6c 75 6d 6e 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 20 3a 20 30 3b 0a 7d column->getColspan().-.1).:.0;.}
123940 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ..return.$columns;.}.......priva
123960 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 te.function.getRowColumns(array.
123980 24 72 6f 77 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 73 20 3d 20 72 61 6e 67 65 28 30 2c 20 24 74 68 69 $row).{.$columns.=.range(0,.$thi
1239a0 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 2d 20 31 29 3b 0a 66 6f 72 65 61 63 68 s->numberOfColumns.-.1);.foreach
1239c0 20 28 24 72 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 .($row.as.$cellKey.=>.$cell).{.i
1239e0 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 f.($cell.instanceof.TableCell.&&
123a00 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 0a 20 24 63 .$cell->getColspan().>.1).{...$c
123a20 6f 6c 75 6d 6e 73 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 63 6f 6c 75 6d 6e 73 2c 20 72 61 olumns.=.array_diff($columns,.ra
123a40 6e 67 65 28 24 63 65 6c 6c 4b 65 79 20 2b 20 31 2c 20 24 63 65 6c 6c 4b 65 79 20 2b 20 24 63 65 nge($cellKey.+.1,.$cellKey.+.$ce
123a60 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 ll->getColspan().-.1));.}.}..ret
123a80 75 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 urn.$columns;.}.......private.fu
123aa0 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 43 6f 6c 75 6d 6e 73 57 69 64 74 68 28 24 72 6f nction.calculateColumnsWidth($ro
123ac0 77 73 29 0a 7b 0a 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 6f 6c 75 6d 6e 20 ws).{.for.($column.=.0;.$column.
123ae0 3c 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 20 2b 2b 24 63 6f 6c <.$this->numberOfColumns;.++$col
123b00 75 6d 6e 29 20 7b 0a 24 6c 65 6e 67 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 umn).{.$lengths.=.array();.forea
123b20 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e ch.($rows.as.$row).{.if.($row.in
123b40 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 63 6f 6e 74 69 stanceof.TableSeparator).{.conti
123b60 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 69 20 3d 3e 20 24 nue;.}..foreach.($row.as.$i.=>.$
123b80 63 65 6c 6c 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 cell).{.if.($cell.instanceof.Tab
123ba0 6c 65 43 65 6c 6c 29 20 7b 0a 24 74 65 78 74 43 6f 6e 74 65 6e 74 20 3d 20 48 65 6c 70 65 72 3a leCell).{.$textContent.=.Helper:
123bc0 3a 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d :removeDecoration($this->output-
123be0 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 24 74 65 78 74 4c 65 >getFormatter(),.$cell);.$textLe
123c00 6e 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 65 78 74 43 6f 6e 74 65 ngth.=.Helper::strlen($textConte
123c20 6e 74 29 3b 0a 69 66 20 28 24 74 65 78 74 4c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 24 63 6f 6e nt);.if.($textLength.>.0).{.$con
123c40 74 65 6e 74 43 6f 6c 75 6d 6e 73 20 3d 20 73 74 72 5f 73 70 6c 69 74 28 24 74 65 78 74 43 6f 6e tentColumns.=.str_split($textCon
123c60 74 65 6e 74 2c 20 63 65 69 6c 28 24 74 65 78 74 4c 65 6e 67 74 68 20 2f 20 24 63 65 6c 6c 2d 3e tent,.ceil($textLength./.$cell->
123c80 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e getColspan()));.foreach.($conten
123ca0 74 43 6f 6c 75 6d 6e 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 63 6f 6e 74 65 6e tColumns.as.$position.=>.$conten
123cc0 74 29 20 7b 0a 24 72 6f 77 5b 24 69 20 2b 20 24 70 6f 73 69 74 69 6f 6e 5d 20 3d 20 24 63 6f 6e t).{.$row[$i.+.$position].=.$con
123ce0 74 65 6e 74 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 65 6e 67 74 68 73 5b 5d 20 3d 20 24 74 68 69 tent;.}.}.}.}..$lengths[].=.$thi
123d00 73 2d 3e 67 65 74 43 65 6c 6c 57 69 64 74 68 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 29 3b 0a s->getCellWidth($row,.$column);.
123d20 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 20 }..$this->columnWidths[$column].
123d40 3d 20 6d 61 78 28 24 6c 65 6e 67 74 68 73 29 20 2b 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e =.max($lengths).+.strlen($this->
123d60 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 style->getCellRowContentFormat()
123d80 29 20 2d 20 32 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ).-.2;.}.}.......private.functio
123da0 6e 20 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 57 69 64 74 68 28 29 0a 7b 0a 72 65 n.getColumnSeparatorWidth().{.re
123dc0 74 75 72 6e 20 73 74 72 6c 65 6e 28 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 turn.strlen(sprintf($this->style
123de0 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c ->getBorderFormat(),.$this->styl
123e00 65 2d 3e 67 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 29 29 3b 0a 7d 0a e->getVerticalBorderChar()));.}.
123e20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c .........private.function.getCel
123e40 6c 57 69 64 74 68 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 29 0a 7b 0a 69 66 lWidth(array.$row,.$column).{.if
123e60 20 28 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 29 20 7b 0a 24 63 65 6c 6c 20 .(isset($row[$column])).{.$cell.
123e80 3d 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 24 63 65 6c 6c 57 69 64 74 68 20 3d 20 48 65 =.$row[$column];.$cellWidth.=.He
123ea0 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 lper::strlenWithoutDecoration($t
123ec0 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 his->output->getFormatter(),.$ce
123ee0 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 65 6c 6c 57 69 64 74 68 3b 0a 7d 0a 0a 72 65 74 75 ll);..return.$cellWidth;.}..retu
123f00 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 rn.0;.}.....private.function.cle
123f20 61 6e 75 70 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d 20 61 anup().{.$this->columnWidths.=.a
123f40 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 3d rray();.$this->numberOfColumns.=
123f60 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .null;.}..private.static.functio
123f80 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 29 0a 7b 0a 24 62 6f 72 64 65 72 6c 65 73 73 20 3d 20 6e n.initStyles().{.$borderless.=.n
123fa0 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 62 6f 72 64 65 72 6c 65 73 73 0a 2d 3e 73 ew.TableStyle();.$borderless.->s
123fc0 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 3d 27 29 0a 2d 3e 73 65 etHorizontalBorderChar('=').->se
123fe0 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 tVerticalBorderChar('.').->setCr
124000 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 29 0a 3b 0a 0a 24 63 6f 6d 70 61 63 74 20 3d 20 6e 65 ossingChar('.').;..$compact.=.ne
124020 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 63 6f 6d 70 61 63 74 0a 2d 3e 73 65 74 48 6f w.TableStyle();.$compact.->setHo
124040 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 0a 2d 3e 73 65 74 56 65 72 74 rizontalBorderChar('').->setVert
124060 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e icalBorderChar('.').->setCrossin
124080 67 43 68 61 72 28 27 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 gChar('').->setCellRowContentFor
1240a0 6d 61 74 28 27 25 73 27 29 0a 3b 0a 0a 24 73 74 79 6c 65 47 75 69 64 65 20 3d 20 6e 65 77 20 54 mat('%s').;..$styleGuide.=.new.T
1240c0 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 24 73 74 79 6c 65 47 75 69 64 65 0a 2d 3e 73 65 74 48 6f ableStyle();.$styleGuide.->setHo
1240e0 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 2d 27 29 0a 2d 3e 73 65 74 56 65 72 rizontalBorderChar('-').->setVer
124100 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 ticalBorderChar('.').->setCrossi
124120 6e 67 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 ngChar('.').->setCellHeaderForma
124140 74 28 27 25 73 27 29 0a 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 64 65 66 61 75 6c t('%s').;..return.array(.'defaul
124160 74 27 20 3d 3e 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 2c 0a 27 62 6f 72 64 65 72 6c t'.=>.new.TableStyle(),.'borderl
124180 65 73 73 27 20 3d 3e 20 24 62 6f 72 64 65 72 6c 65 73 73 2c 0a 27 63 6f 6d 70 61 63 74 27 20 3d ess'.=>.$borderless,.'compact'.=
1241a0 3e 20 24 63 6f 6d 70 61 63 74 2c 0a 27 73 79 6d 66 6f 6e 79 2d 73 74 79 6c 65 2d 67 75 69 64 65 >.$compact,.'symfony-style-guide
1241c0 27 20 3d 3e 20 24 73 74 79 6c 65 47 75 69 64 65 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 '.=>.$styleGuide,.);.}..private.
1241e0 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 function.resolveStyle($name).{.i
124200 66 20 28 24 6e 61 6d 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 74 79 6c 65 29 20 f.($name.instanceof.TableStyle).
124220 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c {.return.$name;.}..if.(isset(sel
124240 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c f::$styles[$name])).{.return.sel
124260 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 f::$styles[$name];.}..throw.new.
124280 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 InvalidArgumentException(sprintf
1242a0 28 27 53 74 79 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 ('Style."%s".is.not.defined.',.$
1242c0 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 name));.}.}.<?php...........name
1242e0 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
124300 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 Helper;..use.Symfony\Component\C
124320 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 onsole\Exception\InvalidArgument
124340 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b Exception;.....class.TableCell.{
124360 0a 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e .private.$value;.private.$option
124380 73 20 3d 20 61 72 72 61 79 28 0a 27 72 6f 77 73 70 61 6e 27 20 3d 3e 20 31 2c 0a 27 63 6f 6c 73 s.=.array(.'rowspan'.=>.1,.'cols
1243a0 70 61 6e 27 20 3d 3e 20 31 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 pan'.=>.1,.);......public.functi
1243c0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 61 6c 75 65 20 3d 20 27 27 2c 20 61 72 72 61 on.__construct($value.=.'',.arra
1243e0 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 73 5f 6e y.$options.=.array()).{.if.(is_n
124400 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 umeric($value).&&.!is_string($va
124420 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 lue)).{.$value.=.(string).$value
124440 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 0a 20 69 ;.}..$this->value.=.$value;....i
124460 66 20 28 24 64 69 66 66 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 61 72 72 61 79 5f 6b 65 79 73 f.($diff.=.array_diff(array_keys
124480 28 24 6f 70 74 69 6f 6e 73 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 6f 70 ($options),.array_keys($this->op
1244a0 74 69 6f 6e 73 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 tions))).{.throw.new.InvalidArgu
1244c0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 54 61 62 6c 65 mentException(sprintf('The.Table
1244e0 43 65 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 Cell.does.not.support.the.follow
124500 69 6e 67 20 6f 70 74 69 6f 6e 73 3a 20 5c 27 25 73 5c 27 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 ing.options:.\'%s\'.',.implode('
124520 5c 27 2c 20 5c 27 27 2c 20 24 64 69 66 66 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 \',.\'',.$diff)));.}..$this->opt
124540 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e ions.=.array_merge($this->option
124560 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e s,.$options);.}.......public.fun
124580 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.__toString().{.return.$thi
1245a0 73 2d 3e 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f s->value;.}.......public.functio
1245c0 6e 20 67 65 74 43 6f 6c 73 70 61 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 n.getColspan().{.return.(int).$t
1245e0 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 63 6f 6c 73 70 61 6e 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a his->options['colspan'];.}......
124600 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 73 70 61 6e 28 29 0a 7b 0a .public.function.getRowspan().{.
124620 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 72 6f 77 return.(int).$this->options['row
124640 73 70 61 6e 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 span'];.}.}.<?php...........name
124660 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c space.Symfony\Component\Console\
124680 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 Helper;..use.Symfony\Component\C
1246a0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onsole\Output\OutputInterface;.u
1246c0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
1246e0 70 75 74 5c 4e 75 6c 6c 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 put\NullOutput;.use.Symfony\Comp
124700 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 onent\Console\Exception\InvalidA
124720 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 rgumentException;...........clas
124740 73 20 54 61 62 6c 65 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 63 s.TableHelper.extends.Helper.{.c
124760 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4c onst.LAYOUT_DEFAULT.=.0;.const.L
124780 41 59 4f 55 54 5f 42 4f 52 44 45 52 4c 45 53 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4c 41 59 4f AYOUT_BORDERLESS.=.1;.const.LAYO
1247a0 55 54 5f 43 4f 4d 50 41 43 54 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 62 6c 65 3b UT_COMPACT.=.2;..private.$table;
1247c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 ..public.function.__construct($t
1247e0 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b riggerDeprecationError.=.true).{
124800 0a 69 66 20 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b .if.($triggerDeprecationError).{
124820 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f .@trigger_error('The.'.__CLASS__
124840 2e 27 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d .'.class.is.deprecated.since.Sym
124860 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 fony.2.5.and.will.be.removed.in.
124880 33 2e 30 2e 20 55 73 65 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 3.0..Use.the.Symfony\Component\C
1248a0 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 20 63 6c 61 73 73 20 69 6e 73 74 65 61 onsole\Helper\Table.class.instea
1248c0 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 74 68 69 d.',.E_USER_DEPRECATED);.}..$thi
1248e0 73 2d 3e 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 6e 65 77 20 4e 75 6c 6c 4f 75 74 s->table.=.new.Table(new.NullOut
124900 70 75 74 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 put());.}...........public.funct
124920 69 6f 6e 20 73 65 74 4c 61 79 6f 75 74 28 24 6c 61 79 6f 75 74 29 0a 7b 0a 73 77 69 74 63 68 20 ion.setLayout($layout).{.switch.
124940 28 24 6c 61 79 6f 75 74 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 42 4f ($layout).{.case.self::LAYOUT_BO
124960 52 44 45 52 4c 45 53 53 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 RDERLESS:.$this->table->setStyle
124980 28 27 62 6f 72 64 65 72 6c 65 73 73 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c ('borderless');.break;..case.sel
1249a0 66 3a 3a 4c 41 59 4f 55 54 5f 43 4f 4d 50 41 43 54 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d f::LAYOUT_COMPACT:.$this->table-
1249c0 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 >setStyle('compact');.break;..ca
1249e0 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 3a 0a 24 74 68 69 73 2d 3e se.self::LAYOUT_DEFAULT:.$this->
124a00 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b 0a 62 72 65 61 table->setStyle('default');.brea
124a20 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 k;..default:.throw.new.InvalidAr
124a40 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 gumentException(sprintf('Invalid
124a60 20 74 61 62 6c 65 20 6c 61 79 6f 75 74 20 22 25 73 22 2e 27 2c 20 24 6c 61 79 6f 75 74 29 29 3b .table.layout."%s".',.$layout));
124a80 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .}..return.$this;.}..public.func
124aa0 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a tion.setHeaders(array.$headers).
124ac0 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 {.$this->table->setHeaders($head
124ae0 65 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 ers);..return.$this;.}..public.f
124b00 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 unction.setRows(array.$rows).{.$
124b20 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 0a 72 65 this->table->setRows($rows);..re
124b40 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 turn.$this;.}..public.function.a
124b60 64 64 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 ddRows(array.$rows).{.$this->tab
124b80 6c 65 2d 3e 61 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 le->addRows($rows);..return.$thi
124ba0 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 28 61 72 72 s;.}..public.function.addRow(arr
124bc0 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 ay.$row).{.$this->table->addRow(
124be0 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 $row);..return.$this;.}..public.
124c00 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 function.setRow($column,.array.$
124c20 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 28 24 63 6f 6c row).{.$this->table->setRow($col
124c40 75 6d 6e 2c 20 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a umn,.$row);..return.$this;.}....
124c60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 64 69 6e 67 43 .....public.function.setPaddingC
124c80 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 har($paddingChar).{.$this->table
124ca0 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 61 ->getStyle()->setPaddingChar($pa
124cc0 64 64 69 6e 67 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a ddingChar);..return.$this;.}....
124ce0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 6f 72 69 7a 6f 6e 74 .....public.function.setHorizont
124d00 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 alBorderChar($horizontalBorderCh
124d20 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e ar).{.$this->table->getStyle()->
124d40 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e setHorizontalBorderChar($horizon
124d60 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d talBorderChar);..return.$this;.}
124d80 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 74 .........public.function.setVert
124da0 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 icalBorderChar($verticalBorderCh
124dc0 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e ar).{.$this->table->getStyle()->
124de0 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 setVerticalBorderChar($verticalB
124e00 6f 72 64 65 72 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a orderChar);..return.$this;.}....
124e20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 6f 73 73 69 6e 67 .....public.function.setCrossing
124e40 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 Char($crossingChar).{.$this->tab
124e60 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 le->getStyle()->setCrossingChar(
124e80 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d $crossingChar);..return.$this;.}
124ea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c .........public.function.setCell
124ec0 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 0a HeaderFormat($cellHeaderFormat).
124ee0 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 {.$this->table->getStyle()->setC
124f00 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 ellHeaderFormat($cellHeaderForma
124f20 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 t);..return.$this;.}.........pub
124f40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 24 63 lic.function.setCellRowFormat($c
124f60 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 ellRowFormat).{.$this->table->ge
124f80 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 tStyle()->setCellHeaderFormat($c
124fa0 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a ellRowFormat);..return.$this;.}.
124fc0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 ........public.function.setCellR
124fe0 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 owContentFormat($cellRowContentF
125000 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 ormat).{.$this->table->getStyle(
125020 29 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c )->setCellRowContentFormat($cell
125040 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 RowContentFormat);..return.$this
125060 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 ;.}.........public.function.setB
125080 6f 72 64 65 72 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 orderFormat($borderFormat).{.$th
1250a0 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 42 6f 72 64 65 72 is->table->getStyle()->setBorder
1250c0 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 Format($borderFormat);..return.$
1250e0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
125100 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 setPadType($padType).{.$this->ta
125120 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 ble->getStyle()->setPadType($pad
125140 54 79 70 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a Type);..return.$this;.}.........
125160 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 4f 75 74 70 .....public.function.render(Outp
125180 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 70 20 3d 20 6e 65 77 20 utInterface.$output).{.$p.=.new.
1251a0 5c 52 65 66 6c 65 63 74 69 6f 6e 50 72 6f 70 65 72 74 79 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 \ReflectionProperty($this->table
1251c0 2c 20 27 6f 75 74 70 75 74 27 29 3b 0a 24 70 2d 3e 73 65 74 41 63 63 65 73 73 69 62 6c 65 28 74 ,.'output');.$p->setAccessible(t
1251e0 72 75 65 29 3b 0a 24 70 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 2c rue);.$p->setValue($this->table,
125200 20 24 6f 75 74 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 .$output);..$this->table->render
125220 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d ();.}.....public.function.getNam
125240 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 74 61 62 6c 65 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a e().{.return.'table';.}.}.<?php.
125260 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
125280 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 onent\Console\Helper;.......clas
1252a0 73 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 54 61 62 6c 65 43 65 s.TableSeparator.extends.TableCe
1252c0 6c 6c 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 ll.{.public.function.__construct
1252e0 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 (array.$options.=.array()).{.par
125300 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 27 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a ent::__construct('',.$options);.
125320 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
125340 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a mfony\Component\Console\Helper;.
125360 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
125380 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f xception\InvalidArgumentExceptio
1253a0 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
1253c0 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a \Exception\LogicException;......
1253e0 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 74 79 6c 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 ..class.TableStyle.{.private.$pa
125400 64 64 69 6e 67 43 68 61 72 20 3d 20 27 20 27 3b 0a 70 72 69 76 61 74 65 20 24 68 6f 72 69 7a 6f ddingChar.=.'.';.private.$horizo
125420 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 76 61 74 65 20 24 76 ntalBorderChar.=.'-';.private.$v
125440 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 27 7c 27 3b 0a 70 72 69 76 61 74 65 erticalBorderChar.=.'|';.private
125460 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 20 3d 20 27 2b 27 3b 0a 70 72 69 76 61 74 65 20 24 63 .$crossingChar.=.'+';.private.$c
125480 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 20 3d 20 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 ellHeaderFormat.=.'<info>%s</inf
1254a0 6f 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 20 3d 20 27 25 o>';.private.$cellRowFormat.=.'%
1254c0 73 27 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 s';.private.$cellRowContentForma
1254e0 74 20 3d 20 27 20 25 73 20 27 3b 0a 70 72 69 76 61 74 65 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 t.=.'.%s.';.private.$borderForma
125500 74 20 3d 20 27 25 73 27 3b 0a 70 72 69 76 61 74 65 20 24 70 61 64 54 79 70 65 20 3d 20 53 54 52 t.=.'%s';.private.$padType.=.STR
125520 5f 50 41 44 5f 52 49 47 48 54 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 _PAD_RIGHT;.........public.funct
125540 69 6f 6e 20 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 29 ion.setPaddingChar($paddingChar)
125560 0a 7b 0a 69 66 20 28 21 24 70 61 64 64 69 6e 67 43 68 61 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .{.if.(!$paddingChar).{.throw.ne
125580 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 70 61 64 64 69 6e 67 20 63 68 w.LogicException('The.padding.ch
1255a0 61 72 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 65 6d 70 74 79 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 ar.must.not.be.empty');.}..$this
1255c0 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 20 3d 20 24 70 61 64 64 69 6e 67 43 68 61 72 3b 0a 0a 72 ->paddingChar.=.$paddingChar;..r
1255e0 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
125600 74 69 6f 6e 20 67 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 tion.getPaddingChar().{.return.$
125620 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 this->paddingChar;.}.........pub
125640 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 lic.function.setHorizontalBorder
125660 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 Char($horizontalBorderChar).{.$t
125680 68 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 68 6f 72 his->horizontalBorderChar.=.$hor
1256a0 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 izontalBorderChar;..return.$this
1256c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 72 ;.}.......public.function.getHor
1256e0 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 izontalBorderChar().{.return.$th
125700 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a is->horizontalBorderChar;.}.....
125720 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 74 69 63 61 6c 42 ....public.function.setVerticalB
125740 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b orderChar($verticalBorderChar).{
125760 0a 24 74 68 69 73 2d 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 76 65 .$this->verticalBorderChar.=.$ve
125780 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b rticalBorderChar;..return.$this;
1257a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 74 .}.......public.function.getVert
1257c0 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d icalBorderChar().{.return.$this-
1257e0 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 >verticalBorderChar;.}.........p
125800 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 24 ublic.function.setCrossingChar($
125820 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 crossingChar).{.$this->crossingC
125840 68 61 72 20 3d 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 har.=.$crossingChar;..return.$th
125860 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 is;.}.......public.function.getC
125880 72 6f 73 73 69 6e 67 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 rossingChar().{.return.$this->cr
1258a0 6f 73 73 69 6e 67 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ossingChar;.}.........public.fun
1258c0 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 ction.setCellHeaderFormat($cellH
1258e0 65 61 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 48 65 61 64 65 72 eaderFormat).{.$this->cellHeader
125900 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 Format.=.$cellHeaderFormat;..ret
125920 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urn.$this;.}.......public.functi
125940 6f 6e 20 67 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 on.getCellHeaderFormat().{.retur
125960 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a n.$this->cellHeaderFormat;.}....
125980 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 46 .....public.function.setCellRowF
1259a0 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 ormat($cellRowFormat).{.$this->c
1259c0 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 0a ellRowFormat.=.$cellRowFormat;..
1259e0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$this;.}.......public.fun
125a00 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 ction.getCellRowFormat().{.retur
125a20 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a n.$this->cellRowFormat;.}.......
125a40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 ..public.function.setCellRowCont
125a60 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 entFormat($cellRowContentFormat)
125a80 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 20 3d .{.$this->cellRowContentFormat.=
125aa0 20 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 .$cellRowContentFormat;..return.
125ac0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 $this;.}.......public.function.g
125ae0 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 etCellRowContentFormat().{.retur
125b00 6e 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 3b 0a 7d n.$this->cellRowContentFormat;.}
125b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 6f 72 64 .........public.function.setBord
125b40 65 72 46 6f 72 6d 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d erFormat($borderFormat).{.$this-
125b60 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b 0a 0a >borderFormat.=.$borderFormat;..
125b80 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$this;.}.......public.fun
125ba0 63 74 69 6f 6e 20 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 6e ction.getBorderFormat().{.return
125bc0 20 24 74 68 69 73 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a .$this->borderFormat;.}.........
125be0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 54 public.function.setPadType($padT
125c00 79 70 65 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 70 61 64 54 79 70 65 2c 20 61 ype).{.if.(!in_array($padType,.a
125c20 72 72 61 79 28 53 54 52 5f 50 41 44 5f 4c 45 46 54 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 rray(STR_PAD_LEFT,.STR_PAD_RIGHT
125c40 2c 20 53 54 52 5f 50 41 44 5f 42 4f 54 48 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 ,.STR_PAD_BOTH),.true)).{.throw.
125c60 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e new.InvalidArgumentException('In
125c80 76 61 6c 69 64 20 70 61 64 64 69 6e 67 20 74 79 70 65 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 valid.padding.type..Expected.one
125ca0 20 6f 66 20 28 53 54 52 5f 50 41 44 5f 4c 45 46 54 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 .of.(STR_PAD_LEFT,.STR_PAD_RIGHT
125cc0 2c 20 53 54 52 5f 50 41 44 5f 42 4f 54 48 29 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 ,.STR_PAD_BOTH).');.}..$this->pa
125ce0 64 54 79 70 65 20 3d 20 24 70 61 64 54 79 70 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b dType.=.$padType;..return.$this;
125d00 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 64 54 .}.......public.function.getPadT
125d20 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 64 54 79 70 65 3b 0a 7d ype().{.return.$this->padType;.}
125d40 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
125d60 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 fony\Component\Console\Input;..u
125d80 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
125da0 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a eption\RuntimeException;........
125dc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 67 76 49 6e 70 ...................class.ArgvInp
125de0 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 6f 6b 65 ut.extends.Input.{.private.$toke
125e00 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 70 61 72 73 65 64 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ns;.private.$parsed;......public
125e20 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 61 72 67 .function.__construct(array.$arg
125e40 76 20 3d 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e v.=.null,.InputDefinition.$defin
125e60 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 72 ition.=.null).{.if.(null.===.$ar
125e80 67 76 29 20 7b 0a 24 61 72 67 76 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 3b 0a gv).{.$argv.=.$_SERVER['argv'];.
125ea0 7d 0a 0a 0a 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 67 76 29 3b 0a 0a 24 74 68 69 73 2d }....array_shift($argv);..$this-
125ec0 3e 74 6f 6b 65 6e 73 20 3d 20 24 61 72 67 76 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 >tokens.=.$argv;..parent::__cons
125ee0 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 truct($definition);.}..protected
125f00 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 6f 6b 65 6e 73 28 61 72 72 61 79 20 24 74 6f 6b 65 6e .function.setTokens(array.$token
125f20 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 3d 20 24 74 6f 6b 65 6e 73 3b 0a 7d 0a s).{.$this->tokens.=.$tokens;.}.
125f40 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 0a 7b ....protected.function.parse().{
125f60 0a 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 70 61 .$parseOptions.=.true;.$this->pa
125f80 72 73 65 64 20 3d 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 77 68 69 6c 65 20 28 6e 75 6c rsed.=.$this->tokens;.while.(nul
125fa0 6c 20 21 3d 3d 20 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 68 69 73 l.!==.$token.=.array_shift($this
125fc0 2d 3e 70 61 72 73 65 64 29 29 20 7b 0a 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 ->parsed)).{.if.($parseOptions.&
125fe0 26 20 27 27 20 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 41 72 &.''.==.$token).{.$this->parseAr
126000 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 gument($token);.}.elseif.($parse
126020 4f 70 74 69 6f 6e 73 20 26 26 20 27 2d 2d 27 20 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 70 61 Options.&&.'--'.==.$token).{.$pa
126040 72 73 65 4f 70 74 69 6f 6e 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 rseOptions.=.false;.}.elseif.($p
126060 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b arseOptions.&&.0.===.strpos($tok
126080 65 6e 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 6f 6e 67 4f 70 74 en,.'--')).{.$this->parseLongOpt
1260a0 69 6f 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 ion($token);.}.elseif.($parseOpt
1260c0 69 6f 6e 73 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 20 26 26 20 27 2d 27 ions.&&.'-'.===.$token[0].&&.'-'
1260e0 20 21 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 53 68 6f 72 74 .!==.$token).{.$this->parseShort
126100 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e Option($token);.}.else.{.$this->
126120 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a parseArgument($token);.}.}.}....
126140 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 68 6f 72 74 4f 70 ...private.function.parseShortOp
126160 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 tion($token).{.$name.=.substr($t
126180 6f 6b 65 6e 2c 20 31 29 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 3e 20 31 oken,.1);..if.(strlen($name).>.1
1261a0 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 ).{.if.($this->definition->hasSh
1261c0 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 66 69 6e ortcut($name[0]).&&.$this->defin
1261e0 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d ition->getOptionForShortcut($nam
126200 65 5b 30 5d 29 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d e[0])->acceptValue()).{...$this-
126220 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 5b 30 5d 2c 20 73 75 62 73 74 72 >addShortOption($name[0],.substr
126240 28 24 6e 61 6d 65 2c 20 31 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 ($name,.1));.}.else.{.$this->par
126260 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 20 65 6c 73 seShortOptionSet($name);.}.}.els
126280 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c e.{.$this->addShortOption($name,
1262a0 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 .null);.}.}.........private.func
1262c0 74 69 6f 6e 20 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 0a tion.parseShortOptionSet($name).
1262e0 7b 0a 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 0a 66 6f 72 20 28 24 69 20 {.$len.=.strlen($name);.for.($i.
126300 3d 20 30 3b 20 24 69 20 3c 20 24 6c 65 6e 3b 20 2b 2b 24 69 29 20 7b 0a 69 66 20 28 21 24 74 68 =.0;.$i.<.$len;.++$i).{.if.(!$th
126320 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d is->definition->hasShortcut($nam
126340 65 5b 24 69 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 e[$i])).{.throw.new.RuntimeExcep
126360 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 tion(sprintf('The."-%s".option.d
126380 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 5b 24 69 5d 29 29 3b 0a 7d 0a oes.not.exist.',.$name[$i]));.}.
1263a0 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 .$option.=.$this->definition->ge
1263c0 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 24 69 5d 29 3b 0a 69 tOptionForShortcut($name[$i]);.i
1263e0 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 74 68 f.($option->acceptValue()).{.$th
126400 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 is->addLongOption($option->getNa
126420 6d 65 28 29 2c 20 24 69 20 3d 3d 3d 20 24 6c 65 6e 20 2d 20 31 20 3f 20 6e 75 6c 6c 20 3a 20 73 me(),.$i.===.$len.-.1.?.null.:.s
126440 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 69 20 2b 20 31 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d ubstr($name,.$i.+.1));..break;.}
126460 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6f 70 .else.{.$this->addLongOption($op
126480 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a tion->getName(),.null);.}.}.}...
1264a0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 6f 6e 67 4f 70 ....private.function.parseLongOp
1264c0 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 tion($token).{.$name.=.substr($t
1264e0 6f 6b 65 6e 2c 20 32 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 oken,.2);..if.(false.!==.$pos.=.
126500 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3d 27 29 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 strpos($name,.'=')).{.if.(0.===.
126520 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 70 strlen($value.=.substr($name,.$p
126540 6f 73 20 2b 20 31 29 29 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d os.+.1))).{.array_unshift($this-
126560 3e 70 61 72 73 65 64 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 >parsed,.null);.}.$this->addLong
126580 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 2c 20 24 Option(substr($name,.0,.$pos),.$
1265a0 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f value);.}.else.{.$this->addLongO
1265c0 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ption($name,.null);.}.}.........
1265e0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 private.function.parseArgument($
126600 74 6f 6b 65 6e 29 0a 7b 0a 24 63 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d token).{.$c.=.count($this->argum
126620 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d ents);....if.($this->definition-
126640 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 29 29 20 7b 0a 24 61 72 67 20 3d 20 24 74 68 69 73 >hasArgument($c)).{.$arg.=.$this
126660 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 29 3b 0a 24 ->definition->getArgument($c);.$
126680 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d this->arguments[$arg->getName()]
1266a0 20 3d 20 24 61 72 67 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 61 72 72 61 79 28 24 74 6f 6b 65 .=.$arg->isArray().?.array($toke
1266c0 6e 29 20 3a 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d n).:.$token;....}.elseif.($this-
1266e0 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 >definition->hasArgument($c.-.1)
126700 20 26 26 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 .&&.$this->definition->getArgume
126720 6e 74 28 24 63 20 2d 20 31 29 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 61 72 67 20 3d 20 nt($c.-.1)->isArray()).{.$arg.=.
126740 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 $this->definition->getArgument($
126760 63 20 2d 20 31 29 3b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e 67 c.-.1);.$this->arguments[$arg->g
126780 65 74 4e 61 6d 65 28 29 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 20 etName()][].=.$token;....}.else.
1267a0 7b 0a 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 {.$all.=.$this->definition->getA
1267c0 72 67 75 6d 65 6e 74 73 28 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 6c 6c 29 29 20 7b 0a 74 rguments();.if.(count($all)).{.t
1267e0 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 hrow.new.RuntimeException(sprint
126800 66 28 27 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 78 70 65 63 74 65 64 20 f('Too.many.arguments,.expected.
126820 61 72 67 75 6d 65 6e 74 73 20 22 25 73 22 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 22 20 22 27 2c arguments."%s".',.implode('"."',
126840 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 6c 29 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e .array_keys($all))));.}..throw.n
126860 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 20 ew.RuntimeException(sprintf('No.
126880 61 72 67 75 6d 65 6e 74 73 20 65 78 70 65 63 74 65 64 2c 20 67 6f 74 20 22 25 73 22 2e 27 2c 20 arguments.expected,.got."%s".',.
1268a0 24 74 6f 6b 65 6e 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 $token));.}.}..........private.f
1268c0 75 6e 63 74 69 6f 6e 20 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 73 68 6f 72 74 63 75 74 unction.addShortOption($shortcut
1268e0 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 ,.$value).{.if.(!$this->definiti
126900 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 on->hasShortcut($shortcut)).{.th
126920 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 row.new.RuntimeException(sprintf
126940 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 ('The."-%s".option.does.not.exis
126960 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4c t.',.$shortcut));.}..$this->addL
126980 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 ongOption($this->definition->get
1269a0 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 2d 3e 67 65 OptionForShortcut($shortcut)->ge
1269c0 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 tName(),.$value);.}..........pri
1269e0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d vate.function.addLongOption($nam
126a00 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 e,.$value).{.if.(!$this->definit
126a20 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e ion->hasOption($name)).{.throw.n
126a40 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 ew.RuntimeException(sprintf('The
126a60 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c ."--%s".option.does.not.exist.',
126a80 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 .$name));.}..$option.=.$this->de
126aa0 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 finition->getOption($name);....i
126ac0 66 20 28 21 69 73 73 65 74 28 24 76 61 6c 75 65 5b 30 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d f.(!isset($value[0])).{.$value.=
126ae0 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 .null;.}..if.(null.!==.$value.&&
126b00 20 21 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 74 68 72 6f .!$option->acceptValue()).{.thro
126b20 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 w.new.RuntimeException(sprintf('
126b40 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 The."--%s".option.does.not.accep
126b60 74 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c t.a.value.',.$name));.}..if.(nul
126b80 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 l.===.$value.&&.$option->acceptV
126ba0 61 6c 75 65 28 29 20 26 26 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 29 20 alue().&&.count($this->parsed)).
126bc0 7b 0a 0a 20 0a 20 24 6e 65 78 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 68 69 73 2d {.....$next.=.array_shift($this-
126be0 3e 70 61 72 73 65 64 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6e 65 78 74 5b 30 5d 29 20 26 26 >parsed);.if.(isset($next[0]).&&
126c00 20 27 2d 27 20 21 3d 3d 20 24 6e 65 78 74 5b 30 5d 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 6e .'-'.!==.$next[0]).{.$value.=.$n
126c20 65 78 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 65 6d 70 74 79 28 24 6e 65 78 74 29 29 20 7b 0a 24 ext;.}.elseif.(empty($next)).{.$
126c40 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 value.=.null;.}.else.{.array_uns
126c60 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 2c 20 24 6e 65 78 74 29 3b 0a 7d 0a 7d 0a hift($this->parsed,.$next);.}.}.
126c80 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 .if.(null.===.$value).{.if.($opt
126ca0 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 ion->isValueRequired()).{.throw.
126cc0 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 new.RuntimeException(sprintf('Th
126ce0 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 e."--%s".option.requires.a.value
126d00 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f 70 74 69 6f 6e 2d 3e 69 73 .',.$name));.}..if.(!$option->is
126d20 41 72 72 61 79 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 Array()).{.$value.=.$option->isV
126d40 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 alueOptional().?.$option->getDef
126d60 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d ault().:.true;.}.}..if.($option-
126d80 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 >isArray()).{.$this->options[$na
126da0 6d 65 5d 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e me][].=.$value;.}.else.{.$this->
126dc0 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a options[$name].=.$value;.}.}....
126de0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e .public.function.getFirstArgumen
126e00 74 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 t().{.foreach.($this->tokens.as.
126e20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 20 3d 3d 3d 20 $token).{.if.($token.&&.'-'.===.
126e40 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e $token[0]).{.continue;.}..return
126e60 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$token;.}.}.....public.function
126e80 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 0a 7b 0a 24 .hasParameterOption($values).{.$
126ea0 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 values.=.(array).$values;..forea
126ec0 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 6e 29 20 7b 0a 66 ch.($this->tokens.as.$token).{.f
126ee0 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 0a oreach.($values.as.$value).{....
126f00 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 ...$leading.=.0.===.strpos($valu
126f20 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e 27 3d 27 20 3a 20 24 76 61 6c 75 65 3b 0a e,.'--').?.$value.'='.:.$value;.
126f40 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 65 20 7c 7c 20 27 27 20 21 3d 3d 20 if.($token.===.$value.||.''.!==.
126f60 24 6c 65 61 64 69 6e 67 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c $leading.&&.0.===.strpos($token,
126f80 20 24 6c 65 61 64 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d .$leading)).{.return.true;.}.}.}
126fa0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.false;.}.....public.fun
126fc0 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 ction.getParameterOption($values
126fe0 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 ,.$default.=.false).{.$values.=.
127000 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 24 74 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 (array).$values;.$tokens.=.$this
127020 2d 3e 74 6f 6b 65 6e 73 3b 0a 0a 77 68 69 6c 65 20 28 30 20 3c 20 63 6f 75 6e 74 28 24 74 6f 6b ->tokens;..while.(0.<.count($tok
127040 65 6e 73 29 29 20 7b 0a 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 6f ens)).{.$token.=.array_shift($to
127060 6b 65 6e 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 6c kens);..foreach.($values.as.$val
127080 75 65 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 ue).{.if.($token.===.$value).{.r
1270a0 65 74 75 72 6e 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 0a 20 eturn.array_shift($tokens);.}...
1270c0 0a 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c ....$leading.=.0.===.strpos($val
1270e0 75 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e 27 3d 27 20 3a 20 24 76 61 6c 75 65 3b ue,.'--').?.$value.'='.:.$value;
127100 0a 69 66 20 28 27 27 20 21 3d 3d 20 24 6c 65 61 64 69 6e 67 20 26 26 20 30 20 3d 3d 3d 20 73 74 .if.(''.!==.$leading.&&.0.===.st
127120 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 6c 65 61 64 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e rpos($token,.$leading)).{.return
127140 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 73 74 72 6c 65 6e 28 24 6c 65 61 64 69 6e 67 29 .substr($token,.strlen($leading)
127160 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a );.}.}.}..return.$default;.}....
127180 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a ...public.function.__toString().
1271a0 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 {.$self.=.$this;.$tokens.=.array
1271c0 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 6f 6b 65 6e 29 20 75 73 65 20 28 24 73 65 6c _map(function.($token).use.($sel
1271e0 66 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2d 5b 5e 3d 5d 2b 3d 29 f).{.if.(preg_match('{^(-[^=]+=)
127200 28 2e 2b 29 7d 27 2c 20 24 74 6f 6b 65 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 (.+)}',.$token,.$match)).{.retur
127220 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 24 73 65 6c 66 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 n.$match[1].$self->escapeToken($
127240 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 20 match[2]);.}..if.($token.&&.'-'.
127260 21 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 65 6c 66 2d 3e 65 !==.$token[0]).{.return.$self->e
127280 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 scapeToken($token);.}..return.$t
1272a0 6f 6b 65 6e 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 29 3b 0a 0a 72 65 74 75 72 6e oken;.},.$this->tokens);..return
1272c0 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 .implode('.',.$tokens);.}.}.<?ph
1272e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
127300 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 mponent\Console\Input;..use.Symf
127320 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c ony\Component\Console\Exception\
127340 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 InvalidArgumentException;.use.Sy
127360 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
127380 6e 5c 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a n\InvalidOptionException;.......
1273a0 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 ....class.ArrayInput.extends.Inp
1273c0 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 70 75 62 6c 69 ut.{.private.$parameters;..publi
1273e0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 c.function.__construct(array.$pa
127400 72 61 6d 65 74 65 72 73 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e rameters,.InputDefinition.$defin
127420 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 ition.=.null).{.$this->parameter
127440 73 20 3d 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 s.=.$parameters;..parent::__cons
127460 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 truct($definition);.}.....public
127480 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 7b 0a 66 .function.getFirstArgument().{.f
1274a0 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b 65 oreach.($this->parameters.as.$ke
1274c0 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 65 79 20 26 26 20 27 2d 27 20 3d y.=>.$value).{.if.($key.&&.'-'.=
1274e0 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 ==.$key[0]).{.continue;.}..retur
127500 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f n.$value;.}.}.....public.functio
127520 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 0a 7b 0a n.hasParameterOption($values).{.
127540 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 $values.=.(array).$values;..fore
127560 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b 20 3d 3e 20 ach.($this->parameters.as.$k.=>.
127580 24 76 29 20 7b 0a 69 66 20 28 21 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a 24 76 20 3d 20 24 6b $v).{.if.(!is_int($k)).{.$v.=.$k
1275a0 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 20 ;.}..if.(in_array($v,.$values)).
1275c0 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 {.return.true;.}.}..return.false
1275e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d ;.}.....public.function.getParam
127600 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 eterOption($values,.$default.=.f
127620 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 alse).{.$values.=.(array).$value
127640 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 s;..foreach.($this->parameters.a
127660 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 69 66 20 28 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a s.$k.=>.$v).{.if.(is_int($k)).{.
127680 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 if.(in_array($v,.$values)).{.ret
1276a0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 urn.true;.}.}.elseif.(in_array($
1276c0 6b 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 3b 0a 7d 0a 7d 0a 0a 72 k,.$values)).{.return.$v;.}.}..r
1276e0 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 eturn.$default;.}.......public.f
127700 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 70 61 72 61 6d 73 20 3d unction.__toString().{.$params.=
127720 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 .array();.foreach.($this->parame
127740 74 65 72 73 20 61 73 20 24 70 61 72 61 6d 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 24 70 ters.as.$param.=>.$val).{.if.($p
127760 61 72 61 6d 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 70 61 72 61 6d 5b 30 5d 29 20 7b 0a 69 66 20 aram.&&.'-'.===.$param[0]).{.if.
127780 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c (is_array($val)).{.foreach.($val
1277a0 20 61 73 20 24 76 29 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 61 6d 2e 28 27 27 .as.$v).{.$params[].=.$param.(''
1277c0 20 21 3d 20 24 76 20 3f 20 27 3d 27 2e 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 .!=.$v.?.'='.$this->escapeToken(
1277e0 24 76 29 20 3a 20 27 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 $v).:.'');.}.}.else.{.$params[].
127800 3d 20 24 70 61 72 61 6d 2e 28 27 27 20 21 3d 20 24 76 61 6c 20 3f 20 27 3d 27 2e 24 74 68 69 73 =.$param.(''.!=.$val.?.'='.$this
127820 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 61 6c 29 20 3a 20 27 27 29 3b 0a 7d 0a 7d 20 65 ->escapeToken($val).:.'');.}.}.e
127840 6c 73 65 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 lse.{.$params[].=.is_array($val)
127860 20 3f 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 .?.implode('.',.array_map(array(
127880 24 74 68 69 73 2c 20 27 65 73 63 61 70 65 54 6f 6b 65 6e 27 29 2c 20 24 76 61 6c 29 29 20 3a 20 $this,.'escapeToken'),.$val)).:.
1278a0 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 61 6c 29 3b 0a 7d 0a 7d 0a 0a 72 $this->escapeToken($val);.}.}..r
1278c0 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 61 72 61 6d 73 29 3b 0a 7d 0a 0a eturn.implode('.',.$params);.}..
1278e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 0a 7b 0a ...protected.function.parse().{.
127900 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b foreach.($this->parameters.as.$k
127920 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 ey.=>.$value).{.if.(0.===.strpos
127940 28 24 6b 65 79 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 ($key,.'--')).{.$this->addLongOp
127960 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 32 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d tion(substr($key,.2),.$value);.}
127980 20 65 6c 73 65 69 66 20 28 27 2d 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 24 74 68 69 .elseif.('-'.===.$key[0]).{.$thi
1279a0 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 31 s->addShortOption(substr($key,.1
1279c0 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 41 ),.$value);.}.else.{.$this->addA
1279e0 72 67 75 6d 65 6e 74 28 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a rgument($key,.$value);.}.}.}....
127a00 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 68 6f 72 74 4f ......private.function.addShortO
127a20 70 74 69 6f 6e 28 24 73 68 6f 72 74 63 75 74 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 ption($shortcut,.$value).{.if.(!
127a40 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 $this->definition->hasShortcut($
127a60 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 shortcut)).{.throw.new.InvalidOp
127a80 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 tionException(sprintf('The."-%s"
127aa0 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 .option.does.not.exist.',.$short
127ac0 63 75 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 cut));.}..$this->addLongOption($
127ae0 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 this->definition->getOptionForSh
127b00 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 ortcut($shortcut)->getName(),.$v
127b20 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 alue);.}...........private.funct
127b40 69 6f 6e 20 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 ion.addLongOption($name,.$value)
127b60 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 .{.if.(!$this->definition->hasOp
127b80 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 tion($name)).{.throw.new.Invalid
127ba0 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d OptionException(sprintf('The."--
127bc0 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 %s".option.does.not.exist.',.$na
127be0 6d 65 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 me));.}..$option.=.$this->defini
127c00 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 6e 75 6c tion->getOption($name);..if.(nul
127c20 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 l.===.$value).{.if.($option->isV
127c40 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 alueRequired()).{.throw.new.Inva
127c60 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 lidOptionException(sprintf('The.
127c80 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 2e 27 "--%s".option.requires.a.value.'
127ca0 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e ,.$name));.}..$value.=.$option->
127cc0 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 isValueOptional().?.$option->get
127ce0 44 65 66 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 Default().:.true;.}..$this->opti
127d00 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ons[$name].=.$value;.}..........
127d20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 private.function.addArgument($na
127d40 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 me,.$value).{.if.(!$this->defini
127d60 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f tion->hasArgument($name)).{.thro
127d80 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 w.new.InvalidArgumentException(s
127da0 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e printf('The."%s".argument.does.n
127dc0 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 ot.exist.',.$name));.}..$this->a
127de0 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 3c 3f rguments[$name].=.$value;.}.}.<?
127e00 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
127e20 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 Component\Console\Input;..use.Sy
127e40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
127e60 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 n\InvalidArgumentException;.use.
127e80 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
127ea0 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ion\RuntimeException;...........
127ec0 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 ..abstract.class.Input.implement
127ee0 73 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 s.InputInterface.{.protected.$de
127f00 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 finition;.protected.$options.=.a
127f20 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 rray();.protected.$arguments.=.a
127f40 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 74 65 72 61 63 74 69 76 65 20 3d rray();.protected.$interactive.=
127f60 20 74 72 75 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 .true;..public.function.__constr
127f80 75 63 74 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 uct(InputDefinition.$definition.
127fa0 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 69 6e 69 74 69 =.null).{.if.(null.===.$definiti
127fc0 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e on).{.$this->definition.=.new.In
127fe0 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d putDefinition();.}.else.{.$this-
128000 3e 62 69 6e 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 >bind($definition);.$this->valid
128020 61 74 65 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 ate();.}.}.....public.function.b
128040 69 6e 64 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 ind(InputDefinition.$definition)
128060 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 .{.$this->arguments.=.array();.$
128080 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e this->options.=.array();.$this->
1280a0 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 0a 24 74 68 69 73 definition.=.$definition;..$this
1280c0 2d 3e 70 61 72 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 ->parse();.}.....abstract.protec
1280e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ted.function.parse();.....public
128100 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 0a 7b 0a 24 64 65 66 69 6e 69 74 69 .function.validate().{.$definiti
128120 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 24 67 69 76 65 6e 41 72 on.=.$this->definition;.$givenAr
128140 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 24 6d 69 guments.=.$this->arguments;..$mi
128160 73 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 ssingArguments.=.array_filter(ar
128180 72 61 79 5f 6b 65 79 73 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e ray_keys($definition->getArgumen
1281a0 74 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 72 67 75 6d 65 6e 74 29 20 75 73 65 20 ts()),.function.($argument).use.
1281c0 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 29 20 7b ($definition,.$givenArguments).{
1281e0 0a 72 65 74 75 72 6e 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 61 72 67 75 6d .return.!array_key_exists($argum
128200 65 6e 74 2c 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 29 20 26 26 20 24 64 65 66 69 6e 69 ent,.$givenArguments).&&.$defini
128220 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 2d 3e 69 73 tion->getArgument($argument)->is
128240 52 65 71 75 69 72 65 64 28 29 3b 0a 7d 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 6d 69 73 73 Required();.});..if.(count($miss
128260 69 6e 67 41 72 67 75 6d 65 6e 74 73 29 20 3e 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 ingArguments).>.0).{.throw.new.R
128280 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 74 20 65 6e 6f untimeException(sprintf('Not.eno
1282a0 75 67 68 20 61 72 67 75 6d 65 6e 74 73 20 28 6d 69 73 73 69 6e 67 3a 20 22 25 73 22 29 2e 27 2c ugh.arguments.(missing:."%s").',
1282c0 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 .implode(',.',.$missingArguments
1282e0 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 )));.}.}.....public.function.isI
128300 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 74 nteractive().{.return.$this->int
128320 65 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 eractive;.}.....public.function.
128340 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 69 6e 74 65 72 61 63 74 69 76 65 29 0a 7b 0a 24 setInteractive($interactive).{.$
128360 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 20 3d 20 28 62 6f 6f 6c 29 20 24 69 6e 74 65 this->interactive.=.(bool).$inte
128380 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ractive;.}.....public.function.g
1283a0 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 etArguments().{.return.array_mer
1283c0 67 65 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e ge($this->definition->getArgumen
1283e0 74 44 65 66 61 75 6c 74 73 28 29 2c 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a tDefaults(),.$this->arguments);.
128400 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e }.....public.function.getArgumen
128420 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f t($name).{.if.(!$this->definitio
128440 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e n->hasArgument($name)).{.throw.n
128460 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
128480 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 ntf('The."%s".argument.does.not.
1284a0 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 exist.',.$name));.}..return.isse
1284c0 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 t($this->arguments[$name]).?.$th
1284e0 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 64 65 is->arguments[$name].:.$this->de
128500 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 2d 3e 67 65 finition->getArgument($name)->ge
128520 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tDefault();.}.....public.functio
128540 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 n.setArgument($name,.$value).{.i
128560 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 f.(!$this->definition->hasArgume
128580 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 nt($name)).{.throw.new.InvalidAr
1285a0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 gumentException(sprintf('The."%s
1285c0 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 ".argument.does.not.exist.',.$na
1285e0 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d me));.}..$this->arguments[$name]
128600 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .=.$value;.}.....public.function
128620 20 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .hasArgument($name).{.return.$th
128640 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d is->definition->hasArgument($nam
128660 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 e);.}.....public.function.getOpt
128680 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 ions().{.return.array_merge($thi
1286a0 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 44 65 66 61 75 6c 74 73 s->definition->getOptionDefaults
1286c0 28 29 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 (),.$this->options);.}.....publi
1286e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 c.function.getOption($name).{.if
128700 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 .(!$this->definition->hasOption(
128720 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d $name)).{.throw.new.InvalidArgum
128740 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 6f entException(sprintf('The."%s".o
128760 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b ption.does.not.exist.',.$name));
128780 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b .}..return.isset($this->options[
1287a0 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 $name]).?.$this->options[$name].
1287c0 3a 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 :.$this->definition->getOption($
1287e0 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 name)->getDefault();.}.....publi
128800 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c c.function.setOption($name,.$val
128820 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 ue).{.if.(!$this->definition->ha
128840 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 sOption($name)).{.throw.new.Inva
128860 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 lidArgumentException(sprintf('Th
128880 65 20 22 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 e."%s".option.does.not.exist.',.
1288a0 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 $name));.}..$this->options[$name
1288c0 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ].=.$value;.}.....public.functio
1288e0 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 n.hasOption($name).{.return.$thi
128900 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b s->definition->hasOption($name);
128920 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 .}.........public.function.escap
128940 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 eToken($token).{.return.preg_mat
128960 63 68 28 27 7b 5e 5b 5c 77 2d 5d 2b 24 7d 27 2c 20 24 74 6f 6b 65 6e 29 20 3f 20 24 74 6f 6b 65 ch('{^[\w-]+$}',.$token).?.$toke
128980 6e 20 3a 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a n.:.escapeshellarg($token);.}.}.
1289a0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
1289c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 y\Component\Console\Input;..use.
1289e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
128a00 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 ion\InvalidArgumentException;.us
128a20 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 e.Symfony\Component\Console\Exce
128a40 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 ption\LogicException;.......clas
128a60 73 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 0a 7b 0a 63 6f 6e 73 74 20 52 45 51 55 49 52 45 44 s.InputArgument.{.const.REQUIRED
128a80 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 41 4c 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 .=.1;.const.OPTIONAL.=.2;.const.
128aa0 49 53 5f 41 52 52 41 59 20 3d 20 34 3b 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 IS_ARRAY.=.4;..private.$name;.pr
128ac0 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 ivate.$mode;.private.$default;.p
128ae0 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 rivate.$description;..........pu
128b00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c blic.function.__construct($name,
128b20 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 .$mode.=.null,.$description.=.''
128b40 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d ,.$default.=.null).{.if.(null.==
128b60 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 41 =.$mode).{.$mode.=.self::OPTIONA
128b80 4c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 69 6e 74 28 24 6d 6f 64 65 29 20 7c 7c 20 24 L;.}.elseif.(!is_int($mode).||.$
128ba0 6d 6f 64 65 20 3e 20 37 20 7c 7c 20 24 6d 6f 64 65 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e mode.>.7.||.$mode.<.1).{.throw.n
128bc0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
128be0 6e 74 66 28 27 41 72 67 75 6d 65 6e 74 20 6d 6f 64 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 76 ntf('Argument.mode."%s".is.not.v
128c00 61 6c 69 64 2e 27 2c 20 24 6d 6f 64 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 alid.',.$mode));.}..$this->name.
128c20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 24 74 =.$name;.$this->mode.=.$mode;.$t
128c40 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b his->description.=.$description;
128c60 0a 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d ..$this->setDefault($default);.}
128c80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 .......public.function.getName()
128ca0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .{.return.$this->name;.}.......p
128cc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 71 75 69 72 65 64 28 29 0a 7b 0a 72 65 ublic.function.isRequired().{.re
128ce0 74 75 72 6e 20 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 52 turn.self::REQUIRED.===.(self::R
128d00 45 51 55 49 52 45 44 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a EQUIRED.&.$this->mode);.}.......
128d20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 29 0a 7b 0a 72 65 74 75 public.function.isArray().{.retu
128d40 72 6e 20 73 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 49 53 5f rn.self::IS_ARRAY.===.(self::IS_
128d60 41 52 52 41 59 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ARRAY.&.$this->mode);.}.........
128d80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 public.function.setDefault($defa
128da0 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 ult.=.null).{.if.(self::REQUIRED
128dc0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 .===.$this->mode.&&.null.!==.$de
128de0 66 61 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f fault).{.throw.new.LogicExceptio
128e00 6e 28 27 43 61 6e 6e 6f 74 20 73 65 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 65 78 n('Cannot.set.a.default.value.ex
128e20 63 65 70 74 20 66 6f 72 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c cept.for.InputArgument::OPTIONAL
128e40 20 6d 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 .mode.');.}..if.($this->isArray(
128e60 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 )).{.if.(null.===.$default).{.$d
128e80 65 66 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f efault.=.array();.}.elseif.(!is_
128ea0 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 array($default)).{.throw.new.Log
128ec0 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 icException('A.default.value.for
128ee0 20 61 6e 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 .an.array.argument.must.be.an.ar
128f00 72 61 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 64 ray.');.}.}..$this->default.=.$d
128f20 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 efault;.}.......public.function.
128f40 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 getDefault().{.return.$this->def
128f60 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ault;.}.......public.function.ge
128f80 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 tDescription().{.return.$this->d
128fa0 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a escription;.}.}.<?php...........
128fc0 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
128fe0 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 ole\Input;........interface.Inpu
129000 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 tAwareInterface.{......public.fu
129020 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 nction.setInput(InputInterface.$
129040 69 6e 70 75 74 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 input);.}.<?php...........namesp
129060 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e ace.Symfony\Component\Console\In
129080 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 put;..use.Symfony\Component\Cons
1290a0 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 ole\Descriptor\TextDescriptor;.u
1290c0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 se.Symfony\Component\Console\Des
1290e0 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f criptor\XmlDescriptor;.use.Symfo
129100 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 ny\Component\Console\Output\Buff
129120 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e eredOutput;.use.Symfony\Componen
129140 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d t\Console\Exception\InvalidArgum
129160 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e entException;.use.Symfony\Compon
129180 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 ent\Console\Exception\LogicExcep
1291a0 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 44 65 tion;..............class.InputDe
1291c0 66 69 6e 69 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 70 finition.{.private.$arguments;.p
1291e0 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 rivate.$requiredCount;.private.$
129200 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 hasAnArrayArgument.=.false;.priv
129220 61 74 65 20 24 68 61 73 4f 70 74 69 6f 6e 61 6c 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f ate.$hasOptional;.private.$optio
129240 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 73 3b 0a 0a 0a 0a 0a 70 75 62 6c ns;.private.$shortcuts;.....publ
129260 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 64 ic.function.__construct(array.$d
129280 65 66 69 6e 69 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 efinition.=.array()).{.$this->se
1292a0 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a tDefinition($definition);.}.....
1292c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 public.function.setDefinition(ar
1292e0 72 61 79 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 ray.$definition).{.$arguments.=.
129300 61 72 72 61 79 28 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 array();.$options.=.array();.for
129320 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 69 66 each.($definition.as.$item).{.if
129340 20 28 24 69 74 65 6d 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 29 20 .($item.instanceof.InputOption).
129360 7b 0a 24 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 {.$options[].=.$item;.}.else.{.$
129380 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d arguments[].=.$item;.}.}..$this-
1293a0 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 24 74 68 69 73 >setArguments($arguments);.$this
1293c0 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->setOptions($options);.}.......
1293e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 61 72 public.function.setArguments($ar
129400 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 guments.=.array()).{.$this->argu
129420 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 ments.=.array();.$this->required
129440 43 6f 75 6e 74 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d 20 Count.=.0;.$this->hasOptional.=.
129460 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 false;.$this->hasAnArrayArgument
129480 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 61 .=.false;.$this->addArguments($a
1294a0 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rguments);.}.......public.functi
1294c0 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 on.addArguments($arguments.=.arr
1294e0 61 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 73 29 ay()).{.if.(null.!==.$arguments)
129500 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 72 67 75 6d .{.foreach.($arguments.as.$argum
129520 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d ent).{.$this->addArgument($argum
129540 65 6e 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ent);.}.}.}.....public.function.
129560 61 64 64 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d addArgument(InputArgument.$argum
129580 65 6e 74 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 ent).{.if.(isset($this->argument
1295a0 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 74 68 72 6f s[$argument->getName()])).{.thro
1295c0 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e w.new.LogicException(sprintf('An
1295e0 20 61 72 67 75 6d 65 6e 74 20 77 69 74 68 20 6e 61 6d 65 20 22 25 73 22 20 61 6c 72 65 61 64 79 .argument.with.name."%s".already
129600 20 65 78 69 73 74 73 2e 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 .exists.',.$argument->getName())
129620 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d );.}..if.($this->hasAnArrayArgum
129640 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 ent).{.throw.new.LogicException(
129660 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 61 6e 'Cannot.add.an.argument.after.an
129680 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 .array.argument.');.}..if.($argu
1296a0 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 ment->isRequired().&&.$this->has
1296c0 4f 70 74 69 6f 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 Optional).{.throw.new.LogicExcep
1296e0 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 20 72 65 71 75 69 72 65 64 20 61 72 67 75 tion('Cannot.add.a.required.argu
129700 6d 65 6e 74 20 61 66 74 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6f 6e 65 2e 27 29 3b 0a 7d ment.after.an.optional.one.');.}
129720 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 74 ..if.($argument->isArray()).{.$t
129740 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 74 72 75 65 3b 0a his->hasAnArrayArgument.=.true;.
129760 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 29 20 }..if.($argument->isRequired()).
129780 7b 0a 2b 2b 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 7d 20 65 6c 73 65 {.++$this->requiredCount;.}.else
1297a0 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a .{.$this->hasOptional.=.true;.}.
1297c0 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 .$this->arguments[$argument->get
1297e0 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Name()].=.$argument;.}..........
129800 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 .public.function.getArgument($na
129820 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e me).{.if.(!$this->hasArgument($n
129840 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ame)).{.throw.new.InvalidArgumen
129860 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 tException(sprintf('The."%s".arg
129880 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b ument.does.not.exist.',.$name));
1298a0 0a 7d 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 20 3f .}..$arguments.=.is_int($name).?
1298c0 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 20 .array_values($this->arguments).
1298e0 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 :.$this->arguments;..return.$arg
129900 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 uments[$name];.}.........public.
129920 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 function.hasArgument($name).{.$a
129940 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 20 3f 20 61 72 72 61 79 rguments.=.is_int($name).?.array
129960 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 20 3a 20 24 74 68 69 _values($this->arguments).:.$thi
129980 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 61 72 67 s->arguments;..return.isset($arg
1299a0 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 uments[$name]);.}.......public.f
1299c0 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 unction.getArguments().{.return.
1299e0 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $this->arguments;.}.......public
129a00 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 43 6f 75 6e 74 28 29 0a 7b 0a 72 .function.getArgumentCount().{.r
129a20 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 eturn.$this->hasAnArrayArgument.
129a40 3f 20 50 48 50 5f 49 4e 54 5f 4d 41 58 20 3a 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 ?.PHP_INT_MAX.:.count($this->arg
129a60 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e uments);.}.......public.function
129a80 20 67 65 74 41 72 67 75 6d 65 6e 74 52 65 71 75 69 72 65 64 43 6f 75 6e 74 28 29 0a 7b 0a 72 65 .getArgumentRequiredCount().{.re
129aa0 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 7d 0a 0a 0a 0a turn.$this->requiredCount;.}....
129ac0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 44 65 ...public.function.getArgumentDe
129ae0 66 61 75 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f faults().{.$values.=.array();.fo
129b00 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 72 67 75 reach.($this->arguments.as.$argu
129b20 6d 65 6e 74 29 20 7b 0a 24 76 61 6c 75 65 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 ment).{.$values[$argument->getNa
129b40 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b me()].=.$argument->getDefault();
129b60 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .}..return.$values;.}.......publ
129b80 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 ic.function.setOptions($options.
129ba0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 =.array()).{.$this->options.=.ar
129bc0 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 20 3d 20 61 72 72 61 79 28 ray();.$this->shortcuts.=.array(
129be0 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a );.$this->addOptions($options);.
129c00 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f }.......public.function.addOptio
129c20 6e 73 28 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 ns($options.=.array()).{.foreach
129c40 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e .($options.as.$option).{.$this->
129c60 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c addOption($option);.}.}.....publ
129c80 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f ic.function.addOption(InputOptio
129ca0 6e 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 n.$option).{.if.(isset($this->op
129cc0 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 21 24 tions[$option->getName()]).&&.!$
129ce0 6f 70 74 69 6f 6e 2d 3e 65 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f option->equals($this->options[$o
129d00 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ption->getName()])).{.throw.new.
129d20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 6f 70 74 69 6f LogicException(sprintf('An.optio
129d40 6e 20 6e 61 6d 65 64 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 n.named."%s".already.exists.',.$
129d60 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 option->getName()));.}..if.($opt
129d80 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 65 ion->getShortcut()).{.foreach.(e
129da0 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 xplode('|',.$option->getShortcut
129dc0 28 29 29 20 61 73 20 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 ()).as.$shortcut).{.if.(isset($t
129de0 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 29 20 26 26 20 21 24 his->shortcuts[$shortcut]).&&.!$
129e00 6f 70 74 69 6f 6e 2d 3e 65 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 74 option->equals($this->options[$t
129e20 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 5d 29 29 20 7b 0a 74 his->shortcuts[$shortcut]])).{.t
129e40 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 hrow.new.LogicException(sprintf(
129e60 27 41 6e 20 6f 70 74 69 6f 6e 20 77 69 74 68 20 73 68 6f 72 74 63 75 74 20 22 25 73 22 20 61 6c 'An.option.with.shortcut."%s".al
129e80 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 7d ready.exists.',.$shortcut));.}.}
129ea0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e .}..$this->options[$option->getN
129ec0 61 6d 65 28 29 5d 20 3d 20 24 6f 70 74 69 6f 6e 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 ame()].=.$option;.if.($option->g
129ee0 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 etShortcut()).{.foreach.(explode
129f00 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 61 73 ('|',.$option->getShortcut()).as
129f20 20 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 .$shortcut).{.$this->shortcuts[$
129f40 73 68 6f 72 74 63 75 74 5d 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a shortcut].=.$option->getName();.
129f60 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 }.}.}...........public.function.
129f80 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 getOption($name).{.if.(!$this->h
129fa0 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 asOption($name)).{.throw.new.Inv
129fc0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 alidArgumentException(sprintf('T
129fe0 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e he."--%s".option.does.not.exist.
12a000 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 ',.$name));.}..return.$this->opt
12a020 69 6f 6e 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ions[$name];.}............public
12a040 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 .function.hasOption($name).{.ret
12a060 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 urn.isset($this->options[$name])
12a080 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 ;.}.......public.function.getOpt
12a0a0 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a ions().{.return.$this->options;.
12a0c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 68 6f }.........public.function.hasSho
12a0e0 72 74 63 75 74 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 rtcut($name).{.return.isset($thi
12a100 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a s->shortcuts[$name]);.}.........
12a120 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 public.function.getOptionForShor
12a140 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tcut($shortcut).{.return.$this->
12a160 67 65 74 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d 65 28 getOption($this->shortcutToName(
12a180 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $shortcut));.}.......public.func
12a1a0 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 44 65 66 61 75 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 tion.getOptionDefaults().{.$valu
12a1c0 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 es.=.array();.foreach.($this->op
12a1e0 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 76 61 6c 75 65 73 5b 24 6f 70 74 tions.as.$option).{.$values[$opt
12a200 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 ion->getName()].=.$option->getDe
12a220 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 7d 0a 0a 0a fault();.}..return.$values;.}...
12a240 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 72 74 63 75 ........private.function.shortcu
12a260 74 54 6f 4e 61 6d 65 28 24 73 68 6f 72 74 63 75 74 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 tToName($shortcut).{.if.(!isset(
12a280 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 29 29 20 7b 0a $this->shortcuts[$shortcut])).{.
12a2a0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
12a2c0 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 on(sprintf('The."-%s".option.doe
12a2e0 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 72 s.not.exist.',.$shortcut));.}..r
12a300 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 eturn.$this->shortcuts[$shortcut
12a320 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ];.}.........public.function.get
12a340 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 65 6c 65 6d Synopsis($short.=.false).{.$elem
12a360 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 73 68 6f 72 74 20 26 26 20 24 ents.=.array();..if.($short.&&.$
12a380 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b this->getOptions()).{.$elements[
12a3a0 5d 20 3d 20 27 5b 6f 70 74 69 6f 6e 73 5d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 73 68 6f ].=.'[options]';.}.elseif.(!$sho
12a3c0 72 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 rt).{.foreach.($this->getOptions
12a3e0 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 ().as.$option).{.$value.=.'';.if
12a400 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c .($option->acceptValue()).{.$val
12a420 75 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 20 25 73 25 73 25 73 27 2c 0a 24 6f 70 74 69 6f 6e ue.=.sprintf(.'.%s%s%s',.$option
12a440 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 27 5b 27 20 3a 20 27 27 2c 0a ->isValueOptional().?.'['.:.'',.
12a460 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 0a strtoupper($option->getName()),.
12a480 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 27 5d 27 $option->isValueOptional().?.']'
12a4a0 20 3a 20 27 27 0a 29 3b 0a 7d 0a 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 24 6f 70 74 69 6f 6e 2d .:.''.);.}..$shortcut.=.$option-
12a4c0 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 73 70 72 69 6e 74 66 28 27 2d 25 73 7c 27 2c >getShortcut().?.sprintf('-%s|',
12a4e0 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 3b 0a 24 .$option->getShortcut()).:.'';.$
12a500 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 2d 2d 25 73 25 73 5d elements[].=.sprintf('[%s--%s%s]
12a520 27 2c 20 24 73 68 6f 72 74 63 75 74 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 ',.$shortcut,.$option->getName()
12a540 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 65 6c 65 6d 65 ,.$value);.}.}..if.(count($eleme
12a560 6e 74 73 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b nts).&&.$this->getArguments()).{
12a580 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 2d 2d 5d 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 .$elements[].=.'[--]';.}..foreac
12a5a0 68 20 28 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 h.($this->getArguments().as.$arg
12a5c0 75 6d 65 6e 74 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 3d 20 27 3c 27 2e 24 61 72 67 75 6d 65 6e ument).{.$element.=.'<'.$argumen
12a5e0 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3e 27 3b 0a 69 66 20 28 21 24 61 72 67 75 6d 65 6e 74 t->getName().'>';.if.(!$argument
12a600 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 3d 20 27 5b 27 ->isRequired()).{.$element.=.'['
12a620 2e 24 65 6c 65 6d 65 6e 74 2e 27 5d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 72 67 75 6d 65 .$element.']';.}.elseif.($argume
12a640 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 3d 20 24 65 6c 65 nt->isArray()).{.$element.=.$ele
12a660 6d 65 6e 74 2e 27 20 28 27 2e 24 65 6c 65 6d 65 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 69 66 20 28 24 ment.'.('.$element.')';.}..if.($
12a680 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 argument->isArray()).{.$element.
12a6a0 2e 3d 20 27 2e 2e 2e 27 3b 0a 7d 0a 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 24 65 6c 65 6d .=.'...';.}..$elements[].=.$elem
12a6c0 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 65 6c 65 ent;.}..return.implode('.',.$ele
12a6e0 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ments);.}.........public.functio
12a700 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 n.asText().{.@trigger_error('The
12a720 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 .'.__METHOD__.'.method.is.deprec
12a740 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.3.and.will.
12a760 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 be.removed.in.3.0.',.E_USER_DEPR
12a780 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 54 65 78 74 ECATED);..$descriptor.=.new.Text
12a7a0 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 Descriptor();.$output.=.new.Buff
12a7c0 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f eredOutput(BufferedOutput::VERBO
12a7e0 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 74 72 75 65 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d SITY_NORMAL,.true);.$descriptor-
12a800 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 >describe($output,.$this,.array(
12a820 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 'raw_output'.=>.true));..return.
12a840 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 $output->fetch();.}...........pu
12a860 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 61 73 44 6f 6d 20 3d 20 66 61 6c blic.function.asXml($asDom.=.fal
12a880 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 se).{.@trigger_error('The.'.__ME
12a8a0 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 THOD__.'.method.is.deprecated.si
12a8c0 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.3.and.will.be.remo
12a8e0 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
12a900 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 ;..$descriptor.=.new.XmlDescript
12a920 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 44 6f 6d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 73 or();..if.($asDom).{.return.$des
12a940 63 72 69 70 74 6f 72 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d criptor->getInputDefinitionDocum
12a960 65 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 ent($this);.}..$output.=.new.Buf
12a980 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 feredOutput();.$descriptor->desc
12a9a0 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f ribe($output,.$this);..return.$o
12a9c0 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a utput->fetch();.}.}.<?php.......
12a9e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
12aa00 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 Console\Input;..use.Symfony\Comp
12aa20 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 onent\Console\Exception\InvalidA
12aa40 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f rgumentException;.use.Symfony\Co
12aa60 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d mponent\Console\Exception\Runtim
12aa80 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 eException;.......interface.Inpu
12aaa0 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tInterface.{......public.functio
12aac0 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a n.getFirstArgument();...........
12aae0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f ...public.function.hasParameterO
12ab00 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ption($values);...............pu
12ab20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e blic.function.getParameterOption
12ab40 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a ($values,.$default.=.false);....
12ab60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 64 28 49 6e 70 75 74 44 65 66 69 6e .public.function.bind(InputDefin
12ab80 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ition.$definition);.......public
12aba0 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .function.validate();.......publ
12abc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 0a 0a 0a ic.function.getArguments();.....
12abe0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e ......public.function.getArgumen
12ac00 74 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 t($name);..........public.functi
12ac20 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a on.setArgument($name,.$value);..
12ac40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 .......public.function.hasArgume
12ac60 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e nt($name);.......public.function
12ac80 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .getOptions();...........public.
12aca0 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a function.getOption($name);......
12acc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e ....public.function.setOption($n
12ace0 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ame,.$value);.........public.fun
12ad00 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 ction.hasOption($name);.......pu
12ad20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 0a blic.function.isInteractive();..
12ad40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 74 65 72 61 63 74 .....public.function.setInteract
12ad60 69 76 65 28 24 69 6e 74 65 72 61 63 74 69 76 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ive($interactive);.}.<?php......
12ad80 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
12ada0 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \Console\Input;..use.Symfony\Com
12adc0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 ponent\Console\Exception\Invalid
12ade0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ArgumentException;.use.Symfony\C
12ae00 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 omponent\Console\Exception\Logic
12ae20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 4f 70 74 69 Exception;.......class.InputOpti
12ae40 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 4e 4f 4e 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 on.{.const.VALUE_NONE.=.1;.const
12ae60 20 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 .VALUE_REQUIRED.=.2;.const.VALUE
12ae80 5f 4f 50 54 49 4f 4e 41 4c 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 49 53 5f 41 52 _OPTIONAL.=.4;.const.VALUE_IS_AR
12aea0 52 41 59 20 3d 20 38 3b 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 RAY.=.8;..private.$name;.private
12aec0 20 24 73 68 6f 72 74 63 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 70 72 69 76 61 .$shortcut;.private.$mode;.priva
12aee0 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f te.$default;.private.$descriptio
12af00 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 n;...........public.function.__c
12af20 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c onstruct($name,.$shortcut.=.null
12af40 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 ,.$mode.=.null,.$description.=.'
12af60 27 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 ',.$default.=.null).{.if.(0.===.
12af80 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 strpos($name,.'--')).{.$name.=.s
12afa0 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e ubstr($name,.2);.}..if.(empty($n
12afc0 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ame)).{.throw.new.InvalidArgumen
12afe0 74 45 78 63 65 70 74 69 6f 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 63 61 6e 6e 6f tException('An.option.name.canno
12b000 74 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f t.be.empty.');.}..if.(empty($sho
12b020 72 74 63 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 rtcut)).{.$shortcut.=.null;.}..i
12b040 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 69 66 20 28 69 73 5f f.(null.!==.$shortcut).{.if.(is_
12b060 61 72 72 61 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 array($shortcut)).{.$shortcut.=.
12b080 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 29 3b 0a 7d 0a 24 73 68 6f 72 implode('|',.$shortcut);.}.$shor
12b0a0 74 63 75 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 5c 7c 29 2d 3f 7d 27 2c 20 6c tcuts.=.preg_split('{(\|)-?}',.l
12b0c0 74 72 69 6d 28 24 73 68 6f 72 74 63 75 74 2c 20 27 2d 27 29 29 3b 0a 24 73 68 6f 72 74 63 75 74 trim($shortcut,.'-'));.$shortcut
12b0e0 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 24 73 s.=.array_filter($shortcuts);.$s
12b100 68 6f 72 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 hortcut.=.implode('|',.$shortcut
12b120 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 72 s);..if.(empty($shortcut)).{.thr
12b140 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 ow.new.InvalidArgumentException(
12b160 27 41 6e 20 6f 70 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 'An.option.shortcut.cannot.be.em
12b180 70 74 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 pty.');.}.}..if.(null.===.$mode)
12b1a0 20 7b 0a 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 3b 0a 7d 20 65 .{.$mode.=.self::VALUE_NONE;.}.e
12b1c0 6c 73 65 69 66 20 28 21 69 73 5f 69 6e 74 28 24 6d 6f 64 65 29 20 7c 7c 20 24 6d 6f 64 65 20 3e lseif.(!is_int($mode).||.$mode.>
12b1e0 20 31 35 20 7c 7c 20 24 6d 6f 64 65 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e .15.||.$mode.<.1).{.throw.new.In
12b200 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 validArgumentException(sprintf('
12b220 4f 70 74 69 6f 6e 20 6d 6f 64 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 2c Option.mode."%s".is.not.valid.',
12b240 20 24 6d 6f 64 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 .$mode));.}..$this->name.=.$name
12b260 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 20 3d 20 24 73 68 6f 72 74 63 75 74 3b 0a 24 ;.$this->shortcut.=.$shortcut;.$
12b280 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 this->mode.=.$mode;.$this->descr
12b2a0 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 74 68 69 iption.=.$description;..if.($thi
12b2c0 73 2d 3e 69 73 41 72 72 61 79 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 s->isArray().&&.!$this->acceptVa
12b2e0 6c 75 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 lue()).{.throw.new.InvalidArgume
12b300 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 ntException('Impossible.to.have.
12b320 61 6e 20 6f 70 74 69 6f 6e 20 6d 6f 64 65 20 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 69 66 an.option.mode.VALUE_IS_ARRAY.if
12b340 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 74 20 61 20 76 61 .the.option.does.not.accept.a.va
12b360 6c 75 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 lue.');.}..$this->setDefault($de
12b380 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 fault);.}.......public.function.
12b3a0 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 getShortcut().{.return.$this->sh
12b3c0 6f 72 74 63 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ortcut;.}.......public.function.
12b3e0 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a getName().{.return.$this->name;.
12b400 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 56 61 }.......public.function.acceptVa
12b420 6c 75 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 52 65 71 lue().{.return.$this->isValueReq
12b440 75 69 72 65 64 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 uired().||.$this->isValueOptiona
12b460 6c 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 l();.}.......public.function.isV
12b480 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 alueRequired().{.return.self::VA
12b4a0 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 LUE_REQUIRED.===.(self::VALUE_RE
12b4c0 51 55 49 52 45 44 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 QUIRED.&.$this->mode);.}.......p
12b4e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 ublic.function.isValueOptional()
12b500 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d .{.return.self::VALUE_OPTIONAL.=
12b520 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 26 20 24 74 68 69 73 ==.(self::VALUE_OPTIONAL.&.$this
12b540 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->mode);.}.......public.function
12b560 20 69 73 41 72 72 61 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f .isArray().{.return.self::VALUE_
12b580 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 IS_ARRAY.===.(self::VALUE_IS_ARR
12b5a0 41 59 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 AY.&.$this->mode);.}.........pub
12b5c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 lic.function.setDefault($default
12b5e0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 .=.null).{.if.(self::VALUE_NONE.
12b600 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 26 20 24 74 68 69 73 2d 3e 6d ===.(self::VALUE_NONE.&.$this->m
12b620 6f 64 65 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 74 68 72 ode).&&.null.!==.$default).{.thr
12b640 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 73 65 ow.new.LogicException('Cannot.se
12b660 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 77 68 65 6e 20 75 73 69 6e 67 20 49 6e 70 t.a.default.value.when.using.Inp
12b680 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 6d 6f 64 65 2e 27 29 3b 0a 7d 0a utOption::VALUE_NONE.mode.');.}.
12b6a0 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 69 66 20 28 6e 75 6c .if.($this->isArray()).{.if.(nul
12b6c0 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 61 72 72 l.===.$default).{.$default.=.arr
12b6e0 61 79 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 ay();.}.elseif.(!is_array($defau
12b700 6c 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 lt)).{.throw.new.LogicException(
12b720 27 41 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 61 72 72 61 79 20 6f 70 'A.default.value.for.an.array.op
12b740 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 tion.must.be.an.array.');.}.}..$
12b760 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 6c this->default.=.$this->acceptVal
12b780 75 65 28 29 20 3f 20 24 64 65 66 61 75 6c 74 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ue().?.$default.:.false;.}......
12b7a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a .public.function.getDefault().{.
12b7c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 return.$this->default;.}.......p
12b7e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a ublic.function.getDescription().
12b800 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a {.return.$this->description;.}..
12b820 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 73 65 6c 66 .....public.function.equals(self
12b840 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e .$option).{.return.$option->getN
12b860 61 6d 65 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 26 26 20 24 6f ame().===.$this->getName().&&.$o
12b880 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e ption->getShortcut().===.$this->
12b8a0 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 getShortcut().&&.$option->getDef
12b8c0 61 75 6c 74 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 0a 26 ault().===.$this->getDefault().&
12b8e0 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e &.$option->isArray().===.$this->
12b900 69 73 41 72 72 61 79 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 isArray().&&.$option->isValueReq
12b920 75 69 72 65 64 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 uired().===.$this->isValueRequir
12b940 65 64 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c ed().&&.$option->isValueOptional
12b960 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 0a ().===.$this->isValueOptional().
12b980 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
12b9a0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b Symfony\Component\Console\Input;
12b9c0 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
12b9e0 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 Exception\InvalidArgumentExcepti
12ba00 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 49 6e 70 75 74 20 on;...........class.StringInput.
12ba20 65 78 74 65 6e 64 73 20 41 72 67 76 49 6e 70 75 74 0a 7b 0a 63 6f 6e 73 74 20 52 45 47 45 58 5f extends.ArgvInput.{.const.REGEX_
12ba40 53 54 52 49 4e 47 20 3d 20 27 28 5b 5e 5c 73 5d 2b 3f 29 28 3f 3a 5c 73 7c 28 3f 3c 21 5c 5c 5c STRING.=.'([^\s]+?)(?:\s|(?<!\\\
12ba60 5c 29 22 7c 28 3f 3c 21 5c 5c 5c 5c 29 5c 27 7c 24 29 27 3b 0a 63 6f 6e 73 74 20 52 45 47 45 58 \)"|(?<!\\\\)\'|$)';.const.REGEX
12ba80 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 20 3d 20 27 28 3f 3a 22 28 5b 5e 22 5c 5c 5c 5c 5d 2a _QUOTED_STRING.=.'(?:"([^"\\\\]*
12baa0 28 3f 3a 5c 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 29 2a 29 22 7c 5c 27 28 5b 5e 5c 27 5c 5c 5c (?:\\\\.[^"\\\\]*)*)"|\'([^\'\\\
12bac0 5c 5d 2a 28 3f 3a 5c 5c 5c 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 29 2a 29 5c 27 29 27 3b 0a 0a 0a \]*(?:\\\\.[^\'\\\\]*)*)\')';...
12bae0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
12bb00 28 24 69 6e 70 75 74 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 ($input,.InputDefinition.$defini
12bb20 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 tion.=.null).{.if.($definition).
12bb40 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 24 64 65 66 69 6e 69 74 69 6f {.@trigger_error('The.$definitio
12bb60 6e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 n.argument.of.the.'.__METHOD__.'
12bb80 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 62 .method.is.deprecated.and.will.b
12bba0 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 53 65 74 20 74 68 69 73 20 70 61 72 61 6d e.removed.in.3.0..Set.this.param
12bbc0 65 74 65 72 20 77 69 74 68 20 74 68 65 20 62 69 6e 64 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 eter.with.the.bind().method.inst
12bbe0 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 70 61 ead.',.E_USER_DEPRECATED);.}..pa
12bc00 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 28 29 2c 20 6e 75 6c 6c 29 rent::__construct(array(),.null)
12bc20 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 6f 6b 65 6e 73 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e ;..$this->setTokens($this->token
12bc40 69 7a 65 28 24 69 6e 70 75 74 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 ize($input));..if.(null.!==.$def
12bc60 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 64 28 24 64 65 66 69 6e 69 74 69 inition).{.$this->bind($definiti
12bc80 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 on);.}.}...........private.funct
12bca0 69 6f 6e 20 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 6f 6b 65 6e 73 20 3d ion.tokenize($input).{.$tokens.=
12bcc0 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 69 6e 70 75 .array();.$length.=.strlen($inpu
12bce0 74 29 3b 0a 24 63 75 72 73 6f 72 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 24 63 75 72 73 6f 72 20 t);.$cursor.=.0;.while.($cursor.
12bd00 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5c 73 <.$length).{.if.(preg_match('/\s
12bd20 2b 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 +/A',.$input,.$match,.null,.$cur
12bd40 73 6f 72 29 29 20 7b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 sor)).{.}.elseif.(preg_match('/(
12bd60 5b 5e 3d 22 5c 27 5c 73 5d 2b 3f 29 28 3d 3f 29 28 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 [^="\'\s]+?)(=?)('.self::REGEX_Q
12bd80 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2b 29 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 UOTED_STRING.'+)/A',.$input,.$ma
12bda0 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d tch,.null,.$cursor)).{.$tokens[]
12bdc0 20 3d 20 24 6d 61 74 63 68 5b 31 5d 2e 24 6d 61 74 63 68 5b 32 5d 2e 73 74 72 69 70 63 73 6c 61 .=.$match[1].$match[2].stripcsla
12bde0 73 68 65 73 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 22 5c 27 27 2c 20 27 5c shes(str_replace(array('"\'',.'\
12be00 27 22 27 2c 20 27 5c 27 5c 27 27 2c 20 27 22 22 27 29 2c 20 27 27 2c 20 73 75 62 73 74 72 28 24 '"',.'\'\'',.'""'),.'',.substr($
12be20 6d 61 74 63 68 5b 33 5d 2c 20 31 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 33 5d 29 20 2d match[3],.1,.strlen($match[3]).-
12be40 20 32 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e .2)));.}.elseif.(preg_match('/'.
12be60 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 self::REGEX_QUOTED_STRING.'/A',.
12be80 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 $input,.$match,.null,.$cursor)).
12bea0 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 73 75 62 73 {.$tokens[].=.stripcslashes(subs
12bec0 74 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 31 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 tr($match[0],.1,.strlen($match[0
12bee0 5d 29 20 2d 20 32 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 ]).-.2));.}.elseif.(preg_match('
12bf00 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 /'.self::REGEX_STRING.'/A',.$inp
12bf20 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 ut,.$match,.null,.$cursor)).{.$t
12bf40 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 24 6d 61 74 63 68 5b 31 okens[].=.stripcslashes($match[1
12bf60 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 ]);.}.else.{...throw.new.Invalid
12bf80 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c ArgumentException(sprintf('Unabl
12bfa0 65 20 74 6f 20 70 61 72 73 65 20 69 6e 70 75 74 20 6e 65 61 72 20 22 2e 2e 2e 20 25 73 20 2e 2e e.to.parse.input.near."....%s...
12bfc0 2e 22 27 2c 20 73 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 24 63 75 72 73 6f 72 2c 20 31 30 29 ."',.substr($input,.$cursor,.10)
12bfe0 29 29 3b 0a 7d 0a 0a 24 63 75 72 73 6f 72 20 2b 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b ));.}..$cursor.+=.strlen($match[
12c000 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 73 3b 0a 7d 0a 7d 0a 43 6f 70 79 0]);.}..return.$tokens;.}.}.Copy
12c020 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e right.(c).2004-2018.Fabien.Poten
12c040 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 cier..Permission.is.hereby.grant
12c060 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f ed,.free.of.charge,.to.any.perso
12c080 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 n.obtaining.a.copy.of.this.softw
12c0a0 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e are.and.associated.documentation
12c0c0 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c .files.(the."Software"),.to.deal
12c0e0 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 .in.the.Software.without.restric
12c100 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 tion,.including.without.limitati
12c120 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 on.the.rights.to.use,.copy,.modi
12c140 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 fy,.merge,.publish,.distribute,.
12c160 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f sublicense,.and/or.sell.copies.o
12c180 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 f.the.Software,.and.to.permit.pe
12c1a0 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 rsons.to.whom.the.Software.is.fu
12c1c0 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 rnished.to.do.so,.subject.to.the
12c1e0 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 .following.conditions:..The.abov
12c200 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
12c220 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
12c240 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 in.all.copies.or.substantial.por
12c260 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 tions.of.the.Software...THE.SOFT
12c280 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
12c2a0 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
12c2c0 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 OR.IMPLIED,.INCLUDING.BUT.NOT.LI
12c2e0 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
12c300 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 ANTABILITY,.FITNESS.FOR.A.PARTIC
12c320 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 ULAR.PURPOSE.AND.NONINFRINGEMENT
12c340 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 ..IN.NO.EVENT.SHALL.THE.AUTHORS.
12c360 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 OR.COPYRIGHT.HOLDERS.BE.LIABLE.F
12c380 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c OR.ANY.CLAIM,.DAMAGES.OR.OTHER.L
12c3a0 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f IABILITY,.WHETHER.IN.AN.ACTION.O
12c3c0 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 F.CONTRACT,.TORT.OR.OTHERWISE,.A
12c3e0 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 RISING.FROM,.OUT.OF.OR.IN.CONNEC
12c400 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 TION.WITH.THE.SOFTWARE.OR.THE.US
12c420 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 E.OR.OTHER.DEALINGS.IN.THE.SOFTW
12c440 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 ARE..<?php...........namespace.S
12c460 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4c 6f 67 67 65 72 3b ymfony\Component\Console\Logger;
12c480 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 75 73 ..use.Psr\Log\AbstractLogger;.us
12c4a0 65 20 50 73 72 5c 4c 6f 67 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 e.Psr\Log\InvalidArgumentExcepti
12c4c0 6f 6e 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 on;.use.Psr\Log\LogLevel;.use.Sy
12c4e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f mfony\Component\Console\Output\O
12c500 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 utputInterface;.use.Symfony\Comp
12c520 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 onent\Console\Output\ConsoleOutp
12c540 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f utInterface;.........class.Conso
12c560 6c 65 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a leLogger.extends.AbstractLogger.
12c580 7b 0a 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 45 52 52 {.const.INFO.=.'info';.const.ERR
12c5a0 4f 52 20 3d 20 27 65 72 72 6f 72 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a OR.=.'error';..private.$output;.
12c5c0 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 private.$verbosityLevelMap.=.arr
12c5e0 61 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 4f 75 74 70 75 ay(.LogLevel::EMERGENCY.=>.Outpu
12c600 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f tInterface::VERBOSITY_NORMAL,.Lo
12c620 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 gLevel::ALERT.=>.OutputInterface
12c640 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 ::VERBOSITY_NORMAL,.LogLevel::CR
12c660 49 54 49 43 41 4c 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f ITICAL.=>.OutputInterface::VERBO
12c680 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 SITY_NORMAL,.LogLevel::ERROR.=>.
12c6a0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 OutputInterface::VERBOSITY_NORMA
12c6c0 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e L,.LogLevel::WARNING.=>.OutputIn
12c6e0 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 terface::VERBOSITY_NORMAL,.LogLe
12c700 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a vel::NOTICE.=>.OutputInterface::
12c720 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 VERBOSITY_VERBOSE,.LogLevel::INF
12c740 4f 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f O.=>.OutputInterface::VERBOSITY_
12c760 56 45 52 59 5f 56 45 52 42 4f 53 45 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e VERY_VERBOSE,.LogLevel::DEBUG.=>
12c780 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 .OutputInterface::VERBOSITY_DEBU
12c7a0 47 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 G,.);.private.$formatLevelMap.=.
12c7c0 61 72 72 61 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 73 65 array(.LogLevel::EMERGENCY.=>.se
12c7e0 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 73 65 lf::ERROR,.LogLevel::ALERT.=>.se
12c800 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e lf::ERROR,.LogLevel::CRITICAL.=>
12c820 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e .self::ERROR,.LogLevel::ERROR.=>
12c840 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 .self::ERROR,.LogLevel::WARNING.
12c860 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 =>.self::INFO,.LogLevel::NOTICE.
12c880 3d 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e =>.self::INFO,.LogLevel::INFO.=>
12c8a0 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 .self::INFO,.LogLevel::DEBUG.=>.
12c8c0 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 self::INFO,.);..public.function.
12c8e0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 __construct(OutputInterface.$out
12c900 70 75 74 2c 20 61 72 72 61 79 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 put,.array.$verbosityLevelMap.=.
12c920 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d array(),.array.$formatLevelMap.=
12c940 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 .array()).{.$this->output.=.$out
12c960 70 75 74 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 put;.$this->verbosityLevelMap.=.
12c980 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e 76 65 72 62 $verbosityLevelMap.+.$this->verb
12c9a0 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 osityLevelMap;.$this->formatLeve
12c9c0 6c 4d 61 70 20 3d 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e lMap.=.$formatLevelMap.+.$this->
12c9e0 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e formatLevelMap;.}.....public.fun
12ca00 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 ction.log($level,.$message,.arra
12ca20 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 21 69 73 73 y.$context.=.array()).{.if.(!iss
12ca40 65 74 28 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 et($this->verbosityLevelMap[$lev
12ca60 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e el])).{.throw.new.InvalidArgumen
12ca80 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 6c 6f 67 20 6c 65 76 65 tException(sprintf('The.log.leve
12caa0 6c 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6c 65 76 65 6c 29 l."%s".does.not.exist.',.$level)
12cac0 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 45 52 52 4f 52 20 3d 3d 3d 20 24 74 68 69 );.}....if.(self::ERROR.===.$thi
12cae0 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 20 26 26 20 24 74 68 s->formatLevelMap[$level].&&.$th
12cb00 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 is->output.instanceof.ConsoleOut
12cb20 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d putInterface).{.$output.=.$this-
12cb40 3e 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 20 65 6c 73 >output->getErrorOutput();.}.els
12cb60 65 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a e.{.$output.=.$this->output;.}..
12cb80 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 24 if.($output->getVerbosity().>=.$
12cba0 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 this->verbosityLevelMap[$level])
12cbc0 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 25 31 .{.$output->writeln(sprintf('<%1
12cbe0 24 73 3e 5b 25 32 24 73 5d 20 25 33 24 73 3c 2f 25 31 24 73 3e 27 2c 20 24 74 68 69 73 2d 3e 66 $s>[%2$s].%3$s</%1$s>',.$this->f
12cc00 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 2c 20 24 6c 65 76 65 6c 2c 20 24 ormatLevelMap[$level],.$level,.$
12cc20 74 68 69 73 2d 3e 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e this->interpolate($message,.$con
12cc40 74 65 78 74 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 text)));.}.}............private.
12cc60 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 61 function.interpolate($message,.a
12cc80 72 72 61 79 20 24 63 6f 6e 74 65 78 74 29 0a 7b 0a 0a 20 24 72 65 70 6c 61 63 65 20 3d 20 61 72 rray.$context).{...$replace.=.ar
12cca0 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 78 74 20 61 73 20 24 6b 65 79 ray();.foreach.($context.as.$key
12ccc0 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 .=>.$val).{.if.(!is_array($val).
12cce0 26 26 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 29 20 7c 7c 20 6d 65 74 68 6f 64 5f 65 &&.(!is_object($val).||.method_e
12cd00 78 69 73 74 73 28 24 76 61 6c 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 24 72 xists($val,.'__toString'))).{.$r
12cd20 65 70 6c 61 63 65 5b 73 70 72 69 6e 74 66 28 27 7b 25 73 7d 27 2c 20 24 6b 65 79 29 5d 20 3d 20 eplace[sprintf('{%s}',.$key)].=.
12cd40 24 76 61 6c 3b 0a 7d 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 6d 65 73 73 61 $val;.}.}....return.strtr($messa
12cd60 67 65 2c 20 24 72 65 70 6c 61 63 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ge,.$replace);.}.}.<?php........
12cd80 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ...namespace.Symfony\Component\C
12cda0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 65 onsole\Output;.....class.Buffere
12cdc0 64 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 dOutput.extends.Output.{.private
12cde0 20 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$buffer.=.'';.......public.func
12ce00 74 69 6f 6e 20 66 65 74 63 68 28 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d tion.fetch().{.$content.=.$this-
12ce20 3e 62 75 66 66 65 72 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 72 65 >buffer;.$this->buffer.=.'';..re
12ce40 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 turn.$content;.}.....protected.f
12ce60 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 unction.doWrite($message,.$newli
12ce80 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b ne).{.$this->buffer..=.$message;
12cea0 0a 0a 69 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 ..if.($newline).{.$this->buffer.
12cec0 2e 3d 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a .=.PHP_EOL;.}.}.}.<?php.........
12cee0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
12cf00 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nsole\Output;..use.Symfony\Compo
12cf20 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 nent\Console\Formatter\OutputFor
12cf40 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 matterInterface;...............c
12cf60 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 53 74 72 65 61 lass.ConsoleOutput.extends.Strea
12cf80 6d 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 mOutput.implements.ConsoleOutput
12cfa0 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 64 65 72 72 3b 0a 0a 0a 0a Interface.{.private.$stderr;....
12cfc0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
12cfe0 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d verbosity.=.self::VERBOSITY_NORM
12d000 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 AL,.$decorated.=.null,.OutputFor
12d020 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c matterInterface.$formatter.=.nul
12d040 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e l).{.parent::__construct($this->
12d060 6f 70 65 6e 4f 75 74 70 75 74 53 74 72 65 61 6d 28 29 2c 20 24 76 65 72 62 6f 73 69 74 79 2c 20 openOutputStream(),.$verbosity,.
12d080 24 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 24 61 63 74 75 61 $decorated,.$formatter);..$actua
12d0a0 6c 44 65 63 6f 72 61 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 lDecorated.=.$this->isDecorated(
12d0c0 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 );.$this->stderr.=.new.StreamOut
12d0e0 70 75 74 28 24 74 68 69 73 2d 3e 6f 70 65 6e 45 72 72 6f 72 53 74 72 65 61 6d 28 29 2c 20 24 76 put($this->openErrorStream(),.$v
12d100 65 72 62 6f 73 69 74 79 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 erbosity,.$decorated,.$this->get
12d120 46 6f 72 6d 61 74 74 65 72 28 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 Formatter());..if.(null.===.$dec
12d140 6f 72 61 74 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 61 orated).{.$this->setDecorated($a
12d160 63 74 75 61 6c 44 65 63 6f 72 61 74 65 64 20 26 26 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d ctualDecorated.&&.$this->stderr-
12d180 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 >isDecorated());.}.}.....public.
12d1a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 function.setDecorated($decorated
12d1c0 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 ).{.parent::setDecorated($decora
12d1e0 74 65 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 ted);.$this->stderr->setDecorate
12d200 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 d($decorated);.}.....public.func
12d220 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 tion.setFormatter(OutputFormatte
12d240 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a rInterface.$formatter).{.parent:
12d260 3a 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 24 74 68 69 73 :setFormatter($formatter);.$this
12d280 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 ->stderr->setFormatter($formatte
12d2a0 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 r);.}.....public.function.setVer
12d2c0 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 56 65 72 62 bosity($level).{.parent::setVerb
12d2e0 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 osity($level);.$this->stderr->se
12d300 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 tVerbosity($level);.}.....public
12d320 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 .function.getErrorOutput().{.ret
12d340 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 urn.$this->stderr;.}.....public.
12d360 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 4f 75 74 70 75 74 49 6e function.setErrorOutput(OutputIn
12d380 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 terface.$error).{.$this->stderr.
12d3a0 3d 20 24 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e =.$error;.}........protected.fun
12d3c0 63 74 69 6f 6e 20 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 ction.hasStdoutSupport().{.retur
12d3e0 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 n.false.===.$this->isRunningOS40
12d400 30 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 0();.}........protected.function
12d420 20 68 61 73 53 74 64 65 72 72 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c .hasStderrSupport().{.return.fal
12d440 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 3b 0a se.===.$this->isRunningOS400();.
12d460 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 75 6e 6e }........private.function.isRunn
12d480 69 6e 67 4f 53 34 30 30 28 29 0a 7b 0a 24 63 68 65 63 6b 73 20 3d 20 61 72 72 61 79 28 0a 66 75 ingOS400().{.$checks.=.array(.fu
12d4a0 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 nction_exists('php_uname').?.php
12d4c0 5f 75 6e 61 6d 65 28 27 73 27 29 20 3a 20 27 27 2c 0a 67 65 74 65 6e 76 28 27 4f 53 54 59 50 45 _uname('s').:.'',.getenv('OSTYPE
12d4e0 27 29 2c 0a 50 48 50 5f 4f 53 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d '),.PHP_OS,.);..return.false.!==
12d500 20 73 74 72 69 70 6f 73 28 69 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 63 68 65 63 6b 73 29 2c 20 .stripos(implode(';',.$checks),.
12d520 27 4f 53 34 30 30 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 'OS400');.}.....private.function
12d540 20 6f 70 65 6e 4f 75 74 70 75 74 53 74 72 65 61 6d 28 29 0a 7b 0a 24 6f 75 74 70 75 74 53 74 72 .openOutputStream().{.$outputStr
12d560 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 20 eam.=.$this->hasStdoutSupport().
12d580 3f 20 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 20 3a 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 ?.'php://stdout'.:.'php://output
12d5a0 27 3b 0a 0a 72 65 74 75 72 6e 20 40 66 6f 70 65 6e 28 24 6f 75 74 70 75 74 53 74 72 65 61 6d 2c ';..return.@fopen($outputStream,
12d5c0 20 27 77 27 29 20 3f 3a 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 2c 20 27 .'w').?:.fopen('php://output',.'
12d5e0 77 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e w');.}.....private.function.open
12d600 45 72 72 6f 72 53 74 72 65 61 6d 28 29 0a 7b 0a 24 65 72 72 6f 72 53 74 72 65 61 6d 20 3d 20 24 ErrorStream().{.$errorStream.=.$
12d620 74 68 69 73 2d 3e 68 61 73 53 74 64 65 72 72 53 75 70 70 6f 72 74 28 29 20 3f 20 27 70 68 70 3a this->hasStderrSupport().?.'php:
12d640 2f 2f 73 74 64 65 72 72 27 20 3a 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 3b 0a 0a 72 65 74 //stderr'.:.'php://output';..ret
12d660 75 72 6e 20 66 6f 70 65 6e 28 24 65 72 72 6f 72 53 74 72 65 61 6d 2c 20 27 77 27 29 3b 0a 7d 0a urn.fopen($errorStream,.'w');.}.
12d680 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
12d6a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 0a ony\Component\Console\Output;...
12d6c0 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 .....interface.ConsoleOutputInte
12d6e0 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a rface.extends.OutputInterface.{.
12d700 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 .....public.function.getErrorOut
12d720 70 75 74 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 put();..public.function.setError
12d740 4f 75 74 70 75 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 3b 0a Output(OutputInterface.$error);.
12d760 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
12d780 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 ony\Component\Console\Output;..u
12d7a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 se.Symfony\Component\Console\For
12d7c0 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 matter\OutputFormatter;.use.Symf
12d7e0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c ony\Component\Console\Formatter\
12d800 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a OutputFormatterInterface;.......
12d820 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f ...class.NullOutput.implements.O
12d840 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 utputInterface.{....public.funct
12d860 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 ion.setFormatter(OutputFormatter
12d880 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a Interface.$formatter).{...}.....
12d8a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b public.function.getFormatter().{
12d8c0 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b ...return.new.OutputFormatter();
12d8e0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 .}.....public.function.setDecora
12d900 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ted($decorated).{...}.....public
12d920 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e .function.isDecorated().{.return
12d940 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 .false;.}.....public.function.se
12d960 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 tVerbosity($level).{...}.....pub
12d980 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 lic.function.getVerbosity().{.re
12d9a0 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 3b 0a 7d 0a 0a 0a turn.self::VERBOSITY_QUIET;.}...
12d9c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 7b 0a 72 65 ..public.function.isQuiet().{.re
12d9e0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e turn.true;.}.....public.function
12da00 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a .isVerbose().{.return.false;.}..
12da20 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 ...public.function.isVeryVerbose
12da40 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ().{.return.false;.}.....public.
12da60 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 function.isDebug().{.return.fals
12da80 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e e;.}.....public.function.writeln
12daa0 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 ($messages,.$options.=.self::OUT
12dac0 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e PUT_NORMAL).{...}.....public.fun
12dae0 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 ction.write($messages,.$newline.
12db00 3d 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 =.false,.$options.=.self::OUTPUT
12db20 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a _NORMAL).{...}.}.<?php..........
12db40 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
12db60 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e sole\Output;..use.Symfony\Compon
12db80 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d ent\Console\Formatter\OutputForm
12dba0 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 atterInterface;.use.Symfony\Comp
12dbc0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f onent\Console\Formatter\OutputFo
12dbe0 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 rmatter;...............abstract.
12dc00 63 6c 61 73 73 20 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e class.Output.implements.OutputIn
12dc20 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 3b 0a 70 72 terface.{.private.$verbosity;.pr
12dc40 69 76 61 74 65 20 24 66 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ivate.$formatter;.......public.f
12dc60 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 20 3d unction.__construct($verbosity.=
12dc80 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 .self::VERBOSITY_NORMAL,.$decora
12dca0 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 ted.=.false,.OutputFormatterInte
12dcc0 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 rface.$formatter.=.null).{.$this
12dce0 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 62 6f 73 69 74 ->verbosity.=.null.===.$verbosit
12dd00 79 20 3f 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3a 20 24 76 65 y.?.self::VERBOSITY_NORMAL.:.$ve
12dd20 72 62 6f 73 69 74 79 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 66 6f 72 rbosity;.$this->formatter.=.$for
12dd40 6d 61 74 74 65 72 20 3f 3a 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b matter.?:.new.OutputFormatter();
12dd60 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 .$this->formatter->setDecorated(
12dd80 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $decorated);.}.....public.functi
12dda0 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 on.setFormatter(OutputFormatterI
12ddc0 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f nterface.$formatter).{.$this->fo
12dde0 72 6d 61 74 74 65 72 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c rmatter.=.$formatter;.}.....publ
12de00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 72 65 74 ic.function.getFormatter().{.ret
12de20 75 72 6e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c urn.$this->formatter;.}.....publ
12de40 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 ic.function.setDecorated($decora
12de60 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f ted).{.$this->formatter->setDeco
12de80 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rated($decorated);.}.....public.
12dea0 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 function.isDecorated().{.return.
12dec0 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b $this->formatter->isDecorated();
12dee0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 .}.....public.function.setVerbos
12df00 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d ity($level).{.$this->verbosity.=
12df20 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .(int).$level;.}.....public.func
12df40 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 tion.getVerbosity().{.return.$th
12df60 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->verbosity;.}.....public.func
12df80 74 69 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 tion.isQuiet().{.return.self::VE
12dfa0 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 RBOSITY_QUIET.===.$this->verbosi
12dfc0 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 ty;.}.....public.function.isVerb
12dfe0 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 ose().{.return.self::VERBOSITY_V
12e000 45 52 42 4f 53 45 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a ERBOSE.<=.$this->verbosity;.}...
12e020 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 ..public.function.isVeryVerbose(
12e040 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f ).{.return.self::VERBOSITY_VERY_
12e060 56 45 52 42 4f 53 45 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a VERBOSE.<=.$this->verbosity;.}..
12e080 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 ...public.function.isDebug().{.r
12e0a0 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3c 3d 20 24 eturn.self::VERBOSITY_DEBUG.<=.$
12e0c0 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->verbosity;.}.....public.fu
12e0e0 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f nction.writeln($messages,.$optio
12e100 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 ns.=.self::OUTPUT_NORMAL).{.$thi
12e120 73 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 74 72 75 65 2c 20 24 6f 70 74 69 6f s->write($messages,.true,.$optio
12e140 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 ns);.}.....public.function.write
12e160 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f ($messages,.$newline.=.false,.$o
12e180 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a ptions.=.self::OUTPUT_NORMAL).{.
12e1a0 24 6d 65 73 73 61 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 3b 0a 0a $messages.=.(array).$messages;..
12e1c0 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 7c 20 73 $types.=.self::OUTPUT_NORMAL.|.s
12e1e0 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 52 41 57 20 7c 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 50 elf::OUTPUT_RAW.|.self::OUTPUT_P
12e200 4c 41 49 4e 3b 0a 24 74 79 70 65 20 3d 20 24 74 79 70 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 LAIN;.$type.=.$types.&.$options.
12e220 3f 3a 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3b 0a 0a 24 76 65 72 62 6f 73 ?:.self::OUTPUT_NORMAL;..$verbos
12e240 69 74 69 65 73 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 7c 20 ities.=.self::VERBOSITY_QUIET.|.
12e260 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 56 self::VERBOSITY_NORMAL.|.self::V
12e280 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 ERBOSITY_VERBOSE.|.self::VERBOSI
12e2a0 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 TY_VERY_VERBOSE.|.self::VERBOSIT
12e2c0 59 5f 44 45 42 55 47 3b 0a 24 76 65 72 62 6f 73 69 74 79 20 3d 20 24 76 65 72 62 6f 73 69 74 69 Y_DEBUG;.$verbosity.=.$verbositi
12e2e0 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 3f 3a 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 es.&.$options.?:.self::VERBOSITY
12e300 5f 4e 4f 52 4d 41 4c 3b 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 3e 20 24 74 68 69 73 _NORMAL;..if.($verbosity.>.$this
12e320 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 ->getVerbosity()).{.return;.}..f
12e340 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b oreach.($messages.as.$message).{
12e360 0a 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 .switch.($type).{.case.OutputInt
12e380 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3a 0a 24 6d 65 73 73 61 67 65 20 erface::OUTPUT_NORMAL:.$message.
12e3a0 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 6d 65 73 73 =.$this->formatter->format($mess
12e3c0 61 67 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 age);.break;.case.OutputInterfac
12e3e0 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 3a 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 e::OUTPUT_RAW:.break;.case.Outpu
12e400 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 49 4e 3a 0a 24 6d 65 73 73 61 tInterface::OUTPUT_PLAIN:.$messa
12e420 67 65 20 3d 20 73 74 72 69 70 5f 74 61 67 73 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 ge.=.strip_tags($this->formatter
12e440 2d 3e 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 ->format($message));.break;.}..$
12e460 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 this->doWrite($message,.$newline
12e480 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 );.}.}........abstract.protected
12e4a0 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 .function.doWrite($message,.$new
12e4c0 6c 69 6e 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 line);.}.<?php...........namespa
12e4e0 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 ce.Symfony\Component\Console\Out
12e500 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 put;..use.Symfony\Component\Cons
12e520 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 ole\Formatter\OutputFormatterInt
12e540 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 49 6e erface;.......interface.OutputIn
12e560 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 terface.{.const.VERBOSITY_QUIET.
12e580 3d 20 31 36 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3d 20 33 =.16;.const.VERBOSITY_NORMAL.=.3
12e5a0 32 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3d 20 36 34 3b 2;.const.VERBOSITY_VERBOSE.=.64;
12e5c0 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 20 .const.VERBOSITY_VERY_VERBOSE.=.
12e5e0 31 32 38 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3d 20 32 35 36 128;.const.VERBOSITY_DEBUG.=.256
12e600 3b 0a 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 ;..const.OUTPUT_NORMAL.=.1;.cons
12e620 74 20 4f 55 54 50 55 54 5f 52 41 57 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 50 t.OUTPUT_RAW.=.2;.const.OUTPUT_P
12e640 4c 41 49 4e 20 3d 20 34 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f LAIN.=.4;.........public.functio
12e660 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 n.write($messages,.$newline.=.fa
12e680 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 lse,.$options.=.0);........publi
12e6a0 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f c.function.writeln($messages,.$o
12e6c0 70 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ptions.=.0);.......public.functi
12e6e0 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 on.setVerbosity($level);.......p
12e700 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 3b 0a 0a ublic.function.getVerbosity();..
12e720 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 .....public.function.setDecorate
12e740 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 d($decorated);.......public.func
12e760 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 tion.isDecorated();..public.func
12e780 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 tion.setFormatter(OutputFormatte
12e7a0 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 rInterface.$formatter);.......pu
12e7c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a blic.function.getFormatter();.}.
12e7e0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
12e800 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 y\Component\Console\Output;..use
12e820 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 .Symfony\Component\Console\Excep
12e840 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 tion\InvalidArgumentException;.u
12e860 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
12e880 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d eption\RuntimeException;.use.Sym
12e8a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 fony\Component\Console\Formatter
12e8c0 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a \OutputFormatterInterface;......
12e8e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 65 78 74 65 .........class.StreamOutput.exte
12e900 6e 64 73 20 4f 75 74 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 72 65 61 6d 3b 0a 0a 0a nds.Output.{.private.$stream;...
12e920 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
12e940 63 74 28 24 73 74 72 65 61 6d 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 ct($stream,.$verbosity.=.self::V
12e960 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 6e 75 ERBOSITY_NORMAL,.$decorated.=.nu
12e980 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f ll,.OutputFormatterInterface.$fo
12e9a0 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 5f 72 65 73 6f 75 72 rmatter.=.null).{.if.(!is_resour
12e9c0 63 65 28 24 73 74 72 65 61 6d 29 20 7c 7c 20 27 73 74 72 65 61 6d 27 20 21 3d 3d 20 67 65 74 5f ce($stream).||.'stream'.!==.get_
12e9e0 72 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 resource_type($stream)).{.throw.
12ea00 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 new.InvalidArgumentException('Th
12ea20 65 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 63 6c 61 73 73 20 6e 65 65 64 73 20 61 20 73 74 72 e.StreamOutput.class.needs.a.str
12ea40 65 61 6d 20 61 73 20 69 74 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a eam.as.its.first.argument.');.}.
12ea60 0a 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 0a 69 66 20 28 6e .$this->stream.=.$stream;..if.(n
12ea80 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f 72 61 74 65 64 29 20 7b 0a 24 64 65 63 6f 72 61 74 65 64 ull.===.$decorated).{.$decorated
12eaa0 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 43 6f 6c 6f 72 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a .=.$this->hasColorSupport();.}..
12eac0 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 2c 20 parent::__construct($verbosity,.
12eae0 24 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a $decorated,.$formatter);.}......
12eb00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 7b 0a 72 .public.function.getStream().{.r
12eb20 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 eturn.$this->stream;.}.....prote
12eb40 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 cted.function.doWrite($message,.
12eb60 24 6e 65 77 6c 69 6e 65 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 77 72 69 74 $newline).{.if.(false.===.@fwrit
12eb80 65 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 2c 20 24 6d 65 73 73 61 67 65 29 20 7c 7c 20 28 24 e($this->stream,.$message).||.($
12eba0 6e 65 77 6c 69 6e 65 20 26 26 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 77 72 69 74 65 28 24 74 newline.&&.(false.===.@fwrite($t
12ebc0 68 69 73 2d 3e 73 74 72 65 61 6d 2c 20 50 48 50 5f 45 4f 4c 29 29 29 29 20 7b 0a 0a 20 74 68 72 his->stream,.PHP_EOL)))).{...thr
12ebe0 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 ow.new.RuntimeException('Unable.
12ec00 74 6f 20 77 72 69 74 65 20 6f 75 74 70 75 74 2e 27 29 3b 0a 7d 0a 0a 66 66 6c 75 73 68 28 24 74 to.write.output.');.}..fflush($t
12ec20 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 his->stream);.}...............pr
12ec40 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6c 6f 72 53 75 70 70 6f 72 74 otected.function.hasColorSupport
12ec60 28 29 0a 7b 0a 69 66 20 28 27 48 79 70 65 72 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 ().{.if.('Hyper'.===.getenv('TER
12ec80 4d 5f 50 52 4f 47 52 41 4d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 M_PROGRAM')).{.return.true;.}..i
12eca0 66 20 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3d 3d 3d 20 27 5c 5c 27 29 f.(DIRECTORY_SEPARATOR.===.'\\')
12ecc0 20 7b 0a 72 65 74 75 72 6e 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 61 70 69 .{.return.(function_exists('sapi
12ece0 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 27 29 0a 26 26 20 40 73 61 70 _windows_vt100_support').&&.@sap
12ed00 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 28 24 74 68 69 73 2d 3e 73 i_windows_vt100_support($this->s
12ed20 74 72 65 61 6d 29 29 0a 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e 53 tream)).||.false.!==.getenv('ANS
12ed40 49 43 4f 4e 27 29 0a 7c 7c 20 27 4f 4e 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d ICON').||.'ON'.===.getenv('ConEm
12ed60 75 41 4e 53 49 27 29 0a 7c 7c 20 27 78 74 65 72 6d 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 uANSI').||.'xterm'.===.getenv('T
12ed80 45 52 4d 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 ERM');.}..if.(function_exists('s
12eda0 74 72 65 61 6d 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 40 73 74 72 65 61 6d tream_isatty')).{.return.@stream
12edc0 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 69 66 20 28 66 _isatty($this->stream);.}..if.(f
12ede0 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 29 20 unction_exists('posix_isatty')).
12ee00 7b 0a 72 65 74 75 72 6e 20 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 {.return.@posix_isatty($this->st
12ee20 72 65 61 6d 29 3b 0a 7d 0a 0a 24 73 74 61 74 20 3d 20 40 66 73 74 61 74 28 24 74 68 69 73 2d 3e ream);.}..$stat.=.@fstat($this->
12ee40 73 74 72 65 61 6d 29 3b 0a 0a 20 72 65 74 75 72 6e 20 24 73 74 61 74 20 3f 20 30 30 32 30 30 30 stream);...return.$stat.?.002000
12ee60 30 20 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 27 5d 20 26 20 30 31 37 30 30 30 30 29 20 0.===.($stat['mode'].&.0170000).
12ee80 3a 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d :.false;.}.}.<?php...........nam
12eea0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 espace.Symfony\Component\Console
12eec0 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e \Question;..use.Symfony\Componen
12eee0 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d t\Console\Exception\InvalidArgum
12ef00 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 6f 69 63 65 entException;.......class.Choice
12ef20 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 Question.extends.Question.{.priv
12ef40 61 74 65 20 24 63 68 6f 69 63 65 73 3b 0a 70 72 69 76 61 74 65 20 24 6d 75 6c 74 69 73 65 6c 65 ate.$choices;.private.$multisele
12ef60 63 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 6d 70 74 20 3d 20 27 20 ct.=.false;.private.$prompt.=.'.
12ef80 3e 20 27 3b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 >.';.private.$errorMessage.=.'Va
12efa0 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c lue."%s".is.invalid';.......publ
12efc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f ic.function.__construct($questio
12efe0 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 n,.array.$choices,.$default.=.nu
12f000 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 63 68 6f 69 63 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ll).{.if.(!$choices).{.throw.new
12f020 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 68 6f 69 63 65 20 71 75 65 73 74 69 6f .\LogicException('Choice.questio
12f040 6e 20 6d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 31 20 63 68 6f 69 63 65 20 61 76 n.must.have.at.least.1.choice.av
12f060 61 69 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 ailable.');.}..parent::__constru
12f080 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d ct($question,.$default);..$this-
12f0a0 3e 63 68 6f 69 63 65 73 20 3d 20 24 63 68 6f 69 63 65 73 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 >choices.=.$choices;.$this->setV
12f0c0 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 alidator($this->getDefaultValida
12f0e0 74 6f 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 tor());.$this->setAutocompleterV
12f100 61 6c 75 65 73 28 24 63 68 6f 69 63 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 alues($choices);.}.......public.
12f120 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 6f 69 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getChoices().{.return.$
12f140 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 this->choices;.}...........publi
12f160 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 75 6c 74 69 73 65 6c 65 63 74 28 24 6d 75 6c 74 69 c.function.setMultiselect($multi
12f180 73 65 6c 65 63 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 24 select).{.$this->multiselect.=.$
12f1a0 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 multiselect;.$this->setValidator
12f1c0 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a ($this->getDefaultValidator());.
12f1e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .return.$this;.}.......public.fu
12f200 6e 63 74 69 6f 6e 20 69 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.isMultiselect().{.return.
12f220 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c $this->multiselect;.}.......publ
12f240 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 6d 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e ic.function.getPrompt().{.return
12f260 20 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$this->prompt;.}.........public
12f280 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 6d 70 74 28 24 70 72 6f 6d 70 74 29 0a 7b 0a 24 .function.setPrompt($prompt).{.$
12f2a0 74 68 69 73 2d 3e 70 72 6f 6d 70 74 20 3d 20 24 70 72 6f 6d 70 74 3b 0a 0a 72 65 74 75 72 6e 20 this->prompt.=.$prompt;..return.
12f2c0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $this;.}...........public.functi
12f2e0 6f 6e 20 73 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 on.setErrorMessage($errorMessage
12f300 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 24 65 72 72 6f 72 ).{.$this->errorMessage.=.$error
12f320 4d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 Message;.$this->setValidator($th
12f340 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 0a 72 65 74 is->getDefaultValidator());..ret
12f360 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 urn.$this;.}.......private.funct
12f380 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 24 63 68 6f ion.getDefaultValidator().{.$cho
12f3a0 69 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 3b 0a 24 65 72 72 6f 72 4d 65 73 ices.=.$this->choices;.$errorMes
12f3c0 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 73 73 61 67 65 3b 0a 24 6d 75 6c sage.=.$this->errorMessage;.$mul
12f3e0 74 69 73 65 6c 65 63 74 20 3d 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 24 tiselect.=.$this->multiselect;.$
12f400 69 73 41 73 73 6f 63 20 3d 20 24 74 68 69 73 2d 3e 69 73 41 73 73 6f 63 28 24 63 68 6f 69 63 65 isAssoc.=.$this->isAssoc($choice
12f420 73 29 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 65 6c 65 63 74 65 64 29 s);..return.function.($selected)
12f440 20 75 73 65 20 28 24 63 68 6f 69 63 65 73 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 .use.($choices,.$errorMessage,.$
12f460 6d 75 6c 74 69 73 65 6c 65 63 74 2c 20 24 69 73 41 73 73 6f 63 29 20 7b 0a 0a 20 24 73 65 6c 65 multiselect,.$isAssoc).{...$sele
12f480 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 ctedChoices.=.str_replace('.',.'
12f4a0 27 2c 20 24 73 65 6c 65 63 74 65 64 29 3b 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 ',.$selected);..if.($multiselect
12f4c0 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 5e 2c 5d 2b 28 3f ).{...if.(!preg_match('/^[^,]+(?
12f4e0 3a 2c 5b 5e 2c 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 2c 20 :,[^,]+)*$/',.$selectedChoices,.
12f500 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 $matches)).{.throw.new.InvalidAr
12f520 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 gumentException(sprintf($errorMe
12f540 73 73 61 67 65 2c 20 24 73 65 6c 65 63 74 65 64 29 29 3b 0a 7d 0a 24 73 65 6c 65 63 74 65 64 43 ssage,.$selected));.}.$selectedC
12f560 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 73 65 6c 65 63 74 65 64 43 hoices.=.explode(',',.$selectedC
12f580 68 6f 69 63 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 hoices);.}.else.{.$selectedChoic
12f5a0 65 73 20 3d 20 61 72 72 61 79 28 24 73 65 6c 65 63 74 65 64 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 69 es.=.array($selected);.}..$multi
12f5c0 73 65 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 selectChoices.=.array();.foreach
12f5e0 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a .($selectedChoices.as.$value).{.
12f600 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 $results.=.array();.foreach.($ch
12f620 6f 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 63 68 6f 69 63 65 29 20 7b 0a 69 66 20 28 oices.as.$key.=>.$choice).{.if.(
12f640 24 63 68 6f 69 63 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d $choice.===.$value).{.$results[]
12f660 20 3d 20 24 6b 65 79 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 73 .=.$key;.}.}..if.(count($results
12f680 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ).>.1).{.throw.new.InvalidArgume
12f6a0 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 70 72 6f 76 69 64 65 ntException(sprintf('The.provide
12f6c0 64 20 61 6e 73 77 65 72 20 69 73 20 61 6d 62 69 67 75 6f 75 73 2e 20 56 61 6c 75 65 20 73 68 6f d.answer.is.ambiguous..Value.sho
12f6e0 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 25 73 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 20 6f 72 uld.be.one.of.%s.',.implode('.or
12f700 20 27 2c 20 24 72 65 73 75 6c 74 73 29 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 .',.$results)));.}..$result.=.ar
12f720 72 61 79 5f 73 65 61 72 63 68 28 24 76 61 6c 75 65 2c 20 24 63 68 6f 69 63 65 73 29 3b 0a 0a 69 ray_search($value,.$choices);..i
12f740 66 20 28 21 24 69 73 41 73 73 6f 63 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 72 f.(!$isAssoc).{.if.(false.!==.$r
12f760 65 73 75 6c 74 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 63 65 73 5b 24 72 65 73 esult).{.$result.=.$choices[$res
12f780 75 6c 74 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 ult];.}.elseif.(isset($choices[$
12f7a0 76 61 6c 75 65 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 63 65 73 5b 24 76 value])).{.$result.=.$choices[$v
12f7c0 61 6c 75 65 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 alue];.}.}.elseif.(false.===.$re
12f7e0 73 75 6c 74 20 26 26 20 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 29 29 sult.&&.isset($choices[$value]))
12f800 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 .{.$result.=.$value;.}..if.(fals
12f820 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c e.===.$result).{.throw.new.Inval
12f840 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 idArgumentException(sprintf($err
12f860 6f 72 4d 65 73 73 61 67 65 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 69 73 65 orMessage,.$value));.}..$multise
12f880 6c 65 63 74 43 68 6f 69 63 65 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 lectChoices[].=.(string).$result
12f8a0 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 ;.}..if.($multiselect).{.return.
12f8c0 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 $multiselectChoices;.}..return.c
12f8e0 75 72 72 65 6e 74 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 29 3b 0a 7d 3b 0a urrent($multiselectChoices);.};.
12f900 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
12f920 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e mfony\Component\Console\Question
12f940 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 ;.......class.ConfirmationQuesti
12f960 6f 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 on.extends.Question.{.private.$t
12f980 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rueAnswerRegex;.......public.fun
12f9a0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 ction.__construct($question,.$de
12f9c0 66 61 75 6c 74 20 3d 20 74 72 75 65 2c 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d fault.=.true,.$trueAnswerRegex.=
12f9e0 20 27 2f 5e 79 2f 69 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 .'/^y/i').{.parent::__construct(
12fa00 24 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 $question,.(bool).$default);..$t
12fa20 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 65 41 6e 73 77 his->trueAnswerRegex.=.$trueAnsw
12fa40 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 74 erRegex;.$this->setNormalizer($t
12fa60 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 3b 0a 7d 0a his->getDefaultNormalizer());.}.
12fa80 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c ......private.function.getDefaul
12faa0 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 tNormalizer().{.$default.=.$this
12fac0 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 72 65 67 65 78 20 3d 20 24 74 68 69 73 2d 3e ->getDefault();.$regex.=.$this->
12fae0 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f trueAnswerRegex;..return.functio
12fb00 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 28 24 64 65 66 61 75 6c 74 2c 20 24 72 65 67 65 n.($answer).use.($default,.$rege
12fb20 78 29 20 7b 0a 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 x).{.if.(is_bool($answer)).{.ret
12fb40 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a 0a 24 61 6e 73 77 65 72 49 73 54 72 75 65 20 3d 20 urn.$answer;.}..$answerIsTrue.=.
12fb60 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 61 6e 73 77 65 (bool).preg_match($regex,.$answe
12fb80 72 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 r);.if.(false.===.$default).{.re
12fba0 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 24 61 6e 73 77 65 72 49 73 54 72 75 65 3b 0a 7d turn.$answer.&&.$answerIsTrue;.}
12fbc0 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 65 72 20 7c 7c 20 24 61 6e 73 77 65 72 49 73 54 72 ..return.!$answer.||.$answerIsTr
12fbe0 75 65 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ue;.};.}.}.<?php...........names
12fc00 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 pace.Symfony\Component\Console\Q
12fc20 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c uestion;..use.Symfony\Component\
12fc40 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e Console\Exception\InvalidArgumen
12fc60 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tException;.use.Symfony\Componen
12fc80 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 t\Console\Exception\LogicExcepti
12fca0 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 on;.......class.Question.{.priva
12fcc0 74 65 20 24 71 75 65 73 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 61 74 74 65 6d 70 74 73 3b te.$question;.private.$attempts;
12fce0 0a 70 72 69 76 61 74 65 20 24 68 69 64 64 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 .private.$hidden.=.false;.privat
12fd00 65 20 24 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 e.$hiddenFallback.=.true;.privat
12fd20 65 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 3b 0a 70 72 69 76 61 74 65 20 e.$autocompleterValues;.private.
12fd40 24 76 61 6c 69 64 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 $validator;.private.$default;.pr
12fd60 69 76 61 74 65 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ivate.$normalizer;......public.f
12fd80 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 unction.__construct($question,.$
12fda0 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f default.=.null).{.$this->questio
12fdc0 6e 20 3d 20 24 71 75 65 73 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 n.=.$question;.$this->default.=.
12fde0 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $default;.}.......public.functio
12fe00 6e 20 67 65 74 51 75 65 73 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e n.getQuestion().{.return.$this->
12fe20 71 75 65 73 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f question;.}.......public.functio
12fe40 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 n.getDefault().{.return.$this->d
12fe60 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 efault;.}.......public.function.
12fe80 69 73 48 69 64 64 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 69 64 64 65 isHidden().{.return.$this->hidde
12fea0 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 n;.}...........public.function.s
12fec0 65 74 48 69 64 64 65 6e 28 24 68 69 64 64 65 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 etHidden($hidden).{.if.($this->a
12fee0 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 utocompleterValues).{.throw.new.
12ff00 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 68 69 64 64 65 6e 20 71 75 65 73 74 69 6f LogicException('A.hidden.questio
12ff20 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 2e 27 n.cannot.use.the.autocompleter.'
12ff40 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 68 69 );.}..$this->hidden.=.(bool).$hi
12ff60 64 64 65 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 dden;..return.$this;.}.......pub
12ff80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 29 0a lic.function.isHiddenFallback().
12ffa0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 3b 0a {.return.$this->hiddenFallback;.
12ffc0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 69 64 }.........public.function.setHid
12ffe0 64 65 6e 46 61 6c 6c 62 61 63 6b 28 24 66 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 69 73 2d 3e denFallback($fallback).{.$this->
130000 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d 20 28 62 6f 6f 6c 29 20 24 66 61 6c 6c 62 61 63 hiddenFallback.=.(bool).$fallbac
130020 6b 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 k;..return.$this;.}.......public
130040 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 .function.getAutocompleterValues
130060 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 ().{.return.$this->autocompleter
130080 56 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Values;.}............public.func
1300a0 74 69 6f 6e 20 73 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 24 76 61 6c tion.setAutocompleterValues($val
1300c0 75 65 73 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 73 29 29 20 7b 0a ues).{.if.(is_array($values)).{.
1300e0 24 76 61 6c 75 65 73 20 3d 20 24 74 68 69 73 2d 3e 69 73 41 73 73 6f 63 28 24 76 61 6c 75 65 73 $values.=.$this->isAssoc($values
130100 29 20 3f 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 5f 6b 65 79 73 28 24 76 61 6c 75 ).?.array_merge(array_keys($valu
130120 65 73 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 29 20 3a 20 61 72 es),.array_values($values)).:.ar
130140 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c ray_values($values);.}..if.(null
130160 20 21 3d 3d 20 24 76 61 6c 75 65 73 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 .!==.$values.&&.!is_array($value
130180 73 29 20 26 26 20 21 24 76 61 6c 75 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 s).&&.!$values.instanceof.\Trave
1301a0 72 73 61 62 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d rsable).{.throw.new.InvalidArgum
1301c0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 20 76 61 6c 75 entException('Autocompleter.valu
1301e0 65 73 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 6e 20 61 72 72 61 79 2c 20 60 6e 75 6c 6c es.can.be.either.an.array,.`null
130200 60 20 6f 72 20 61 20 60 54 72 61 76 65 72 73 61 62 6c 65 60 20 6f 62 6a 65 63 74 2e 27 29 3b 0a `.or.a.`Traversable`.object.');.
130220 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 }..if.($this->hidden).{.throw.ne
130240 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 68 69 64 64 65 6e 20 71 75 65 73 74 w.LogicException('A.hidden.quest
130260 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 ion.cannot.use.the.autocompleter
130280 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 .');.}..$this->autocompleterValu
1302a0 65 73 20 3d 20 24 76 61 6c 75 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a es.=.$values;..return.$this;.}..
1302c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 61 6c 69 64 61 .......public.function.setValida
1302e0 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 tor($validator).{.$this->validat
130300 6f 72 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a or.=.$validator;..return.$this;.
130320 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 61 6c 69 64 }.......public.function.getValid
130340 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 6f 72 ator().{.return.$this->validator
130360 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
130380 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 29 0a 7b 0a 69 66 20 28 setMaxAttempts($attempts).{.if.(
1303a0 6e 75 6c 6c 20 21 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 26 26 20 24 61 74 74 65 6d 70 74 73 20 null.!==.$attempts.&&.$attempts.
1303c0 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 <.1).{.throw.new.InvalidArgument
1303e0 45 78 63 65 70 74 69 6f 6e 28 27 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 61 74 74 Exception('Maximum.number.of.att
130400 65 6d 70 74 73 20 6d 75 73 74 20 62 65 20 61 20 70 6f 73 69 74 69 76 65 20 76 61 6c 75 65 2e 27 empts.must.be.a.positive.value.'
130420 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 20 3d 20 24 61 74 74 65 6d 70 74 );.}..$this->attempts.=.$attempt
130440 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c s;..return.$this;.}.........publ
130460 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 29 0a 7b 0a 72 ic.function.getMaxAttempts().{.r
130480 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a eturn.$this->attempts;.}........
1304a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 ...public.function.setNormalizer
1304c0 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 ($normalizer).{.$this->normalize
1304e0 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a r.=.$normalizer;..return.$this;.
130500 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 72 }.........public.function.getNor
130520 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c malizer().{.return.$this->normal
130540 69 7a 65 72 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 izer;.}..protected.function.isAs
130560 73 6f 63 28 24 61 72 72 61 79 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 63 6f 75 6e soc($array).{.return.(bool).coun
130580 74 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6b 65 79 73 28 24 61 72 72 61 79 t(array_filter(array_keys($array
1305a0 29 2c 20 27 69 73 5f 73 74 72 69 6e 67 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ),.'is_string'));.}.}.<?php.....
1305c0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
1305e0 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e t\Console;..use.Symfony\Componen
130600 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 t\Console\Exception\RuntimeExcep
130620 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
130640 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f ole\Input\StringInput;.use.Symfo
130660 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 ny\Component\Console\Output\Cons
130680 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 oleOutput;.use.Symfony\Component
1306a0 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3b 0a 75 73 65 20 53 79 6d \Process\ProcessBuilder;.use.Sym
1306c0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 45 78 65 63 75 74 fony\Component\Process\PhpExecut
1306e0 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 ableFinder;.............class.Sh
130700 65 6c 6c 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 ell.{.private.$application;.priv
130720 61 74 65 20 24 68 69 73 74 6f 72 79 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 ate.$history;.private.$output;.p
130740 72 69 76 61 74 65 20 24 68 61 73 52 65 61 64 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 rivate.$hasReadline;.private.$pr
130760 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 70 75 62 ocessIsolation.=.false;......pub
130780 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 70 70 6c 69 63 61 lic.function.__construct(Applica
1307a0 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 tion.$application).{.@trigger_er
1307c0 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 69 73 20 ror('The.'.__CLASS__.'.class.is.
1307e0 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 deprecated.since.Symfony.2.8.and
130800 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 .will.be.removed.in.3.0.',.E_USE
130820 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 R_DEPRECATED);..$this->hasReadli
130840 6e 65 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 72 65 61 64 6c 69 6e 65 27 29 ne.=.function_exists('readline')
130860 3b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 ;.$this->application.=.$applicat
130880 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 68 69 73 74 6f 72 79 20 3d 20 67 65 74 65 6e 76 28 27 48 4f ion;.$this->history.=.getenv('HO
1308a0 4d 45 27 29 2e 27 2f 2e 68 69 73 74 6f 72 79 5f 27 2e 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e ME').'/.history_'.$application->
1308c0 67 65 74 4e 61 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 43 getName();.$this->output.=.new.C
1308e0 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e onsoleOutput();.}.....public.fun
130900 63 74 69 6f 6e 20 72 75 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e ction.run().{.$this->application
130920 2d 3e 73 65 74 41 75 74 6f 45 78 69 74 28 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 ->setAutoExit(false);.$this->app
130940 6c 69 63 61 74 69 6f 6e 2d 3e 73 65 74 43 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 28 74 72 75 lication->setCatchExceptions(tru
130960 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 72 e);..if.($this->hasReadline).{.r
130980 65 61 64 6c 69 6e 65 5f 72 65 61 64 5f 68 69 73 74 6f 72 79 28 24 74 68 69 73 2d 3e 68 69 73 74 eadline_read_history($this->hist
1309a0 6f 72 79 29 3b 0a 72 65 61 64 6c 69 6e 65 5f 63 6f 6d 70 6c 65 74 69 6f 6e 5f 66 75 6e 63 74 69 ory);.readline_completion_functi
1309c0 6f 6e 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 27 29 on(array($this,.'autocompleter')
1309e0 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 );.}..$this->output->writeln($th
130a00 69 73 2d 3e 67 65 74 48 65 61 64 65 72 28 29 29 3b 0a 24 70 68 70 20 3d 20 6e 75 6c 6c 3b 0a 69 is->getHeader());.$php.=.null;.i
130a20 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 20 7b 0a 24 66 f.($this->processIsolation).{.$f
130a40 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 inder.=.new.PhpExecutableFinder(
130a60 29 3b 0a 24 70 68 70 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 29 3b 0a 24 74 68 69 73 );.$php.=.$finder->find();.$this
130a80 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 3c 3c 3c 27 45 4f 46 27 0a 3c 69 6e 66 6f ->output->writeln(<<<'EOF'.<info
130aa0 3e 52 75 6e 6e 69 6e 67 20 77 69 74 68 20 70 72 6f 63 65 73 73 20 69 73 6f 6c 61 74 69 6f 6e 2c >Running.with.process.isolation,
130ac0 20 79 6f 75 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 3a 3c 2f 69 6e 66 6f .you.should.consider.this:</info
130ae0 3e 0a 20 20 2a 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 20 61 >...*.each.command.is.executed.a
130b00 73 20 73 65 70 61 72 61 74 65 20 70 72 6f 63 65 73 73 2c 0a 20 20 2a 20 63 6f 6d 6d 61 6e 64 73 s.separate.process,...*.commands
130b20 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 20 69 6e 74 65 72 61 63 74 69 76 69 74 79 2c 20 61 6c .don't.support.interactivity,.al
130b40 6c 20 70 61 72 61 6d 73 20 6d 75 73 74 20 62 65 20 70 61 73 73 65 64 20 65 78 70 6c 69 63 69 74 l.params.must.be.passed.explicit
130b60 6c 79 2c 0a 20 20 2a 20 63 6f 6d 6d 61 6e 64 73 20 6f 75 74 70 75 74 20 69 73 20 6e 6f 74 20 63 ly,...*.commands.output.is.not.c
130b80 6f 6c 6f 72 69 7a 65 64 2e 0a 0a 45 4f 46 0a 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 olorized...EOF.);.}..while.(true
130ba0 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 6c 69 6e 65 28 29 ).{.$command.=.$this->readline()
130bc0 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 ;..if.(false.===.$command).{.$th
130be0 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e 22 29 3b 0a 0a 62 72 65 61 is->output->writeln("\n");..brea
130c00 6b 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a k;.}..if.($this->hasReadline).{.
130c20 72 65 61 64 6c 69 6e 65 5f 61 64 64 5f 68 69 73 74 6f 72 79 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a readline_add_history($command);.
130c40 72 65 61 64 6c 69 6e 65 5f 77 72 69 74 65 5f 68 69 73 74 6f 72 79 28 24 74 68 69 73 2d 3e 68 69 readline_write_history($this->hi
130c60 73 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f story);.}..if.($this->processIso
130c80 6c 61 74 69 6f 6e 29 20 7b 0a 24 70 62 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 42 75 69 6c 64 lation).{.$pb.=.new.ProcessBuild
130ca0 65 72 28 29 3b 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 24 70 62 0a 2d 3e 61 64 64 28 24 70 68 70 er();..$process.=.$pb.->add($php
130cc0 29 0a 2d 3e 61 64 64 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 0a 2d 3e 61 ).->add($_SERVER['argv'][0]).->a
130ce0 64 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 2d 3e 69 6e 68 65 72 69 74 45 6e 76 69 72 6f 6e 6d 65 6e dd($command).->inheritEnvironmen
130d00 74 56 61 72 69 61 62 6c 65 73 28 74 72 75 65 29 0a 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 0a tVariables(true).->getProcess().
130d20 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 24 70 72 6f ;..$output.=.$this->output;.$pro
130d40 63 65 73 73 2d 3e 72 75 6e 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 64 61 74 61 cess->run(function.($type,.$data
130d60 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 ).use.($output).{.$output->write
130d80 6c 6e 28 24 64 61 74 61 29 3b 0a 7d 29 3b 0a 0a 24 72 65 74 20 3d 20 24 70 72 6f 63 65 73 73 2d ln($data);.});..$ret.=.$process-
130da0 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 >getExitCode();.}.else.{.$ret.=.
130dc0 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 6e 65 77 20 53 74 72 69 $this->application->run(new.Stri
130de0 6e 67 49 6e 70 75 74 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ngInput($command),.$this->output
130e00 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 72 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 6f );.}..if.(0.!==.$ret).{.$this->o
130e20 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 54 utput->writeln(sprintf('<error>T
130e40 68 65 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 61 6e 20 65 72 he.command.terminated.with.an.er
130e60 72 6f 72 20 73 74 61 74 75 73 20 28 25 73 29 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 72 65 74 29 29 ror.status.(%s)</error>',.$ret))
130e80 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ;.}.}.}.......protected.function
130ea0 20 67 65 74 48 65 61 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 0a 57 65 .getHeader().{.return.<<<EOF..We
130ec0 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 3c 69 6e 66 6f 3e 7b 24 74 68 69 73 2d 3e 61 70 70 6c 69 lcome.to.the.<info>{$this->appli
130ee0 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 7d 3c 2f 69 6e 66 6f 3e 20 73 68 65 6c 6c 20 cation->getName()}</info>.shell.
130f00 28 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 (<comment>{$this->application->g
130f20 65 74 56 65 72 73 69 6f 6e 28 29 7d 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 2e 0a 0a 41 74 20 74 68 65 etVersion()}</comment>)...At.the
130f40 20 70 72 6f 6d 70 74 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 6e 74 3e 68 65 6c 70 3c 2f 63 6f 6d .prompt,.type.<comment>help</com
130f60 6d 65 6e 74 3e 20 66 6f 72 20 73 6f 6d 65 20 68 65 6c 70 2c 0a 6f 72 20 3c 63 6f 6d 6d 65 6e 74 ment>.for.some.help,.or.<comment
130f80 3e 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 74 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 >list</comment>.to.get.a.list.of
130fa0 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 54 6f 20 65 78 69 74 20 74 68 .available.commands...To.exit.th
130fc0 65 20 73 68 65 6c 6c 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 6e 74 3e 5e 44 3c 2f 63 6f 6d 6d 65 e.shell,.type.<comment>^D</comme
130fe0 6e 74 3e 2e 0a 0a 45 4f 46 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e nt>...EOF;.}.......protected.fun
131000 63 74 69 6f 6e 20 67 65 74 50 72 6f 6d 70 74 28 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 ction.getPrompt().{...return.$th
131020 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 66 6f 72 6d is->output->getFormatter()->form
131040 61 74 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 at($this->application->getName()
131060 2e 27 20 3e 20 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 .'.>.');.}..protected.function.g
131080 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 etOutput().{.return.$this->outpu
1310a0 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c t;.}..protected.function.getAppl
1310c0 69 63 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 ication().{.return.$this->applic
1310e0 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ation;.}.........private.functio
131100 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 69 6e 66 6f 20 3d n.autocompleter($text).{.$info.=
131120 20 72 65 61 64 6c 69 6e 65 5f 69 6e 66 6f 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 75 62 73 74 72 .readline_info();.$text.=.substr
131140 28 24 69 6e 66 6f 5b 27 6c 69 6e 65 5f 62 75 66 66 65 72 27 5d 2c 20 30 2c 20 24 69 6e 66 6f 5b ($info['line_buffer'],.0,.$info[
131160 27 65 6e 64 27 5d 29 3b 0a 0a 69 66 20 28 24 69 6e 66 6f 5b 27 70 6f 69 6e 74 27 5d 20 21 3d 3d 'end']);..if.($info['point'].!==
131180 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a .$info['end']).{.return.true;.}.
1311a0 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 ...if.(false.===.strpos($text,.'
1311c0 20 27 29 20 7c 7c 20 21 24 74 65 78 74 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 .').||.!$text).{.return.array_ke
1311e0 79 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 6c 6c 28 29 29 3b 0a 7d ys($this->application->all());.}
131200 0a 0a 0a 20 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c ....try.{.$command.=.$this->appl
131220 69 63 61 74 69 6f 6e 2d 3e 66 69 6e 64 28 73 75 62 73 74 72 28 24 74 65 78 74 2c 20 30 2c 20 73 ication->find(substr($text,.0,.s
131240 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 20 27 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 trpos($text,.'.')));.}.catch.(\E
131260 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 xception.$e).{.return.true;.}..$
131280 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 2d 2d 68 65 6c 70 27 29 3b 0a 66 6f 72 65 61 63 68 20 list.=.array('--help');.foreach.
1312a0 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f ($command->getDefinition()->getO
1312c0 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 6c 69 73 74 5b 5d 20 3d ptions().as.$option).{.$list[].=
1312e0 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 72 65 74 .'--'.$option->getName();.}..ret
131300 75 72 6e 20 24 6c 69 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 urn.$list;.}.......private.funct
131320 69 6f 6e 20 72 65 61 64 6c 69 6e 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 ion.readline().{.if.($this->hasR
131340 65 61 64 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 72 65 61 64 6c 69 6e 65 28 24 74 68 69 eadline).{.$line.=.readline($thi
131360 73 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d s->getPrompt());.}.else.{.$this-
131380 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 6d 70 74 28 >output->write($this->getPrompt(
1313a0 29 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 53 54 44 49 4e 2c 20 31 30 32 34 29 3b 0a ));.$line.=.fgets(STDIN,.1024);.
1313c0 24 6c 69 6e 65 20 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6c 69 6e 65 20 7c 7c 20 27 27 20 3d $line.=.(false.===.$line.||.''.=
1313e0 3d 3d 20 24 6c 69 6e 65 29 20 3f 20 66 61 6c 73 65 20 3a 20 72 74 72 69 6d 28 24 6c 69 6e 65 29 ==.$line).?.false.:.rtrim($line)
131400 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e ;.}..return.$line;.}..public.fun
131420 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 ction.getProcessIsolation().{.re
131440 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 3b 0a 7d 0a turn.$this->processIsolation;.}.
131460 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 63 65 73 73 49 73 6f 6c 61 .public.function.setProcessIsola
131480 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d tion($processIsolation).{.$this-
1314a0 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 6f 63 >processIsolation.=.(bool).$proc
1314c0 65 73 73 49 73 6f 6c 61 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 essIsolation;..if.($this->proces
1314e0 73 49 73 6f 6c 61 74 69 6f 6e 20 26 26 20 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d sIsolation.&&.!class_exists('Sym
131500 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 50 72 6f 63 65 73 fony\\Component\\Process\\Proces
131520 73 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f s')).{.throw.new.RuntimeExceptio
131540 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 69 73 6f 6c 61 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 n('Unable.to.isolate.processes.a
131560 73 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 50 72 6f 63 65 73 73 20 43 6f 6d 70 6f 6e 65 6e 74 20 s.the.Symfony.Process.Component.
131580 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 is.not.installed.');.}.}.}.<?php
1315a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
1315c0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f ponent\Console\Style;..use.Symfo
1315e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f ny\Component\Console\Formatter\O
131600 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d utputFormatterInterface;.use.Sym
131620 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 fony\Component\Console\Helper\Pr
131640 6f 67 72 65 73 73 42 61 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 ogressBar;.use.Symfony\Component
131660 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
131680 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4f 75 74 70 75 74 53 74 79 6c .......abstract.class.OutputStyl
1316a0 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2c 20 53 74 e.implements.OutputInterface,.St
1316c0 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a yleInterface.{.private.$output;.
1316e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 .public.function.__construct(Out
131700 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f putInterface.$output).{.$this->o
131720 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 utput.=.$output;.}.....public.fu
131740 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 0a 7b 0a 24 74 68 nction.newLine($count.=.1).{.$th
131760 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 50 48 50 is->output->write(str_repeat(PHP
131780 5f 45 4f 4c 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 _EOL,.$count));.}.......public.f
1317a0 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 20 3d unction.createProgressBar($max.=
1317c0 20 30 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 67 72 65 73 73 42 61 72 28 24 74 68 .0).{.return.new.ProgressBar($th
1317e0 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 6d 61 78 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 is->output,.$max);.}.....public.
131800 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 function.write($messages,.$newli
131820 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 ne.=.false,.$type.=.self::OUTPUT
131840 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 _NORMAL).{.$this->output->write(
131860 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a $messages,.$newline,.$type);.}..
131880 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 ...public.function.writeln($mess
1318a0 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 ages,.$type.=.self::OUTPUT_NORMA
1318c0 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 L).{.$this->output->writeln($mes
1318e0 73 61 67 65 73 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 sages,.$type);.}.....public.func
131900 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 tion.setVerbosity($level).{.$thi
131920 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b s->output->setVerbosity($level);
131940 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 .}.....public.function.getVerbos
131960 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 ity().{.return.$this->output->ge
131980 74 56 65 72 62 6f 73 69 74 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tVerbosity();.}.....public.funct
1319a0 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 24 ion.setDecorated($decorated).{.$
1319c0 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f this->output->setDecorated($deco
1319e0 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 rated);.}.....public.function.is
131a00 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 Decorated().{.return.$this->outp
131a20 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ut->isDecorated();.}.....public.
131a40 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d function.setFormatter(OutputForm
131a60 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 24 74 68 atterInterface.$formatter).{.$th
131a80 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 is->output->setFormatter($format
131aa0 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 ter);.}.....public.function.getF
131ac0 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 ormatter().{.return.$this->outpu
131ae0 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a t->getFormatter();.}.}.<?php....
131b00 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
131b20 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 nt\Console\Style;.......interfac
131b40 65 20 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e.StyleInterface.{......public.f
131b60 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 unction.title($message);.......p
131b80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 ublic.function.section($message)
131ba0 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 69 6e 67 28 61 72 ;.....public.function.listing(ar
131bc0 72 61 79 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ray.$elements);.......public.fun
131be0 63 74 69 6f 6e 20 74 65 78 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ction.text($message);.......publ
131c00 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 73 73 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a ic.function.success($message);..
131c20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 .....public.function.error($mess
131c40 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e age);.......public.function.warn
131c60 69 6e 67 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ing($message);.......public.func
131c80 74 69 6f 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tion.note($message);.......publi
131ca0 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a c.function.caution($message);...
131cc0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 72 61 79 20 24 68 ..public.function.table(array.$h
131ce0 65 61 64 65 72 73 2c 20 61 72 72 61 79 20 24 72 6f 77 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eaders,.array.$rows);...........
131d00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 public.function.ask($question,.$
131d20 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c default.=.null,.$validator.=.nul
131d40 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b l);..........public.function.ask
131d60 48 69 64 64 65 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e Hidden($question,.$validator.=.n
131d80 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ull);..........public.function.c
131da0 6f 6e 66 69 72 6d 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 onfirm($question,.$default.=.tru
131dc0 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 e);...........public.function.ch
131de0 6f 69 63 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 oice($question,.array.$choices,.
131e00 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 $default.=.null);.......public.f
131e20 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 3b 0a 0a 0a 0a unction.newLine($count.=.1);....
131e40 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 53 74 61 72 74 ...public.function.progressStart
131e60 28 24 6d 61 78 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ($max.=.0);.......public.functio
131e80 6e 20 70 72 6f 67 72 65 73 73 41 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 3b 0a 0a 0a n.progressAdvance($step.=.1);...
131ea0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 ..public.function.progressFinish
131ec0 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ();.}.<?php...........namespace.
131ee0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b Symfony\Component\Console\Style;
131f00 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
131f20 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 Application;.use.Symfony\Compone
131f40 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 nt\Console\Exception\RuntimeExce
131f60 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
131f80 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a sole\Formatter\OutputFormatter;.
131fa0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 use.Symfony\Component\Console\He
131fc0 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 lper\Helper;.use.Symfony\Compone
131fe0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 3b 0a 75 nt\Console\Helper\ProgressBar;.u
132000 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c se.Symfony\Component\Console\Hel
132020 70 65 72 5c 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 per\SymfonyQuestionHelper;.use.S
132040 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c ymfony\Component\Console\Helper\
132060 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e Table;.use.Symfony\Component\Con
132080 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
1320a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
1320c0 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 BufferedOutput;.use.Symfony\Comp
1320e0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 onent\Console\Output\OutputInter
132100 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
132120 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 ole\Question\ChoiceQuestion;.use
132140 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 .Symfony\Component\Console\Quest
132160 69 6f 6e 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 ion\ConfirmationQuestion;.use.Sy
132180 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e mfony\Component\Console\Question
1321a0 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 79 6d 66 6f 6e 79 53 74 \Question;.......class.SymfonySt
1321c0 79 6c 65 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 53 74 79 6c 65 0a 7b 0a 63 6f 6e 73 74 20 yle.extends.OutputStyle.{.const.
1321e0 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 20 3d 20 31 32 30 3b 0a 0a 70 72 69 76 61 74 65 20 MAX_LINE_LENGTH.=.120;..private.
132200 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b $input;.private.$questionHelper;
132220 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 70 72 69 76 61 74 65 20 24 .private.$progressBar;.private.$
132240 6c 69 6e 65 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 65 20 24 62 75 66 66 65 72 65 64 4f 75 74 lineLength;.private.$bufferedOut
132260 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 put;..public.function.__construc
132280 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 t(InputInterface.$input,.OutputI
1322a0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 nterface.$output).{.$this->input
1322c0 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 .=.$input;.$this->bufferedOutput
1322e0 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 24 6f 75 74 70 75 74 2d 3e 67 .=.new.BufferedOutput($output->g
132300 65 74 56 65 72 62 6f 73 69 74 79 28 29 2c 20 66 61 6c 73 65 2c 20 63 6c 6f 6e 65 20 24 6f 75 74 etVerbosity(),.false,.clone.$out
132320 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 6c put->getFormatter());...$this->l
132340 69 6e 65 4c 65 6e 67 74 68 20 3d 20 6d 69 6e 28 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e ineLength.=.min($this->getTermin
132360 61 6c 57 69 64 74 68 28 29 20 2d 20 28 69 6e 74 29 20 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 alWidth().-.(int).(DIRECTORY_SEP
132380 41 52 41 54 4f 52 20 3d 3d 3d 20 27 5c 5c 27 29 2c 20 73 65 6c 66 3a 3a 4d 41 58 5f 4c 49 4e 45 ARATOR.===.'\\'),.self::MAX_LINE
1323a0 5f 4c 45 4e 47 54 48 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 _LENGTH);..parent::__construct($
1323c0 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 output);.}...........public.func
1323e0 74 69 6f 6e 20 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 6e 75 tion.block($messages,.$type.=.nu
132400 6c 6c 2c 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 20 27 ll,.$style.=.null,.$prefix.=.'.'
132420 2c 20 24 70 61 64 64 69 6e 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 ,.$padding.=.false).{.$messages.
132440 3d 20 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 20 3f 20 61 72 72 61 79 5f 76 61 =.is_array($messages).?.array_va
132460 6c 75 65 73 28 24 6d 65 73 73 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 lues($messages).:.array($message
132480 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a s);..$this->autoPrependBlock();.
1324a0 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 42 6c 6f 63 $this->writeln($this->createBloc
1324c0 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 2c 20 24 73 74 79 6c 65 2c 20 24 70 72 65 k($messages,.$type,.$style,.$pre
1324e0 66 69 78 2c 20 24 70 61 64 64 69 6e 67 2c 20 74 72 75 65 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 fix,.$padding,.true));.$this->ne
132500 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 wLine();.}.....public.function.t
132520 69 74 6c 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 itle($message).{.$this->autoPrep
132540 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 endBlock();.$this->writeln(array
132560 28 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 4f 75 74 70 (.sprintf('<comment>%s</>',.Outp
132580 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 utFormatter::escapeTrailingBacks
1325a0 6c 61 73 68 28 24 6d 65 73 73 61 67 65 29 29 2c 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 lash($message)),.sprintf('<comme
1325c0 6e 74 3e 25 73 3c 2f 3e 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 3d 27 2c 20 48 65 6c 70 65 nt>%s</>',.str_repeat('=',.Helpe
1325e0 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 r::strlenWithoutDecoration($this
132600 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 6d 65 73 73 61 67 65 29 29 29 2c 0a 29 ->getFormatter(),.$message))),.)
132620 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 );.$this->newLine();.}.....publi
132640 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 c.function.section($message).{.$
132660 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d this->autoPrependBlock();.$this-
132680 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e >writeln(array(.sprintf('<commen
1326a0 74 3e 25 73 3c 2f 3e 27 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 t>%s</>',.OutputFormatter::escap
1326c0 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 6d 65 73 73 61 67 65 29 29 2c 0a 73 eTrailingBackslash($message)),.s
1326e0 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 73 74 72 5f 72 65 70 printf('<comment>%s</>',.str_rep
132700 65 61 74 28 27 2d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 eat('-',.Helper::strlenWithoutDe
132720 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 coration($this->getFormatter(),.
132740 24 6d 65 73 73 61 67 65 29 29 29 2c 0a 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 $message))),.));.$this->newLine(
132760 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 69 6e 67 );.}.....public.function.listing
132780 28 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 (array.$elements).{.$this->autoP
1327a0 72 65 70 65 6e 64 54 65 78 74 28 29 3b 0a 24 65 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f rependText();.$elements.=.array_
1327c0 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e map(function.($element).{.return
1327e0 20 73 70 72 69 6e 74 66 28 27 20 2a 20 25 73 27 2c 20 24 65 6c 65 6d 65 6e 74 29 3b 0a 7d 2c 20 .sprintf('.*.%s',.$element);.},.
132800 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 65 6c 65 $elements);..$this->writeln($ele
132820 6d 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a ments);.$this->newLine();.}.....
132840 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 78 74 28 24 6d 65 73 73 61 67 65 29 0a 7b public.function.text($message).{
132860 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 3b 0a 0a 24 6d 65 73 .$this->autoPrependText();..$mes
132880 73 61 67 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 20 3f 20 61 72 72 sages.=.is_array($message).?.arr
1328a0 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 ay_values($message).:.array($mes
1328c0 73 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6d 65 sage);.foreach.($messages.as.$me
1328e0 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 ssage).{.$this->writeln(sprintf(
132900 27 20 25 73 27 2c 20 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 '.%s',.$message));.}.}.......pub
132920 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 28 24 6d 65 73 73 61 67 65 29 0a 7b lic.function.comment($message).{
132940 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 20 .$messages.=.is_array($message).
132960 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 29 20 3a 20 61 72 72 61 79 ?.array_values($message).:.array
132980 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 ($message);..$this->autoPrependB
1329a0 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 63 72 lock();.$this->writeln($this->cr
1329c0 65 61 74 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c eateBlock($messages,.null,.null,
1329e0 20 27 3c 66 67 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 20 2f 2f 20 3c 2f 3e .'<fg=default;bg=default>.//.</>
132a00 27 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 '));.$this->newLine();.}.....pub
132a20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 73 73 28 24 6d 65 73 73 61 67 65 29 0a 7b lic.function.success($message).{
132a40 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 4f 4b 27 2c 20 27 66 .$this->block($message,.'OK',.'f
132a60 67 3d 62 6c 61 63 6b 3b 62 67 3d 67 72 65 65 6e 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d g=black;bg=green',.'.',.true);.}
132a80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 .....public.function.error($mess
132aa0 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 45 age).{.$this->block($message,.'E
132ac0 52 52 4f 52 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 27 2c 20 74 RROR',.'fg=white;bg=red',.'.',.t
132ae0 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e rue);.}.....public.function.warn
132b00 69 6e 67 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 ing($message).{.$this->block($me
132b20 73 73 61 67 65 2c 20 27 57 41 52 4e 49 4e 47 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 ssage,.'WARNING',.'fg=white;bg=r
132b40 65 64 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ed',.'.',.true);.}.....public.fu
132b60 6e 63 74 69 6f 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 nction.note($message).{.$this->b
132b80 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 4e 4f 54 45 27 2c 20 27 66 67 3d 79 65 6c 6c 6f lock($message,.'NOTE',.'fg=yello
132ba0 77 27 2c 20 27 20 21 20 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f w',.'.!.');.}.....public.functio
132bc0 6e 20 63 61 75 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f n.caution($message).{.$this->blo
132be0 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 43 41 55 54 49 4f 4e 27 2c 20 27 66 67 3d 77 68 69 74 ck($message,.'CAUTION',.'fg=whit
132c00 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 21 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 e;bg=red',.'.!.',.true);.}.....p
132c20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 72 61 79 20 24 68 65 61 64 ublic.function.table(array.$head
132c40 65 72 73 2c 20 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 73 74 79 6c 65 20 3d 20 63 6c 6f ers,.array.$rows).{.$style.=.clo
132c60 6e 65 20 54 61 62 6c 65 3a 3a 67 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 27 73 79 ne.Table::getStyleDefinition('sy
132c80 6d 66 6f 6e 79 2d 73 74 79 6c 65 2d 67 75 69 64 65 27 29 3b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 mfony-style-guide');.$style->set
132ca0 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f CellHeaderFormat('<info>%s</info
132cc0 3e 27 29 3b 0a 0a 24 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 74 68 69 73 29 3b >');..$table.=.new.Table($this);
132ce0 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b 0a 24 .$table->setHeaders($headers);.$
132d00 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 table->setRows($rows);.$table->s
132d20 65 74 53 74 79 6c 65 28 24 73 74 79 6c 65 29 3b 0a 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 etStyle($style);..$table->render
132d40 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ();.$this->newLine();.}.....publ
132d60 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 ic.function.ask($question,.$defa
132d80 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b ult.=.null,.$validator.=.null).{
132da0 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 .$question.=.new.Question($quest
132dc0 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 ion,.$default);.$question->setVa
132de0 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 lidator($validator);..return.$th
132e00 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a is->askQuestion($question);.}...
132e20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 28 24 71 75 65 ..public.function.askHidden($que
132e40 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 71 75 65 stion,.$validator.=.null).{.$que
132e60 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b stion.=.new.Question($question);
132e80 0a 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 48 69 64 64 65 6e 28 74 72 75 65 29 3b 0a 24 71 ..$question->setHidden(true);.$q
132ea0 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 uestion->setValidator($validator
132ec0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 24 71 );..return.$this->askQuestion($q
132ee0 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 uestion);.}.....public.function.
132f00 63 6f 6e 66 69 72 6d 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 confirm($question,.$default.=.tr
132f20 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 ue).{.return.$this->askQuestion(
132f40 6e 65 77 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 new.ConfirmationQuestion($questi
132f60 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e on,.$default));.}.....public.fun
132f80 63 74 69 6f 6e 20 63 68 6f 69 63 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 ction.choice($question,.array.$c
132fa0 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e hoices,.$default.=.null).{.if.(n
132fc0 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 ull.!==.$default).{.$values.=.ar
132fe0 72 61 79 5f 66 6c 69 70 28 24 63 68 6f 69 63 65 73 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 ray_flip($choices);.$default.=.$
133000 76 61 6c 75 65 73 5b 24 64 65 66 61 75 6c 74 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 values[$default];.}..return.$thi
133020 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 6e 65 77 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f s->askQuestion(new.ChoiceQuestio
133040 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 29 n($question,.$choices,.$default)
133060 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 );.}.....public.function.progres
133080 73 53 74 61 72 74 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 sStart($max.=.0).{.$this->progre
1330a0 73 73 42 61 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 ssBar.=.$this->createProgressBar
1330c0 28 24 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 74 61 72 ($max);.$this->progressBar->star
1330e0 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 t();.}.....public.function.progr
133100 65 73 73 41 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 essAdvance($step.=.1).{.$this->g
133120 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 2d 3e 61 64 76 61 6e 63 65 28 24 73 74 65 70 29 3b etProgressBar()->advance($step);
133140 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 .}.....public.function.progressF
133160 69 6e 69 73 68 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 inish().{.$this->getProgressBar(
133180 29 2d 3e 66 69 6e 69 73 68 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 32 29 3b 0a )->finish();.$this->newLine(2);.
1331a0 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a $this->progressBar.=.null;.}....
1331c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 .public.function.createProgressB
1331e0 61 72 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 24 70 72 6f 67 72 65 73 73 42 61 72 20 3d 20 70 61 ar($max.=.0).{.$progressBar.=.pa
133200 72 65 6e 74 3a 3a 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 3b 0a 0a rent::createProgressBar($max);..
133220 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 if.('\\'.!==.DIRECTORY_SEPARATOR
133240 20 7c 7c 20 27 48 79 70 65 72 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 5f 50 52 4f .||.'Hyper'.===.getenv('TERM_PRO
133260 47 52 41 4d 27 29 29 20 7b 0a 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 45 6d 70 74 79 GRAM')).{.$progressBar->setEmpty
133280 42 61 72 43 68 61 72 61 63 74 65 72 28 27 e2 96 91 27 29 3b 20 0a 20 24 70 72 6f 67 72 65 73 73 BarCharacter('...');...$progress
1332a0 42 61 72 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 27 27 29 3b 0a 24 Bar->setProgressCharacter('');.$
1332c0 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 27 e2 96 progressBar->setBarCharacter('..
1332e0 93 27 29 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 7d .');...}..return.$progressBar;.}
133300 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 51 75 65 73 74 69 6f 6e .....public.function.askQuestion
133320 28 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 (Question.$question).{.if.($this
133340 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 ->input->isInteractive()).{.$thi
133360 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 s->autoPrependBlock();.}..if.(!$
133380 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 71 this->questionHelper).{.$this->q
1333a0 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 uestionHelper.=.new.SymfonyQuest
1333c0 69 6f 6e 48 65 6c 70 65 72 28 29 3b 0a 7d 0a 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d ionHelper();.}..$answer.=.$this-
1333e0 3e 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 >questionHelper->ask($this->inpu
133400 74 2c 20 24 74 68 69 73 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 t,.$this,.$question);..if.($this
133420 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 ->input->isInteractive()).{.$thi
133440 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 s->newLine();.$this->bufferedOut
133460 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6e 73 put->write("\n");.}..return.$ans
133480 77 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 wer;.}.....public.function.write
1334a0 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 ln($messages,.$type.=.self::OUTP
1334c0 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 6c 6e 28 24 6d 65 UT_NORMAL).{.parent::writeln($me
1334e0 73 73 61 67 65 73 2c 20 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f ssages,.$type);.$this->bufferedO
133500 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 72 65 64 75 63 65 42 75 66 66 utput->writeln($this->reduceBuff
133520 65 72 28 24 6d 65 73 73 61 67 65 73 29 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 er($messages),.$type);.}.....pub
133540 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e lic.function.write($messages,.$n
133560 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 ewline.=.false,.$type.=.self::OU
133580 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 28 24 6d 65 TPUT_NORMAL).{.parent::write($me
1335a0 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d ssages,.$newline,.$type);.$this-
1335c0 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 72 65 >bufferedOutput->write($this->re
1335e0 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 2c 20 24 6e 65 77 6c 69 6e 65 2c duceBuffer($messages),.$newline,
133600 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e .$type);.}.....public.function.n
133620 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 6e 65 77 ewLine($count.=.1).{.parent::new
133640 4c 69 6e 65 28 24 63 6f 75 6e 74 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 Line($count);.$this->bufferedOut
133660 70 75 74 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 6e 22 2c 20 24 63 6f 75 put->write(str_repeat("\n",.$cou
133680 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 nt));.}.....private.function.get
1336a0 50 72 6f 67 72 65 73 73 42 61 72 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 6f 67 ProgressBar().{.if.(!$this->prog
1336c0 72 65 73 73 42 61 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 ressBar).{.throw.new.RuntimeExce
1336e0 70 74 69 6f 6e 28 27 54 68 65 20 50 72 6f 67 72 65 73 73 42 61 72 20 69 73 20 6e 6f 74 20 73 74 ption('The.ProgressBar.is.not.st
133700 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 arted.');.}..return.$this->progr
133720 65 73 73 42 61 72 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 essBar;.}..private.function.getT
133740 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 0a 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 erminalWidth().{.$application.=.
133760 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d new.Application();.$dimensions.=
133780 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 .$application->getTerminalDimens
1337a0 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 30 5d 20 3f ions();..return.$dimensions[0].?
1337c0 3a 20 73 65 6c 66 3a 3a 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 3b 0a 7d 0a 0a 70 72 69 76 :.self::MAX_LINE_LENGTH;.}..priv
1337e0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 0a ate.function.autoPrependBlock().
133800 7b 0a 24 63 68 61 72 73 20 3d 20 73 75 62 73 74 72 28 73 74 72 5f 72 65 70 6c 61 63 65 28 50 48 {.$chars.=.substr(str_replace(PH
133820 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 P_EOL,."\n",.$this->bufferedOutp
133840 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 2d 32 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 ut->fetch()),.-2);..if.(!isset($
133860 63 68 61 72 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 chars[0])).{.return.$this->newLi
133880 6e 65 28 29 3b 20 0a 20 7d 0a 0a 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 32 20 2d 20 73 ne();...}...$this->newLine(2.-.s
1338a0 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 68 61 72 73 2c 20 22 5c 6e 22 29 29 3b 0a 7d 0a 0a 70 ubstr_count($chars,."\n"));.}..p
1338c0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 rivate.function.autoPrependText(
1338e0 29 0a 7b 0a 24 66 65 74 63 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 ).{.$fetched.=.$this->bufferedOu
133900 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 0a 20 69 66 20 28 22 5c 6e 22 20 21 3d 3d 20 73 75 tput->fetch();...if.("\n".!==.su
133920 62 73 74 72 28 24 66 65 74 63 68 65 64 2c 20 2d 31 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 65 77 bstr($fetched,.-1)).{.$this->new
133940 4c 69 6e 65 28 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 Line();.}.}..private.function.re
133960 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 0a 7b 0a 0a 20 0a 20 72 65 74 75 duceBuffer($messages).{.....retu
133980 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b rn.array_map(function.($value).{
1339a0 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 34 29 3b 0a 7d 2c 20 61 .return.substr($value,.-4);.},.a
1339c0 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 rray_merge(array($this->buffered
1339e0 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 Output->fetch()),.(array).$messa
133a00 67 65 73 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 ges));.}..private.function.creat
133a20 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 eBlock($messages,.$type.=.null,.
133a40 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 20 27 2c 20 24 70 $style.=.null,.$prefix.=.'.',.$p
133a60 61 64 64 69 6e 67 20 3d 20 66 61 6c 73 65 2c 20 24 65 73 63 61 70 65 20 3d 20 66 61 6c 73 65 29 adding.=.false,.$escape.=.false)
133a80 0a 7b 0a 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 24 70 72 65 66 69 78 4c 65 6e .{.$indentLength.=.0;.$prefixLen
133aa0 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 gth.=.Helper::strlenWithoutDecor
133ac0 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 70 72 ation($this->getFormatter(),.$pr
133ae0 65 66 69 78 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 efix);.$lines.=.array();..if.(nu
133b00 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 79 70 65 20 3d 20 73 70 72 69 6e 74 66 28 ll.!==.$type).{.$type.=.sprintf(
133b20 27 5b 25 73 5d 20 27 2c 20 24 74 79 70 65 29 3b 0a 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 20 3d '[%s].',.$type);.$indentLength.=
133b40 20 73 74 72 6c 65 6e 28 24 74 79 70 65 29 3b 0a 24 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e .strlen($type);.$lineIndentation
133b60 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 .=.str_repeat('.',.$indentLength
133b80 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6b );.}....foreach.($messages.as.$k
133ba0 65 79 20 3d 3e 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 73 63 61 70 65 29 20 7b ey.=>.$message).{.if.($escape).{
133bc0 0a 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 .$message.=.OutputFormatter::esc
133be0 61 70 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 ape($message);.}..$lines.=.array
133c00 5f 6d 65 72 67 65 28 24 6c 69 6e 65 73 2c 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 _merge($lines,.explode(PHP_EOL,.
133c20 77 6f 72 64 77 72 61 70 28 24 6d 65 73 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 wordwrap($message,.$this->lineLe
133c40 6e 67 74 68 20 2d 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 2d 20 24 69 6e 64 65 6e 74 4c 65 ngth.-.$prefixLength.-.$indentLe
133c60 6e 67 74 68 2c 20 50 48 50 5f 45 4f 4c 2c 20 74 72 75 65 29 29 29 3b 0a 0a 69 66 20 28 63 6f 75 ngth,.PHP_EOL,.true)));..if.(cou
133c80 6e 74 28 24 6d 65 73 73 61 67 65 73 29 20 3e 20 31 20 26 26 20 24 6b 65 79 20 3c 20 63 6f 75 6e nt($messages).>.1.&&.$key.<.coun
133ca0 74 28 24 6d 65 73 73 61 67 65 73 29 20 2d 20 31 29 20 7b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 t($messages).-.1).{.$lines[].=.'
133cc0 27 3b 0a 7d 0a 7d 0a 0a 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 30 3b 0a 69 66 20 ';.}.}..$firstLineIndex.=.0;.if.
133ce0 28 24 70 61 64 64 69 6e 67 20 26 26 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 ($padding.&&.$this->isDecorated(
133d00 29 29 20 7b 0a 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 31 3b 0a 61 72 72 61 79 5f )).{.$firstLineIndex.=.1;.array_
133d20 75 6e 73 68 69 66 74 28 24 6c 69 6e 65 73 2c 20 27 27 29 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 unshift($lines,.'');.$lines[].=.
133d40 27 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 69 20 3d 3e 20 '';.}..foreach.($lines.as.$i.=>.
133d60 26 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a &$line).{.if.(null.!==.$type).{.
133d80 24 6c 69 6e 65 20 3d 20 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 3d 3d 20 24 69 20 3f $line.=.$firstLineIndex.===.$i.?
133da0 20 24 74 79 70 65 2e 24 6c 69 6e 65 20 3a 20 24 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 2e .$type.$line.:.$lineIndentation.
133dc0 24 6c 69 6e 65 3b 0a 7d 0a 0a 24 6c 69 6e 65 20 3d 20 24 70 72 65 66 69 78 2e 24 6c 69 6e 65 3b $line;.}..$line.=.$prefix.$line;
133de0 0a 24 6c 69 6e 65 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 68 69 73 2d .$line..=.str_repeat('.',.$this-
133e00 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 >lineLength.-.Helper::strlenWith
133e20 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 outDecoration($this->getFormatte
133e40 72 28 29 2c 20 24 6c 69 6e 65 29 29 3b 0a 0a 69 66 20 28 24 73 74 79 6c 65 29 20 7b 0a 24 6c 69 r(),.$line));..if.($style).{.$li
133e60 6e 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 25 73 3c 2f 3e 27 2c 20 24 73 74 79 6c 65 ne.=.sprintf('<%s>%s</>',.$style
133e80 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 0a 7d 0a ,.$line);.}.}..return.$lines;.}.
133ea0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
133ec0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 73 74 65 72 3b 0a 0a 75 ony\Component\Console\Tester;..u
133ee0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 se.Symfony\Component\Console\App
133f00 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c lication;.use.Symfony\Component\
133f20 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 Console\Input\ArrayInput;.use.Sy
133f40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
133f60 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putInterface;.use.Symfony\Compon
133f80 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ent\Console\Output\OutputInterfa
133fa0 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ce;.use.Symfony\Component\Consol
133fc0 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e\Output\StreamOutput;..........
133fe0 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 0a 7b 0a 70 72 69 76 ..class.ApplicationTester.{.priv
134000 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 ate.$application;.private.$input
134020 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 ;.private.$output;.private.$stat
134040 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 usCode;..public.function.__const
134060 72 75 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 0a 7b ruct(Application.$application).{
134080 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 .$this->application.=.$applicati
1340a0 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 on;.}................public.func
1340c0 74 69 6f 6e 20 72 75 6e 28 61 72 72 61 79 20 24 69 6e 70 75 74 2c 20 24 6f 70 74 69 6f 6e 73 20 tion.run(array.$input,.$options.
1340e0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 =.array()).{.$this->input.=.new.
134100 41 72 72 61 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f ArrayInput($input);.if.(isset($o
134120 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d ptions['interactive'])).{.$this-
134140 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 6f 70 74 69 6f 6e 73 5b >input->setInteractive($options[
134160 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 'interactive']);.}..$this->outpu
134180 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a t.=.new.StreamOutput(fopen('php:
1341a0 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c 73 65 29 29 3b 0a 69 66 20 28 69 73 73 //memory',.'w',.false));.if.(iss
1341c0 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 29 20 7b 0a 24 74 68 et($options['decorated'])).{.$th
1341e0 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 6f 70 74 69 6f 6e is->output->setDecorated($option
134200 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 s['decorated']);.}.if.(isset($op
134220 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 tions['verbosity'])).{.$this->ou
134240 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 tput->setVerbosity($options['ver
134260 62 6f 73 69 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 bosity']);.}..return.$this->stat
134280 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e usCode.=.$this->application->run
1342a0 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d ($this->input,.$this->output);.}
1342c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 70 .........public.function.getDisp
1342e0 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 77 69 6e 64 lay($normalize.=.false).{.rewind
134300 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 ($this->output->getStream());..$
134320 64 69 73 70 6c 61 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 display.=.stream_get_contents($t
134340 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 69 66 20 28 his->output->getStream());..if.(
134360 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 $normalize).{.$display.=.str_rep
134380 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 7d lace(PHP_EOL,."\n",.$display);.}
1343a0 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ..return.$display;.}.......publi
1343c0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 c.function.getInput().{.return.$
1343e0 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->input;.}.......public.func
134400 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d tion.getOutput().{.return.$this-
134420 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e >output;.}.......public.function
134440 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .getStatusCode().{.return.$this-
134460 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >statusCode;.}.}.<?php..........
134480 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
1344a0 73 6f 6c 65 5c 54 65 73 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e sole\Tester;..use.Symfony\Compon
1344c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 ent\Console\Command\Command;.use
1344e0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
134500 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 \ArrayInput;.use.Symfony\Compone
134520 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a nt\Console\Output\StreamOutput;.
134540 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
134560 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
134580 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
1345a0 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 54 65 73 nterface;.......class.CommandTes
1345c0 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 ter.{.private.$command;.private.
1345e0 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 $input;.private.$output;.private
134600 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f .$statusCode;..public.function._
134620 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 _construct(Command.$command).{.$
134640 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a this->command.=.$command;.}.....
134660 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 ...........public.function.execu
134680 74 65 28 61 72 72 61 79 20 24 69 6e 70 75 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 te(array.$input,.array.$options.
1346a0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 0a 20 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 70 =.array()).{.....if.(!isset($inp
1346c0 75 74 5b 27 63 6f 6d 6d 61 6e 64 27 5d 29 0a 26 26 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 70 70 ut['command']).&&.(null.!==.$app
1346e0 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 70 lication.=.$this->command->getAp
134700 70 6c 69 63 61 74 69 6f 6e 28 29 29 0a 26 26 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 plication()).&&.$application->ge
134720 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d tDefinition()->hasArgument('comm
134740 61 6e 64 27 29 0a 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 and').).{.$input.=.array_merge(a
134760 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 rray('command'.=>.$this->command
134780 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d ->getName()),.$input);.}..$this-
1347a0 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b >input.=.new.ArrayInput($input);
1347c0 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 .if.(isset($options['interactive
1347e0 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 '])).{.$this->input->setInteract
134800 69 76 65 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 7d 0a ive($options['interactive']);.}.
134820 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 .$this->output.=.new.StreamOutpu
134840 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c t(fopen('php://memory',.'w',.fal
134860 73 65 29 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 se));.$this->output->setDecorate
134880 64 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 20 3f d(isset($options['decorated']).?
1348a0 20 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 20 3a 20 66 61 6c 73 65 29 3b .$options['decorated'].:.false);
1348c0 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d .if.(isset($options['verbosity']
1348e0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 )).{.$this->output->setVerbosity
134900 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 ($options['verbosity']);.}..retu
134920 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f rn.$this->statusCode.=.$this->co
134940 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e mmand->run($this->input,.$this->
134960 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 output);.}.........public.functi
134980 6f 6e 20 67 65 74 44 69 73 70 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 on.getDisplay($normalize.=.false
1349a0 29 0a 7b 0a 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 ).{.rewind($this->output->getStr
1349c0 65 61 6d 28 29 29 3b 0a 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 eam());..$display.=.stream_get_c
1349e0 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d ontents($this->output->getStream
134a00 28 29 29 3b 0a 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 24 64 69 73 70 6c 61 79 ());..if.($normalize).{.$display
134a20 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 64 .=.str_replace(PHP_EOL,."\n",.$d
134a40 69 73 70 6c 61 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 0a 0a isplay);.}..return.$display;.}..
134a60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a .....public.function.getInput().
134a80 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 {.return.$this->input;.}.......p
134aa0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 ublic.function.getOutput().{.ret
134ac0 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 urn.$this->output;.}.......publi
134ae0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 c.function.getStatusCode().{.ret
134b00 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 urn.$this->statusCode;.}.}.<?php
134b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
134b40 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 73 74 72 ponent\Debug;..use.Psr\Log\Abstr
134b60 61 63 74 4c 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 69 6e 67 actLogger;.......class.Buffering
134b80 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a Logger.extends.AbstractLogger.{.
134ba0 70 72 69 76 61 74 65 20 24 6c 6f 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 private.$logs.=.array();..public
134bc0 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 .function.log($level,.$message,.
134be0 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$context.=.array()).{.$thi
134c00 73 2d 3e 6c 6f 67 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 s->logs[].=.array($level,.$messa
134c20 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ge,.$context);.}..public.functio
134c40 6e 20 63 6c 65 61 6e 4c 6f 67 73 28 29 0a 7b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 6c n.cleanLogs().{.$logs.=.$this->l
134c60 6f 67 73 3b 0a 24 74 68 69 73 2d 3e 6c 6f 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 ogs;.$this->logs.=.array();..ret
134c80 75 72 6e 20 24 6c 6f 67 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e urn.$logs;.}.}.<?php...........n
134ca0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 amespace.Symfony\Component\Debug
134cc0 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 ;.......class.Debug.{.private.st
134ce0 61 74 69 63 20 24 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a atic.$enabled.=.false;..........
134d00 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 24 65 public.static.function.enable($e
134d20 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 70 rrorReportingLevel.=.null,.$disp
134d40 6c 61 79 45 72 72 6f 72 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a layErrors.=.true).{.if.(static::
134d60 24 65 6e 61 62 6c 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 74 61 74 69 63 3a 3a 24 $enabled).{.return;.}..static::$
134d80 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 enabled.=.true;..if.(null.!==.$e
134da0 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 29 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f rrorReportingLevel).{.error_repo
134dc0 72 74 69 6e 67 28 24 65 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 29 3b 0a 7d 20 65 rting($errorReportingLevel);.}.e
134de0 6c 73 65 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 2d 31 29 3b 0a 7d 0a 0a 69 66 lse.{.error_reporting(-1);.}..if
134e00 20 28 21 5c 69 6e 5f 61 72 72 61 79 28 50 48 50 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c .(!\in_array(PHP_SAPI,.array('cl
134e20 69 27 2c 20 27 70 68 70 64 62 67 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 69 6e 69 5f 73 65 74 28 i',.'phpdbg'),.true)).{.ini_set(
134e40 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 30 29 3b 0a 45 78 63 65 70 74 69 6f 6e 48 'display_errors',.0);.ExceptionH
134e60 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 64 andler::register();.}.elseif.($d
134e80 69 73 70 6c 61 79 45 72 72 6f 72 73 20 26 26 20 28 21 69 6e 69 5f 67 65 74 28 27 6c 6f 67 5f 65 isplayErrors.&&.(!ini_get('log_e
134ea0 72 72 6f 72 73 27 29 20 7c 7c 20 69 6e 69 5f 67 65 74 28 27 65 72 72 6f 72 5f 6c 6f 67 27 29 29 rrors').||.ini_get('error_log'))
134ec0 29 20 7b 0a 0a 20 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 ).{...ini_set('display_errors',.
134ee0 31 29 3b 0a 7d 0a 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 45 72 72 6f 1);.}.if.($displayErrors).{.Erro
134f00 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 6e 65 77 20 45 72 72 6f 72 48 61 6e 64 rHandler::register(new.ErrorHand
134f20 6c 65 72 28 6e 65 77 20 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 28 29 29 29 3b 0a 7d 20 65 ler(new.BufferingLogger()));.}.e
134f40 6c 73 65 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 2d 3e lse.{.ErrorHandler::register()->
134f60 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 44 65 62 75 67 43 6c 61 73 73 4c throwAt(0,.true);.}..DebugClassL
134f80 6f 61 64 65 72 3a 3a 65 6e 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a oader::enable();.}.}.<?php......
134fa0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
134fc0 5c 44 65 62 75 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 43 \Debug;.............class.DebugC
134fe0 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4c 6f 61 64 65 lassLoader.{.private.$classLoade
135000 72 3b 0a 70 72 69 76 61 74 65 20 24 69 73 46 69 6e 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 6c r;.private.$isFinder;.private.$l
135020 6f 61 64 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 77 61 73 46 69 6e oaded.=.array();.private.$wasFin
135040 64 65 72 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 43 68 65 63 6b 3b 0a der;.private.static.$caseCheck;.
135060 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 65 70 72 65 63 61 74 65 64 20 3d 20 61 72 72 private.static.$deprecated.=.arr
135080 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 70 68 70 37 52 65 73 65 72 76 ay();.private.static.$php7Reserv
1350a0 65 64 20 3d 20 61 72 72 61 79 28 27 69 6e 74 27 2c 20 27 66 6c 6f 61 74 27 2c 20 27 62 6f 6f 6c ed.=.array('int',.'float',.'bool
1350c0 27 2c 20 27 73 74 72 69 6e 67 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 6e ',.'string',.'true',.'false',.'n
1350e0 75 6c 6c 27 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 61 72 77 69 6e 43 61 63 ull');.private.static.$darwinCac
135100 68 65 20 3d 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 27 2c 20 61 72 72 he.=.array('/'.=>.array('/',.arr
135120 61 79 28 29 29 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ay()));.....public.function.__co
135140 6e 73 74 72 75 63 74 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 nstruct($classLoader).{.$this->w
135160 61 73 46 69 6e 64 65 72 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 63 6c 61 73 73 4c 6f 61 64 65 asFinder.=.is_object($classLoade
135180 72 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 r).&&.method_exists($classLoader
1351a0 2c 20 27 66 69 6e 64 46 69 6c 65 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 73 46 69 ,.'findFile');..if.($this->wasFi
1351c0 6e 64 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f nder).{.@trigger_error('The.'.__
1351e0 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 METHOD__.'.method.will.no.longer
135200 20 73 75 70 70 6f 72 74 20 72 65 63 65 69 76 69 6e 67 20 61 6e 20 6f 62 6a 65 63 74 20 69 6e 74 .support.receiving.an.object.int
135220 6f 20 69 74 73 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 33 o.its.$classLoader.argument.in.3
135240 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 74 68 69 73 2d .0.',.E_USER_DEPRECATED);.$this-
135260 3e 63 6c 61 73 73 4c 6f 61 64 65 72 20 3d 20 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 >classLoader.=.array($classLoade
135280 72 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 r,.'loadClass');.$this->isFinder
1352a0 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f .=.true;.}.else.{.$this->classLo
1352c0 61 64 65 72 20 3d 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 69 73 46 69 ader.=.$classLoader;.$this->isFi
1352e0 6e 64 65 72 20 3d 20 69 73 5f 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 20 26 26 nder.=.is_array($classLoader).&&
135300 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d 2c 20 .method_exists($classLoader[0],.
135320 27 66 69 6e 64 46 69 6c 65 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 'findFile');.}..if.(!isset(self:
135340 3a 24 63 61 73 65 43 68 65 63 6b 29 29 20 7b 0a 24 66 69 6c 65 20 3d 20 66 69 6c 65 5f 65 78 69 :$caseCheck)).{.$file.=.file_exi
135360 73 74 73 28 5f 5f 46 49 4c 45 5f 5f 29 20 3f 20 5f 5f 46 49 4c 45 5f 5f 20 3a 20 72 74 72 69 6d sts(__FILE__).?.__FILE__.:.rtrim
135380 28 72 65 61 6c 70 61 74 68 28 27 2e 27 29 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 (realpath('.'),.DIRECTORY_SEPARA
1353a0 54 4f 52 29 3b 0a 24 69 20 3d 20 73 74 72 72 70 6f 73 28 24 66 69 6c 65 2c 20 44 49 52 45 43 54 TOR);.$i.=.strrpos($file,.DIRECT
1353c0 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 24 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 66 ORY_SEPARATOR);.$dir.=.substr($f
1353e0 69 6c 65 2c 20 30 2c 20 31 20 2b 20 24 69 29 3b 0a 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 28 ile,.0,.1.+.$i);.$file.=.substr(
135400 24 66 69 6c 65 2c 20 31 20 2b 20 24 69 29 3b 0a 24 74 65 73 74 20 3d 20 73 74 72 74 6f 75 70 70 $file,.1.+.$i);.$test.=.strtoupp
135420 65 72 28 24 66 69 6c 65 29 20 3d 3d 3d 20 24 66 69 6c 65 20 3f 20 73 74 72 74 6f 6c 6f 77 65 72 er($file).===.$file.?.strtolower
135440 28 24 66 69 6c 65 29 20 3a 20 73 74 72 74 6f 75 70 70 65 72 28 24 66 69 6c 65 29 3b 0a 24 74 65 ($file).:.strtoupper($file);.$te
135460 73 74 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 2e 24 74 65 73 74 29 3b 0a 0a 69 66 20 28 st.=.realpath($dir.$test);..if.(
135480 66 61 6c 73 65 20 3d 3d 3d 20 24 74 65 73 74 20 7c 7c 20 66 61 6c 73 65 20 3d 3d 3d 20 24 69 29 false.===.$test.||.false.===.$i)
1354a0 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 7d 20 65 6c 73 .{...self::$caseCheck.=.0;.}.els
1354c0 65 69 66 20 28 73 75 62 73 74 72 28 24 74 65 73 74 2c 20 2d 73 74 72 6c 65 6e 28 24 66 69 6c 65 eif.(substr($test,.-strlen($file
1354e0 29 29 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 )).===.$file).{...self::$caseChe
135500 63 6b 20 3d 20 31 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 ck.=.1;.}.elseif.(false.!==.stri
135520 70 6f 73 28 50 48 50 5f 4f 53 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a 0a 20 73 65 6c 66 3a pos(PHP_OS,.'darwin')).{...self:
135540 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 73 65 6c 66 :$caseCheck.=.2;.}.else.{...self
135560 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ::$caseCheck.=.0;.}.}.}.......pu
135580 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 0a 7b blic.function.getClassLoader().{
1355a0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 20 3f 20 24 74 68 69 73 .return.$this->wasFinder.?.$this
1355c0 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d 20 3a 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c ->classLoader[0].:.$this->classL
1355e0 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 oader;.}.....public.static.funct
135600 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 0a 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 ion.enable().{...class_exists('S
135620 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 72 72 6f 72 48 61 6e 64 ymfony\Component\Debug\ErrorHand
135640 6c 65 72 27 29 3b 0a 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 73 72 5c 4c 6f 67 5c 4c 6f 67 ler');.class_exists('Psr\Log\Log
135660 4c 65 76 65 6c 27 29 3b 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f Level');..if.(!is_array($functio
135680 6e 73 20 3d 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 ns.=.spl_autoload_functions())).
1356a0 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 {.return;.}..foreach.($functions
1356c0 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e .as.$function).{.spl_autoload_un
1356e0 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 register($function);.}..foreach.
135700 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 ($functions.as.$function).{.if.(
135720 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 20 7c 7c 20 21 24 66 75 6e 63 74 69 !is_array($function).||.!$functi
135740 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 66 75 6e 63 74 69 on[0].instanceof.self).{.$functi
135760 6f 6e 20 3d 20 61 72 72 61 79 28 6e 65 77 20 73 74 61 74 69 63 28 24 66 75 6e 63 74 69 6f 6e 29 on.=.array(new.static($function)
135780 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f ,.'loadClass');.}..spl_autoload_
1357a0 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 register($function);.}.}.....pub
1357c0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 28 29 0a 7b 0a lic.static.function.disable().{.
1357e0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 73 20 3d 20 73 70 6c 5f 61 if.(!is_array($functions.=.spl_a
135800 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a utoload_functions())).{.return;.
135820 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 }..foreach.($functions.as.$funct
135840 69 6f 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 24 ion).{.spl_autoload_unregister($
135860 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e function);.}..foreach.($function
135880 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 s.as.$function).{.if.(is_array($
1358a0 66 75 6e 63 74 69 6f 6e 29 20 26 26 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e function).&&.$function[0].instan
1358c0 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 6e 63 74 69 ceof.self).{.$function.=.$functi
1358e0 6f 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 7d 0a 0a 73 70 6c 5f on[0]->getClassLoader();.}..spl_
135900 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a autoload_register($function);.}.
135920 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 }...........public.function.find
135940 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 File($class).{.@trigger_error('T
135960 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 he.'.__METHOD__.'.method.is.depr
135980 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.5.and.wil
1359a0 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 l.be.removed.in.3.0.',.E_USER_DE
1359c0 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 PRECATED);..if.($this->wasFinder
1359e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d ).{.return.$this->classLoader[0]
135a00 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ->findFile($class);.}.}.........
135a20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 ..public.function.loadClass($cla
135a40 73 73 29 0a 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 73 74 61 63 6b 45 72 72 6f 72 73 28 ss).{.ErrorHandler::stackErrors(
135a60 29 3b 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 20 26 26 );..try.{.if.($this->isFinder.&&
135a80 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 5b 24 63 6c 61 73 73 5d 29 29 20 .!isset($this->loaded[$class])).
135aa0 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 5b 24 63 6c 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a {.$this->loaded[$class].=.true;.
135ac0 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 if.($file.=.$this->classLoader[0
135ae0 5d 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 72 65 71 75 69 72 65 20 24 ]->findFile($class)).{.require.$
135b00 66 69 6c 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 file;.}.}.else.{.call_user_func(
135b20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 24 63 6c 61 73 73 29 3b 0a 24 66 69 $this->classLoader,.$class);.$fi
135b40 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f le.=.false;.}.}.catch.(\Exceptio
135b60 6e 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 n.$e).{.ErrorHandler::unstackErr
135b80 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f ors();..throw.$e;.}.catch.(\Thro
135ba0 77 61 62 6c 65 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 wable.$e).{.ErrorHandler::unstac
135bc0 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 45 72 72 6f 72 48 61 kErrors();..throw.$e;.}..ErrorHa
135be0 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 24 65 78 69 73 74 73 ndler::unstackErrors();..$exists
135c00 20 3d 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c .=.class_exists($class,.false).|
135c20 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 |.interface_exists($class,.false
135c40 29 20 7c 7c 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 74 72 61 69 74 5f 65 78 69 ).||.(function_exists('trait_exi
135c60 73 74 73 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 sts').&&.trait_exists($class,.fa
135c80 6c 73 65 29 29 3b 0a 0a 69 66 20 28 24 63 6c 61 73 73 20 26 26 20 27 5c 5c 27 20 3d 3d 3d 20 24 lse));..if.($class.&&.'\\'.===.$
135ca0 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 class[0]).{.$class.=.substr($cla
135cc0 73 73 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 24 72 65 66 6c 20 ss,.1);.}..if.($exists).{.$refl.
135ce0 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 28 24 63 6c 61 73 73 29 3b 0a =.new.\ReflectionClass($class);.
135d00 24 6e 61 6d 65 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 24 $name.=.$refl->getName();..if.($
135d20 6e 61 6d 65 20 21 3d 3d 20 24 63 6c 61 73 73 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 name.!==.$class.&&.0.===.strcase
135d40 63 6d 70 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 cmp($name,.$class)).{.throw.new.
135d60 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 73 65 20 \RuntimeException(sprintf('Case.
135d80 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 6c 6f 61 64 65 64 20 61 6e 64 20 64 65 63 6c mismatch.between.loaded.and.decl
135da0 61 72 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 27 2c 20 24 63 6c ared.class.names:.%s.vs.%s',.$cl
135dc0 61 73 73 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 74 ass,.$name));.}..if.(in_array(st
135de0 72 74 6f 6c 6f 77 65 72 28 24 72 65 66 6c 2d 3e 67 65 74 53 68 6f 72 74 4e 61 6d 65 28 29 29 2c rtolower($refl->getShortName()),
135e00 20 73 65 6c 66 3a 3a 24 70 68 70 37 52 65 73 65 72 76 65 64 29 29 20 7b 0a 40 74 72 69 67 67 65 .self::$php7Reserved)).{.@trigge
135e20 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 25 73 20 75 73 65 73 20 61 20 72 65 73 65 72 r_error(sprintf('%s.uses.a.reser
135e40 76 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 20 28 25 73 29 20 74 68 61 74 20 77 69 6c 6c 20 62 72 ved.class.name.(%s).that.will.br
135e60 65 61 6b 20 6f 6e 20 50 48 50 20 37 20 61 6e 64 20 68 69 67 68 65 72 27 2c 20 24 6e 61 6d 65 2c eak.on.PHP.7.and.higher',.$name,
135e80 20 24 72 65 66 6c 2d 3e 67 65 74 53 68 6f 72 74 4e 61 6d 65 28 29 29 2c 20 45 5f 55 53 45 52 5f .$refl->getShortName()),.E_USER_
135ea0 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 DEPRECATED);.}.elseif.(preg_matc
135ec0 68 28 27 23 5c 6e 20 5c 2a 20 40 64 65 70 72 65 63 61 74 65 64 20 28 2e 2a 3f 29 5c 72 3f 5c 6e h('#\n.\*.@deprecated.(.*?)\r?\n
135ee0 20 5c 2a 28 3f 3a 20 40 7c 2f 24 29 23 73 27 2c 20 24 72 65 66 6c 2d 3e 67 65 74 44 6f 63 43 6f .\*(?:.@|/$)#s',.$refl->getDocCo
135f00 6d 6d 65 6e 74 28 29 2c 20 24 6e 6f 74 69 63 65 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 65 70 72 mment(),.$notice)).{.self::$depr
135f20 65 63 61 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5c ecated[$name].=.preg_replace('#\
135f40 73 2a 5c 72 3f 5c 6e 20 5c 2a 20 2b 23 27 2c 20 27 20 27 2c 20 24 6e 6f 74 69 63 65 5b 31 5d 29 s*\r?\n.\*.+#',.'.',.$notice[1])
135f60 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 32 20 3e 20 24 6c 65 6e 20 3d 20 31 20 2b 20 28 73 ;.}.else.{.if.(2.>.$len.=.1.+.(s
135f80 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 20 3f 3a 20 73 74 72 70 6f 73 28 24 6e 61 trpos($name,.'\\').?:.strpos($na
135fa0 6d 65 2c 20 27 5f 27 29 29 29 20 7b 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 6e 73 20 3d 20 27 27 3b me,.'_'))).{.$len.=.0;.$ns.=.'';
135fc0 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 73 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c .}.else.{.$ns.=.substr($name,.0,
135fe0 20 24 6c 65 6e 29 3b 0a 7d 0a 24 70 61 72 65 6e 74 20 3d 20 67 65 74 5f 70 61 72 65 6e 74 5f 63 .$len);.}.$parent.=.get_parent_c
136000 6c 61 73 73 28 24 63 6c 61 73 73 29 3b 0a 0a 69 66 20 28 21 24 70 61 72 65 6e 74 20 7c 7c 20 73 lass($class);..if.(!$parent.||.s
136020 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 70 61 72 65 6e 74 2c 20 24 6c 65 6e 29 29 20 7b 0a 69 66 trncmp($ns,.$parent,.$len)).{.if
136040 20 28 24 70 61 72 65 6e 74 20 26 26 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 .($parent.&&.isset(self::$deprec
136060 61 74 65 64 5b 24 70 61 72 65 6e 74 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 ated[$parent]).&&.strncmp($ns,.$
136080 70 61 72 65 6e 74 2c 20 24 6c 65 6e 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 parent,.$len)).{.@trigger_error(
1360a0 73 70 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 63 6c 61 73 73 20 65 78 74 65 6e 64 73 20 25 73 sprintf('The.%s.class.extends.%s
1360c0 20 74 68 61 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 .that.is.deprecated.%s',.$name,.
1360e0 24 70 61 72 65 6e 74 2c 20 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 70 61 72 65 $parent,.self::$deprecated[$pare
136100 6e 74 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 70 61 nt]),.E_USER_DEPRECATED);.}..$pa
136120 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 70 72 65 rentInterfaces.=.array();.$depre
136140 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 catedInterfaces.=.array();.if.($
136160 70 61 72 65 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 parent).{.foreach.(class_impleme
136180 6e 74 73 28 24 70 61 72 65 6e 74 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 nts($parent).as.$interface).{.$p
1361a0 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 20 3d 20 31 3b arentInterfaces[$interface].=.1;
1361c0 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 66 6c 2d 3e 67 65 74 49 6e 74 65 72 66 61 .}.}..foreach.($refl->getInterfa
1361e0 63 65 4e 61 6d 65 73 28 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 ceNames().as.$interface).{.if.(i
136200 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 69 6e 74 65 72 66 61 63 sset(self::$deprecated[$interfac
136220 65 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 69 6e 74 65 72 66 61 63 65 2c 20 e]).&&.strncmp($ns,.$interface,.
136240 24 6c 65 6e 29 29 20 7b 0a 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 5b 5d $len)).{.$deprecatedInterfaces[]
136260 20 3d 20 24 69 6e 74 65 72 66 61 63 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f .=.$interface;.}.foreach.(class_
136280 69 6d 70 6c 65 6d 65 6e 74 73 28 24 69 6e 74 65 72 66 61 63 65 29 20 61 73 20 24 69 6e 74 65 72 implements($interface).as.$inter
1362a0 66 61 63 65 29 20 7b 0a 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 face).{.$parentInterfaces[$inter
1362c0 66 61 63 65 5d 20 3d 20 31 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 72 65 63 face].=.1;.}.}..foreach.($deprec
1362e0 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a atedInterfaces.as.$interface).{.
136300 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e if.(!isset($parentInterfaces[$in
136320 74 65 72 66 61 63 65 5d 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 terface])).{.@trigger_error(spri
136340 6e 74 66 28 27 54 68 65 20 25 73 20 25 73 20 25 73 20 74 68 61 74 20 69 73 20 64 65 70 72 65 63 ntf('The.%s.%s.%s.that.is.deprec
136360 61 74 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 24 72 65 66 6c 2d 3e 69 73 49 6e 74 65 72 66 ated.%s',.$name,.$refl->isInterf
136380 61 63 65 28 29 20 3f 20 27 69 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 27 20 3a 20 27 63 ace().?.'interface.extends'.:.'c
1363a0 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 27 2c 20 24 69 6e 74 65 72 66 61 63 65 2c 20 73 65 lass.implements',.$interface,.se
1363c0 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 2c 20 45 5f lf::$deprecated[$interface]),.E_
1363e0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 USER_DEPRECATED);.}.}.}.}.}..if.
136400 28 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 21 24 65 78 69 73 74 73 29 20 7b 0a 69 66 20 28 66 61 ($file).{.if.(!$exists).{.if.(fa
136420 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 2f 27 29 29 20 7b 0a 74 lse.!==.strpos($class,.'/')).{.t
136440 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e hrow.new.\RuntimeException(sprin
136460 74 66 28 27 54 72 79 69 6e 67 20 74 6f 20 61 75 74 6f 6c 6f 61 64 20 61 20 63 6c 61 73 73 20 77 tf('Trying.to.autoload.a.class.w
136480 69 74 68 20 61 6e 20 69 6e 76 61 6c 69 64 20 6e 61 6d 65 20 22 25 73 22 2e 20 42 65 20 63 61 72 ith.an.invalid.name."%s"..Be.car
1364a0 65 66 75 6c 20 74 68 61 74 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f eful.that.the.namespace.separato
1364c0 72 20 69 73 20 22 5c 22 20 69 6e 20 50 48 50 2c 20 6e 6f 74 20 22 2f 22 2e 27 2c 20 24 63 6c 61 r.is."\".in.PHP,.not."/".',.$cla
1364e0 73 73 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ss));.}..throw.new.\RuntimeExcep
136500 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 65 78 70 tion(sprintf('The.autoloader.exp
136520 65 63 74 65 64 20 63 6c 61 73 73 20 22 25 73 22 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 20 69 ected.class."%s".to.be.defined.i
136540 6e 20 66 69 6c 65 20 22 25 73 22 2e 20 54 68 65 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 20 n.file."%s"..The.file.was.found.
136560 62 75 74 20 74 68 65 20 63 6c 61 73 73 20 77 61 73 20 6e 6f 74 20 69 6e 20 69 74 2c 20 74 68 65 but.the.class.was.not.in.it,.the
136580 20 63 6c 61 73 73 20 6e 61 6d 65 20 6f 72 20 6e 61 6d 65 73 70 61 63 65 20 70 72 6f 62 61 62 6c .class.name.or.namespace.probabl
1365a0 79 20 68 61 73 20 61 20 74 79 70 6f 2e 27 2c 20 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 29 3b y.has.a.typo.',.$class,.$file));
1365c0 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 7b 0a 24 72 65 61 6c .}.if.(self::$caseCheck).{.$real
1365e0 20 3d 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 2e 73 74 72 72 63 68 72 28 .=.explode('\\',.$class.strrchr(
136600 24 66 69 6c 65 2c 20 27 2e 27 29 29 3b 0a 24 74 61 69 6c 20 3d 20 65 78 70 6c 6f 64 65 28 44 49 $file,.'.'));.$tail.=.explode(DI
136620 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 RECTORY_SEPARATOR,.str_replace('
136640 2f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 66 69 6c 65 29 29 /',.DIRECTORY_SEPARATOR,.$file))
136660 3b 0a 0a 24 69 20 3d 20 63 6f 75 6e 74 28 24 74 61 69 6c 29 20 2d 20 31 3b 0a 24 6a 20 3d 20 63 ;..$i.=.count($tail).-.1;.$j.=.c
136680 6f 75 6e 74 28 24 72 65 61 6c 29 20 2d 20 31 3b 0a 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 ount($real).-.1;..while.(isset($
1366a0 74 61 69 6c 5b 24 69 5d 2c 20 24 72 65 61 6c 5b 24 6a 5d 29 20 26 26 20 24 74 61 69 6c 5b 24 69 tail[$i],.$real[$j]).&&.$tail[$i
1366c0 5d 20 3d 3d 3d 20 24 72 65 61 6c 5b 24 6a 5d 29 20 7b 0a 2d 2d 24 69 3b 0a 2d 2d 24 6a 3b 0a 7d ].===.$real[$j]).{.--$i;.--$j;.}
1366e0 0a 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 61 69 6c 2c 20 30 2c 20 24 69 20 2b 20 31 29 ..array_splice($tail,.0,.$i.+.1)
136700 3b 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 26 26 20 24 74 61 69 ;.}.if.(self::$caseCheck.&&.$tai
136720 6c 29 20 7b 0a 24 74 61 69 6c 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 l).{.$tail.=.DIRECTORY_SEPARATOR
136740 2e 69 6d 70 6c 6f 64 65 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 74 .implode(DIRECTORY_SEPARATOR,.$t
136760 61 69 6c 29 3b 0a 24 74 61 69 6c 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 74 61 69 6c 29 3b 0a ail);.$tailLen.=.strlen($tail);.
136780 24 72 65 61 6c 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 3b 0a 0a 69 $real.=.$refl->getFileName();..i
1367a0 66 20 28 32 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 7b 0a 0a 0a 24 f.(2.===.self::$caseCheck).{...$
1367c0 69 20 3d 20 31 20 2b 20 73 74 72 72 70 6f 73 28 24 72 65 61 6c 2c 20 27 2f 27 29 3b 0a 24 66 69 i.=.1.+.strrpos($real,.'/');.$fi
1367e0 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 24 69 29 3b 0a 24 72 65 61 6c 20 3d 20 le.=.substr($real,.$i);.$real.=.
136800 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 30 2c 20 24 69 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 substr($real,.0,.$i);..if.(isset
136820 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 72 65 61 6c 5d 29 29 20 7b 0a 24 (self::$darwinCache[$real])).{.$
136840 6b 44 69 72 20 3d 20 24 72 65 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 44 69 72 20 3d 20 73 kDir.=.$real;.}.else.{.$kDir.=.s
136860 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c trtolower($real);..if.(isset(sel
136880 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 29 29 20 7b 0a 24 72 65 61 6c f::$darwinCache[$kDir])).{.$real
1368a0 20 3d 20 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 30 5d 3b .=.self::$darwinCache[$kDir][0];
1368c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 .}.else.{.$dir.=.getcwd();.chdir
1368e0 28 24 72 65 61 6c 29 3b 0a 24 72 65 61 6c 20 3d 20 67 65 74 63 77 64 28 29 2e 27 2f 27 3b 0a 63 ($real);.$real.=.getcwd().'/';.c
136900 68 64 69 72 28 24 64 69 72 29 3b 0a 0a 24 64 69 72 20 3d 20 24 72 65 61 6c 3b 0a 24 6b 20 3d 20 hdir($dir);..$dir.=.$real;.$k.=.
136920 24 6b 44 69 72 3b 0a 24 69 20 3d 20 73 74 72 6c 65 6e 28 24 64 69 72 29 20 2d 20 31 3b 0a 77 68 $kDir;.$i.=.strlen($dir).-.1;.wh
136940 69 6c 65 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 ile.(!isset(self::$darwinCache[$
136960 6b 5d 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 20 3d 20 k])).{.self::$darwinCache[$k].=.
136980 61 72 72 61 79 28 24 64 69 72 2c 20 61 72 72 61 79 28 29 29 3b 0a 73 65 6c 66 3a 3a 24 64 61 72 array($dir,.array());.self::$dar
1369a0 77 69 6e 43 61 63 68 65 5b 24 64 69 72 5d 20 3d 20 26 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 winCache[$dir].=.&self::$darwinC
1369c0 61 63 68 65 5b 24 6b 5d 3b 0a 0a 77 68 69 6c 65 20 28 27 2f 27 20 21 3d 3d 20 24 64 69 72 5b 2d ache[$k];..while.('/'.!==.$dir[-
1369e0 2d 24 69 5d 29 20 7b 0a 7d 0a 24 6b 20 3d 20 73 75 62 73 74 72 28 24 6b 2c 20 30 2c 20 2b 2b 24 -$i]).{.}.$k.=.substr($k,.0,.++$
136a00 69 29 3b 0a 24 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 64 69 72 2c 20 30 2c 20 24 69 2d 2d 29 i);.$dir.=.substr($dir,.0,.$i--)
136a20 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 24 64 61 72 77 ;.}.}.}..$dirFiles.=.self::$darw
136a40 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 31 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 inCache[$kDir][1];..if.(isset($d
136a60 69 72 46 69 6c 65 73 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 24 66 69 6c irFiles[$file])).{.$kFile.=.$fil
136a80 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 e;.}.else.{.$kFile.=.strtolower(
136aa0 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 69 72 46 69 6c 65 73 5b 24 6b $file);..if.(!isset($dirFiles[$k
136ac0 46 69 6c 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 73 63 61 6e 64 69 72 28 24 72 65 61 6c File])).{.foreach.(scandir($real
136ae0 2c 20 32 29 20 61 73 20 24 66 29 20 7b 0a 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 66 5b 30 5d 29 ,.2).as.$f).{.if.('.'.!==.$f[0])
136b00 20 7b 0a 24 64 69 72 46 69 6c 65 73 5b 24 66 5d 20 3d 20 24 66 3b 0a 69 66 20 28 24 66 20 3d 3d .{.$dirFiles[$f].=.$f;.if.($f.==
136b20 3d 20 24 66 69 6c 65 29 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 24 6b 20 3d 20 24 66 69 6c 65 3b 0a =.$file).{.$kFile.=.$k.=.$file;.
136b40 7d 20 65 6c 73 65 69 66 20 28 24 66 20 21 3d 3d 20 24 6b 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 }.elseif.($f.!==.$k.=.strtolower
136b60 28 24 66 29 29 20 7b 0a 24 64 69 72 46 69 6c 65 73 5b 24 6b 5d 20 3d 20 24 66 3b 0a 7d 0a 7d 0a ($f)).{.$dirFiles[$k].=.$f;.}.}.
136b80 7d 0a 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 31 5d 20 3d }.self::$darwinCache[$kDir][1].=
136ba0 20 24 64 69 72 46 69 6c 65 73 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 20 2e 3d 20 24 64 69 72 46 69 .$dirFiles;.}.}..$real..=.$dirFi
136bc0 6c 65 73 5b 24 6b 46 69 6c 65 5d 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 75 62 73 74 72 les[$kFile];.}..if.(0.===.substr
136be0 5f 63 6f 6d 70 61 72 65 28 24 72 65 61 6c 2c 20 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e _compare($real,.$tail,.-$tailLen
136c00 2c 20 24 74 61 69 6c 4c 65 6e 2c 20 74 72 75 65 29 0a 26 26 20 30 20 21 3d 3d 20 73 75 62 73 74 ,.$tailLen,.true).&&.0.!==.subst
136c20 72 5f 63 6f 6d 70 61 72 65 28 24 72 65 61 6c 2c 20 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 r_compare($real,.$tail,.-$tailLe
136c40 6e 2c 20 24 74 61 69 6c 4c 65 6e 2c 20 66 61 6c 73 65 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 n,.$tailLen,.false).).{.throw.ne
136c60 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 73 w.\RuntimeException(sprintf('Cas
136c80 65 20 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 63 6c 61 73 73 20 61 6e 64 20 72 65 61 e.mismatch.between.class.and.rea
136ca0 6c 20 66 69 6c 65 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 20 69 6e 20 25 73 27 2c 20 73 l.file.names:.%s.vs.%s.in.%s',.s
136cc0 75 62 73 74 72 28 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 62 ubstr($tail,.-$tailLen.+.1),.sub
136ce0 73 74 72 28 24 72 65 61 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 62 73 74 str($real,.-$tailLen.+.1),.subst
136d00 72 28 24 72 65 61 6c 2c 20 30 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 29 29 3b 0a 7d 0a r($real,.0,.-$tailLen.+.1)));.}.
136d20 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a }..return.true;.}.}.}.<?php.....
136d40 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
136d60 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a t\Debug;..use.Psr\Log\LogLevel;.
136d80 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Psr\Log\LoggerInterface;.use
136da0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 .Symfony\Component\Debug\Excepti
136dc0 6f 6e 5c 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 on\ContextErrorException;.use.Sy
136de0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c mfony\Component\Debug\Exception\
136e00 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 FatalErrorException;.use.Symfony
136e20 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c \Component\Debug\Exception\Fatal
136e40 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ThrowableError;.use.Symfony\Comp
136e60 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 4f 75 74 4f 66 4d 65 6d 6f 72 onent\Debug\Exception\OutOfMemor
136e80 79 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e yException;.use.Symfony\Componen
136ea0 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 55 6e 64 65 66 69 t\Debug\FatalErrorHandler\Undefi
136ec0 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 nedFunctionFatalErrorHandler;.us
136ee0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 e.Symfony\Component\Debug\FatalE
136f00 72 72 6f 72 48 61 6e 64 6c 65 72 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c rrorHandler\UndefinedMethodFatal
136f20 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ErrorHandler;.use.Symfony\Compon
136f40 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 43 6c 61 73 ent\Debug\FatalErrorHandler\Clas
136f60 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 sNotFoundFatalErrorHandler;.use.
136f80 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 Symfony\Component\Debug\FatalErr
136fa0 6f 72 48 61 6e 64 6c 65 72 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 orHandler\FatalErrorHandlerInter
136fc0 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 face;........................cla
136fe0 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 54 59 50 45 5f ss.ErrorHandler.{....const.TYPE_
137000 44 45 50 52 45 43 41 54 49 4f 4e 20 3d 20 2d 31 30 30 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 65 DEPRECATION.=.-100;..private.$le
137020 76 65 6c 73 20 3d 20 61 72 72 61 79 28 0a 45 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 27 44 vels.=.array(.E_DEPRECATED.=>.'D
137040 65 70 72 65 63 61 74 65 64 27 2c 0a 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e eprecated',.E_USER_DEPRECATED.=>
137060 20 27 55 73 65 72 20 44 65 70 72 65 63 61 74 65 64 27 2c 0a 45 5f 4e 4f 54 49 43 45 20 3d 3e 20 .'User.Deprecated',.E_NOTICE.=>.
137080 27 4e 6f 74 69 63 65 27 2c 0a 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 3d 3e 20 27 55 73 65 72 'Notice',.E_USER_NOTICE.=>.'User
1370a0 20 4e 6f 74 69 63 65 27 2c 0a 45 5f 53 54 52 49 43 54 20 3d 3e 20 27 52 75 6e 74 69 6d 65 20 4e .Notice',.E_STRICT.=>.'Runtime.N
1370c0 6f 74 69 63 65 27 2c 0a 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 57 61 72 6e 69 6e 67 27 2c 0a otice',.E_WARNING.=>.'Warning',.
1370e0 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 55 73 65 72 20 57 61 72 6e 69 6e 67 27 E_USER_WARNING.=>.'User.Warning'
137100 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 ,.E_COMPILE_WARNING.=>.'Compile.
137120 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 43 4f 52 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 43 6f 72 Warning',.E_CORE_WARNING.=>.'Cor
137140 65 20 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 27 55 73 65 e.Warning',.E_USER_ERROR.=>.'Use
137160 72 20 45 72 72 6f 72 27 2c 0a 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e r.Error',.E_RECOVERABLE_ERROR.=>
137180 20 27 43 61 74 63 68 61 62 6c 65 20 46 61 74 61 6c 20 45 72 72 6f 72 27 2c 0a 45 5f 43 4f 4d 50 .'Catchable.Fatal.Error',.E_COMP
1371a0 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 45 72 72 6f 72 27 2c 0a 45 5f ILE_ERROR.=>.'Compile.Error',.E_
1371c0 50 41 52 53 45 20 3d 3e 20 27 50 61 72 73 65 20 45 72 72 6f 72 27 2c 0a 45 5f 45 52 52 4f 52 20 PARSE.=>.'Parse.Error',.E_ERROR.
1371e0 3d 3e 20 27 45 72 72 6f 72 27 2c 0a 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 72 =>.'Error',.E_CORE_ERROR.=>.'Cor
137200 65 20 45 72 72 6f 72 27 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 73 20 3d e.Error',.);..private.$loggers.=
137220 20 61 72 72 61 79 28 0a 45 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 61 72 72 61 79 28 6e 75 .array(.E_DEPRECATED.=>.array(nu
137240 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 2c 0a 45 5f 55 53 45 52 5f 44 45 50 52 ll,.LogLevel::INFO),.E_USER_DEPR
137260 45 43 41 54 45 44 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a ECATED.=>.array(null,.LogLevel::
137280 49 4e 46 4f 29 2c 0a 45 5f 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c INFO),.E_NOTICE.=>.array(null,.L
1372a0 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 ogLevel::WARNING),.E_USER_NOTICE
1372c0 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e .=>.array(null,.LogLevel::WARNIN
1372e0 47 29 2c 0a 45 5f 53 54 52 49 43 54 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c G),.E_STRICT.=>.array(null,.LogL
137300 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 evel::WARNING),.E_WARNING.=>.arr
137320 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 ay(null,.LogLevel::WARNING),.E_U
137340 53 45 52 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 SER_WARNING.=>.array(null,.LogLe
137360 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 4e 47 vel::WARNING),.E_COMPILE_WARNING
137380 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e .=>.array(null,.LogLevel::WARNIN
1373a0 47 29 2c 0a 45 5f 43 4f 52 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c G),.E_CORE_WARNING.=>.array(null
1373c0 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 45 52 52 ,.LogLevel::WARNING),.E_USER_ERR
1373e0 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 OR.=>.array(null,.LogLevel::CRIT
137400 49 43 41 4c 29 2c 0a 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 ICAL),.E_RECOVERABLE_ERROR.=>.ar
137420 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 ray(null,.LogLevel::CRITICAL),.E
137440 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f _COMPILE_ERROR.=>.array(null,.Lo
137460 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 50 41 52 53 45 20 3d 3e 20 61 72 gLevel::CRITICAL),.E_PARSE.=>.ar
137480 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 ray(null,.LogLevel::CRITICAL),.E
1374a0 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a _ERROR.=>.array(null,.LogLevel::
1374c0 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 CRITICAL),.E_CORE_ERROR.=>.array
1374e0 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 29 3b 0a 0a (null,.LogLevel::CRITICAL),.);..
137500 70 72 69 76 61 74 65 20 24 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 20 private.$thrownErrors.=.0x1FFF;.
137520 0a 20 70 72 69 76 61 74 65 20 24 73 63 6f 70 65 64 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 ..private.$scopedErrors.=.0x1FFF
137540 3b 20 0a 20 70 72 69 76 61 74 65 20 24 74 72 61 63 65 64 45 72 72 6f 72 73 20 3d 20 30 78 37 37 ;...private.$tracedErrors.=.0x77
137560 46 42 3b 20 0a 20 70 72 69 76 61 74 65 20 24 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 FB;...private.$screamedErrors.=.
137580 30 78 35 35 3b 20 0a 20 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 3d 20 0x55;...private.$loggedErrors.=.
1375a0 30 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 64 54 72 61 63 65 73 20 3d 20 61 72 72 61 0;..private.$loggedTraces.=.arra
1375c0 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 30 3b 0a 70 y();.private.$isRecursive.=.0;.p
1375e0 72 69 76 61 74 65 20 24 69 73 52 6f 6f 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 rivate.$isRoot.=.false;.private.
137600 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 70 72 69 76 61 74 65 20 24 62 6f 6f 74 $exceptionHandler;.private.$boot
137620 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 strappingLogger;..private.static
137640 20 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 .$reservedMemory;.private.static
137660 20 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 .$stackedErrors.=.array();.priva
137680 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 20 3d 20 te.static.$stackedErrorLevels.=.
1376a0 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 6f 53 74 72 69 6e array();.private.static.$toStrin
1376c0 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 gException.=.null;.private.stati
1376e0 63 20 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 c.$exitCode.=.0;.......private.$
137700 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a displayErrors.=.0x1FFF;.........
137720 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 .public.static.function.register
137740 28 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 74 72 75 ($handler.=.null,.$replace.=.tru
137760 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 e).{.if.(null.===.self::$reserve
137780 64 4d 65 6d 6f 72 79 29 20 7b 0a 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 dMemory).{.self::$reservedMemory
1377a0 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 78 27 2c 20 31 30 32 34 30 29 3b 0a 72 65 67 69 73 .=.str_repeat('x',.10240);.regis
1377c0 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 5f 5f 43 4c 41 53 53 5f 5f 2e ter_shutdown_function(__CLASS__.
1377e0 27 3a 3a 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 27 29 3b 0a 7d 0a 0a 24 6c 65 76 65 6c '::handleFatalError');.}..$level
137800 73 20 3d 20 2d 31 3b 0a 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 49 73 4e 65 77 20 3d 20 21 24 68 s.=.-1;..if.($handlerIsNew.=.!$h
137820 61 6e 64 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 0a 20 69 66 20 28 andler.instanceof.self).{...if.(
137840 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 24 null.!==.$handler).{.$levels.=.$
137860 72 65 70 6c 61 63 65 20 3f 20 24 68 61 6e 64 6c 65 72 20 3a 20 30 3b 0a 24 72 65 70 6c 61 63 65 replace.?.$handler.:.0;.$replace
137880 20 3d 20 74 72 75 65 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 20 3d 20 6e 65 77 20 73 74 61 74 69 63 .=.true;.}.$handler.=.new.static
1378a0 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 76 20 3d 20 73 65 74 5f ();.}..if.(null.===.$prev.=.set_
1378c0 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 error_handler(array($handler,.'h
1378e0 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 andleError'))).{.restore_error_h
137900 61 6e 64 6c 65 72 28 29 3b 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 andler();...set_error_handler(ar
137920 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 2c 20 24 68 ray($handler,.'handleError'),.$h
137940 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 68 61 6e 64 6c 65 72 2d andler->thrownErrors.|.$handler-
137960 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 69 73 52 6f 6f 74 >loggedErrors);.$handler->isRoot
137980 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 49 73 4e 65 77 20 26 26 .=.true;.}..if.($handlerIsNew.&&
1379a0 20 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 .is_array($prev).&&.$prev[0].ins
1379c0 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 24 70 72 65 76 tanceof.self).{.$handler.=.$prev
1379e0 5b 30 5d 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 24 72 [0];.$replace.=.false;.}.if.(!$r
137a00 65 70 6c 61 63 65 20 26 26 20 24 70 72 65 76 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 eplace.&&.$prev).{.restore_error
137a20 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 24 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 65 64 _handler();.$handlerIsRegistered
137a40 20 3d 20 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 68 61 6e 64 6c 65 72 20 3d .=.is_array($prev).&&.$handler.=
137a60 3d 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 72 49 73 ==.$prev[0];.}.else.{.$handlerIs
137a80 52 65 67 69 73 74 65 72 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 69 73 5f 61 72 72 61 Registered.=.true;.}.if.(is_arra
137aa0 79 28 24 70 72 65 76 20 3d 20 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 y($prev.=.set_exception_handler(
137ac0 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e array($handler,.'handleException
137ae0 27 29 29 29 20 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 '))).&&.$prev[0].instanceof.self
137b00 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b ).{.restore_exception_handler();
137b20 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 65 64 29 20 7b 0a 24 68 .if.(!$handlerIsRegistered).{.$h
137b40 61 6e 64 6c 65 72 20 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 61 andler.=.$prev[0];.}.elseif.($ha
137b60 6e 64 6c 65 72 20 21 3d 3d 20 24 70 72 65 76 5b 30 5d 20 26 26 20 24 72 65 70 6c 61 63 65 29 20 ndler.!==.$prev[0].&&.$replace).
137b80 7b 0a 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 {.set_exception_handler(array($h
137ba0 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 27 29 29 3b 0a 24 70 20 andler,.'handleException'));.$p.
137bc0 3d 20 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 =.$prev[0]->setExceptionHandler(
137be0 6e 75 6c 6c 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e null);.$handler->setExceptionHan
137c00 64 6c 65 72 28 24 70 29 3b 0a 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e dler($p);.$prev[0]->setException
137c20 48 61 6e 64 6c 65 72 28 24 70 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 72 Handler($p);.}.}.else.{.$handler
137c40 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 70 72 65 76 29 3b 0a 7d 0a ->setExceptionHandler($prev);.}.
137c60 0a 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 24 6c 65 76 65 6c 73 20 26 20 24 68 61 .$handler->throwAt($levels.&.$ha
137c80 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 ndler->thrownErrors,.true);..ret
137ca0 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e urn.$handler;.}..public.function
137cc0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 20 24 62 6f .__construct(BufferingLogger.$bo
137ce0 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 otstrappingLogger.=.null).{.if.(
137d00 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 62 $bootstrappingLogger).{.$this->b
137d20 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 24 62 6f 6f 74 73 74 72 61 70 70 ootstrappingLogger.=.$bootstrapp
137d40 69 6e 67 4c 6f 67 67 65 72 3b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 ingLogger;.$this->setDefaultLogg
137d60 65 72 28 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 3b 0a 7d 0a 7d 0a 0a 0a er($bootstrappingLogger);.}.}...
137d80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 ......public.function.setDefault
137da0 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 2c 20 Logger(LoggerInterface.$logger,.
137dc0 24 6c 65 76 65 6c 73 20 3d 20 6e 75 6c 6c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 $levels.=.null,.$replace.=.false
137de0 29 0a 7b 0a 24 6c 6f 67 67 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 69 73 5f ).{.$loggers.=.array();..if.(is_
137e00 61 72 72 61 79 28 24 6c 65 76 65 6c 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 65 76 65 array($levels)).{.foreach.($leve
137e20 6c 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 4c 65 76 65 6c 29 20 7b 0a 69 66 20 28 ls.as.$type.=>.$logLevel).{.if.(
137e40 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 empty($this->loggers[$type][0]).
137e60 7c 7c 20 24 72 65 70 6c 61 63 65 20 7c 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 ||.$replace.||.$this->loggers[$t
137e80 79 70 65 5d 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 ype][0].===.$this->bootstrapping
137ea0 4c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 Logger).{.$loggers[$type].=.arra
137ec0 79 28 24 6c 6f 67 67 65 72 2c 20 24 6c 6f 67 4c 65 76 65 6c 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 y($logger,.$logLevel);.}.}.}.els
137ee0 65 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 73 29 20 7b 0a 24 6c 65 76 e.{.if.(null.===.$levels).{.$lev
137f00 65 6c 73 20 3d 20 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 3b 0a 7d 0a 66 6f 72 65 61 63 els.=.E_ALL.|.E_STRICT;.}.foreac
137f20 68 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c h.($this->loggers.as.$type.=>.$l
137f40 6f 67 29 20 7b 0a 69 66 20 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 73 29 20 26 26 20 28 og).{.if.(($type.&.$levels).&&.(
137f60 65 6d 70 74 79 28 24 6c 6f 67 5b 30 5d 29 20 7c 7c 20 24 72 65 70 6c 61 63 65 20 7c 7c 20 24 6c empty($log[0]).||.$replace.||.$l
137f80 6f 67 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f og[0].===.$this->bootstrappingLo
137fa0 67 67 65 72 29 29 20 7b 0a 24 6c 6f 67 5b 30 5d 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 24 6c 6f 67 gger)).{.$log[0].=.$logger;.$log
137fc0 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c 6f 67 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 gers[$type].=.$log;.}.}.}..$this
137fe0 2d 3e 73 65 74 4c 6f 67 67 65 72 73 28 24 6c 6f 67 67 65 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->setLoggers($loggers);.}.......
138000 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 73 28 61 ....public.function.setLoggers(a
138020 72 72 61 79 20 24 6c 6f 67 67 65 72 73 29 0a 7b 0a 24 70 72 65 76 4c 6f 67 67 65 64 20 3d 20 24 rray.$loggers).{.$prevLogged.=.$
138040 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 3b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 this->loggedErrors;.$prev.=.$thi
138060 73 2d 3e 6c 6f 67 67 65 72 73 3b 0a 24 66 6c 75 73 68 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 s->loggers;.$flush.=.array();..f
138080 6f 72 65 61 63 68 20 28 24 6c 6f 67 67 65 72 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f oreach.($loggers.as.$type.=>.$lo
1380a0 67 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 72 65 76 5b 24 74 79 70 65 5d 29 29 20 7b g).{.if.(!isset($prev[$type])).{
1380c0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 .throw.new.\InvalidArgumentExcep
1380e0 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 tion('Unknown.error.type:.'.$typ
138100 65 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6c 6f 67 29 29 20 7b 0a 24 6c 6f e);.}.if.(!is_array($log)).{.$lo
138120 67 20 3d 20 61 72 72 61 79 28 24 6c 6f 67 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 61 72 72 61 g.=.array($log);.}.elseif.(!arra
138140 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 6c 6f 67 29 29 20 7b 0a 74 68 72 6f 77 20 6e y_key_exists(0,.$log)).{.throw.n
138160 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f ew.\InvalidArgumentException('No
138180 20 6c 6f 67 67 65 72 20 70 72 6f 76 69 64 65 64 27 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d .logger.provided');.}.if.(null.=
1381a0 3d 3d 20 24 6c 6f 67 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 ==.$log[0]).{.$this->loggedError
1381c0 73 20 26 3d 20 7e 24 74 79 70 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 6f 67 5b 30 5d 20 69 s.&=.~$type;.}.elseif.($log[0].i
1381e0 6e 73 74 61 6e 63 65 6f 66 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 nstanceof.LoggerInterface).{.$th
138200 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 74 79 70 65 3b 0a 7d 20 65 6c 73 is->loggedErrors.|=.$type;.}.els
138220 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 e.{.throw.new.\InvalidArgumentEx
138240 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 6c 6f 67 67 65 72 20 70 72 6f 76 69 64 65 64 ception('Invalid.logger.provided
138260 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c ');.}.$this->loggers[$type].=.$l
138280 6f 67 20 2b 20 24 70 72 65 76 5b 24 74 79 70 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 og.+.$prev[$type];..if.($this->b
1382a0 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 26 26 20 24 70 72 65 76 5b 24 74 79 70 ootstrappingLogger.&&.$prev[$typ
1382c0 65 5d 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f e][0].===.$this->bootstrappingLo
1382e0 67 67 65 72 29 20 7b 0a 24 66 6c 75 73 68 5b 24 74 79 70 65 5d 20 3d 20 24 74 79 70 65 3b 0a 7d gger).{.$flush[$type].=.$type;.}
138300 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 4c 6f 67 67 65 64 .}.$this->reRegister($prevLogged
138320 20 7c 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 29 3b 0a 0a 69 66 20 28 24 66 .|.$this->thrownErrors);..if.($f
138340 6c 75 73 68 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 lush).{.foreach.($this->bootstra
138360 70 70 69 6e 67 4c 6f 67 67 65 72 2d 3e 63 6c 65 61 6e 4c 6f 67 73 28 29 20 61 73 20 24 6c 6f 67 ppingLogger->cleanLogs().as.$log
138380 29 20 7b 0a 24 74 79 70 65 20 3d 20 24 6c 6f 67 5b 32 5d 5b 27 74 79 70 65 27 5d 3b 0a 69 66 20 ).{.$type.=.$log[2]['type'];.if.
1383a0 28 21 69 73 73 65 74 28 24 66 6c 75 73 68 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d (!isset($flush[$type])).{.$this-
1383c0 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 6c 6f 67 5b 30 >bootstrappingLogger->log($log[0
1383e0 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ],.$log[1],.$log[2]);.}.elseif.(
138400 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 7b 0a 24 74 68 69 $this->loggers[$type][0]).{.$thi
138420 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d s->loggers[$type][0]->log($this-
138440 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f >loggers[$type][1],.$log[1],.$lo
138460 67 5b 32 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a g[2]);.}.}.}..return.$prev;.}...
138480 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 ........public.function.setExcep
1384a0 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 68 61 6e 64 6c 65 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c tionHandler($handler).{.if.(null
1384c0 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 20 26 26 20 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 68 .!==.$handler.&&.!is_callable($h
1384e0 61 6e 64 6c 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 andler)).{.throw.new.\LogicExcep
138500 74 69 6f 6e 28 27 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 20 6d 75 73 74 tion('The.exception.handler.must
138520 20 62 65 20 61 20 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 .be.a.valid.PHP.callable.');.}.$
138540 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a prev.=.$this->exceptionHandler;.
138560 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c $this->exceptionHandler.=.$handl
138580 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 er;..return.$prev;.}..........pu
1385a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 blic.function.throwAt($levels,.$
1385c0 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 replace.=.false).{.$prev.=.$this
1385e0 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 ->thrownErrors;.$this->thrownErr
138600 6f 72 73 20 3d 20 28 24 6c 65 76 65 6c 73 20 7c 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 ors.=.($levels.|.E_RECOVERABLE_E
138620 52 52 4f 52 20 7c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 29 20 26 20 7e 45 5f 55 53 45 52 5f 44 RROR.|.E_USER_ERROR).&.~E_USER_D
138640 45 50 52 45 43 41 54 45 44 20 26 20 7e 45 5f 44 45 50 52 45 43 41 54 45 44 3b 0a 69 66 20 28 21 EPRECATED.&.~E_DEPRECATED;.if.(!
138660 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 $replace).{.$this->thrownErrors.
138680 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 |=.$prev;.}.$this->reRegister($p
1386a0 72 65 76 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 0a 0a 20 24 rev.|.$this->loggedErrors);....$
1386c0 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 this->displayErrors.=.$this->thr
1386e0 6f 77 6e 45 72 72 6f 72 73 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a ownErrors;..return.$prev;.}.....
138700 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 41 74 28 24 6c 65 .....public.function.scopeAt($le
138720 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 vels,.$replace.=.false).{.$prev.
138740 3d 20 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 73 63 =.$this->scopedErrors;.$this->sc
138760 6f 70 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 opedErrors.=.(int).$levels;.if.(
138780 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 !$replace).{.$this->scopedErrors
1387a0 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a .|=.$prev;.}..return.$prev;.}...
1387c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 63 65 41 74 28 24 .......public.function.traceAt($
1387e0 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 levels,.$replace.=.false).{.$pre
138800 76 20 3d 20 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e v.=.$this->tracedErrors;.$this->
138820 74 72 61 63 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 tracedErrors.=.(int).$levels;.if
138840 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f .(!$replace).{.$this->tracedErro
138860 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a rs.|=.$prev;.}..return.$prev;.}.
138880 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 72 65 61 6d 41 .........public.function.screamA
1388a0 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 t($levels,.$replace.=.false).{.$
1388c0 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 24 74 prev.=.$this->screamedErrors;.$t
1388e0 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 his->screamedErrors.=.(int).$lev
138900 65 6c 73 3b 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 63 72 els;.if.(!$replace).{.$this->scr
138920 65 61 6d 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 eamedErrors.|=.$prev;.}..return.
138940 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 $prev;.}.....private.function.re
138960 52 65 67 69 73 74 65 72 28 24 70 72 65 76 29 0a 7b 0a 69 66 20 28 24 70 72 65 76 20 21 3d 3d 20 Register($prev).{.if.($prev.!==.
138980 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 $this->thrownErrors.|.$this->log
1389a0 67 65 64 45 72 72 6f 72 73 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 6f gedErrors).{.$handler.=.set_erro
1389c0 72 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 r_handler('var_dump');.$handler.
1389e0 3d 20 69 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b =.is_array($handler).?.$handler[
138a00 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 0].:.null;.restore_error_handler
138a20 28 29 3b 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 20 3d 3d 3d 20 24 74 68 69 73 29 20 7b 0a 72 65 ();.if.($handler.===.$this).{.re
138a40 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 24 74 68 69 73 store_error_handler();.if.($this
138a60 2d 3e 69 73 52 6f 6f 74 29 20 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 ->isRoot).{.set_error_handler(ar
138a80 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 2c 20 24 74 68 69 73 ray($this,.'handleError'),.$this
138aa0 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 ->thrownErrors.|.$this->loggedEr
138ac0 72 6f 72 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 rors);.}.else.{.set_error_handle
138ae0 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a r(array($this,.'handleError'));.
138b00 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 }.}.}.}................public.fu
138b20 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 65 73 73 61 nction.handleError($type,.$messa
138b40 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 6c 65 76 65 6c 20 3d 20 65 72 72 ge,.$file,.$line).{.$level.=.err
138b60 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 3b 0a 24 73 69 6c 65 6e 63 65 64 20 3d 20 30 20 3d 3d or_reporting();.$silenced.=.0.==
138b80 3d 20 28 24 6c 65 76 65 6c 20 26 20 24 74 79 70 65 29 3b 0a 24 6c 65 76 65 6c 20 7c 3d 20 45 5f =.($level.&.$type);.$level.|=.E_
138ba0 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 7c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 RECOVERABLE_ERROR.|.E_USER_ERROR
138bc0 20 7c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 .|.E_DEPRECATED.|.E_USER_DEPRECA
138be0 54 45 44 3b 0a 24 6c 6f 67 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 TED;.$log.=.$this->loggedErrors.
138c00 26 20 24 74 79 70 65 3b 0a 24 74 68 72 6f 77 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 &.$type;.$throw.=.$this->thrownE
138c20 72 72 6f 72 73 20 26 20 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 3b 0a 24 74 79 70 65 20 26 3d rrors.&.$type.&.$level;.$type.&=
138c40 20 24 6c 65 76 65 6c 20 7c 20 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b .$level.|.$this->screamedErrors;
138c60 0a 0a 69 66 20 28 21 24 74 79 70 65 20 7c 7c 20 28 21 24 6c 6f 67 20 26 26 20 21 24 74 68 72 6f ..if.(!$type.||.(!$log.&&.!$thro
138c80 77 29 29 20 7b 0a 72 65 74 75 72 6e 20 21 24 73 69 6c 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 w)).{.return.!$silenced.&&.$type
138ca0 20 26 26 20 24 6c 6f 67 3b 0a 7d 0a 24 73 63 6f 70 65 20 3d 20 24 74 68 69 73 2d 3e 73 63 6f 70 .&&.$log;.}.$scope.=.$this->scop
138cc0 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 3b 0a 0a 69 66 20 28 34 20 3c 20 24 6e 75 6d 41 edErrors.&.$type;..if.(4.<.$numA
138ce0 72 67 73 20 3d 20 66 75 6e 63 5f 6e 75 6d 5f 61 72 67 73 28 29 29 20 7b 0a 24 63 6f 6e 74 65 78 rgs.=.func_num_args()).{.$contex
138d00 74 20 3d 20 24 73 63 6f 70 65 20 3f 20 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 34 29 20 3f 3a t.=.$scope.?.(func_get_arg(4).?:
138d20 20 61 72 72 61 79 28 29 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 62 61 63 6b 74 72 61 63 65 20 .array()).:.array();.$backtrace.
138d40 3d 20 35 20 3c 20 24 6e 75 6d 41 72 67 73 20 3f 20 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 35 29 =.5.<.$numArgs.?.func_get_arg(5)
138d60 20 3a 20 6e 75 6c 6c 3b 20 0a 20 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 61 .:.null;...}.else.{.$context.=.a
138d80 72 72 61 79 28 29 3b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 rray();.$backtrace.=.null;.}..if
138da0 20 28 69 73 73 65 74 28 24 63 6f 6e 74 65 78 74 5b 27 47 4c 4f 42 41 4c 53 27 5d 29 20 26 26 20 .(isset($context['GLOBALS']).&&.
138dc0 24 73 63 6f 70 65 29 20 7b 0a 24 65 20 3d 20 24 63 6f 6e 74 65 78 74 3b 20 0a 20 75 6e 73 65 74 $scope).{.$e.=.$context;...unset
138de0 28 24 65 5b 27 47 4c 4f 42 41 4c 53 27 5d 2c 20 24 63 6f 6e 74 65 78 74 29 3b 20 0a 20 24 63 6f ($e['GLOBALS'],.$context);...$co
138e00 6e 74 65 78 74 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 62 61 63 ntext.=.$e;.}..if.(null.!==.$bac
138e20 6b 74 72 61 63 65 20 26 26 20 24 74 79 70 65 20 26 20 45 5f 45 52 52 4f 52 29 20 7b 0a 0a 20 0a ktrace.&&.$type.&.E_ERROR).{....
138e40 20 0a 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 63 6f 6d 70 61 ...$this->handleFatalError(compa
138e60 63 74 28 27 74 79 70 65 27 2c 20 27 6d 65 73 73 61 67 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c ct('type',.'message',.'file',.'l
138e80 69 6e 65 27 2c 20 27 62 61 63 6b 74 72 61 63 65 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 ine',.'backtrace'));..return.tru
138ea0 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 72 6f 77 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d e;.}..if.($throw).{.if.(null.!==
138ec0 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 .self::$toStringException).{.$th
138ee0 72 6f 77 20 3d 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a row.=.self::$toStringException;.
138f00 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b self::$toStringException.=.null;
138f20 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 63 6f 70 65 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 .}.elseif.($scope.&&.class_exist
138f40 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 s('Symfony\Component\Debug\Excep
138f60 74 69 6f 6e 5c 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 27 29 29 20 7b 0a tion\ContextErrorException')).{.
138f80 0a 20 24 74 68 72 6f 77 20 3d 20 6e 65 77 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 ..$throw.=.new.ContextErrorExcep
138fa0 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b 24 74 79 70 65 5d 2e 27 3a 20 27 2e 24 tion($this->levels[$type].':.'.$
138fc0 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c message,.0,.$type,.$file,.$line,
138fe0 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 72 6f 77 20 3d 20 6e 65 .$context);.}.else.{.$throw.=.ne
139000 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b w.\ErrorException($this->levels[
139020 24 74 79 70 65 5d 2e 27 3a 20 27 2e 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 $type].':.'.$message,.0,.$type,.
139040 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 $file,.$line);.}..if.(\PHP_VERSI
139060 4f 4e 5f 49 44 20 3c 3d 20 35 30 34 30 37 20 26 26 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f ON_ID.<=.50407.&&.(\PHP_VERSION_
139080 49 44 20 3e 3d 20 35 30 34 30 30 20 7c 7c 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c ID.>=.50400.||.\PHP_VERSION_ID.<
1390a0 3d 20 35 30 33 31 37 29 29 20 7b 0a 0a 20 0a 20 0a 0a 24 74 68 72 6f 77 2d 3e 65 72 72 6f 72 48 =.50317)).{.......$throw->errorH
1390c0 61 6e 64 6c 65 72 43 61 6e 61 72 79 20 3d 20 6e 65 77 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 43 andlerCanary.=.new.ErrorHandlerC
1390e0 61 6e 61 72 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 26 20 24 anary();.}..if.(E_USER_ERROR.&.$
139100 74 79 70 65 29 20 7b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 24 62 61 63 6b 74 72 61 63 65 20 type).{.$backtrace.=.$backtrace.
139120 3f 3a 20 24 74 68 72 6f 77 2d 3e 67 65 74 54 72 61 63 65 28 29 3b 0a 0a 66 6f 72 20 28 24 69 20 ?:.$throw->getTrace();..for.($i.
139140 3d 20 31 3b 20 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 29 3b 20 2b 2b 24 69 =.1;.isset($backtrace[$i]);.++$i
139160 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 ).{.if.(isset($backtrace[$i]['fu
139180 6e 63 74 69 6f 6e 27 5d 2c 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d nction'],.$backtrace[$i]['type']
1391a0 2c 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d ,.$backtrace[$i.-.1]['function']
1391c0 29 0a 26 26 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 ).&&.'__toString'.===.$backtrace
1391e0 5b 24 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 0a 26 26 20 27 2d 3e 27 20 3d 3d 3d 20 24 62 61 [$i]['function'].&&.'->'.===.$ba
139200 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 0a 26 26 20 21 69 73 73 65 74 28 24 62 cktrace[$i]['type'].&&.!isset($b
139220 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 63 6c 61 73 73 27 5d 29 0a 26 26 20 28 27 acktrace[$i.-.1]['class']).&&.('
139240 74 72 69 67 67 65 72 5f 65 72 72 6f 72 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 trigger_error'.===.$backtrace[$i
139260 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 7c 7c 20 27 75 73 65 72 5f 65 72 72 6f 72 .-.1]['function'].||.'user_error
139280 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 '.===.$backtrace[$i.-.1]['functi
1392a0 6f 6e 27 5d 29 0a 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 66 6f 72 65 61 63 68 20 28 24 on']).).{.............foreach.($
1392c0 63 6f 6e 74 65 78 74 20 61 73 20 24 65 29 20 7b 0a 69 66 20 28 28 24 65 20 69 6e 73 74 61 6e 63 context.as.$e).{.if.(($e.instanc
1392e0 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 20 7c 7c 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 eof.\Exception.||.$e.instanceof.
139300 5c 54 68 72 6f 77 61 62 6c 65 29 20 26 26 20 24 65 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 \Throwable).&&.$e->__toString().
139320 3d 3d 3d 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 69 29 20 7b 0a ===.$message).{.if.(1.===.$i).{.
139340 0a 20 24 74 68 72 6f 77 20 3d 20 24 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 73 65 6c 66 3a 3a 24 74 ..$throw.=.$e;.break;.}.self::$t
139360 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b 0a 0a 72 65 74 75 72 6e 20 74 oStringException.=.$e;..return.t
139380 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 31 20 3c 20 24 69 29 20 7b 0a 0a 20 24 74 68 69 73 2d rue;.}.}..if.(1.<.$i).{...$this-
1393a0 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 72 6f 77 29 3b 0a 0a 0a 20 72 65 74 >handleException($throw);....ret
1393c0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 74 68 72 6f 77 urn.false;.}.}.}.}..throw.$throw
1393e0 3b 0a 7d 0a 0a 0a 20 24 65 20 3d 20 6d 64 35 28 22 7b 24 74 79 70 65 7d 2f 7b 24 6c 69 6e 65 7d ;.}....$e.=.md5("{$type}/{$line}
139400 2f 7b 24 66 69 6c 65 7d 5c 78 30 30 7b 24 6d 65 73 73 61 67 65 7d 22 2c 20 74 72 75 65 29 3b 0a /{$file}\x00{$message}",.true);.
139420 24 74 72 61 63 65 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 28 21 28 24 74 68 69 73 2d 3e 74 72 61 $trace.=.true;..if.(!($this->tra
139440 63 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 cedErrors.&.$type).||.isset($thi
139460 73 2d 3e 6c 6f 67 67 65 64 54 72 61 63 65 73 5b 24 65 5d 29 29 20 7b 0a 24 74 72 61 63 65 20 3d s->loggedTraces[$e])).{.$trace.=
139480 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 54 72 .false;.}.else.{.$this->loggedTr
1394a0 61 63 65 73 5b 24 65 5d 20 3d 20 31 3b 0a 7d 0a 0a 24 65 20 3d 20 63 6f 6d 70 61 63 74 28 27 74 aces[$e].=.1;.}..$e.=.compact('t
1394c0 79 70 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c 69 6e 65 27 2c 20 27 6c 65 76 65 6c 27 29 3b 0a ype',.'file',.'line',.'level');.
1394e0 0a 69 66 20 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 20 7b 0a 69 66 20 28 24 73 63 6f 70 .if.($type.&.$level).{.if.($scop
139500 65 29 20 7b 0a 24 65 5b 27 73 63 6f 70 65 5f 76 61 72 73 27 5d 20 3d 20 24 63 6f 6e 74 65 78 74 e).{.$e['scope_vars'].=.$context
139520 3b 0a 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 24 62 ;.if.($trace).{.$e['stack'].=.$b
139540 61 63 6b 74 72 61 63 65 20 3f 3a 20 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 42 55 acktrace.?:.debug_backtrace(DEBU
139560 47 5f 42 41 43 4b 54 52 41 43 45 5f 50 52 4f 56 49 44 45 5f 4f 42 4a 45 43 54 29 3b 0a 7d 0a 7d G_BACKTRACE_PROVIDE_OBJECT);.}.}
139580 20 65 6c 73 65 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 .elseif.($trace).{.if.(null.===.
1395a0 24 62 61 63 6b 74 72 61 63 65 29 20 7b 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 64 65 62 75 $backtrace).{.$e['stack'].=.debu
1395c0 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 49 47 4e 4f g_backtrace(DEBUG_BACKTRACE_IGNO
1395e0 52 45 5f 41 52 47 53 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 62 61 63 RE_ARGS);.}.else.{.foreach.($bac
139600 6b 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 66 72 61 6d ktrace.as.&$frame).{.unset($fram
139620 65 5b 27 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 29 3b 0a 7d 0a 24 65 5b 27 73 74 61 63 6b 27 e['args'],.$frame);.}.$e['stack'
139640 5d 20 3d 20 24 62 61 63 6b 74 72 61 63 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 ].=.$backtrace;.}.}.}..if.($this
139660 2d 3e 69 73 52 65 63 75 72 73 69 76 65 29 20 7b 0a 24 6c 6f 67 20 3d 20 30 3b 0a 7d 20 65 6c 73 ->isRecursive).{.$log.=.0;.}.els
139680 65 69 66 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 20 eif.(self::$stackedErrorLevels).
1396a0 7b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 {.self::$stackedErrors[].=.array
1396c0 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2c 20 28 24 74 79 70 ($this->loggers[$type][0],.($typ
1396e0 65 20 26 20 24 6c 65 76 65 6c 29 20 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 e.&.$level).?.$this->loggers[$ty
139700 70 65 5d 5b 31 5d 20 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 pe][1].:.LogLevel::DEBUG,.$messa
139720 67 65 2c 20 24 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 69 ge,.$e);.}.else.{.try.{.$this->i
139740 73 52 65 63 75 72 73 69 76 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 sRecursive.=.true;.$this->logger
139760 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c s[$type][0]->log(($type.&.$level
139780 29 20 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 20 3a 20 4c ).?.$this->loggers[$type][1].:.L
1397a0 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b 0a 24 ogLevel::DEBUG,.$message,.$e);.$
1397c0 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 63 61 74 this->isRecursive.=.false;.}.cat
1397e0 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 ch.(\Exception.$e).{.$this->isRe
139800 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 cursive.=.false;..throw.$e;.}.ca
139820 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 tch.(\Throwable.$e).{.$this->isR
139840 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d ecursive.=.false;..throw.$e;.}.}
139860 0a 0a 72 65 74 75 72 6e 20 21 24 73 69 6c 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 20 26 26 20 ..return.!$silenced.&&.$type.&&.
139880 24 6c 6f 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $log;.}..........public.function
1398a0 20 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 61 72 72 .handleException($exception,.arr
1398c0 61 79 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d ay.$error.=.null).{.if.(null.===
1398e0 20 24 65 72 72 6f 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 .$error).{.self::$exitCode.=.255
139900 3b 0a 7d 0a 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c ;.}.if.(!$exception.instanceof.\
139920 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 Exception).{.$exception.=.new.Fa
139940 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d talThrowableError($exception);.}
139960 0a 24 74 79 70 65 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 .$type.=.$exception.instanceof.F
139980 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 3f 20 24 65 78 63 65 70 74 69 6f 6e 2d atalErrorException.?.$exception-
1399a0 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 20 3a 20 45 5f 45 52 52 4f 52 3b 0a 24 68 61 6e 64 6c >getSeverity().:.E_ERROR;.$handl
1399c0 65 72 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 28 24 74 68 69 73 2d erException.=.null;..if.(($this-
1399e0 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7c 7c 20 24 65 78 63 65 70 >loggedErrors.&.$type).||.$excep
139a00 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 tion.instanceof.FatalThrowableEr
139a20 72 6f 72 29 20 7b 0a 24 65 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 24 74 79 ror).{.$e.=.array(.'type'.=>.$ty
139a40 70 65 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 46 69 6c pe,.'file'.=>.$exception->getFil
139a60 65 28 29 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 e(),.'line'.=>.$exception->getLi
139a80 6e 65 28 29 2c 0a 27 6c 65 76 65 6c 27 20 3d 3e 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 ne(),.'level'.=>.error_reporting
139aa0 28 29 2c 0a 27 73 74 61 63 6b 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 (),.'stack'.=>.$exception->getTr
139ac0 61 63 65 28 29 2c 0a 29 3b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 ace(),.);.if.($exception.instanc
139ae0 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 eof.FatalErrorException).{.if.($
139b00 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 exception.instanceof.FatalThrowa
139b20 62 6c 65 45 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 bleError).{.$error.=.array(.'typ
139b40 65 27 20 3d 3e 20 24 74 79 70 65 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 e'.=>.$type,.'message'.=>.$messa
139b60 67 65 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 ge.=.$exception->getMessage(),.'
139b80 66 69 6c 65 27 20 3d 3e 20 24 65 5b 27 66 69 6c 65 27 5d 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 file'.=>.$e['file'],.'line'.=>.$
139ba0 65 5b 27 6c 69 6e 65 27 5d 2c 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 e['line'],.);.}.else.{.$message.
139bc0 3d 20 27 46 61 74 61 6c 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 =.'Fatal.'.$exception->getMessag
139be0 65 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 e();.}.}.elseif.($exception.inst
139c00 61 6e 63 65 6f 66 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 6d 65 73 73 61 anceof.\ErrorException).{.$messa
139c20 67 65 20 3d 20 27 55 6e 63 61 75 67 68 74 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 ge.=.'Uncaught.'.$exception->get
139c40 4d 65 73 73 61 67 65 28 29 3b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e Message();.if.($exception.instan
139c60 63 65 6f 66 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 ceof.ContextErrorException).{.$e
139c80 5b 27 63 6f 6e 74 65 78 74 27 5d 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6e ['context'].=.$exception->getCon
139ca0 74 65 78 74 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 text();.}.}.else.{.$message.=.'U
139cc0 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 3a 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d ncaught.Exception:.'.$exception-
139ce0 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f >getMessage();.}.}.if.($this->lo
139d00 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 ggedErrors.&.$type).{.try.{.$thi
139d20 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d s->loggers[$type][0]->log($this-
139d40 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 >loggers[$type][1],.$message,.$e
139d60 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 68 61 6e 64 6c 65 72 45 );.}.catch.(\Exception.$handlerE
139d80 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 xception).{.}.catch.(\Throwable.
139da0 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 0a 7d 0a 69 66 20 28 24 65 78 $handlerException).{.}.}.if.($ex
139dc0 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 ception.instanceof.FatalErrorExc
139de0 65 70 74 69 6f 6e 20 26 26 20 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 eption.&&.!$exception.instanceof
139e00 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 72 72 6f 72 29 .OutOfMemoryException.&&.$error)
139e20 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 46 61 74 61 6c 45 72 72 6f 72 .{.foreach.($this->getFatalError
139e40 48 61 6e 64 6c 65 72 73 28 29 20 61 73 20 24 68 61 6e 64 6c 65 72 29 20 7b 0a 69 66 20 28 24 65 Handlers().as.$handler).{.if.($e
139e60 20 3d 20 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 65 72 72 6f 72 2c .=.$handler->handleError($error,
139e80 20 24 65 78 63 65 70 74 69 6f 6e 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b .$exception)).{.$exception.=.$e;
139ea0 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 .break;.}.}.}.$exceptionHandler.
139ec0 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 24 74 68 69 73 =.$this->exceptionHandler;.$this
139ee0 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 74 72 79 20 7b ->exceptionHandler.=.null;.try.{
139f00 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 29 .if.(null.!==.$exceptionHandler)
139f20 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 65 78 63 65 70 .{.return.\call_user_func($excep
139f40 74 69 6f 6e 48 61 6e 64 6c 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 24 68 61 6e tionHandler,.$exception);.}.$han
139f60 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 20 3d 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f dlerException.=.$handlerExceptio
139f80 6e 20 3f 3a 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 n.?:.$exception;.}.catch.(\Excep
139fa0 74 69 6f 6e 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 63 61 74 63 tion.$handlerException).{.}.catc
139fc0 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 h.(\Throwable.$handlerException)
139fe0 20 7b 0a 7d 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 72 .{.}.if.($exception.===.$handler
13a000 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f Exception).{.self::$reservedMemo
13a020 72 79 20 3d 20 6e 75 6c 6c 3b 20 0a 20 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 20 0a ry.=.null;...throw.$exception;..
13a040 20 7d 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c .}.$this->handleException($handl
13a060 65 72 45 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 erException);.}.........public.s
13a080 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 tatic.function.handleFatalError(
13a0a0 61 72 72 61 79 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 array.$error.=.null).{.if.(null.
13a0c0 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b 0a 72 65 74 ===.self::$reservedMemory).{.ret
13a0e0 75 72 6e 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 urn;.}..$handler.=.self::$reserv
13a100 65 64 4d 65 6d 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 edMemory.=.null;.$handlers.=.arr
13a120 61 79 28 29 3b 0a 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 ay();.$previousHandler.=.null;.$
13a140 73 61 6d 65 48 61 6e 64 6c 65 72 4c 69 6d 69 74 20 3d 20 31 30 3b 0a 0a 77 68 69 6c 65 20 28 21 sameHandlerLimit.=.10;..while.(!
13a160 69 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 7c 7c 20 21 24 68 61 6e 64 6c 65 72 5b is_array($handler).||.!$handler[
13a180 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 0].instanceof.self).{.$handler.=
13a1a0 20 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 .set_exception_handler('var_dump
13a1c0 27 29 3b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b ');.restore_exception_handler();
13a1e0 0a 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 72 65 73 74 ..if.(!$handler).{.break;.}.rest
13a200 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 24 68 ore_exception_handler();..if.($h
13a220 61 6e 64 6c 65 72 20 21 3d 3d 20 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 29 20 7b 0a 61 andler.!==.$previousHandler).{.a
13a240 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 68 61 6e 64 6c 65 72 73 2c 20 24 68 61 6e 64 6c 65 72 rray_unshift($handlers,.$handler
13a260 29 3b 0a 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a );.$previousHandler.=.$handler;.
13a280 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 2d 2d 24 73 61 6d 65 48 61 6e 64 6c 65 72 4c 69 }.elseif.(0.===.--$sameHandlerLi
13a2a0 6d 69 74 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d mit).{.$handler.=.null;.break;.}
13a2c0 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 68 61 6e 64 6c 65 72 73 20 61 73 20 24 68 29 20 7b 0a 73 .}.foreach.($handlers.as.$h).{.s
13a2e0 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 24 68 29 3b 0a 7d 0a 69 66 20 28 et_exception_handler($h);.}.if.(
13a300 21 24 68 61 6e 64 6c 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 68 61 6e 64 !$handler).{.return;.}.if.($hand
13a320 6c 65 72 20 21 3d 3d 20 24 68 29 20 7b 0a 24 68 61 6e 64 6c 65 72 5b 30 5d 2d 3e 73 65 74 45 78 ler.!==.$h).{.$handler[0]->setEx
13a340 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 68 29 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 20 3d ceptionHandler($h);.}.$handler.=
13a360 20 24 68 61 6e 64 6c 65 72 5b 30 5d 3b 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 61 79 28 .$handler[0];.$handlers.=.array(
13a380 29 3b 0a 0a 69 66 20 28 24 65 78 69 74 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 29 );..if.($exit.=.null.===.$error)
13a3a0 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 7d 0a .{.$error.=.error_get_last();.}.
13a3c0 0a 74 72 79 20 7b 0a 77 68 69 6c 65 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f .try.{.while.(self::$stackedErro
13a3e0 72 4c 65 76 65 6c 73 29 20 7b 0a 73 74 61 74 69 63 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 rLevels).{.static::unstackErrors
13a400 28 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 ();.}.}.catch.(\Exception.$excep
13a420 74 69 6f 6e 29 20 7b 0a 0a 20 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 tion).{...}.catch.(\Throwable.$e
13a440 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 20 26 26 20 24 xception).{...}..if.($error.&&.$
13a460 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 20 26 3d 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 error['type'].&=.E_PARSE.|.E_ERR
13a480 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 OR.|.E_CORE_ERROR.|.E_COMPILE_ER
13a4a0 52 4f 52 29 20 7b 0a 0a 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 ROR).{...$handler->throwAt(0,.tr
13a4c0 75 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 62 61 63 6b ue);.$trace.=.isset($error['back
13a4e0 74 72 61 63 65 27 5d 29 20 3f 20 24 65 72 72 6f 72 5b 27 62 61 63 6b 74 72 61 63 65 27 5d 20 3a trace']).?.$error['backtrace'].:
13a500 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b .null;..if.(0.===.strpos($error[
13a520 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 41 6c 6c 6f 77 65 64 20 6d 65 6d 6f 72 79 27 29 20 7c 7c 'message'],.'Allowed.memory').||
13a540 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c .0.===.strpos($error['message'],
13a560 20 27 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 27 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 .'Out.of.memory')).{.$exception.
13a580 3d 20 6e 65 77 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 =.new.OutOfMemoryException($hand
13a5a0 6c 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 5d 2e 27 3a 20 27 ler->levels[$error['type']].':.'
13a5c0 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 30 2c 20 24 65 72 72 6f 72 5b 27 74 .$error['message'],.0,.$error['t
13a5e0 79 70 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 66 69 6c 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6c ype'],.$error['file'],.$error['l
13a600 69 6e 65 27 5d 2c 20 32 2c 20 66 61 6c 73 65 2c 20 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 ine'],.2,.false,.$trace);.}.else
13a620 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 74 61 6c 45 72 72 6f 72 45 78 .{.$exception.=.new.FatalErrorEx
13a640 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 65 72 72 6f 72 5b ception($handler->levels[$error[
13a660 27 74 79 70 65 27 5d 5d 2e 27 3a 20 27 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 'type']].':.'.$error['message'],
13a680 20 30 2c 20 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 66 69 6c 65 .0,.$error['type'],.$error['file
13a6a0 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6c 69 6e 65 27 5d 2c 20 32 2c 20 74 72 75 65 2c 20 24 74 72 '],.$error['line'],.2,.true,.$tr
13a6c0 61 63 65 29 3b 0a 7d 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 65 78 63 65 ace);.}.}..try.{.if.(isset($exce
13a6e0 70 74 69 6f 6e 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b ption)).{.self::$exitCode.=.255;
13a700 0a 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 .$handler->handleException($exce
13a720 70 74 69 6f 6e 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 46 61 74 61 6c ption,.$error);.}.}.catch.(Fatal
13a740 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 69 66 20 28 24 65 ErrorException.$e).{...}..if.($e
13a760 78 69 74 20 26 26 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 78 69 74 43 xit.&&.self::$exitCode).{.$exitC
13a780 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 3b 0a 72 65 67 69 73 74 65 72 5f ode.=.self::$exitCode;.register_
13a7a0 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 27 72 65 67 69 73 74 65 72 5f 73 68 75 74 shutdown_function('register_shut
13a7c0 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 down_function',.function.().use.
13a7e0 28 24 65 78 69 74 43 6f 64 65 29 20 7b 20 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 20 7d ($exitCode).{.exit($exitCode);.}
13a800 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 );.}.}.............public.static
13a820 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a 73 65 6c 66 3a 3a .function.stackErrors().{.self::
13a840 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 5b 5d 20 3d 20 65 72 72 6f 72 5f 72 65 $stackedErrorLevels[].=.error_re
13a860 70 6f 72 74 69 6e 67 28 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 7c 20 45 5f 50 41 porting(error_reporting().|.E_PA
13a880 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 RSE.|.E_ERROR.|.E_CORE_ERROR.|.E
13a8a0 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 _COMPILE_ERROR);.}.....public.st
13a8c0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a atic.function.unstackErrors().{.
13a8e0 24 6c 65 76 65 6c 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 $level.=.array_pop(self::$stacke
13a900 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6c 65 dErrorLevels);..if.(null.!==.$le
13a920 76 65 6c 29 20 7b 0a 24 65 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 6c 65 76 vel).{.$e.=.error_reporting($lev
13a940 65 6c 29 3b 0a 69 66 20 28 24 65 20 21 3d 3d 20 28 24 6c 65 76 65 6c 20 7c 20 45 5f 50 41 52 53 el);.if.($e.!==.($level.|.E_PARS
13a960 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 E.|.E_ERROR.|.E_CORE_ERROR.|.E_C
13a980 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 29 20 7b 0a 0a 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 OMPILE_ERROR)).{...error_reporti
13a9a0 6e 67 28 24 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 ng($e);.}.}..if.(empty(self::$st
13a9c0 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 73 ackedErrorLevels)).{.$errors.=.s
13a9e0 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 3b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 elf::$stackedErrors;.self::$stac
13aa00 6b 65 64 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 kedErrors.=.array();..foreach.($
13aa20 65 72 72 6f 72 73 20 61 73 20 24 65 29 20 7b 0a 24 65 5b 30 5d 2d 3e 6c 6f 67 28 24 65 5b 31 5d errors.as.$e).{.$e[0]->log($e[1]
13aa40 2c 20 24 65 5b 32 5d 2c 20 24 65 5b 33 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ,.$e[2],.$e[3]);.}.}.}.........p
13aa60 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 74 61 6c 45 72 72 6f 72 48 rotected.function.getFatalErrorH
13aa80 61 6e 64 6c 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 20 55 6e andlers().{.return.array(.new.Un
13aaa0 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 definedFunctionFatalErrorHandler
13aac0 28 29 2c 0a 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f (),.new.UndefinedMethodFatalErro
13aae0 72 48 61 6e 64 6c 65 72 28 29 2c 0a 6e 65 77 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 rHandler(),.new.ClassNotFoundFat
13ab00 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 alErrorHandler(),.);.}.........p
13ab20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 65 76 65 6c 28 24 6c 65 76 65 6c 29 0a ublic.function.setLevel($level).
13ab40 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 {.@trigger_error('The.'.__METHOD
13ab60 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 __.'.method.is.deprecated.since.
13ab80 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.6.and.will.be.removed.
13aba0 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 74 68 72 6f 77 41 74 28 29 20 6d 65 74 68 6f 64 in.3.0..Use.the.throwAt().method
13abc0 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a .instead.',.E_USER_DEPRECATED);.
13abe0 0a 24 6c 65 76 65 6c 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 20 3f 20 65 72 72 6f .$level.=.null.===.$level.?.erro
13ac00 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 3a 20 24 6c 65 76 65 6c 3b 0a 24 74 68 69 73 2d 3e 74 r_reporting().:.$level;.$this->t
13ac20 68 72 6f 77 41 74 28 24 6c 65 76 65 6c 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a hrowAt($level,.true);.}.........
13ac40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 70 6c 61 79 45 72 72 6f 72 73 public.function.setDisplayErrors
13ac60 28 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f ($displayErrors).{.@trigger_erro
13ac80 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 r('The.'.__METHOD__.'.method.is.
13aca0 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 deprecated.since.Symfony.2.6.and
13acc0 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 .will.be.removed.in.3.0..Use.the
13ace0 20 74 68 72 6f 77 41 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 .throwAt().method.instead.',.E_U
13ad00 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 SER_DEPRECATED);..if.($displayEr
13ad20 72 6f 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 41 74 28 24 74 68 69 73 2d 3e 64 69 rors).{.$this->throwAt($this->di
13ad40 73 70 6c 61 79 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 splayErrors,.true);.}.else.{.$di
13ad60 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f splayErrors.=.$this->displayErro
13ad80 72 73 3b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 24 74 68 rs;.$this->throwAt(0,.true);.$th
13ada0 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 64 69 73 70 6c 61 79 45 72 72 6f is->displayErrors.=.$displayErro
13adc0 72 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 rs;.}.}..........public.static.f
13ade0 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 unction.setLogger(LoggerInterfac
13ae00 65 20 24 6c 6f 67 67 65 72 2c 20 24 63 68 61 6e 6e 65 6c 20 3d 20 27 64 65 70 72 65 63 61 74 69 e.$logger,.$channel.=.'deprecati
13ae20 6f 6e 27 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d on').{.@trigger_error('The.'.__M
13ae40 45 54 48 4f 44 5f 5f 2e 27 20 73 74 61 74 69 63 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 ETHOD__.'.static.method.is.depre
13ae60 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c cated.since.Symfony.2.6.and.will
13ae80 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 74 4c .be.removed.in.3.0..Use.the.setL
13aea0 6f 67 67 65 72 73 28 29 20 6f 72 20 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 29 20 6d oggers().or.setDefaultLogger().m
13aec0 65 74 68 6f 64 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 ethods.instead.',.E_USER_DEPRECA
13aee0 54 45 44 29 3b 0a 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 TED);..$handler.=.set_error_hand
13af00 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 69 73 5f 61 ler('var_dump');.$handler.=.is_a
13af20 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b 30 5d 20 3a 20 6e rray($handler).?.$handler[0].:.n
13af40 75 6c 6c 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 ull;.restore_error_handler();.if
13af60 20 28 21 24 68 61 6e 64 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 .(!$handler.instanceof.self).{.r
13af80 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 27 64 65 70 72 65 63 61 74 69 6f 6e 27 20 3d 3d 3d 20 24 eturn;.}.if.('deprecation'.===.$
13afa0 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c channel).{.$handler->setDefaultL
13afc0 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f ogger($logger,.E_DEPRECATED.|.E_
13afe0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c 65 72 USER_DEPRECATED,.true);.$handler
13b000 2d 3e 73 63 72 65 61 6d 41 74 28 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 ->screamAt(E_DEPRECATED.|.E_USER
13b020 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 63 72 65 61 6d 27 _DEPRECATED);.}.elseif.('scream'
13b040 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 .===.$channel).{.$handler->setDe
13b060 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 5f 41 4c 4c 20 7c 20 45 5f 53 faultLogger($logger,.E_ALL.|.E_S
13b080 54 52 49 43 54 2c 20 66 61 6c 73 65 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 63 72 65 61 6d 41 TRICT,.false);.$handler->screamA
13b0a0 74 28 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 t(E_ALL.|.E_STRICT);.}.elseif.('
13b0c0 65 6d 65 72 67 65 6e 63 79 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 emergency'.===.$channel).{.$hand
13b0e0 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 ler->setDefaultLogger($logger,.E
13b100 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 _PARSE.|.E_ERROR.|.E_CORE_ERROR.
13b120 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c |.E_COMPILE_ERROR,.true);.$handl
13b140 65 72 2d 3e 73 63 72 65 61 6d 41 74 28 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c er->screamAt(E_PARSE.|.E_ERROR.|
13b160 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 .E_CORE_ERROR.|.E_COMPILE_ERROR)
13b180 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 ;.}.}.....public.function.handle
13b1a0 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 20 3d 20 27 75 6e 6b 6e ($level,.$message,.$file.=.'unkn
13b1c0 6f 77 6e 27 2c 20 24 6c 69 6e 65 20 3d 20 30 2c 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 own',.$line.=.0,.$context.=.arra
13b1e0 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 45 5f 55 53 45 52 y()).{.$this->handleError(E_USER
13b200 5f 44 45 50 52 45 43 41 54 45 44 2c 20 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 _DEPRECATED,.'The.'.__METHOD__.'
13b220 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 .method.is.deprecated.since.Symf
13b240 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 ony.2.6.and.will.be.removed.in.3
13b260 2e 30 2e 20 55 73 65 20 74 68 65 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 29 20 6d 65 74 68 6f 64 .0..Use.the.handleError().method
13b280 20 69 6e 73 74 65 61 64 2e 27 2c 20 5f 5f 46 49 4c 45 5f 5f 2c 20 5f 5f 4c 49 4e 45 5f 5f 2c 20 .instead.',.__FILE__,.__LINE__,.
13b2a0 61 72 72 61 79 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 array());..return.$this->handleE
13b2c0 72 72 6f 72 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c rror($level,.$message,.$file,.$l
13b2e0 69 6e 65 2c 20 28 61 72 72 61 79 29 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ine,.(array).$context);.}.......
13b300 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 46 61 74 61 6c 28 29 0a 7b 0a public.function.handleFatal().{.
13b320 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f @trigger_error('The.'.__METHOD__
13b340 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 .'.method.is.deprecated.since.Sy
13b360 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e mfony.2.6.and.will.be.removed.in
13b380 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 29 .3.0..Use.the.handleFatalError()
13b3a0 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 .method.instead.',.E_USER_DEPREC
13b3c0 41 54 45 44 29 3b 0a 0a 73 74 61 74 69 63 3a 3a 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 ATED);..static::handleFatalError
13b3e0 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c ();.}.}.........class.ErrorHandl
13b400 65 72 43 61 6e 61 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 69 73 70 6c erCanary.{.private.static.$displ
13b420 61 79 45 72 72 6f 72 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ayErrors.=.null;..public.functio
13b440 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 n.__construct().{.if.(null.===.s
13b460 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 69 elf::$displayErrors).{.self::$di
13b480 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 splayErrors.=.ini_set('display_e
13b4a0 72 72 6f 72 73 27 2c 20 31 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rrors',.1);.}.}..public.function
13b4c0 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c .__destruct().{.if.(null.!==.sel
13b4e0 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 64 69 f::$displayErrors).{.ini_set('di
13b500 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 splay_errors',.self::$displayErr
13b520 6f 72 73 29 3b 0a 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 6e 75 6c ors);.self::$displayErrors.=.nul
13b540 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 l;.}.}.}.<?php...........namespa
13b560 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 ce.Symfony\Component\Debug\Excep
13b580 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 tion;.......class.ClassNotFoundE
13b5a0 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 xception.extends.FatalErrorExcep
13b5c0 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 tion.{.public.function.__constru
13b5e0 63 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 ct($message,.\ErrorException.$pr
13b600 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 evious).{.parent::__construct(.$
13b620 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 message,.$previous->getCode(),.$
13b640 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f previous->getSeverity(),.$previo
13b660 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e us->getFile(),.$previous->getLin
13b680 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 e(),.null,.true,.null,.$previous
13b6a0 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 ->getPrevious().);.$this->setTra
13b6c0 63 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c ce($previous->getTrace());.}.}.<
13b6e0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
13b700 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a \Component\Debug\Exception;.....
13b720 0a 0a 63 6c 61 73 73 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 78 ..class.ContextErrorException.ex
13b740 74 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 tends.\ErrorException.{.private.
13b760 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $context.=.array();..public.func
13b780 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 tion.__construct($message,.$code
13b7a0 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c ,.$severity,.$filename,.$lineno,
13b7c0 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f .$context.=.array()).{.parent::_
13b7e0 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 _construct($message,.$code,.$sev
13b800 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 29 3b 0a 24 74 68 69 erity,.$filename,.$lineno);.$thi
13b820 73 2d 3e 63 6f 6e 74 65 78 74 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->context.=.$context;.}.....pub
13b840 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 74 28 29 0a 7b 0a 72 65 74 75 lic.function.getContext().{.retu
13b860 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a rn.$this->context;.}.}.<?php....
13b880 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
13b8a0 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 nt\Debug\Exception;..@trigger_er
13b8c0 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 44 75 6d 6d 79 ror('The.'.__NAMESPACE__.'\Dummy
13b8e0 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 Exception.class.is.deprecated.si
13b900 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.5.and.will.be.remo
13b920 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
13b940 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 ;.......class.DummyException.ext
13b960 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a ends.\ErrorException.{.}.<?php..
13b980 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
13b9a0 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a nent\HttpKernel\Exception;......
13b9c0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 .....class.FatalErrorException.e
13b9e0 78 74 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 0a 6e 61 6d 65 xtends.\ErrorException.{.}..name
13ba00 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 space.Symfony\Component\Debug\Ex
13ba20 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ception;..use.Symfony\Component\
13ba40 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 HttpKernel\Exception\FatalErrorE
13ba60 78 63 65 70 74 69 6f 6e 20 61 73 20 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 xception.as.LegacyFatalErrorExce
13ba80 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 ption;.......class.FatalErrorExc
13baa0 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 eption.extends.LegacyFatalErrorE
13bac0 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e xception.{.public.function.__con
13bae0 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 struct($message,.$code,.$severit
13bb00 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 74 72 61 63 65 4f 66 66 y,.$filename,.$lineno,.$traceOff
13bb20 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 63 65 41 72 67 73 20 3d 20 74 72 75 65 2c 20 61 set.=.null,.$traceArgs.=.true,.a
13bb40 72 72 61 79 20 24 74 72 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 76 69 6f 75 73 20 3d 20 rray.$trace.=.null,.$previous.=.
13bb60 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 null).{.parent::__construct($mes
13bb80 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d sage,.$code,.$severity,.$filenam
13bba0 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 0a 69 66 20 28 6e 75 6c e,.$lineno,.$previous);..if.(nul
13bbc0 6c 20 21 3d 3d 20 24 74 72 61 63 65 29 20 7b 0a 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 l.!==.$trace).{.if.(!$traceArgs)
13bbe0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b .{.foreach.($trace.as.&$frame).{
13bc00 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 74 .unset($frame['args'],.$frame['t
13bc20 68 69 73 27 5d 2c 20 24 66 72 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 his'],.$frame);.}.}..$this->setT
13bc40 72 61 63 65 28 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 21 3d 3d race($trace);.}.elseif.(null.!==
13bc60 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 .$traceOffset).{.if.(function_ex
13bc80 69 73 74 73 28 27 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 69 6f 6e 5f 73 74 61 63 6b 27 ists('xdebug_get_function_stack'
13bca0 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 69 6f )).{.$trace.=.xdebug_get_functio
13bcc0 6e 5f 73 74 61 63 6b 28 29 3b 0a 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 n_stack();.if.(0.<.$traceOffset)
13bce0 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 2d 24 74 72 61 63 65 4f .{.array_splice($trace,.-$traceO
13bd00 66 66 73 65 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 26 24 ffset);.}..foreach.($trace.as.&$
13bd20 66 72 61 6d 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 74 79 70 65 frame).{.if.(!isset($frame['type
13bd40 27 5d 29 29 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 63 6c 61 73 73 '])).{...if.(isset($frame['class
13bd60 27 5d 29 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b 0a 7d 0a '])).{.$frame['type'].=.'::';.}.
13bd80 7d 20 65 6c 73 65 69 66 20 28 27 64 79 6e 61 6d 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b 27 }.elseif.('dynamic'.===.$frame['
13bda0 74 79 70 65 27 5d 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 2d 3e 27 3b type']).{.$frame['type'].=.'->';
13bdc0 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 74 61 74 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b 27 .}.elseif.('static'.===.$frame['
13bde0 74 79 70 65 27 5d 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b type']).{.$frame['type'].=.'::';
13be00 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 20 7b 0a 75 6e 73 65 74 28 24 .}....if.(!$traceArgs).{.unset($
13be20 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 frame['params'],.$frame['args'])
13be40 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 ;.}.elseif.(isset($frame['params
13be60 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 29 20 7b ']).&&.!isset($frame['args'])).{
13be80 0a 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 20 3d 20 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 .$frame['args'].=.$frame['params
13bea0 27 5d 3b 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 29 3b 0a 7d 0a 7d '];.unset($frame['params']);.}.}
13bec0 0a 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 61 72 72 61 79 5f ..unset($frame);.$trace.=.array_
13bee0 72 65 76 65 72 73 65 28 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 reverse($trace);.}.elseif.(funct
13bf00 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 79 6d 66 6f 6e 79 5f 64 65 62 75 67 5f 62 61 63 6b 74 72 ion_exists('symfony_debug_backtr
13bf20 61 63 65 27 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 73 79 6d 66 6f 6e 79 5f 64 65 62 75 67 5f ace')).{.$trace.=.symfony_debug_
13bf40 62 61 63 6b 74 72 61 63 65 28 29 3b 0a 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 backtrace();.if.(0.<.$traceOffse
13bf60 74 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 30 2c 20 24 74 72 t).{.array_splice($trace,.0,.$tr
13bf80 61 63 65 4f 66 66 73 65 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 61 63 65 20 3d 20 aceOffset);.}.}.else.{.$trace.=.
13bfa0 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 74 72 61 array();.}..$this->setTrace($tra
13bfc0 63 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ce);.}.}..protected.function.set
13bfe0 54 72 61 63 65 28 24 74 72 61 63 65 29 0a 7b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f 72 20 Trace($trace).{.$traceReflector.
13c000 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 72 6f 70 65 72 74 79 28 27 45 78 63 65 70 =.new.\ReflectionProperty('Excep
13c020 74 69 6f 6e 27 2c 20 27 74 72 61 63 65 27 29 3b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f 72 tion',.'trace');.$traceReflector
13c040 2d 3e 73 65 74 41 63 63 65 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 24 74 72 61 63 65 52 65 66 ->setAccessible(true);.$traceRef
13c060 6c 65 63 74 6f 72 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2c 20 24 74 72 61 63 65 29 3b lector->setValue($this,.$trace);
13c080 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
13c0a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e ymfony\Component\Debug\Exception
13c0c0 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f ;.......class.FatalThrowableErro
13c0e0 72 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a r.extends.FatalErrorException.{.
13c100 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 54 68 72 public.function.__construct(\Thr
13c120 6f 77 61 62 6c 65 20 24 65 29 0a 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c owable.$e).{.if.($e.instanceof.\
13c140 50 61 72 73 65 45 72 72 6f 72 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 61 72 73 65 20 ParseError).{.$message.=.'Parse.
13c160 65 72 72 6f 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 73 65 76 65 error:.'.$e->getMessage();.$seve
13c180 72 69 74 79 20 3d 20 45 5f 50 41 52 53 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 20 69 6e 73 rity.=.E_PARSE;.}.elseif.($e.ins
13c1a0 74 61 6e 63 65 6f 66 20 5c 54 79 70 65 45 72 72 6f 72 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d tanceof.\TypeError).{.$message.=
13c1c0 20 27 54 79 70 65 20 65 72 72 6f 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 .'Type.error:.'.$e->getMessage()
13c1e0 3b 0a 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f ;.$severity.=.E_RECOVERABLE_ERRO
13c200 52 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 4d 65 R;.}.else.{.$message.=.$e->getMe
13c220 73 73 61 67 65 28 29 3b 0a 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 45 52 52 4f 52 3b 0a 7d 0a ssage();.$severity.=.E_ERROR;.}.
13c240 0a 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 .\ErrorException::__construct(.$
13c260 6d 65 73 73 61 67 65 2c 0a 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 73 65 76 65 72 69 74 message,.$e->getCode(),.$severit
13c280 79 2c 0a 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 2c y,.$e->getFile(),.$e->getLine(),
13c2a0 0a 24 65 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 .$e->getPrevious().);..$this->se
13c2c0 74 54 72 61 63 65 28 24 65 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 tTrace($e->getTrace());.}.}.<?ph
13c2e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
13c300 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 mponent\HttpKernel\Exception;..u
13c320 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 se.Symfony\Component\Debug\Excep
13c340 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 20 44 65 62 75 67 46 6c tion\FlattenException.as.DebugFl
13c360 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 attenException;...........class.
13c380 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 68 61 6e 64 FlattenException.{.private.$hand
13c3a0 6c 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ler;..public.static.function.__c
13c3c0 61 6c 6c 53 74 61 74 69 63 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 allStatic($method,.$args).{.if.(
13c3e0 21 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e !method_exists('Symfony\Componen
13c400 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 t\Debug\Exception\FlattenExcepti
13c420 6f 6e 27 2c 20 24 6d 65 74 68 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d on',.$method)).{.throw.new.\BadM
13c440 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6c 6c ethodCallException(sprintf('Call
13c460 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 3a 3a 25 73 28 29 27 2c 20 .to.undefined.method.%s::%s()',.
13c480 67 65 74 5f 63 61 6c 6c 65 64 5f 63 6c 61 73 73 28 29 2c 20 24 6d 65 74 68 6f 64 29 29 3b 0a 7d get_called_class(),.$method));.}
13c4a0 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 ..return.call_user_func_array(ar
13c4c0 72 61 79 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 ray('Symfony\Component\Debug\Exc
13c4e0 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 27 2c 20 24 6d 65 74 68 6f eption\FlattenException',.$metho
13c500 64 29 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f d),.$args);.}..public.function._
13c520 5f 63 61 6c 6c 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 21 69 73 73 _call($method,.$args).{.if.(!iss
13c540 65 74 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 6e et($this->handler)).{.$this->han
13c560 64 6c 65 72 20 3d 20 6e 65 77 20 44 65 62 75 67 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e dler.=.new.DebugFlattenException
13c580 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d ();.}..if.(!method_exists($this-
13c5a0 3e 68 61 6e 64 6c 65 72 2c 20 24 6d 65 74 68 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 >handler,.$method)).{.throw.new.
13c5c0 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 \BadMethodCallException(sprintf(
13c5e0 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 3a 3a 25 73 'Call.to.undefined.method.%s::%s
13c600 28 29 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 2c 20 24 6d 65 74 68 6f 64 29 29 ()',.get_class($this),.$method))
13c620 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 ;.}..return.call_user_func_array
13c640 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 24 6d 65 74 68 6f 64 29 2c (array($this->handler,.$method),
13c660 20 24 61 72 67 73 29 3b 0a 7d 0a 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c .$args);.}.}..namespace.Symfony\
13c680 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 Component\Debug\Exception;..use.
13c6a0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 Symfony\Component\HttpKernel\Exc
13c6c0 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 20 4c 65 67 61 63 eption\FlattenException.as.Legac
13c6e0 79 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 yFlattenException;.use.Symfony\C
13c700 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 48 74 omponent\HttpKernel\Exception\Ht
13c720 74 70 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c tpExceptionInterface;.........cl
13c740 61 73 73 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 4c 65 67 ass.FlattenException.extends.Leg
13c760 61 63 79 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 6d acyFlattenException.{.private.$m
13c780 65 73 73 61 67 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 essage;.private.$code;.private.$
13c7a0 70 72 65 76 69 6f 75 73 3b 0a 70 72 69 76 61 74 65 20 24 74 72 61 63 65 3b 0a 70 72 69 76 61 74 previous;.private.$trace;.privat
13c7c0 65 20 24 63 6c 61 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 70 e.$class;.private.$statusCode;.p
13c7e0 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a rivate.$headers;.private.$file;.
13c800 70 72 69 76 61 74 65 20 24 6c 69 6e 65 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 private.$line;..public.static.fu
13c820 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 nction.create(\Exception.$except
13c840 69 6f 6e 2c 20 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 ion,.$statusCode.=.null,.array.$
13c860 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 20 3d 20 6e 65 77 20 73 74 headers.=.array()).{.$e.=.new.st
13c880 61 74 69 63 28 29 3b 0a 24 65 2d 3e 73 65 74 4d 65 73 73 61 67 65 28 24 65 78 63 65 70 74 69 6f atic();.$e->setMessage($exceptio
13c8a0 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 43 6f 64 65 28 24 65 n->getMessage());.$e->setCode($e
13c8c0 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 0a 69 66 20 28 24 65 78 63 65 xception->getCode());..if.($exce
13c8e0 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 48 74 74 70 45 78 63 65 70 74 69 6f 6e 49 6e ption.instanceof.HttpExceptionIn
13c900 74 65 72 66 61 63 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 65 78 63 65 70 74 terface).{.$statusCode.=.$except
13c920 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 3b 0a 24 68 65 61 64 65 72 73 20 3d ion->getStatusCode();.$headers.=
13c940 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 68 65 61 64 65 72 73 2c 20 24 65 78 63 65 70 74 69 6f .array_merge($headers,.$exceptio
13c960 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d n->getHeaders());.}..if.(null.==
13c980 3d 20 24 73 74 61 74 75 73 43 6f 64 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 35 =.$statusCode).{.$statusCode.=.5
13c9a0 30 30 3b 0a 7d 0a 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 73 00;.}..$e->setStatusCode($status
13c9c0 43 6f 64 65 29 3b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b Code);.$e->setHeaders($headers);
13c9e0 0a 24 65 2d 3e 73 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 .$e->setTraceFromException($exce
13ca00 70 74 69 6f 6e 29 3b 0a 24 65 2d 3e 73 65 74 43 6c 61 73 73 28 67 65 74 5f 63 6c 61 73 73 28 24 ption);.$e->setClass(get_class($
13ca20 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 24 65 2d 3e 73 65 74 46 69 6c 65 28 24 65 78 63 65 70 74 exception));.$e->setFile($except
13ca40 69 6f 6e 2d 3e 67 65 74 46 69 6c 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 4c 69 6e 65 28 24 65 78 ion->getFile());.$e->setLine($ex
13ca60 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 29 3b 0a 0a 24 70 72 65 76 69 6f 75 73 20 ception->getLine());..$previous.
13ca80 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 3b 0a 0a 69 66 =.$exception->getPrevious();..if
13caa0 20 28 24 70 72 65 76 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f .($previous.instanceof.\Exceptio
13cac0 6e 29 20 7b 0a 24 65 2d 3e 73 65 74 50 72 65 76 69 6f 75 73 28 73 74 61 74 69 63 3a 3a 63 72 65 n).{.$e->setPrevious(static::cre
13cae0 61 74 65 28 24 70 72 65 76 69 6f 75 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 76 ate($previous));.}.elseif.($prev
13cb00 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 68 72 6f 77 61 62 6c 65 29 20 7b 0a 24 65 ious.instanceof.\Throwable).{.$e
13cb20 2d 3e 73 65 74 50 72 65 76 69 6f 75 73 28 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 28 6e 65 77 ->setPrevious(static::create(new
13cb40 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 70 72 65 76 69 6f 75 73 29 29 .FatalThrowableError($previous))
13cb60 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 );.}..return.$e;.}..public.funct
13cb80 69 6f 6e 20 74 6f 41 72 72 61 79 28 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 ion.toArray().{.$exceptions.=.ar
13cba0 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 ray();.foreach.(array_merge(arra
13cbc0 79 28 24 74 68 69 73 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 6c 50 72 65 76 69 6f 75 73 28 y($this),.$this->getAllPrevious(
13cbe0 29 29 20 61 73 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 5b )).as.$exception).{.$exceptions[
13cc00 5d 20 3d 20 61 72 72 61 79 28 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 ].=.array(.'message'.=>.$excepti
13cc20 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 24 65 78 on->getMessage(),.'class'.=>.$ex
13cc40 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6c 61 73 73 28 29 2c 0a 27 74 72 61 63 65 27 20 3d 3e 20 ception->getClass(),.'trace'.=>.
13cc60 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 $exception->getTrace(),.);.}..re
13cc80 74 75 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 turn.$exceptions;.}..public.func
13cca0 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tion.getStatusCode().{.return.$t
13ccc0 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->statusCode;.}..public.funct
13cce0 69 6f 6e 20 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 24 74 68 69 73 ion.setStatusCode($code).{.$this
13cd00 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ->statusCode.=.$code;.}..public.
13cd20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getHeaders().{.return.$
13cd40 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this->headers;.}..public.functio
13cd60 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 n.setHeaders(array.$headers).{.$
13cd80 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 this->headers.=.$headers;.}..pub
13cda0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e lic.function.getClass().{.return
13cdc0 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$this->class;.}..public.functio
13cde0 6e 20 73 65 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 n.setClass($class).{.$this->clas
13ce00 73 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 s.=.$class;.}..public.function.g
13ce20 65 74 46 69 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 3b 0a 7d etFile().{.return.$this->file;.}
13ce40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 28 24 66 69 6c 65 29 ..public.function.setFile($file)
13ce60 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 0a 70 75 62 6c 69 .{.$this->file.=.$file;.}..publi
13ce80 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 c.function.getLine().{.return.$t
13cea0 68 69 73 2d 3e 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 his->line;.}..public.function.se
13cec0 74 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 6e 65 20 3d 20 24 6c 69 tLine($line).{.$this->line.=.$li
13cee0 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 ne;.}..public.function.getMessag
13cf00 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a e().{.return.$this->message;.}..
13cf20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 6d 65 73 73 public.function.setMessage($mess
13cf40 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 age).{.$this->message.=.$message
13cf60 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 64 65 28 29 0a 7b ;.}..public.function.getCode().{
13cf80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 .return.$this->code;.}..public.f
13cfa0 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e unction.setCode($code).{.$this->
13cfc0 63 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e code.=.$code;.}..public.function
13cfe0 20 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 .getPrevious().{.return.$this->p
13d000 72 65 76 69 6f 75 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 revious;.}..public.function.setP
13d020 72 65 76 69 6f 75 73 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f revious(FlattenException.$previo
13d040 75 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 76 69 6f 75 73 20 3d 20 24 70 72 65 76 69 6f 75 us).{.$this->previous.=.$previou
13d060 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 50 72 65 76 s;.}..public.function.getAllPrev
13d080 69 6f 75 73 28 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ious().{.$exceptions.=.array();.
13d0a0 24 65 20 3d 20 24 74 68 69 73 3b 0a 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 $e.=.$this;.while.($e.=.$e->getP
13d0c0 72 65 76 69 6f 75 73 28 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 65 3b revious()).{.$exceptions[].=.$e;
13d0e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c 69 .}..return.$exceptions;.}..publi
13d100 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 c.function.getTrace().{.return.$
13d120 74 68 69 73 2d 3e 74 72 61 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this->trace;.}..public.function.
13d140 73 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e setTraceFromException(\Exception
13d160 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 .$exception).{.$this->setTrace($
13d180 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f exception->getTrace(),.$exceptio
13d1a0 6e 2d 3e 67 65 74 46 69 6c 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e n->getFile(),.$exception->getLin
13d1c0 65 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 63 e());.}..public.function.setTrac
13d1e0 65 28 24 74 72 61 63 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d e($trace,.$file,.$line).{.$this-
13d200 3e 74 72 61 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 5b 5d >trace.=.array();.$this->trace[]
13d220 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 27 27 2c 0a 27 73 68 .=.array(.'namespace'.=>.'',.'sh
13d240 6f 72 74 5f 63 6c 61 73 73 27 20 3d 3e 20 27 27 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 27 27 2c ort_class'.=>.'',.'class'.=>.'',
13d260 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c .'type'.=>.'',.'function'.=>.'',
13d280 0a 27 66 69 6c 65 27 20 3d 3e 20 24 66 69 6c 65 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 6c 69 6e .'file'.=>.$file,.'line'.=>.$lin
13d2a0 65 2c 0a 27 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 29 3b 0a 66 6f 72 65 61 63 68 e,.'args'.=>.array(),.);.foreach
13d2c0 20 28 24 74 72 61 63 65 20 61 73 20 24 65 6e 74 72 79 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 27 .($trace.as.$entry).{.$class.=.'
13d2e0 27 3b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 ';.$namespace.=.'';.if.(isset($e
13d300 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f ntry['class'])).{.$parts.=.explo
13d320 64 65 28 27 5c 5c 27 2c 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 24 63 6c 61 73 de('\\',.$entry['class']);.$clas
13d340 73 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 24 6e 61 6d 65 73 70 61 63 s.=.array_pop($parts);.$namespac
13d360 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 70 61 72 74 73 29 3b 0a 7d 0a 0a 24 74 e.=.implode('\\',.$parts);.}..$t
13d380 68 69 73 2d 3e 74 72 61 63 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 73 70 61 63 65 his->trace[].=.array(.'namespace
13d3a0 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 0a 27 73 68 6f 72 74 5f 63 6c 61 73 73 27 20 3d '.=>.$namespace,.'short_class'.=
13d3c0 3e 20 24 63 6c 61 73 73 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 >.$class,.'class'.=>.isset($entr
13d3e0 79 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 20 3a 20 y['class']).?.$entry['class'].:.
13d400 27 27 2c 0a 27 74 79 70 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 74 79 70 65 '',.'type'.=>.isset($entry['type
13d420 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 2c 0a 27 66 75 6e 63 ']).?.$entry['type'].:.'',.'func
13d440 74 69 6f 6e 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 tion'.=>.isset($entry['function'
13d460 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 3a 20 6e 75 6c 6c 2c 0a ]).?.$entry['function'].:.null,.
13d480 27 66 69 6c 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 69 6c 65 27 5d 29 20 'file'.=>.isset($entry['file']).
13d4a0 3f 20 24 65 6e 74 72 79 5b 27 66 69 6c 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 6c 69 6e 65 27 20 ?.$entry['file'].:.null,.'line'.
13d4c0 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 29 20 3f 20 24 65 6e 74 72 =>.isset($entry['line']).?.$entr
13d4e0 79 5b 27 6c 69 6e 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 61 72 67 73 27 20 3d 3e 20 69 73 73 65 y['line'].:.null,.'args'.=>.isse
13d500 74 28 24 65 6e 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6c 61 74 74 t($entry['args']).?.$this->flatt
13d520 65 6e 41 72 67 73 28 24 65 6e 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3a 20 61 72 72 61 79 28 29 enArgs($entry['args']).:.array()
13d540 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6c 61 74 74 ,.);.}.}..private.function.flatt
13d560 65 6e 41 72 67 73 28 24 61 72 67 73 2c 20 24 6c 65 76 65 6c 20 3d 20 30 2c 20 26 24 63 6f 75 6e enArgs($args,.$level.=.0,.&$coun
13d580 74 20 3d 20 30 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 t.=.0).{.$result.=.array();.fore
13d5a0 61 63 68 20 28 24 61 72 67 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a ach.($args.as.$key.=>.$value).{.
13d5c0 69 66 20 28 2b 2b 24 63 6f 75 6e 74 20 3e 20 31 65 34 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 if.(++$count.>.1e4).{.return.arr
13d5e0 61 79 28 27 61 72 72 61 79 27 2c 20 27 2a 53 4b 49 50 50 45 44 20 6f 76 65 72 20 31 30 30 30 30 ay('array',.'*SKIPPED.over.10000
13d600 20 65 6e 74 72 69 65 73 2a 27 29 3b 0a 7d 0a 69 66 20 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e .entries*');.}.if.($value.instan
13d620 63 65 6f 66 20 5c 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 29 20 7b 0a ceof.\__PHP_Incomplete_Class).{.
13d640 0a 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 69 6e 63 6f 6d 70 6c ..$result[$key].=.array('incompl
13d660 65 74 65 2d 6f 62 6a 65 63 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 61 73 73 4e 61 6d 65 ete-object',.$this->getClassName
13d680 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 69 FromIncomplete($value));.}.elsei
13d6a0 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b f.(is_object($value)).{.$result[
13d6c0 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 6f 62 6a 65 63 74 27 2c 20 67 65 74 5f 63 6c 61 73 $key].=.array('object',.get_clas
13d6e0 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 s($value));.}.elseif.(is_array($
13d700 76 61 6c 75 65 29 29 20 7b 0a 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 31 30 29 20 7b 0a 24 72 65 value)).{.if.($level.>.10).{.$re
13d720 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 27 2a 44 45 sult[$key].=.array('array',.'*DE
13d740 45 50 20 4e 45 53 54 45 44 20 41 52 52 41 59 2a 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 EP.NESTED.ARRAY*');.}.else.{.$re
13d760 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 24 74 68 69 sult[$key].=.array('array',.$thi
13d780 73 2d 3e 66 6c 61 74 74 65 6e 41 72 67 73 28 24 76 61 6c 75 65 2c 20 24 6c 65 76 65 6c 20 2b 20 s->flattenArgs($value,.$level.+.
13d7a0 31 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 3d 3d 1,.$count));.}.}.elseif.(null.==
13d7c0 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 =.$value).{.$result[$key].=.arra
13d7e0 79 28 27 6e 75 6c 6c 27 2c 20 6e 75 6c 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 62 6f y('null',.null);.}.elseif.(is_bo
13d800 6f 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 ol($value)).{.$result[$key].=.ar
13d820 72 61 79 28 27 62 6f 6f 6c 65 61 6e 27 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 ray('boolean',.$value);.}.elseif
13d840 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 .(is_resource($value)).{.$result
13d860 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 72 65 73 6f 75 72 63 65 27 2c 20 67 65 74 5f 72 [$key].=.array('resource',.get_r
13d880 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a esource_type($value));.}.else.{.
13d8a0 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 73 74 72 69 6e 67 27 2c 20 $result[$key].=.array('string',.
13d8c0 28 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 (string).$value);.}.}..return.$r
13d8e0 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c esult;.}..private.function.getCl
13d900 61 73 73 4e 61 6d 65 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 5c 5f 5f 50 48 50 5f 49 6e 63 assNameFromIncomplete(\__PHP_Inc
13d920 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 20 24 76 61 6c 75 65 29 0a 7b 0a 24 61 72 72 61 79 20 3d omplete_Class.$value).{.$array.=
13d940 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 .new.\ArrayObject($value);..retu
13d960 72 6e 20 24 61 72 72 61 79 5b 27 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 rn.$array['__PHP_Incomplete_Clas
13d980 73 5f 4e 61 6d 65 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 s_Name'];.}.}.<?php...........na
13d9a0 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c mespace.Symfony\Component\Debug\
13d9c0 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 4f 66 4d 65 6d 6f Exception;.......class.OutOfMemo
13d9e0 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 ryException.extends.FatalErrorEx
13da00 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ception.{.}.<?php...........name
13da20 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 space.Symfony\Component\Debug\Ex
13da40 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 46 75 ception;.......class.UndefinedFu
13da60 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 nctionException.extends.FatalErr
13da80 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f orException.{.public.function.__
13daa0 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 construct($message,.\ErrorExcept
13dac0 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 ion.$previous).{.parent::__const
13dae0 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f ruct(.$message,.$previous->getCo
13db00 64 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a de(),.$previous->getSeverity(),.
13db20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d $previous->getFile(),.$previous-
13db40 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 >getLine(),.null,.true,.null,.$p
13db60 72 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d revious->getPrevious().);.$this-
13db80 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 >setTrace($previous->getTrace())
13dba0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
13dbc0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f Symfony\Component\Debug\Exceptio
13dbe0 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 n;.......class.UndefinedMethodEx
13dc00 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 ception.extends.FatalErrorExcept
13dc20 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ion.{.public.function.__construc
13dc40 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 t($message,.\ErrorException.$pre
13dc60 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d vious).{.parent::__construct(.$m
13dc80 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 70 essage,.$previous->getCode(),.$p
13dca0 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f 75 revious->getSeverity(),.$previou
13dcc0 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 s->getFile(),.$previous->getLine
13dce0 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 2d (),.null,.true,.null,.$previous-
13dd00 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 >getPrevious().);.$this->setTrac
13dd20 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f e($previous->getTrace());.}.}.<?
13dd40 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
13dd60 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Component\Debug;..use.Symfony\Co
13dd80 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 65 73 70 6f 6e 73 65 3b mponent\HttpFoundation\Response;
13dda0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 .use.Symfony\Component\Debug\Exc
13ddc0 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d eption\FlattenException;.use.Sym
13dde0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 4f fony\Component\Debug\Exception\O
13de00 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a utOfMemoryException;............
13de20 0a 0a 63 6c 61 73 73 20 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 ..class.ExceptionHandler.{.priva
13de40 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 72 73 65 74 3b 0a 70 72 69 te.$debug;.private.$charset;.pri
13de60 76 61 74 65 20 24 68 61 6e 64 6c 65 72 3b 0a 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 42 75 vate.$handler;.private.$caughtBu
13de80 66 66 65 72 3b 0a 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 3b 0a 70 72 69 ffer;.private.$caughtLength;.pri
13dea0 76 61 74 65 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 vate.$fileLinkFormat;..public.fu
13dec0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 62 75 67 20 3d 20 74 72 75 65 nction.__construct($debug.=.true
13dee0 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d ,.$charset.=.null,.$fileLinkForm
13df00 61 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f at.=.null).{.if.(false.!==.strpo
13df20 73 28 24 63 68 61 72 73 65 74 2c 20 27 25 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 s($charset,.'%')).{.@trigger_err
13df40 6f 72 28 27 50 72 6f 76 69 64 69 6e 67 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 61 73 or('Providing.$fileLinkFormat.as
13df60 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f .second.argument.to.'.__METHOD__
13df80 2e 27 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 .'.is.deprecated.since.Symfony.2
13dfa0 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 75 6e 73 75 70 70 6f 72 74 65 64 20 69 6e 20 33 2e .8.and.will.be.unsupported.in.3.
13dfc0 30 2e 20 50 6c 65 61 73 65 20 70 72 6f 76 69 64 65 20 69 74 20 61 73 20 74 68 69 72 64 20 61 72 0..Please.provide.it.as.third.ar
13dfe0 67 75 6d 65 6e 74 2c 20 61 66 74 65 72 20 24 63 68 61 72 73 65 74 2e 27 2c 20 45 5f 55 53 45 52 gument,.after.$charset.',.E_USER
13e000 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 20 24 70 69 76 6f 74 20 3d 20 24 66 69 6c 65 4c _DEPRECATED);....$pivot.=.$fileL
13e020 69 6e 6b 46 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 63 68 inkFormat;.$fileLinkFormat.=.$ch
13e040 61 72 73 65 74 3b 0a 24 63 68 61 72 73 65 74 20 3d 20 24 70 69 76 6f 74 3b 0a 7d 0a 24 74 68 69 arset;.$charset.=.$pivot;.}.$thi
13e060 73 2d 3e 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 3b 0a 24 74 68 69 73 2d 3e 63 68 61 72 73 65 s->debug.=.$debug;.$this->charse
13e080 74 20 3d 20 24 63 68 61 72 73 65 74 20 3f 3a 20 69 6e 69 5f 67 65 74 28 27 64 65 66 61 75 6c 74 t.=.$charset.?:.ini_get('default
13e0a0 5f 63 68 61 72 73 65 74 27 29 20 3f 3a 20 27 55 54 46 2d 38 27 3b 0a 24 74 68 69 73 2d 3e 66 69 _charset').?:.'UTF-8';.$this->fi
13e0c0 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3f leLinkFormat.=.$fileLinkFormat.?
13e0e0 3a 20 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 66 69 6c 65 5f 6c 69 6e 6b 5f 66 6f 72 6d :.ini_get('xdebug.file_link_form
13e100 61 74 27 29 20 3f 3a 20 67 65 74 5f 63 66 67 5f 76 61 72 28 27 78 64 65 62 75 67 2e 66 69 6c 65 at').?:.get_cfg_var('xdebug.file
13e120 5f 6c 69 6e 6b 5f 66 6f 72 6d 61 74 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c _link_format');.}...........publ
13e140 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 64 65 62 ic.static.function.register($deb
13e160 75 67 20 3d 20 74 72 75 65 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 66 69 6c ug.=.true,.$charset.=.null,.$fil
13e180 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 68 61 6e 64 6c 65 72 20 3d eLinkFormat.=.null).{.$handler.=
13e1a0 20 6e 65 77 20 73 74 61 74 69 63 28 24 64 65 62 75 67 2c 20 24 63 68 61 72 73 65 74 2c 20 24 66 .new.static($debug,.$charset,.$f
13e1c0 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 3b 0a 0a 24 70 72 65 76 20 3d 20 73 65 74 5f 65 78 63 ileLinkFormat);..$prev.=.set_exc
13e1e0 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 eption_handler(array($handler,.'
13e200 68 61 6e 64 6c 65 27 29 29 3b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 handle'));.if.(is_array($prev).&
13e220 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 48 61 6e 64 6c &.$prev[0].instanceof.ErrorHandl
13e240 65 72 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 er).{.restore_exception_handler(
13e260 29 3b 0a 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 );.$prev[0]->setExceptionHandler
13e280 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 27 29 29 3b 0a 7d 0a 0a (array($handler,.'handle'));.}..
13e2a0 72 65 74 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 return.$handler;.}.........publi
13e2c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 61 6e 64 6c 65 72 28 24 68 61 6e 64 6c 65 72 29 0a c.function.setHandler($handler).
13e2e0 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e 64 6c 65 72 20 26 26 20 21 69 73 5f 63 {.if.(null.!==.$handler.&&.!is_c
13e300 61 6c 6c 61 62 6c 65 28 24 68 61 6e 64 6c 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c allable($handler)).{.throw.new.\
13e320 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 LogicException('The.exception.ha
13e340 6e 64 6c 65 72 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c 61 62 ndler.must.be.a.valid.PHP.callab
13e360 6c 65 2e 27 29 3b 0a 7d 0a 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 3b 0a le.');.}.$old.=.$this->handler;.
13e380 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a 0a 72 65 74 75 $this->handler.=.$handler;..retu
13e3a0 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.$old;.}.........public.functi
13e3c0 6f 6e 20 73 65 74 46 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a on.setFileLinkFormat($format).{.
13e3e0 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a 24 74 $old.=.$this->fileLinkFormat;.$t
13e400 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 0a his->fileLinkFormat.=.$format;..
13e420 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 return.$old;.}..........public.f
13e440 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 unction.handle(\Exception.$excep
13e460 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 tion).{.if.(null.===.$this->hand
13e480 6c 65 72 20 7c 7c 20 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 4f 75 74 ler.||.$exception.instanceof.Out
13e4a0 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c OfMemoryException).{.$this->fail
13e4c0 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 3b SafeHandle($exception);..return;
13e4e0 0a 7d 0a 0a 24 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 .}..$caughtLength.=.$this->caugh
13e500 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 6f 62 5f 73 74 61 72 74 28 61 72 72 61 79 28 24 74 68 tLength.=.0;..ob_start(array($th
13e520 69 73 2c 20 27 63 61 74 63 68 4f 75 74 70 75 74 27 29 29 3b 0a 24 74 68 69 73 2d 3e 66 61 69 6c is,.'catchOutput'));.$this->fail
13e540 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 77 68 69 6c 65 20 28 6e SafeHandle($exception);.while.(n
13e560 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 26 26 20 6f ull.===.$this->caughtBuffer.&&.o
13e580 62 5f 65 6e 64 5f 66 6c 75 73 68 28 29 29 20 7b 0a 0a 20 7d 0a 69 66 20 28 69 73 73 65 74 28 24 b_end_flush()).{...}.if.(isset($
13e5a0 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 6f 62 5f 73 74 61 this->caughtBuffer[0])).{.ob_sta
13e5c0 72 74 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 6c 65 61 6e 4f 75 74 70 75 74 27 29 29 3b rt(array($this,.'cleanOutput'));
13e5e0 0a 65 63 68 6f 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 3b 0a 24 63 61 75 67 .echo.$this->caughtBuffer;.$caug
13e600 68 74 4c 65 6e 67 74 68 20 3d 20 6f 62 5f 67 65 74 5f 6c 65 6e 67 74 68 28 29 3b 0a 7d 0a 24 74 htLength.=.ob_get_length();.}.$t
13e620 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b his->caughtBuffer.=.null;..try.{
13e640 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 .call_user_func($this->handler,.
13e660 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 $exception);.$this->caughtLength
13e680 20 3d 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 .=.$caughtLength;.}.catch.(\Exce
13e6a0 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 63 61 75 67 68 74 4c 65 6e 67 74 68 29 20 ption.$e).{.if.(!$caughtLength).
13e6c0 7b 0a 0a 20 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a {...throw.$exception;.}.}.}.....
13e6e0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 53 61 66 65 48 61 6e ....private.function.failSafeHan
13e700 64 6c 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 dle(\Exception.$exception).{.if.
13e720 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 (class_exists('Symfony\Component
13e740 5c 48 74 74 70 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 65 73 70 6f 6e 73 65 27 2c 20 66 61 6c 73 65 \HttpFoundation\Response',.false
13e760 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f 5f 20 21 3d 3d 20 67 65 74 5f 63 6c 61 73 73 28 24 74 68 ).&&.__CLASS__.!==.get_class($th
13e780 69 73 29 0a 26 26 20 28 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 is).&&.($reflector.=.new.\Reflec
13e7a0 74 69 6f 6e 4d 65 74 68 6f 64 28 24 74 68 69 73 2c 20 27 63 72 65 61 74 65 52 65 73 70 6f 6e 73 tionMethod($this,.'createRespons
13e7c0 65 27 29 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f 5f 20 21 3d 3d 20 24 72 65 66 6c 65 63 74 6f 72 e')).&&.__CLASS__.!==.$reflector
13e7e0 2d 3e 63 6c 61 73 73 0a 29 20 7b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 63 ->class.).{.$response.=.$this->c
13e800 72 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 72 65 73 70 reateResponse($exception);.$resp
13e820 6f 6e 73 65 2d 3e 73 65 6e 64 48 65 61 64 65 72 73 28 29 3b 0a 24 72 65 73 70 6f 6e 73 65 2d 3e onse->sendHeaders();.$response->
13e840 73 65 6e 64 43 6f 6e 74 65 6e 74 28 29 3b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 sendContent();.@trigger_error(sp
13e860 72 69 6e 74 66 28 22 54 68 65 20 25 73 3a 3a 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 20 6d 65 rintf("The.%s::createResponse.me
13e880 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 thod.is.deprecated.since.Symfony
13e8a0 20 32 2e 38 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 63 61 6c 6c 65 64 20 61 6e 79 6d 6f 72 65 .2.8.and.won't.be.called.anymore
13e8c0 20 77 68 65 6e 20 68 61 6e 64 6c 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 6e 20 33 .when.handling.an.exception.in.3
13e8e0 2e 30 2e 22 2c 20 24 72 65 66 6c 65 63 74 6f 72 2d 3e 63 6c 61 73 73 29 2c 20 45 5f 55 53 45 52 .0.",.$reflector->class),.E_USER
13e900 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d _DEPRECATED);..return;.}..$this-
13e920 3e 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a >sendPhpResponse($exception);.}.
13e940 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 50 68 70 .........public.function.sendPhp
13e960 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 65 78 63 Response($exception).{.if.(!$exc
13e980 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 eption.instanceof.FlattenExcepti
13e9a0 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 on).{.$exception.=.FlattenExcept
13e9c0 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 ion::create($exception);.}..if.(
13e9e0 21 68 65 61 64 65 72 73 5f 73 65 6e 74 28 29 29 20 7b 0a 68 65 61 64 65 72 28 73 70 72 69 6e 74 !headers_sent()).{.header(sprint
13ea00 66 28 27 48 54 54 50 2f 31 2e 30 20 25 73 27 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 f('HTTP/1.0.%s',.$exception->get
13ea20 53 74 61 74 75 73 43 6f 64 65 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 StatusCode()));.foreach.($except
13ea40 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 ion->getHeaders().as.$name.=>.$v
13ea60 61 6c 75 65 29 20 7b 0a 68 65 61 64 65 72 28 24 6e 61 6d 65 2e 27 3a 20 27 2e 24 76 61 6c 75 65 alue).{.header($name.':.'.$value
13ea80 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 68 65 61 64 65 72 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 ,.false);.}.header('Content-Type
13eaa0 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 27 2e 24 74 68 69 73 2d 3e 63 68 :.text/html;.charset='.$this->ch
13eac0 61 72 73 65 74 29 3b 0a 7d 0a 0a 65 63 68 6f 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 28 arset);.}..echo.$this->decorate(
13eae0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 $this->getContent($exception),.$
13eb00 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 73 68 65 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 this->getStylesheet($exception))
13eb20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 ;.}...........public.function.cr
13eb40 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 40 74 72 69 67 eateResponse($exception).{.@trig
13eb60 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 ger_error('The.'.__METHOD__.'.me
13eb80 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 thod.is.deprecated.since.Symfony
13eba0 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e .2.8.and.will.be.removed.in.3.0.
13ebc0 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 21 24 65 78 ',.E_USER_DEPRECATED);..if.(!$ex
13ebe0 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 ception.instanceof.FlattenExcept
13ec00 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 ion).{.$exception.=.FlattenExcep
13ec20 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 tion::create($exception);.}..ret
13ec40 75 72 6e 20 52 65 73 70 6f 6e 73 65 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 48 urn.Response::create($this->getH
13ec60 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 tml($exception),.$exception->get
13ec80 53 74 61 74 75 73 43 6f 64 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 StatusCode(),.$exception->getHea
13eca0 64 65 72 73 28 29 29 2d 3e 73 65 74 43 68 61 72 73 65 74 28 24 74 68 69 73 2d 3e 63 68 61 72 73 ders())->setCharset($this->chars
13ecc0 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 et);.}.........public.function.g
13ece0 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 65 78 63 65 70 etHtml($exception).{.if.(!$excep
13ed00 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e tion.instanceof.FlattenException
13ed20 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f ).{.$exception.=.FlattenExceptio
13ed40 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e n::create($exception);.}..return
13ed60 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 .$this->decorate($this->getConte
13ed80 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 73 nt($exception),.$this->getStyles
13eda0 68 65 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 heet($exception));.}.......publi
13edc0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 28 46 6c 61 74 74 65 6e 45 78 63 c.function.getContent(FlattenExc
13ede0 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 65 78 eption.$exception).{.switch.($ex
13ee00 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 ception->getStatusCode()).{.case
13ee20 20 34 30 34 3a 0a 24 74 69 74 6c 65 20 3d 20 27 53 6f 72 72 79 2c 20 74 68 65 20 70 61 67 65 20 .404:.$title.=.'Sorry,.the.page.
13ee40 79 6f 75 20 61 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 you.are.looking.for.could.not.be
13ee60 20 66 6f 75 6e 64 2e 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 69 74 6c 65 .found.';.break;.default:.$title
13ee80 20 3d 20 27 57 68 6f 6f 70 73 2c 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 73 6f 6d 65 74 68 69 6e 67 .=.'Whoops,.looks.like.something
13eea0 20 77 65 6e 74 20 77 72 6f 6e 67 2e 27 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 27 27 3b .went.wrong.';.}..$content.=.'';
13eec0 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 75 6e .if.($this->debug).{.try.{.$coun
13eee0 74 20 3d 20 63 6f 75 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 41 6c 6c 50 72 65 76 t.=.count($exception->getAllPrev
13ef00 69 6f 75 73 28 29 29 3b 0a 24 74 6f 74 61 6c 20 3d 20 24 63 6f 75 6e 74 20 2b 20 31 3b 0a 66 6f ious());.$total.=.$count.+.1;.fo
13ef20 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 74 6f 41 72 72 61 79 28 29 20 61 73 20 reach.($exception->toArray().as.
13ef40 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 65 29 20 7b 0a 24 69 6e 64 20 3d 20 24 63 6f 75 6e 74 $position.=>.$e).{.$ind.=.$count
13ef60 20 2d 20 24 70 6f 73 69 74 69 6f 6e 20 2b 20 31 3b 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 .-.$position.+.1;.$class.=.$this
13ef80 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 65 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 24 6d 65 73 ->formatClass($e['class']);.$mes
13efa0 73 61 67 65 20 3d 20 6e 6c 32 62 72 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 sage.=.nl2br($this->escapeHtml($
13efc0 65 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 e['message']));.$content..=.spri
13efe0 6e 74 66 28 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ntf(<<<'EOF'....................
13f000 20 20 20 20 20 3c 68 32 20 63 6c 61 73 73 3d 22 62 6c 6f 63 6b 5f 65 78 63 65 70 74 69 6f 6e 20 .....<h2.class="block_exception.
13f020 63 6c 65 61 72 5f 66 69 78 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 clear_fix">.....................
13f040 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 63 ........<span.class="exception_c
13f060 6f 75 6e 74 65 72 22 3e 25 64 2f 25 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ounter">%d/%d</span>............
13f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 .................<span.class="ex
13f0a0 63 65 70 74 69 6f 6e 5f 74 69 74 6c 65 22 3e 25 73 25 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 ception_title">%s%s:</span>.....
13f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
13f0e0 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 6d 65 73 73 61 67 65 22 3e 25 73 3c 2f 73 70 61 6e ass="exception_message">%s</span
13f100 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 68 32 3e 0a >.........................</h2>.
13f120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 ........................<div.cla
13f140 73 73 3d 22 62 6c 6f 63 6b 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss="block">.....................
13f160 20 20 20 20 20 20 20 20 3c 6f 6c 20 63 6c 61 73 73 3d 22 74 72 61 63 65 73 20 6c 69 73 74 5f 65 ........<ol.class="traces.list_e
13f180 78 63 65 70 74 69 6f 6e 22 3e 0a 0a 45 4f 46 0a 2c 20 24 69 6e 64 2c 20 24 74 6f 74 61 6c 2c 20 xception">..EOF.,.$ind,.$total,.
13f1a0 24 63 6c 61 73 73 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 74 68 28 24 65 5b 27 74 72 $class,.$this->formatPath($e['tr
13f1c0 61 63 65 27 5d 5b 30 5d 5b 27 66 69 6c 65 27 5d 2c 20 24 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d ace'][0]['file'],.$e['trace'][0]
13f1e0 5b 27 6c 69 6e 65 27 5d 29 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ['line']),.$message);.foreach.($
13f200 65 5b 27 74 72 61 63 65 27 5d 20 61 73 20 24 74 72 61 63 65 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 e['trace'].as.$trace).{.$content
13f220 20 2e 3d 20 27 20 20 20 20 20 20 20 3c 6c 69 3e 27 3b 0a 69 66 20 28 24 74 72 61 63 65 5b 27 66 ..=.'.......<li>';.if.($trace['f
13f240 75 6e 63 74 69 6f 6e 27 5d 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 unction']).{.$content..=.sprintf
13f260 28 27 61 74 20 25 73 25 73 25 73 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 ('at.%s%s%s(%s)',.$this->formatC
13f280 6c 61 73 73 28 24 74 72 61 63 65 5b 27 63 6c 61 73 73 27 5d 29 2c 20 24 74 72 61 63 65 5b 27 74 lass($trace['class']),.$trace['t
13f2a0 79 70 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 2c 20 24 74 68 69 73 ype'],.$trace['function'],.$this
13f2c0 2d 3e 66 6f 72 6d 61 74 41 72 67 73 28 24 74 72 61 63 65 5b 27 61 72 67 73 27 5d 29 29 3b 0a 7d ->formatArgs($trace['args']));.}
13f2e0 0a 69 66 20 28 69 73 73 65 74 28 24 74 72 61 63 65 5b 27 66 69 6c 65 27 5d 29 20 26 26 20 69 73 .if.(isset($trace['file']).&&.is
13f300 73 65 74 28 24 74 72 61 63 65 5b 27 6c 69 6e 65 27 5d 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 set($trace['line'])).{.$content.
13f320 2e 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 74 68 28 24 74 72 61 63 65 5b 27 66 69 6c .=.$this->formatPath($trace['fil
13f340 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 6c 69 6e 65 27 5d 29 3b 0a 7d 0a 24 63 6f 6e 74 65 6e 74 e'],.$trace['line']);.}.$content
13f360 20 2e 3d 20 22 3c 2f 6c 69 3e 5c 6e 22 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 20 ..=."</li>\n";.}..$content..=.".
13f380 20 20 20 3c 2f 6f 6c 3e 5c 6e 3c 2f 64 69 76 3e 5c 6e 22 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 ...</ol>\n</div>\n";.}.}.catch.(
13f3a0 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 \Exception.$e).{...if.($this->de
13f3c0 62 75 67 29 20 7b 0a 24 74 69 74 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 45 78 63 65 70 74 69 bug).{.$title.=.sprintf('Excepti
13f3e0 6f 6e 20 74 68 72 6f 77 6e 20 77 68 65 6e 20 68 61 6e 64 6c 69 6e 67 20 61 6e 20 65 78 63 65 70 on.thrown.when.handling.an.excep
13f400 74 69 6f 6e 20 28 25 73 3a 20 25 73 29 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2c 20 24 tion.(%s:.%s)',.get_class($e),.$
13f420 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 this->escapeHtml($e->getMessage(
13f440 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 69 74 6c 65 20 3d 20 27 57 68 6f 6f 70 73 2c 20 )));.}.else.{.$title.=.'Whoops,.
13f460 6c 6f 6f 6b 73 20 6c 69 6b 65 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e looks.like.something.went.wrong.
13f480 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 20 20 20 20 20 20 20 20 ';.}.}.}..return.<<<EOF.........
13f4a0 20 20 20 20 3c 64 69 76 20 69 64 3d 22 73 66 2d 72 65 73 65 74 63 6f 6e 74 65 6e 74 22 20 63 6c ....<div.id="sf-resetcontent".cl
13f4c0 61 73 73 3d 22 73 66 2d 72 65 73 65 74 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="sf-reset">.................
13f4e0 3c 68 31 3e 24 74 69 74 6c 65 3c 2f 68 31 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <h1>$title</h1>.................
13f500 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 45 4f 46 3b $content.............</div>.EOF;
13f520 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c .}.......public.function.getStyl
13f540 65 73 68 65 65 74 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 esheet(FlattenException.$excepti
13f560 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 on).{.return.<<<'EOF'...........
13f580 20 20 2e 73 66 2d 72 65 73 65 74 20 7b 20 66 6f 6e 74 3a 20 31 31 70 78 20 56 65 72 64 61 6e 61 ...sf-reset.{.font:.11px.Verdana
13f5a0 2c 20 41 72 69 61 6c 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 ,.Arial,.sans-serif;.color:.#333
13f5c0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 20 .}..............sf-reset..clear.
13f5e0 7b 20 63 6c 65 61 72 3a 62 6f 74 68 3b 20 68 65 69 67 68 74 3a 30 3b 20 66 6f 6e 74 2d 73 69 7a {.clear:both;.height:0;.font-siz
13f600 65 3a 30 3b 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 e:0;.line-height:0;.}...........
13f620 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 3a 61 66 74 65 72 20 7b 20 64 ...sf-reset..clear_fix:after.{.d
13f640 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b 20 68 65 69 67 68 74 3a 30 3b 20 63 6c 65 61 72 3a 62 6f isplay:block;.height:0;.clear:bo
13f660 74 68 3b 20 76 69 73 69 62 69 6c 69 74 79 3a 68 69 64 64 65 6e 3b 20 7d 0a 20 20 20 20 20 20 20 th;.visibility:hidden;.}........
13f680 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 64 69 73 70 ......sf-reset..clear_fix.{.disp
13f6a0 6c 61 79 3a 69 6e 6c 69 6e 65 2d 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 lay:inline-block;.}.............
13f6c0 2e 73 66 2d 72 65 73 65 74 20 2a 20 68 74 6d 6c 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 68 65 .sf-reset.*.html..clear_fix.{.he
13f6e0 69 67 68 74 3a 31 25 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 ight:1%;.}..............sf-reset
13f700 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b 20 7d 0a 20 ..clear_fix.{.display:block;.}..
13f720 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 2c 20 2e 73 66 2d 72 65 73 65 74 20 ............sf-reset,..sf-reset.
13f740 2e 62 6c 6f 63 6b 20 7b 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 7d 0a 20 20 20 20 20 20 20 20 .block.{.margin:.auto.}.........
13f760 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 62 62 72 20 7b 20 62 6f 72 64 65 72 2d 62 6f 74 74 .....sf-reset.abbr.{.border-bott
13f780 6f 6d 3a 20 31 70 78 20 64 6f 74 74 65 64 20 23 30 30 30 3b 20 63 75 72 73 6f 72 3a 20 68 65 6c om:.1px.dotted.#000;.cursor:.hel
13f7a0 70 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 70 20 7b 20 66 p;.}..............sf-reset.p.{.f
13f7c0 6f 6e 74 2d 73 69 7a 65 3a 31 34 70 78 3b 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 32 30 70 78 3b ont-size:14px;.line-height:20px;
13f7e0 20 63 6f 6c 6f 72 3a 23 38 36 38 36 38 36 3b 20 70 61 64 64 69 6e 67 2d 62 6f 74 74 6f 6d 3a 32 .color:#868686;.padding-bottom:2
13f800 30 70 78 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 73 74 72 6f 0px.}..............sf-reset.stro
13f820 6e 67 20 7b 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 62 6f 6c 64 3b 20 7d 0a 20 20 20 20 20 20 20 ng.{.font-weight:bold;.}........
13f840 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 7b 20 63 6f 6c 6f 72 3a 23 36 63 36 31 35 39 ......sf-reset.a.{.color:#6c6159
13f860 3b 20 63 75 72 73 6f 72 3a 20 64 65 66 61 75 6c 74 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ;.cursor:.default;.}............
13f880 20 2e 73 66 2d 72 65 73 65 74 20 61 20 69 6d 67 20 7b 20 62 6f 72 64 65 72 3a 6e 6f 6e 65 3b 20 ..sf-reset.a.img.{.border:none;.
13f8a0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 3a 68 6f 76 65 72 20 }..............sf-reset.a:hover.
13f8c0 7b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 20 7d 0a 20 {.text-decoration:underline;.}..
13f8e0 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 65 6d 20 7b 20 66 6f 6e 74 2d 73 ............sf-reset.em.{.font-s
13f900 74 79 6c 65 3a 69 74 61 6c 69 63 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 tyle:italic;.}..............sf-r
13f920 65 73 65 74 20 68 31 2c 20 2e 73 66 2d 72 65 73 65 74 20 68 32 20 7b 20 66 6f 6e 74 3a 20 32 30 eset.h1,..sf-reset.h2.{.font:.20
13f940 70 78 20 47 65 6f 72 67 69 61 2c 20 22 54 69 6d 65 73 20 4e 65 77 20 52 6f 6d 61 6e 22 2c 20 54 px.Georgia,."Times.New.Roman",.T
13f960 69 6d 65 73 2c 20 73 65 72 69 66 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 imes,.serif.}..............sf-re
13f980 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 63 6f 75 6e 74 65 72 20 7b 20 62 61 63 6b 67 72 6f set..exception_counter.{.backgro
13f9a0 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 20 70 61 und-color:.#fff;.color:.#333;.pa
13f9c0 64 64 69 6e 67 3a 20 36 70 78 3b 20 66 6c 6f 61 74 3a 20 6c 65 66 74 3b 20 6d 61 72 67 69 6e 2d dding:.6px;.float:.left;.margin-
13f9e0 72 69 67 68 74 3a 20 31 30 70 78 3b 20 66 6c 6f 61 74 3a 20 6c 65 66 74 3b 20 64 69 73 70 6c 61 right:.10px;.float:.left;.displa
13fa00 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 y:.block;.}..............sf-rese
13fa20 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 74 69 74 6c 65 20 7b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 t..exception_title.{.margin-left
13fa40 3a 20 33 65 6d 3b 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 30 2e 37 65 6d 3b 20 64 69 73 :.3em;.margin-bottom:.0.7em;.dis
13fa60 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 play:.block;.}..............sf-r
13fa80 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 6d 65 73 73 61 67 65 20 7b 20 6d 61 72 67 69 6e eset..exception_message.{.margin
13faa0 2d 6c 65 66 74 3a 20 33 65 6d 3b 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 -left:.3em;.display:.block;.}...
13fac0 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 74 72 61 63 65 73 20 6c 69 20 7b ...........sf-reset..traces.li.{
13fae0 20 66 6f 6e 74 2d 73 69 7a 65 3a 31 32 70 78 3b 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20 34 70 .font-size:12px;.padding:.2px.4p
13fb00 78 3b 20 6c 69 73 74 2d 73 74 79 6c 65 2d 74 79 70 65 3a 64 65 63 69 6d 61 6c 3b 20 6d 61 72 67 x;.list-style-type:decimal;.marg
13fb20 69 6e 2d 6c 65 66 74 3a 32 30 70 78 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d in-left:20px;.}..............sf-
13fb40 72 65 73 65 74 20 2e 62 6c 6f 63 6b 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a reset..block.{.background-color:
13fb60 23 46 46 46 46 46 46 3b 20 70 61 64 64 69 6e 67 3a 31 30 70 78 20 32 38 70 78 3b 20 6d 61 72 67 #FFFFFF;.padding:10px.28px;.marg
13fb80 69 6e 2d 62 6f 74 74 6f 6d 3a 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in-bottom:20px;.................
13fba0 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 72 69 67 68 74 2d 72 61 64 69 -webkit-border-bottom-right-radi
13fbc0 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 us:.16px;.................-webki
13fbe0 74 2d 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 t-border-bottom-left-radius:.16p
13fc00 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 x;.................-moz-border-r
13fc20 61 64 69 75 73 2d 62 6f 74 74 6f 6d 72 69 67 68 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 adius-bottomright:.16px;........
13fc40 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 62 6f 74 74 .........-moz-border-radius-bott
13fc60 6f 6d 6c 65 66 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f omleft:.16px;.................bo
13fc80 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a rder-bottom-right-radius:.16px;.
13fca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 6c 65 ................border-bottom-le
13fcc0 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ft-radius:.16px;................
13fce0 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 .border-bottom:1px.solid.#ccc;..
13fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 31 70 78 20 ...............border-right:1px.
13fd20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 solid.#ccc;.................bord
13fd40 65 72 2d 6c 65 66 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 er-left:1px.solid.#ccc;.........
13fd60 20 20 20 20 20 20 20 20 77 6f 72 64 2d 77 72 61 70 3a 20 62 72 65 61 6b 2d 77 6f 72 64 3b 0a 20 ........word-wrap:.break-word;..
13fd80 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 ...........}..............sf-res
13fda0 65 74 20 2e 62 6c 6f 63 6b 5f 65 78 63 65 70 74 69 6f 6e 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 et..block_exception.{.background
13fdc0 2d 63 6f 6c 6f 72 3a 23 64 64 64 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 20 70 61 64 64 69 6e -color:#ddd;.color:.#333;.paddin
13fde0 67 3a 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d g:20px;.................-webkit-
13fe00 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 border-top-left-radius:.16px;...
13fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 74 6f 70 ..............-webkit-border-top
13fe40 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 -right-radius:.16px;............
13fe60 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 74 6f 70 6c 65 66 74 3a .....-moz-border-radius-topleft:
13fe80 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 .16px;.................-moz-bord
13fea0 65 72 2d 72 61 64 69 75 73 2d 74 6f 70 72 69 67 68 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 er-radius-topright:.16px;.......
13fec0 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 ..........border-top-left-radius
13fee0 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 :.16px;.................border-t
13ff00 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 op-right-radius:.16px;..........
13ff20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 .......border-top:1px.solid.#ccc
13ff40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 31 ;.................border-right:1
13ff60 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 px.solid.#ccc;.................b
13ff80 6f 72 64 65 72 2d 6c 65 66 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 order-left:1px.solid.#ccc;......
13ffa0 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 68 69 64 64 65 6e 3b 0a 20 20 20 ...........overflow:.hidden;....
13ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 2d 77 72 61 70 3a 20 62 72 65 61 6b 2d 77 6f .............word-wrap:.break-wo
13ffe0 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 rd;.............}..............s
140000 66 2d 72 65 73 65 74 20 61 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 6e 6f 6e 65 3b 20 63 6f 6c f-reset.a.{.background:none;.col
140020 6f 72 3a 23 38 36 38 36 38 36 3b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 6e 6f 6e 65 or:#868686;.text-decoration:none
140040 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 3a 68 6f 76 65 ;.}..............sf-reset.a:hove
140060 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 6e 6f 6e 65 3b 20 63 6f 6c 6f 72 3a 23 33 31 33 31 r.{.background:none;.color:#3131
140080 33 31 3b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 20 7d 31;.text-decoration:underline;.}
1400a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 6f 6c 20 7b 20 70 61 64 64 ..............sf-reset.ol.{.padd
1400c0 69 6e 67 3a 20 31 30 70 78 20 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 ing:.10px.0;.}..............sf-r
1400e0 65 73 65 74 20 68 31 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 46 46 46 46 eset.h1.{.background-color:#FFFF
140100 46 46 3b 20 70 61 64 64 69 6e 67 3a 20 31 35 70 78 20 32 38 70 78 3b 20 6d 61 72 67 69 6e 2d 62 FF;.padding:.15px.28px;.margin-b
140120 6f 74 74 6f 6d 3a 20 32 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 ottom:.20px;.................-we
140140 62 6b 69 74 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 bkit-border-radius:.10px;.......
140160 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 3a 20 31 30 ..........-moz-border-radius:.10
140180 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 61 64 69 75 px;.................border-radiu
1401a0 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a s:.10px;.................border:
1401c0 20 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 45 .1px.solid.#ccc;.............}.E
1401e0 4f 46 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 72 61 74 65 OF;.}..private.function.decorate
140200 28 24 63 6f 6e 74 65 6e 74 2c 20 24 63 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 ($content,.$css).{.return.<<<EOF
140220 0a 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 74 6d 6c 3e 0a 20 20 20 20 3c 68 65 61 .<!DOCTYPE.html>.<html>.....<hea
140240 64 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 7b 24 74 68 69 73 d>.........<meta.charset="{$this
140260 2d 3e 63 68 61 72 73 65 74 7d 22 20 2f 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d ->charset}"./>.........<meta.nam
140280 65 3d 22 72 6f 62 6f 74 73 22 20 63 6f 6e 74 65 6e 74 3d 22 6e 6f 69 6e 64 65 78 2c 6e 6f 66 6f e="robots".content="noindex,nofo
1402a0 6c 6c 6f 77 22 20 2f 3e 0a 20 20 20 20 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 20 llow"./>.........<style>........
1402c0 20 20 20 20 20 2f 2a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 30 2c 20 59 61 68 6f ...../*.Copyright.(c).2010,.Yaho
1402e0 6f 21 20 49 6e 63 2e 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 20 43 6f 64 o!.Inc..All.rights.reserved..Cod
140300 65 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 42 53 44 20 4c 69 63 65 6e 73 65 e.licensed.under.the.BSD.License
140320 3a 20 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 79 61 68 6f 6f 2e 63 6f 6d 2f 79 75 69 :.http://developer.yahoo.com/yui
140340 2f 6c 69 63 65 6e 73 65 2e 68 74 6d 6c 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d /license.html.*/.............htm
140360 6c 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b 62 61 63 6b 67 72 6f 75 6e 64 3a 23 46 46 46 3b 7d 62 6f l{color:#000;background:#FFF;}bo
140380 64 79 2c 64 69 76 2c 64 6c 2c 64 74 2c 64 64 2c 75 6c 2c 6f 6c 2c 6c 69 2c 68 31 2c 68 32 2c 68 dy,div,dl,dt,dd,ul,ol,li,h1,h2,h
1403a0 33 2c 68 34 2c 68 35 2c 68 36 2c 70 72 65 2c 63 6f 64 65 2c 66 6f 72 6d 2c 66 69 65 6c 64 73 65 3,h4,h5,h6,pre,code,form,fieldse
1403c0 74 2c 6c 65 67 65 6e 64 2c 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 70 2c 62 6c 6f 63 6b 71 t,legend,input,textarea,p,blockq
1403e0 75 6f 74 65 2c 74 68 2c 74 64 7b 6d 61 72 67 69 6e 3a 30 3b 70 61 64 64 69 6e 67 3a 30 3b 7d 74 uote,th,td{margin:0;padding:0;}t
140400 61 62 6c 65 7b 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 63 6f 6c 6c 61 70 73 65 3b 62 6f able{border-collapse:collapse;bo
140420 72 64 65 72 2d 73 70 61 63 69 6e 67 3a 30 3b 7d 66 69 65 6c 64 73 65 74 2c 69 6d 67 7b 62 6f 72 rder-spacing:0;}fieldset,img{bor
140440 64 65 72 3a 30 3b 7d 61 64 64 72 65 73 73 2c 63 61 70 74 69 6f 6e 2c 63 69 74 65 2c 63 6f 64 65 der:0;}address,caption,cite,code
140460 2c 64 66 6e 2c 65 6d 2c 73 74 72 6f 6e 67 2c 74 68 2c 76 61 72 7b 66 6f 6e 74 2d 73 74 79 6c 65 ,dfn,em,strong,th,var{font-style
140480 3a 6e 6f 72 6d 61 6c 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b 7d 6c 69 7b 6c :normal;font-weight:normal;}li{l
1404a0 69 73 74 2d 73 74 79 6c 65 3a 6e 6f 6e 65 3b 7d 63 61 70 74 69 6f 6e 2c 74 68 7b 74 65 78 74 2d ist-style:none;}caption,th{text-
1404c0 61 6c 69 67 6e 3a 6c 65 66 74 3b 7d 68 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 7b 66 6f align:left;}h1,h2,h3,h4,h5,h6{fo
1404e0 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b nt-size:100%;font-weight:normal;
140500 7d 71 3a 62 65 66 6f 72 65 2c 71 3a 61 66 74 65 72 7b 63 6f 6e 74 65 6e 74 3a 27 27 3b 7d 61 62 }q:before,q:after{content:'';}ab
140520 62 72 2c 61 63 72 6f 6e 79 6d 7b 62 6f 72 64 65 72 3a 30 3b 66 6f 6e 74 2d 76 61 72 69 61 6e 74 br,acronym{border:0;font-variant
140540 3a 6e 6f 72 6d 61 6c 3b 7d 73 75 70 7b 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 :normal;}sup{vertical-align:text
140560 2d 74 6f 70 3b 7d 73 75 62 7b 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 2d 62 6f -top;}sub{vertical-align:text-bo
140580 74 74 6f 6d 3b 7d 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 66 6f 6e 74 ttom;}input,textarea,select{font
1405a0 2d 66 61 6d 69 6c 79 3a 69 6e 68 65 72 69 74 3b 66 6f 6e 74 2d 73 69 7a 65 3a 69 6e 68 65 72 69 -family:inherit;font-size:inheri
1405c0 74 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a 69 6e 68 65 72 69 74 3b 7d 69 6e 70 75 74 2c 74 65 78 t;font-weight:inherit;}input,tex
1405e0 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 2a 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 7d 6c 65 tarea,select{*font-size:100%;}le
140600 67 65 6e 64 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 gend{color:#000;}..............h
140620 74 6d 6c 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 65 65 65 3b 20 70 61 64 64 69 6e 67 3a tml.{.background:.#eee;.padding:
140640 20 31 30 70 78 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 67 20 7b 20 62 6f 72 64 65 72 .10px.}.............img.{.border
140660 3a 20 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 73 66 2d 72 65 73 65 74 63 6f 6e 74 :.0;.}.............#sf-resetcont
140680 65 6e 74 20 7b 20 77 69 64 74 68 3a 39 37 30 70 78 3b 20 6d 61 72 67 69 6e 3a 30 20 61 75 74 6f ent.{.width:970px;.margin:0.auto
1406a0 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 73 73 0a 20 20 20 20 20 20 20 20 3c 2f 73 ;.}.............$css.........</s
1406c0 74 79 6c 65 3e 0a 20 20 20 20 3c 2f 68 65 61 64 3e 0a 20 20 20 20 3c 62 6f 64 79 3e 0a 20 20 20 tyle>.....</head>.....<body>....
1406e0 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c .....$content.....</body>.</html
140700 3e 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 >.EOF;.}..private.function.forma
140720 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 tClass($class).{.$parts.=.explod
140740 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 e('\\',.$class);..return.sprintf
140760 28 27 3c 61 62 62 72 20 74 69 74 6c 65 3d 22 25 73 22 3e 25 73 3c 2f 61 62 62 72 3e 27 2c 20 24 ('<abbr.title="%s">%s</abbr>',.$
140780 63 6c 61 73 73 2c 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 29 3b 0a 7d 0a 0a 70 72 class,.array_pop($parts));.}..pr
1407a0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 74 68 28 24 70 61 74 68 2c ivate.function.formatPath($path,
1407c0 20 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 .$line).{.$path.=.$this->escapeH
1407e0 74 6d 6c 28 24 70 61 74 68 29 3b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 tml($path);.$file.=.preg_match('
140800 23 5b 5e 2f 5c 5c 5c 5c 5d 2a 24 23 27 2c 20 24 70 61 74 68 2c 20 24 66 69 6c 65 29 20 3f 20 24 #[^/\\\\]*$#',.$path,.$file).?.$
140820 66 69 6c 65 5b 30 5d 20 3a 20 24 70 61 74 68 3b 0a 0a 69 66 20 28 24 6c 69 6e 6b 46 6f 72 6d 61 file[0].:.$path;..if.($linkForma
140840 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 20 7b 0a 24 6c 69 t.=.$this->fileLinkFormat).{.$li
140860 6e 6b 20 3d 20 73 74 72 74 72 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 6c 69 nk.=.strtr($this->escapeHtml($li
140880 6e 6b 46 6f 72 6d 61 74 29 2c 20 61 72 72 61 79 28 27 25 66 27 20 3d 3e 20 24 70 61 74 68 2c 20 nkFormat),.array('%f'.=>.$path,.
1408a0 27 25 6c 27 20 3d 3e 20 28 69 6e 74 29 20 24 6c 69 6e 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 '%l'.=>.(int).$line));..return.s
1408c0 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 25 73 22 20 74 69 74 6c 65 3d 22 printf('.in.<a.href="%s".title="
1408e0 47 6f 20 74 6f 20 73 6f 75 72 63 65 22 3e 25 73 20 6c 69 6e 65 20 25 64 3c 2f 61 3e 27 2c 20 24 Go.to.source">%s.line.%d</a>',.$
140900 6c 69 6e 6b 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 link,.$file,.$line);.}..return.s
140920 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 20 74 69 74 6c 65 3d 22 25 73 20 6c 69 6e 65 20 25 33 printf('.in.<a.title="%s.line.%3
140940 24 64 22 20 6f 6e 64 62 6c 63 6c 69 63 6b 3d 22 76 61 72 20 66 3d 74 68 69 73 2e 69 6e 6e 65 72 $d".ondblclick="var.f=this.inner
140960 48 54 4d 4c 3b 74 68 69 73 2e 69 6e 6e 65 72 48 54 4d 4c 3d 74 68 69 73 2e 74 69 74 6c 65 3b 74 HTML;this.innerHTML=this.title;t
140980 68 69 73 2e 74 69 74 6c 65 3d 66 3b 22 3e 25 73 20 6c 69 6e 65 20 25 64 3c 2f 61 3e 27 2c 20 24 his.title=f;">%s.line.%d</a>',.$
1409a0 70 61 74 68 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 path,.$file,.$line);.}.........p
1409c0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 41 72 67 73 28 61 72 72 61 79 rivate.function.formatArgs(array
1409e0 20 24 61 72 67 73 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 .$args).{.$result.=.array();.for
140a00 65 61 63 68 20 28 24 61 72 67 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a each.($args.as.$key.=>.$item).{.
140a20 69 66 20 28 27 6f 62 6a 65 63 74 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f if.('object'.===.$item[0]).{.$fo
140a40 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e 6f 62 6a 65 rmattedValue.=.sprintf('<em>obje
140a60 63 74 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 ct</em>(%s)',.$this->formatClass
140a80 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 61 72 72 61 79 27 20 3d ($item[1]));.}.elseif.('array'.=
140aa0 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d ==.$item[0]).{.$formattedValue.=
140ac0 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e 61 72 72 61 79 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 69 .sprintf('<em>array</em>(%s)',.i
140ae0 73 5f 61 72 72 61 79 28 24 69 74 65 6d 5b 31 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 s_array($item[1]).?.$this->forma
140b00 74 41 72 67 73 28 24 69 74 65 6d 5b 31 5d 29 20 3a 20 24 69 74 65 6d 5b 31 5d 29 3b 0a 7d 20 65 tArgs($item[1]).:.$item[1]);.}.e
140b20 6c 73 65 69 66 20 28 27 73 74 72 69 6e 67 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a lseif.('string'.===.$item[0]).{.
140b40 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 22 $formattedValue.=.sprintf("'%s'"
140b60 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a ,.$this->escapeHtml($item[1]));.
140b80 7d 20 65 6c 73 65 69 66 20 28 27 6e 75 6c 6c 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b }.elseif.('null'.===.$item[0]).{
140ba0 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 6e 75 6c 6c 3c 2f 65 6d .$formattedValue.=.'<em>null</em
140bc0 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 69 74 65 >';.}.elseif.('boolean'.===.$ite
140be0 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 27 m[0]).{.$formattedValue.=.'<em>'
140c00 2e 73 74 72 74 6f 6c 6f 77 65 72 28 76 61 72 5f 65 78 70 6f 72 74 28 24 69 74 65 6d 5b 31 5d 2c .strtolower(var_export($item[1],
140c20 20 74 72 75 65 29 29 2e 27 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 72 65 73 6f .true)).'</em>';.}.elseif.('reso
140c40 75 72 63 65 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 urce'.===.$item[0]).{.$formatted
140c60 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 72 65 73 6f 75 72 63 65 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 Value.=.'<em>resource</em>';.}.e
140c80 6c 73 65 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c lse.{.$formattedValue.=.str_repl
140ca0 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 68 69 73 2d 3e ace("\n",.'',.var_export($this->
140cc0 65 73 63 61 70 65 48 74 6d 6c 28 28 73 74 72 69 6e 67 29 20 24 69 74 65 6d 5b 31 5d 29 2c 20 74 escapeHtml((string).$item[1]),.t
140ce0 72 75 65 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 69 73 5f 69 6e 74 28 24 6b 65 rue));.}..$result[].=.is_int($ke
140d00 79 29 20 3f 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3a 20 73 70 72 69 6e 74 66 28 22 y).?.$formattedValue.:.sprintf("
140d20 27 25 73 27 20 3d 3e 20 25 73 22 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 '%s'.=>.%s",.$this->escapeHtml($
140d40 6b 65 79 29 2c 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 key),.$formattedValue);.}..retur
140d60 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a n.implode(',.',.$result);.}.....
140d80 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 74 66 38 ..protected.static.function.utf8
140da0 48 74 6d 6c 69 7a 65 28 24 73 74 72 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 Htmlize($str).{.@trigger_error('
140dc0 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 The.'.__METHOD__.'.method.is.dep
140de0 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 37 20 61 6e 64 20 77 69 recated.since.Symfony.2.7.and.wi
140e00 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 ll.be.removed.in.3.0.',.E_USER_D
140e20 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 EPRECATED);..return.htmlspecialc
140e40 68 61 72 73 28 24 73 74 72 2c 20 45 4e 54 5f 51 55 4f 54 45 53 20 7c 20 28 5c 50 48 50 5f 56 45 hars($str,.ENT_QUOTES.|.(\PHP_VE
140e60 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 3f 20 45 4e 54 5f 53 55 42 53 54 49 54 55 RSION_ID.>=.50400.?.ENT_SUBSTITU
140e80 54 45 20 3a 20 30 29 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 TE.:.0),.'UTF-8');.}.....private
140ea0 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 48 74 6d 6c 28 24 73 74 72 29 0a 7b 0a 72 65 74 .function.escapeHtml($str).{.ret
140ec0 75 72 6e 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 73 74 72 2c 20 45 4e 54 5f 51 urn.htmlspecialchars($str,.ENT_Q
140ee0 55 4f 54 45 53 20 7c 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 UOTES.|.(\PHP_VERSION_ID.>=.5040
140f00 30 20 3f 20 45 4e 54 5f 53 55 42 53 54 49 54 55 54 45 20 3a 20 30 29 2c 20 24 74 68 69 73 2d 3e 0.?.ENT_SUBSTITUTE.:.0),.$this->
140f20 63 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 charset);.}.....public.function.
140f40 63 61 74 63 68 4f 75 74 70 75 74 28 24 62 75 66 66 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 catchOutput($buffer).{.$this->ca
140f60 75 67 68 74 42 75 66 66 65 72 20 3d 20 24 62 75 66 66 65 72 3b 0a 0a 72 65 74 75 72 6e 20 27 27 ughtBuffer.=.$buffer;..return.''
140f80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 4f 75 74 ;.}.....public.function.cleanOut
140fa0 70 75 74 28 24 62 75 66 66 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 75 67 68 74 put($buffer).{.if.($this->caught
140fc0 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 24 63 6c 65 61 6e 42 75 66 66 65 72 20 3d 20 73 75 62 73 74 Length).{...$cleanBuffer.=.subst
140fe0 72 5f 72 65 70 6c 61 63 65 28 24 62 75 66 66 65 72 2c 20 27 27 2c 20 30 2c 20 24 74 68 69 73 2d r_replace($buffer,.'',.0,.$this-
141000 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6c 65 61 6e >caughtLength);.if.(isset($clean
141020 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 24 62 75 66 66 65 72 20 3d 20 24 63 6c 65 61 6e 42 75 Buffer[0])).{.$buffer.=.$cleanBu
141040 66 66 65 72 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 66 66 65 72 3b 0a 7d 0a 7d 0a 3c ffer;.}.}..return.$buffer;.}.}.<
141060 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
141080 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c \Component\Debug\FatalErrorHandl
1410a0 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 er;..use.Symfony\Component\Debug
1410c0 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f \Exception\ClassNotFoundExceptio
1410e0 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 n;.use.Symfony\Component\Debug\E
141100 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 xception\FatalErrorException;.us
141120 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 44 65 62 75 67 43 e.Symfony\Component\Debug\DebugC
141140 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 lassLoader;.use.Composer\Autoloa
141160 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f d\ClassLoader.as.ComposerClassLo
141180 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6c 61 73 ader;.use.Symfony\Component\Clas
1411a0 73 4c 6f 61 64 65 72 5c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 53 79 6d 66 6f 6e 79 43 6c sLoader\ClassLoader.as.SymfonyCl
1411c0 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 assLoader;.use.Symfony\Component
1411e0 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 \ClassLoader\UniversalClassLoade
141200 72 20 61 73 20 53 79 6d 66 6f 6e 79 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 r.as.SymfonyUniversalClassLoader
141220 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c ;.......class.ClassNotFoundFatal
141240 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 ErrorHandler.implements.FatalErr
141260 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 orHandlerInterface.{....public.f
141280 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 unction.handleError(array.$error
1412a0 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e ,.FatalErrorException.$exception
1412c0 29 0a 7b 0a 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 65 72 72 6f 72 5b ).{.$messageLen.=.strlen($error[
1412e0 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 'message']);.$notFoundSuffix.=.'
141300 5c 27 20 6e 6f 74 20 66 6f 75 6e 64 27 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 \'.not.found';.$notFoundSuffixLe
141320 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 29 3b 0a 69 66 20 n.=.strlen($notFoundSuffix);.if.
141340 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 ($notFoundSuffixLen.>.$messageLe
141360 6e 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 n).{.return;.}..if.(0.!==.substr
141380 5f 63 6f 6d 70 61 72 65 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 _compare($error['message'],.$not
1413a0 46 6f 75 6e 64 53 75 66 66 69 78 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e FoundSuffix,.-$notFoundSuffixLen
1413c0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 )).{.return;.}..foreach.(array('
1413e0 63 6c 61 73 73 27 2c 20 27 69 6e 74 65 72 66 61 63 65 27 2c 20 27 74 72 61 69 74 27 29 20 61 73 class',.'interface',.'trait').as
141400 20 24 74 79 70 65 4e 61 6d 65 29 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 75 63 66 69 72 73 74 28 .$typeName).{.$prefix.=.ucfirst(
141420 24 74 79 70 65 4e 61 6d 65 29 2e 27 20 5c 27 27 3b 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 $typeName).'.\'';.$prefixLen.=.s
141440 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 trlen($prefix);.if.(0.!==.strpos
141460 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a ($error['message'],.$prefix)).{.
141480 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 continue;.}..$fullyQualifiedClas
1414a0 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d sName.=.substr($error['message']
1414c0 2c 20 24 70 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 ,.$prefixLen,.-$notFoundSuffixLe
1414e0 6e 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 n);.if.(false.!==.$namespaceSepa
141500 72 61 74 6f 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 66 75 6c 6c 79 51 75 61 6c 69 ratorIndex.=.strrpos($fullyQuali
141520 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 fiedClassName,.'\\')).{.$classNa
141540 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 me.=.substr($fullyQualifiedClass
141560 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 2b Name,.$namespaceSeparatorIndex.+
141580 20 31 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 20 3d 20 73 75 62 73 74 72 28 24 .1);.$namespacePrefix.=.substr($
1415a0 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 30 2c 20 24 6e 61 6d fullyQualifiedClassName,.0,.$nam
1415c0 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 29 3b 0a 24 6d 65 73 73 61 67 65 20 espaceSeparatorIndex);.$message.
1415e0 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 =.sprintf('Attempted.to.load.%s.
141600 22 25 73 22 20 66 72 6f 6d 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 2e 27 2c 20 24 74 79 70 "%s".from.namespace."%s".',.$typ
141620 65 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 eName,.$className,.$namespacePre
141640 66 69 78 29 3b 0a 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 fix);.$tail.=.'.for.another.name
141660 73 70 61 63 65 3f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 space?';.}.else.{.$className.=.$
141680 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 3b 0a 24 6d 65 73 73 61 67 fullyQualifiedClassName;.$messag
1416a0 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 e.=.sprintf('Attempted.to.load.%
1416c0 73 20 22 25 73 22 20 66 72 6f 6d 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 s."%s".from.the.global.namespace
1416e0 2e 27 2c 20 24 74 79 70 65 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 29 3b 0a 24 74 61 69 .',.$typeName,.$className);.$tai
141700 6c 20 3d 20 27 3f 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 74 l.=.'?';.}..if.($candidates.=.$t
141720 68 69 73 2d 3e 67 65 74 43 6c 61 73 73 43 61 6e 64 69 64 61 74 65 73 28 24 63 6c 61 73 73 4e 61 his->getClassCandidates($classNa
141740 6d 65 29 29 20 7b 0a 24 74 61 69 6c 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 me)).{.$tail.=.array_pop($candid
141760 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 ates).'"?';.if.($candidates).{.$
141780 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c tail.=.'.for.e.g.."'.implode('",
1417a0 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 74 61 69 6c ."',.$candidates).'".or."'.$tail
1417c0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 22 27 2e 24 74 61 69 ;.}.else.{.$tail.=.'.for."'.$tai
1417e0 6c 3b 0a 7d 0a 7d 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 66 6f l;.}.}.$message..=."\nDid.you.fo
141800 72 67 65 74 20 61 20 5c 22 75 73 65 5c 22 20 73 74 61 74 65 6d 65 6e 74 22 2e 24 74 61 69 6c 3b rget.a.\"use\".statement".$tail;
141820 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 ..return.new.ClassNotFoundExcept
141840 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a ion($message,.$exception);.}.}..
141860 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c ..........private.function.getCl
141880 61 73 73 43 61 6e 64 69 64 61 74 65 73 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f assCandidates($class).{.if.(!is_
1418a0 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 73 20 3d 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f array($functions.=.spl_autoload_
1418c0 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a functions())).{.return.array();.
1418e0 7d 0a 0a 0a 20 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 }....$classes.=.array();..foreac
141900 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 h.($functions.as.$function).{.if
141920 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 63 6f 6e 74 69 6e .(!is_array($function)).{.contin
141940 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 ue;.}...if.($function[0].instanc
141960 65 6f 66 20 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 24 66 75 6e 63 74 69 6f eof.DebugClassLoader).{.$functio
141980 6e 20 3d 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 n.=.$function[0]->getClassLoader
1419a0 28 29 3b 0a 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 66 75 6e 63 74 69 6f 6e 29 29 ();....if.(is_object($function))
1419c0 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 3b .{.$function.=.array($function);
1419e0 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a .}..if.(!is_array($function)).{.
141a00 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 continue;.}.}..if.($function[0].
141a20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 65 72 20 7c instanceof.ComposerClassLoader.|
141a40 7c 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e |.$function[0].instanceof.Symfon
141a60 79 43 6c 61 73 73 4c 6f 61 64 65 72 20 7c 7c 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 yClassLoader.||.$function[0].ins
141a80 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 tanceof.SymfonyUniversalClassLoa
141aa0 64 65 72 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 der).{.foreach.($function[0]->ge
141ac0 74 50 72 65 66 69 78 65 73 28 29 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 70 61 74 68 73 tPrefixes().as.$prefix.=>.$paths
141ae0 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a ).{.foreach.($paths.as.$path).{.
141b00 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6c 61 73 73 65 73 2c $classes.=.array_merge($classes,
141b20 20 24 74 68 69 73 2d 3e 66 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 .$this->findClassInPath($path,.$
141b40 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 24 66 75 6e class,.$prefix));.}.}.}.if.($fun
141b60 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 ction[0].instanceof.ComposerClas
141b80 73 4c 6f 61 64 65 72 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d sLoader).{.foreach.($function[0]
141ba0 2d 3e 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 20 61 73 20 24 70 72 65 66 69 78 20 3d ->getPrefixesPsr4().as.$prefix.=
141bc0 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 >.$paths).{.foreach.($paths.as.$
141be0 70 61 74 68 29 20 7b 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 path).{.$classes.=.array_merge($
141c00 63 6c 61 73 73 65 73 2c 20 24 74 68 69 73 2d 3e 66 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 classes,.$this->findClassInPath(
141c20 24 70 61 74 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 7d 0a 7d 0a $path,.$class,.$prefix));.}.}.}.
141c40 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6c 61 73 73 65 73 29 }..return.array_unique($classes)
141c60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e ;.}.........private.function.fin
141c80 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 dClassInPath($path,.$class,.$pre
141ca0 66 69 78 29 0a 7b 0a 69 66 20 28 21 24 70 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 70 61 fix).{.if.(!$path.=.realpath($pa
141cc0 74 68 2e 27 2f 27 2e 73 74 72 74 72 28 24 70 72 65 66 69 78 2c 20 27 5c 5c 5f 27 2c 20 27 2f 2f th.'/'.strtr($prefix,.'\\_',.'//
141ce0 27 29 29 20 3f 3a 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 2e 27 2f 27 2e 64 69 72 6e 61 6d ')).?:.realpath($path.'/'.dirnam
141d00 65 28 73 74 72 74 72 28 24 70 72 65 66 69 78 2c 20 27 5c 5c 5f 27 2c 20 27 2f 2f 27 29 29 29 20 e(strtr($prefix,.'\\_',.'//'))).
141d20 3f 3a 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 ?:.realpath($path)).{.return.arr
141d40 61 79 28 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 ay();.}..$classes.=.array();.$fi
141d60 6c 65 6e 61 6d 65 20 3d 20 24 63 6c 61 73 73 2e 27 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 lename.=.$class.'.php';.foreach.
141d80 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 (new.\RecursiveIteratorIterator(
141da0 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 new.\RecursiveDirectoryIterator(
141dc0 24 70 61 74 68 2c 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 $path,.\RecursiveDirectoryIterat
141de0 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 or::SKIP_DOTS),.\RecursiveIterat
141e00 6f 72 49 74 65 72 61 74 6f 72 3a 3a 4c 45 41 56 45 53 5f 4f 4e 4c 59 29 20 61 73 20 24 66 69 6c orIterator::LEAVES_ONLY).as.$fil
141e20 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 6e 61 6d 65 20 3d 3d 20 24 66 69 6c 65 2d 3e 67 65 74 e).{.if.($filename.==.$file->get
141e40 46 69 6c 65 4e 61 6d 65 28 29 20 26 26 20 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f FileName().&&.$class.=.$this->co
141e60 6e 76 65 72 74 46 69 6c 65 54 6f 43 6c 61 73 73 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2d 3e 67 nvertFileToClass($path,.$file->g
141e80 65 74 50 61 74 68 4e 61 6d 65 28 29 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 24 63 6c 61 73 73 etPathName(),.$prefix)).{.$class
141ea0 65 73 5b 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 es[].=.$class;.}.}..return.$clas
141ec0 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ses;.}.........private.function.
141ee0 63 6f 6e 76 65 72 74 46 69 6c 65 54 6f 43 6c 61 73 73 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2c convertFileToClass($path,.$file,
141f00 20 24 70 72 65 66 69 78 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 .$prefix).{.$candidates.=.array(
141f20 0a 0a 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 ...$namespacedClass.=.str_replac
141f40 65 28 61 72 72 61 79 28 24 70 61 74 68 2e 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f e(array($path.DIRECTORY_SEPARATO
141f60 52 2c 20 27 2e 70 68 70 27 2c 20 27 2f 27 29 2c 20 61 72 72 61 79 28 27 27 2c 20 27 27 2c 20 27 R,.'.php',.'/'),.array('',.'',.'
141f80 5c 5c 27 29 2c 20 24 66 69 6c 65 29 2c 0a 0a 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 \\'),.$file),...$prefix.$namespa
141fa0 63 65 64 43 6c 61 73 73 2c 0a 0a 20 24 70 72 65 66 69 78 2e 27 5c 5c 27 2e 24 6e 61 6d 65 73 70 cedClass,...$prefix.'\\'.$namesp
141fc0 61 63 65 64 43 6c 61 73 73 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 acedClass,...str_replace('\\',.'
141fe0 5f 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 0a 20 73 74 72 5f 72 65 70 _',.$namespacedClass),...str_rep
142000 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 lace('\\',.'_',.$prefix.$namespa
142020 63 65 64 43 6c 61 73 73 29 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 cedClass),...str_replace('\\',.'
142040 5f 27 2c 20 24 70 72 65 66 69 78 2e 27 5c 5c 27 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 _',.$prefix.'\\'.$namespacedClas
142060 73 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 70 72 65 66 69 78 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 s),.);..if.($prefix).{.$candidat
142080 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 es.=.array_filter($candidates,.f
1420a0 75 6e 63 74 69 6f 6e 20 28 24 63 61 6e 64 69 64 61 74 65 29 20 75 73 65 20 28 24 70 72 65 66 69 unction.($candidate).use.($prefi
1420c0 78 29 20 7b 20 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 6e 64 69 64 x).{.return.0.===.strpos($candid
1420e0 61 74 65 2c 20 24 70 72 65 66 69 78 29 3b 20 7d 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 ate,.$prefix);.});.}........fore
142100 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 ach.($candidates.as.$candidate).
142120 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 {.if.($this->classExists($candid
142140 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a ate)).{.return.$candidate;.}.}..
142160 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 66 69 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 require_once.$file;..foreach.($c
142180 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 andidates.as.$candidate).{.if.($
1421a0 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b this->classExists($candidate)).{
1421c0 0a 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a .return.$candidate;.}.}.}.......
1421e0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 6c private.function.classExists($cl
142200 61 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 ass).{.return.class_exists($clas
142220 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 63 s,.false).||.interface_exists($c
142240 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 lass,.false).||.(function_exists
142260 28 27 74 72 61 69 74 5f 65 78 69 73 74 73 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 74 73 ('trait_exists').&&.trait_exists
142280 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ($class,.false));.}.}.<?php.....
1422a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
1422c0 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 t\Debug\FatalErrorHandler;..use.
1422e0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f Symfony\Component\Debug\Exceptio
142300 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 n\FatalErrorException;.......int
142320 65 72 66 61 63 65 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 erface.FatalErrorHandlerInterfac
142340 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 e.{.........public.function.hand
142360 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 leError(array.$error,.FatalError
142380 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a Exception.$exception);.}.<?php..
1423a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
1423c0 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 nent\Debug\FatalErrorHandler;..u
1423e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 se.Symfony\Component\Debug\Excep
142400 74 69 6f 6e 5c 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b tion\UndefinedFunctionException;
142420 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 .use.Symfony\Component\Debug\Exc
142440 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a eption\FatalErrorException;.....
142460 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 ..class.UndefinedFunctionFatalEr
142480 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 rorHandler.implements.FatalError
1424a0 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e HandlerInterface.{....public.fun
1424c0 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 ction.handleError(array.$error,.
1424e0 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a FatalErrorException.$exception).
142500 7b 0a 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 65 72 72 6f 72 5b 27 6d {.$messageLen.=.strlen($error['m
142520 65 73 73 61 67 65 27 5d 29 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 28 29 essage']);.$notFoundSuffix.=.'()
142540 27 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 ';.$notFoundSuffixLen.=.strlen($
142560 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 29 3b 0a 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 53 75 notFoundSuffix);.if.($notFoundSu
142580 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 72 65 74 75 72 6e 3b ffixLen.>.$messageLen).{.return;
1425a0 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 65 72 .}..if.(0.!==.substr_compare($er
1425c0 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 2c ror['message'],.$notFoundSuffix,
1425e0 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 3b .-$notFoundSuffixLen)).{.return;
142600 0a 7d 0a 0a 24 70 72 65 66 69 78 20 3d 20 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 .}..$prefix.=.'Call.to.undefined
142620 20 66 75 6e 63 74 69 6f 6e 20 27 3b 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e .function.';.$prefixLen.=.strlen
142640 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 ($prefix);.if.(0.!==.strpos($err
142660 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 72 65 74 75 72 or['message'],.$prefix)).{.retur
142680 6e 3b 0a 7d 0a 0a 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d n;.}..$fullyQualifiedFunctionNam
1426a0 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 e.=.substr($error['message'],.$p
1426c0 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 3b 0a refixLen,.-$notFoundSuffixLen);.
1426e0 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f if.(false.!==.$namespaceSeparato
142700 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 rIndex.=.strrpos($fullyQualified
142720 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e FunctionName,.'\\')).{.$function
142740 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e Name.=.substr($fullyQualifiedFun
142760 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e ctionName,.$namespaceSeparatorIn
142780 64 65 78 20 2b 20 31 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 20 3d 20 73 75 62 dex.+.1);.$namespacePrefix.=.sub
1427a0 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c str($fullyQualifiedFunctionName,
1427c0 20 30 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 29 3b 0a 24 .0,.$namespaceSeparatorIndex);.$
1427e0 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 message.=.sprintf('Attempted.to.
142800 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 6e 61 6d 65 73 70 61 63 call.function."%s".from.namespac
142820 65 20 22 25 73 22 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 e."%s".',.$functionName,.$namesp
142840 61 63 65 50 72 65 66 69 78 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 4e 61 acePrefix);.}.else.{.$functionNa
142860 6d 65 20 3d 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 me.=.$fullyQualifiedFunctionName
142880 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 ;.$message.=.sprintf('Attempted.
1428a0 74 6f 20 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 74 68 65 20 67 to.call.function."%s".from.the.g
1428c0 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 lobal.namespace.',.$functionName
1428e0 29 3b 0a 7d 0a 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 );.}..$candidates.=.array();.for
142900 65 61 63 68 20 28 67 65 74 5f 64 65 66 69 6e 65 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 20 61 73 each.(get_defined_functions().as
142920 20 24 74 79 70 65 20 3d 3e 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 73 29 .$type.=>.$definedFunctionNames)
142940 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 .{.foreach.($definedFunctionName
142960 73 20 61 73 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 69 66 20 s.as.$definedFunctionName).{.if.
142980 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e (false.!==.$namespaceSeparatorIn
1429a0 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 dex.=.strrpos($definedFunctionNa
1429c0 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d me,.'\\')).{.$definedFunctionNam
1429e0 65 42 61 73 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 eBasename.=.substr($definedFunct
142a00 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 ionName,.$namespaceSeparatorInde
142a20 78 20 2b 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f x.+.1);.}.else.{.$definedFunctio
142a40 6e 4e 61 6d 65 42 61 73 65 6e 61 6d 65 20 3d 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e nNameBasename.=.$definedFunction
142a60 4e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d Name;.}..if.($definedFunctionNam
142a80 65 42 61 73 65 6e 61 6d 65 20 3d 3d 3d 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 24 eBasename.===.$functionName).{.$
142aa0 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 27 5c 5c 27 2e 24 64 65 66 69 6e 65 64 46 75 6e 63 candidates[].=.'\\'.$definedFunc
142ac0 74 69 6f 6e 4e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 tionName;.}.}.}..if.($candidates
142ae0 29 20 7b 0a 73 6f 72 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b 0a 24 6c 61 73 74 20 3d 20 61 ).{.sort($candidates);.$last.=.a
142b00 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 rray_pop($candidates).'"?';.if.(
142b20 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 65 2e $candidates).{.$candidates.=.'e.
142b40 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 g.."'.implode('",."',.$candidate
142b60 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 6c 61 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 6e s).'".or."'.$last;.}.else.{.$can
142b80 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 73 74 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 20 didates.=.'"'.$last;.}.$message.
142ba0 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 6f 20 63 61 6c 6c 20 22 2e 24 63 61 .=."\nDid.you.mean.to.call.".$ca
142bc0 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 ndidates;.}..return.new.Undefine
142be0 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 dFunctionException($message,.$ex
142c00 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 ception);.}.}.<?php...........na
142c20 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c mespace.Symfony\Component\Debug\
142c40 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c FatalErrorHandler;..use.Symfony\
142c60 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 Component\Debug\Exception\FatalE
142c80 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f rrorException;.use.Symfony\Compo
142ca0 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e 64 65 66 69 6e 65 64 4d 65 nent\Debug\Exception\UndefinedMe
142cc0 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 thodException;.......class.Undef
142ce0 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c inedMethodFatalErrorHandler.impl
142d00 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 ements.FatalErrorHandlerInterfac
142d20 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 e.{....public.function.handleErr
142d40 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 or(array.$error,.FatalErrorExcep
142d60 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 2f tion.$exception).{.preg_match('/
142d80 5e 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 28 2e 2a 29 3a 3a ^Call.to.undefined.method.(.*)::
142da0 28 2e 2a 29 5c 28 5c 29 24 2f 27 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 (.*)\(\)$/',.$error['message'],.
142dc0 24 6d 61 74 63 68 65 73 29 3b 0a 69 66 20 28 21 24 6d 61 74 63 68 65 73 29 20 7b 0a 72 65 74 75 $matches);.if.(!$matches).{.retu
142de0 72 6e 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b rn;.}..$className.=.$matches[1];
142e00 0a 24 6d 65 74 68 6f 64 4e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 0a 24 6d 65 .$methodName.=.$matches[2];..$me
142e20 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 63 61 ssage.=.sprintf('Attempted.to.ca
142e40 6c 6c 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 22 25 73 ll.an.undefined.method.named."%s
142e60 22 20 6f 66 20 63 6c 61 73 73 20 22 25 73 22 2e 27 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 ".of.class."%s".',.$methodName,.
142e80 24 63 6c 61 73 73 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 $className);..if.(!class_exists(
142ea0 24 63 6c 61 73 73 4e 61 6d 65 29 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 74 68 6f 64 73 $className).||.null.===.$methods
142ec0 20 3d 20 67 65 74 5f 63 6c 61 73 73 5f 6d 65 74 68 6f 64 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 .=.get_class_methods($className)
142ee0 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 ).{...return.new.UndefinedMethod
142f00 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b Exception($message,.$exception);
142f20 0a 7d 0a 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 .}..$candidates.=.array();.forea
142f40 63 68 20 28 24 6d 65 74 68 6f 64 73 20 61 73 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 ch.($methods.as.$definedMethodNa
142f60 6d 65 29 20 7b 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6d 65 74 68 6f 64 me).{.$lev.=.levenshtein($method
142f80 4e 61 6d 65 2c 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 3b 0a 69 66 20 28 24 Name,.$definedMethodName);.if.($
142fa0 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6d 65 74 68 6f 64 4e 61 6d 65 29 20 2f 20 33 20 7c lev.<=.strlen($methodName)./.3.|
142fc0 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 64 65 66 69 6e 65 64 4d 65 74 68 6f |.false.!==.strpos($definedMetho
142fe0 64 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 dName,.$methodName)).{.$candidat
143000 65 73 5b 5d 20 3d 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 3b 0a 7d 0a 7d 0a 0a es[].=.$definedMethodName;.}.}..
143020 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 73 6f 72 74 28 24 63 61 6e 64 69 64 61 if.($candidates).{.sort($candida
143040 74 65 73 29 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 61 tes);.$last.=.array_pop($candida
143060 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 63 tes).'"?';.if.($candidates).{.$c
143080 61 6e 64 69 64 61 74 65 73 20 3d 20 27 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c andidates.=.'e.g.."'.implode('",
1430a0 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 6c 61 73 74 ."',.$candidates).'".or."'.$last
1430c0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 ;.}.else.{.$candidates.=.'"'.$la
1430e0 73 74 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 6d 65 st;.}..$message..=."\nDid.you.me
143100 61 6e 20 74 6f 20 63 61 6c 6c 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 72 65 74 an.to.call.".$candidates;.}..ret
143120 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e urn.new.UndefinedMethodException
143140 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 ($message,.$exception);.}.}.Copy
143160 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e right.(c).2004-2018.Fabien.Poten
143180 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 cier..Permission.is.hereby.grant
1431a0 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f ed,.free.of.charge,.to.any.perso
1431c0 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 n.obtaining.a.copy.of.this.softw
1431e0 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e are.and.associated.documentation
143200 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c .files.(the."Software"),.to.deal
143220 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 .in.the.Software.without.restric
143240 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 tion,.including.without.limitati
143260 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 on.the.rights.to.use,.copy,.modi
143280 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 fy,.merge,.publish,.distribute,.
1432a0 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f sublicense,.and/or.sell.copies.o
1432c0 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 f.the.Software,.and.to.permit.pe
1432e0 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 rsons.to.whom.the.Software.is.fu
143300 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 rnished.to.do.so,.subject.to.the
143320 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 .following.conditions:..The.abov
143340 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
143360 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
143380 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 in.all.copies.or.substantial.por
1433a0 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 tions.of.the.Software...THE.SOFT
1433c0 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
1433e0 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
143400 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 OR.IMPLIED,.INCLUDING.BUT.NOT.LI
143420 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
143440 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 ANTABILITY,.FITNESS.FOR.A.PARTIC
143460 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 ULAR.PURPOSE.AND.NONINFRINGEMENT
143480 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 ..IN.NO.EVENT.SHALL.THE.AUTHORS.
1434a0 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 OR.COPYRIGHT.HOLDERS.BE.LIABLE.F
1434c0 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c OR.ANY.CLAIM,.DAMAGES.OR.OTHER.L
1434e0 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f IABILITY,.WHETHER.IN.AN.ACTION.O
143500 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 F.CONTRACT,.TORT.OR.OTHERWISE,.A
143520 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 RISING.FROM,.OUT.OF.OR.IN.CONNEC
143540 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 TION.WITH.THE.SOFTWARE.OR.THE.US
143560 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 E.OR.OTHER.DEALINGS.IN.THE.SOFTW
143580 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 ARE..<?php...........namespace.S
1435a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 ymfony\Component\Filesystem\Exce
1435c0 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e ption;.......interface.Exception
1435e0 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 Interface.{.}.<?php...........na
143600 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 mespace.Symfony\Component\Filesy
143620 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c stem\Exception;........class.Fil
143640 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 4f 45 78 63 eNotFoundException.extends.IOExc
143660 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 eption.{.public.function.__const
143680 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 24 63 6f 64 65 20 3d 20 30 2c ruct($message.=.null,.$code.=.0,
1436a0 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 2c 20 24 70 .\Exception.$previous.=.null,.$p
1436c0 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 73 73 ath.=.null).{.if.(null.===.$mess
1436e0 61 67 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 61 74 68 29 20 7b 0a 24 6d 65 age).{.if.(null.===.$path).{.$me
143700 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 ssage.=.'File.could.not.be.found
143720 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 .';.}.else.{.$message.=.sprintf(
143740 27 46 69 6c 65 20 22 25 73 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 2c 'File."%s".could.not.be.found.',
143760 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 .$path);.}.}..parent::__construc
143780 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 2c 20 24 70 t($message,.$code,.$previous,.$p
1437a0 61 74 68 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ath);.}.}.<?php...........namesp
1437c0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d ace.Symfony\Component\Filesystem
1437e0 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 4f 45 78 63 65 \Exception;.........class.IOExce
143800 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 ption.extends.\RuntimeException.
143820 69 6d 70 6c 65 6d 65 6e 74 73 20 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a implements.IOExceptionInterface.
143840 7b 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f {.private.$path;..public.functio
143860 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 20 3d 20 n.__construct($message,.$code.=.
143880 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 2c 20 0,.\Exception.$previous.=.null,.
1438a0 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 $path.=.null).{.$this->path.=.$p
1438c0 61 74 68 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 ath;..parent::__construct($messa
1438e0 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ge,.$code,.$previous);.}.....pub
143900 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getPath().{.return.
143920 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $this->path;.}.}.<?php..........
143940 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c .namespace.Symfony\Component\Fil
143960 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 esystem\Exception;.......interfa
143980 63 65 20 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 ce.IOExceptionInterface.extends.
1439a0 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ExceptionInterface.{......public
1439c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a .function.getPath();.}.<?php....
1439e0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
143a00 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 nt\Filesystem;..use.Symfony\Comp
143a20 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 onent\Filesystem\Exception\IOExc
143a40 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 eption;.use.Symfony\Component\Fi
143a60 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 lesystem\Exception\FileNotFoundE
143a80 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d xception;.......class.Filesystem
143aa0 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a 0a 0a .{.private.static.$lastError;...
143ac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 .............public.function.cop
143ae0 79 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 2c 20 24 6f 76 65 y($originFile,.$targetFile,.$ove
143b00 72 77 72 69 74 65 4e 65 77 65 72 46 69 6c 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6f 72 69 rwriteNewerFiles.=.false).{.$ori
143b20 67 69 6e 49 73 4c 6f 63 61 6c 20 3d 20 73 74 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 6f 72 ginIsLocal.=.stream_is_local($or
143b40 69 67 69 6e 46 69 6c 65 29 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6f 72 69 67 iginFile).||.0.===.stripos($orig
143b60 69 6e 46 69 6c 65 2c 20 27 66 69 6c 65 3a 2f 2f 27 29 3b 0a 69 66 20 28 24 6f 72 69 67 69 6e 49 inFile,.'file://');.if.($originI
143b80 73 4c 6f 63 61 6c 20 26 26 20 21 69 73 5f 66 69 6c 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 29 sLocal.&&.!is_file($originFile))
143ba0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 .{.throw.new.FileNotFoundExcepti
143bc0 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 on(sprintf('Failed.to.copy."%s".
143be0 62 65 63 61 75 73 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 because.file.does.not.exist.',.$
143c00 6f 72 69 67 69 6e 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c originFile),.0,.null,.$originFil
143c20 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 64 69 72 6e 61 6d 65 28 24 74 61 72 e);.}..$this->mkdir(dirname($tar
143c40 67 65 74 46 69 6c 65 29 29 3b 0a 0a 24 64 6f 43 6f 70 79 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 getFile));..$doCopy.=.true;.if.(
143c60 21 24 6f 76 65 72 77 72 69 74 65 4e 65 77 65 72 46 69 6c 65 73 20 26 26 20 6e 75 6c 6c 20 3d 3d !$overwriteNewerFiles.&&.null.==
143c80 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 50 48 50 5f 55 52 4c =.parse_url($originFile,.PHP_URL
143ca0 5f 48 4f 53 54 29 20 26 26 20 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 29 20 _HOST).&&.is_file($targetFile)).
143cc0 7b 0a 24 64 6f 43 6f 70 79 20 3d 20 66 69 6c 65 6d 74 69 6d 65 28 24 6f 72 69 67 69 6e 46 69 6c {.$doCopy.=.filemtime($originFil
143ce0 65 29 20 3e 20 66 69 6c 65 6d 74 69 6d 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a 7d 0a 0a e).>.filemtime($targetFile);.}..
143d00 69 66 20 28 24 64 6f 43 6f 70 79 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 if.($doCopy).{...if.(false.===.$
143d20 73 6f 75 72 63 65 20 3d 20 40 66 6f 70 65 6e 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 27 72 27 source.=.@fopen($originFile,.'r'
143d40 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e )).{.throw.new.IOException(sprin
143d60 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 tf('Failed.to.copy."%s".to."%s".
143d80 62 65 63 61 75 73 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 because.source.file.could.not.be
143da0 20 6f 70 65 6e 65 64 20 66 6f 72 20 72 65 61 64 69 6e 67 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 .opened.for.reading.',.$originFi
143dc0 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 le,.$targetFile),.0,.null,.$orig
143de0 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 61 72 inFile);.}....if.(false.===.$tar
143e00 67 65 74 20 3d 20 40 66 6f 70 65 6e 28 24 74 61 72 67 65 74 46 69 6c 65 2c 20 27 77 27 2c 20 6e get.=.@fopen($targetFile,.'w',.n
143e20 75 6c 6c 2c 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 65 61 74 65 28 61 72 72 61 79 ull,.stream_context_create(array
143e40 28 27 66 74 70 27 20 3d 3e 20 61 72 72 61 79 28 27 6f 76 65 72 77 72 69 74 65 27 20 3d 3e 20 74 ('ftp'.=>.array('overwrite'.=>.t
143e60 72 75 65 29 29 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e rue))))).{.throw.new.IOException
143e80 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f (sprintf('Failed.to.copy."%s".to
143ea0 20 22 25 73 22 20 62 65 63 61 75 73 65 20 74 61 72 67 65 74 20 66 69 6c 65 20 63 6f 75 6c 64 20 ."%s".because.target.file.could.
143ec0 6e 6f 74 20 62 65 20 6f 70 65 6e 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 2e 27 2c 20 24 6f 72 not.be.opened.for.writing.',.$or
143ee0 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c iginFile,.$targetFile),.0,.null,
143f00 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 24 62 79 74 65 73 43 6f 70 69 65 64 20 3d .$originFile);.}..$bytesCopied.=
143f20 20 73 74 72 65 61 6d 5f 63 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f 75 72 63 65 2c 20 .stream_copy_to_stream($source,.
143f40 24 74 61 72 67 65 74 29 3b 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b 0a 66 63 6c 6f 73 $target);.fclose($source);.fclos
143f60 65 28 24 74 61 72 67 65 74 29 3b 0a 75 6e 73 65 74 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 e($target);.unset($source,.$targ
143f80 65 74 29 3b 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 29 et);..if.(!is_file($targetFile))
143fa0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 .{.throw.new.IOException(sprintf
143fc0 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c ('Failed.to.copy."%s".to."%s".',
143fe0 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e .$originFile,.$targetFile),.0,.n
144000 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 72 69 67 69 ull,.$originFile);.}..if.($origi
144020 6e 49 73 4c 6f 63 61 6c 29 20 7b 0a 0a 20 40 63 68 6d 6f 64 28 24 74 61 72 67 65 74 46 69 6c 65 nIsLocal).{...@chmod($targetFile
144040 2c 20 66 69 6c 65 70 65 72 6d 73 28 24 74 61 72 67 65 74 46 69 6c 65 29 20 7c 20 28 66 69 6c 65 ,.fileperms($targetFile).|.(file
144060 70 65 72 6d 73 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 20 26 20 30 31 31 31 29 29 3b 0a 0a 69 66 perms($originFile).&.0111));..if
144080 20 28 24 62 79 74 65 73 43 6f 70 69 65 64 20 21 3d 3d 20 24 62 79 74 65 73 4f 72 69 67 69 6e 20 .($bytesCopied.!==.$bytesOrigin.
1440a0 3d 20 66 69 6c 65 73 69 7a 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 =.filesize($originFile)).{.throw
1440c0 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 .new.IOException(sprintf('Failed
1440e0 20 74 6f 20 63 6f 70 79 20 74 68 65 20 77 68 6f 6c 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 22 25 .to.copy.the.whole.content.of."%
144100 73 22 20 74 6f 20 22 25 73 22 20 28 25 67 20 6f 66 20 25 67 20 62 79 74 65 73 20 63 6f 70 69 65 s".to."%s".(%g.of.%g.bytes.copie
144120 64 29 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 2c 20 d).',.$originFile,.$targetFile,.
144140 24 62 79 74 65 73 43 6f 70 69 65 64 2c 20 24 62 79 74 65 73 4f 72 69 67 69 6e 29 2c 20 30 2c 20 $bytesCopied,.$bytesOrigin),.0,.
144160 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a null,.$originFile);.}.}.}.}.....
144180 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 6b 64 69 72 28 24 64 69 72 73 .....public.function.mkdir($dirs
1441a0 2c 20 24 6d 6f 64 65 20 3d 20 30 37 37 37 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 ,.$mode.=.0777).{.foreach.($this
1441c0 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 64 69 72 73 29 20 61 73 20 24 64 69 72 29 20 7b 0a 69 ->toIterator($dirs).as.$dir).{.i
1441e0 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a f.(is_dir($dir)).{.continue;.}..
144200 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 6d 6b 64 69 72 27 2c 20 24 64 69 72 2c 20 24 6d if.(!self::box('mkdir',.$dir,.$m
144220 6f 64 65 2c 20 74 72 75 65 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 ode,.true)).{.if.(!is_dir($dir))
144240 20 7b 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 20 7b 0a 74 68 72 .{...if.(self::$lastError).{.thr
144260 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c ow.new.IOException(sprintf('Fail
144280 65 64 20 74 6f 20 63 72 65 61 74 65 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 64 69 72 2c 20 73 ed.to.create."%s":.%s.',.$dir,.s
1442a0 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 elf::$lastError),.0,.null,.$dir)
1442c0 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 ;.}.throw.new.IOException(sprint
1442e0 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 22 25 73 22 27 2c 20 24 64 69 72 29 f('Failed.to.create."%s"',.$dir)
144300 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ,.0,.null,.$dir);.}.}.}.}.......
144320 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 24 66 69 6c 65 73 29 ..public.function.exists($files)
144340 0a 7b 0a 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 54 48 4c .{.$maxPathLength.=.PHP_MAXPATHL
144360 45 4e 20 2d 20 32 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 EN.-.2;..foreach.($this->toItera
144380 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 73 74 72 6c tor($files).as.$file).{.if.(strl
1443a0 65 6e 28 24 66 69 6c 65 29 20 3e 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 20 7b 0a 74 68 en($file).>.$maxPathLength).{.th
1443c0 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 75 row.new.IOException(sprintf('Cou
1443e0 6c 64 20 6e 6f 74 20 63 68 65 63 6b 20 69 66 20 66 69 6c 65 20 65 78 69 73 74 20 62 65 63 61 75 ld.not.check.if.file.exist.becau
144400 73 65 20 70 61 74 68 20 6c 65 6e 67 74 68 20 65 78 63 65 65 64 73 20 25 64 20 63 68 61 72 61 63 se.path.length.exceeds.%d.charac
144420 74 65 72 73 2e 27 2c 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 6e 75 6c 6c ters.',.$maxPathLength),.0,.null
144440 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 ,.$file);.}..if.(!file_exists($f
144460 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 ile)).{.return.false;.}.}..retur
144480 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.true;.}...........public.funct
1444a0 69 6f 6e 20 74 6f 75 63 68 28 24 66 69 6c 65 73 2c 20 24 74 69 6d 65 20 3d 20 6e 75 6c 6c 2c 20 ion.touch($files,.$time.=.null,.
1444c0 24 61 74 69 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d $atime.=.null).{.foreach.($this-
1444e0 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a >toIterator($files).as.$file).{.
144500 24 74 6f 75 63 68 20 3d 20 24 74 69 6d 65 20 3f 20 40 74 6f 75 63 68 28 24 66 69 6c 65 2c 20 24 $touch.=.$time.?.@touch($file,.$
144520 74 69 6d 65 2c 20 24 61 74 69 6d 65 29 20 3a 20 40 74 6f 75 63 68 28 24 66 69 6c 65 29 3b 0a 69 time,.$atime).:.@touch($file);.i
144540 66 20 28 74 72 75 65 20 21 3d 3d 20 24 74 6f 75 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 f.(true.!==.$touch).{.throw.new.
144560 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 74 IOException(sprintf('Failed.to.t
144580 6f 75 63 68 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 ouch."%s".',.$file),.0,.null,.$f
1445a0 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ile);.}.}.}.........public.funct
1445c0 69 6f 6e 20 72 65 6d 6f 76 65 28 24 66 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 66 69 6c 65 73 20 ion.remove($files).{.if.($files.
1445e0 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 24 66 69 6c 65 instanceof.\Traversable).{.$file
144600 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6c 65 73 2c 20 66 61 s.=.iterator_to_array($files,.fa
144620 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 69 6c 65 73 lse);.}.elseif.(!is_array($files
144640 29 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 28 24 66 69 6c 65 73 29 3b 0a 7d 0a 24 )).{.$files.=.array($files);.}.$
144660 66 69 6c 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 66 69 6c 65 73 29 3b 0a 66 files.=.array_reverse($files);.f
144680 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 69 oreach.($files.as.$file).{.if.(i
1446a0 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 28 73 65 6c 66 3a 3a 62 s_link($file)).{...if.(!(self::b
1446c0 6f 78 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c 65 29 20 7c 7c 20 27 5c 5c 27 20 21 3d 3d 20 ox('unlink',.$file).||.'\\'.!==.
1446e0 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 73 65 6c 66 3a 3a 62 6f 78 DIRECTORY_SEPARATOR.||.self::box
144700 28 27 72 6d 64 69 72 27 2c 20 24 66 69 6c 65 29 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 ('rmdir',.$file)).&&.file_exists
144720 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e ($file)).{.throw.new.IOException
144740 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 73 79 6d 6c 69 (sprintf('Failed.to.remove.symli
144760 6e 6b 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 66 69 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 nk."%s":.%s.',.$file,.self::$las
144780 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 tError));.}.}.elseif.(is_dir($fi
1447a0 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 6e 65 77 20 5c 46 69 6c 65 73 79 le)).{.$this->remove(new.\Filesy
1447c0 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 2c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 stemIterator($file,.\FilesystemI
1447e0 74 65 72 61 74 6f 72 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 50 41 54 48 4e 41 4d 45 20 7c 20 5c terator::CURRENT_AS_PATHNAME.|.\
144800 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 29 3b FilesystemIterator::SKIP_DOTS));
144820 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 72 6d 64 69 72 27 2c 20 24 66 69 6c 65 29 ..if.(!self::box('rmdir',.$file)
144840 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 .&&.file_exists($file)).{.throw.
144860 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 new.IOException(sprintf('Failed.
144880 74 6f 20 72 65 6d 6f 76 65 20 64 69 72 65 63 74 6f 72 79 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 to.remove.directory."%s":.%s.',.
1448a0 24 66 69 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 20 65 $file,.self::$lastError));.}.}.e
1448c0 6c 73 65 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c lseif.(!self::box('unlink',.$fil
1448e0 65 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f e).&&.file_exists($file)).{.thro
144900 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 w.new.IOException(sprintf('Faile
144920 64 20 74 6f 20 72 65 6d 6f 76 65 20 66 69 6c 65 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 66 69 d.to.remove.file."%s":.%s.',.$fi
144940 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a le,.self::$lastError));.}.}.}...
144960 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 6d 6f 64 28 24 .........public.function.chmod($
144980 66 69 6c 65 73 2c 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 20 3d 20 30 30 30 30 2c 20 24 72 65 files,.$mode,.$umask.=.0000,.$re
1449a0 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 cursive.=.false).{.foreach.($thi
1449c0 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 s->toIterator($files).as.$file).
1449e0 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 6d 6f 64 28 24 66 69 6c 65 2c 20 24 6d 6f {.if.(true.!==.@chmod($file,.$mo
144a00 64 65 20 26 20 7e 24 75 6d 61 73 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 de.&.~$umask)).{.throw.new.IOExc
144a20 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6d 6f 64 20 eption(sprintf('Failed.to.chmod.
144a40 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 file."%s".',.$file),.0,.null,.$f
144a60 69 6c 65 29 3b 0a 7d 0a 69 66 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 ile);.}.if.($recursive.&&.is_dir
144a80 28 24 66 69 6c 65 29 20 26 26 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 ($file).&&.!is_link($file)).{.$t
144aa0 68 69 73 2d 3e 63 68 6d 6f 64 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 his->chmod(new.\FilesystemIterat
144ac0 6f 72 28 24 66 69 6c 65 29 2c 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 2c 20 74 72 75 65 29 3b or($file),.$mode,.$umask,.true);
144ae0 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .}.}.}...........public.function
144b00 20 63 68 6f 77 6e 28 24 66 69 6c 65 73 2c 20 24 75 73 65 72 2c 20 24 72 65 63 75 72 73 69 76 65 .chown($files,.$user,.$recursive
144b20 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 .=.false).{.foreach.($this->toIt
144b40 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 erator($files).as.$file).{.if.($
144b60 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 29 20 26 26 20 21 69 recursive.&&.is_dir($file).&&.!i
144b80 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 6f 77 6e 28 6e 65 s_link($file)).{.$this->chown(ne
144ba0 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 29 2c 20 24 75 w.\FilesystemIterator($file),.$u
144bc0 73 65 72 2c 20 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 ser,.true);.}.if.(is_link($file)
144be0 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6c 63 68 6f 77 6e 27 29 29 20 7b .&&.function_exists('lchown')).{
144c00 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 6f 77 6e 28 24 66 69 6c 65 2c 20 24 75 73 .if.(true.!==.@lchown($file,.$us
144c20 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 er)).{.throw.new.IOException(spr
144c40 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 6e 20 66 69 6c 65 20 22 25 73 22 2e intf('Failed.to.chown.file."%s".
144c60 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 ',.$file),.0,.null,.$file);.}.}.
144c80 65 6c 73 65 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 6f 77 6e 28 24 66 69 6c 65 else.{.if.(true.!==.@chown($file
144ca0 2c 20 24 75 73 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f ,.$user)).{.throw.new.IOExceptio
144cc0 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 6e 20 66 69 6c 65 20 n(sprintf('Failed.to.chown.file.
144ce0 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b "%s".',.$file),.0,.null,.$file);
144d00 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .}.}.}.}...........public.functi
144d20 6f 6e 20 63 68 67 72 70 28 24 66 69 6c 65 73 2c 20 24 67 72 6f 75 70 2c 20 24 72 65 63 75 72 73 on.chgrp($files,.$group,.$recurs
144d40 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 ive.=.false).{.foreach.($this->t
144d60 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 oIterator($files).as.$file).{.if
144d80 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 29 20 26 26 .($recursive.&&.is_dir($file).&&
144da0 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 67 72 70 .!is_link($file)).{.$this->chgrp
144dc0 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 29 2c (new.\FilesystemIterator($file),
144de0 20 24 67 72 6f 75 70 2c 20 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 .$group,.true);.}.if.(is_link($f
144e00 69 6c 65 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6c 63 68 67 72 70 27 ile).&&.function_exists('lchgrp'
144e20 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 67 72 70 28 24 66 69 6c 65 2c )).{.if.(true.!==.@lchgrp($file,
144e40 20 24 67 72 6f 75 70 29 20 7c 7c 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 .$group).||.(defined('HHVM_VERSI
144e60 4f 4e 27 29 20 26 26 20 21 70 6f 73 69 78 5f 67 65 74 67 72 6e 61 6d 28 24 67 72 6f 75 70 29 29 ON').&&.!posix_getgrnam($group))
144e80 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 ).{.throw.new.IOException(sprint
144ea0 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 70 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 f('Failed.to.chgrp.file."%s".',.
144ec0 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 65 6c 73 $file),.0,.null,.$file);.}.}.els
144ee0 65 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 67 72 70 28 24 66 69 6c 65 2c 20 24 e.{.if.(true.!==.@chgrp($file,.$
144f00 67 72 6f 75 70 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 group)).{.throw.new.IOException(
144f20 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 70 20 66 69 6c 65 20 22 25 sprintf('Failed.to.chgrp.file."%
144f40 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d s".',.$file),.0,.null,.$file);.}
144f60 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .}.}.}............public.functio
144f80 6e 20 72 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 2c 20 24 6f 76 65 72 n.rename($origin,.$target,.$over
144fa0 77 72 69 74 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 69 66 20 28 21 24 6f 76 65 72 77 72 69 write.=.false).{...if.(!$overwri
144fc0 74 65 20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 24 74 61 72 67 65 74 29 te.&&.$this->isReadable($target)
144fe0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 ).{.throw.new.IOException(sprint
145000 66 28 27 43 61 6e 6e 6f 74 20 72 65 6e 61 6d 65 20 62 65 63 61 75 73 65 20 74 68 65 20 74 61 72 f('Cannot.rename.because.the.tar
145020 67 65 74 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 74 61 72 67 get."%s".already.exists.',.$targ
145040 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 74 et),.0,.null,.$target);.}..if.(t
145060 72 75 65 20 21 3d 3d 20 40 72 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 rue.!==.@rename($origin,.$target
145080 29 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 6f 72 69 67 69 6e 29 29 20 7b 0a 0a 20 24 74 )).{.if.(is_dir($origin)).{...$t
1450a0 68 69 73 2d 3e 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 2c 20 6e 75 his->mirror($origin,.$target,.nu
1450c0 6c 6c 2c 20 61 72 72 61 79 28 27 6f 76 65 72 72 69 64 65 27 20 3d 3e 20 24 6f 76 65 72 77 72 69 ll,.array('override'.=>.$overwri
1450e0 74 65 2c 20 27 64 65 6c 65 74 65 27 20 3d 3e 20 24 6f 76 65 72 77 72 69 74 65 29 29 3b 0a 24 74 te,.'delete'.=>.$overwrite));.$t
145100 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 6f 72 69 67 69 6e 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d his->remove($origin);..return;.}
145120 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 .throw.new.IOException(sprintf('
145140 43 61 6e 6e 6f 74 20 72 65 6e 61 6d 65 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c 20 24 6f Cannot.rename."%s".to."%s".',.$o
145160 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 rigin,.$target),.0,.null,.$targe
145180 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 t);.}.}...........private.functi
1451a0 6f 6e 20 69 73 52 65 61 64 61 62 6c 65 28 24 66 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 6d 61 78 50 on.isReadable($filename).{.$maxP
1451c0 61 74 68 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 54 48 4c 45 4e 20 2d 20 32 3b 0a athLength.=.PHP_MAXPATHLEN.-.2;.
1451e0 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 66 69 6c 65 6e 61 6d 65 29 20 3e 20 24 6d 61 78 50 61 74 .if.(strlen($filename).>.$maxPat
145200 68 4c 65 6e 67 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e hLength).{.throw.new.IOException
145220 28 73 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 68 65 63 6b 20 69 66 20 66 69 6c (sprintf('Could.not.check.if.fil
145240 65 20 69 73 20 72 65 61 64 61 62 6c 65 20 62 65 63 61 75 73 65 20 70 61 74 68 20 6c 65 6e 67 74 e.is.readable.because.path.lengt
145260 68 20 65 78 63 65 65 64 73 20 25 64 20 63 68 61 72 61 63 74 65 72 73 2e 27 2c 20 24 6d 61 78 50 h.exceeds.%d.characters.',.$maxP
145280 61 74 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b athLength),.0,.null,.$filename);
1452a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 6e 61 6d 65 .}..return.is_readable($filename
1452c0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 );.}...........public.function.s
1452e0 79 6d 6c 69 6e 6b 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 ymlink($originDir,.$targetDir,.$
145300 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 27 5c 5c copyOnWindows.=.false).{.if.('\\
145320 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 6f 72 '.===.DIRECTORY_SEPARATOR).{.$or
145340 69 67 69 6e 44 69 72 20 3d 20 73 74 72 74 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 27 2f 27 2c iginDir.=.strtr($originDir,.'/',
145360 20 27 5c 5c 27 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 73 74 72 74 72 28 24 74 61 72 67 .'\\');.$targetDir.=.strtr($targ
145380 65 74 44 69 72 2c 20 27 2f 27 2c 20 27 5c 5c 27 29 3b 0a 0a 69 66 20 28 24 63 6f 70 79 4f 6e 57 etDir,.'/',.'\\');..if.($copyOnW
1453a0 69 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 44 indows).{.$this->mirror($originD
1453c0 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 24 ir,.$targetDir);..return;.}.}..$
1453e0 74 68 69 73 2d 3e 6d 6b 64 69 72 28 64 69 72 6e 61 6d 65 28 24 74 61 72 67 65 74 44 69 72 29 29 this->mkdir(dirname($targetDir))
145400 3b 0a 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 69 66 ;..if.(is_link($targetDir)).{.if
145420 20 28 72 65 61 64 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 72 29 20 3d 3d 3d 20 24 6f 72 69 67 .(readlink($targetDir).===.$orig
145440 69 6e 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 inDir).{.return;.}.$this->remove
145460 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 ($targetDir);.}..if.(!self::box(
145480 27 73 79 6d 6c 69 6e 6b 27 2c 20 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 'symlink',.$originDir,.$targetDi
1454a0 72 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 r)).{.if.(null.!==.self::$lastEr
1454c0 72 6f 72 29 20 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 ror).{.if.('\\'.===.DIRECTORY_SE
1454e0 50 41 52 41 54 4f 52 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 73 65 6c 66 PARATOR.&&.false.!==.strpos(self
145500 3a 3a 24 6c 61 73 74 45 72 72 6f 72 2c 20 27 65 72 72 6f 72 20 63 6f 64 65 28 31 33 31 34 29 27 ::$lastError,.'error.code(1314)'
145520 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 )).{.throw.new.IOException('Unab
145540 6c 65 20 74 6f 20 63 72 65 61 74 65 20 73 79 6d 6c 69 6e 6b 20 64 75 65 20 74 6f 20 65 72 72 6f le.to.create.symlink.due.to.erro
145560 72 20 63 6f 64 65 20 31 33 31 34 3a 20 5c 27 41 20 72 65 71 75 69 72 65 64 20 70 72 69 76 69 6c r.code.1314:.\'A.required.privil
145580 65 67 65 20 69 73 20 6e 6f 74 20 68 65 6c 64 20 62 79 20 74 68 65 20 63 6c 69 65 6e 74 5c 27 2e ege.is.not.held.by.the.client\'.
1455a0 20 44 6f 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 41 64 6d 69 6e 69 .Do.you.have.the.required.Admini
1455c0 73 74 72 61 74 6f 72 2d 72 69 67 68 74 73 3f 27 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 strator-rights?',.0,.null,.$targ
1455e0 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f etDir);.}.}.throw.new.IOExceptio
145600 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 73 79 6d 62 n(sprintf('Failed.to.create.symb
145620 6f 6c 69 63 20 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 20 74 6f 20 22 25 73 22 2e 27 2c 20 24 olic.link.from."%s".to."%s".',.$
145640 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c originDir,.$targetDir),.0,.null,
145660 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .$targetDir);.}.}..........publi
145680 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 50 61 74 68 52 65 6c 61 74 69 76 65 28 24 65 6e 64 c.function.makePathRelative($end
1456a0 50 61 74 68 2c 20 24 73 74 61 72 74 50 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d Path,.$startPath).{...if.('\\'.=
1456c0 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 65 6e 64 50 61 ==.DIRECTORY_SEPARATOR).{.$endPa
1456e0 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 65 6e 64 th.=.str_replace('\\',.'/',.$end
145700 50 61 74 68 29 3b 0a 24 73 74 61 72 74 50 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 Path);.$startPath.=.str_replace(
145720 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 73 74 61 72 74 50 61 74 68 29 3b 0a 7d 0a 0a 24 73 74 72 69 '\\',.'/',.$startPath);.}..$stri
145740 70 44 72 69 76 65 4c 65 74 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 29 20 pDriveLetter.=.function.($path).
145760 7b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 70 61 74 68 29 20 3e 20 32 20 26 26 20 27 3a 27 20 3d {.if.(strlen($path).>.2.&&.':'.=
145780 3d 3d 20 24 70 61 74 68 5b 31 5d 20 26 26 20 27 2f 27 20 3d 3d 3d 20 24 70 61 74 68 5b 32 5d 20 ==.$path[1].&&.'/'.===.$path[2].
1457a0 26 26 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 70 61 74 68 5b 30 5d 29 29 20 7b 0a 72 65 74 75 &&.ctype_alpha($path[0])).{.retu
1457c0 72 6e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 32 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 rn.substr($path,.2);.}..return.$
1457e0 70 61 74 68 3b 0a 7d 3b 0a 0a 24 65 6e 64 50 61 74 68 20 3d 20 24 73 74 72 69 70 44 72 69 76 65 path;.};..$endPath.=.$stripDrive
145800 4c 65 74 74 65 72 28 24 65 6e 64 50 61 74 68 29 3b 0a 24 73 74 61 72 74 50 61 74 68 20 3d 20 24 Letter($endPath);.$startPath.=.$
145820 73 74 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 28 24 73 74 61 72 74 50 61 74 68 29 3b 0a 0a 0a stripDriveLetter($startPath);...
145840 20 24 73 74 61 72 74 50 61 74 68 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 .$startPathArr.=.explode('/',.tr
145860 69 6d 28 24 73 74 61 72 74 50 61 74 68 2c 20 27 2f 27 29 29 3b 0a 24 65 6e 64 50 61 74 68 41 72 im($startPath,.'/'));.$endPathAr
145880 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 69 6d 28 24 65 6e 64 50 61 74 68 2c 20 r.=.explode('/',.trim($endPath,.
1458a0 27 2f 27 29 29 3b 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 20 3d 20 66 75 '/'));..$normalizePathArray.=.fu
1458c0 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 53 65 67 6d 65 6e 74 73 2c 20 24 61 62 73 6f 6c 75 74 65 nction.($pathSegments,.$absolute
1458e0 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 ).{.$result.=.array();..foreach.
145900 28 24 70 61 74 68 53 65 67 6d 65 6e 74 73 20 61 73 20 24 73 65 67 6d 65 6e 74 29 20 7b 0a 69 66 ($pathSegments.as.$segment).{.if
145920 20 28 27 2e 2e 27 20 3d 3d 3d 20 24 73 65 67 6d 65 6e 74 20 26 26 20 28 24 61 62 73 6f 6c 75 74 .('..'.===.$segment.&&.($absolut
145940 65 20 7c 7c 20 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 29 29 29 20 7b 0a 61 72 72 61 79 5f 70 6f e.||.count($result))).{.array_po
145960 70 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 73 p($result);.}.elseif.('.'.!==.$s
145980 65 67 6d 65 6e 74 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 73 65 67 6d 65 6e 74 3b 0a egment).{.$result[].=.$segment;.
1459a0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 3b 0a 0a 24 73 74 61 72 74 50 }.}..return.$result;.};..$startP
1459c0 61 74 68 41 72 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 28 24 73 74 athArr.=.$normalizePathArray($st
1459e0 61 72 74 50 61 74 68 41 72 72 2c 20 73 74 61 74 69 63 3a 3a 69 73 41 62 73 6f 6c 75 74 65 50 61 artPathArr,.static::isAbsolutePa
145a00 74 68 28 24 73 74 61 72 74 50 61 74 68 29 29 3b 0a 24 65 6e 64 50 61 74 68 41 72 72 20 3d 20 24 th($startPath));.$endPathArr.=.$
145a20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 61 79 28 24 65 6e 64 50 61 74 68 41 72 72 2c 20 normalizePathArray($endPathArr,.
145a40 73 74 61 74 69 63 3a 3a 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 65 6e 64 50 61 74 68 29 static::isAbsolutePath($endPath)
145a60 29 3b 0a 0a 0a 20 24 69 6e 64 65 78 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 );....$index.=.0;.while.(isset($
145a80 73 74 61 72 74 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 29 20 26 26 20 69 73 73 65 74 28 24 startPathArr[$index]).&&.isset($
145aa0 65 6e 64 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 29 20 26 26 20 24 73 74 61 72 74 50 61 74 endPathArr[$index]).&&.$startPat
145ac0 68 41 72 72 5b 24 69 6e 64 65 78 5d 20 3d 3d 3d 20 24 65 6e 64 50 61 74 68 41 72 72 5b 24 69 6e hArr[$index].===.$endPathArr[$in
145ae0 64 65 78 5d 29 20 7b 0a 2b 2b 24 69 6e 64 65 78 3b 0a 7d 0a 0a 0a 20 69 66 20 28 31 20 3d 3d 3d dex]).{.++$index;.}....if.(1.===
145b00 20 63 6f 75 6e 74 28 24 73 74 61 72 74 50 61 74 68 41 72 72 29 20 26 26 20 27 27 20 3d 3d 3d 20 .count($startPathArr).&&.''.===.
145b20 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 30 5d 29 20 7b 0a 24 64 65 70 74 68 20 3d 20 30 3b 0a $startPathArr[0]).{.$depth.=.0;.
145b40 7d 20 65 6c 73 65 20 7b 0a 24 64 65 70 74 68 20 3d 20 63 6f 75 6e 74 28 24 73 74 61 72 74 50 61 }.else.{.$depth.=.count($startPa
145b60 74 68 41 72 72 29 20 2d 20 24 69 6e 64 65 78 3b 0a 7d 0a 0a 0a 20 24 74 72 61 76 65 72 73 65 72 thArr).-.$index;.}....$traverser
145b80 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2e 2e 2f 27 2c 20 24 64 65 70 74 68 29 3b 0a 0a 24 .=.str_repeat('../',.$depth);..$
145ba0 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 72 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 endPathRemainder.=.implode('/',.
145bc0 61 72 72 61 79 5f 73 6c 69 63 65 28 24 65 6e 64 50 61 74 68 41 72 72 2c 20 24 69 6e 64 65 78 29 array_slice($endPathArr,.$index)
145be0 29 3b 0a 0a 0a 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 24 74 72 61 76 65 72 73 65 72 );....$relativePath.=.$traverser
145c00 2e 28 27 27 20 21 3d 3d 20 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 72 20 3f 20 24 65 6e .(''.!==.$endPathRemainder.?.$en
145c20 64 50 61 74 68 52 65 6d 61 69 6e 64 65 72 2e 27 2f 27 20 3a 20 27 27 29 3b 0a 0a 72 65 74 75 72 dPathRemainder.'/'.:.'');..retur
145c40 6e 20 27 27 20 3d 3d 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3f 20 27 2e 2f 27 20 3a 20 n.''.===.$relativePath.?.'./'.:.
145c60 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $relativePath;.}................
145c80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 69 72 72 6f 72 28 24 6f 72 69 .....public.function.mirror($ori
145ca0 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 5c 54 72 61 76 65 72 73 61 62 6c 65 ginDir,.$targetDir,.\Traversable
145cc0 20 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 .$iterator.=.null,.$options.=.ar
145ce0 72 61 79 28 29 29 0a 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 72 74 72 69 6d 28 24 74 61 72 ray()).{.$targetDir.=.rtrim($tar
145d00 67 65 74 44 69 72 2c 20 27 2f 5c 5c 27 29 3b 0a 24 6f 72 69 67 69 6e 44 69 72 20 3d 20 72 74 72 getDir,.'/\\');.$originDir.=.rtr
145d20 69 6d 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 27 2f 5c 5c 27 29 3b 0a 24 6f 72 69 67 69 6e 44 69 im($originDir,.'/\\');.$originDi
145d40 72 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6f 72 69 67 69 6e 44 69 72 29 3b 0a 0a 0a 20 69 66 rLen.=.strlen($originDir);....if
145d60 20 28 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 20 26 26 20 69 .($this->exists($targetDir).&&.i
145d80 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 6c 65 74 65 27 5d 29 20 26 26 20 24 6f 70 74 sset($options['delete']).&&.$opt
145da0 69 6f 6e 73 5b 27 64 65 6c 65 74 65 27 5d 29 20 7b 0a 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f ions['delete']).{.$deleteIterato
145dc0 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 6c r.=.$iterator;.if.(null.===.$del
145de0 65 74 65 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 66 6c 61 67 73 20 3d 20 5c 46 69 6c 65 73 79 73 eteIterator).{.$flags.=.\Filesys
145e00 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 24 64 65 6c 65 74 65 49 temIterator::SKIP_DOTS;.$deleteI
145e20 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 terator.=.new.\RecursiveIterator
145e40 49 74 65 72 61 74 6f 72 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 Iterator(new.\RecursiveDirectory
145e60 49 74 65 72 61 74 6f 72 28 24 74 61 72 67 65 74 44 69 72 2c 20 24 66 6c 61 67 73 29 2c 20 5c 52 Iterator($targetDir,.$flags),.\R
145e80 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f ecursiveIteratorIterator::CHILD_
145ea0 46 49 52 53 54 29 3b 0a 7d 0a 24 74 61 72 67 65 74 44 69 72 4c 65 6e 20 3d 20 73 74 72 6c 65 6e FIRST);.}.$targetDirLen.=.strlen
145ec0 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 6c 65 74 65 49 74 ($targetDir);.foreach.($deleteIt
145ee0 65 72 61 74 6f 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 6f 72 69 67 69 6e 20 3d 20 24 6f 72 erator.as.$file).{.$origin.=.$or
145f00 69 67 69 6e 44 69 72 2e 73 75 62 73 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d iginDir.substr($file->getPathnam
145f20 65 28 29 2c 20 24 74 61 72 67 65 74 44 69 72 4c 65 6e 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d e(),.$targetDirLen);.if.(!$this-
145f40 3e 65 78 69 73 74 73 28 24 6f 72 69 67 69 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 >exists($origin)).{.$this->remov
145f60 65 28 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 e($file);.}.}.}..$copyOnWindows.
145f80 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 63 6f 70 =.false;.if.(isset($options['cop
145fa0 79 5f 6f 6e 5f 77 69 6e 64 6f 77 73 27 5d 29 29 20 7b 0a 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 y_on_windows'])).{.$copyOnWindow
145fc0 73 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 63 6f 70 79 5f 6f 6e 5f 77 69 6e 64 6f 77 73 27 5d 3b s.=.$options['copy_on_windows'];
145fe0 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 74 65 72 61 74 6f 72 29 20 7b 0a 24 66 .}..if.(null.===.$iterator).{.$f
146000 6c 61 67 73 20 3d 20 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3f 20 5c 46 69 6c 65 73 79 73 lags.=.$copyOnWindows.?.\Filesys
146020 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 20 7c 20 5c 46 69 6c 65 73 79 temIterator::SKIP_DOTS.|.\Filesy
146040 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 20 3a 20 stemIterator::FOLLOW_SYMLINKS.:.
146060 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a \FilesystemIterator::SKIP_DOTS;.
146080 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 $iterator.=.new.\RecursiveIterat
1460a0 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f orIterator(new.\RecursiveDirecto
1460c0 72 79 49 74 65 72 61 74 6f 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 66 6c 61 67 73 29 2c 20 ryIterator($originDir,.$flags),.
1460e0 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 \RecursiveIteratorIterator::SELF
146100 5f 46 49 52 53 54 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 6f _FIRST);.}..if.($this->exists($o
146120 72 69 67 69 6e 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 riginDir)).{.$this->mkdir($targe
146140 74 44 69 72 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 tDir);.}..foreach.($iterator.as.
146160 24 66 69 6c 65 29 20 7b 0a 24 74 61 72 67 65 74 20 3d 20 24 74 61 72 67 65 74 44 69 72 2e 73 75 $file).{.$target.=.$targetDir.su
146180 62 73 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 6f 72 69 67 bstr($file->getPathname(),.$orig
1461a0 69 6e 44 69 72 4c 65 6e 29 3b 0a 0a 69 66 20 28 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 29 20 inDirLen);..if.($copyOnWindows).
1461c0 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 {.if.(is_file($file)).{.$this->c
1461e0 6f 70 79 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f opy($file,.$target,.isset($optio
146200 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 ns['override']).?.$options['over
146220 72 69 64 65 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 ride'].:.false);.}.elseif.(is_di
146240 72 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 74 r($file)).{.$this->mkdir($target
146260 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f );.}.else.{.throw.new.IOExceptio
146280 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 67 75 65 73 73 20 22 25 73 22 20 n(sprintf('Unable.to.guess."%s".
1462a0 66 69 6c 65 20 74 79 70 65 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 file.type.',.$file),.0,.null,.$f
1462c0 69 6c 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 ile);.}.}.else.{.if.(is_link($fi
1462e0 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6d 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 le)).{.$this->symlink($file->get
146300 4c 69 6e 6b 54 61 72 67 65 74 28 29 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 69 66 LinkTarget(),.$target);.}.elseif
146320 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 .(is_dir($file)).{.$this->mkdir(
146340 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c $target);.}.elseif.(is_file($fil
146360 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 e)).{.$this->copy($file,.$target
146380 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 29 20 3f 20 ,.isset($options['override']).?.
1463a0 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 7d $options['override'].:.false);.}
1463c0 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 .else.{.throw.new.IOException(sp
1463e0 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 67 75 65 73 73 20 22 25 73 22 20 66 69 6c 65 rintf('Unable.to.guess."%s".file
146400 20 74 79 70 65 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 .type.',.$file),.0,.null,.$file)
146420 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ;.}.}.}.}.........public.functio
146440 6e 20 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 69 6c 65 29 0a 7b 0a 72 65 74 75 72 6e n.isAbsolutePath($file).{.return
146460 20 73 74 72 73 70 6e 28 24 66 69 6c 65 2c 20 27 2f 5c 5c 27 2c 20 30 2c 20 31 29 0a 7c 7c 20 28 .strspn($file,.'/\\',.0,.1).||.(
146480 73 74 72 6c 65 6e 28 24 66 69 6c 65 29 20 3e 20 33 20 26 26 20 63 74 79 70 65 5f 61 6c 70 68 61 strlen($file).>.3.&&.ctype_alpha
1464a0 28 24 66 69 6c 65 5b 30 5d 29 0a 26 26 20 27 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 66 69 ($file[0]).&&.':'.===.substr($fi
1464c0 6c 65 2c 20 31 2c 20 31 29 0a 26 26 20 73 74 72 73 70 6e 28 24 66 69 6c 65 2c 20 27 2f 5c 5c 27 le,.1,.1).&&.strspn($file,.'/\\'
1464e0 2c 20 32 2c 20 31 29 0a 29 0a 7c 7c 20 6e 75 6c 6c 20 21 3d 3d 20 70 61 72 73 65 5f 75 72 6c 28 ,.2,.1).).||.null.!==.parse_url(
146500 24 66 69 6c 65 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a $file,.PHP_URL_SCHEME).;.}......
146520 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 6d 70 6e 61 6d 28 24 64 69 .....public.function.tempnam($di
146540 72 2c 20 24 70 72 65 66 69 78 29 0a 7b 0a 6c 69 73 74 28 24 73 63 68 65 6d 65 2c 20 24 68 69 65 r,.$prefix).{.list($scheme,.$hie
146560 72 61 72 63 68 79 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 41 6e 64 48 69 65 rarchy).=.$this->getSchemeAndHie
146580 72 61 72 63 68 79 28 24 64 69 72 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 rarchy($dir);....if.(null.===.$s
1465a0 63 68 65 6d 65 20 7c 7c 20 27 66 69 6c 65 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 7c 7c 20 27 cheme.||.'file'.===.$scheme.||.'
1465c0 67 73 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 29 20 7b 0a 24 74 6d 70 46 69 6c 65 20 3d 20 40 74 gs'.===.$scheme).{.$tmpFile.=.@t
1465e0 65 6d 70 6e 61 6d 28 24 68 69 65 72 61 72 63 68 79 2c 20 24 70 72 65 66 69 78 29 3b 0a 0a 0a 20 empnam($hierarchy,.$prefix);....
146600 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 74 6d 70 46 69 6c 65 29 20 7b 0a 69 66 20 28 6e 75 if.(false.!==.$tmpFile).{.if.(nu
146620 6c 6c 20 21 3d 3d 20 24 73 63 68 65 6d 65 20 26 26 20 27 67 73 27 20 21 3d 3d 20 24 73 63 68 65 ll.!==.$scheme.&&.'gs'.!==.$sche
146640 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 74 6d 70 46 me).{.return.$scheme.'://'.$tmpF
146660 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 74 68 72 6f ile;.}..return.$tmpFile;.}..thro
146680 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 41 20 74 65 6d 70 6f 72 61 72 79 20 66 w.new.IOException('A.temporary.f
1466a0 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 29 3b 0a 7d 0a 0a ile.could.not.be.created.');.}..
1466c0 0a 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 31 30 3b 20 2b 2b 24 69 29 20 7b 0a ..for.($i.=.0;.$i.<.10;.++$i).{.
1466e0 0a 20 24 74 6d 70 46 69 6c 65 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 70 72 65 66 69 78 2e 75 6e ..$tmpFile.=.$dir.'/'.$prefix.un
146700 69 71 69 64 28 6d 74 5f 72 61 6e 64 28 29 2c 20 74 72 75 65 29 3b 0a 0a 0a 20 0a 20 24 68 61 6e iqid(mt_rand(),.true);......$han
146720 64 6c 65 20 3d 20 40 66 6f 70 65 6e 28 24 74 6d 70 46 69 6c 65 2c 20 27 78 2b 27 29 3b 0a 0a 0a dle.=.@fopen($tmpFile,.'x+');...
146740 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 29 20 7b 0a 63 6f 6e 74 69 6e .if.(false.===.$handle).{.contin
146760 75 65 3b 0a 7d 0a 0a 0a 20 40 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 0a 72 65 74 75 ue;.}....@fclose($handle);..retu
146780 72 6e 20 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 rn.$tmpFile;.}..throw.new.IOExce
1467a0 70 74 69 6f 6e 28 27 41 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f ption('A.temporary.file.could.no
1467c0 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 t.be.created.');.}............pu
1467e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 46 69 6c 65 28 24 66 69 6c 65 6e 61 6d 65 blic.function.dumpFile($filename
146800 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 6d 6f 64 65 20 3d 20 30 36 36 36 29 0a 7b 0a 24 64 69 72 ,.$content,.$mode.=.0666).{.$dir
146820 20 3d 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 69 73 5f .=.dirname($filename);..if.(!is_
146840 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 64 69 72 29 3b dir($dir)).{.$this->mkdir($dir);
146860 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 64 69 72 29 29 20 7b 0a 74 68 .}..if.(!is_writable($dir)).{.th
146880 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 row.new.IOException(sprintf('Una
1468a0 62 6c 65 20 74 6f 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 22 25 73 22 20 64 69 72 65 63 74 6f ble.to.write.to.the."%s".directo
1468c0 72 79 2e 27 2c 20 24 64 69 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 3b 0a 7d 0a 0a ry.',.$dir),.0,.null,.$dir);.}..
1468e0 24 74 6d 70 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 74 65 6d 70 6e 61 6d 28 24 64 69 72 2c 20 $tmpFile.=.$this->tempnam($dir,.
146900 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 6e 61 6d 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 basename($filename));..if.(false
146920 20 3d 3d 3d 20 40 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 6d 70 46 69 6c 65 .===.@file_put_contents($tmpFile
146940 2c 20 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 ,.$content)).{.throw.new.IOExcep
146960 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 77 72 69 74 65 20 66 69 tion(sprintf('Failed.to.write.fi
146980 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 le."%s".',.$filename),.0,.null,.
1469a0 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6d 6f 64 $filename);.}..if.(null.!==.$mod
1469c0 65 29 20 7b 0a 69 66 20 28 66 75 6e 63 5f 6e 75 6d 5f 61 72 67 73 28 29 20 3e 20 32 29 20 7b 0a e).{.if.(func_num_args().>.2).{.
1469e0 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 53 75 70 70 6f 72 74 20 66 6f 72 20 6d 6f 64 69 @trigger_error('Support.for.modi
146a00 66 79 69 6e 67 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 69 73 20 64 65 70 72 65 63 fying.file.permissions.is.deprec
146a20 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 2e 31 32 20 61 6e 64 20 77 69 ated.since.Symfony.2.3.12.and.wi
146a40 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 ll.be.removed.in.3.0.',.E_USER_D
146a60 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 6d 6f 64 28 24 74 6d 70 EPRECATED);.}..$this->chmod($tmp
146a80 46 69 6c 65 2c 20 24 6d 6f 64 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 File,.$mode);.}.elseif.(file_exi
146aa0 73 74 73 28 24 66 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 40 63 68 6d 6f 64 28 24 74 6d 70 46 69 6c sts($filename)).{.@chmod($tmpFil
146ac0 65 2c 20 66 69 6c 65 70 65 72 6d 73 28 24 66 69 6c 65 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 e,.fileperms($filename));.}..$th
146ae0 69 73 2d 3e 72 65 6e 61 6d 65 28 24 74 6d 70 46 69 6c 65 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 is->rename($tmpFile,.$filename,.
146b00 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 true);.}.......private.function.
146b20 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 0a 7b 0a 69 66 20 28 21 24 66 69 6c 65 73 toIterator($files).{.if.(!$files
146b40 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 24 66 69 6c .instanceof.\Traversable).{.$fil
146b60 65 73 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 28 69 73 5f 61 72 72 61 79 28 24 es.=.new.\ArrayObject(is_array($
146b80 66 69 6c 65 73 29 20 3f 20 24 66 69 6c 65 73 20 3a 20 61 72 72 61 79 28 24 66 69 6c 65 73 29 29 files).?.$files.:.array($files))
146ba0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ;.}..return.$files;.}.........pr
146bc0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 65 41 6e 64 48 69 65 72 61 ivate.function.getSchemeAndHiera
146be0 72 63 68 79 28 24 66 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 rchy($filename).{.$components.=.
146c00 65 78 70 6c 6f 64 65 28 27 3a 2f 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 32 29 3b 0a 0a 72 explode('://',.$filename,.2);..r
146c20 65 74 75 72 6e 20 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 3f eturn.2.===.count($components).?
146c40 20 61 72 72 61 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 2c 20 24 63 6f 6d 70 6f 6e 65 6e .array($components[0],.$componen
146c60 74 73 5b 31 5d 29 20 3a 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 ts[1]).:.array(null,.$components
146c80 5b 30 5d 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e [0]);.}..private.static.function
146ca0 20 62 6f 78 28 24 66 75 6e 63 29 0a 7b 0a 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 20 3d .box($func).{.self::$lastError.=
146cc0 20 6e 75 6c 6c 3b 0a 5c 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 5f 5f 43 4c 41 53 .null;.\set_error_handler(__CLAS
146ce0 53 5f 5f 2e 27 3a 3a 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 S__.'::handleError');.try.{.$res
146d00 75 6c 74 20 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 66 75 6e ult.=.\call_user_func_array($fun
146d20 63 2c 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 5c 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 c,.\array_slice(\func_get_args()
146d40 2c 20 31 29 29 3b 0a 5c 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b ,.1));.\restore_error_handler();
146d60 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f ..return.$result;.}.catch.(\Thro
146d80 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 wable.$e).{.}.catch.(\Exception.
146da0 24 65 29 20 7b 0a 7d 0a 5c 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 $e).{.}.\restore_error_handler()
146dc0 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 ;..throw.$e;.}.....public.static
146de0 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 .function.handleError($type,.$ms
146e00 67 29 0a 7b 0a 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a g).{.self::$lastError.=.$msg;.}.
146e20 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e }.Copyright.(c).2004-2018.Fabien
146e40 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 .Potencier..Permission.is.hereby
146e60 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 .granted,.free.of.charge,.to.any
146e80 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 .person.obtaining.a.copy.of.this
146ea0 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e .software.and.associated.documen
146ec0 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 tation.files.(the."Software"),.t
146ee0 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 o.deal.in.the.Software.without.r
146f00 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 estriction,.including.without.li
146f20 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 mitation.the.rights.to.use,.copy
146f40 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 ,.modify,.merge,.publish,.distri
146f60 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f bute,.sublicense,.and/or.sell.co
146f80 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 pies.of.the.Software,.and.to.per
146fa0 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 mit.persons.to.whom.the.Software
146fc0 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 .is.furnished.to.do.so,.subject.
146fe0 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 to.the.following.conditions:..Th
147000 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 e.above.copyright.notice.and.thi
147020 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 s.permission.notice.shall.be.inc
147040 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 luded.in.all.copies.or.substanti
147060 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 al.portions.of.the.Software...TH
147080 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 E.SOFTWARE.IS.PROVIDED."AS.IS",.
1470a0 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 WITHOUT.WARRANTY.OF.ANY.KIND,.EX
1470c0 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 PRESS.OR.IMPLIED,.INCLUDING.BUT.
1470e0 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 NOT.LIMITED.TO.THE.WARRANTIES.OF
147100 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 .MERCHANTABILITY,.FITNESS.FOR.A.
147120 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e PARTICULAR.PURPOSE.AND.NONINFRIN
147140 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 GEMENT..IN.NO.EVENT.SHALL.THE.AU
147160 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 THORS.OR.COPYRIGHT.HOLDERS.BE.LI
147180 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f ABLE.FOR.ANY.CLAIM,.DAMAGES.OR.O
1471a0 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 THER.LIABILITY,.WHETHER.IN.AN.AC
1471c0 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 TION.OF.CONTRACT,.TORT.OR.OTHERW
1471e0 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 ISE,.ARISING.FROM,.OUT.OF.OR.IN.
147200 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 CONNECTION.WITH.THE.SOFTWARE.OR.
147220 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 THE.USE.OR.OTHER.DEALINGS.IN.THE
147240 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 .SOFTWARE..<?php...........names
147260 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 pace.Symfony\Component\Filesyste
147280 6d 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 m;..use.Symfony\Component\Filesy
1472a0 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a stem\Exception\IOException;.....
1472c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 63 6b 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 ..........class.LockHandler.{.pr
1472e0 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 6e 64 6c 65 3b 0a 0a 0a ivate.$file;.private.$handle;...
147300 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
147320 28 24 6e 61 6d 65 2c 20 24 6c 6f 63 6b 50 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6c 6f 63 ($name,.$lockPath.=.null).{.$loc
147340 6b 50 61 74 68 20 3d 20 24 6c 6f 63 6b 50 61 74 68 20 3f 3a 20 73 79 73 5f 67 65 74 5f 74 65 6d kPath.=.$lockPath.?:.sys_get_tem
147360 70 5f 64 69 72 28 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 6c 6f 63 6b 50 61 74 68 29 p_dir();..if.(!is_dir($lockPath)
147380 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d ).{.$fs.=.new.Filesystem();.$fs-
1473a0 3e 6d 6b 64 69 72 28 24 6c 6f 63 6b 50 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 77 72 >mkdir($lockPath);.}..if.(!is_wr
1473c0 69 74 61 62 6c 65 28 24 6c 6f 63 6b 50 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 itable($lockPath)).{.throw.new.I
1473e0 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 64 69 72 65 63 74 6f 72 OException(sprintf('The.director
147400 79 20 22 25 73 22 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 27 2c 20 24 6c 6f 63 6b 50 y."%s".is.not.writable.',.$lockP
147420 61 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6c 6f 63 6b 50 61 74 68 29 3b 0a 7d 0a 0a 24 74 ath),.0,.null,.$lockPath);.}..$t
147440 68 69 73 2d 3e 66 69 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 2f 73 66 2e 25 73 2e 25 73 his->file.=.sprintf('%s/sf.%s.%s
147460 2e 6c 6f 63 6b 27 2c 20 24 6c 6f 63 6b 50 61 74 68 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 .lock',.$lockPath,.preg_replace(
147480 27 2f 5b 5e 61 2d 7a 30 2d 39 5c 2e 5f 2d 5d 2b 2f 69 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 '/[^a-z0-9\._-]+/i',.'-',.$name)
1474a0 2c 20 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a ,.hash('sha256',.$name));.}.....
1474c0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 6b 28 24 62 6c 6f 63 ......public.function.lock($bloc
1474e0 6b 69 6e 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c king.=.false).{.if.($this->handl
147500 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 6e 75 e).{.return.true;.}..$error.=.nu
147520 6c 6c 3b 0a 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f ll;....set_error_handler(functio
147540 6e 20 28 24 65 72 72 6e 6f 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 29 20 7b n.($errno,.$msg).use.(&$error).{
147560 0a 24 65 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d .$error.=.$msg;.});..if.(!$this-
147580 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b >handle.=.fopen($this->file,.'r+
1475a0 27 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 29 20 7b ').?:.fopen($this->file,.'r')).{
1475c0 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 .if.($this->handle.=.fopen($this
1475e0 2d 3e 66 69 6c 65 2c 20 27 78 27 29 29 20 7b 0a 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 66 69 6c ->file,.'x')).{.chmod($this->fil
147600 65 2c 20 30 36 36 36 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 e,.0666);.}.elseif.(!$this->hand
147620 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a le.=.fopen($this->file,.'r+').?:
147640 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 75 73 6c 65 .fopen($this->file,.'r')).{.usle
147660 65 70 28 31 30 30 29 3b 20 0a 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e ep(100);...$this->handle.=.fopen
147680 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 ($this->file,.'r+').?:.fopen($th
1476a0 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 3b 0a 7d 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f is->file,.'r');.}.}.restore_erro
1476c0 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 r_handler();..if.(!$this->handle
1476e0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 ).{.throw.new.IOException($error
147700 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 7d 0a 0a 0a 20 0a 20 ,.0,.null,.$this->file);.}......
147720 69 66 20 28 21 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 45 if.(!flock($this->handle,.LOCK_E
147740 58 20 7c 20 28 24 62 6c 6f 63 6b 69 6e 67 20 3f 20 30 20 3a 20 4c 4f 43 4b 5f 4e 42 29 29 29 20 X.|.($blocking.?.0.:.LOCK_NB))).
147760 7b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 3b 0a 24 74 68 69 73 2d 3e {.fclose($this->handle);.$this->
147780 68 61 6e 64 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a handle.=.null;..return.false;.}.
1477a0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .return.true;.}.....public.funct
1477c0 69 6f 6e 20 72 65 6c 65 61 73 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c ion.release().{.if.($this->handl
1477e0 65 29 20 7b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 55 e).{.flock($this->handle,.LOCK_U
147800 4e 20 7c 20 4c 4f 43 4b 5f 4e 42 29 3b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 68 61 6e 64 N.|.LOCK_NB);.fclose($this->hand
147820 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d le);.$this->handle.=.null;.}.}.}
147840 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
147860 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 ny\Component\Finder\Adapter;..@t
147880 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f rigger_error('The.'.__NAMESPACE_
1478a0 5f 2e 27 5c 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 _.'\AbstractAdapter.class.is.dep
1478c0 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 recated.since.Symfony.2.8.and.wi
1478e0 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 ll.be.removed.in.3.0..Use.direct
147900 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 ly.the.Finder.class.instead.',.E
147920 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 _USER_DEPRECATED);.........abstr
147940 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 20 69 6d 70 6c 65 6d act.class.AbstractAdapter.implem
147960 65 6e 74 73 20 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 ents.AdapterInterface.{.protecte
147980 64 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 d.$followLinks.=.false;.protecte
1479a0 64 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 69 6e 44 65 70 74 68 d.$mode.=.0;.protected.$minDepth
1479c0 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f .=.0;.protected.$maxDepth.=.PHP_
1479e0 49 4e 54 5f 4d 41 58 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 63 6c 75 64 65 20 3d 20 61 72 INT_MAX;.protected.$exclude.=.ar
147a00 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 ray();.protected.$names.=.array(
147a20 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 );.protected.$notNames.=.array()
147a40 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b ;.protected.$contains.=.array();
147a60 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 .protected.$notContains.=.array(
147a80 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 69 7a 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 );.protected.$sizes.=.array();.p
147aa0 72 6f 74 65 63 74 65 64 20 24 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 rotected.$dates.=.array();.prote
147ac0 63 74 65 64 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 cted.$filters.=.array();.protect
147ae0 65 64 20 24 73 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 ed.$sort.=.false;.protected.$pat
147b00 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 50 61 74 68 hs.=.array();.protected.$notPath
147b20 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 67 6e 6f 72 65 55 6e s.=.array();.protected.$ignoreUn
147b40 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 readableDirs.=.false;..private.s
147b60 74 61 74 69 63 20 24 61 72 65 53 75 70 70 6f 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a tatic.$areSupported.=.array();..
147b80 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 ...public.function.isSupported()
147ba0 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 .{.$name.=.$this->getName();..if
147bc0 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6e 61 6d 65 2c 20 73 65 6c 66 3a .(!array_key_exists($name,.self:
147be0 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 :$areSupported)).{.self::$areSup
147c00 70 6f 72 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 42 65 55 73 65 64 ported[$name].=.$this->canBeUsed
147c20 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 ();.}..return.self::$areSupporte
147c40 64 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 d[$name];.}.....public.function.
147c60 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 7b 0a 24 setFollowLinks($followLinks).{.$
147c80 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 this->followLinks.=.$followLinks
147ca0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ;..return.$this;.}.....public.fu
147cc0 6e 63 74 69 6f 6e 20 73 65 74 4d 6f 64 65 28 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d nction.setMode($mode).{.$this->m
147ce0 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a ode.=.$mode;..return.$this;.}...
147d00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 70 74 68 73 28 61 72 72 61 ..public.function.setDepths(arra
147d20 79 20 24 64 65 70 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 30 y.$depths).{.$this->minDepth.=.0
147d40 3b 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b ;.$this->maxDepth.=.PHP_INT_MAX;
147d60 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 74 68 73 20 61 73 20 24 63 6f 6d 70 61 72 61 74 6f ..foreach.($depths.as.$comparato
147d80 72 29 20 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 4f 70 65 r).{.switch.($comparator->getOpe
147da0 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 rator()).{.case.'>':.$this->minD
147dc0 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 epth.=.$comparator->getTarget().
147de0 2b 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 +.1;.break;.case.'>=':.$this->mi
147e00 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 nDepth.=.$comparator->getTarget(
147e20 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 );.break;.case.'<':.$this->maxDe
147e40 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d pth.=.$comparator->getTarget().-
147e60 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 .1;.break;.case.'<=':.$this->max
147e80 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 Depth.=.$comparator->getTarget()
147ea0 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 ;.break;.default:.$this->minDept
147ec0 68 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f h.=.$this->maxDepth.=.$comparato
147ee0 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 r->getTarget();.}.}..return.$thi
147f00 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 6c s;.}.....public.function.setExcl
147f20 75 64 65 28 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 ude(array.$exclude).{.$this->exc
147f40 6c 75 64 65 20 3d 20 24 65 78 63 6c 75 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a lude.=.$exclude;..return.$this;.
147f60 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 }.....public.function.setNames(a
147f80 72 72 61 79 20 24 6e 61 6d 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 20 3d 20 24 6e rray.$names).{.$this->names.=.$n
147fa0 61 6d 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ames;..return.$this;.}.....publi
147fc0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 6f c.function.setNotNames(array.$no
147fe0 74 4e 61 6d 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 20 3d 20 24 6e 6f 74 tNames).{.$this->notNames.=.$not
148000 4e 61 6d 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c Names;..return.$this;.}.....publ
148020 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 63 ic.function.setContains(array.$c
148040 6f 6e 74 61 69 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 3d 20 24 63 6f ontains).{.$this->contains.=.$co
148060 6e 74 61 69 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ntains;..return.$this;.}.....pub
148080 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 lic.function.setNotContains(arra
1480a0 79 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 y.$notContains).{.$this->notCont
1480c0 61 69 6e 73 20 3d 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ains.=.$notContains;..return.$th
1480e0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a is;.}.....public.function.setSiz
148100 65 73 28 61 72 72 61 79 20 24 73 69 7a 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 20 es(array.$sizes).{.$this->sizes.
148120 3d 20 24 73 69 7a 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 =.$sizes;..return.$this;.}.....p
148140 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 61 74 65 73 28 61 72 72 61 79 20 24 64 ublic.function.setDates(array.$d
148160 61 74 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 61 74 65 73 20 3d 20 24 64 61 74 65 73 3b 0a 0a ates).{.$this->dates.=.$dates;..
148180 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 return.$this;.}.....public.funct
1481a0 69 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 61 79 20 24 66 69 6c 74 65 72 73 29 0a 7b ion.setFilters(array.$filters).{
1481c0 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 3d 20 24 66 69 6c 74 65 72 73 3b 0a 0a 72 65 74 .$this->filters.=.$filters;..ret
1481e0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e urn.$this;.}.....public.function
148200 20 73 65 74 53 6f 72 74 28 24 73 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 .setSort($sort).{.$this->sort.=.
148220 24 73 6f 72 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c $sort;..return.$this;.}.....publ
148240 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 74 68 28 61 72 72 61 79 20 24 70 61 74 68 73 ic.function.setPath(array.$paths
148260 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 73 20 3d 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 ).{.$this->paths.=.$paths;..retu
148280 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rn.$this;.}.....public.function.
1482a0 73 65 74 4e 6f 74 50 61 74 68 28 61 72 72 61 79 20 24 6e 6f 74 50 61 74 68 73 29 0a 7b 0a 24 74 setNotPath(array.$notPaths).{.$t
1482c0 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 20 3d 20 24 6e 6f 74 50 61 74 68 73 3b 0a 0a 72 65 74 75 his->notPaths.=.$notPaths;..retu
1482e0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rn.$this;.}.....public.function.
148300 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d 20 74 ignoreUnreadableDirs($ignore.=.t
148320 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 rue).{.$this->ignoreUnreadableDi
148340 72 73 20 3d 20 28 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 rs.=.(bool).$ignore;..return.$th
148360 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 is;.}.............abstract.prote
148380 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 3c 3f 70 cted.function.canBeUsed();.}.<?p
1483a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
1483c0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 omponent\Finder\Adapter;..@trigg
1483e0 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c er_error('The.'.__NAMESPACE__.'\
148400 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 AbstractFindAdapter.class.is.dep
148420 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 recated.since.Symfony.2.8.and.wi
148440 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 ll.be.removed.in.3.0..Use.direct
148460 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 ly.the.Finder.class.instead.',.E
148480 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c _USER_DEPRECATED);..use.Symfony\
1484a0 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 41 63 63 65 73 Component\Finder\Exception\Acces
1484c0 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f sDeniedException;.use.Symfony\Co
1484e0 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d mponent\Finder\Iterator;.use.Sym
148500 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c fony\Component\Finder\Shell\Shel
148520 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c l;.use.Symfony\Component\Finder\
148540 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f Expression\Expression;.use.Symfo
148560 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e ny\Component\Finder\Shell\Comman
148580 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c d;.use.Symfony\Component\Finder\
1485a0 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 Comparator\NumberComparator;.use
1485c0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 .Symfony\Component\Finder\Compar
1485e0 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 ator\DateComparator;.........abs
148600 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 20 tract.class.AbstractFindAdapter.
148620 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 70 72 6f 74 65 63 extends.AbstractAdapter.{.protec
148640 74 65 64 20 24 73 68 65 6c 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ted.$shell;..public.function.__c
148660 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 68 65 6c 6c 20 3d 20 6e 65 77 20 onstruct().{.$this->shell.=.new.
148680 53 68 65 6c 6c 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 Shell();.}.....public.function.s
1486a0 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 0a 20 24 64 69 72 20 earchInDirectory($dir).{...$dir.
1486c0 3d 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 29 3b 0a 0a 0a 20 69 66 20 28 49 74 65 72 61 74 6f =.realpath($dir);....if.(Iterato
1486e0 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 r\FileTypeFilterIterator::ONLY_D
148700 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 26 26 20 28 24 IRECTORIES.===.$this->mode.&&.($
148720 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 this->contains.||.$this->notCont
148740 61 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c ains)).{.return.new.Iterator\Fil
148760 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 28 61 72 72 61 79 28 29 2c 20 24 64 69 72 29 3b 0a 7d ePathsIterator(array(),.$dir);.}
148780 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 43 6f 6d 6d 61 6e 64 3a 3a 63 72 65 61 74 65 28 29 3b 0a ..$command.=.Command::create();.
1487a0 24 66 69 6e 64 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 $find.=.$this->buildFindCommand(
1487c0 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c $command,.$dir);..if.($this->fol
1487e0 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 66 6f 6c 6c 6f 77 27 lowLinks).{.$find->add('-follow'
148800 29 3b 0a 7d 0a 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 69 6e 64 65 70 74 68 27 29 2d 3e 61 );.}..$find->add('-mindepth')->a
148820 64 64 28 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 2b 20 31 29 3b 0a 0a 69 66 20 28 50 48 dd($this->minDepth.+.1);..if.(PH
148840 50 5f 49 4e 54 5f 4d 41 58 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 29 20 7b P_INT_MAX.!==.$this->maxDepth).{
148860 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 61 78 64 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 .$find->add('-maxdepth')->add($t
148880 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 2b 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 49 74 65 72 61 his->maxDepth.+.1);.}..if.(Itera
1488a0 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 tor\FileTypeFilterIterator::ONLY
1488c0 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a _DIRECTORIES.===.$this->mode).{.
1488e0 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 64 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 $find->add('-type.d');.}.elseif.
148900 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 (Iterator\FileTypeFilterIterator
148920 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a ::ONLY_FILES.===.$this->mode).{.
148940 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 66 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d $find->add('-type.f');.}..$this-
148960 3e 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 >buildNamesFiltering($find,.$thi
148980 73 2d 3e 6e 61 6d 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 s->names);.$this->buildNamesFilt
1489a0 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 2c 20 74 72 ering($find,.$this->notNames,.tr
1489c0 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 ue);.$this->buildPathsFiltering(
1489e0 24 66 69 6e 64 2c 20 24 64 69 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 73 29 3b 0a 24 74 68 69 $find,.$dir,.$this->paths);.$thi
148a00 73 2d 3e 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 64 s->buildPathsFiltering($find,.$d
148a20 69 72 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 ir,.$this->notPaths,.true);.$thi
148a40 73 2d 3e 62 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 s->buildSizesFiltering($find,.$t
148a60 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 61 74 65 73 46 69 his->sizes);.$this->buildDatesFi
148a80 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 0a 24 ltering($find,.$this->dates);..$
148aa0 75 73 65 47 72 65 70 20 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d useGrep.=.$this->shell->testComm
148ac0 61 6e 64 28 27 67 72 65 70 27 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 and('grep').&&.$this->shell->tes
148ae0 74 43 6f 6d 6d 61 6e 64 28 27 78 61 72 67 73 27 29 3b 0a 24 75 73 65 53 6f 72 74 20 3d 20 69 73 tCommand('xargs');.$useSort.=.is
148b00 5f 69 6e 74 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c _int($this->sort).&&.$this->shel
148b20 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 73 6f 72 74 27 29 20 26 26 20 24 74 68 69 73 2d l->testCommand('sort').&&.$this-
148b40 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 63 75 74 27 29 3b 0a 0a 69 66 20 >shell->testCommand('cut');..if.
148b60 28 24 75 73 65 47 72 65 70 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c ($useGrep.&&.($this->contains.||
148b80 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 24 67 72 65 70 20 3d 20 .$this->notContains)).{.$grep.=.
148ba0 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 27 67 72 65 70 27 29 3b 0a 24 74 68 69 73 2d 3e 62 75 $command->ins('grep');.$this->bu
148bc0 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 24 67 72 65 70 2c 20 24 74 68 69 73 ildContentFiltering($grep,.$this
148be0 2d 3e 63 6f 6e 74 61 69 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6e 74 65 6e 74 ->contains);.$this->buildContent
148c00 46 69 6c 74 65 72 69 6e 67 28 24 67 72 65 70 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 Filtering($grep,.$this->notConta
148c20 69 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 53 6f 72 74 29 20 7b 0a 24 ins,.true);.}..if.($useSort).{.$
148c40 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 this->buildSorting($command,.$th
148c60 69 73 2d 3e 73 6f 72 74 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 45 72 72 6f 72 is->sort);.}..$command->setError
148c80 48 61 6e 64 6c 65 72 28 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 Handler(.$this->ignoreUnreadable
148ca0 44 69 72 73 0a 0a 20 3f 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 74 64 65 72 72 29 20 7b 20 7d 0a Dirs...?.function.($stderr).{.}.
148cc0 3a 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 74 64 65 72 72 29 20 7b 20 74 68 72 6f 77 20 6e 65 77 :.function.($stderr).{.throw.new
148ce0 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 28 24 73 74 64 65 72 72 29 3b .AccessDeniedException($stderr);
148d00 20 7d 0a 29 3b 0a 0a 24 70 61 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 .}.);..$paths.=.$this->shell->te
148d20 73 74 43 6f 6d 6d 61 6e 64 28 27 75 6e 69 71 27 29 20 3f 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 stCommand('uniq').?.$command->ad
148d40 64 28 27 7c 20 75 6e 69 71 27 29 2d 3e 65 78 65 63 75 74 65 28 29 20 3a 20 61 72 72 61 79 5f 75 d('|.uniq')->execute().:.array_u
148d60 6e 69 71 75 65 28 24 63 6f 6d 6d 61 6e 64 2d 3e 65 78 65 63 75 74 65 28 29 29 3b 0a 24 69 74 65 nique($command->execute());.$ite
148d80 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 rator.=.new.Iterator\FilePathsIt
148da0 65 72 61 74 6f 72 28 24 70 61 74 68 73 2c 20 24 64 69 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 erator($paths,.$dir);..if.($this
148dc0 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 ->exclude).{.$iterator.=.new.Ite
148de0 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 rator\ExcludeDirectoryFilterIter
148e00 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b ator($iterator,.$this->exclude);
148e20 0a 7d 0a 0a 69 66 20 28 21 24 75 73 65 47 72 65 70 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e .}..if.(!$useGrep.&&.($this->con
148e40 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a tains.||.$this->notContains)).{.
148e60 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e $iterator.=.new.Iterator\Filecon
148e80 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 tentFilterIterator($iterator,.$t
148ea0 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e his->contains,.$this->notContain
148ec0 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 s);.}..if.($this->filters).{.$it
148ee0 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 erator.=.new.Iterator\CustomFilt
148f00 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c erIterator($iterator,.$this->fil
148f20 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 73 65 53 6f 72 74 20 26 26 20 24 74 68 69 73 ters);.}..if.(!$useSort.&&.$this
148f40 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e ->sort).{.$iteratorAggregate.=.n
148f60 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 ew.Iterator\SortableIterator($it
148f80 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 erator,.$this->sort);.$iterator.
148fa0 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f =.$iteratorAggregate->getIterato
148fc0 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a r();.}..return.$iterator;.}.....
148fe0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b protected.function.canBeUsed().{
149000 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e .return.$this->shell->testComman
149020 64 28 27 66 69 6e 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 d('find');.}........protected.fu
149040 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 nction.buildFindCommand(Command.
149060 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e $command,.$dir).{.return.$comman
149080 64 0a 2d 3e 69 6e 73 28 27 66 69 6e 64 27 29 0a 2d 3e 61 64 64 28 27 66 69 6e 64 20 27 29 0a 2d d.->ins('find').->add('find.').-
1490a0 3e 61 72 67 28 24 64 69 72 29 0a 2d 3e 61 64 64 28 27 2d 6e 6f 6c 65 61 66 27 29 3b 20 0a 20 7d >arg($dir).->add('-noleaf');...}
1490c0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 4e 61 6d .......private.function.buildNam
1490e0 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 esFiltering(Command.$command,.ar
149100 72 61 79 20 24 6e 61 6d 65 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 ray.$names,.$not.=.false).{.if.(
149120 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6e 61 6d 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0.===.count($names)).{.return;.}
149140 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 6e 6f 74 27 20 3a 20 ..$command->add($not.?.'-not'.:.
149160 6e 75 6c 6c 29 2d 3e 63 6d 64 28 27 28 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 null)->cmd('(');..foreach.($name
149180 73 20 61 73 20 24 69 20 3d 3e 20 24 6e 61 6d 65 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 s.as.$i.=>.$name).{.$expr.=.Expr
1491a0 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 24 65 ession::create($name);....if.($e
1491c0 78 70 72 2d 3e 69 73 47 6c 6f 62 28 29 20 26 26 20 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 xpr->isGlob().&&.$expr->getGlob(
1491e0 29 2d 3e 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 )->isExpandable()).{.$expr.=.Exp
149200 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 ression::create($expr->getGlob()
149220 2d 3e 74 6f 52 65 67 65 78 28 66 61 6c 73 65 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 ->toRegex(false));.}........if.(
149240 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 29 20 7b 0a 24 72 65 67 65 78 20 3d 20 24 65 78 $expr->isRegex()).{.$regex.=.$ex
149260 70 72 2d 3e 67 65 74 52 65 67 65 78 28 29 3b 0a 24 72 65 67 65 78 2d 3e 70 72 65 70 65 6e 64 28 pr->getRegex();.$regex->prepend(
149280 24 72 65 67 65 78 2d 3e 68 61 73 53 74 61 72 74 46 6c 61 67 28 29 20 3f 20 27 2f 27 20 3a 20 27 $regex->hasStartFlag().?.'/'.:.'
1492a0 2f 5b 5e 2f 5d 2a 27 29 0a 2d 3e 73 65 74 53 74 61 72 74 46 6c 61 67 28 66 61 6c 73 65 29 0a 2d /[^/]*').->setStartFlag(false).-
1492c0 3e 73 65 74 53 74 61 72 74 4a 6f 6b 65 72 28 74 72 75 65 29 0a 2d 3e 72 65 70 6c 61 63 65 4a 6f >setStartJoker(true).->replaceJo
1492e0 6b 65 72 73 28 27 5b 5e 2f 5d 27 29 3b 0a 69 66 20 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e kers('[^/]');.if.(!$regex->hasEn
149300 64 46 6c 61 67 28 29 20 7c 7c 20 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 4a 6f 6b 65 72 28 29 dFlag().||.$regex->hasEndJoker()
149320 29 20 7b 0a 24 72 65 67 65 78 2d 3e 73 65 74 45 6e 64 4a 6f 6b 65 72 28 66 61 6c 73 65 29 2d 3e ).{.$regex->setEndJoker(false)->
149340 61 70 70 65 6e 64 28 27 5b 5e 2f 5d 2a 27 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d append('[^/]*');.}.}..$command.-
149360 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 6f 72 27 20 3a 20 6e 75 6c 6c 29 0a 2d 3e 61 64 >add($i.>.0.?.'-or'.:.null).->ad
149380 64 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 0a 3f 20 28 24 65 78 70 72 2d 3e 69 73 43 d($expr->isRegex().?.($expr->isC
1493a0 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 72 65 67 65 78 27 20 3a 20 27 2d 69 72 aseSensitive().?.'-regex'.:.'-ir
1493c0 65 67 65 78 27 29 0a 3a 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 egex').:.($expr->isCaseSensitive
1493e0 28 29 20 3f 20 27 2d 6e 61 6d 65 27 20 3a 20 27 2d 69 6e 61 6d 65 27 29 0a 29 0a 2d 3e 61 72 67 ().?.'-name'.:.'-iname').).->arg
149400 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 3b 0a 7d 0a 0a 24 63 6f ($expr->renderPattern());.}..$co
149420 6d 6d 61 6e 64 2d 3e 63 6d 64 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 mmand->cmd(')');.}........privat
149440 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 43 e.function.buildPathsFiltering(C
149460 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 2c 20 61 72 72 61 79 20 24 70 61 ommand.$command,.$dir,.array.$pa
149480 74 68 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 63 ths,.$not.=.false).{.if.(0.===.c
1494a0 6f 75 6e 74 28 24 70 61 74 68 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d ount($paths)).{.return;.}..$comm
1494c0 61 6e 64 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c 29 2d 3e and->add($not.?.'-not'.:.null)->
1494e0 63 6d 64 28 27 28 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 69 cmd('(');..foreach.($paths.as.$i
149500 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a .=>.$path).{.$expr.=.Expression:
149520 3a 63 72 65 61 74 65 28 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 :create($path);....if.($expr->is
149540 47 6c 6f 62 28 29 20 26 26 20 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 73 45 78 Glob().&&.$expr->getGlob()->isEx
149560 70 61 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e pandable()).{.$expr.=.Expression
149580 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f 52 65 67 ::create($expr->getGlob()->toReg
1495a0 65 78 28 66 61 6c 73 65 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 ex(false));.}....if.($expr->isRe
1495c0 67 65 78 28 29 29 20 7b 0a 24 72 65 67 65 78 20 3d 20 24 65 78 70 72 2d 3e 67 65 74 52 65 67 65 gex()).{.$regex.=.$expr->getRege
1495e0 78 28 29 3b 0a 24 72 65 67 65 78 2d 3e 70 72 65 70 65 6e 64 28 24 72 65 67 65 78 2d 3e 68 61 73 x();.$regex->prepend($regex->has
149600 53 74 61 72 74 46 6c 61 67 28 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 29 2e 44 StartFlag().?.preg_quote($dir).D
149620 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3a 20 27 2e 2a 27 29 2d 3e 73 65 74 45 IRECTORY_SEPARATOR.:.'.*')->setE
149640 6e 64 4a 6f 6b 65 72 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 67 28 29 29 3b 0a ndJoker(!$regex->hasEndFlag());.
149660 7d 20 65 6c 73 65 20 7b 0a 24 65 78 70 72 2d 3e 70 72 65 70 65 6e 64 28 27 2a 27 29 2d 3e 61 70 }.else.{.$expr->prepend('*')->ap
149680 70 65 6e 64 28 27 2a 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 24 69 20 pend('*');.}..$command.->add($i.
1496a0 3e 20 30 20 3f 20 27 2d 6f 72 27 20 3a 20 6e 75 6c 6c 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d >.0.?.'-or'.:.null).->add($expr-
1496c0 3e 69 73 52 65 67 65 78 28 29 0a 3f 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 >isRegex().?.($expr->isCaseSensi
1496e0 74 69 76 65 28 29 20 3f 20 27 2d 72 65 67 65 78 27 20 3a 20 27 2d 69 72 65 67 65 78 27 29 0a 3a tive().?.'-regex'.:.'-iregex').:
149700 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 70 .($expr->isCaseSensitive().?.'-p
149720 61 74 68 27 20 3a 20 27 2d 69 70 61 74 68 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e ath'.:.'-ipath').).->arg($expr->
149740 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 63 renderPattern());.}..$command->c
149760 6d 64 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e md(')');.}......private.function
149780 20 62 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f .buildSizesFiltering(Command.$co
1497a0 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 73 69 7a 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 mmand,.array.$sizes).{.foreach.(
1497c0 24 73 69 7a 65 73 20 61 73 20 24 69 20 3d 3e 20 24 73 69 7a 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e $sizes.as.$i.=>.$size).{.$comman
1497e0 64 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 61 6e 64 27 20 3a 20 6e 75 6c 6c 29 3b 0a d->add($i.>.0.?.'-and'.:.null);.
149800 0a 73 77 69 74 63 68 20 28 24 73 69 7a 65 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b .switch.($size->getOperator()).{
149820 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 .case.'<=':.$command->add('-size
149840 20 2d 27 2e 28 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 29 2e 27 63 27 .-'.($size->getTarget().+.1).'c'
149860 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 );.break;.case.'>=':.$command->a
149880 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 28 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 dd('-size.+'.($size->getTarget()
1498a0 20 2d 20 31 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f .-.1).'c');.break;.case.'>':.$co
1498c0 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 mmand->add('-size.+'.$size->getT
1498e0 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a arget().'c');.break;.case.'!=':.
149900 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 $command->add('-size.-'.$size->g
149920 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 etTarget().'c');.$command->add('
149940 2d 73 69 7a 65 20 2b 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 -size.+'.$size->getTarget().'c')
149960 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d ;.break;.case.'<':.default:.$com
149980 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 mand->add('-size.-'.$size->getTa
1499a0 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 rget().'c');.}.}.}......private.
1499c0 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 61 74 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d function.buildDatesFiltering(Com
1499e0 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 64 61 74 65 73 29 0a 7b 0a 66 mand.$command,.array.$dates).{.f
149a00 6f 72 65 61 63 68 20 28 24 64 61 74 65 73 20 61 73 20 24 69 20 3d 3e 20 24 64 61 74 65 29 20 7b oreach.($dates.as.$i.=>.$date).{
149a20 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 61 6e 64 27 20 3a .$command->add($i.>.0.?.'-and'.:
149a40 20 6e 75 6c 6c 29 3b 0a 0a 24 6d 69 6e 73 20 3d 20 28 69 6e 74 29 20 72 6f 75 6e 64 28 28 74 69 .null);..$mins.=.(int).round((ti
149a60 6d 65 28 29 20 2d 20 24 64 61 74 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 2f 20 36 30 29 me().-.$date->getTarget())./.60)
149a80 3b 0a 0a 69 66 20 28 30 20 3e 20 24 6d 69 6e 73 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 2d 3e ;..if.(0.>.$mins).{...$command->
149aa0 61 64 64 28 27 20 2d 6d 6d 69 6e 20 2d 30 27 29 3b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 add('.-mmin.-0');...return;.}..s
149ac0 77 69 74 63 68 20 28 24 64 61 74 65 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 witch.($date->getOperator()).{.c
149ae0 61 73 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b ase.'<=':.$command->add('-mmin.+
149b00 27 2e 28 24 6d 69 6e 73 20 2d 20 31 29 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 '.($mins.-.1));.break;.case.'>='
149b20 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2d 27 2e 28 24 6d 69 6e 73 :.$command->add('-mmin.-'.($mins
149b40 20 2b 20 31 29 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d 61 6e .+.1));.break;.case.'>':.$comman
149b60 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2d 27 2e 24 6d 69 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a d->add('-mmin.-'.$mins);.break;.
149b80 63 61 73 65 20 27 21 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 case.'!=':.$command->add('-mmin.
149ba0 2b 27 2e 24 6d 69 6e 73 2e 27 20 2d 6f 72 20 2d 6d 6d 69 6e 20 2d 27 2e 24 6d 69 6e 73 29 3b 0a +'.$mins.'.-or.-mmin.-'.$mins);.
149bc0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 break;.case.'<':.default:.$comma
149be0 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 2e 24 6d 69 6e 73 29 3b 0a 7d 0a 7d 0a 7d 0a nd->add('-mmin.+'.$mins);.}.}.}.
149c00 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 6f 72 .......private.function.buildSor
149c20 74 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a ting(Command.$command,.$sort).{.
149c40 24 74 68 69 73 2d 3e 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 24 63 6f 6d 6d 61 $this->buildFormatSorting($comma
149c60 6e 64 2c 20 24 73 6f 72 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 nd,.$sort);.}......abstract.prot
149c80 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e ected.function.buildFormatSortin
149ca0 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 3b 0a 0a 0a 0a 0a g(Command.$command,.$sort);.....
149cc0 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 ..abstract.protected.function.bu
149ce0 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d ildContentFiltering(Command.$com
149d00 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 mand,.array.$contains,.$not.=.fa
149d20 6c 73 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 lse);.}.<?php...........namespac
149d40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 e.Symfony\Component\Finder\Adapt
149d60 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 41 64 61 70 74 65 72 49 6e 74 65 72 er;.......interface.AdapterInter
149d80 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 face.{......public.function.setF
149da0 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 3b 0a 0a 0a 0a 0a 0a 0a ollowLinks($followLinks);.......
149dc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 6f 64 65 28 24 6d 6f 64 65 29 3b 0a public.function.setMode($mode);.
149de0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 6c 75 64 65 28 61 ....public.function.setExclude(a
149e00 72 72 61 79 20 24 65 78 63 6c 75 64 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rray.$exclude);.....public.funct
149e20 69 6f 6e 20 73 65 74 44 65 70 74 68 73 28 61 72 72 61 79 20 24 64 65 70 74 68 73 29 3b 0a 0a 0a ion.setDepths(array.$depths);...
149e40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 72 72 61 79 ..public.function.setNames(array
149e60 20 24 6e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 .$names);.....public.function.se
149e80 74 4e 6f 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 6f 74 4e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a tNotNames(array.$notNames);.....
149ea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 public.function.setContains(arra
149ec0 79 20 24 63 6f 6e 74 61 69 6e 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f y.$contains);.....public.functio
149ee0 6e 20 73 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 6e 6f 74 43 6f 6e 74 61 n.setNotContains(array.$notConta
149f00 69 6e 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a ins);.....public.function.setSiz
149f20 65 73 28 61 72 72 61 79 20 24 73 69 7a 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e es(array.$sizes);.....public.fun
149f40 63 74 69 6f 6e 20 73 65 74 44 61 74 65 73 28 61 72 72 61 79 20 24 64 61 74 65 73 29 3b 0a 0a 0a ction.setDates(array.$dates);...
149f60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 ..public.function.setFilters(arr
149f80 61 79 20 24 66 69 6c 74 65 72 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ay.$filters);.......public.funct
149fa0 69 6f 6e 20 73 65 74 53 6f 72 74 28 24 73 6f 72 74 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ion.setSort($sort);.....public.f
149fc0 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 74 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 3b 0a 0a unction.setPath(array.$paths);..
149fe0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 50 61 74 68 28 61 72 ...public.function.setNotPath(ar
14a000 72 61 79 20 24 6e 6f 74 50 61 74 68 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ray.$notPaths);.......public.fun
14a020 63 74 69 6f 6e 20 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f ction.ignoreUnreadableDirs($igno
14a040 72 65 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f re.=.true);.......public.functio
14a060 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 0a 0a 0a 0a 0a n.searchInDirectory($dir);......
14a080 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 3b 0a .public.function.isSupported();.
14a0a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b ......public.function.getName();
14a0c0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
14a0e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a fony\Component\Finder\Adapter;..
14a100 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 @trigger_error('The.'.__NAMESPAC
14a120 45 5f 5f 2e 27 5c 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 E__.'\BsdFindAdapter.class.is.de
14a140 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 precated.since.Symfony.2.8.and.w
14a160 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 ill.be.removed.in.3.0..Use.direc
14a180 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 tly.the.Finder.class.instead.',.
14a1a0 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 E_USER_DEPRECATED);..use.Symfony
14a1c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 75 \Component\Finder\Shell\Shell;.u
14a1e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c se.Symfony\Component\Finder\Shel
14a200 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 l\Command;.use.Symfony\Component
14a220 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f \Finder\Iterator\SortableIterato
14a240 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c r;.use.Symfony\Component\Finder\
14a260 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 Expression\Expression;.........c
14a280 6c 61 73 73 20 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 lass.BsdFindAdapter.extends.Abst
14a2a0 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ractFindAdapter.{....public.func
14a2c0 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 62 73 64 5f 66 69 6e tion.getName().{.return.'bsd_fin
14a2e0 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e d';.}.....protected.function.can
14a300 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 BeUsed().{.return.in_array($this
14a320 2d 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 53 68 65 6c 6c 3a ->shell->getType(),.array(Shell:
14a340 3a 54 59 50 45 5f 42 53 44 2c 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 44 41 52 57 49 4e 29 29 20 :TYPE_BSD,.Shell::TYPE_DARWIN)).
14a360 26 26 20 70 61 72 65 6e 74 3a 3a 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 &&.parent::canBeUsed();.}.....pr
14a380 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 otected.function.buildFormatSort
14a3a0 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 ing(Command.$command,.$sort).{.s
14a3c0 77 69 74 63 68 20 28 24 73 6f 72 74 29 20 7b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 witch.($sort).{.case.SortableIte
14a3e0 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 rator::SORT_BY_NAME:.$command->i
14a400 6e 73 28 27 73 6f 72 74 27 29 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 ns('sort')->add('|.sort');..retu
14a420 72 6e 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f rn;.case.SortableIterator::SORT_
14a440 42 59 5f 54 59 50 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 48 54 27 3b 0a 62 72 65 61 6b 3b BY_TYPE:.$format.=.'%HT';.break;
14a460 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f .case.SortableIterator::SORT_BY_
14a480 41 43 43 45 53 53 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 61 27 3b 0a 62 ACCESSED_TIME:.$format.=.'%a';.b
14a4a0 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 reak;.case.SortableIterator::SOR
14a4c0 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 63 T_BY_CHANGED_TIME:.$format.=.'%c
14a4e0 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a ';.break;.case.SortableIterator:
14a500 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 :SORT_BY_MODIFIED_TIME:.$format.
14a520 3d 20 27 25 6d 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 =.'%m';.break;.default:.throw.ne
14a540 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 w.\InvalidArgumentException(spri
14a560 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c ntf('Unknown.sort.options:.%s.',
14a580 20 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 2d 70 72 .$sort));.}..$command.->add('-pr
14a5a0 69 6e 74 30 20 7c 20 78 61 72 67 73 20 2d 30 20 73 74 61 74 20 2d 66 27 29 0a 2d 3e 61 72 67 28 int0.|.xargs.-0.stat.-f').->arg(
14a5c0 24 66 6f 72 6d 61 74 2e 27 25 74 25 4e 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 $format.'%t%N').->add('|.sort.|.
14a5e0 63 75 74 20 2d 66 20 32 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 cut.-f.2');.}.....protected.func
14a600 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 tion.buildFindCommand(Command.$c
14a620 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 62 75 69 6c 64 46 69 6e ommand,.$dir).{.parent::buildFin
14a640 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 2d 3e 61 64 64 41 74 49 dCommand($command,.$dir)->addAtI
14a660 6e 64 65 78 28 27 2d 45 27 2c 20 31 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b ndex('-E',.1);..return.$command;
14a680 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 .}.....protected.function.buildC
14a6a0 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 ontentFiltering(Command.$command
14a6c0 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 ,.array.$contains,.$not.=.false)
14a6e0 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 61 69 6e 73 20 61 73 20 24 63 6f 6e 74 61 69 .{.foreach.($contains.as.$contai
14a700 6e 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 n).{.$expr.=.Expression::create(
14a720 24 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 7c 20 $contain);....$command.->add('|.
14a740 67 72 65 70 20 2d 76 20 5c 27 5e 24 5c 27 27 29 0a 2d 3e 61 64 64 28 27 7c 20 78 61 72 67 73 20 grep.-v.\'^$\'').->add('|.xargs.
14a760 2d 49 7b 7d 20 67 72 65 70 20 2d 49 27 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 43 61 -I{}.grep.-I').->add($expr->isCa
14a780 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 6e 75 6c 6c 20 3a 20 27 2d 69 27 29 0a 2d 3e 61 seSensitive().?.null.:.'-i').->a
14a7a0 64 64 28 24 6e 6f 74 20 3f 20 27 2d 4c 27 20 3a 20 27 2d 6c 27 29 0a 2d 3e 61 64 64 28 27 2d 45 dd($not.?.'-L'.:.'-l').->add('-E
14a7c0 65 27 29 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 e')->arg($expr->renderPattern())
14a7e0 0a 2d 3e 61 64 64 28 27 7b 7d 27 29 0a 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .->add('{}').;.}.}.}.<?php......
14a800 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
14a820 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 \Finder\Adapter;..@trigger_error
14a840 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 47 6e 75 46 69 6e 64 41 ('The.'.__NAMESPACE__.'\GnuFindA
14a860 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 dapter.class.is.deprecated.since
14a880 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 .Symfony.2.8.and.will.be.removed
14a8a0 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 .in.3.0..Use.directly.the.Finder
14a8c0 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 .class.instead.',.E_USER_DEPRECA
14a8e0 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e TED);..use.Symfony\Component\Fin
14a900 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d der\Shell\Shell;.use.Symfony\Com
14a920 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 ponent\Finder\Shell\Command;.use
14a940 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 .Symfony\Component\Finder\Iterat
14a960 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 or\SortableIterator;.use.Symfony
14a980 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 \Component\Finder\Expression\Exp
14a9a0 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6e 75 46 69 6e 64 41 64 ression;.........class.GnuFindAd
14a9c0 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 apter.extends.AbstractFindAdapte
14a9e0 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 r.{....public.function.getName()
14aa00 0a 7b 0a 72 65 74 75 72 6e 20 27 67 6e 75 5f 66 69 6e 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 .{.return.'gnu_find';.}.....prot
14aa20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e ected.function.buildFormatSortin
14aa40 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 77 69 g(Command.$command,.$sort).{.swi
14aa60 74 63 68 20 28 24 73 6f 72 74 29 20 7b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 tch.($sort).{.case.SortableItera
14aa80 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 tor::SORT_BY_NAME:.$command->ins
14aaa0 28 27 73 6f 72 74 27 29 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 72 6e ('sort')->add('|.sort');..return
14aac0 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 ;.case.SortableIterator::SORT_BY
14aae0 5f 54 59 50 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 79 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 _TYPE:.$format.=.'%y';.break;.ca
14ab00 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 se.SortableIterator::SORT_BY_ACC
14ab20 45 53 53 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 41 40 27 3b 0a 62 72 65 ESSED_TIME:.$format.=.'%A@';.bre
14ab40 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f ak;.case.SortableIterator::SORT_
14ab60 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 43 40 27 BY_CHANGED_TIME:.$format.=.'%C@'
14ab80 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a ;.break;.case.SortableIterator::
14aba0 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d SORT_BY_MODIFIED_TIME:.$format.=
14abc0 20 27 25 54 40 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 .'%T@';.break;.default:.throw.ne
14abe0 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 w.\InvalidArgumentException(spri
14ac00 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c ntf('Unknown.sort.options:.%s.',
14ac20 20 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 67 65 74 28 27 66 69 6e .$sort));.}..$command.->get('fin
14ac40 64 27 29 0a 2d 3e 61 64 64 28 27 2d 70 72 69 6e 74 66 27 29 0a 2d 3e 61 72 67 28 24 66 6f 72 6d d').->add('-printf').->arg($form
14ac60 61 74 2e 27 20 25 68 2f 25 66 5c 5c 6e 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 at.'.%h/%f\\n').->add('|.sort.|.
14ac80 63 75 74 27 29 0a 2d 3e 61 72 67 28 27 2d 64 20 27 29 0a 2d 3e 61 72 67 28 27 2d 66 32 2d 27 29 cut').->arg('-d.').->arg('-f2-')
14aca0 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 .;.}.....protected.function.canB
14acc0 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 55 4e 49 eUsed().{.return.Shell::TYPE_UNI
14ace0 58 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 29 20 26 26 X.===.$this->shell->getType().&&
14ad00 20 70 61 72 65 6e 74 3a 3a 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 .parent::canBeUsed();.}.....prot
14ad20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 ected.function.buildFindCommand(
14ad40 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e Command.$command,.$dir).{.return
14ad60 20 70 61 72 65 6e 74 3a 3a 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 .parent::buildFindCommand($comma
14ad80 6e 64 2c 20 24 64 69 72 29 2d 3e 61 64 64 28 27 2d 72 65 67 65 78 74 79 70 65 20 70 6f 73 69 78 nd,.$dir)->add('-regextype.posix
14ada0 2d 65 78 74 65 6e 64 65 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e -extended');.}.....protected.fun
14adc0 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d ction.buildContentFiltering(Comm
14ade0 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 and.$command,.array.$contains,.$
14ae00 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 61 69 6e not.=.false).{.foreach.($contain
14ae20 73 20 61 73 20 24 63 6f 6e 74 61 69 6e 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 s.as.$contain).{.$expr.=.Express
14ae40 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 ion::create($contain);....$comma
14ae60 6e 64 0a 2d 3e 61 64 64 28 27 7c 20 78 61 72 67 73 20 2d 49 7b 7d 20 2d 72 20 67 72 65 70 20 2d nd.->add('|.xargs.-I{}.-r.grep.-
14ae80 49 27 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 I').->add($expr->isCaseSensitive
14aea0 28 29 20 3f 20 6e 75 6c 6c 20 3a 20 27 2d 69 27 29 0a 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 ().?.null.:.'-i').->add($not.?.'
14aec0 2d 4c 27 20 3a 20 27 2d 6c 27 29 0a 2d 3e 61 64 64 28 27 2d 45 65 27 29 2d 3e 61 72 67 28 24 65 -L'.:.'-l').->add('-Ee')->arg($e
14aee0 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 0a 2d 3e 61 64 64 28 27 7b 7d 27 xpr->renderPattern()).->add('{}'
14af00 29 0a 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ).;.}.}.}.<?php...........namesp
14af20 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 ace.Symfony\Component\Finder\Ada
14af40 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e pter;..@trigger_error('The.'.__N
14af60 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 50 68 70 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 AMESPACE__.'\PhpAdapter.class.is
14af80 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e .deprecated.since.Symfony.2.8.an
14afa0 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 d.will.be.removed.in.3.0..Use.di
14afc0 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e rectly.the.Finder.class.instead.
14afe0 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 ',.E_USER_DEPRECATED);..use.Symf
14b000 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a ony\Component\Finder\Iterator;..
14b020 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 .......class.PhpAdapter.extends.
14b040 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 AbstractAdapter.{....public.func
14b060 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 24 tion.searchInDirectory($dir).{.$
14b080 66 6c 61 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 flags.=.\RecursiveDirectoryItera
14b0a0 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c tor::SKIP_DOTS;..if.($this->foll
14b0c0 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 5c 52 65 63 75 72 73 69 76 65 44 owLinks).{.$flags.|=.\RecursiveD
14b0e0 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b irectoryIterator::FOLLOW_SYMLINK
14b100 53 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 52 S;.}..$iterator.=.new.Iterator\R
14b120 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 ecursiveDirectoryIterator($dir,.
14b140 24 66 6c 61 67 73 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 $flags,.$this->ignoreUnreadableD
14b160 69 72 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 irs);..if.($this->exclude).{.$it
14b180 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 erator.=.new.Iterator\ExcludeDir
14b1a0 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 ectoryFilterIterator($iterator,.
14b1c0 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 $this->exclude);.}..$iterator.=.
14b1e0 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 new.\RecursiveIteratorIterator($
14b200 69 74 65 72 61 74 6f 72 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 iterator,.\RecursiveIteratorIter
14b220 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d ator::SELF_FIRST);..if.($this->m
14b240 69 6e 44 65 70 74 68 20 3e 20 30 20 7c 7c 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3c inDepth.>.0.||.$this->maxDepth.<
14b260 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 .PHP_INT_MAX).{.$iterator.=.new.
14b280 49 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f Iterator\DepthRangeFilterIterato
14b2a0 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 2c 20 24 74 r($iterator,.$this->minDepth,.$t
14b2c0 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f his->maxDepth);.}..if.($this->mo
14b2e0 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 de).{.$iterator.=.new.Iterator\F
14b300 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c ileTypeFilterIterator($iterator,
14b320 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 61 6d .$this->mode);.}..if.($this->nam
14b340 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 20 7b 0a 24 69 74 65 72 61 74 es.||.$this->notNames).{.$iterat
14b360 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 or.=.new.Iterator\FilenameFilter
14b380 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 Iterator($iterator,.$this->names
14b3a0 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 ,.$this->notNames);.}..if.($this
14b3c0 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 ->contains.||.$this->notContains
14b3e0 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c ).{.$iterator.=.new.Iterator\Fil
14b400 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 econtentFilterIterator($iterator
14b420 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e ,.$this->contains,.$this->notCon
14b440 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 20 7b 0a 24 tains);.}..if.($this->sizes).{.$
14b460 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 iterator.=.new.Iterator\SizeRang
14b480 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 eFilterIterator($iterator,.$this
14b4a0 2d 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 20 7b ->sizes);.}..if.($this->dates).{
14b4c0 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 .$iterator.=.new.Iterator\DateRa
14b4e0 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 ngeFilterIterator($iterator,.$th
14b500 69 73 2d 3e 64 61 74 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 is->dates);.}..if.($this->filter
14b520 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 s).{.$iterator.=.new.Iterator\Cu
14b540 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 stomFilterIterator($iterator,.$t
14b560 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 74 his->filters);.}..if.($this->pat
14b580 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 20 7b 0a 24 69 74 65 72 61 74 hs.||.$this->notPaths).{.$iterat
14b5a0 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 or.=.new.Iterator\PathFilterIter
14b5c0 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 73 2c 20 24 74 ator($iterator,.$this->paths,.$t
14b5e0 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 6f his->notPaths);.}..if.($this->so
14b600 72 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 rt).{.$iteratorAggregate.=.new.I
14b620 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 terator\SortableIterator($iterat
14b640 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 or,.$this->sort);.$iterator.=.$i
14b660 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b teratorAggregate->getIterator();
14b680 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .}..return.$iterator;.}.....publ
14b6a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 ic.function.getName().{.return.'
14b6c0 70 68 70 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 php';.}.....protected.function.c
14b6e0 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f anBeUsed().{.return.true;.}.}.<?
14b700 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
14b720 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a Component\Finder\Comparator;....
14b740 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 ...class.Comparator.{.private.$t
14b760 61 72 67 65 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3d 3d 27 3b arget;.private.$operator.=.'==';
14b780 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 .......public.function.getTarget
14b7a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a ().{.return.$this->target;.}....
14b7c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 74 28 24 74 61 ...public.function.setTarget($ta
14b7e0 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 20 3d 20 24 74 61 72 67 65 74 3b rget).{.$this->target.=.$target;
14b800 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 .}.......public.function.getOper
14b820 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b ator().{.return.$this->operator;
14b840 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 .}.........public.function.setOp
14b860 65 72 61 74 6f 72 28 24 6f 70 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 21 24 6f 70 65 72 61 74 erator($operator).{.if.(!$operat
14b880 6f 72 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3d 3d 27 3b 0a 7d 0a 0a 69 66 20 28 21 or).{.$operator.=.'==';.}..if.(!
14b8a0 69 6e 5f 61 72 72 61 79 28 24 6f 70 65 72 61 74 6f 72 2c 20 61 72 72 61 79 28 27 3e 27 2c 20 27 in_array($operator,.array('>',.'
14b8c0 3c 27 2c 20 27 3e 3d 27 2c 20 27 3c 3d 27 2c 20 27 3d 3d 27 2c 20 27 21 3d 27 29 29 29 20 7b 0a <',.'>=',.'<=',.'==',.'!='))).{.
14b8e0 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
14b900 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 ion(sprintf('Invalid.operator."%
14b920 73 22 2e 27 2c 20 24 6f 70 65 72 61 74 6f 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 s".',.$operator));.}..$this->ope
14b940 72 61 74 6f 72 20 3d 20 24 6f 70 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 rator.=.$operator;.}.........pub
14b960 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 74 65 73 74 29 0a 7b 0a 73 77 69 74 63 lic.function.test($test).{.switc
14b980 68 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a h.($this->operator).{.case.'>':.
14b9a0 72 65 74 75 72 6e 20 24 74 65 73 74 20 3e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 return.$test.>.$this->target;.ca
14b9c0 73 65 20 27 3e 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3e 3d 20 24 74 68 69 73 2d 3e se.'>=':.return.$test.>=.$this->
14b9e0 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3c target;.case.'<':.return.$test.<
14ba00 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 72 65 74 75 72 .$this->target;.case.'<=':.retur
14ba20 6e 20 24 74 65 73 74 20 3c 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 n.$test.<=.$this->target;.case.'
14ba40 21 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 21 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 !=':.return.$test.!=.$this->targ
14ba60 65 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3d 3d 20 24 74 68 69 73 2d 3e 74 61 et;.}..return.$test.==.$this->ta
14ba80 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 rget;.}.}.<?php...........namesp
14baa0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d ace.Symfony\Component\Finder\Com
14bac0 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 61 74 65 43 6f 6d 70 61 72 61 parator;.......class.DateCompara
14bae0 74 6f 72 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 tor.extends.Comparator.{......pu
14bb00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 65 73 74 29 blic.function.__construct($test)
14bb20 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 28 3d 3d 7c 21 3d 7c .{.if.(!preg_match('#^\s*(==|!=|
14bb40 5b 3c 3e 5d 3d 3f 7c 61 66 74 65 72 7c 73 69 6e 63 65 7c 62 65 66 6f 72 65 7c 75 6e 74 69 6c 29 [<>]=?|after|since|before|until)
14bb60 3f 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 23 69 27 2c 20 24 74 65 73 74 2c 20 24 6d 61 74 63 68 65 ?\s*(.+?)\s*$#i',.$test,.$matche
14bb80 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 s)).{.throw.new.\InvalidArgument
14bba0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 44 6f 6e 5c 27 74 20 75 6e 64 65 72 73 Exception(sprintf('Don\'t.unders
14bbc0 74 61 6e 64 20 22 25 73 22 20 61 73 20 61 20 64 61 74 65 20 74 65 73 74 2e 27 2c 20 24 74 65 73 tand."%s".as.a.date.test.',.$tes
14bbe0 74 29 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 t));.}..try.{.$date.=.new.\DateT
14bc00 69 6d 65 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 24 64 61 74 ime($matches[2]);.$target.=.$dat
14bc20 65 2d 3e 66 6f 72 6d 61 74 28 27 55 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 e->format('U');.}.catch.(\Except
14bc40 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ion.$e).{.throw.new.\InvalidArgu
14bc60 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 22 25 73 22 20 69 73 20 6e mentException(sprintf('"%s".is.n
14bc80 6f 74 20 61 20 76 61 6c 69 64 20 64 61 74 65 2e 27 2c 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 ot.a.valid.date.',.$matches[2]))
14bca0 3b 0a 7d 0a 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b ;.}..$operator.=.isset($matches[
14bcc0 31 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3a 20 27 3d 3d 27 3b 0a 69 66 20 28 27 73 1]).?.$matches[1].:.'==';.if.('s
14bce0 69 6e 63 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 20 7c 7c 20 27 61 66 74 65 72 27 20 3d ince'.===.$operator.||.'after'.=
14bd00 3d 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3e 27 3b ==.$operator).{.$operator.=.'>';
14bd20 0a 7d 0a 0a 69 66 20 28 27 75 6e 74 69 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 20 7c 7c .}..if.('until'.===.$operator.||
14bd40 20 27 62 65 66 6f 72 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 .'before'.===.$operator).{.$oper
14bd60 61 74 6f 72 20 3d 20 27 3c 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f ator.=.'<';.}..$this->setOperato
14bd80 72 28 24 6f 70 65 72 61 74 6f 72 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 r($operator);.$this->setTarget($
14bda0 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d target);.}.}.<?php...........nam
14bdc0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
14bde0 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Comparator;.....................
14be00 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 ..class.NumberComparator.extends
14be20 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .Comparator.{......public.functi
14be40 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 65 73 74 29 0a 7b 0a 69 66 20 28 21 70 72 65 on.__construct($test).{.if.(!pre
14be60 67 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 28 3d 3d 7c 21 3d 7c 5b 3c 3e 5d 3d 3f 29 3f 5c 73 2a g_match('#^\s*(==|!=|[<>]=?)?\s*
14be80 28 5b 30 2d 39 5c 2e 5d 2b 29 5c 73 2a 28 5b 6b 6d 67 5d 69 3f 29 3f 5c 73 2a 24 23 69 27 2c 20 ([0-9\.]+)\s*([kmg]i?)?\s*$#i',.
14bea0 24 74 65 73 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 $test,.$matches)).{.throw.new.\I
14bec0 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 nvalidArgumentException(sprintf(
14bee0 27 44 6f 6e 5c 27 74 20 75 6e 64 65 72 73 74 61 6e 64 20 22 25 73 22 20 61 73 20 61 20 6e 75 6d 'Don\'t.understand."%s".as.a.num
14bf00 62 65 72 20 74 65 73 74 2e 27 2c 20 24 74 65 73 74 29 29 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 20 ber.test.',.$test));.}..$target.
14bf20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 =.$matches[2];.if.(!is_numeric($
14bf40 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 target)).{.throw.new.\InvalidArg
14bf60 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 umentException(sprintf('Invalid.
14bf80 6e 75 6d 62 65 72 20 22 25 73 22 2e 27 2c 20 24 74 61 72 67 65 74 29 29 3b 0a 7d 0a 69 66 20 28 number."%s".',.$target));.}.if.(
14bfa0 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 29 20 7b 0a 0a 20 73 77 69 74 63 68 20 28 isset($matches[3])).{...switch.(
14bfc0 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 29 20 7b 0a 63 61 73 65 20 strtolower($matches[3])).{.case.
14bfe0 27 6b 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 'k':.$target.*=.1000;.break;.cas
14c000 65 20 27 6b 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a e.'ki':.$target.*=.1024;.break;.
14c020 63 61 73 65 20 27 6d 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 30 30 30 30 30 3b 0a 62 72 case.'m':.$target.*=.1000000;.br
14c040 65 61 6b 3b 0a 63 61 73 65 20 27 6d 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 20 eak;.case.'mi':.$target.*=.1024.
14c060 2a 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 67 27 3a 0a 24 74 61 72 67 65 74 *.1024;.break;.case.'g':.$target
14c080 20 2a 3d 20 31 30 30 30 30 30 30 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 67 69 27 .*=.1000000000;.break;.case.'gi'
14c0a0 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 3b :.$target.*=.1024.*.1024.*.1024;
14c0c0 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 74 .break;.}.}..$this->setTarget($t
14c0e0 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f 72 28 69 73 73 65 74 arget);.$this->setOperator(isset
14c100 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3a 20 27 3d ($matches[1]).?.$matches[1].:.'=
14c120 3d 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 =');.}.}.<?php...........namespa
14c140 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 ce.Symfony\Component\Finder\Exce
14c160 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 ption;.....class.AccessDeniedExc
14c180 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 eption.extends.\UnexpectedValueE
14c1a0 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d xception.{.}.<?php...........nam
14c1c0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
14c1e0 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 Exception;..@trigger_error('The.
14c200 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 '.__NAMESPACE__.'\AdapterFailure
14c220 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 Exception.class.is.deprecated.si
14c240 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
14c260 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
14c280 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c ;..use.Symfony\Component\Finder\
14c2a0 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a Adapter\AdapterInterface;.......
14c2c0 0a 0a 63 6c 61 73 73 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 ..class.AdapterFailureException.
14c2e0 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d extends.\RuntimeException.implem
14c300 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 ents.ExceptionInterface.{.privat
14c320 65 20 24 61 64 61 70 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f e.$adapter;.......public.functio
14c340 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 n.__construct(AdapterInterface.$
14c360 61 64 61 70 74 65 72 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 5c 45 78 63 65 70 adapter,.$message.=.null,.\Excep
14c380 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e tion.$previous.=.null).{.$this->
14c3a0 61 64 61 70 74 65 72 20 3d 20 24 61 64 61 70 74 65 72 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f adapter.=.$adapter;.parent::__co
14c3c0 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3f 3a 20 27 53 65 61 72 63 68 20 66 61 69 6c nstruct($message.?:.'Search.fail
14c3e0 65 64 20 77 69 74 68 20 22 27 2e 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 ed.with."'.$adapter->getName().'
14c400 22 20 61 64 61 70 74 65 72 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ".adapter.',.$previous);.}.....p
14c420 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 72 65 ublic.function.getAdapter().{.re
14c440 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a turn.$this->adapter;.}.}.<?php..
14c460 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
14c480 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 nent\Finder\Exception;.....inter
14c4a0 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 face.ExceptionInterface.{....pub
14c4c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 lic.function.getAdapter();.}.<?p
14c4e0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
14c500 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 omponent\Finder\Exception;..@tri
14c520 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e gger_error('The.'.__NAMESPACE__.
14c540 27 5c 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 20 '\OperationNotPermitedException.
14c560 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e class.is.deprecated.since.Symfon
14c580 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 y.2.8.and.will.be.removed.in.3.0
14c5a0 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c .',.E_USER_DEPRECATED);.......cl
14c5c0 61 73 73 20 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f ass.OperationNotPermitedExceptio
14c5e0 6e 20 65 78 74 65 6e 64 73 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f n.extends.AdapterFailureExceptio
14c600 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 n.{.}.<?php...........namespace.
14c620 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 Symfony\Component\Finder\Excepti
14c640 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d on;..@trigger_error('The.'.__NAM
14c660 45 53 50 41 43 45 5f 5f 2e 27 5c 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 ESPACE__.'\ShellCommandFailureEx
14c680 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 ception.class.is.deprecated.sinc
14c6a0 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
14c6c0 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
14c6e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 .use.Symfony\Component\Finder\Ad
14c700 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 apter\AdapterInterface;.use.Symf
14c720 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 ony\Component\Finder\Shell\Comma
14c740 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c nd;.......class.ShellCommandFail
14c760 75 72 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 41 64 61 70 74 65 72 46 61 69 6c ureException.extends.AdapterFail
14c780 75 72 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b ureException.{.private.$command;
14c7a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 64 ..public.function.__construct(Ad
14c7c0 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 2c 20 43 6f 6d 6d 61 6e 64 apterInterface.$adapter,.Command
14c7e0 20 24 63 6f 6d 6d 61 6e 64 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 .$command,.\Exception.$previous.
14c800 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d =.null).{.$this->command.=.$comm
14c820 61 6e 64 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 64 61 70 74 65 and;.parent::__construct($adapte
14c840 72 2c 20 27 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 63 6f r,.'Shell.command.failed:."'.$co
14c860 6d 6d 61 6e 64 2d 3e 6a 6f 69 6e 28 29 2e 27 22 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a mmand->join().'".',.$previous);.
14c880 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 }.....public.function.getCommand
14c8a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a ().{.return.$this->command;.}.}.
14c8c0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
14c8e0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a y\Component\Finder\Expression;..
14c900 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 @trigger_error('The.'.__NAMESPAC
14c920 45 5f 5f 2e 27 5c 45 78 70 72 65 73 73 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 E__.'\Expression.class.is.deprec
14c940 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.8.and.will.
14c960 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 be.removed.in.3.0.',.E_USER_DEPR
14c980 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 70 72 65 73 73 69 6f 6e 20 69 6d ECATED);.....class.Expression.im
14c9a0 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 plements.ValueInterface.{.const.
14c9c0 54 59 50 45 5f 52 45 47 45 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 47 4c 4f 42 20 TYPE_REGEX.=.1;.const.TYPE_GLOB.
14c9e0 3d 20 32 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 =.2;.....private.$value;.......p
14ca00 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 ublic.static.function.create($ex
14ca20 70 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 65 78 70 72 29 3b 0a 7d 0a pr).{.return.new.self($expr);.}.
14ca40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
14ca60 24 65 78 70 72 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 52 65 $expr).{.try.{.$this->value.=.Re
14ca80 67 65 78 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e gex::create($expr);.}.catch.(\In
14caa0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 validArgumentException.$e).{.$th
14cac0 69 73 2d 3e 76 61 6c 75 65 20 3d 20 6e 65 77 20 47 6c 6f 62 28 24 65 78 70 72 29 3b 0a 7d 0a 7d is->value.=.new.Glob($expr);.}.}
14cae0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 .....public.function.__toString(
14cb00 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a ).{.return.$this->render();.}...
14cb20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 ..public.function.render().{.ret
14cb40 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a urn.$this->value->render();.}...
14cb60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 ..public.function.renderPattern(
14cb80 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 72 65 6e 64 65 72 50 ).{.return.$this->value->renderP
14cba0 61 74 74 65 72 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 attern();.}.....public.function.
14cbc0 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 isCaseSensitive().{.return.$this
14cbe0 2d 3e 76 61 6c 75 65 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 3b 0a 7d 0a 0a 0a ->value->isCaseSensitive();.}...
14cc00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 ..public.function.getType().{.re
14cc20 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a turn.$this->value->getType();.}.
14cc40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 ....public.function.prepend($exp
14cc60 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 70 72 65 70 65 6e 64 28 24 65 78 70 72 r).{.$this->value->prepend($expr
14cc80 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 );..return.$this;.}.....public.f
14cca0 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 unction.append($expr).{.$this->v
14ccc0 61 6c 75 65 2d 3e 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 alue->append($expr);..return.$th
14cce0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 67 65 is;.}.....public.function.isRege
14cd00 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d x().{.return.self::TYPE_REGEX.==
14cd20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a =.$this->value->getType();.}....
14cd40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 47 6c 6f 62 28 29 0a 7b 0a 72 65 74 75 .public.function.isGlob().{.retu
14cd60 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 4c 4f 42 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 rn.self::TYPE_GLOB.===.$this->va
14cd80 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 lue->getType();.}.......public.f
14cda0 75 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 unction.getGlob().{.if.(self::TY
14cdc0 50 45 5f 47 4c 4f 42 20 21 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 PE_GLOB.!==.$this->value->getTyp
14cde0 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e e()).{.throw.new.\LogicException
14ce00 28 27 52 65 67 65 78 20 63 61 6e 5c 27 74 20 62 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 74 6f ('Regex.can\'t.be.transformed.to
14ce20 20 67 6c 6f 62 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 .glob.');.}..return.$this->value
14ce40 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 67 65 78 ;.}.....public.function.getRegex
14ce60 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d 3d ().{.return.self::TYPE_REGEX.===
14ce80 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3f 20 24 74 68 69 73 .$this->value->getType().?.$this
14cea0 2d 3e 76 61 6c 75 65 20 3a 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 74 6f 52 65 67 65 78 28 ->value.:.$this->value->toRegex(
14cec0 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 );.}.}.<?php...........namespace
14cee0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 .Symfony\Component\Finder\Expres
14cf00 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e sion;..@trigger_error('The.'.__N
14cf20 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 47 6c 6f 62 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 AMESPACE__.'\Glob.class.is.depre
14cf40 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c cated.since.Symfony.2.8.and.will
14cf60 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 .be.removed.in.3.0.',.E_USER_DEP
14cf80 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 RECATED);..use.Symfony\Component
14cfa0 5c 46 69 6e 64 65 72 5c 47 6c 6f 62 20 61 73 20 46 69 6e 64 65 72 47 6c 6f 62 3b 0a 0a 0a 0a 0a \Finder\Glob.as.FinderGlob;.....
14cfc0 63 6c 61 73 73 20 47 6c 6f 62 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 class.Glob.implements.ValueInter
14cfe0 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 70 75 62 face.{.private.$pattern;.....pub
14d000 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 lic.function.__construct($patter
14d020 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a n).{.$this->pattern.=.$pattern;.
14d040 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b }.....public.function.render().{
14d060 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .return.$this->pattern;.}.....pu
14d080 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a blic.function.renderPattern().{.
14d0a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 return.$this->pattern;.}.....pub
14d0c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getType().{.return.
14d0e0 45 78 70 72 65 73 73 69 6f 6e 3a 3a 54 59 50 45 5f 47 4c 4f 42 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 Expression::TYPE_GLOB;.}.....pub
14d100 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b lic.function.isCaseSensitive().{
14d120 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .return.true;.}.....public.funct
14d140 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 ion.prepend($expr).{.$this->patt
14d160 65 72 6e 20 3d 20 24 65 78 70 72 2e 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 ern.=.$expr.$this->pattern;..ret
14d180 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e urn.$this;.}.....public.function
14d1a0 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 .append($expr).{.$this->pattern.
14d1c0 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .=.$expr;..return.$this;.}......
14d1e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 0a .public.function.isExpandable().
14d200 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d {.return.false.!==.strpos($this-
14d220 3e 70 61 74 74 65 72 6e 2c 20 27 7b 27 29 0a 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 >pattern,.'{').&&.false.!==.strp
14d240 6f 73 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 27 7d 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a os($this->pattern,.'}');.}......
14d260 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 69 63 ..public.function.toRegex($stric
14d280 74 4c 65 61 64 69 6e 67 44 6f 74 20 3d 20 74 72 75 65 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 tLeadingDot.=.true,.$strictWildc
14d2a0 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 65 67 65 78 20 3d 20 46 69 6e 64 ardSlash.=.true).{.$regex.=.Find
14d2c0 65 72 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 erGlob::toRegex($this->pattern,.
14d2e0 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 $strictLeadingDot,.$strictWildca
14d300 72 64 53 6c 61 73 68 2c 20 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 65 67 65 78 28 rdSlash,.'');..return.new.Regex(
14d320 24 72 65 67 65 78 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d $regex);.}.}.<?php...........nam
14d340 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
14d360 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 Expression;..@trigger_error('The
14d380 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 52 65 67 65 78 20 63 6c 61 73 73 20 69 .'.__NAMESPACE__.'\Regex.class.i
14d3a0 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 s.deprecated.since.Symfony.2.8.a
14d3c0 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 nd.will.be.removed.in.3.0.',.E_U
14d3e0 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 67 65 78 SER_DEPRECATED);.....class.Regex
14d400 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e .implements.ValueInterface.{.con
14d420 73 74 20 53 54 41 52 54 5f 46 4c 41 47 20 3d 20 27 5e 27 3b 0a 63 6f 6e 73 74 20 45 4e 44 5f 46 st.START_FLAG.=.'^';.const.END_F
14d440 4c 41 47 20 3d 20 27 24 27 3b 0a 63 6f 6e 73 74 20 42 4f 55 4e 44 41 52 59 20 3d 20 27 7e 27 3b LAG.=.'$';.const.BOUNDARY.=.'~';
14d460 0a 63 6f 6e 73 74 20 4a 4f 4b 45 52 20 3d 20 27 2e 2a 27 3b 0a 63 6f 6e 73 74 20 45 53 43 41 50 .const.JOKER.=.'.*';.const.ESCAP
14d480 49 4e 47 20 3d 20 27 5c 5c 27 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e ING.=.'\\';.....private.$pattern
14d4a0 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 ;.....private.$options;.....priv
14d4c0 61 74 65 20 24 73 74 61 72 74 46 6c 61 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6e 64 ate.$startFlag;.....private.$end
14d4e0 46 6c 61 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 0a Flag;.....private.$startJoker;..
14d500 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ...private.$endJoker;.........pu
14d520 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 70 blic.static.function.create($exp
14d540 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 2e 7b 33 2c 7d 3f 29 28 r).{.if.(preg_match('/^(.{3,}?)(
14d560 5b 69 6d 73 78 75 41 44 55 5d 2a 29 24 2f 27 2c 20 24 65 78 70 72 2c 20 24 6d 29 29 20 7b 0a 24 [imsxuADU]*)$/',.$expr,.$m)).{.$
14d580 73 74 61 72 74 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 3b 0a 24 65 6e start.=.substr($m[1],.0,.1);.$en
14d5a0 64 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 28 0a 28 24 73 d.=.substr($m[1],.-1);..if.(.($s
14d5c0 74 61 72 74 20 3d 3d 3d 20 24 65 6e 64 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b tart.===.$end.&&.!preg_match('/[
14d5e0 2a 3f 5b 3a 61 6c 6e 75 6d 3a 5d 20 5c 5c 5c 5c 5d 2f 27 2c 20 24 73 74 61 72 74 29 29 0a 7c 7c *?[:alnum:].\\\\]/',.$start)).||
14d600 20 28 27 7b 27 20 3d 3d 3d 20 24 73 74 61 72 74 20 26 26 20 27 7d 27 20 3d 3d 3d 20 24 65 6e 64 .('{'.===.$start.&&.'}'.===.$end
14d620 29 0a 7c 7c 20 28 27 28 27 20 3d 3d 3d 20 24 73 74 61 72 74 20 26 26 20 27 29 27 20 3d 3d 3d 20 ).||.('('.===.$start.&&.')'.===.
14d640 24 65 6e 64 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 73 75 62 73 74 72 $end).).{.return.new.self(substr
14d660 28 24 6d 5b 31 5d 2c 20 31 2c 20 2d 31 29 2c 20 24 6d 5b 32 5d 2c 20 24 65 6e 64 29 3b 0a 7d 0a ($m[1],.1,.-1),.$m[2],.$end);.}.
14d680 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 }..throw.new.\InvalidArgumentExc
14d6a0 65 70 74 69 6f 6e 28 27 47 69 76 65 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 eption('Given.expression.is.not.
14d6c0 61 20 72 65 67 65 78 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 a.regex.');.}.......public.funct
14d6e0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 6e 2c 20 24 6f 70 74 69 6f ion.__construct($pattern,.$optio
14d700 6e 73 20 3d 20 27 27 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 ns.=.'',.$delimiter.=.null).{.if
14d720 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 6c 69 6d 69 74 65 72 29 20 7b 0a 0a 20 24 70 61 74 74 .(null.!==.$delimiter).{...$patt
14d740 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2e 24 64 65 6c 69 6d 69 74 65 ern.=.str_replace('\\'.$delimite
14d760 72 2c 20 24 64 65 6c 69 6d 69 74 65 72 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 24 74 68 r,.$delimiter,.$pattern);.}..$th
14d780 69 73 2d 3e 70 61 72 73 65 50 61 74 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 3b 0a 24 74 68 69 is->parsePattern($pattern);.$thi
14d7a0 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->options.=.$options;.}.....pub
14d7c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 lic.function.__toString().{.retu
14d7e0 72 6e 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rn.$this->render();.}.....public
14d800 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 .function.render().{.return.self
14d820 3a 3a 42 4f 55 4e 44 41 52 59 0a 2e 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e ::BOUNDARY..$this->renderPattern
14d840 28 29 0a 2e 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 0a 2e 24 74 68 69 73 2d 3e 6f 70 74 69 6f ()..self::BOUNDARY..$this->optio
14d860 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 ns;.}.....public.function.render
14d880 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 Pattern().{.return.($this->start
14d8a0 46 6c 61 67 20 3f 20 73 65 6c 66 3a 3a 53 54 41 52 54 5f 46 4c 41 47 20 3a 20 27 27 29 0a 2e 28 Flag.?.self::START_FLAG.:.'')..(
14d8c0 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 $this->startJoker.?.self::JOKER.
14d8e0 3a 20 27 27 29 0a 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 :.'')..str_replace(self::BOUNDAR
14d900 59 2c 20 27 5c 5c 27 2e 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 2c 20 24 74 68 69 73 2d 3e 70 Y,.'\\'.self::BOUNDARY,.$this->p
14d920 61 74 74 65 72 6e 29 0a 2e 28 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 attern)..($this->endJoker.?.self
14d940 3a 3a 4a 4f 4b 45 52 20 3a 20 27 27 29 0a 2e 28 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3f ::JOKER.:.'')..($this->endFlag.?
14d960 20 73 65 6c 66 3a 3a 45 4e 44 5f 46 4c 41 47 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 .self::END_FLAG.:.'');.}.....pub
14d980 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b lic.function.isCaseSensitive().{
14d9a0 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 69 27 29 3b 0a .return.!$this->hasOption('i');.
14d9c0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a }.....public.function.getType().
14d9e0 7b 0a 72 65 74 75 72 6e 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 54 59 50 45 5f 52 45 47 45 58 3b {.return.Expression::TYPE_REGEX;
14da00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 .}.....public.function.prepend($
14da20 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 65 78 70 72 2e 24 expr).{.$this->pattern.=.$expr.$
14da40 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a this->pattern;..return.$this;.}.
14da60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 ....public.function.append($expr
14da80 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 65 ).{.$this->pattern..=.$expr;..re
14daa0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
14dac0 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.hasOption($option).{.return.
14dae0 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c false.!==.strpos($this->options,
14db00 20 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$option);.}.......public.functi
14db20 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 74 68 on.addOption($option).{.if.(!$th
14db40 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 29 20 7b 0a 24 74 68 69 73 2d is->hasOption($option)).{.$this-
14db60 3e 6f 70 74 69 6f 6e 73 20 2e 3d 20 24 6f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 >options..=.$option;.}..return.$
14db80 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 this;.}.......public.function.re
14dba0 6d 6f 76 65 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 moveOption($option).{.$this->opt
14dbc0 69 6f 6e 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 6f 70 74 69 6f 6e 2c 20 27 27 2c 20 ions.=.str_replace($option,.'',.
14dbe0 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a $this->options);..return.$this;.
14dc00 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 }.......public.function.setStart
14dc20 46 6c 61 67 28 24 73 74 61 72 74 46 6c 61 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 46 Flag($startFlag).{.$this->startF
14dc40 6c 61 67 20 3d 20 24 73 74 61 72 74 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b lag.=.$startFlag;..return.$this;
14dc60 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 46 .}.....public.function.hasStartF
14dc80 6c 61 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 3b lag().{.return.$this->startFlag;
14dca0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 64 46 .}.......public.function.setEndF
14dcc0 6c 61 67 28 24 65 6e 64 46 6c 61 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3d lag($endFlag).{.$this->endFlag.=
14dce0 20 28 62 6f 6f 6c 29 20 24 65 6e 64 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b .(bool).$endFlag;..return.$this;
14dd00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 6e 64 46 6c 61 .}.....public.function.hasEndFla
14dd20 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 3b 0a 7d 0a 0a g().{.return.$this->endFlag;.}..
14dd40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 4a 6f 6b .....public.function.setStartJok
14dd60 65 72 28 24 73 74 61 72 74 4a 6f 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f er($startJoker).{.$this->startJo
14dd80 6b 65 72 20 3d 20 24 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ker.=.$startJoker;..return.$this
14dda0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 ;.}.....public.function.hasStart
14ddc0 4a 6f 6b 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b Joker().{.return.$this->startJok
14dde0 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 er;.}.......public.function.setE
14de00 6e 64 4a 6f 6b 65 72 28 24 65 6e 64 4a 6f 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 4a ndJoker($endJoker).{.$this->endJ
14de20 6f 6b 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e oker.=.(bool).$endJoker;..return
14de40 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 .$this;.}.....public.function.ha
14de60 73 45 6e 64 4a 6f 6b 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 64 4a sEndJoker().{.return.$this->endJ
14de80 6f 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c oker;.}.....public.function.repl
14dea0 61 63 65 4a 6f 6b 65 72 73 28 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 7b 0a 24 72 65 70 6c 61 aceJokers($replacement).{.$repla
14dec0 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 75 62 6a 65 63 74 29 20 75 73 65 20 28 24 72 ce.=.function.($subject).use.($r
14dee0 65 70 6c 61 63 65 6d 65 6e 74 29 20 7b 0a 24 73 75 62 6a 65 63 74 20 3d 20 24 73 75 62 6a 65 63 eplacement).{.$subject.=.$subjec
14df00 74 5b 30 5d 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 30 20 3d 3d 3d 20 73 75 62 73 74 72 5f 63 6f t[0];.$replace.=.0.===.substr_co
14df20 75 6e 74 28 24 73 75 62 6a 65 63 74 2c 20 27 5c 5c 27 29 20 25 20 32 3b 0a 0a 72 65 74 75 72 6e unt($subject,.'\\').%.2;..return
14df40 20 24 72 65 70 6c 61 63 65 20 3f 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2e 27 2c 20 24 72 65 .$replace.?.str_replace('.',.$re
14df60 70 6c 61 63 65 6d 65 6e 74 2c 20 24 73 75 62 6a 65 63 74 29 20 3a 20 24 73 75 62 6a 65 63 74 3b placement,.$subject).:.$subject;
14df80 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 .};..$this->pattern.=.preg_repla
14dfa0 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7e 5b 5c 5c 5c 5c 5d 2a 5c 5c 2e 7e 27 2c 20 24 72 65 70 ce_callback('~[\\\\]*\\.~',.$rep
14dfc0 6c 61 63 65 2c 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 24 lace,.$this->pattern);..return.$
14dfe0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 this;.}.....private.function.par
14e000 73 65 50 61 74 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d sePattern($pattern).{.if.($this-
14e020 3e 73 74 61 72 74 46 6c 61 67 20 3d 20 73 65 6c 66 3a 3a 53 54 41 52 54 5f 46 4c 41 47 20 3d 3d >startFlag.=.self::START_FLAG.==
14e040 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 31 29 29 20 7b 0a 24 70 61 74 =.substr($pattern,.0,.1)).{.$pat
14e060 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 31 29 3b 0a 7d 0a 0a 69 tern.=.substr($pattern,.1);.}..i
14e080 66 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 20 3d 20 73 65 6c 66 3a 3a 4a 4f 4b f.($this->startJoker.=.self::JOK
14e0a0 45 52 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 32 29 29 20 7b ER.===.substr($pattern,.0,.2)).{
14e0c0 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 32 29 3b .$pattern.=.substr($pattern,.2);
14e0e0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3d 20 28 73 65 6c 66 3a 3a .}..if.($this->endFlag.=.(self::
14e100 45 4e 44 5f 46 4c 41 47 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 31 END_FLAG.===.substr($pattern,.-1
14e120 29 20 26 26 20 73 65 6c 66 3a 3a 45 53 43 41 50 49 4e 47 20 21 3d 3d 20 73 75 62 73 74 72 28 24 ).&&.self::ESCAPING.!==.substr($
14e140 70 61 74 74 65 72 6e 2c 20 2d 32 2c 20 2d 31 29 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 pattern,.-2,.-1))).{.$pattern.=.
14e160 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 2d 31 29 3b 0a 7d 0a 0a 69 66 20 28 substr($pattern,.0,.-1);.}..if.(
14e180 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3d 20 28 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3d $this->endJoker.=.(self::JOKER.=
14e1a0 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 32 29 20 26 26 20 73 65 6c 66 3a ==.substr($pattern,.-2).&&.self:
14e1c0 3a 45 53 43 41 50 49 4e 47 20 21 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d :ESCAPING.!==.substr($pattern,.-
14e1e0 33 2c 20 2d 32 29 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 3,.-2))).{.$pattern.=.substr($pa
14e200 74 74 65 72 6e 2c 20 30 2c 20 2d 32 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e ttern,.0,.-2);.}..$this->pattern
14e220 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .=.$pattern;.}.}.<?php..........
14e240 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
14e260 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 der\Expression;..@trigger_error(
14e280 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 56 61 6c 75 65 49 6e 74 65 'The.'.__NAMESPACE__.'\ValueInte
14e2a0 72 66 61 63 65 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 rface.interface.is.deprecated.si
14e2c0 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
14e2e0 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
14e300 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b ;.....interface.ValueInterface.{
14e320 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 3b 0a ......public.function.render();.
14e340 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 ......public.function.renderPatt
14e360 65 72 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 ern();.......public.function.isC
14e380 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e aseSensitive();.......public.fun
14e3a0 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ction.getType();.......public.fu
14e3c0 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 nction.prepend($expr);.......pub
14e3e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 7d 0a 3c 3f lic.function.append($expr);.}.<?
14e400 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
14e420 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Component\Finder;..use.Symfony\C
14e440 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 omponent\Finder\Adapter\AdapterI
14e460 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
14e480 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 3b 0a 75 Finder\Adapter\GnuFindAdapter;.u
14e4a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 se.Symfony\Component\Finder\Adap
14e4c0 74 65 72 5c 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ter\BsdFindAdapter;.use.Symfony\
14e4e0 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 50 68 70 41 64 61 70 Component\Finder\Adapter\PhpAdap
14e500 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 ter;.use.Symfony\Component\Finde
14e520 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 r\Comparator\DateComparator;.use
14e540 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 .Symfony\Component\Finder\Compar
14e560 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f ator\NumberComparator;.use.Symfo
14e580 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 ny\Component\Finder\Exception\Ex
14e5a0 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ceptionInterface;.use.Symfony\Co
14e5c0 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 mponent\Finder\Iterator\CustomFi
14e5e0 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e lterIterator;.use.Symfony\Compon
14e600 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c ent\Finder\Iterator\DateRangeFil
14e620 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 terIterator;.use.Symfony\Compone
14e640 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c nt\Finder\Iterator\DepthRangeFil
14e660 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 terIterator;.use.Symfony\Compone
14e680 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 nt\Finder\Iterator\ExcludeDirect
14e6a0 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 oryFilterIterator;.use.Symfony\C
14e6c0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e omponent\Finder\Iterator\Filecon
14e6e0 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c tentFilterIterator;.use.Symfony\
14e700 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 Component\Finder\Iterator\Filena
14e720 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f meFilterIterator;.use.Symfony\Co
14e740 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 mponent\Finder\Iterator\SizeRang
14e760 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d eFilterIterator;.use.Symfony\Com
14e780 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 ponent\Finder\Iterator\SortableI
14e7a0 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6e terator;...............class.Fin
14e7c0 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 der.implements.\IteratorAggregat
14e7e0 65 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 56 43 53 e,.\Countable.{.const.IGNORE_VCS
14e800 5f 46 49 4c 45 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c _FILES.=.1;.const.IGNORE_DOT_FIL
14e820 45 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 69 76 ES.=.2;..private.$mode.=.0;.priv
14e840 61 74 65 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e ate.$names.=.array();.private.$n
14e860 6f 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c otNames.=.array();.private.$excl
14e880 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 74 65 72 73 20 ude.=.array();.private.$filters.
14e8a0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 65 70 74 68 73 20 3d 20 61 72 72 =.array();.private.$depths.=.arr
14e8c0 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 73 69 7a 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ay();.private.$sizes.=.array();.
14e8e0 70 72 69 76 61 74 65 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 private.$followLinks.=.false;.pr
14e900 69 76 61 74 65 20 24 73 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 69 67 ivate.$sort.=.false;.private.$ig
14e920 6e 6f 72 65 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 nore.=.0;.private.$dirs.=.array(
14e940 29 3b 0a 70 72 69 76 61 74 65 20 24 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 );.private.$dates.=.array();.pri
14e960 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 vate.$iterators.=.array();.priva
14e980 74 65 20 24 63 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 te.$contains.=.array();.private.
14e9a0 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 $notContains.=.array();.private.
14e9c0 24 61 64 61 70 74 65 72 73 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 73 $adapters.=.null;.private.$paths
14e9e0 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 .=.array();.private.$notPaths.=.
14ea00 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 array();.private.$ignoreUnreadab
14ea20 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 leDirs.=.false;..private.static.
14ea40 24 76 63 73 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 27 5f 73 $vcsPatterns.=.array('.svn',.'_s
14ea60 76 6e 27 2c 20 27 43 56 53 27 2c 20 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d 70 61 72 vn',.'CVS',.'_darcs',.'.arch-par
14ea80 61 6d 73 27 2c 20 27 2e 6d 6f 6e 6f 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e 67 69 74 ams',.'.monotone',.'.bzr',.'.git
14eaa0 27 2c 20 27 2e 68 67 27 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ',.'.hg');..public.function.__co
14eac0 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 73 74 61 74 nstruct().{.$this->ignore.=.stat
14eae0 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 7c 20 73 74 61 74 69 63 3a 3a 49 ic::IGNORE_VCS_FILES.|.static::I
14eb00 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 GNORE_DOT_FILES;.}.......public.
14eb20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 static.function.create().{.retur
14eb40 6e 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 n.new.static();.}............pub
14eb60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 64 61 70 74 65 72 28 41 64 61 70 74 65 72 49 lic.function.addAdapter(AdapterI
14eb80 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 2c 20 24 70 72 69 6f 72 69 74 79 20 3d 20 30 nterface.$adapter,.$priority.=.0
14eba0 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
14ebc0 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
14ebe0 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
14ec00 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
14ec20 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a .$this->initDefaultAdapters();..
14ec40 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d $this->adapters[$adapter->getNam
14ec60 65 28 29 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 64 61 70 74 65 72 27 20 3d 3e 20 24 61 64 61 70 e()].=.array(.'adapter'.=>.$adap
14ec80 74 65 72 2c 0a 27 70 72 69 6f 72 69 74 79 27 20 3d 3e 20 24 70 72 69 6f 72 69 74 79 2c 0a 27 73 ter,.'priority'.=>.$priority,.'s
14eca0 65 6c 65 63 74 65 64 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 elected'.=>.false,.);..return.$t
14ecc0 68 69 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 his->sortAdapters();.}.........p
14ece0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 42 65 73 74 41 64 61 70 74 65 72 28 29 0a ublic.function.useBestAdapter().
14ed00 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 {.@trigger_error('The.'.__METHOD
14ed20 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 __.'.method.is.deprecated.since.
14ed40 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.8.and.will.be.removed.
14ed60 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 in.3.0.',.E_USER_DEPRECATED);..$
14ed80 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 24 74 this->initDefaultAdapters();..$t
14eda0 68 69 73 2d 3e 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a 0a 72 his->resetAdapterSelection();..r
14edc0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a eturn.$this->sortAdapters();.}..
14ede0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 ...........public.function.setAd
14ee00 61 70 74 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 apter($name).{.@trigger_error('T
14ee20 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 he.'.__METHOD__.'.method.is.depr
14ee40 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.8.and.wil
14ee60 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 l.be.removed.in.3.0.',.E_USER_DE
14ee80 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 PRECATED);..$this->initDefaultAd
14eea0 61 70 74 65 72 73 28 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 61 apters();..if.(!isset($this->ada
14eec0 70 74 65 72 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 pters[$name])).{.throw.new.\Inva
14eee0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 64 lidArgumentException(sprintf('Ad
14ef00 61 70 74 65 72 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 apter."%s".does.not.exist.',.$na
14ef20 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 me));.}..$this->resetAdapterSele
14ef40 63 74 69 6f 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 6e 61 6d 65 5d 5b ction();.$this->adapters[$name][
14ef60 27 73 65 6c 65 63 74 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 'selected'].=.true;..return.$thi
14ef80 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 s->sortAdapters();.}.........pub
14efa0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 41 64 61 70 74 65 72 73 28 29 0a 7b 0a lic.function.removeAdapters().{.
14efc0 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f @trigger_error('The.'.__METHOD__
14efe0 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 .'.method.is.deprecated.since.Sy
14f000 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e mfony.2.8.and.will.be.removed.in
14f020 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 .3.0.',.E_USER_DEPRECATED);..$th
14f040 69 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 is->adapters.=.array();..return.
14f060 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $this;.}.........public.function
14f080 20 67 65 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 .getAdapters().{.@trigger_error(
14f0a0 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 'The.'.__METHOD__.'.method.is.de
14f0c0 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 precated.since.Symfony.2.8.and.w
14f0e0 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f ill.be.removed.in.3.0.',.E_USER_
14f100 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 DEPRECATED);..$this->initDefault
14f120 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 Adapters();..return.array_values
14f140 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 64 61 70 (array_map(function.(array.$adap
14f160 74 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 ter).{.return.$adapter['adapter'
14f180 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ];.},.$this->adapters));.}......
14f1a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 69 65 73 28 29 0a 7b .public.function.directories().{
14f1c0 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 .$this->mode.=.Iterator\FileType
14f1e0 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 FilterIterator::ONLY_DIRECTORIES
14f200 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
14f220 66 75 6e 63 74 69 6f 6e 20 66 69 6c 65 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d function.files().{.$this->mode.=
14f240 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 .Iterator\FileTypeFilterIterator
14f260 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ::ONLY_FILES;..return.$this;.}..
14f280 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ...............public.function.d
14f2a0 65 70 74 68 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 70 74 68 73 5b 5d 20 3d epth($level).{.$this->depths[].=
14f2c0 20 6e 65 77 20 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 .new.Comparator\NumberComparator
14f2e0 28 24 6c 65 76 65 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a ($level);..return.$this;.}......
14f300 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 61 ..............public.function.da
14f320 74 65 28 24 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 61 74 65 73 5b 5d 20 3d 20 6e 65 77 te($date).{.$this->dates[].=.new
14f340 20 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 28 24 64 61 74 65 .Comparator\DateComparator($date
14f360 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a );..return.$this;.}.............
14f380 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 28 24 70 61 74 74 65 72 ....public.function.name($patter
14f3a0 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a n).{.$this->names[].=.$pattern;.
14f3c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .return.$this;.}...........publi
14f3e0 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 4e 61 6d 65 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 c.function.notName($pattern).{.$
14f400 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 this->notNames[].=.$pattern;..re
14f420 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 turn.$this;.}................pub
14f440 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 28 24 70 61 74 74 65 72 6e 29 0a lic.function.contains($pattern).
14f460 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a {.$this->contains[].=.$pattern;.
14f480 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .return.$this;.}................
14f4a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 43 6f 6e 74 61 69 6e 73 28 24 70 61 74 public.function.notContains($pat
14f4c0 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 tern).{.$this->notContains[].=.$
14f4e0 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a pattern;..return.$this;.}.......
14f500 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 68 28 ...........public.function.path(
14f520 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 73 5b 5d 20 3d 20 24 70 61 $pattern).{.$this->paths[].=.$pa
14f540 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ttern;..return.$this;.}.........
14f560 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 50 61 74 68 .........public.function.notPath
14f580 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 5b 5d 20 3d ($pattern).{.$this->notPaths[].=
14f5a0 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a .$pattern;..return.$this;.}.....
14f5c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 ...........public.function.size(
14f5e0 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 5b 5d 20 3d 20 6e 65 77 20 43 6f $size).{.$this->sizes[].=.new.Co
14f600 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 28 24 73 69 7a 65 29 mparator\NumberComparator($size)
14f620 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;..return.$this;.}..............
14f640 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 6c 75 64 65 28 24 64 69 72 73 29 0a .public.function.exclude($dirs).
14f660 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 {.$this->exclude.=.array_merge($
14f680 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 2c 20 28 61 72 72 61 79 29 20 24 64 69 72 73 29 3b 0a 0a this->exclude,.(array).$dirs);..
14f6a0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c return.$this;.}.............publ
14f6c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 24 69 67 6e 6f ic.function.ignoreDotFiles($igno
14f6e0 72 65 44 6f 74 46 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 reDotFiles).{.if.($ignoreDotFile
14f700 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 s).{.$this->ignore.|=.static::IG
14f720 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e NORE_DOT_FILES;.}.else.{.$this->
14f740 69 67 6e 6f 72 65 20 26 3d 20 7e 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 ignore.&=.~static::IGNORE_DOT_FI
14f760 4c 45 53 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a LES;.}..return.$this;.}.........
14f780 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 43 53 28 24 69 ....public.function.ignoreVCS($i
14f7a0 67 6e 6f 72 65 56 43 53 29 0a 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 56 43 53 29 20 7b 0a 24 74 gnoreVCS).{.if.($ignoreVCS).{.$t
14f7c0 68 69 73 2d 3e 69 67 6e 6f 72 65 20 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 his->ignore.|=.static::IGNORE_VC
14f7e0 53 5f 46 49 4c 45 53 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 S_FILES;.}.else.{.$this->ignore.
14f800 26 3d 20 7e 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 3b 0a 7d 0a &=.~static::IGNORE_VCS_FILES;.}.
14f820 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
14f840 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 56 43 53 50 61 74 74 65 72 6e 28 24 70 static.function.addVCSPattern($p
14f860 61 74 74 65 72 6e 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 70 61 74 74 attern).{.foreach.((array).$patt
14f880 65 72 6e 20 61 73 20 24 70 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 5b ern.as.$p).{.self::$vcsPatterns[
14f8a0 5d 20 3d 20 24 70 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 20 3d 20 ].=.$p;.}..self::$vcsPatterns.=.
14f8c0 61 72 72 61 79 5f 75 6e 69 71 75 65 28 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 array_unique(self::$vcsPatterns)
14f8e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
14f900 73 6f 72 74 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f 73 75 72 65 29 0a 7b 0a 24 74 68 69 73 2d sort(\Closure.$closure).{.$this-
14f920 3e 73 6f 72 74 20 3d 20 24 63 6c 6f 73 75 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b >sort.=.$closure;..return.$this;
14f940 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 .}...........public.function.sor
14f960 74 42 79 4e 61 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 tByName().{.$this->sort.=.Iterat
14f980 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d or\SortableIterator::SORT_BY_NAM
14f9a0 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 E;..return.$this;.}...........pu
14f9c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 54 79 70 65 28 29 0a 7b 0a 24 74 68 blic.function.sortByType().{.$th
14f9e0 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 is->sort.=.Iterator\SortableIter
14fa00 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ator::SORT_BY_TYPE;..return.$thi
14fa20 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e s;.}.............public.function
14fa40 20 73 6f 72 74 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 .sortByAccessedTime().{.$this->s
14fa60 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a ort.=.Iterator\SortableIterator:
14fa80 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 :SORT_BY_ACCESSED_TIME;..return.
14faa0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this;.}...............public.fu
14fac0 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 43 68 61 6e 67 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 nction.sortByChangedTime().{.$th
14fae0 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 is->sort.=.Iterator\SortableIter
14fb00 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 ator::SORT_BY_CHANGED_TIME;..ret
14fb20 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 urn.$this;.}.............public.
14fb40 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 4d 6f 64 69 66 69 65 64 54 69 6d 65 28 29 0a 7b 0a function.sortByModifiedTime().{.
14fb60 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 $this->sort.=.Iterator\SortableI
14fb80 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3b 0a terator::SORT_BY_MODIFIED_TIME;.
14fba0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .return.$this;.}............publ
14fbc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f ic.function.filter(\Closure.$clo
14fbe0 73 75 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 5b 5d 20 3d 20 24 63 6c 6f 73 sure).{.$this->filters[].=.$clos
14fc00 75 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ure;..return.$this;.}.......publ
14fc20 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 29 0a 7b 0a 24 74 68 69 ic.function.followLinks().{.$thi
14fc40 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 s->followLinks.=.true;..return.$
14fc60 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this;.}...........public.functio
14fc80 6e 20 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d n.ignoreUnreadableDirs($ignore.=
14fca0 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 .true).{.$this->ignoreUnreadable
14fcc0 44 69 72 73 20 3d 20 28 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 Dirs.=.(bool).$ignore;..return.$
14fce0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this;.}...........public.functio
14fd00 6e 20 69 6e 28 24 64 69 72 73 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 20 3d 20 61 72 n.in($dirs).{.$resolvedDirs.=.ar
14fd20 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 64 69 72 73 20 61 ray();..foreach.((array).$dirs.a
14fd40 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 72 s.$dir).{.if.(is_dir($dir)).{.$r
14fd60 65 73 6f 6c 76 65 64 44 69 72 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 esolvedDirs[].=.$this->normalize
14fd80 44 69 72 28 24 64 69 72 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 67 6c 6f 62 20 3d 20 67 6c 6f Dir($dir);.}.elseif.($glob.=.glo
14fda0 62 28 24 64 69 72 2c 20 28 64 65 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 20 3f b($dir,.(defined('GLOB_BRACE').?
14fdc0 20 47 4c 4f 42 5f 42 52 41 43 45 20 3a 20 30 29 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 29 .GLOB_BRACE.:.0).|.GLOB_ONLYDIR)
14fde0 29 20 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 ).{.$resolvedDirs.=.array_merge(
14fe00 24 72 65 73 6f 6c 76 65 64 44 69 72 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 24 $resolvedDirs,.array_map(array($
14fe20 74 68 69 73 2c 20 27 6e 6f 72 6d 61 6c 69 7a 65 44 69 72 27 29 2c 20 24 67 6c 6f 62 29 29 3b 0a this,.'normalizeDir'),.$glob));.
14fe40 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d }.else.{.throw.new.\InvalidArgum
14fe60 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 64 entException(sprintf('The."%s".d
14fe80 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 64 69 72 29 irectory.does.not.exist.',.$dir)
14fea0 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 );.}.}..$this->dirs.=.array_merg
14fec0 65 28 24 74 68 69 73 2d 3e 64 69 72 73 2c 20 24 72 65 73 6f 6c 76 65 64 44 69 72 73 29 3b 0a 0a e($this->dirs,.$resolvedDirs);..
14fee0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 return.$this;.}...........public
14ff00 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 20 .function.getIterator().{.if.(0.
14ff20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d 3d 20 ===.count($this->dirs).&&.0.===.
14ff40 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 29 29 20 7b 0a 74 68 72 6f 77 count($this->iterators)).{.throw
14ff60 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 63 .new.\LogicException('You.must.c
14ff80 61 6c 6c 20 6f 6e 65 20 6f 66 20 69 6e 28 29 20 6f 72 20 61 70 70 65 6e 64 28 29 20 6d 65 74 68 all.one.of.in().or.append().meth
14ffa0 6f 64 73 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 61 20 46 69 6e 64 ods.before.iterating.over.a.Find
14ffc0 65 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d er.');.}..if.(1.===.count($this-
14ffe0 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 74 65 >dirs).&&.0.===.count($this->ite
150000 72 61 74 6f 72 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 61 72 63 68 49 rators)).{.return.$this->searchI
150020 6e 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 64 69 72 73 5b 30 5d 29 3b 0a 7d 0a 0a 24 nDirectory($this->dirs[0]);.}..$
150040 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 41 70 70 65 6e 64 49 74 65 72 61 74 6f 72 28 29 iterator.=.new.\AppendIterator()
150060 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 24 64 69 72 29 20 ;.foreach.($this->dirs.as.$dir).
150080 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 24 74 68 69 73 2d 3e 73 65 61 72 63 {.$iterator->append($this->searc
1500a0 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 hInDirectory($dir));.}..foreach.
1500c0 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 20 61 73 20 24 69 74 29 20 7b 0a 24 69 74 65 ($this->iterators.as.$it).{.$ite
1500e0 72 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 24 69 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 rator->append($it);.}..return.$i
150100 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 terator;.}.............public.fu
150120 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 69 74 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 24 nction.append($iterator).{.if.($
150140 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f 72 41 67 67 iterator.instanceof.\IteratorAgg
150160 72 65 67 61 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 regate).{.$this->iterators[].=.$
150180 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 20 65 6c 73 65 69 iterator->getIterator();.}.elsei
1501a0 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f f.($iterator.instanceof.\Iterato
1501c0 72 29 20 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 65 72 61 r).{.$this->iterators[].=.$itera
1501e0 74 6f 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 tor;.}.elseif.($iterator.instanc
150200 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 69 74 eof.\Traversable.||.is_array($it
150220 65 72 61 74 6f 72 29 29 20 7b 0a 24 69 74 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 erator)).{.$it.=.new.\ArrayItera
150240 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 24 66 69 tor();.foreach.($iterator.as.$fi
150260 6c 65 29 20 7b 0a 24 69 74 2d 3e 61 70 70 65 6e 64 28 24 66 69 6c 65 20 69 6e 73 74 61 6e 63 65 le).{.$it->append($file.instance
150280 6f 66 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 3f 20 24 66 69 6c 65 20 3a 20 6e 65 77 20 5c 53 of.\SplFileInfo.?.$file.:.new.\S
1502a0 70 6c 46 69 6c 65 49 6e 66 6f 28 24 66 69 6c 65 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 74 65 plFileInfo($file));.}.$this->ite
1502c0 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e rators[].=.$it;.}.else.{.throw.n
1502e0 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 46 69 ew.\InvalidArgumentException('Fi
150300 6e 64 65 72 3a 3a 61 70 70 65 6e 64 28 29 20 6d 65 74 68 6f 64 20 77 72 6f 6e 67 20 61 72 67 75 nder::append().method.wrong.argu
150320 6d 65 6e 74 20 74 79 70 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ment.type.');.}..return.$this;.}
150340 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b .......public.function.count().{
150360 0a 72 65 74 75 72 6e 20 69 74 65 72 61 74 6f 72 5f 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 .return.iterator_count($this->ge
150380 74 49 74 65 72 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 tIterator());.}.....private.func
1503a0 74 69 6f 6e 20 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 75 61 73 6f 72 74 28 24 74 68 tion.sortAdapters().{.uasort($th
1503c0 69 73 2d 3e 61 64 61 70 74 65 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 is->adapters,.function.(array.$a
1503e0 2c 20 61 72 72 61 79 20 24 62 29 20 7b 0a 69 66 20 28 24 61 5b 27 73 65 6c 65 63 74 65 64 27 5d ,.array.$b).{.if.($a['selected']
150400 20 7c 7c 20 24 62 5b 27 73 65 6c 65 63 74 65 64 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 5b .||.$b['selected']).{.return.$a[
150420 27 73 65 6c 65 63 74 65 64 27 5d 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 'selected'].?.-1.:.1;.}..return.
150440 24 61 5b 27 70 72 69 6f 72 69 74 79 27 5d 20 3e 20 24 62 5b 27 70 72 69 6f 72 69 74 79 27 5d 20 $a['priority'].>.$b['priority'].
150460 3f 20 2d 31 20 3a 20 31 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ?.-1.:.1;.});..return.$this;.}..
150480 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 .....private.function.searchInDi
1504a0 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f rectory($dir).{.if.(static::IGNO
1504c0 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 RE_VCS_FILES.===.(static::IGNORE
1504e0 5f 56 43 53 5f 46 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 29 29 20 7b 0a 24 _VCS_FILES.&.$this->ignore)).{.$
150500 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 this->exclude.=.array_merge($thi
150520 73 2d 3e 65 78 63 6c 75 64 65 2c 20 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 3b s->exclude,.self::$vcsPatterns);
150540 0a 7d 0a 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 .}..if.(static::IGNORE_DOT_FILES
150560 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 26 .===.(static::IGNORE_DOT_FILES.&
150580 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 .$this->ignore)).{.$this->notPat
1505a0 68 73 5b 5d 20 3d 20 27 23 28 5e 7c 2f 29 5c 2e 2e 2b 28 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 69 66 hs[].=.'#(^|/)\..+(/|$)#';.}..if
1505c0 20 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 .($this->adapters).{.foreach.($t
1505e0 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 61 73 20 24 61 64 61 70 74 65 72 29 20 7b 0a 69 66 20 his->adapters.as.$adapter).{.if.
150600 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 2d 3e 69 73 53 75 70 70 6f 72 74 65 ($adapter['adapter']->isSupporte
150620 64 28 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 0a 2d 3e 62 75 69 6c d()).{.try.{.return.$this.->buil
150640 64 41 64 61 70 74 65 72 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 29 0a 2d 3e dAdapter($adapter['adapter']).->
150660 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 7d 20 63 61 74 63 68 searchInDirectory($dir);.}.catch
150680 20 28 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 7d 0a 7d 0a 7d .(ExceptionInterface.$e).{.}.}.}
1506a0 0a 7d 0a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 24 6d 61 78 44 65 70 74 68 20 3d 20 50 .}..$minDepth.=.0;.$maxDepth.=.P
1506c0 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 70 HP_INT_MAX;..foreach.($this->dep
1506e0 74 68 73 20 61 73 20 24 63 6f 6d 70 61 72 61 74 6f 72 29 20 7b 0a 73 77 69 74 63 68 20 28 24 63 ths.as.$comparator).{.switch.($c
150700 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 omparator->getOperator()).{.case
150720 20 27 3e 27 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 .'>':.$minDepth.=.$comparator->g
150740 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 etTarget().+.1;.break;.case.'>='
150760 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 :.$minDepth.=.$comparator->getTa
150780 72 67 65 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 24 6d 61 78 44 65 70 rget();.break;.case.'<':.$maxDep
1507a0 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 th.=.$comparator->getTarget().-.
1507c0 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 6d 61 78 44 65 70 74 68 20 3d 1;.break;.case.'<=':.$maxDepth.=
1507e0 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 6b .$comparator->getTarget();.break
150800 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 61 78 44 65 70 74 68 ;.default:.$minDepth.=.$maxDepth
150820 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d .=.$comparator->getTarget();.}.}
150840 0a 0a 24 66 6c 61 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 ..$flags.=.\RecursiveDirectoryIt
150860 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 erator::SKIP_DOTS;..if.($this->f
150880 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 5c 52 65 63 75 72 73 69 ollowLinks).{.$flags.|=.\Recursi
1508a0 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c veDirectoryIterator::FOLLOW_SYML
1508c0 49 4e 4b 53 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f INKS;.}..$iterator.=.new.Iterato
1508e0 72 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 r\RecursiveDirectoryIterator($di
150900 72 2c 20 24 66 6c 61 67 73 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 r,.$flags,.$this->ignoreUnreadab
150920 6c 65 44 69 72 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a leDirs);..if.($this->exclude).{.
150940 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 $iterator.=.new.Iterator\Exclude
150960 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f DirectoryFilterIterator($iterato
150980 72 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 r,.$this->exclude);.}..$iterator
1509a0 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f .=.new.\RecursiveIteratorIterato
1509c0 72 28 24 69 74 65 72 61 74 6f 72 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 r($iterator,.\RecursiveIteratorI
1509e0 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 28 24 6d 69 6e 44 terator::SELF_FIRST);..if.($minD
150a00 65 70 74 68 20 3e 20 30 20 7c 7c 20 24 6d 61 78 44 65 70 74 68 20 3c 20 50 48 50 5f 49 4e 54 5f epth.>.0.||.$maxDepth.<.PHP_INT_
150a20 4d 41 58 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c MAX).{.$iterator.=.new.Iterator\
150a40 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 DepthRangeFilterIterator($iterat
150a60 6f 72 2c 20 24 6d 69 6e 44 65 70 74 68 2c 20 24 6d 61 78 44 65 70 74 68 29 3b 0a 7d 0a 0a 69 66 or,.$minDepth,.$maxDepth);.}..if
150a80 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 .($this->mode).{.$iterator.=.new
150aa0 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 .Iterator\FileTypeFilterIterator
150ac0 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 69 66 20 ($iterator,.$this->mode);.}..if.
150ae0 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 ($this->names.||.$this->notNames
150b00 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c ).{.$iterator.=.new.Iterator\Fil
150b20 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 enameFilterIterator($iterator,.$
150b40 74 68 69 73 2d 3e 6e 61 6d 65 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 3b 0a 7d this->names,.$this->notNames);.}
150b60 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e ..if.($this->contains.||.$this->
150b80 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 notContains).{.$iterator.=.new.I
150ba0 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f terator\FilecontentFilterIterato
150bc0 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 r($iterator,.$this->contains,.$t
150be0 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d his->notContains);.}..if.($this-
150c00 3e 73 69 7a 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 >sizes).{.$iterator.=.new.Iterat
150c20 6f 72 5c 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 or\SizeRangeFilterIterator($iter
150c40 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 ator,.$this->sizes);.}..if.($thi
150c60 73 2d 3e 64 61 74 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 s->dates).{.$iterator.=.new.Iter
150c80 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 ator\DateRangeFilterIterator($it
150ca0 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 erator,.$this->dates);.}..if.($t
150cc0 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 his->filters).{.$iterator.=.new.
150ce0 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 Iterator\CustomFilterIterator($i
150d00 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 terator,.$this->filters);.}..if.
150d20 28 24 74 68 69 73 2d 3e 70 61 74 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 ($this->paths.||.$this->notPaths
150d40 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 50 61 74 ).{.$iterator.=.new.Iterator\Pat
150d60 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 hFilterIterator($iterator,.$this
150d80 2d 3e 70 61 74 68 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 69 66 ->paths,.$this->notPaths);.}..if
150da0 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 .($this->sort).{.$iteratorAggreg
150dc0 61 74 65 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 ate.=.new.Iterator\SortableItera
150de0 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 tor($iterator,.$this->sort);.$it
150e00 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 erator.=.$iteratorAggregate->get
150e20 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b Iterator();.}..return.$iterator;
150e40 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 41 64 61 .}.....private.function.buildAda
150e60 70 74 65 72 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 29 0a pter(AdapterInterface.$adapter).
150e80 7b 0a 72 65 74 75 72 6e 20 24 61 64 61 70 74 65 72 0a 2d 3e 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e {.return.$adapter.->setFollowLin
150ea0 6b 73 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 2d 3e 73 65 74 44 65 70 74 ks($this->followLinks).->setDept
150ec0 68 73 28 24 74 68 69 73 2d 3e 64 65 70 74 68 73 29 0a 2d 3e 73 65 74 4d 6f 64 65 28 24 74 68 69 hs($this->depths).->setMode($thi
150ee0 73 2d 3e 6d 6f 64 65 29 0a 2d 3e 73 65 74 45 78 63 6c 75 64 65 28 24 74 68 69 73 2d 3e 65 78 63 s->mode).->setExclude($this->exc
150f00 6c 75 64 65 29 0a 2d 3e 73 65 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 29 0a 2d lude).->setNames($this->names).-
150f20 3e 73 65 74 4e 6f 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 0a 2d 3e >setNotNames($this->notNames).->
150f40 73 65 74 43 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 29 0a 2d 3e 73 setContains($this->contains).->s
150f60 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 etNotContains($this->notContains
150f80 29 0a 2d 3e 73 65 74 53 69 7a 65 73 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 0a 2d 3e 73 65 74 ).->setSizes($this->sizes).->set
150fa0 44 61 74 65 73 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 0a 2d 3e 73 65 74 46 69 6c 74 65 72 73 Dates($this->dates).->setFilters
150fc0 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 0a 2d 3e 73 65 74 53 6f 72 74 28 24 74 68 69 73 ($this->filters).->setSort($this
150fe0 2d 3e 73 6f 72 74 29 0a 2d 3e 73 65 74 50 61 74 68 28 24 74 68 69 73 2d 3e 70 61 74 68 73 29 0a ->sort).->setPath($this->paths).
151000 2d 3e 73 65 74 4e 6f 74 50 61 74 68 28 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 0a 2d 3e ->setNotPath($this->notPaths).->
151020 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 74 68 69 73 2d 3e 69 67 6e 6f ignoreUnreadableDirs($this->igno
151040 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 reUnreadableDirs);.}.....private
151060 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 .function.resetAdapterSelection(
151080 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 ).{.$this->adapters.=.array_map(
1510a0 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 24 function.(array.$properties).{.$
1510c0 70 72 6f 70 65 72 74 69 65 73 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 3d 20 66 61 6c 73 65 3b 0a properties['selected'].=.false;.
1510e0 0a 72 65 74 75 72 6e 20 24 70 72 6f 70 65 72 74 69 65 73 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 61 .return.$properties;.},.$this->a
151100 64 61 70 74 65 72 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e dapters);.}..private.function.in
151120 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d itDefaultAdapters().{.if.(null.=
151140 3d 3d 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 61 ==.$this->adapters).{.$this->ada
151160 70 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 0a 2d 3e 61 64 64 41 64 61 70 pters.=.array();.$this.->addAdap
151180 74 65 72 28 6e 65 77 20 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 28 29 29 0a 2d 3e 61 64 64 41 ter(new.GnuFindAdapter()).->addA
1511a0 64 61 70 74 65 72 28 6e 65 77 20 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 28 29 29 0a 2d 3e 61 dapter(new.BsdFindAdapter()).->a
1511c0 64 64 41 64 61 70 74 65 72 28 6e 65 77 20 50 68 70 41 64 61 70 74 65 72 28 29 2c 20 2d 35 30 29 ddAdapter(new.PhpAdapter(),.-50)
1511e0 0a 2d 3e 73 65 74 41 64 61 70 74 65 72 28 27 70 68 70 27 29 0a 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a .->setAdapter('php').;.}.}......
151200 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 44 69 72 ...private.function.normalizeDir
151220 28 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 64 69 72 2c 20 27 2f 27 2e ($dir).{.return.rtrim($dir,.'/'.
151240 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 \DIRECTORY_SEPARATOR);.}.}.<?php
151260 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
151280 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ponent\Finder;..................
1512a0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ......class.Glob.{...........pub
1512c0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 67 6c 6f lic.static.function.toRegex($glo
1512e0 62 2c 20 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 3d 20 74 72 75 65 2c 20 24 73 74 b,.$strictLeadingDot.=.true,.$st
151300 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 2c 20 24 64 65 6c 69 6d rictWildcardSlash.=.true,.$delim
151320 69 74 65 72 20 3d 20 27 23 27 29 0a 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b iter.=.'#').{.$firstByte.=.true;
151340 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 24 69 6e 43 75 72 6c 69 65 73 20 3d .$escaping.=.false;.$inCurlies.=
151360 20 30 3b 0a 24 72 65 67 65 78 20 3d 20 27 27 3b 0a 24 73 69 7a 65 47 6c 6f 62 20 3d 20 73 74 72 .0;.$regex.=.'';.$sizeGlob.=.str
151380 6c 65 6e 28 24 67 6c 6f 62 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 73 len($glob);.for.($i.=.0;.$i.<.$s
1513a0 69 7a 65 47 6c 6f 62 3b 20 2b 2b 24 69 29 20 7b 0a 24 63 61 72 20 3d 20 24 67 6c 6f 62 5b 24 69 izeGlob;.++$i).{.$car.=.$glob[$i
1513c0 5d 3b 0a 69 66 20 28 24 66 69 72 73 74 42 79 74 65 29 20 7b 0a 69 66 20 28 24 73 74 72 69 63 74 ];.if.($firstByte).{.if.($strict
1513e0 4c 65 61 64 69 6e 67 44 6f 74 20 26 26 20 27 2e 27 20 21 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 LeadingDot.&&.'.'.!==.$car).{.$r
151400 65 67 65 78 20 2e 3d 20 27 28 3f 3d 5b 5e 5c 2e 5d 29 27 3b 0a 7d 0a 0a 24 66 69 72 73 74 42 79 egex..=.'(?=[^\.])';.}..$firstBy
151420 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 63 61 72 29 te.=.false;.}..if.('/'.===.$car)
151440 20 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 .{.$firstByte.=.true;.}..if.($de
151460 6c 69 6d 69 74 65 72 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2e 27 20 3d 3d 3d 20 24 63 61 72 limiter.===.$car.||.'.'.===.$car
151480 20 7c 7c 20 27 28 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 29 27 20 3d 3d 3d 20 24 63 61 72 .||.'('.===.$car.||.')'.===.$car
1514a0 20 7c 7c 20 27 7c 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2b 27 20 3d 3d 3d 20 24 63 61 72 .||.'|'.===.$car.||.'+'.===.$car
1514c0 20 7c 7c 20 27 5e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 24 27 20 3d 3d 3d 20 24 63 61 72 .||.'^'.===.$car.||.'$'.===.$car
1514e0 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 22 5c 5c 24 63 61 72 22 3b 0a 7d 20 65 6c 73 65 69 66 ).{.$regex..=."\\$car";.}.elseif
151500 20 28 27 2a 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 .('*'.===.$car).{.$regex..=.$esc
151520 61 70 69 6e 67 20 3f 20 27 5c 5c 2a 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 aping.?.'\\*'.:.($strictWildcard
151540 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 2a 27 20 3a 20 27 2e 2a 27 29 3b 0a 7d 20 65 6c 73 65 69 Slash.?.'[^/]*'.:.'.*');.}.elsei
151560 66 20 28 27 3f 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 f.('?'.===.$car).{.$regex..=.$es
151580 63 61 70 69 6e 67 20 3f 20 27 5c 5c 3f 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 caping.?.'\\?'.:.($strictWildcar
1515a0 64 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 27 20 3a 20 27 2e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 dSlash.?.'[^/]'.:.'.');.}.elseif
1515c0 20 28 27 7b 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 .('{'.===.$car).{.$regex..=.$esc
1515e0 61 70 69 6e 67 20 3f 20 27 5c 5c 7b 27 20 3a 20 27 28 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 aping.?.'\\{'.:.'(';.if.(!$escap
151600 69 6e 67 29 20 7b 0a 2b 2b 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 ing).{.++$inCurlies;.}.}.elseif.
151620 28 27 7d 27 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 65 73 29 20 7b 0a 24 ('}'.===.$car.&&.$inCurlies).{.$
151640 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 7d 27 20 3a 20 27 29 27 3b 0a regex..=.$escaping.?.'}'.:.')';.
151660 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2d 2d 24 69 6e 43 75 72 6c 69 65 73 3b 0a if.(!$escaping).{.--$inCurlies;.
151680 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 }.}.elseif.(','.===.$car.&&.$inC
1516a0 75 72 6c 69 65 73 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 urlies).{.$regex..=.$escaping.?.
1516c0 27 2c 27 20 3a 20 27 7c 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 24 63 ','.:.'|';.}.elseif.('\\'.===.$c
1516e0 61 72 29 20 7b 0a 69 66 20 28 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d ar).{.if.($escaping).{.$regex..=
151700 20 27 5c 5c 5c 5c 27 3b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c .'\\\\';.$escaping.=.false;.}.el
151720 73 65 20 7b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e se.{.$escaping.=.true;.}..contin
151740 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 63 61 72 3b 0a 7d 0a 24 ue;.}.else.{.$regex..=.$car;.}.$
151760 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 6c escaping.=.false;.}..return.$del
151780 69 6d 69 74 65 72 2e 27 5e 27 2e 24 72 65 67 65 78 2e 27 24 27 2e 24 64 65 6c 69 6d 69 74 65 72 imiter.'^'.$regex.'$'.$delimiter
1517a0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
1517c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f Symfony\Component\Finder\Iterato
1517e0 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 r;..........class.CustomFilterIt
151800 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a erator.extends.FilterIterator.{.
151820 70 72 69 76 61 74 65 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a private.$filters.=.array();.....
151840 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c ...public.function.__construct(\
151860 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 66 69 6c 74 65 Iterator.$iterator,.array.$filte
151880 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 73 20 61 73 20 24 66 69 6c 74 rs).{.foreach.($filters.as.$filt
1518a0 65 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 66 69 6c 74 65 72 29 29 er).{.if.(!is_callable($filter))
1518c0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 .{.throw.new.\InvalidArgumentExc
1518e0 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c 62 61 63 6b 2e 27 29 3b eption('Invalid.PHP.callback.');
151900 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 3d 20 24 66 69 6c 74 65 72 73 3b 0a .}.}.$this->filters.=.$filters;.
151920 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b .parent::__construct($iterator);
151940 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 .}.......public.function.accept(
151960 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 ).{.$fileinfo.=.$this->current()
151980 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 61 73 20 24 66 ;..foreach.($this->filters.as.$f
1519a0 69 6c 74 65 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 63 61 6c 6c 5f 75 73 65 72 ilter).{.if.(false.===.call_user
1519c0 5f 66 75 6e 63 28 24 66 69 6c 74 65 72 2c 20 24 66 69 6c 65 69 6e 66 6f 29 29 20 7b 0a 72 65 74 _func($filter,.$fileinfo)).{.ret
1519e0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d urn.false;.}.}..return.true;.}.}
151a00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
151a20 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 ny\Component\Finder\Iterator;..u
151a40 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 se.Symfony\Component\Finder\Comp
151a60 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 arator\DateComparator;.......cla
151a80 73 73 20 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e ss.DateRangeFilterIterator.exten
151aa0 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d ds.FilterIterator.{.private.$com
151ac0 70 61 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 parators.=.array();......public.
151ae0 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 function.__construct(\Iterator.$
151b00 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 29 0a 7b 0a iterator,.array.$comparators).{.
151b20 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 $this->comparators.=.$comparator
151b40 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f s;..parent::__construct($iterato
151b60 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 r);.}.......public.function.acce
151b80 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e pt().{.$fileinfo.=.$this->curren
151ba0 74 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 69 6e 66 6f t();..if.(!file_exists($fileinfo
151bc0 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 ->getPathname())).{.return.false
151be0 3b 0a 7d 0a 0a 24 66 69 6c 65 64 61 74 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 4d ;.}..$filedate.=.$fileinfo->getM
151c00 54 69 6d 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 Time();.foreach.($this->comparat
151c20 6f 72 73 20 61 73 20 24 63 6f 6d 70 61 72 65 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 72 65 ors.as.$compare).{.if.(!$compare
151c40 2d 3e 74 65 73 74 28 24 66 69 6c 65 64 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 ->test($filedate)).{.return.fals
151c60 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a e;.}.}..return.true;.}.}.<?php..
151c80 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
151ca0 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 nent\Finder\Iterator;.......clas
151cc0 73 20 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e s.DepthRangeFilterIterator.exten
151ce0 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6d 69 6e ds.FilterIterator.{.private.$min
151d00 44 65 70 74 68 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Depth.=.0;.......public.function
151d20 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 .__construct(\RecursiveIteratorI
151d40 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 terator.$iterator,.$minDepth.=.0
151d60 2c 20 24 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 0a 7b 0a 24 74 68 ,.$maxDepth.=.PHP_INT_MAX).{.$th
151d80 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 69 6e 44 65 70 74 68 3b 0a 24 69 74 65 72 61 is->minDepth.=.$minDepth;.$itera
151da0 74 6f 72 2d 3e 73 65 74 4d 61 78 44 65 70 74 68 28 50 48 50 5f 49 4e 54 5f 4d 41 58 20 3d 3d 3d tor->setMaxDepth(PHP_INT_MAX.===
151dc0 20 24 6d 61 78 44 65 70 74 68 20 3f 20 2d 31 20 3a 20 24 6d 61 78 44 65 70 74 68 29 3b 0a 0a 70 .$maxDepth.?.-1.:.$maxDepth);..p
151de0 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d arent::__construct($iterator);.}
151e00 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a .......public.function.accept().
151e20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 {.return.$this->getInnerIterator
151e40 28 29 2d 3e 67 65 74 44 65 70 74 68 28 29 20 3e 3d 20 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 ()->getDepth().>=.$this->minDept
151e60 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 h;.}.}.<?php...........namespace
151e80 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 .Symfony\Component\Finder\Iterat
151ea0 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 or;.......class.ExcludeDirectory
151ec0 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 FilterIterator.extends.FilterIte
151ee0 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 rator.implements.\RecursiveItera
151f00 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 tor.{.private.$iterator;.private
151f20 20 24 69 73 52 65 63 75 72 73 69 76 65 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c 75 64 65 64 .$isRecursive;.private.$excluded
151f40 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c 75 64 65 Dirs.=.array();.private.$exclude
151f60 64 50 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f dPattern;......public.function._
151f80 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 _construct(\Iterator.$iterator,.
151fa0 61 72 72 61 79 20 24 64 69 72 65 63 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 74 65 array.$directories).{.$this->ite
151fc0 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 rator.=.$iterator;.$this->isRecu
151fe0 72 73 69 76 65 20 3d 20 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 52 65 rsive.=.$iterator.instanceof.\Re
152000 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 3b 0a 24 70 61 74 74 65 72 6e 73 20 3d 20 61 72 72 cursiveIterator;.$patterns.=.arr
152020 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 20 61 73 20 24 ay();.foreach.($directories.as.$
152040 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 72 74 72 69 6d 28 directory).{.$directory.=.rtrim(
152060 24 64 69 72 65 63 74 6f 72 79 2c 20 27 2f 27 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 $directory,.'/');.if.(!$this->is
152080 52 65 63 75 72 73 69 76 65 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 64 Recursive.||.false.!==.strpos($d
1520a0 69 72 65 63 74 6f 72 79 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 73 5b 5d 20 3d 20 irectory,.'/')).{.$patterns[].=.
1520c0 70 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 65 63 74 6f 72 79 2c 20 27 23 27 29 3b 0a 7d 20 65 preg_quote($directory,.'#');.}.e
1520e0 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 5b 24 64 69 72 65 63 lse.{.$this->excludedDirs[$direc
152100 74 6f 72 79 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 69 66 20 28 24 70 61 74 74 65 72 6e 73 29 tory].=.true;.}.}.if.($patterns)
152120 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 20 3d 20 27 23 28 3f .{.$this->excludedPattern.=.'#(?
152140 3a 5e 7c 2f 29 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 70 61 74 74 65 72 6e 73 :^|/)(?:'.implode('|',.$patterns
152160 29 2e 27 29 28 3f 3a 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 ).')(?:/|$)#';.}..parent::__cons
152180 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 truct($iterator);.}.......public
1521a0 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e .function.accept().{.if.($this->
1521c0 69 73 52 65 63 75 72 73 69 76 65 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 78 63 6c isRecursive.&&.isset($this->excl
1521e0 75 64 65 64 44 69 72 73 5b 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 5d 29 20 udedDirs[$this->getFilename()]).
152200 26 26 20 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 &&.$this->isDir()).{.return.fals
152220 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e e;.}..if.($this->excludedPattern
152240 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 20 3f 20 24 74 68 ).{.$path.=.$this->isDir().?.$th
152260 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 is->current()->getRelativePathna
152280 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 me().:.$this->current()->getRela
1522a0 74 69 76 65 50 61 74 68 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 tivePath();.$path.=.str_replace(
1522c0 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 21 70 72 65 67 '\\',.'/',.$path);..return.!preg
1522e0 5f 6d 61 74 63 68 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 2c 20 24 _match($this->excludedPattern,.$
152300 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 path);.}..return.true;.}..public
152320 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e .function.hasChildren().{.return
152340 20 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 26 26 20 24 74 68 69 73 2d 3e 69 74 .$this->isRecursive.&&.$this->it
152360 65 72 61 74 6f 72 2d 3e 68 61 73 43 68 69 6c 64 72 65 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 erator->hasChildren();.}..public
152380 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 24 63 68 69 6c 64 .function.getChildren().{.$child
1523a0 72 65 6e 20 3d 20 6e 65 77 20 73 65 6c 66 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 2d 3e ren.=.new.self($this->iterator->
1523c0 67 65 74 43 68 69 6c 64 72 65 6e 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 63 68 69 6c 64 72 getChildren(),.array());.$childr
1523e0 65 6e 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 en->excludedDirs.=.$this->exclud
152400 65 64 44 69 72 73 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 edDirs;.$children->excludedPatte
152420 72 6e 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 3b 0a 0a 72 65 rn.=.$this->excludedPattern;..re
152440 74 75 72 6e 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a turn.$children;.}.}.<?php.......
152460 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
152480 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 Finder\Iterator;..@trigger_error
1524a0 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 46 69 6c 65 50 61 74 68 ('The.'.__NAMESPACE__.'\FilePath
1524c0 73 49 74 65 72 61 74 6f 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 sIterator.class.is.deprecated.si
1524e0 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
152500 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
152520 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c ;..use.Symfony\Component\Finder\
152540 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 50 SplFileInfo;.........class.FileP
152560 61 74 68 73 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 41 72 72 61 79 49 74 65 72 61 athsIterator.extends.\ArrayItera
152580 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 61 73 65 44 69 72 3b 0a 0a 0a 0a 0a 70 tor.{....private.$baseDir;.....p
1525a0 72 69 76 61 74 65 20 24 62 61 73 65 44 69 72 4c 65 6e 67 74 68 3b 0a 0a 0a 0a 0a 70 72 69 76 61 rivate.$baseDirLength;.....priva
1525c0 74 65 20 24 73 75 62 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 75 62 50 61 74 te.$subPath;.....private.$subPat
1525e0 68 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 3b 0a 0a 0a 0a hname;.....private.$current;....
152600 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 ..public.function.__construct(ar
152620 72 61 79 20 24 70 61 74 68 73 2c 20 24 62 61 73 65 44 69 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 ray.$paths,.$baseDir).{.$this->b
152640 61 73 65 44 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 69 aseDir.=.$baseDir;.$this->baseDi
152660 72 4c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 62 61 73 65 44 69 72 29 3b 0a 0a 70 61 72 rLength.=.strlen($baseDir);..par
152680 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 73 29 3b 0a 7d 0a 0a 0a 0a 0a ent::__construct($paths);.}.....
1526a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6e 61 6d 65 2c ...public.function.__call($name,
1526c0 20 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b 0a 72 65 74 75 72 6e 20 63 61 6c 6c .array.$arguments).{.return.call
1526e0 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 75 _user_func_array(array($this->cu
152700 72 72 65 6e 74 28 29 2c 20 24 6e 61 6d 65 29 2c 20 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a rrent(),.$name),.$arguments);.}.
152720 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a ......public.function.current().
152740 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 {.return.$this->current;.}.....p
152760 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ublic.function.key().{.return.$t
152780 68 69 73 2d 3e 63 75 72 72 65 6e 74 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 3b 0a 7d 0a 0a his->current->getPathname();.}..
1527a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 70 61 72 65 6e 74 3a public.function.next().{.parent:
1527c0 3a 6e 65 78 74 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 :next();.$this->buildProperties(
1527e0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b );.}..public.function.rewind().{
152800 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 .parent::rewind();.$this->buildP
152820 72 6f 70 65 72 74 69 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 roperties();.}.....public.functi
152840 6f 6e 20 67 65 74 53 75 62 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e on.getSubPath().{.return.$this->
152860 73 75 62 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 subPath;.}.....public.function.g
152880 65 74 53 75 62 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e etSubPathname().{.return.$this->
1528a0 73 75 62 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e subPathname;.}..private.function
1528c0 20 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 29 0a 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 .buildProperties().{.$absolutePa
1528e0 74 68 20 3d 20 70 61 72 65 6e 74 3a 3a 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 24 74 68 th.=.parent::current();..if.($th
152900 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 61 62 73 6f 6c 75 74 65 is->baseDir.===.substr($absolute
152920 50 61 74 68 2c 20 30 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 4c 65 6e 67 74 68 29 29 20 Path,.0,.$this->baseDirLength)).
152940 7b 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 6c 74 72 69 6d 28 73 75 62 {.$this->subPathname.=.ltrim(sub
152960 73 74 72 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 str($absolutePath,.$this->baseDi
152980 72 4c 65 6e 67 74 68 29 2c 20 27 2f 5c 5c 27 29 3b 0a 24 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 rLength),.'/\\');.$dir.=.dirname
1529a0 28 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 73 75 62 ($this->subPathname);.$this->sub
1529c0 50 61 74 68 20 3d 20 27 2e 27 20 3d 3d 3d 20 24 64 69 72 20 3f 20 27 27 20 3a 20 24 64 69 72 3b Path.=.'.'.===.$dir.?.''.:.$dir;
1529e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 20 3d 20 24 74 68 69 73 .}.else.{.$this->subPath.=.$this
152a00 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 27 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 ->subPathname.=.'';.}..$this->cu
152a20 72 72 65 6e 74 20 3d 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 70 61 72 65 6e 74 3a 3a rrent.=.new.SplFileInfo(parent::
152a40 63 75 72 72 65 6e 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 2c 20 24 74 68 69 73 current(),.$this->subPath,.$this
152a60 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ->subPathname);.}.}.<?php.......
152a80 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
152aa0 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c Finder\Iterator;.......class.Fil
152ac0 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 eTypeFilterIterator.extends.Filt
152ae0 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 20 erIterator.{.const.ONLY_FILES.=.
152b00 31 3b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 20 32 3b 0a 0a 1;.const.ONLY_DIRECTORIES.=.2;..
152b20 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 private.$mode;......public.funct
152b40 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 ion.__construct(\Iterator.$itera
152b60 74 6f 72 2c 20 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 tor,.$mode).{.$this->mode.=.$mod
152b80 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f e;..parent::__construct($iterato
152ba0 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 r);.}.......public.function.acce
152bc0 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e pt().{.$fileinfo.=.$this->curren
152be0 74 28 29 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 t();.if.(self::ONLY_DIRECTORIES.
152c00 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 26 20 24 74 ===.(self::ONLY_DIRECTORIES.&.$t
152c20 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 his->mode).&&.$fileinfo->isFile(
152c40 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c )).{.return.false;.}.elseif.(sel
152c60 66 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 46 49 f::ONLY_FILES.===.(self::ONLY_FI
152c80 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 6e 66 6f 2d LES.&.$this->mode).&&.$fileinfo-
152ca0 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 >isDir()).{.return.false;.}..ret
152cc0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 urn.true;.}.}.<?php...........na
152ce0 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 mespace.Symfony\Component\Finder
152d00 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 63 6f 6e 74 \Iterator;........class.Filecont
152d20 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 entFilterIterator.extends.Multip
152d40 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c lePcreFilterIterator.{......publ
152d60 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 ic.function.accept().{.if.(!$thi
152d80 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 26 26 20 21 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 s->matchRegexps.&&.!$this->noMat
152da0 63 68 52 65 67 65 78 70 73 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 chRegexps).{.return.true;.}..$fi
152dc0 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 leinfo.=.$this->current();..if.(
152de0 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 44 69 72 28 29 20 7c 7c 20 21 24 66 69 6c 65 69 6e 66 6f $fileinfo->isDir().||.!$fileinfo
152e00 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ->isReadable()).{.return.false;.
152e20 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 43 6f 6e 74 }..$content.=.$fileinfo->getCont
152e40 65 6e 74 73 28 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 ents();.if.(!$content).{.return.
152e60 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 41 63 63 65 70 74 false;.}..return.$this->isAccept
152e80 65 64 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ed($content);.}.........protecte
152ea0 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 d.function.toRegex($str).{.retur
152ec0 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 n.$this->isRegex($str).?.$str.:.
152ee0 27 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 74 72 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d '/'.preg_quote($str,.'/').'/';.}
152f00 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
152f20 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a fony\Component\Finder\Iterator;.
152f40 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 47 6c .use.Symfony\Component\Finder\Gl
152f60 6f 62 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 ob;.......class.FilenameFilterIt
152f80 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 erator.extends.MultiplePcreFilte
152fa0 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rIterator.{......public.function
152fc0 20 61 63 63 65 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 41 63 63 65 .accept().{.return.$this->isAcce
152fe0 70 74 65 64 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 46 69 6c 65 6e 61 pted($this->current()->getFilena
153000 6d 65 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 me());.}............protected.fu
153020 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.toRegex($str).{.return.$t
153040 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 47 6c 6f 62 his->isRegex($str).?.$str.:.Glob
153060 3a 3a 74 6f 52 65 67 65 78 28 24 73 74 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ::toRegex($str);.}.}.<?php......
153080 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
1530a0 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 \Finder\Iterator;..........abstr
1530c0 61 63 74 20 63 6c 61 73 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 act.class.FilterIterator.extends
1530e0 20 5c 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .\FilterIterator.{.......public.
153100 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 function.rewind().{.if.(\PHP_VER
153120 53 49 4f 4e 5f 49 44 20 3e 20 35 30 36 30 37 20 7c 7c 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e SION_ID.>.50607.||.(\PHP_VERSION
153140 5f 49 44 20 3e 20 35 30 35 32 33 20 26 26 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c _ID.>.50523.&&.\PHP_VERSION_ID.<
153160 20 35 30 36 30 30 29 29 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 0a 72 65 .50600)).{.parent::rewind();..re
153180 74 75 72 6e 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 3b 0a 77 68 69 6c turn;.}..$iterator.=.$this;.whil
1531a0 65 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 4f 75 74 65 72 49 74 e.($iterator.instanceof.\OuterIt
1531c0 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 erator).{.$innerIterator.=.$iter
1531e0 61 74 6f 72 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 ator->getInnerIterator();..if.($
153200 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 63 75 72 73 69 innerIterator.instanceof.Recursi
153220 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 29 20 7b 0a 0a 20 69 66 20 28 24 69 6e veDirectoryIterator).{...if.($in
153240 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 69 73 52 65 77 69 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 nerIterator->isRewindable()).{.$
153260 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 24 69 6e 6e 65 72 49 74 65 innerIterator->next();.$innerIte
153280 72 61 74 6f 72 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e rator->rewind();.}.}.elseif.($in
1532a0 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 46 69 6c 65 73 79 73 74 nerIterator.instanceof.\Filesyst
1532c0 65 6d 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 6e 65 emIterator).{.$innerIterator->ne
1532e0 78 74 28 29 3b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 72 65 77 69 6e 64 28 29 3b 0a xt();.$innerIterator->rewind();.
153300 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 3b 0a 7d }..$iterator.=.$innerIterator;.}
153320 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ..parent::rewind();.}.}.<?php...
153340 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
153360 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 ent\Finder\Iterator;.......abstr
153380 61 63 74 20 63 6c 61 73 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 act.class.MultiplePcreFilterIter
1533a0 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 ator.extends.FilterIterator.{.pr
1533c0 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 29 3b otected.$matchRegexps.=.array();
1533e0 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 .protected.$noMatchRegexps.=.arr
153400 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ay();.......public.function.__co
153420 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 nstruct(\Iterator.$iterator,.arr
153440 61 79 20 24 6d 61 74 63 68 50 61 74 74 65 72 6e 73 2c 20 61 72 72 61 79 20 24 6e 6f 4d 61 74 63 ay.$matchPatterns,.array.$noMatc
153460 68 50 61 74 74 65 72 6e 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 50 61 74 74 hPatterns).{.foreach.($matchPatt
153480 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 erns.as.$pattern).{.$this->match
1534a0 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 52 65 67 65 78 28 24 70 61 74 74 Regexps[].=.$this->toRegex($patt
1534c0 65 72 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 6f 4d 61 74 63 68 50 61 74 74 65 72 ern);.}..foreach.($noMatchPatter
1534e0 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 ns.as.$pattern).{.$this->noMatch
153500 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 52 65 67 65 78 28 24 70 61 74 74 Regexps[].=.$this->toRegex($patt
153520 65 72 6e 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 ern);.}..parent::__construct($it
153540 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 erator);.}.............protected
153560 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 63 63 65 70 74 65 64 28 24 73 74 72 69 6e 67 29 0a 7b 0a .function.isAccepted($string).{.
153580 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 ..foreach.($this->noMatchRegexps
1535a0 20 61 73 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 .as.$regex).{.if.(preg_match($re
1535c0 67 65 78 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d gex,.$string)).{.return.false;.}
1535e0 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 29 20 7b .}....if.($this->matchRegexps).{
153600 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 61 73 .foreach.($this->matchRegexps.as
153620 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 .$regex).{.if.(preg_match($regex
153640 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a ,.$string)).{.return.true;.}.}..
153660 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a return.false;.}....return.true;.
153680 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 }.........protected.function.isR
1536a0 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 egex($str).{.if.(preg_match('/^(
1536c0 2e 7b 33 2c 7d 3f 29 5b 69 6d 73 78 75 41 44 55 5d 2a 24 2f 27 2c 20 24 73 74 72 2c 20 24 6d 29 .{3,}?)[imsxuADU]*$/',.$str,.$m)
1536e0 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 ).{.$start.=.substr($m[1],.0,.1)
153700 3b 0a 24 65 6e 64 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 ;.$end.=.substr($m[1],.-1);..if.
153720 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 65 6e 64 29 20 7b 0a 72 65 74 75 72 6e 20 21 70 72 65 67 ($start.===.$end).{.return.!preg
153740 5f 6d 61 74 63 68 28 27 2f 5b 2a 3f 5b 3a 61 6c 6e 75 6d 3a 5d 20 5c 5c 5c 5c 5d 2f 27 2c 20 24 _match('/[*?[:alnum:].\\\\]/',.$
153760 73 74 61 72 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 61 72 72 61 79 28 start);.}..foreach.(array(array(
153780 27 7b 27 2c 20 27 7d 27 29 2c 20 61 72 72 61 79 28 27 28 27 2c 20 27 29 27 29 2c 20 61 72 72 61 '{',.'}'),.array('(',.')'),.arra
1537a0 79 28 27 5b 27 2c 20 27 5d 27 29 2c 20 61 72 72 61 79 28 27 3c 27 2c 20 27 3e 27 29 29 20 61 73 y('[',.']'),.array('<',.'>')).as
1537c0 20 24 64 65 6c 69 6d 69 74 65 72 73 29 20 7b 0a 69 66 20 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 .$delimiters).{.if.($start.===.$
1537e0 64 65 6c 69 6d 69 74 65 72 73 5b 30 5d 20 26 26 20 24 65 6e 64 20 3d 3d 3d 20 24 64 65 6c 69 6d delimiters[0].&&.$end.===.$delim
153800 69 74 65 72 73 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a iters[1]).{.return.true;.}.}.}..
153820 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 return.false;.}.........abstract
153840 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 .protected.function.toRegex($str
153860 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 );.}.<?php...........namespace.S
153880 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 ymfony\Component\Finder\Iterator
1538a0 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f ;........class.PathFilterIterato
1538c0 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 r.extends.MultiplePcreFilterIter
1538e0 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 ator.{......public.function.acce
153900 70 74 28 29 0a 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e pt().{.$filename.=.$this->curren
153920 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 3b 0a 0a 69 66 20 t()->getRelativePathname();..if.
153940 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b ('\\'.===.DIRECTORY_SEPARATOR).{
153960 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 .$filename.=.str_replace('\\',.'
153980 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d /',.$filename);.}..return.$this-
1539a0 3e 69 73 41 63 63 65 70 74 65 64 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a >isAccepted($filename);.}.......
1539c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 .........protected.function.toRe
1539e0 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 65 gex($str).{.return.$this->isRege
153a00 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 27 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 x($str).?.$str.:.'/'.preg_quote(
153a20 24 73 74 72 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a $str,.'/').'/';.}.}.<?php.......
153a40 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
153a60 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f Finder\Iterator;..use.Symfony\Co
153a80 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 41 63 63 65 73 73 44 mponent\Finder\Exception\AccessD
153aa0 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 eniedException;.use.Symfony\Comp
153ac0 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a onent\Finder\SplFileInfo;.......
153ae0 63 6c 61 73 73 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 class.RecursiveDirectoryIterator
153b00 20 65 78 74 65 6e 64 73 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 .extends.\RecursiveDirectoryIter
153b20 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 ator.{....private.$ignoreUnreada
153b40 62 6c 65 44 69 72 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 77 69 6e 64 61 62 6c 65 bleDirs;.....private.$rewindable
153b60 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 72 6f 6f 74 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 ;....private.$rootPath;.private.
153b80 24 73 75 62 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 69 72 65 63 74 6f 72 79 53 65 70 61 $subPath;.private.$directorySepa
153ba0 72 61 74 6f 72 20 3d 20 27 2f 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rator.=.'/';.........public.func
153bc0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 24 66 6c 61 67 73 2c 20 tion.__construct($path,.$flags,.
153be0 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b $ignoreUnreadableDirs.=.false).{
153c00 0a 69 66 20 28 24 66 6c 61 67 73 20 26 20 28 73 65 6c 66 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f .if.($flags.&.(self::CURRENT_AS_
153c20 50 41 54 48 4e 41 4d 45 20 7c 20 73 65 6c 66 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 53 45 4c 46 PATHNAME.|.self::CURRENT_AS_SELF
153c40 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e )).{.throw.new.\RuntimeException
153c60 28 27 54 68 69 73 20 69 74 65 72 61 74 6f 72 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 20 72 65 74 ('This.iterator.only.support.ret
153c80 75 72 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 61 73 20 66 69 6c 65 69 6e 66 6f 2e 27 29 3b 0a 7d urning.current.as.fileinfo.');.}
153ca0 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 24 66 6c ..parent::__construct($path,.$fl
153cc0 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 ags);.$this->ignoreUnreadableDir
153ce0 73 20 3d 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 3b 0a 24 74 68 69 73 s.=.$ignoreUnreadableDirs;.$this
153d00 2d 3e 72 6f 6f 74 50 61 74 68 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 74 68 3b 0a 69 66 20 ->rootPath.=.(string).$path;.if.
153d20 28 27 2f 27 20 21 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 26 26 20 ('/'.!==.DIRECTORY_SEPARATOR.&&.
153d40 21 28 24 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 55 4e 49 58 5f 50 41 54 48 53 29 29 20 7b 0a !($flags.&.self::UNIX_PATHS)).{.
153d60 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 20 3d 20 44 49 52 45 $this->directorySeparator.=.DIRE
153d80 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 CTORY_SEPARATOR;.}.}.......publi
153da0 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 0a 0a 69 66 20 28 6e 75 6c c.function.current().{...if.(nul
153dc0 6c 20 3d 3d 3d 20 24 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 73 75 62 50 l.===.$subPathname.=.$this->subP
153de0 61 74 68 29 20 7b 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 73 75 62 ath).{.$subPathname.=.$this->sub
153e00 50 61 74 68 20 3d 20 28 73 74 72 69 6e 67 29 20 24 74 68 69 73 2d 3e 67 65 74 53 75 62 50 61 74 Path.=.(string).$this->getSubPat
153e20 68 28 29 3b 0a 7d 0a 69 66 20 28 27 27 20 21 3d 3d 20 24 73 75 62 50 61 74 68 6e 61 6d 65 29 20 h();.}.if.(''.!==.$subPathname).
153e40 7b 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 2e 3d 20 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f {.$subPathname..=.$this->directo
153e60 72 79 53 65 70 61 72 61 74 6f 72 3b 0a 7d 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 2e 3d 20 24 rySeparator;.}.$subPathname..=.$
153e80 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 this->getFilename();..return.new
153ea0 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 74 68 2e 24 74 68 .SplFileInfo($this->rootPath.$th
153ec0 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 2e 24 73 75 62 50 61 74 68 6e is->directorySeparator.$subPathn
153ee0 61 6d 65 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 2c 20 24 73 75 62 50 61 74 68 6e 61 6d ame,.$this->subPath,.$subPathnam
153f00 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 e);.}.......public.function.getC
153f20 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 74 72 79 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 61 hildren().{.try.{.$children.=.pa
153f40 72 65 6e 74 3a 3a 67 65 74 43 68 69 6c 64 72 65 6e 28 29 3b 0a 0a 69 66 20 28 24 63 68 69 6c 64 rent::getChildren();..if.($child
153f60 72 65 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 0a 20 24 63 68 69 6c 64 72 ren.instanceof.self).{...$childr
153f80 65 6e 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 24 74 68 69 73 en->ignoreUnreadableDirs.=.$this
153fa0 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 3b 0a 0a 0a 20 24 63 68 69 6c ->ignoreUnreadableDirs;....$chil
153fc0 64 72 65 6e 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 26 24 74 68 69 73 2d 3e 72 65 77 69 6e dren->rewindable.=.&$this->rewin
153fe0 64 61 62 6c 65 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 72 6f 6f 74 50 61 74 68 20 3d 20 24 74 68 dable;.$children->rootPath.=.$th
154000 69 73 2d 3e 72 6f 6f 74 50 61 74 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 68 69 6c 64 72 65 is->rootPath;.}..return.$childre
154020 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 n;.}.catch.(\UnexpectedValueExce
154040 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 ption.$e).{.if.($this->ignoreUnr
154060 65 61 64 61 62 6c 65 44 69 72 73 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 5c 52 65 63 eadableDirs).{...return.new.\Rec
154080 75 72 73 69 76 65 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 61 72 72 61 79 28 29 29 3b 0a 7d 20 ursiveArrayIterator(array());.}.
1540a0 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 else.{.throw.new.AccessDeniedExc
1540c0 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 65 2d 3e 67 65 74 eption($e->getMessage(),.$e->get
1540e0 43 6f 64 65 28 29 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 Code(),.$e);.}.}.}.....public.fu
154100 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 nction.rewind().{.if.(false.===.
154120 24 74 68 69 73 2d 3e 69 73 52 65 77 69 6e 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b $this->isRewindable()).{.return;
154140 0a 7d 0a 0a 0a 20 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 32 .}....if.(\PHP_VERSION_ID.<.5052
154160 33 20 7c 7c 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 20 26 26 3.||.\PHP_VERSION_ID.>=.50600.&&
154180 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 37 29 20 7b 0a 70 61 72 65 .\PHP_VERSION_ID.<.50607).{.pare
1541a0 6e 74 3a 3a 6e 65 78 74 28 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b nt::next();.}..parent::rewind();
1541c0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 77 69 6e .}.......public.function.isRewin
1541e0 64 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 65 dable().{.if.(null.!==.$this->re
154200 77 69 6e 64 61 62 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 windable).{.return.$this->rewind
154220 61 62 6c 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 able;.}....if.(''.===.$this->get
154240 50 61 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 Path()).{.return.$this->rewindab
154260 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 74 le.=.false;.}..if.(false.!==.$st
154280 72 65 61 6d 20 3d 20 40 6f 70 65 6e 64 69 72 28 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 28 29 ream.=.@opendir($this->getPath()
1542a0 29 29 20 7b 0a 24 69 6e 66 6f 73 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 6d 65 74 61 5f 64 61 )).{.$infos.=.stream_get_meta_da
1542c0 74 61 28 24 73 74 72 65 61 6d 29 3b 0a 63 6c 6f 73 65 64 69 72 28 24 73 74 72 65 61 6d 29 3b 0a ta($stream);.closedir($stream);.
1542e0 0a 69 66 20 28 24 69 6e 66 6f 73 5b 27 73 65 65 6b 61 62 6c 65 27 5d 29 20 7b 0a 72 65 74 75 72 .if.($infos['seekable']).{.retur
154300 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a n.$this->rewindable.=.true;.}.}.
154320 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 66 61 6c 73 .return.$this->rewindable.=.fals
154340 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 e;.}.}.<?php...........namespace
154360 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 .Symfony\Component\Finder\Iterat
154380 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 or;..use.Symfony\Component\Finde
1543a0 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a r\Comparator\NumberComparator;..
1543c0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 .....class.SizeRangeFilterIterat
1543e0 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 or.extends.FilterIterator.{.priv
154400 61 74 65 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a ate.$comparators.=.array();.....
154420 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 .public.function.__construct(\It
154440 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 63 6f 6d 70 61 72 61 erator.$iterator,.array.$compara
154460 74 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 24 63 6f tors).{.$this->comparators.=.$co
154480 6d 70 61 72 61 74 6f 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 mparators;..parent::__construct(
1544a0 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $iterator);.}.......public.funct
1544c0 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 ion.accept().{.$fileinfo.=.$this
1544e0 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 ->current();.if.(!$fileinfo->isF
154500 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 6c 65 73 69 ile()).{.return.true;.}..$filesi
154520 7a 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 66 6f 72 65 61 ze.=.$fileinfo->getSize();.forea
154540 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 61 73 20 24 63 6f 6d 70 61 ch.($this->comparators.as.$compa
154560 72 65 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 72 65 2d 3e 74 65 73 74 28 24 66 69 6c 65 73 re).{.if.(!$compare->test($files
154580 69 7a 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 ize)).{.return.false;.}.}..retur
1545a0 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 n.true;.}.}.<?php...........name
1545c0 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 space.Symfony\Component\Finder\I
1545e0 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 72 74 61 62 6c 65 49 74 65 terator;.......class.SortableIte
154600 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 rator.implements.\IteratorAggreg
154620 61 74 65 0a 7b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 3d 20 31 3b 0a 63 6f ate.{.const.SORT_BY_NAME.=.1;.co
154640 6e 73 74 20 53 4f 52 54 5f 42 59 5f 54 59 50 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 nst.SORT_BY_TYPE.=.2;.const.SORT
154660 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 53 4f 52 _BY_ACCESSED_TIME.=.3;.const.SOR
154680 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 53 4f 52 T_BY_CHANGED_TIME.=.4;.const.SOR
1546a0 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d 20 35 3b 0a 0a 70 72 69 76 61 74 65 T_BY_MODIFIED_TIME.=.5;..private
1546c0 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 73 6f 72 74 3b 0a 0a 0a 0a 0a 0a .$iterator;.private.$sort;......
1546e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 54 ..public.function.__construct(\T
154700 72 61 76 65 72 73 61 62 6c 65 20 24 69 74 65 72 61 74 6f 72 2c 20 24 73 6f 72 74 29 0a 7b 0a 24 raversable.$iterator,.$sort).{.$
154720 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 0a 69 66 20 this->iterator.=.$iterator;..if.
154740 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b (self::SORT_BY_NAME.===.$sort).{
154760 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 .$this->sort.=.function.($a,.$b)
154780 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 .{.return.strcmp($a->getRealpath
1547a0 28 29 20 3f 3a 20 24 61 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 62 2d 3e 67 65 74 ().?:.$a->getPathname(),.$b->get
1547c0 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 62 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 Realpath().?:.$b->getPathname())
1547e0 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 ;.};.}.elseif.(self::SORT_BY_TYP
154800 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e E.===.$sort).{.$this->sort.=.fun
154820 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 69 66 20 28 24 61 2d 3e 69 73 44 69 72 28 29 ction.($a,.$b).{.if.($a->isDir()
154840 20 26 26 20 24 62 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d .&&.$b->isFile()).{.return.-1;.}
154860 20 65 6c 73 65 69 66 20 28 24 61 2d 3e 69 73 46 69 6c 65 28 29 20 26 26 20 24 62 2d 3e 69 73 44 .elseif.($a->isFile().&&.$b->isD
154880 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 63 ir()).{.return.1;.}..return.strc
1548a0 6d 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 61 2d 3e 67 65 74 50 mp($a->getRealpath().?:.$a->getP
1548c0 61 74 68 6e 61 6d 65 28 29 2c 20 24 62 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 athname(),.$b->getRealpath().?:.
1548e0 24 62 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 $b->getPathname());.};.}.elseif.
154900 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 20 3d 3d 3d (self::SORT_BY_ACCESSED_TIME.===
154920 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e .$sort).{.$this->sort.=.function
154940 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 41 54 69 6d 65 28 .($a,.$b).{.return.$a->getATime(
154960 29 20 2d 20 24 62 2d 3e 67 65 74 41 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 ).-.$b->getATime();.};.}.elseif.
154980 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 (self::SORT_BY_CHANGED_TIME.===.
1549a0 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 $sort).{.$this->sort.=.function.
1549c0 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 43 54 69 6d 65 28 29 ($a,.$b).{.return.$a->getCTime()
1549e0 20 2d 20 24 62 2d 3e 67 65 74 43 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 .-.$b->getCTime();.};.}.elseif.(
154a00 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 self::SORT_BY_MODIFIED_TIME.===.
154a20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 $sort).{.$this->sort.=.function.
154a40 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 2d 3e 67 65 74 4d 54 69 6d 65 28 29 ($a,.$b).{.return.$a->getMTime()
154a60 20 2d 20 24 62 2d 3e 67 65 74 4d 54 69 6d 65 28 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 .-.$b->getMTime();.};.}.elseif.(
154a80 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 73 6f 72 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 is_callable($sort)).{.$this->sor
154aa0 74 20 3d 20 24 73 6f 72 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 t.=.$sort;.}.else.{.throw.new.\I
154ac0 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 53 6f 72 nvalidArgumentException('The.Sor
154ae0 74 61 62 6c 65 49 74 65 72 61 74 6f 72 20 74 61 6b 65 73 20 61 20 50 48 50 20 63 61 6c 6c 61 62 tableIterator.takes.a.PHP.callab
154b00 6c 65 20 6f 72 20 61 20 76 61 6c 69 64 20 62 75 69 6c 74 2d 69 6e 20 73 6f 72 74 20 61 6c 67 6f le.or.a.valid.built-in.sort.algo
154b20 72 69 74 68 6d 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 70 75 rithm.as.an.argument.');.}.}..pu
154b40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 24 61 blic.function.getIterator().{.$a
154b60 72 72 61 79 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e rray.=.iterator_to_array($this->
154b80 69 74 65 72 61 74 6f 72 2c 20 74 72 75 65 29 3b 0a 75 61 73 6f 72 74 28 24 61 72 72 61 79 2c 20 iterator,.true);.uasort($array,.
154ba0 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 41 72 72 61 79 $this->sort);..return.new.\Array
154bc0 49 74 65 72 61 74 6f 72 28 24 61 72 72 61 79 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 Iterator($array);.}.}.Copyright.
154be0 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a (c).2004-2018.Fabien.Potencier..
154c00 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 Permission.is.hereby.granted,.fr
154c20 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 ee.of.charge,.to.any.person.obta
154c40 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e ining.a.copy.of.this.software.an
154c60 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 d.associated.documentation.files
154c80 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 .(the."Software"),.to.deal.in.th
154ca0 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 e.Software.without.restriction,.
154cc0 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 including.without.limitation.the
154ce0 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 .rights.to.use,.copy,.modify,.me
154d00 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 rge,.publish,.distribute,.sublic
154d20 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 ense,.and/or.sell.copies.of.the.
154d40 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 Software,.and.to.permit.persons.
154d60 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 to.whom.the.Software.is.furnishe
154d80 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f d.to.do.so,.subject.to.the.follo
154da0 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 wing.conditions:..The.above.copy
154dc0 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e right.notice.and.this.permission
154de0 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c .notice.shall.be.included.in.all
154e00 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 .copies.or.substantial.portions.
154e20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 of.the.Software...THE.SOFTWARE.I
154e40 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 S.PROVIDED."AS.IS",.WITHOUT.WARR
154e60 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 ANTY.OF.ANY.KIND,.EXPRESS.OR.IMP
154e80 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 LIED,.INCLUDING.BUT.NOT.LIMITED.
154ea0 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 TO.THE.WARRANTIES.OF.MERCHANTABI
154ec0 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 LITY,.FITNESS.FOR.A.PARTICULAR.P
154ee0 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e URPOSE.AND.NONINFRINGEMENT..IN.N
154f00 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 O.EVENT.SHALL.THE.AUTHORS.OR.COP
154f20 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 YRIGHT.HOLDERS.BE.LIABLE.FOR.ANY
154f40 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 .CLAIM,.DAMAGES.OR.OTHER.LIABILI
154f60 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 TY,.WHETHER.IN.AN.ACTION.OF.CONT
154f80 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 RACT,.TORT.OR.OTHERWISE,.ARISING
154fa0 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 .FROM,.OUT.OF.OR.IN.CONNECTION.W
154fc0 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f ITH.THE.SOFTWARE.OR.THE.USE.OR.O
154fe0 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c THER.DEALINGS.IN.THE.SOFTWARE..<
155000 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
155020 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 40 74 72 69 67 67 \Component\Finder\Shell;..@trigg
155040 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c er_error('The.'.__NAMESPACE__.'\
155060 43 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 Command.class.is.deprecated.sinc
155080 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
1550a0 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
1550c0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 ......class.Command.{.private.$p
1550e0 61 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 62 69 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a arent;.private.$bits.=.array();.
155100 70 72 69 76 61 74 65 20 24 6c 61 62 65 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 private.$labels.=.array();.....p
155120 72 69 76 61 74 65 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 rivate.$errorHandler;..public.fu
155140 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 70 61 72 65 nction.__construct(Command.$pare
155160 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 20 3d 20 24 70 61 nt.=.null).{.$this->parent.=.$pa
155180 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f rent;.}.......public.function.__
1551a0 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 toString().{.return.$this->join(
1551c0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f );.}.......public.static.functio
1551e0 6e 20 63 72 65 61 74 65 28 43 6f 6d 6d 61 6e 64 20 24 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 29 n.create(Command.$parent.=.null)
155200 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 70 61 72 65 6e 74 29 3b 0a 7d 0a 0a .{.return.new.self($parent);.}..
155220 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 .......public.static.function.es
155240 63 61 70 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c cape($input).{.return.escapeshel
155260 6c 63 6d 64 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 lcmd($input);.}.........public.s
155280 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 tatic.function.quote($input).{.r
1552a0 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 6e 70 75 74 29 3b 0a 7d 0a eturn.escapeshellarg($input);.}.
1552c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 62 69 74 ........public.function.add($bit
1552e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 24 62 69 74 3b 0a 0a 72 65 74 75 72 ).{.$this->bits[].=.$bit;..retur
155300 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this;.}.........public.functi
155320 6f 6e 20 74 6f 70 28 24 62 69 74 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 on.top($bit).{.array_unshift($th
155340 69 73 2d 3e 62 69 74 73 2c 20 24 62 69 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 is->bits,.$bit);..foreach.($this
155360 2d 3e 6c 61 62 65 6c 73 20 61 73 20 24 6c 61 62 65 6c 20 3d 3e 20 24 69 6e 64 65 78 29 20 7b 0a ->labels.as.$label.=>.$index).{.
155380 2b 2b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 3b 0a 7d 0a 0a 72 65 74 75 ++$this->labels[$label];.}..retu
1553a0 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$this;.}.........public.funct
1553c0 69 6f 6e 20 61 72 67 28 24 61 72 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 ion.arg($arg).{.$this->bits[].=.
1553e0 73 65 6c 66 3a 3a 71 75 6f 74 65 28 24 61 72 67 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 self::quote($arg);..return.$this
155400 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6d 64 28 ;.}.........public.function.cmd(
155420 24 65 73 63 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 65 73 $esc).{.$this->bits[].=.self::es
155440 63 61 70 65 28 24 65 73 63 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a cape($esc);..return.$this;.}....
155460 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 28 24 6c 61 62 65 .......public.function.ins($labe
155480 6c 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 l).{.if.(isset($this->labels[$la
1554a0 62 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 bel])).{.throw.new.\RuntimeExcep
1554c0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 62 65 6c 20 22 25 73 22 20 61 6c 72 65 61 64 79 tion(sprintf('Label."%s".already
1554e0 20 65 78 69 73 74 73 2e 27 2c 20 24 6c 61 62 65 6c 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 .exists.',.$label));.}..$this->b
155500 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 29 3b 0a 24 74 68 its[].=.self::create($this);.$th
155520 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 is->labels[$label].=.count($this
155540 2d 3e 62 69 74 73 29 20 2d 20 31 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 69 74 73 ->bits).-.1;..return.$this->bits
155560 5b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a [$this->labels[$label]];.}......
155580 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6c 61 62 65 6c 29 .....public.function.get($label)
1555a0 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 .{.if.(!isset($this->labels[$lab
1555c0 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 el])).{.throw.new.\RuntimeExcept
1555e0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 62 65 6c 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 ion(sprintf('Label."%s".does.not
155600 20 65 78 69 73 74 2e 27 2c 20 24 6c 61 62 65 6c 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 .exist.',.$label));.}..return.$t
155620 68 69 73 2d 3e 62 69 74 73 5b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 5d his->bits[$this->labels[$label]]
155640 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 64 28 ;.}.........public.function.end(
155660 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 29 20 ).{.if.(null.===.$this->parent).
155680 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 {.throw.new.\RuntimeException('C
1556a0 61 6c 6c 69 6e 67 20 65 6e 64 20 6f 6e 20 72 6f 6f 74 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 6e alling.end.on.root.command.doesn
1556c0 5c 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 \'t.make.sense.');.}..return.$th
1556e0 69 73 2d 3e 70 61 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 is->parent;.}.......public.funct
155700 69 6f 6e 20 6c 65 6e 67 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 ion.length().{.return.count($thi
155720 73 2d 3e 62 69 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 s->bits);.}.....public.function.
155740 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 65 72 72 6f 72 48 setErrorHandler(\Closure.$errorH
155760 61 6e 64 6c 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 20 3d 20 andler).{.$this->errorHandler.=.
155780 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a $errorHandler;..return.$this;.}.
1557a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 48 61 6e 64 ....public.function.getErrorHand
1557c0 6c 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c ler().{.return.$this->errorHandl
1557e0 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 er;.}.........public.function.ex
155800 65 63 75 74 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 48 61 6e ecute().{.if.(null.===.$errorHan
155820 64 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 29 20 7b 0a 65 78 dler.=.$this->errorHandler).{.ex
155840 65 63 28 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c ec($this->join(),.$output);.}.el
155860 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 24 74 68 69 73 2d se.{.$process.=.proc_open($this-
155880 3e 6a 6f 69 6e 28 29 2c 20 61 72 72 61 79 28 30 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 >join(),.array(0.=>.array('pipe'
1558a0 2c 20 27 72 27 29 2c 20 31 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c ,.'r'),.1.=>.array('pipe',.'w'),
1558c0 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 2c 20 24 70 69 70 65 .2.=>.array('pipe',.'w')),.$pipe
1558e0 73 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7e 28 5c 72 5c 6e s);.$output.=.preg_split('~(\r\n
155900 7c 5c 72 7c 5c 6e 29 7e 27 2c 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 |\r|\n)~',.stream_get_contents($
155920 70 69 70 65 73 5b 31 5d 29 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 pipes[1]),.-1,.PREG_SPLIT_NO_EMP
155940 54 59 29 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f TY);..if.($error.=.stream_get_co
155960 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 32 5d 29 29 20 7b 0a 24 65 72 72 6f 72 48 61 6e 64 6c ntents($pipes[2])).{.$errorHandl
155980 65 72 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 er($error);.}..proc_close($proce
1559a0 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 20 3f 3a 20 61 72 72 61 79 28 ss);.}..return.$output.?:.array(
1559c0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 6f 69 6e 28 );.}.......public.function.join(
1559e0 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 66 69 ).{.return.implode('.',.array_fi
155a00 6c 74 65 72 28 0a 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 62 69 74 29 20 lter(.array_map(function.($bit).
155a20 7b 0a 72 65 74 75 72 6e 20 24 62 69 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 {.return.$bit.instanceof.Command
155a40 20 3f 20 24 62 69 74 2d 3e 6a 6f 69 6e 28 29 20 3a 20 28 24 62 69 74 20 3f 3a 20 6e 75 6c 6c 29 .?.$bit->join().:.($bit.?:.null)
155a60 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 62 69 74 73 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 62 69 ;.},.$this->bits),.function.($bi
155a80 74 29 20 7b 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 62 69 74 3b 20 7d 0a 29 29 3b t).{.return.null.!==.$bit;.}.));
155aa0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 .}..........public.function.addA
155ac0 74 49 6e 64 65 78 28 24 62 69 74 2c 20 24 69 6e 64 65 78 29 0a 7b 0a 61 72 72 61 79 5f 73 70 6c tIndex($bit,.$index).{.array_spl
155ae0 69 63 65 28 24 74 68 69 73 2d 3e 62 69 74 73 2c 20 24 69 6e 64 65 78 2c 20 30 2c 20 24 62 69 74 ice($this->bits,.$index,.0,.$bit
155b00 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 20 3f 20 61 72 72 61 79 28 24 62 69 74 29 20 3a .instanceof.self.?.array($bit).:
155b20 20 24 62 69 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 .$bit);..return.$this;.}.}.<?php
155b40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
155b60 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 ponent\Finder\Shell;..@trigger_e
155b80 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 53 68 65 6c rror('The.'.__NAMESPACE__.'\Shel
155ba0 6c 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 l.class.is.deprecated.since.Symf
155bc0 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 ony.2.8.and.will.be.removed.in.3
155be0 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a .0.',.E_USER_DEPRECATED);.......
155c00 63 6c 61 73 73 20 53 68 65 6c 6c 0a 7b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 55 4e 49 58 20 3d 20 class.Shell.{.const.TYPE_UNIX.=.
155c20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 44 41 52 57 49 4e 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 1;.const.TYPE_DARWIN.=.2;.const.
155c40 54 59 50 45 5f 43 59 47 57 49 4e 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 57 49 4e 44 TYPE_CYGWIN.=.3;.const.TYPE_WIND
155c60 4f 57 53 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 42 53 44 20 3d 20 35 3b 0a 0a 0a 0a OWS.=.4;.const.TYPE_BSD.=.5;....
155c80 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .private.$type;.......public.fun
155ca0 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 ction.getType().{.if.(null.===.$
155cc0 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 68 69 this->type).{.$this->type.=.$thi
155ce0 73 2d 3e 67 75 65 73 73 54 79 70 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d s->guessType();.}..return.$this-
155d00 3e 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e >type;.}.........public.function
155d20 20 74 65 73 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 69 66 20 28 21 66 75 .testCommand($command).{.if.(!fu
155d40 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 65 78 65 63 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 nction_exists('exec')).{.return.
155d60 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 74 65 73 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 77 68 69 63 false;.}....$testCommand.=.'whic
155d80 68 20 27 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 50 45 5f 57 49 4e 44 4f 57 53 20 3d 3d 3d 20 h.';.if.(self::TYPE_WINDOWS.===.
155da0 24 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a 24 74 65 73 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 77 $this->type).{.$testCommand.=.'w
155dc0 68 65 72 65 20 27 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 65 73 63 61 70 65 73 68 65 6c here.';.}..$command.=.escapeshel
155de0 6c 63 6d 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 65 78 65 63 28 24 74 65 73 74 43 6f 6d 6d 61 lcmd($command);..exec($testComma
155e00 6e 64 2e 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f 64 65 29 3b 0a 0a 72 nd.$command,.$output,.$code);..r
155e20 65 74 75 72 6e 20 30 20 3d 3d 3d 20 24 63 6f 64 65 20 26 26 20 63 6f 75 6e 74 28 24 6f 75 74 70 eturn.0.===.$code.&&.count($outp
155e40 75 74 29 20 3e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ut).>.0;.}.......private.functio
155e60 6e 20 67 75 65 73 73 54 79 70 65 28 29 0a 7b 0a 24 6f 73 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 n.guessType().{.$os.=.strtolower
155e80 28 50 48 50 5f 4f 53 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 (PHP_OS);..if.(false.!==.strpos(
155ea0 24 6f 73 2c 20 27 63 79 67 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 $os,.'cygwin')).{.return.self::T
155ec0 59 50 45 5f 43 59 47 57 49 4e 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 YPE_CYGWIN;.}..if.(false.!==.str
155ee0 70 6f 73 28 24 6f 73 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c pos($os,.'darwin')).{.return.sel
155f00 66 3a 3a 54 59 50 45 5f 44 41 52 57 49 4e 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d f::TYPE_DARWIN;.}..if.(false.!==
155f20 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 62 73 64 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 .strpos($os,.'bsd')).{.return.se
155f40 6c 66 3a 3a 54 59 50 45 5f 42 53 44 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f lf::TYPE_BSD;.}..if.(0.===.strpo
155f60 73 28 24 6f 73 2c 20 27 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 s($os,.'win')).{.return.self::TY
155f80 50 45 5f 57 49 4e 44 4f 57 53 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 PE_WINDOWS;.}..return.self::TYPE
155fa0 5f 55 4e 49 58 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 _UNIX;.}.}.<?php...........names
155fc0 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a pace.Symfony\Component\Finder;..
155fe0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 70 6c 46 69 6c 65 49 6e 66 6f 20 65 78 74 65 6e 64 73 20 5c .....class.SplFileInfo.extends.\
156000 53 70 6c 46 69 6c 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 61 74 69 76 65 50 SplFileInfo.{.private.$relativeP
156020 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a ath;.private.$relativePathname;.
156040 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
156060 74 28 24 66 69 6c 65 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 72 65 6c 61 74 69 76 t($file,.$relativePath,.$relativ
156080 65 50 61 74 68 6e 61 6d 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 ePathname).{.parent::__construct
1560a0 28 24 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 24 ($file);.$this->relativePath.=.$
1560c0 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 relativePath;.$this->relativePat
1560e0 68 6e 61 6d 65 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a hname.=.$relativePathname;.}....
156100 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 61 74 69 76 65 .....public.function.getRelative
156120 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 Path().{.return.$this->relativeP
156140 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ath;.}.........public.function.g
156160 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 etRelativePathname().{.return.$t
156180 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a his->relativePathname;.}........
1561a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 0a 7b .public.function.getContents().{
1561c0 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 .set_error_handler(function.($ty
1561e0 70 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 29 20 7b 20 24 65 72 72 6f 72 pe,.$msg).use.(&$error).{.$error
156200 20 3d 20 24 6d 73 67 3b 20 7d 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 .=.$msg;.});.$content.=.file_get
156220 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b _contents($this->getPathname());
156240 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 66 61 .restore_error_handler();.if.(fa
156260 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 lse.===.$content).{.throw.new.\R
156280 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 72 65 74 75 untimeException($error);.}..retu
1562a0 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$content;.}.}.<?php..........
1562c0 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 43 74 79 70 .namespace.Symfony\Polyfill\Ctyp
1562e0 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 43 74 79 70 65 0a 7b 0a 0a e;.........final.class.Ctype.{..
156300 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ........public.static.function.c
156320 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 type_alnum($text).{.$text.=.self
156340 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 ::convert_int_to_char_for_ctype(
156360 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 $text);..return.\is_string($text
156380 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 ).&&.''.!==.$text.&&.!preg_match
1563a0 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a ('/[^A-Za-z0-9]/',.$text);.}....
1563c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 .......public.static.function.ct
1563e0 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a ype_alpha($text).{.$text.=.self:
156400 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 :convert_int_to_char_for_ctype($
156420 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 text);..return.\is_string($text)
156440 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 .&&.''.!==.$text.&&.!preg_match(
156460 27 2f 5b 5e 41 2d 5a 61 2d 7a 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a '/[^A-Za-z]/',.$text);.}........
156480 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f ...public.static.function.ctype_
1564a0 63 6e 74 72 6c 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e cntrl($text).{.$text.=.self::con
1564c0 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 vert_int_to_char_for_ctype($text
1564e0 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 );..return.\is_string($text).&&.
156500 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e ''.!==.$text.&&.!preg_match('/[^
156520 5c 78 30 30 2d 5c 78 31 66 5c 78 37 66 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a \x00-\x1f\x7f]/',.$text);.}.....
156540 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 ......public.static.function.cty
156560 70 65 5f 64 69 67 69 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a pe_digit($text).{.$text.=.self::
156580 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 convert_int_to_char_for_ctype($t
1565a0 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 ext);..return.\is_string($text).
1565c0 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 &&.''.!==.$text.&&.!preg_match('
1565e0 2f 5b 5e 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 /[^0-9]/',.$text);.}...........p
156600 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 67 72 61 70 ublic.static.function.ctype_grap
156620 68 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 h($text).{.$text.=.self::convert
156640 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a _int_to_char_for_ctype($text);..
156660 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 return.\is_string($text).&&.''.!
156680 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 21 2d 7e 5d ==.$text.&&.!preg_match('/[^!-~]
1566a0 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 /',.$text);.}...........public.s
1566c0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 74 65 78 74 tatic.function.ctype_lower($text
1566e0 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f ).{.$text.=.self::convert_int_to
156700 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 _char_for_ctype($text);..return.
156720 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 \is_string($text).&&.''.!==.$tex
156740 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 61 2d 7a 5d 2f 27 2c 20 24 74 65 t.&&.!preg_match('/[^a-z]/',.$te
156760 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 xt);.}...........public.static.f
156780 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 72 69 6e 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 unction.ctype_print($text).{.$te
1567a0 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 xt.=.self::convert_int_to_char_f
1567c0 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 or_ctype($text);..return.\is_str
1567e0 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 ing($text).&&.''.!==.$text.&&.!p
156800 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 20 2d 7e 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a reg_match('/[^.-~]/',.$text);.}.
156820 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ..........public.static.function
156840 20 63 74 79 70 65 5f 70 75 6e 63 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 .ctype_punct($text).{.$text.=.se
156860 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 lf::convert_int_to_char_for_ctyp
156880 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 e($text);..return.\is_string($te
1568a0 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 xt).&&.''.!==.$text.&&.!preg_mat
1568c0 63 68 28 27 2f 5b 5e 21 2d 5c 2f 5c 3a 2d 40 5c 5b 2d 60 5c 7b 2d 7e 5d 2f 27 2c 20 24 74 65 78 ch('/[^!-\/\:-@\[-`\{-~]/',.$tex
1568e0 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 t);.}...........public.static.fu
156900 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 nction.ctype_space($text).{.$tex
156920 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f t.=.self::convert_int_to_char_fo
156940 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 r_ctype($text);..return.\is_stri
156960 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 ng($text).&&.''.!==.$text.&&.!pr
156980 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 5c 73 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a eg_match('/[^\s]/',.$text);.}...
1569a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ........public.static.function.c
1569c0 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 type_upper($text).{.$text.=.self
1569e0 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 ::convert_int_to_char_for_ctype(
156a00 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 $text);..return.\is_string($text
156a20 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 ).&&.''.!==.$text.&&.!preg_match
156a40 28 27 2f 5b 5e 41 2d 5a 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ('/[^A-Z]/',.$text);.}..........
156a60 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 78 64 .public.static.function.ctype_xd
156a80 69 67 69 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 igit($text).{.$text.=.self::conv
156aa0 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 ert_int_to_char_for_ctype($text)
156ac0 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 ;..return.\is_string($text).&&.'
156ae0 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 '.!==.$text.&&.!preg_match('/[^A
156b00 2d 46 61 2d 66 30 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a -Fa-f0-9]/',.$text);.}..........
156b20 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 ....private.static.function.conv
156b40 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 69 6e 74 29 0a ert_int_to_char_for_ctype($int).
156b60 7b 0a 69 66 20 28 21 5c 69 73 5f 69 6e 74 28 24 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 {.if.(!\is_int($int)).{.return.$
156b80 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 74 20 3c 20 2d 31 32 38 20 7c 7c 20 24 69 6e 74 20 int;.}..if.($int.<.-128.||.$int.
156ba0 3e 20 32 35 35 29 20 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 24 69 6e 74 3b 0a 7d >.255).{.return.(string).$int;.}
156bc0 0a 0a 69 66 20 28 24 69 6e 74 20 3c 20 30 29 20 7b 0a 24 69 6e 74 20 2b 3d 20 32 35 36 3b 0a 7d ..if.($int.<.0).{.$int.+=.256;.}
156be0 0a 0a 72 65 74 75 72 6e 20 5c 63 68 72 28 24 69 6e 74 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 ..return.\chr($int);.}.}.Copyrig
156c00 68 74 20 28 63 29 20 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 ht.(c).2018.Fabien.Potencier..Pe
156c20 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 rmission.is.hereby.granted,.free
156c40 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e .of.charge,.to.any.person.obtain
156c60 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 ing.a.copy.of.this.software.and.
156c80 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 associated.documentation.files.(
156ca0 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 the."Software"),.to.deal.in.the.
156cc0 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e Software.without.restriction,.in
156ce0 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 cluding.without.limitation.the.r
156d00 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 ights.to.use,.copy,.modify,.merg
156d20 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e e,.publish,.distribute,.sublicen
156d40 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f se,.and/or.sell.copies.of.the.So
156d60 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f ftware,.and.to.permit.persons.to
156d80 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a .whom.the.Software.is.furnished.
156da0 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 to.do.so,.subject.to.the.followi
156dc0 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 ng.conditions:..The.above.copyri
156de0 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e ght.notice.and.this.permission.n
156e00 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 otice.shall.be.included.in.all.c
156e20 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 opies.or.substantial.portions.of
156e40 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 .the.Software...THE.SOFTWARE.IS.
156e60 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e PROVIDED."AS.IS",.WITHOUT.WARRAN
156e80 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 TY.OF.ANY.KIND,.EXPRESS.OR.IMPLI
156ea0 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f ED,.INCLUDING.BUT.NOT.LIMITED.TO
156ec0 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 .THE.WARRANTIES.OF.MERCHANTABILI
156ee0 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 TY,.FITNESS.FOR.A.PARTICULAR.PUR
156f00 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 POSE.AND.NONINFRINGEMENT..IN.NO.
156f20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 EVENT.SHALL.THE.AUTHORS.OR.COPYR
156f40 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 IGHT.HOLDERS.BE.LIABLE.FOR.ANY.C
156f60 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 LAIM,.DAMAGES.OR.OTHER.LIABILITY
156f80 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 ,.WHETHER.IN.AN.ACTION.OF.CONTRA
156fa0 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 CT,.TORT.OR.OTHERWISE,.ARISING.F
156fc0 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 ROM,.OUT.OF.OR.IN.CONNECTION.WIT
156fe0 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 H.THE.SOFTWARE.OR.THE.USE.OR.OTH
157000 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 ER.DEALINGS.IN.THE.SOFTWARE..<?p
157020 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c hp...........use.Symfony\Polyfil
157040 6c 5c 43 74 79 70 65 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 l\Ctype.as.p;..if.(!function_exi
157060 73 74 73 28 27 63 74 79 70 65 5f 61 6c 6e 75 6d 27 29 29 20 7b 0a 66 75 6e 63 74 69 6f 6e 20 63 sts('ctype_alnum')).{.function.c
157080 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 type_alnum($text).{.return.p\Cty
1570a0 70 65 3a 3a 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 pe::ctype_alnum($text);.}.functi
1570c0 6f 6e 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 on.ctype_alpha($text).{.return.p
1570e0 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 \Ctype::ctype_alpha($text);.}.fu
157100 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 nction.ctype_cntrl($text).{.retu
157120 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 3b 20 rn.p\Ctype::ctype_cntrl($text);.
157140 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 78 74 29 20 7b 20 }.function.ctype_digit($text).{.
157160 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 78 return.p\Ctype::ctype_digit($tex
157180 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 67 72 61 70 68 28 24 74 65 78 74 t);.}.function.ctype_graph($text
1571a0 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 67 72 61 70 68 28 ).{.return.p\Ctype::ctype_graph(
1571c0 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 $text);.}.function.ctype_lower($
1571e0 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 6c 6f text).{.return.p\Ctype::ctype_lo
157200 77 65 72 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 72 69 wer($text);.}.function.ctype_pri
157220 6e 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 nt($text).{.return.p\Ctype::ctyp
157240 65 5f 70 72 69 6e 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 e_print($text);.}.function.ctype
157260 5f 70 75 6e 63 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a _punct($text).{.return.p\Ctype::
157280 63 74 79 70 65 5f 70 75 6e 63 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 ctype_punct($text);.}.function.c
1572a0 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 type_space($text).{.return.p\Cty
1572c0 70 65 3a 3a 63 74 79 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 pe::ctype_space($text);.}.functi
1572e0 6f 6e 20 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 on.ctype_upper($text).{.return.p
157300 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 \Ctype::ctype_upper($text);.}.fu
157320 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 nction.ctype_xdigit($text).{.ret
157340 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 urn.p\Ctype::ctype_xdigit($text)
157360 3b 20 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 2d 32 30 31 38 20 46 61 ;.}.}.Copyright.(c).2015-2018.Fa
157380 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 bien.Potencier..Permission.is.he
1573a0 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f reby.granted,.free.of.charge,.to
1573c0 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 .any.person.obtaining.a.copy.of.
1573e0 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 this.software.and.associated.doc
157400 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 umentation.files.(the."Software"
157420 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f ),.to.deal.in.the.Software.witho
157440 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 ut.restriction,.including.withou
157460 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 t.limitation.the.rights.to.use,.
157480 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 copy,.modify,.merge,.publish,.di
1574a0 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c stribute,.sublicense,.and/or.sel
1574c0 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f l.copies.of.the.Software,.and.to
1574e0 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 .permit.persons.to.whom.the.Soft
157500 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a ware.is.furnished.to.do.so,.subj
157520 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a ect.to.the.following.conditions:
157540 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 ..The.above.copyright.notice.and
157560 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 .this.permission.notice.shall.be
157580 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 .included.in.all.copies.or.subst
1575a0 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e antial.portions.of.the.Software.
1575c0 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 ..THE.SOFTWARE.IS.PROVIDED."AS.I
1575e0 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 S",.WITHOUT.WARRANTY.OF.ANY.KIND
157600 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 ,.EXPRESS.OR.IMPLIED,.INCLUDING.
157620 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 BUT.NOT.LIMITED.TO.THE.WARRANTIE
157640 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f S.OF.MERCHANTABILITY,.FITNESS.FO
157660 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e R.A.PARTICULAR.PURPOSE.AND.NONIN
157680 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 FRINGEMENT..IN.NO.EVENT.SHALL.TH
1576a0 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 E.AUTHORS.OR.COPYRIGHT.HOLDERS.B
1576c0 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 E.LIABLE.FOR.ANY.CLAIM,.DAMAGES.
1576e0 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 OR.OTHER.LIABILITY,.WHETHER.IN.A
157700 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 N.ACTION.OF.CONTRACT,.TORT.OR.OT
157720 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 HERWISE,.ARISING.FROM,.OUT.OF.OR
157740 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 .IN.CONNECTION.WITH.THE.SOFTWARE
157760 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e .OR.THE.USE.OR.OTHER.DEALINGS.IN
157780 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .THE.SOFTWARE..<?php...........n
1577a0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 4d 62 73 74 72 69 amespace.Symfony\Polyfill\Mbstri
1577c0 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ng;.............................
1577e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 ..........................final.
157800 63 6c 61 73 73 20 4d 62 73 74 72 69 6e 67 0a 7b 0a 63 6f 6e 73 74 20 4d 42 5f 43 41 53 45 5f 46 class.Mbstring.{.const.MB_CASE_F
157820 4f 4c 44 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 OLD.=.PHP_INT_MAX;..private.stat
157840 69 63 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 28 27 41 53 43 49 49 27 ic.$encodingList.=.array('ASCII'
157860 2c 20 27 55 54 46 2d 38 27 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 61 6e 67 ,.'UTF-8');.private.static.$lang
157880 75 61 67 65 20 3d 20 27 6e 65 75 74 72 61 6c 27 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 uage.=.'neutral';.private.static
1578a0 20 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b 0a 70 72 .$internalEncoding.=.'UTF-8';.pr
1578c0 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 46 6f 6c 64 20 3d 20 61 72 72 61 79 28 0a ivate.static.$caseFold.=.array(.
1578e0 61 72 72 61 79 28 27 c2 b5 27 2c 27 c5 bf 27 2c 22 5c 78 43 44 5c 78 38 35 22 2c 27 cf 82 27 2c array('..','..',"\xCD\x85",'..',
157900 22 5c 78 43 46 5c 78 39 30 22 2c 22 5c 78 43 46 5c 78 39 31 22 2c 22 5c 78 43 46 5c 78 39 35 22 "\xCF\x90","\xCF\x91","\xCF\x95"
157920 2c 22 5c 78 43 46 5c 78 39 36 22 2c 22 5c 78 43 46 5c 78 42 30 22 2c 22 5c 78 43 46 5c 78 42 31 ,"\xCF\x96","\xCF\xB0","\xCF\xB1
157940 22 2c 22 5c 78 43 46 5c 78 42 35 22 2c 22 5c 78 45 31 5c 78 42 41 5c 78 39 42 22 2c 22 5c 78 45 ","\xCF\xB5","\xE1\xBA\x9B","\xE
157960 31 5c 78 42 45 5c 78 42 45 22 29 2c 0a 61 72 72 61 79 28 27 ce bc 27 2c 27 73 27 2c 27 ce b9 27 1\xBE\xBE"),.array('..','s','..'
157980 2c 20 27 cf 83 27 2c 27 ce b2 27 2c 20 27 ce b8 27 2c 20 27 cf 86 27 2c 20 27 cf 80 27 2c 20 27 ,.'..','..',.'..',.'..',.'..',.'
1579a0 ce ba 27 2c 20 27 cf 81 27 2c 20 27 ce b5 27 2c 20 22 5c 78 45 31 5c 78 42 39 5c 78 41 31 22 2c ..',.'..',.'..',."\xE1\xB9\xA1",
1579c0 27 ce b9 27 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f '..'),.);..public.static.functio
1579e0 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 45 6e 63 n.mb_convert_encoding($s,.$toEnc
157a00 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 oding,.$fromEncoding.=.null).{.i
157a20 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7c 7c 20 66 f.(\is_array($fromEncoding).||.f
157a40 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 alse.!==.strpos($fromEncoding,.'
157a60 2c 27 29 29 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f ,')).{.$fromEncoding.=.self::mb_
157a80 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e detect_encoding($s,.$fromEncodin
157aa0 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c g);.}.else.{.$fromEncoding.=.sel
157ac0 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d f::getEncoding($fromEncoding);.}
157ae0 0a 0a 24 74 6f 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e ..$toEncoding.=.self::getEncodin
157b00 67 28 24 74 6f 45 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 42 41 53 45 36 34 27 20 3d 3d g($toEncoding);..if.('BASE64'.==
157b20 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 62 61 73 65 36 34 5f 64 =.$fromEncoding).{.$s.=.base64_d
157b40 65 63 6f 64 65 28 24 73 29 3b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 24 74 6f 45 6e ecode($s);.$fromEncoding.=.$toEn
157b60 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 69 66 20 28 27 42 41 53 45 36 34 27 20 3d 3d 3d 20 24 74 6f 45 coding;.}..if.('BASE64'.===.$toE
157b80 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 ncoding).{.return.base64_encode(
157ba0 24 73 29 3b 0a 7d 0a 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 $s);.}..if.('HTML-ENTITIES'.===.
157bc0 24 74 6f 45 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 $toEncoding.||.'HTML'.===.$toEnc
157be0 6f 64 69 6e 67 29 20 7b 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d oding).{.if.('HTML-ENTITIES'.===
157c00 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 3d 3d 3d 20 24 66 72 .$fromEncoding.||.'HTML'.===.$fr
157c20 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 27 57 omEncoding).{.$fromEncoding.=.'W
157c40 69 6e 64 6f 77 73 2d 31 32 35 32 27 3b 0a 7d 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 indows-1252';.}.if.('UTF-8'.!==.
157c60 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 66 72 6f $fromEncoding).{.$s.=.iconv($fro
157c80 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b mEncoding,.'UTF-8//IGNORE',.$s);
157ca0 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b .}..return.preg_replace_callback
157cc0 28 27 2f 5b 5c 78 38 30 2d 5c 78 46 46 5d 2b 2f 27 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 ('/[\x80-\xFF]+/',.array(__CLASS
157ce0 5f 5f 2c 20 27 68 74 6d 6c 5f 65 6e 63 6f 64 69 6e 67 5f 63 61 6c 6c 62 61 63 6b 27 29 2c 20 24 __,.'html_encoding_callback'),.$
157d00 73 29 3b 0a 7d 0a 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 24 s);.}..if.('HTML-ENTITIES'.===.$
157d20 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 68 74 6d 6c 5f 65 6e 74 69 74 79 fromEncoding).{.$s.=.html_entity
157d40 5f 64 65 63 6f 64 65 28 24 73 2c 20 45 4e 54 5f 43 4f 4d 50 41 54 2c 20 27 55 54 46 2d 38 27 29 _decode($s,.ENT_COMPAT,.'UTF-8')
157d60 3b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b 0a 7d 0a 0a 72 65 ;.$fromEncoding.=.'UTF-8';.}..re
157d80 74 75 72 6e 20 69 63 6f 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 24 74 6f 45 6e 63 turn.iconv($fromEncoding,.$toEnc
157da0 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 oding.'//IGNORE',.$s);.}..public
157dc0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 .static.function.mb_convert_vari
157de0 61 62 6c 65 73 28 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 ables($toEncoding,.$fromEncoding
157e00 2c 20 26 24 61 20 3d 20 6e 75 6c 6c 2c 20 26 24 62 20 3d 20 6e 75 6c 6c 2c 20 26 24 63 20 3d 20 ,.&$a.=.null,.&$b.=.null,.&$c.=.
157e20 6e 75 6c 6c 2c 20 26 24 64 20 3d 20 6e 75 6c 6c 2c 20 26 24 65 20 3d 20 6e 75 6c 6c 2c 20 26 24 null,.&$d.=.null,.&$e.=.null,.&$
157e40 66 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 26 24 61 2c 20 26 f.=.null).{.$vars.=.array(&$a,.&
157e60 24 62 2c 20 26 24 63 2c 20 26 24 64 2c 20 26 24 65 2c 20 26 24 66 29 3b 0a 0a 24 6f 6b 20 3d 20 $b,.&$c,.&$d,.&$e,.&$f);..$ok.=.
157e80 74 72 75 65 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 5f 72 65 63 75 72 73 69 76 65 28 24 76 61 72 73 true;.array_walk_recursive($vars
157ea0 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 29 20 75 73 65 20 28 26 24 6f 6b 2c 20 24 74 6f 45 ,.function.(&$v).use.(&$ok,.$toE
157ec0 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 69 66 20 28 66 61 ncoding,.$fromEncoding).{.if.(fa
157ee0 6c 73 65 20 3d 3d 3d 20 24 76 20 3d 20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 lse.===.$v.=.Mbstring::mb_conver
157f00 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f t_encoding($v,.$toEncoding,.$fro
157f20 6d 45 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 29 3b mEncoding)).{.$ok.=.false;.}.});
157f40 0a 0a 72 65 74 75 72 6e 20 24 6f 6b 20 3f 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3a 20 66 ..return.$ok.?.$fromEncoding.:.f
157f60 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 alse;.}..public.static.function.
157f80 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 0a 7b 0a 72 65 74 75 72 mb_decode_mimeheader($s).{.retur
157fa0 6e 20 69 63 6f 6e 76 5f 6d 69 6d 65 5f 64 65 63 6f 64 65 28 24 73 2c 20 32 2c 20 73 65 6c 66 3a n.iconv_mime_decode($s,.2,.self:
157fc0 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 :$internalEncoding);.}..public.s
157fe0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 tatic.function.mb_encode_mimehea
158000 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 66 der($s,.$charset.=.null,.$transf
158020 65 72 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 6c 69 6e 65 66 65 65 64 20 3d 20 6e erEncoding.=.null,.$linefeed.=.n
158040 75 6c 6c 2c 20 24 69 6e 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 74 72 69 67 67 65 72 5f 65 ull,.$indent.=.null).{.trigger_e
158060 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 29 20 69 73 20 rror('mb_encode_mimeheader().is.
158080 62 75 67 67 65 64 2e 20 50 6c 65 61 73 65 20 75 73 65 20 69 63 6f 6e 76 5f 6d 69 6d 65 5f 65 6e bugged..Please.use.iconv_mime_en
1580a0 63 6f 64 65 28 29 20 69 6e 73 74 65 61 64 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 code().instead',.E_USER_WARNING)
1580c0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 ;.}..public.static.function.mb_d
1580e0 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 ecode_numericentity($s,.$convmap
158100 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 ,.$encoding.=.null).{.if.(null.!
158120 3d 3d 20 24 73 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 73 29 20 26 26 20 21 28 5c 69 ==.$s.&&.!\is_scalar($s).&&.!(\i
158140 73 5f 6f 62 6a 65 63 74 28 24 73 29 20 26 26 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 s_object($s).&&.\method_exists($
158160 73 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 s,.'__toString'))).{.trigger_err
158180 6f 72 28 27 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 or('mb_decode_numericentity().ex
1581a0 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 pects.parameter.1.to.be.string,.
1581c0 27 2e 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 '.gettype($s).'.given',.E_USER_W
1581e0 41 52 4e 49 4e 47 29 3b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 ARNING);.return.null;.}..if.(!\i
158200 73 5f 61 72 72 61 79 28 24 63 6f 6e 76 6d 61 70 29 20 7c 7c 20 21 24 63 6f 6e 76 6d 61 70 29 20 s_array($convmap).||.!$convmap).
158220 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 {.return.false;.}..if.(null.!==.
158240 24 65 6e 63 6f 64 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 65 6e 63 6f 64 69 $encoding.&&.!\is_scalar($encodi
158260 6e 67 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 64 65 63 6f 64 65 5f ng)).{.trigger_error('mb_decode_
158280 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 numericentity().expects.paramete
1582a0 72 20 33 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 67 65 74 74 79 70 65 28 24 73 29 2e r.3.to.be.string,.'.gettype($s).
1582c0 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 72 65 74 75 72 '.given',.E_USER_WARNING);.retur
1582e0 6e 20 27 27 3b 20 0a 20 7d 0a 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 n.'';...}..$s.=.(string).$s;.if.
158300 28 27 27 20 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 (''.===.$s).{.return.'';.}..$enc
158320 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 oding.=.self::getEncoding($encod
158340 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 ing);..if.('UTF-8'.===.$encoding
158360 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f ).{.$encoding.=.null;.if.(!preg_
158380 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 match('//u',.$s)).{.$s.=.@iconv(
1583a0 27 55 54 46 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 'UTF-8',.'UTF-8//IGNORE',.$s);.}
1583c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 .}.else.{.$s.=.iconv($encoding,.
1583e0 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 24 63 6e 74 20 3d 20 'UTF-8//IGNORE',.$s);.}..$cnt.=.
158400 66 6c 6f 6f 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 6d 61 70 29 20 2f 20 34 29 20 2a 20 34 3b floor(\count($convmap)./.4).*.4;
158420 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 20 2b 3d 20 ..for.($i.=.0;.$i.<.$cnt;.$i.+=.
158440 34 29 20 7b 0a 0a 20 24 63 6f 6e 76 6d 61 70 5b 24 69 5d 20 2b 3d 20 24 63 6f 6e 76 6d 61 70 5b 4).{...$convmap[$i].+=.$convmap[
158460 24 69 20 2b 20 32 5d 3b 0a 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 31 5d 20 2b 3d 20 24 63 6f $i.+.2];.$convmap[$i.+.1].+=.$co
158480 6e 76 6d 61 70 5b 24 69 20 2b 20 32 5d 3b 0a 7d 0a 0a 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c nvmap[$i.+.2];.}..$s.=.preg_repl
1584a0 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 26 23 28 3f 3a 30 2a 28 5b 30 2d 39 5d 2b 29 7c 78 ace_callback('/&#(?:0*([0-9]+)|x
1584c0 30 2a 28 5b 30 2d 39 61 2d 66 41 2d 46 5d 2b 29 29 28 3f 21 26 29 3b 3f 2f 27 2c 20 66 75 6e 63 0*([0-9a-fA-F]+))(?!&);?/',.func
1584e0 74 69 6f 6e 20 28 61 72 72 61 79 20 24 6d 29 20 75 73 65 20 28 24 63 6e 74 2c 20 24 63 6f 6e 76 tion.(array.$m).use.($cnt,.$conv
158500 6d 61 70 29 20 7b 0a 24 63 20 3d 20 69 73 73 65 74 28 24 6d 5b 32 5d 29 20 3f 20 28 69 6e 74 29 map).{.$c.=.isset($m[2]).?.(int)
158520 20 68 65 78 64 65 63 28 24 6d 5b 32 5d 29 20 3a 20 24 6d 5b 31 5d 3b 0a 66 6f 72 20 28 24 69 20 .hexdec($m[2]).:.$m[1];.for.($i.
158540 3d 20 30 3b 20 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 20 2b 3d 20 34 29 20 7b 0a 69 66 20 28 24 =.0;.$i.<.$cnt;.$i.+=.4).{.if.($
158560 63 20 3e 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 5d 20 26 26 20 24 63 20 3c 3d 20 24 63 6f 6e 76 c.>=.$convmap[$i].&&.$c.<=.$conv
158580 6d 61 70 5b 24 69 20 2b 20 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 4d 62 73 74 72 69 6e 67 3a 3a map[$i.+.1]).{.return.Mbstring::
1585a0 6d 62 5f 63 68 72 28 24 63 20 2d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 32 5d 29 3b 0a 7d mb_chr($c.-.$convmap[$i.+.2]);.}
1585c0 0a 7d 0a 72 65 74 75 72 6e 20 24 6d 5b 30 5d 3b 0a 7d 2c 20 24 73 29 3b 0a 0a 69 66 20 28 6e 75 .}.return.$m[0];.},.$s);..if.(nu
1585e0 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d ll.===.$encoding).{.return.$s;.}
158600 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e ..return.iconv('UTF-8',.$encodin
158620 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 g.'//IGNORE',.$s);.}..public.sta
158640 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e tic.function.mb_encode_numericen
158660 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e tity($s,.$convmap,.$encoding.=.n
158680 75 6c 6c 2c 20 24 69 73 5f 68 65 78 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c ull,.$is_hex.=.false).{.if.(null
1586a0 20 21 3d 3d 20 24 73 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 73 29 20 26 26 20 21 28 .!==.$s.&&.!\is_scalar($s).&&.!(
1586c0 5c 69 73 5f 6f 62 6a 65 63 74 28 24 73 29 20 26 26 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 \is_object($s).&&.\method_exists
1586e0 28 24 73 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 ($s,.'__toString'))).{.trigger_e
158700 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 rror('mb_encode_numericentity().
158720 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 expects.parameter.1.to.be.string
158740 2c 20 27 2e 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 ,.'.gettype($s).'.given',.E_USER
158760 5f 57 41 52 4e 49 4e 47 29 3b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 21 _WARNING);.return.null;.}..if.(!
158780 5c 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 76 6d 61 70 29 20 7c 7c 20 21 24 63 6f 6e 76 6d 61 70 \is_array($convmap).||.!$convmap
1587a0 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d ).{.return.false;.}..if.(null.!=
1587c0 3d 20 24 65 6e 63 6f 64 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 65 6e 63 6f =.$encoding.&&.!\is_scalar($enco
1587e0 64 69 6e 67 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 ding)).{.trigger_error('mb_encod
158800 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 e_numericentity().expects.parame
158820 74 65 72 20 33 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 67 65 74 74 79 70 65 28 24 73 ter.3.to.be.string,.'.gettype($s
158840 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 72 65 74 ).'.given',.E_USER_WARNING);.ret
158860 75 72 6e 20 6e 75 6c 6c 3b 20 0a 20 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 73 5f urn.null;...}..if.(null.!==.$is_
158880 68 65 78 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 69 73 5f 68 65 78 29 29 20 7b 0a 74 hex.&&.!\is_scalar($is_hex)).{.t
1588a0 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 rigger_error('mb_encode_numerice
1588c0 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 34 20 74 6f 20 62 ntity().expects.parameter.4.to.b
1588e0 65 20 62 6f 6f 6c 65 61 6e 2c 20 27 2e 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e e.boolean,.'.gettype($s).'.given
158900 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b ',.E_USER_WARNING);.return.null;
158920 0a 7d 0a 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 3d 3d 3d .}..$s.=.(string).$s;.if.(''.===
158940 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d .$s).{.return.'';.}..$encoding.=
158960 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a .self::getEncoding($encoding);..
158980 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e if.('UTF-8'.===.$encoding).{.$en
1589a0 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 coding.=.null;.if.(!preg_match('
1589c0 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 //u',.$s)).{.$s.=.@iconv('UTF-8'
1589e0 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 6c 73 65 ,.'UTF-8//IGNORE',.$s);.}.}.else
158a00 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f .{.$s.=.iconv($encoding,.'UTF-8/
158a20 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 6e 4d 61 /IGNORE',.$s);.}..static.$ulenMa
158a40 73 6b 20 3d 20 61 72 72 61 79 28 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 22 20 3d sk.=.array("\xC0".=>.2,."\xD0".=
158a60 3e 20 32 2c 20 22 5c 78 45 30 22 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 29 3b 0a >.2,."\xE0".=>.3,."\xF0".=>.4);.
158a80 0a 24 63 6e 74 20 3d 20 66 6c 6f 6f 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 6d 61 70 29 20 2f .$cnt.=.floor(\count($convmap)./
158aa0 20 34 29 20 2a 20 34 3b 0a 24 69 20 3d 20 30 3b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 .4).*.4;.$i.=.0;.$len.=.\strlen(
158ac0 24 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 27 27 3b 0a 0a 77 68 69 6c 65 20 28 24 69 20 3c 20 $s);.$result.=.'';..while.($i.<.
158ae0 24 6c 65 6e 29 20 7b 0a 24 75 6c 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 30 22 20 $len).{.$ulen.=.$s[$i].<."\x80".
158b00 3f 20 31 20 3a 20 24 75 6c 65 6e 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 30 22 5d ?.1.:.$ulenMask[$s[$i].&."\xF0"]
158b20 3b 0a 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 24 75 6c 65 6e 29 3b ;.$uchr.=.substr($s,.$i,.$ulen);
158b40 0a 24 69 20 2b 3d 20 24 75 6c 65 6e 3b 0a 24 63 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 6f 72 64 28 .$i.+=.$ulen;.$c.=.self::mb_ord(
158b60 24 75 63 68 72 29 3b 0a 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 63 6e 74 3b $uchr);..for.($j.=.0;.$j.<.$cnt;
158b80 20 24 6a 20 2b 3d 20 34 29 20 7b 0a 69 66 20 28 24 63 20 3e 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 .$j.+=.4).{.if.($c.>=.$convmap[$
158ba0 6a 5d 20 26 26 20 24 63 20 3c 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 31 5d 29 20 7b 0a j].&&.$c.<=.$convmap[$j.+.1]).{.
158bc0 24 63 4f 66 66 73 65 74 20 3d 20 28 24 63 20 2b 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 32 $cOffset.=.($c.+.$convmap[$j.+.2
158be0 5d 29 20 26 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 33 5d 3b 0a 24 72 65 73 75 6c 74 20 2e ]).&.$convmap[$j.+.3];.$result..
158c00 3d 20 24 69 73 5f 68 65 78 20 3f 20 73 70 72 69 6e 74 66 28 27 26 23 78 25 58 3b 27 2c 20 24 63 =.$is_hex.?.sprintf('&#x%X;',.$c
158c20 4f 66 66 73 65 74 29 20 3a 20 27 26 23 27 2e 24 63 4f 66 66 73 65 74 2e 27 3b 27 3b 0a 63 6f 6e Offset).:.'&#'.$cOffset.';';.con
158c40 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 75 63 68 72 3b 0a 7d tinue.2;.}.}.$result..=.$uchr;.}
158c60 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 ..if.(null.===.$encoding).{.retu
158c80 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 rn.$result;.}..return.iconv('UTF
158ca0 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 72 65 73 75 -8',.$encoding.'//IGNORE',.$resu
158cc0 6c 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d lt);.}..public.static.function.m
158ce0 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e 63 6f 64 b_convert_case($s,.$mode,.$encod
158d00 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a ing.=.null).{.$s.=.(string).$s;.
158d20 69 66 20 28 27 27 20 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 if.(''.===.$s).{.return.'';.}..$
158d40 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e encoding.=.self::getEncoding($en
158d60 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 coding);..if.('UTF-8'.===.$encod
158d80 69 6e 67 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 ing).{.$encoding.=.null;.if.(!pr
158da0 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f eg_match('//u',.$s)).{.$s.=.@ico
158dc0 6e 76 28 27 55 54 46 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 nv('UTF-8',.'UTF-8//IGNORE',.$s)
158de0 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e ;.}.}.else.{.$s.=.iconv($encodin
158e00 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 69 66 20 28 g,.'UTF-8//IGNORE',.$s);.}..if.(
158e20 4d 42 5f 43 41 53 45 5f 54 49 54 4c 45 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 73 20 3d 20 70 MB_CASE_TITLE.==.$mode).{.$s.=.p
158e40 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 5c 62 5c 70 7b 4c 6c 7d 2f reg_replace_callback('/\b\p{Ll}/
158e60 75 27 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 74 69 74 6c 65 5f 63 61 73 65 u',.array(__CLASS__,.'title_case
158e80 5f 75 70 70 65 72 27 29 2c 20 24 73 29 3b 0a 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 _upper'),.$s);.$s.=.preg_replace
158ea0 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 5c 42 5b 5c 70 7b 4c 75 7d 5c 70 7b 4c 74 7d 5d 2b 2f 75 27 _callback('/\B[\p{Lu}\p{Lt}]+/u'
158ec0 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 74 69 74 6c 65 5f 63 61 73 65 5f 6c ,.array(__CLASS__,.'title_case_l
158ee0 6f 77 65 72 27 29 2c 20 24 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 4d 42 5f 43 41 53 ower'),.$s);.}.else.{.if.(MB_CAS
158f00 45 5f 55 50 50 45 52 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 73 74 61 74 69 63 20 24 75 70 70 65 E_UPPER.==.$mode).{.static.$uppe
158f20 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 70 70 65 72 29 20 7b r.=.null;.if.(null.===.$upper).{
158f40 0a 24 75 70 70 65 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 28 27 75 70 70 65 72 43 61 .$upper.=.self::getData('upperCa
158f60 73 65 27 29 3b 0a 7d 0a 24 6d 61 70 20 3d 20 24 75 70 70 65 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a se');.}.$map.=.$upper;.}.else.{.
158f80 69 66 20 28 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 20 3d 3d 3d 20 24 6d 6f 64 65 if.(self::MB_CASE_FOLD.===.$mode
158fa0 29 20 7b 0a 24 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 24 63 61 73 65 ).{.$s.=.str_replace(self::$case
158fc0 46 6f 6c 64 5b 30 5d 2c 20 73 65 6c 66 3a 3a 24 63 61 73 65 46 6f 6c 64 5b 31 5d 2c 20 24 73 29 Fold[0],.self::$caseFold[1],.$s)
158fe0 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 6c 6f 77 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e ;.}..static.$lower.=.null;.if.(n
159000 75 6c 6c 20 3d 3d 3d 20 24 6c 6f 77 65 72 29 20 7b 0a 24 6c 6f 77 65 72 20 3d 20 73 65 6c 66 3a ull.===.$lower).{.$lower.=.self:
159020 3a 67 65 74 44 61 74 61 28 27 6c 6f 77 65 72 43 61 73 65 27 29 3b 0a 7d 0a 24 6d 61 70 20 3d 20 :getData('lowerCase');.}.$map.=.
159040 24 6c 6f 77 65 72 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 6e 4d 61 73 6b 20 3d 20 61 72 $lower;.}..static.$ulenMask.=.ar
159060 72 61 79 28 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 22 20 3d 3e 20 32 2c 20 22 5c ray("\xC0".=>.2,."\xD0".=>.2,."\
159080 78 45 30 22 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 29 3b 0a 0a 24 69 20 3d 20 30 xE0".=>.3,."\xF0".=>.4);..$i.=.0
1590a0 3b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 73 29 3b 0a 0a 77 68 69 6c 65 20 28 24 69 ;.$len.=.\strlen($s);..while.($i
1590c0 20 3c 20 24 6c 65 6e 29 20 7b 0a 24 75 6c 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 .<.$len).{.$ulen.=.$s[$i].<."\x8
1590e0 30 22 20 3f 20 31 20 3a 20 24 75 6c 65 6e 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 0".?.1.:.$ulenMask[$s[$i].&."\xF
159100 30 22 5d 3b 0a 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 24 75 6c 65 0"];.$uchr.=.substr($s,.$i,.$ule
159120 6e 29 3b 0a 24 69 20 2b 3d 20 24 75 6c 65 6e 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 70 n);.$i.+=.$ulen;..if.(isset($map
159140 5b 24 75 63 68 72 5d 29 29 20 7b 0a 24 75 63 68 72 20 3d 20 24 6d 61 70 5b 24 75 63 68 72 5d 3b [$uchr])).{.$uchr.=.$map[$uchr];
159160 0a 24 6e 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 75 63 68 72 29 3b 0a 0a 69 66 20 28 24 6e .$nlen.=.\strlen($uchr);..if.($n
159180 6c 65 6e 20 3d 3d 20 24 75 6c 65 6e 29 20 7b 0a 24 6e 6c 65 6e 20 3d 20 24 69 3b 0a 64 6f 20 7b len.==.$ulen).{.$nlen.=.$i;.do.{
1591a0 0a 24 73 5b 2d 2d 24 6e 6c 65 6e 5d 20 3d 20 24 75 63 68 72 5b 2d 2d 24 75 6c 65 6e 5d 3b 0a 7d .$s[--$nlen].=.$uchr[--$ulen];.}
1591c0 20 77 68 69 6c 65 20 28 24 75 6c 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 73 75 .while.($ulen);.}.else.{.$s.=.su
1591e0 62 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 2c 20 24 75 63 68 72 2c 20 24 69 20 2d 20 24 75 6c bstr_replace($s,.$uchr,.$i.-.$ul
159200 65 6e 2c 20 24 75 6c 65 6e 29 3b 0a 24 6c 65 6e 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 en,.$ulen);.$len.+=.$nlen.-.$ule
159220 6e 3b 0a 24 69 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a n;.$i.+=.$nlen.-.$ulen;.}.}.}.}.
159240 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 .if.(null.===.$encoding).{.retur
159260 6e 20 24 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 24 n.$s;.}..return.iconv('UTF-8',.$
159280 65 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 encoding.'//IGNORE',.$s);.}..pub
1592a0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f lic.static.function.mb_internal_
1592c0 65 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 encoding($encoding.=.null).{.if.
1592e0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 (null.===.$encoding).{.return.se
159300 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 lf::$internalEncoding;.}..$encod
159320 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e ing.=.self::getEncoding($encodin
159340 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c g);..if.('UTF-8'.===.$encoding.|
159360 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 24 65 |.false.!==.@iconv($encoding,.$e
159380 6e 63 6f 64 69 6e 67 2c 20 27 20 27 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c ncoding,.'.')).{.self::$internal
1593a0 45 6e 63 6f 64 69 6e 67 20 3d 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 0a 72 65 74 75 72 6e 20 74 72 Encoding.=.$encoding;..return.tr
1593c0 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 ue;.}..return.false;.}..public.s
1593e0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 tatic.function.mb_language($lang
159400 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 61 6e 67 29 20 7b .=.null).{.if.(null.===.$lang).{
159420 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 65 3b 0a 7d 0a 0a 73 77 69 74 .return.self::$language;.}..swit
159440 63 68 20 28 24 6c 61 6e 67 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6c 61 6e 67 29 29 20 7b ch.($lang.=.strtolower($lang)).{
159460 0a 63 61 73 65 20 27 75 6e 69 27 3a 0a 63 61 73 65 20 27 6e 65 75 74 72 61 6c 27 3a 0a 73 65 6c .case.'uni':.case.'neutral':.sel
159480 66 3a 3a 24 6c 61 6e 67 75 61 67 65 20 3d 20 24 6c 61 6e 67 3b 0a 0a 72 65 74 75 72 6e 20 74 72 f::$language.=.$lang;..return.tr
1594a0 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 ue;.}..return.false;.}..public.s
1594c0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 tatic.function.mb_list_encodings
1594e0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 ().{.return.array('UTF-8');.}..p
159500 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e ublic.static.function.mb_encodin
159520 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 73 77 69 74 63 68 20 28 73 g_aliases($encoding).{.switch.(s
159540 74 72 74 6f 75 70 70 65 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 63 61 73 65 20 27 55 54 trtoupper($encoding)).{.case.'UT
159560 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 F8':.case.'UTF-8':.return.array(
159580 27 75 74 66 38 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 'utf8');.}..return.false;.}..pub
1595a0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 lic.static.function.mb_check_enc
1595c0 6f 64 69 6e 67 28 24 76 61 72 20 3d 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e oding($var.=.null,.$encoding.=.n
1595e0 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b ull).{.if.(null.===.$encoding).{
159600 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c .if.(null.===.$var).{.return.fal
159620 73 65 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 se;.}.$encoding.=.self::$interna
159640 6c 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 64 65 lEncoding;.}..return.self::mb_de
159660 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c 20 61 72 72 61 79 28 24 65 6e 63 6f 64 tect_encoding($var,.array($encod
159680 69 6e 67 29 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e 63 6f 64 ing)).||.false.!==.@iconv($encod
1596a0 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 24 76 61 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 ing,.$encoding,.$var);.}..public
1596c0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 .static.function.mb_detect_encod
1596e0 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 ing($str,.$encodingList.=.null,.
159700 24 73 74 72 69 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 $strict.=.false).{.if.(null.===.
159720 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d $encodingList).{.$encodingList.=
159740 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 .self::$encodingList;.}.else.{.i
159760 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 20 7b 0a f.(!\is_array($encodingList)).{.
159780 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 $encodingList.=.array_map('trim'
1597a0 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 3b 0a ,.explode(',',.$encodingList));.
1597c0 7d 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 }.$encodingList.=.array_map('str
1597e0 74 6f 75 70 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 3b 0a 7d 0a 0a 66 6f 72 toupper',.$encodingList);.}..for
159800 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 61 73 20 24 65 6e 63 29 20 7b 0a 73 each.($encodingList.as.$enc).{.s
159820 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 63 61 73 65 20 27 41 53 43 49 49 27 3a 0a 69 66 20 witch.($enc).{.case.'ASCII':.if.
159840 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5c 78 38 30 2d 5c 78 46 46 5d 2f 27 2c 20 24 73 (!preg_match('/[\x80-\xFF]/',.$s
159860 74 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 tr)).{.return.$enc;.}.break;..ca
159880 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 69 66 20 28 70 72 65 se.'UTF8':.case.'UTF-8':.if.(pre
1598a0 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 74 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 g_match('//u',.$str)).{.return.'
1598c0 55 54 46 2d 38 27 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 30 UTF-8';.}.break;..default:.if.(0
1598e0 20 3d 3d 3d 20 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 .===.strncmp($enc,.'ISO-8859-',.
159900 39 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 9)).{.return.$enc;.}.}.}..return
159920 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .false;.}..public.static.functio
159940 6e 20 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 n.mb_detect_order($encodingList.
159960 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 =.null).{.if.(null.===.$encoding
159980 4c 69 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 List).{.return.self::$encodingLi
1599a0 73 74 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 4c st;.}..if.(!\is_array($encodingL
1599c0 69 73 74 29 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 ist)).{.$encodingList.=.array_ma
1599e0 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 6e 67 p('trim',.explode(',',.$encoding
159a00 4c 69 73 74 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f List));.}.$encodingList.=.array_
159a20 6d 61 70 28 27 73 74 72 74 6f 75 70 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 map('strtoupper',.$encodingList)
159a40 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 61 73 20 24 65 6e ;..foreach.($encodingList.as.$en
159a60 63 29 20 7b 0a 73 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 64 65 66 61 75 6c 74 3a 0a 69 66 c).{.switch.($enc).{.default:.if
159a80 20 28 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 .(strncmp($enc,.'ISO-8859-',.9))
159aa0 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 63 61 73 65 20 27 41 53 43 49 49 27 3a .{.return.false;.}.case.'ASCII':
159ac0 0a 63 61 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 7d 0a 7d 0a .case.'UTF8':.case.'UTF-8':.}.}.
159ae0 0a 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 24 65 6e 63 6f 64 69 6e 67 .self::$encodingList.=.$encoding
159b00 4c 69 73 74 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 List;..return.true;.}..public.st
159b20 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 atic.function.mb_strlen($s,.$enc
159b40 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 oding.=.null).{.$encoding.=.self
159b60 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 ::getEncoding($encoding);.if.('C
159b80 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d P850'.===.$encoding.||.'ASCII'.=
159ba0 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 5c 73 74 72 6c 65 6e 28 24 ==.$encoding).{.return.\strlen($
159bc0 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 40 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 s);.}..return.@iconv_strlen($s,.
159be0 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e $encoding);.}..public.static.fun
159c00 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 ction.mb_strpos($haystack,.$need
159c20 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c le,.$offset.=.0,.$encoding.=.nul
159c40 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 l).{.$encoding.=.self::getEncodi
159c60 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 ng($encoding);.if.('CP850'.===.$
159c80 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e encoding.||.'ASCII'.===.$encodin
159ca0 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e g).{.return.strpos($haystack,.$n
159cc0 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 0a 24 6e 65 65 64 6c 65 20 3d 20 28 73 eedle,.$offset);.}..$needle.=.(s
159ce0 74 72 69 6e 67 29 20 24 6e 65 65 64 6c 65 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 6e 65 65 64 tring).$needle;.if.(''.===.$need
159d00 6c 65 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 le).{.trigger_error(__METHOD__.'
159d20 3a 20 45 6d 70 74 79 20 64 65 6c 69 6d 69 74 65 72 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 :.Empty.delimiter',.E_USER_WARNI
159d40 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 NG);..return.false;.}..return.ic
159d60 6f 6e 76 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 onv_strpos($haystack,.$needle,.$
159d80 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 offset,.$encoding);.}..public.st
159da0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 atic.function.mb_strrpos($haysta
159dc0 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 ck,.$needle,.$offset.=.0,.$encod
159de0 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a ing.=.null).{.$encoding.=.self::
159e00 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 getEncoding($encoding);.if.('CP8
159e20 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 50'.===.$encoding.||.'ASCII'.===
159e40 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 72 70 6f 73 28 24 68 61 .$encoding).{.return.strrpos($ha
159e60 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 0a 69 66 ystack,.$needle,.$offset);.}..if
159e80 20 28 24 6f 66 66 73 65 74 20 21 3d 20 28 69 6e 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 24 6f .($offset.!=.(int).$offset).{.$o
159ea0 66 66 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 66 66 73 65 74 20 3d 20 28 ffset.=.0;.}.elseif.($offset.=.(
159ec0 69 6e 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 69 66 20 28 24 6f 66 66 73 65 74 20 3c 20 30 29 int).$offset).{.if.($offset.<.0)
159ee0 20 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 .{.$haystack.=.self::mb_substr($
159f00 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 haystack,.0,.$offset,.$encoding)
159f20 3b 0a 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 79 73 74 61 63 ;.$offset.=.0;.}.else.{.$haystac
159f40 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 k.=.self::mb_substr($haystack,.$
159f60 6f 66 66 73 65 74 2c 20 32 31 34 37 34 38 33 36 34 37 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a offset,.2147483647,.$encoding);.
159f80 7d 0a 7d 0a 0a 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 }.}..$pos.=.iconv_strrpos($hayst
159fa0 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 ack,.$needle,.$encoding);..retur
159fc0 6e 20 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3f 20 24 6f 66 66 73 65 74 20 2b 20 24 70 6f n.false.!==.$pos.?.$offset.+.$po
159fe0 73 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 s.:.false;.}..public.static.func
15a000 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 tion.mb_strtolower($s,.$encoding
15a020 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 .=.null).{.return.self::mb_conve
15a040 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 2c 20 24 65 6e 63 6f rt_case($s,.MB_CASE_LOWER,.$enco
15a060 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ding);.}..public.static.function
15a080 20 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e .mb_strtoupper($s,.$encoding.=.n
15a0a0 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 ull).{.return.self::mb_convert_c
15a0c0 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 2c 20 24 65 6e 63 6f 64 69 6e 67 ase($s,.MB_CASE_UPPER,.$encoding
15a0e0 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f );.}..public.static.function.mb_
15a100 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 28 24 63 20 3d 20 6e 75 6c 6c 29 0a substitute_character($c.=.null).
15a120 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 63 6d 70 28 24 63 2c 20 27 6e 6f 6e 65 {.if.(0.===.strcasecmp($c,.'none
15a140 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c ')).{.return.true;.}..return.nul
15a160 6c 20 21 3d 3d 20 24 63 20 3f 20 66 61 6c 73 65 20 3a 20 27 6e 6f 6e 65 27 3b 0a 7d 0a 0a 70 75 l.!==.$c.?.false.:.'none';.}..pu
15a180 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 28 24 blic.static.function.mb_substr($
15a1a0 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f s,.$start,.$length.=.null,.$enco
15a1c0 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a ding.=.null).{.$encoding.=.self:
15a1e0 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 :getEncoding($encoding);.if.('CP
15a200 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 850'.===.$encoding.||.'ASCII'.==
15a220 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 73 2c =.$encoding).{.return.substr($s,
15a240 20 24 73 74 61 72 74 2c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 6e 67 74 68 20 3f 20 32 31 34 37 .$start,.null.===.$length.?.2147
15a260 34 38 33 36 34 37 20 3a 20 24 6c 65 6e 67 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 73 74 61 72 74 483647.:.$length);.}..if.($start
15a280 20 3c 20 30 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 .<.0).{.$start.=.iconv_strlen($s
15a2a0 2c 20 24 65 6e 63 6f 64 69 6e 67 29 20 2b 20 24 73 74 61 72 74 3b 0a 69 66 20 28 24 73 74 61 72 ,.$encoding).+.$start;.if.($star
15a2c0 74 20 3c 20 30 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 30 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 t.<.0).{.$start.=.0;.}.}..if.(nu
15a2e0 6c 6c 20 3d 3d 3d 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 ll.===.$length).{.$length.=.2147
15a300 34 38 33 36 34 37 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 6e 67 74 68 20 3c 20 30 29 20 7b 483647;.}.elseif.($length.<.0).{
15a320 0a 24 6c 65 6e 67 74 68 20 3d 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 .$length.=.iconv_strlen($s,.$enc
15a340 6f 64 69 6e 67 29 20 2b 20 24 6c 65 6e 67 74 68 20 2d 20 24 73 74 61 72 74 3b 0a 69 66 20 28 24 oding).+.$length.-.$start;.if.($
15a360 6c 65 6e 67 74 68 20 3c 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 7d 0a 0a 72 65 length.<.0).{.return.'';.}.}..re
15a380 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 69 63 6f 6e 76 5f 73 75 62 73 74 72 28 24 73 2c 20 24 turn.(string).iconv_substr($s,.$
15a3a0 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 start,.$length,.$encoding);.}..p
15a3c0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 70 6f 73 ublic.static.function.mb_stripos
15a3e0 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 ($haystack,.$needle,.$offset.=.0
15a400 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 68 61 79 73 74 61 63 6b 20 ,.$encoding.=.null).{.$haystack.
15a420 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 68 61 79 73 74 61 63 =.self::mb_convert_case($haystac
15a440 6b 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 k,.self::MB_CASE_FOLD,.$encoding
15a460 29 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 );.$needle.=.self::mb_convert_ca
15a480 73 65 28 24 6e 65 65 64 6c 65 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 se($needle,.self::MB_CASE_FOLD,.
15a4a0 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 $encoding);..return.self::mb_str
15a4c0 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c pos($haystack,.$needle,.$offset,
15a4e0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 .$encoding);.}..public.static.fu
15a500 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 nction.mb_stristr($haystack,.$ne
15a520 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d edle,.$part.=.false,.$encoding.=
15a540 20 6e 75 6c 6c 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 69 70 6f 73 .null).{.$pos.=.self::mb_stripos
15a560 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 30 2c 20 24 65 6e 63 6f 64 69 6e ($haystack,.$needle,.0,.$encodin
15a580 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 28 24 70 6f g);..return.self::getSubpart($po
15a5a0 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b s,.$part,.$haystack,.$encoding);
15a5c0 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 .}..public.static.function.mb_st
15a5e0 72 72 63 68 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 rrchr($haystack,.$needle,.$part.
15a600 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e =.false,.$encoding.=.null).{.$en
15a620 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f coding.=.self::getEncoding($enco
15a640 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 ding);.if.('CP850'.===.$encoding
15a660 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 .||.'ASCII'.===.$encoding).{.ret
15a680 75 72 6e 20 73 74 72 72 63 68 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 urn.strrchr($haystack,.$needle,.
15a6a0 24 70 61 72 74 29 3b 0a 7d 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 $part);.}.$needle.=.self::mb_sub
15a6c0 73 74 72 28 24 6e 65 65 64 6c 65 2c 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 str($needle,.0,.1,.$encoding);.$
15a6e0 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 pos.=.iconv_strrpos($haystack,.$
15a700 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 needle,.$encoding);..return.self
15a720 3a 3a 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 ::getSubpart($pos,.$part,.$hayst
15a740 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 ack,.$encoding);.}..public.stati
15a760 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 68 72 28 24 68 61 79 73 74 61 63 6b c.function.mb_strrichr($haystack
15a780 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 ,.$needle,.$part.=.false,.$encod
15a7a0 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 ing.=.null).{.$needle.=.self::mb
15a7c0 5f 73 75 62 73 74 72 28 24 6e 65 65 64 6c 65 2c 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 _substr($needle,.0,.1,.$encoding
15a7e0 29 3b 0a 24 70 6f 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 68 61 79 );.$pos.=.self::mb_strripos($hay
15a800 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 stack,.$needle,.$encoding);..ret
15a820 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 urn.self::getSubpart($pos,.$part
15a840 2c 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c ,.$haystack,.$encoding);.}..publ
15a860 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 ic.static.function.mb_strripos($
15a880 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 haystack,.$needle,.$offset.=.0,.
15a8a0 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 $encoding.=.null).{.$haystack.=.
15a8c0 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 68 61 79 73 74 61 63 6b 2c self::mb_convert_case($haystack,
15a8e0 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b .self::MB_CASE_FOLD,.$encoding);
15a900 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 .$needle.=.self::mb_convert_case
15a920 28 24 6e 65 65 64 6c 65 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 ($needle,.self::MB_CASE_FOLD,.$e
15a940 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 72 70 ncoding);..return.self::mb_strrp
15a960 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 os($haystack,.$needle,.$offset,.
15a980 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e $encoding);.}..public.static.fun
15a9a0 63 74 69 6f 6e 20 6d 62 5f 73 74 72 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 ction.mb_strstr($haystack,.$need
15a9c0 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e le,.$part.=.false,.$encoding.=.n
15a9e0 75 6c 6c 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 ull).{.$pos.=.strpos($haystack,.
15aa00 24 6e 65 65 64 6c 65 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a $needle);.if.(false.===.$pos).{.
15aa20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 70 61 72 74 29 20 7b 0a 72 65 74 return.false;.}.if.($part).{.ret
15aa40 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 70 6f 73 29 3b 0a urn.substr($haystack,.0,.$pos);.
15aa60 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 70 6f 73 }..return.substr($haystack,.$pos
15aa80 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f );.}..public.static.function.mb_
15aaa0 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 20 3d 20 27 61 6c 6c 27 29 0a 7b 0a 24 69 6e 66 6f 20 get_info($type.=.'all').{.$info.
15aac0 3d 20 61 72 72 61 79 28 0a 27 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 =.array(.'internal_encoding'.=>.
15aae0 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 2c 0a 27 68 74 74 70 5f 6f self::$internalEncoding,.'http_o
15ab00 75 74 70 75 74 27 20 3d 3e 20 27 70 61 73 73 27 2c 0a 27 68 74 74 70 5f 6f 75 74 70 75 74 5f 63 utput'.=>.'pass',.'http_output_c
15ab20 6f 6e 76 5f 6d 69 6d 65 74 79 70 65 73 27 20 3d 3e 20 27 5e 28 74 65 78 74 2f 7c 61 70 70 6c 69 onv_mimetypes'.=>.'^(text/|appli
15ab40 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 5c 2b 78 6d 6c 29 27 2c 0a 27 66 75 6e 63 5f 6f 76 65 72 6c cation/xhtml\+xml)',.'func_overl
15ab60 6f 61 64 27 20 3d 3e 20 30 2c 0a 27 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 5f 6c 69 73 74 27 20 oad'.=>.0,.'func_overload_list'.
15ab80 3d 3e 20 27 6e 6f 20 6f 76 65 72 6c 6f 61 64 27 2c 0a 27 6d 61 69 6c 5f 63 68 61 72 73 65 74 27 =>.'no.overload',.'mail_charset'
15aba0 20 3d 3e 20 27 55 54 46 2d 38 27 2c 0a 27 6d 61 69 6c 5f 68 65 61 64 65 72 5f 65 6e 63 6f 64 69 .=>.'UTF-8',.'mail_header_encodi
15abc0 6e 67 27 20 3d 3e 20 27 42 41 53 45 36 34 27 2c 0a 27 6d 61 69 6c 5f 62 6f 64 79 5f 65 6e 63 6f ng'.=>.'BASE64',.'mail_body_enco
15abe0 64 69 6e 67 27 20 3d 3e 20 27 42 41 53 45 36 34 27 2c 0a 27 69 6c 6c 65 67 61 6c 5f 63 68 61 72 ding'.=>.'BASE64',.'illegal_char
15ac00 73 27 20 3d 3e 20 30 2c 0a 27 65 6e 63 6f 64 69 6e 67 5f 74 72 61 6e 73 6c 61 74 69 6f 6e 27 20 s'.=>.0,.'encoding_translation'.
15ac20 3d 3e 20 27 4f 66 66 27 2c 0a 27 6c 61 6e 67 75 61 67 65 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 6c =>.'Off',.'language'.=>.self::$l
15ac40 61 6e 67 75 61 67 65 2c 0a 27 64 65 74 65 63 74 5f 6f 72 64 65 72 27 20 3d 3e 20 73 65 6c 66 3a anguage,.'detect_order'.=>.self:
15ac60 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 0a 27 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 :$encodingList,.'substitute_char
15ac80 61 63 74 65 72 27 20 3d 3e 20 27 6e 6f 6e 65 27 2c 0a 27 73 74 72 69 63 74 5f 64 65 74 65 63 74 acter'.=>.'none',.'strict_detect
15aca0 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 29 3b 0a 0a 69 66 20 28 27 61 6c 6c 27 20 3d 3d 3d ion'.=>.'Off',.);..if.('all'.===
15acc0 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 7d 0a 69 66 20 28 69 73 .$type).{.return.$info;.}.if.(is
15ace0 73 65 74 28 24 69 6e 66 6f 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 66 set($info[$type])).{.return.$inf
15ad00 6f 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 o[$type];.}..return.false;.}..pu
15ad20 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 69 6e 70 blic.static.function.mb_http_inp
15ad40 75 74 28 24 74 79 70 65 20 3d 20 27 27 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ut($type.=.'').{.return.false;.}
15ad60 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 ..public.static.function.mb_http
15ad80 5f 6f 75 74 70 75 74 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 _output($encoding.=.null).{.retu
15ada0 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3f 20 27 70 61 73 73 27 20 3d rn.null.!==.$encoding.?.'pass'.=
15adc0 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3a 20 27 70 61 73 73 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 ==.$encoding.:.'pass';.}..public
15ade0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c .static.function.mb_strwidth($s,
15ae00 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d .$encoding.=.null).{.$encoding.=
15ae20 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a .self::getEncoding($encoding);..
15ae40 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 if.('UTF-8'.!==.$encoding).{.$s.
15ae60 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 =.iconv($encoding,.'UTF-8//IGNOR
15ae80 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f E',.$s);.}..$s.=.preg_replace('/
15aea0 5b 5c 78 7b 31 31 30 30 7d 2d 5c 78 7b 31 31 35 46 7d 5c 78 7b 32 33 32 39 7d 5c 78 7b 32 33 32 [\x{1100}-\x{115F}\x{2329}\x{232
15aec0 41 7d 5c 78 7b 32 45 38 30 7d 2d 5c 78 7b 33 30 33 45 7d 5c 78 7b 33 30 34 30 7d 2d 5c 78 7b 41 A}\x{2E80}-\x{303E}\x{3040}-\x{A
15aee0 34 43 46 7d 5c 78 7b 41 43 30 30 7d 2d 5c 78 7b 44 37 41 33 7d 5c 78 7b 46 39 30 30 7d 2d 5c 78 4CF}\x{AC00}-\x{D7A3}\x{F900}-\x
15af00 7b 46 41 46 46 7d 5c 78 7b 46 45 31 30 7d 2d 5c 78 7b 46 45 31 39 7d 5c 78 7b 46 45 33 30 7d 2d {FAFF}\x{FE10}-\x{FE19}\x{FE30}-
15af20 5c 78 7b 46 45 36 46 7d 5c 78 7b 46 46 30 30 7d 2d 5c 78 7b 46 46 36 30 7d 5c 78 7b 46 46 45 30 \x{FE6F}\x{FF00}-\x{FF60}\x{FFE0
15af40 7d 2d 5c 78 7b 46 46 45 36 7d 5c 78 7b 32 30 30 30 30 7d 2d 5c 78 7b 32 46 46 46 44 7d 5c 78 7b }-\x{FFE6}\x{20000}-\x{2FFFD}\x{
15af60 33 30 30 30 30 7d 2d 5c 78 7b 33 46 46 46 44 7d 5d 2f 75 27 2c 20 27 27 2c 20 24 73 2c 20 2d 31 30000}-\x{3FFFD}]/u',.'',.$s,.-1
15af80 2c 20 24 77 69 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 77 69 64 65 20 3c 3c 20 31 29 20 2b ,.$wide);..return.($wide.<<.1).+
15afa0 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 .iconv_strlen($s,.'UTF-8');.}..p
15afc0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 5f ublic.static.function.mb_substr_
15afe0 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 count($haystack,.$needle,.$encod
15b000 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 5f 63 6f 75 6e ing.=.null).{.return.substr_coun
15b020 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 t($haystack,.$needle);.}..public
15b040 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c .static.function.mb_output_handl
15b060 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 61 74 75 73 29 0a 7b 0a 72 65 74 75 72 6e 20 er($contents,.$status).{.return.
15b080 24 63 6f 6e 74 65 6e 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 $contents;.}..public.static.func
15b0a0 74 69 6f 6e 20 6d 62 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e tion.mb_chr($code,.$encoding.=.n
15b0c0 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 78 38 30 20 3e 20 24 63 6f 64 65 20 25 3d 20 30 78 32 30 30 ull).{.if.(0x80.>.$code.%=.0x200
15b0e0 30 30 30 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 24 63 6f 64 65 29 3b 0a 7d 20 65 6c 73 65 69 000).{.$s.=.\chr($code);.}.elsei
15b100 66 20 28 30 78 38 30 30 20 3e 20 24 63 6f 64 65 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 30 78 f.(0x800.>.$code).{.$s.=.\chr(0x
15b120 43 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f C0.|.$code.>>.6).\chr(0x80.|.$co
15b140 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 78 31 30 30 30 30 20 3e 20 de.&.0x3F);.}.elseif.(0x10000.>.
15b160 24 63 6f 64 65 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 30 78 45 30 20 7c 20 24 63 6f 64 65 20 $code).{.$s.=.\chr(0xE0.|.$code.
15b180 3e 3e 20 31 32 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 20 26 20 >>.12).\chr(0x80.|.$code.>>.6.&.
15b1a0 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0x3F).\chr(0x80.|.$code.&.0x3F);
15b1c0 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 30 78 46 30 20 7c 20 24 63 6f 64 65 .}.else.{.$s.=.\chr(0xF0.|.$code
15b1e0 20 3e 3e 20 31 38 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 32 20 .>>.18).\chr(0x80.|.$code.>>.12.
15b200 26 20 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 20 26 &.0x3F).\chr(0x80.|.$code.>>.6.&
15b220 20 30 78 33 46 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 .0x3F).\chr(0x80.|.$code.&.0x3F)
15b240 3b 0a 7d 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d ;.}..if.('UTF-8'.!==.$encoding.=
15b260 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b .self::getEncoding($encoding)).{
15b280 0a 24 73 20 3d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 65 .$s.=.mb_convert_encoding($s,.$e
15b2a0 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 3b ncoding,.'UTF-8');.}..return.$s;
15b2c0 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 72 .}..public.static.function.mb_or
15b2e0 64 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 27 55 d($s,.$encoding.=.null).{.if.('U
15b300 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 TF-8'.!==.$encoding.=.self::getE
15b320 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 24 73 20 3d 20 6d 62 5f 63 6f ncoding($encoding)).{.$s.=.mb_co
15b340 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 nvert_encoding($s,.'UTF-8',.$enc
15b360 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 24 63 6f 64 65 20 3d 20 28 24 73 20 3d 20 75 6e 70 61 63 6b 28 oding);.}..$code.=.($s.=.unpack(
15b380 27 43 2a 27 2c 20 73 75 62 73 74 72 28 24 73 2c 20 30 2c 20 34 29 29 29 20 3f 20 24 73 5b 31 5d 'C*',.substr($s,.0,.4))).?.$s[1]
15b3a0 20 3a 20 30 3b 0a 69 66 20 28 30 78 46 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 .:.0;.if.(0xF0.<=.$code).{.retur
15b3c0 6e 20 28 28 24 63 6f 64 65 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 28 28 24 73 5b n.(($code.-.0xF0).<<.18).+.(($s[
15b3e0 32 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 33 5d 20 2d 20 30 78 2].-.0x80).<<.12).+.(($s[3].-.0x
15b400 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 73 5b 34 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 28 80).<<.6).+.$s[4].-.0x80;.}.if.(
15b420 30 78 45 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 20 0xE0.<=.$code).{.return.(($code.
15b440 2d 20 30 78 45 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 32 5d 20 2d 20 30 78 38 30 29 -.0xE0).<<.12).+.(($s[2].-.0x80)
15b460 20 3c 3c 20 36 29 20 2b 20 24 73 5b 33 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 28 30 78 43 .<<.6).+.$s[3].-.0x80;.}.if.(0xC
15b480 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 20 2d 20 30 0.<=.$code).{.return.(($code.-.0
15b4a0 78 43 30 29 20 3c 3c 20 36 29 20 2b 20 24 73 5b 32 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 0a 72 65 xC0).<<.6).+.$s[2].-.0x80;.}..re
15b4c0 74 75 72 6e 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 turn.$code;.}..private.static.fu
15b4e0 6e 63 74 69 6f 6e 20 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 nction.getSubpart($pos,.$part,.$
15b500 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 haystack,.$encoding).{.if.(false
15b520 20 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 .===.$pos).{.return.false;.}.if.
15b540 28 24 70 61 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 ($part).{.return.self::mb_substr
15b560 28 24 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 70 6f 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b ($haystack,.0,.$pos,.$encoding);
15b580 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 .}..return.self::mb_substr($hays
15b5a0 74 61 63 6b 2c 20 24 70 6f 73 2c 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a tack,.$pos,.null,.$encoding);.}.
15b5c0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 74 6d 6c 5f 65 6e .private.static.function.html_en
15b5e0 63 6f 64 69 6e 67 5f 63 61 6c 6c 62 61 63 6b 28 61 72 72 61 79 20 24 6d 29 0a 7b 0a 24 69 20 3d coding_callback(array.$m).{.$i.=
15b600 20 31 3b 0a 24 65 6e 74 69 74 69 65 73 20 3d 20 27 27 3b 0a 24 6d 20 3d 20 75 6e 70 61 63 6b 28 .1;.$entities.=.'';.$m.=.unpack(
15b620 27 43 2a 27 2c 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 6d 5b 30 5d 2c 20 45 4e 54 5f 43 4f 'C*',.htmlentities($m[0],.ENT_CO
15b640 4d 50 41 54 2c 20 27 55 54 46 2d 38 27 29 29 3b 0a 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 MPAT,.'UTF-8'));..while.(isset($
15b660 6d 5b 24 69 5d 29 29 20 7b 0a 69 66 20 28 30 78 38 30 20 3e 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 m[$i])).{.if.(0x80.>.$m[$i]).{.$
15b680 65 6e 74 69 74 69 65 73 20 2e 3d 20 5c 63 68 72 28 24 6d 5b 24 69 2b 2b 5d 29 3b 0a 63 6f 6e 74 entities..=.\chr($m[$i++]);.cont
15b6a0 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 30 78 46 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 63 inue;.}.if.(0xF0.<=.$m[$i]).{.$c
15b6c0 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 28 .=.(($m[$i++].-.0xF0).<<.18).+.(
15b6e0 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 6d 5b ($m[$i++].-.0x80).<<.12).+.(($m[
15b700 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d 20 2d $i++].-.0x80).<<.6).+.$m[$i++].-
15b720 20 30 78 38 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 78 45 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 .0x80;.}.elseif.(0xE0.<=.$m[$i])
15b740 20 7b 0a 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 45 30 29 20 3c 3c 20 31 32 .{.$c.=.(($m[$i++].-.0xE0).<<.12
15b760 29 20 2b 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 ).+.(($m[$i++].-.0x80).<<.6).+.$
15b780 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 20 3d 20 28 28 m[$i++].-.0x80;.}.else.{.$c.=.((
15b7a0 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 43 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b $m[$i++].-.0xC0).<<.6).+.$m[$i++
15b7c0 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 0a 24 65 6e 74 69 74 69 65 73 20 2e 3d 20 27 26 23 27 2e 24 ].-.0x80;.}..$entities..=.'&#'.$
15b7e0 63 2e 27 3b 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 74 69 74 69 65 73 3b 0a 7d 0a 0a 70 c.';';.}..return.$entities;.}..p
15b800 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 5f 63 61 73 rivate.static.function.title_cas
15b820 65 5f 6c 6f 77 65 72 28 61 72 72 61 79 20 24 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a e_lower(array.$s).{.return.self:
15b840 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 5b 30 5d 2c 20 4d 42 5f 43 41 53 45 5f :mb_convert_case($s[0],.MB_CASE_
15b860 4c 4f 57 45 52 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 LOWER,.'UTF-8');.}..private.stat
15b880 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 5f 63 61 73 65 5f 75 70 70 65 72 28 61 72 72 ic.function.title_case_upper(arr
15b8a0 61 79 20 24 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 ay.$s).{.return.self::mb_convert
15b8c0 5f 63 61 73 65 28 24 73 5b 30 5d 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 2c 20 27 55 54 46 _case($s[0],.MB_CASE_UPPER,.'UTF
15b8e0 2d 38 27 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e -8');.}..private.static.function
15b900 20 67 65 74 44 61 74 61 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 .getData($file).{.if.(file_exist
15b920 73 28 24 66 69 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e s($file.=.__DIR__.'/Resources/un
15b940 69 64 61 74 61 2f 27 2e 24 66 69 6c 65 2e 27 2e 70 68 70 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 idata/'.$file.'.php')).{.return.
15b960 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a require.$file;.}..return.false;.
15b980 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e }..private.static.function.getEn
15b9a0 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d coding($encoding).{.if.(null.===
15b9c0 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 .$encoding).{.return.self::$inte
15b9e0 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 74 72 rnalEncoding;.}..$encoding.=.str
15ba00 74 6f 75 70 70 65 72 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 38 42 49 54 27 20 toupper($encoding);..if.('8BIT'.
15ba20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 42 49 4e 41 52 59 27 20 3d 3d 3d 20 24 65 ===.$encoding.||.'BINARY'.===.$e
15ba40 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 27 43 50 38 35 30 27 3b 0a 7d 0a 69 66 20 ncoding).{.return.'CP850';.}.if.
15ba60 28 27 55 54 46 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 ('UTF8'.===.$encoding).{.return.
15ba80 27 55 54 46 2d 38 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 'UTF-8';.}..return.$encoding;.}.
15baa0 7d 0a 3c 3f 70 68 70 0a 0a 73 74 61 74 69 63 20 24 64 61 74 61 20 3d 20 61 72 72 61 79 20 28 0a }.<?php..static.$data.=.array.(.
15bac0 27 41 27 20 3d 3e 20 27 61 27 2c 0a 27 42 27 20 3d 3e 20 27 62 27 2c 0a 27 43 27 20 3d 3e 20 27 'A'.=>.'a',.'B'.=>.'b',.'C'.=>.'
15bae0 63 27 2c 0a 27 44 27 20 3d 3e 20 27 64 27 2c 0a 27 45 27 20 3d 3e 20 27 65 27 2c 0a 27 46 27 20 c',.'D'.=>.'d',.'E'.=>.'e',.'F'.
15bb00 3d 3e 20 27 66 27 2c 0a 27 47 27 20 3d 3e 20 27 67 27 2c 0a 27 48 27 20 3d 3e 20 27 68 27 2c 0a =>.'f',.'G'.=>.'g',.'H'.=>.'h',.
15bb20 27 49 27 20 3d 3e 20 27 69 27 2c 0a 27 4a 27 20 3d 3e 20 27 6a 27 2c 0a 27 4b 27 20 3d 3e 20 27 'I'.=>.'i',.'J'.=>.'j',.'K'.=>.'
15bb40 6b 27 2c 0a 27 4c 27 20 3d 3e 20 27 6c 27 2c 0a 27 4d 27 20 3d 3e 20 27 6d 27 2c 0a 27 4e 27 20 k',.'L'.=>.'l',.'M'.=>.'m',.'N'.
15bb60 3d 3e 20 27 6e 27 2c 0a 27 4f 27 20 3d 3e 20 27 6f 27 2c 0a 27 50 27 20 3d 3e 20 27 70 27 2c 0a =>.'n',.'O'.=>.'o',.'P'.=>.'p',.
15bb80 27 51 27 20 3d 3e 20 27 71 27 2c 0a 27 52 27 20 3d 3e 20 27 72 27 2c 0a 27 53 27 20 3d 3e 20 27 'Q'.=>.'q',.'R'.=>.'r',.'S'.=>.'
15bba0 73 27 2c 0a 27 54 27 20 3d 3e 20 27 74 27 2c 0a 27 55 27 20 3d 3e 20 27 75 27 2c 0a 27 56 27 20 s',.'T'.=>.'t',.'U'.=>.'u',.'V'.
15bbc0 3d 3e 20 27 76 27 2c 0a 27 57 27 20 3d 3e 20 27 77 27 2c 0a 27 58 27 20 3d 3e 20 27 78 27 2c 0a =>.'v',.'W'.=>.'w',.'X'.=>.'x',.
15bbe0 27 59 27 20 3d 3e 20 27 79 27 2c 0a 27 5a 27 20 3d 3e 20 27 7a 27 2c 0a 27 c3 80 27 20 3d 3e 20 'Y'.=>.'y',.'Z'.=>.'z',.'..'.=>.
15bc00 27 c3 a0 27 2c 0a 27 c3 81 27 20 3d 3e 20 27 c3 a1 27 2c 0a 27 c3 82 27 20 3d 3e 20 27 c3 a2 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15bc20 2c 0a 27 c3 83 27 20 3d 3e 20 27 c3 a3 27 2c 0a 27 c3 84 27 20 3d 3e 20 27 c3 a4 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15bc40 85 27 20 3d 3e 20 27 c3 a5 27 2c 0a 27 c3 86 27 20 3d 3e 20 27 c3 a6 27 2c 0a 27 c3 87 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15bc60 3e 20 27 c3 a7 27 2c 0a 27 c3 88 27 20 3d 3e 20 27 c3 a8 27 2c 0a 27 c3 89 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
15bc80 a9 27 2c 0a 27 c3 8a 27 20 3d 3e 20 27 c3 aa 27 2c 0a 27 c3 8b 27 20 3d 3e 20 27 c3 ab 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15bca0 27 c3 8c 27 20 3d 3e 20 27 c3 ac 27 2c 0a 27 c3 8d 27 20 3d 3e 20 27 c3 ad 27 2c 0a 27 c3 8e 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15bcc0 20 3d 3e 20 27 c3 ae 27 2c 0a 27 c3 8f 27 20 3d 3e 20 27 c3 af 27 2c 0a 27 c3 90 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15bce0 27 c3 b0 27 2c 0a 27 c3 91 27 20 3d 3e 20 27 c3 b1 27 2c 0a 27 c3 92 27 20 3d 3e 20 27 c3 b2 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15bd00 2c 0a 27 c3 93 27 20 3d 3e 20 27 c3 b3 27 2c 0a 27 c3 94 27 20 3d 3e 20 27 c3 b4 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15bd20 95 27 20 3d 3e 20 27 c3 b5 27 2c 0a 27 c3 96 27 20 3d 3e 20 27 c3 b6 27 2c 0a 27 c3 98 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15bd40 3e 20 27 c3 b8 27 2c 0a 27 c3 99 27 20 3d 3e 20 27 c3 b9 27 2c 0a 27 c3 9a 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
15bd60 ba 27 2c 0a 27 c3 9b 27 20 3d 3e 20 27 c3 bb 27 2c 0a 27 c3 9c 27 20 3d 3e 20 27 c3 bc 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15bd80 27 c3 9d 27 20 3d 3e 20 27 c3 bd 27 2c 0a 27 c3 9e 27 20 3d 3e 20 27 c3 be 27 2c 0a 27 c4 80 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15bda0 20 3d 3e 20 27 c4 81 27 2c 0a 27 c4 82 27 20 3d 3e 20 27 c4 83 27 2c 0a 27 c4 84 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15bdc0 27 c4 85 27 2c 0a 27 c4 86 27 20 3d 3e 20 27 c4 87 27 2c 0a 27 c4 88 27 20 3d 3e 20 27 c4 89 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15bde0 2c 0a 27 c4 8a 27 20 3d 3e 20 27 c4 8b 27 2c 0a 27 c4 8c 27 20 3d 3e 20 27 c4 8d 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15be00 8e 27 20 3d 3e 20 27 c4 8f 27 2c 0a 27 c4 90 27 20 3d 3e 20 27 c4 91 27 2c 0a 27 c4 92 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15be20 3e 20 27 c4 93 27 2c 0a 27 c4 94 27 20 3d 3e 20 27 c4 95 27 2c 0a 27 c4 96 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
15be40 97 27 2c 0a 27 c4 98 27 20 3d 3e 20 27 c4 99 27 2c 0a 27 c4 9a 27 20 3d 3e 20 27 c4 9b 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15be60 27 c4 9c 27 20 3d 3e 20 27 c4 9d 27 2c 0a 27 c4 9e 27 20 3d 3e 20 27 c4 9f 27 2c 0a 27 c4 a0 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15be80 20 3d 3e 20 27 c4 a1 27 2c 0a 27 c4 a2 27 20 3d 3e 20 27 c4 a3 27 2c 0a 27 c4 a4 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15bea0 27 c4 a5 27 2c 0a 27 c4 a6 27 20 3d 3e 20 27 c4 a7 27 2c 0a 27 c4 a8 27 20 3d 3e 20 27 c4 a9 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15bec0 2c 0a 27 c4 aa 27 20 3d 3e 20 27 c4 ab 27 2c 0a 27 c4 ac 27 20 3d 3e 20 27 c4 ad 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15bee0 ae 27 20 3d 3e 20 27 c4 af 27 2c 0a 27 c4 b0 27 20 3d 3e 20 27 69 27 2c 0a 27 c4 b2 27 20 3d 3e .'.=>.'..',.'..'.=>.'i',.'..'.=>
15bf00 20 27 c4 b3 27 2c 0a 27 c4 b4 27 20 3d 3e 20 27 c4 b5 27 2c 0a 27 c4 b6 27 20 3d 3e 20 27 c4 b7 .'..',.'..'.=>.'..',.'..'.=>.'..
15bf20 27 2c 0a 27 c4 b9 27 20 3d 3e 20 27 c4 ba 27 2c 0a 27 c4 bb 27 20 3d 3e 20 27 c4 bc 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15bf40 c4 bd 27 20 3d 3e 20 27 c4 be 27 2c 0a 27 c4 bf 27 20 3d 3e 20 27 c5 80 27 2c 0a 27 c5 81 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15bf60 3d 3e 20 27 c5 82 27 2c 0a 27 c5 83 27 20 3d 3e 20 27 c5 84 27 2c 0a 27 c5 85 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15bf80 c5 86 27 2c 0a 27 c5 87 27 20 3d 3e 20 27 c5 88 27 2c 0a 27 c5 8a 27 20 3d 3e 20 27 c5 8b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15bfa0 0a 27 c5 8c 27 20 3d 3e 20 27 c5 8d 27 2c 0a 27 c5 8e 27 20 3d 3e 20 27 c5 8f 27 2c 0a 27 c5 90 .'..'.=>.'..',.'..'.=>.'..',.'..
15bfc0 27 20 3d 3e 20 27 c5 91 27 2c 0a 27 c5 92 27 20 3d 3e 20 27 c5 93 27 2c 0a 27 c5 94 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15bfe0 20 27 c5 95 27 2c 0a 27 c5 96 27 20 3d 3e 20 27 c5 97 27 2c 0a 27 c5 98 27 20 3d 3e 20 27 c5 99 .'..',.'..'.=>.'..',.'..'.=>.'..
15c000 27 2c 0a 27 c5 9a 27 20 3d 3e 20 27 c5 9b 27 2c 0a 27 c5 9c 27 20 3d 3e 20 27 c5 9d 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c020 c5 9e 27 20 3d 3e 20 27 c5 9f 27 2c 0a 27 c5 a0 27 20 3d 3e 20 27 c5 a1 27 2c 0a 27 c5 a2 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c040 3d 3e 20 27 c5 a3 27 2c 0a 27 c5 a4 27 20 3d 3e 20 27 c5 a5 27 2c 0a 27 c5 a6 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c060 c5 a7 27 2c 0a 27 c5 a8 27 20 3d 3e 20 27 c5 a9 27 2c 0a 27 c5 aa 27 20 3d 3e 20 27 c5 ab 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c080 0a 27 c5 ac 27 20 3d 3e 20 27 c5 ad 27 2c 0a 27 c5 ae 27 20 3d 3e 20 27 c5 af 27 2c 0a 27 c5 b0 .'..'.=>.'..',.'..'.=>.'..',.'..
15c0a0 27 20 3d 3e 20 27 c5 b1 27 2c 0a 27 c5 b2 27 20 3d 3e 20 27 c5 b3 27 2c 0a 27 c5 b4 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c0c0 20 27 c5 b5 27 2c 0a 27 c5 b6 27 20 3d 3e 20 27 c5 b7 27 2c 0a 27 c5 b8 27 20 3d 3e 20 27 c3 bf .'..',.'..'.=>.'..',.'..'.=>.'..
15c0e0 27 2c 0a 27 c5 b9 27 20 3d 3e 20 27 c5 ba 27 2c 0a 27 c5 bb 27 20 3d 3e 20 27 c5 bc 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c100 c5 bd 27 20 3d 3e 20 27 c5 be 27 2c 0a 27 c6 81 27 20 3d 3e 20 27 c9 93 27 2c 0a 27 c6 82 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c120 3d 3e 20 27 c6 83 27 2c 0a 27 c6 84 27 20 3d 3e 20 27 c6 85 27 2c 0a 27 c6 86 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c140 c9 94 27 2c 0a 27 c6 87 27 20 3d 3e 20 27 c6 88 27 2c 0a 27 c6 89 27 20 3d 3e 20 27 c9 96 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c160 0a 27 c6 8a 27 20 3d 3e 20 27 c9 97 27 2c 0a 27 c6 8b 27 20 3d 3e 20 27 c6 8c 27 2c 0a 27 c6 8e .'..'.=>.'..',.'..'.=>.'..',.'..
15c180 27 20 3d 3e 20 27 c7 9d 27 2c 0a 27 c6 8f 27 20 3d 3e 20 27 c9 99 27 2c 0a 27 c6 90 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c1a0 20 27 c9 9b 27 2c 0a 27 c6 91 27 20 3d 3e 20 27 c6 92 27 2c 0a 27 c6 93 27 20 3d 3e 20 27 c9 a0 .'..',.'..'.=>.'..',.'..'.=>.'..
15c1c0 27 2c 0a 27 c6 94 27 20 3d 3e 20 27 c9 a3 27 2c 0a 27 c6 96 27 20 3d 3e 20 27 c9 a9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c1e0 c6 97 27 20 3d 3e 20 27 c9 a8 27 2c 0a 27 c6 98 27 20 3d 3e 20 27 c6 99 27 2c 0a 27 c6 9c 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c200 3d 3e 20 27 c9 af 27 2c 0a 27 c6 9d 27 20 3d 3e 20 27 c9 b2 27 2c 0a 27 c6 9f 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c220 c9 b5 27 2c 0a 27 c6 a0 27 20 3d 3e 20 27 c6 a1 27 2c 0a 27 c6 a2 27 20 3d 3e 20 27 c6 a3 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c240 0a 27 c6 a4 27 20 3d 3e 20 27 c6 a5 27 2c 0a 27 c6 a6 27 20 3d 3e 20 27 ca 80 27 2c 0a 27 c6 a7 .'..'.=>.'..',.'..'.=>.'..',.'..
15c260 27 20 3d 3e 20 27 c6 a8 27 2c 0a 27 c6 a9 27 20 3d 3e 20 27 ca 83 27 2c 0a 27 c6 ac 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c280 20 27 c6 ad 27 2c 0a 27 c6 ae 27 20 3d 3e 20 27 ca 88 27 2c 0a 27 c6 af 27 20 3d 3e 20 27 c6 b0 .'..',.'..'.=>.'..',.'..'.=>.'..
15c2a0 27 2c 0a 27 c6 b1 27 20 3d 3e 20 27 ca 8a 27 2c 0a 27 c6 b2 27 20 3d 3e 20 27 ca 8b 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c2c0 c6 b3 27 20 3d 3e 20 27 c6 b4 27 2c 0a 27 c6 b5 27 20 3d 3e 20 27 c6 b6 27 2c 0a 27 c6 b7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c2e0 3d 3e 20 27 ca 92 27 2c 0a 27 c6 b8 27 20 3d 3e 20 27 c6 b9 27 2c 0a 27 c6 bc 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c300 c6 bd 27 2c 0a 27 c7 84 27 20 3d 3e 20 27 c7 86 27 2c 0a 27 c7 85 27 20 3d 3e 20 27 c7 86 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c320 0a 27 c7 87 27 20 3d 3e 20 27 c7 89 27 2c 0a 27 c7 88 27 20 3d 3e 20 27 c7 89 27 2c 0a 27 c7 8a .'..'.=>.'..',.'..'.=>.'..',.'..
15c340 27 20 3d 3e 20 27 c7 8c 27 2c 0a 27 c7 8b 27 20 3d 3e 20 27 c7 8c 27 2c 0a 27 c7 8d 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c360 20 27 c7 8e 27 2c 0a 27 c7 8f 27 20 3d 3e 20 27 c7 90 27 2c 0a 27 c7 91 27 20 3d 3e 20 27 c7 92 .'..',.'..'.=>.'..',.'..'.=>.'..
15c380 27 2c 0a 27 c7 93 27 20 3d 3e 20 27 c7 94 27 2c 0a 27 c7 95 27 20 3d 3e 20 27 c7 96 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c3a0 c7 97 27 20 3d 3e 20 27 c7 98 27 2c 0a 27 c7 99 27 20 3d 3e 20 27 c7 9a 27 2c 0a 27 c7 9b 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c3c0 3d 3e 20 27 c7 9c 27 2c 0a 27 c7 9e 27 20 3d 3e 20 27 c7 9f 27 2c 0a 27 c7 a0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c3e0 c7 a1 27 2c 0a 27 c7 a2 27 20 3d 3e 20 27 c7 a3 27 2c 0a 27 c7 a4 27 20 3d 3e 20 27 c7 a5 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c400 0a 27 c7 a6 27 20 3d 3e 20 27 c7 a7 27 2c 0a 27 c7 a8 27 20 3d 3e 20 27 c7 a9 27 2c 0a 27 c7 aa .'..'.=>.'..',.'..'.=>.'..',.'..
15c420 27 20 3d 3e 20 27 c7 ab 27 2c 0a 27 c7 ac 27 20 3d 3e 20 27 c7 ad 27 2c 0a 27 c7 ae 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c440 20 27 c7 af 27 2c 0a 27 c7 b1 27 20 3d 3e 20 27 c7 b3 27 2c 0a 27 c7 b2 27 20 3d 3e 20 27 c7 b3 .'..',.'..'.=>.'..',.'..'.=>.'..
15c460 27 2c 0a 27 c7 b4 27 20 3d 3e 20 27 c7 b5 27 2c 0a 27 c7 b6 27 20 3d 3e 20 27 c6 95 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c480 c7 b7 27 20 3d 3e 20 27 c6 bf 27 2c 0a 27 c7 b8 27 20 3d 3e 20 27 c7 b9 27 2c 0a 27 c7 ba 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c4a0 3d 3e 20 27 c7 bb 27 2c 0a 27 c7 bc 27 20 3d 3e 20 27 c7 bd 27 2c 0a 27 c7 be 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c4c0 c7 bf 27 2c 0a 27 c8 80 27 20 3d 3e 20 27 c8 81 27 2c 0a 27 c8 82 27 20 3d 3e 20 27 c8 83 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c4e0 0a 27 c8 84 27 20 3d 3e 20 27 c8 85 27 2c 0a 27 c8 86 27 20 3d 3e 20 27 c8 87 27 2c 0a 27 c8 88 .'..'.=>.'..',.'..'.=>.'..',.'..
15c500 27 20 3d 3e 20 27 c8 89 27 2c 0a 27 c8 8a 27 20 3d 3e 20 27 c8 8b 27 2c 0a 27 c8 8c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c520 20 27 c8 8d 27 2c 0a 27 c8 8e 27 20 3d 3e 20 27 c8 8f 27 2c 0a 27 c8 90 27 20 3d 3e 20 27 c8 91 .'..',.'..'.=>.'..',.'..'.=>.'..
15c540 27 2c 0a 27 c8 92 27 20 3d 3e 20 27 c8 93 27 2c 0a 27 c8 94 27 20 3d 3e 20 27 c8 95 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c560 c8 96 27 20 3d 3e 20 27 c8 97 27 2c 0a 27 c8 98 27 20 3d 3e 20 27 c8 99 27 2c 0a 27 c8 9a 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c580 3d 3e 20 27 c8 9b 27 2c 0a 27 c8 9c 27 20 3d 3e 20 27 c8 9d 27 2c 0a 27 c8 9e 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c5a0 c8 9f 27 2c 0a 27 c8 a0 27 20 3d 3e 20 27 c6 9e 27 2c 0a 27 c8 a2 27 20 3d 3e 20 27 c8 a3 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c5c0 0a 27 c8 a4 27 20 3d 3e 20 27 c8 a5 27 2c 0a 27 c8 a6 27 20 3d 3e 20 27 c8 a7 27 2c 0a 27 c8 a8 .'..'.=>.'..',.'..'.=>.'..',.'..
15c5e0 27 20 3d 3e 20 27 c8 a9 27 2c 0a 27 c8 aa 27 20 3d 3e 20 27 c8 ab 27 2c 0a 27 c8 ac 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c600 20 27 c8 ad 27 2c 0a 27 c8 ae 27 20 3d 3e 20 27 c8 af 27 2c 0a 27 c8 b0 27 20 3d 3e 20 27 c8 b1 .'..',.'..'.=>.'..',.'..'.=>.'..
15c620 27 2c 0a 27 c8 b2 27 20 3d 3e 20 27 c8 b3 27 2c 0a 27 c8 ba 27 20 3d 3e 20 27 e2 b1 a5 27 2c 0a ',.'..'.=>.'..',.'..'.=>.'...',.
15c640 27 c8 bb 27 20 3d 3e 20 27 c8 bc 27 2c 0a 27 c8 bd 27 20 3d 3e 20 27 c6 9a 27 2c 0a 27 c8 be 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15c660 20 3d 3e 20 27 e2 b1 a6 27 2c 0a 27 c9 81 27 20 3d 3e 20 27 c9 82 27 2c 0a 27 c9 83 27 20 3d 3e .=>.'...',.'..'.=>.'..',.'..'.=>
15c680 20 27 c6 80 27 2c 0a 27 c9 84 27 20 3d 3e 20 27 ca 89 27 2c 0a 27 c9 85 27 20 3d 3e 20 27 ca 8c .'..',.'..'.=>.'..',.'..'.=>.'..
15c6a0 27 2c 0a 27 c9 86 27 20 3d 3e 20 27 c9 87 27 2c 0a 27 c9 88 27 20 3d 3e 20 27 c9 89 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c6c0 c9 8a 27 20 3d 3e 20 27 c9 8b 27 2c 0a 27 c9 8c 27 20 3d 3e 20 27 c9 8d 27 2c 0a 27 c9 8e 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c6e0 3d 3e 20 27 c9 8f 27 2c 0a 27 cd b0 27 20 3d 3e 20 27 cd b1 27 2c 0a 27 cd b2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c700 cd b3 27 2c 0a 27 cd b6 27 20 3d 3e 20 27 cd b7 27 2c 0a 27 cd bf 27 20 3d 3e 20 27 cf b3 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c720 0a 27 ce 86 27 20 3d 3e 20 27 ce ac 27 2c 0a 27 ce 88 27 20 3d 3e 20 27 ce ad 27 2c 0a 27 ce 89 .'..'.=>.'..',.'..'.=>.'..',.'..
15c740 27 20 3d 3e 20 27 ce ae 27 2c 0a 27 ce 8a 27 20 3d 3e 20 27 ce af 27 2c 0a 27 ce 8c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c760 20 27 cf 8c 27 2c 0a 27 ce 8e 27 20 3d 3e 20 27 cf 8d 27 2c 0a 27 ce 8f 27 20 3d 3e 20 27 cf 8e .'..',.'..'.=>.'..',.'..'.=>.'..
15c780 27 2c 0a 27 ce 91 27 20 3d 3e 20 27 ce b1 27 2c 0a 27 ce 92 27 20 3d 3e 20 27 ce b2 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c7a0 ce 93 27 20 3d 3e 20 27 ce b3 27 2c 0a 27 ce 94 27 20 3d 3e 20 27 ce b4 27 2c 0a 27 ce 95 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c7c0 3d 3e 20 27 ce b5 27 2c 0a 27 ce 96 27 20 3d 3e 20 27 ce b6 27 2c 0a 27 ce 97 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c7e0 ce b7 27 2c 0a 27 ce 98 27 20 3d 3e 20 27 ce b8 27 2c 0a 27 ce 99 27 20 3d 3e 20 27 ce b9 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c800 0a 27 ce 9a 27 20 3d 3e 20 27 ce ba 27 2c 0a 27 ce 9b 27 20 3d 3e 20 27 ce bb 27 2c 0a 27 ce 9c .'..'.=>.'..',.'..'.=>.'..',.'..
15c820 27 20 3d 3e 20 27 ce bc 27 2c 0a 27 ce 9d 27 20 3d 3e 20 27 ce bd 27 2c 0a 27 ce 9e 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c840 20 27 ce be 27 2c 0a 27 ce 9f 27 20 3d 3e 20 27 ce bf 27 2c 0a 27 ce a0 27 20 3d 3e 20 27 cf 80 .'..',.'..'.=>.'..',.'..'.=>.'..
15c860 27 2c 0a 27 ce a1 27 20 3d 3e 20 27 cf 81 27 2c 0a 27 ce a3 27 20 3d 3e 20 27 cf 83 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c880 ce a4 27 20 3d 3e 20 27 cf 84 27 2c 0a 27 ce a5 27 20 3d 3e 20 27 cf 85 27 2c 0a 27 ce a6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c8a0 3d 3e 20 27 cf 86 27 2c 0a 27 ce a7 27 20 3d 3e 20 27 cf 87 27 2c 0a 27 ce a8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c8c0 cf 88 27 2c 0a 27 ce a9 27 20 3d 3e 20 27 cf 89 27 2c 0a 27 ce aa 27 20 3d 3e 20 27 cf 8a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c8e0 0a 27 ce ab 27 20 3d 3e 20 27 cf 8b 27 2c 0a 27 cf 8f 27 20 3d 3e 20 27 cf 97 27 2c 0a 27 cf 98 .'..'.=>.'..',.'..'.=>.'..',.'..
15c900 27 20 3d 3e 20 27 cf 99 27 2c 0a 27 cf 9a 27 20 3d 3e 20 27 cf 9b 27 2c 0a 27 cf 9c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15c920 20 27 cf 9d 27 2c 0a 27 cf 9e 27 20 3d 3e 20 27 cf 9f 27 2c 0a 27 cf a0 27 20 3d 3e 20 27 cf a1 .'..',.'..'.=>.'..',.'..'.=>.'..
15c940 27 2c 0a 27 cf a2 27 20 3d 3e 20 27 cf a3 27 2c 0a 27 cf a4 27 20 3d 3e 20 27 cf a5 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15c960 cf a6 27 20 3d 3e 20 27 cf a7 27 2c 0a 27 cf a8 27 20 3d 3e 20 27 cf a9 27 2c 0a 27 cf aa 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15c980 3d 3e 20 27 cf ab 27 2c 0a 27 cf ac 27 20 3d 3e 20 27 cf ad 27 2c 0a 27 cf ae 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15c9a0 cf af 27 2c 0a 27 cf b4 27 20 3d 3e 20 27 ce b8 27 2c 0a 27 cf b7 27 20 3d 3e 20 27 cf b8 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15c9c0 0a 27 cf b9 27 20 3d 3e 20 27 cf b2 27 2c 0a 27 cf ba 27 20 3d 3e 20 27 cf bb 27 2c 0a 27 cf bd .'..'.=>.'..',.'..'.=>.'..',.'..
15c9e0 27 20 3d 3e 20 27 cd bb 27 2c 0a 27 cf be 27 20 3d 3e 20 27 cd bc 27 2c 0a 27 cf bf 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15ca00 20 27 cd bd 27 2c 0a 27 d0 80 27 20 3d 3e 20 27 d1 90 27 2c 0a 27 d0 81 27 20 3d 3e 20 27 d1 91 .'..',.'..'.=>.'..',.'..'.=>.'..
15ca20 27 2c 0a 27 d0 82 27 20 3d 3e 20 27 d1 92 27 2c 0a 27 d0 83 27 20 3d 3e 20 27 d1 93 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15ca40 d0 84 27 20 3d 3e 20 27 d1 94 27 2c 0a 27 d0 85 27 20 3d 3e 20 27 d1 95 27 2c 0a 27 d0 86 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15ca60 3d 3e 20 27 d1 96 27 2c 0a 27 d0 87 27 20 3d 3e 20 27 d1 97 27 2c 0a 27 d0 88 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15ca80 d1 98 27 2c 0a 27 d0 89 27 20 3d 3e 20 27 d1 99 27 2c 0a 27 d0 8a 27 20 3d 3e 20 27 d1 9a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15caa0 0a 27 d0 8b 27 20 3d 3e 20 27 d1 9b 27 2c 0a 27 d0 8c 27 20 3d 3e 20 27 d1 9c 27 2c 0a 27 d0 8d .'..'.=>.'..',.'..'.=>.'..',.'..
15cac0 27 20 3d 3e 20 27 d1 9d 27 2c 0a 27 d0 8e 27 20 3d 3e 20 27 d1 9e 27 2c 0a 27 d0 8f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15cae0 20 27 d1 9f 27 2c 0a 27 d0 90 27 20 3d 3e 20 27 d0 b0 27 2c 0a 27 d0 91 27 20 3d 3e 20 27 d0 b1 .'..',.'..'.=>.'..',.'..'.=>.'..
15cb00 27 2c 0a 27 d0 92 27 20 3d 3e 20 27 d0 b2 27 2c 0a 27 d0 93 27 20 3d 3e 20 27 d0 b3 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cb20 d0 94 27 20 3d 3e 20 27 d0 b4 27 2c 0a 27 d0 95 27 20 3d 3e 20 27 d0 b5 27 2c 0a 27 d0 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cb40 3d 3e 20 27 d0 b6 27 2c 0a 27 d0 97 27 20 3d 3e 20 27 d0 b7 27 2c 0a 27 d0 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15cb60 d0 b8 27 2c 0a 27 d0 99 27 20 3d 3e 20 27 d0 b9 27 2c 0a 27 d0 9a 27 20 3d 3e 20 27 d0 ba 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15cb80 0a 27 d0 9b 27 20 3d 3e 20 27 d0 bb 27 2c 0a 27 d0 9c 27 20 3d 3e 20 27 d0 bc 27 2c 0a 27 d0 9d .'..'.=>.'..',.'..'.=>.'..',.'..
15cba0 27 20 3d 3e 20 27 d0 bd 27 2c 0a 27 d0 9e 27 20 3d 3e 20 27 d0 be 27 2c 0a 27 d0 9f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15cbc0 20 27 d0 bf 27 2c 0a 27 d0 a0 27 20 3d 3e 20 27 d1 80 27 2c 0a 27 d0 a1 27 20 3d 3e 20 27 d1 81 .'..',.'..'.=>.'..',.'..'.=>.'..
15cbe0 27 2c 0a 27 d0 a2 27 20 3d 3e 20 27 d1 82 27 2c 0a 27 d0 a3 27 20 3d 3e 20 27 d1 83 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cc00 d0 a4 27 20 3d 3e 20 27 d1 84 27 2c 0a 27 d0 a5 27 20 3d 3e 20 27 d1 85 27 2c 0a 27 d0 a6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cc20 3d 3e 20 27 d1 86 27 2c 0a 27 d0 a7 27 20 3d 3e 20 27 d1 87 27 2c 0a 27 d0 a8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15cc40 d1 88 27 2c 0a 27 d0 a9 27 20 3d 3e 20 27 d1 89 27 2c 0a 27 d0 aa 27 20 3d 3e 20 27 d1 8a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15cc60 0a 27 d0 ab 27 20 3d 3e 20 27 d1 8b 27 2c 0a 27 d0 ac 27 20 3d 3e 20 27 d1 8c 27 2c 0a 27 d0 ad .'..'.=>.'..',.'..'.=>.'..',.'..
15cc80 27 20 3d 3e 20 27 d1 8d 27 2c 0a 27 d0 ae 27 20 3d 3e 20 27 d1 8e 27 2c 0a 27 d0 af 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15cca0 20 27 d1 8f 27 2c 0a 27 d1 a0 27 20 3d 3e 20 27 d1 a1 27 2c 0a 27 d1 a2 27 20 3d 3e 20 27 d1 a3 .'..',.'..'.=>.'..',.'..'.=>.'..
15ccc0 27 2c 0a 27 d1 a4 27 20 3d 3e 20 27 d1 a5 27 2c 0a 27 d1 a6 27 20 3d 3e 20 27 d1 a7 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cce0 d1 a8 27 20 3d 3e 20 27 d1 a9 27 2c 0a 27 d1 aa 27 20 3d 3e 20 27 d1 ab 27 2c 0a 27 d1 ac 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cd00 3d 3e 20 27 d1 ad 27 2c 0a 27 d1 ae 27 20 3d 3e 20 27 d1 af 27 2c 0a 27 d1 b0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15cd20 d1 b1 27 2c 0a 27 d1 b2 27 20 3d 3e 20 27 d1 b3 27 2c 0a 27 d1 b4 27 20 3d 3e 20 27 d1 b5 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15cd40 0a 27 d1 b6 27 20 3d 3e 20 27 d1 b7 27 2c 0a 27 d1 b8 27 20 3d 3e 20 27 d1 b9 27 2c 0a 27 d1 ba .'..'.=>.'..',.'..'.=>.'..',.'..
15cd60 27 20 3d 3e 20 27 d1 bb 27 2c 0a 27 d1 bc 27 20 3d 3e 20 27 d1 bd 27 2c 0a 27 d1 be 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15cd80 20 27 d1 bf 27 2c 0a 27 d2 80 27 20 3d 3e 20 27 d2 81 27 2c 0a 27 d2 8a 27 20 3d 3e 20 27 d2 8b .'..',.'..'.=>.'..',.'..'.=>.'..
15cda0 27 2c 0a 27 d2 8c 27 20 3d 3e 20 27 d2 8d 27 2c 0a 27 d2 8e 27 20 3d 3e 20 27 d2 8f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cdc0 d2 90 27 20 3d 3e 20 27 d2 91 27 2c 0a 27 d2 92 27 20 3d 3e 20 27 d2 93 27 2c 0a 27 d2 94 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cde0 3d 3e 20 27 d2 95 27 2c 0a 27 d2 96 27 20 3d 3e 20 27 d2 97 27 2c 0a 27 d2 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15ce00 d2 99 27 2c 0a 27 d2 9a 27 20 3d 3e 20 27 d2 9b 27 2c 0a 27 d2 9c 27 20 3d 3e 20 27 d2 9d 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15ce20 0a 27 d2 9e 27 20 3d 3e 20 27 d2 9f 27 2c 0a 27 d2 a0 27 20 3d 3e 20 27 d2 a1 27 2c 0a 27 d2 a2 .'..'.=>.'..',.'..'.=>.'..',.'..
15ce40 27 20 3d 3e 20 27 d2 a3 27 2c 0a 27 d2 a4 27 20 3d 3e 20 27 d2 a5 27 2c 0a 27 d2 a6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15ce60 20 27 d2 a7 27 2c 0a 27 d2 a8 27 20 3d 3e 20 27 d2 a9 27 2c 0a 27 d2 aa 27 20 3d 3e 20 27 d2 ab .'..',.'..'.=>.'..',.'..'.=>.'..
15ce80 27 2c 0a 27 d2 ac 27 20 3d 3e 20 27 d2 ad 27 2c 0a 27 d2 ae 27 20 3d 3e 20 27 d2 af 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cea0 d2 b0 27 20 3d 3e 20 27 d2 b1 27 2c 0a 27 d2 b2 27 20 3d 3e 20 27 d2 b3 27 2c 0a 27 d2 b4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cec0 3d 3e 20 27 d2 b5 27 2c 0a 27 d2 b6 27 20 3d 3e 20 27 d2 b7 27 2c 0a 27 d2 b8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15cee0 d2 b9 27 2c 0a 27 d2 ba 27 20 3d 3e 20 27 d2 bb 27 2c 0a 27 d2 bc 27 20 3d 3e 20 27 d2 bd 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15cf00 0a 27 d2 be 27 20 3d 3e 20 27 d2 bf 27 2c 0a 27 d3 80 27 20 3d 3e 20 27 d3 8f 27 2c 0a 27 d3 81 .'..'.=>.'..',.'..'.=>.'..',.'..
15cf20 27 20 3d 3e 20 27 d3 82 27 2c 0a 27 d3 83 27 20 3d 3e 20 27 d3 84 27 2c 0a 27 d3 85 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15cf40 20 27 d3 86 27 2c 0a 27 d3 87 27 20 3d 3e 20 27 d3 88 27 2c 0a 27 d3 89 27 20 3d 3e 20 27 d3 8a .'..',.'..'.=>.'..',.'..'.=>.'..
15cf60 27 2c 0a 27 d3 8b 27 20 3d 3e 20 27 d3 8c 27 2c 0a 27 d3 8d 27 20 3d 3e 20 27 d3 8e 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15cf80 d3 90 27 20 3d 3e 20 27 d3 91 27 2c 0a 27 d3 92 27 20 3d 3e 20 27 d3 93 27 2c 0a 27 d3 94 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15cfa0 3d 3e 20 27 d3 95 27 2c 0a 27 d3 96 27 20 3d 3e 20 27 d3 97 27 2c 0a 27 d3 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15cfc0 d3 99 27 2c 0a 27 d3 9a 27 20 3d 3e 20 27 d3 9b 27 2c 0a 27 d3 9c 27 20 3d 3e 20 27 d3 9d 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15cfe0 0a 27 d3 9e 27 20 3d 3e 20 27 d3 9f 27 2c 0a 27 d3 a0 27 20 3d 3e 20 27 d3 a1 27 2c 0a 27 d3 a2 .'..'.=>.'..',.'..'.=>.'..',.'..
15d000 27 20 3d 3e 20 27 d3 a3 27 2c 0a 27 d3 a4 27 20 3d 3e 20 27 d3 a5 27 2c 0a 27 d3 a6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15d020 20 27 d3 a7 27 2c 0a 27 d3 a8 27 20 3d 3e 20 27 d3 a9 27 2c 0a 27 d3 aa 27 20 3d 3e 20 27 d3 ab .'..',.'..'.=>.'..',.'..'.=>.'..
15d040 27 2c 0a 27 d3 ac 27 20 3d 3e 20 27 d3 ad 27 2c 0a 27 d3 ae 27 20 3d 3e 20 27 d3 af 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15d060 d3 b0 27 20 3d 3e 20 27 d3 b1 27 2c 0a 27 d3 b2 27 20 3d 3e 20 27 d3 b3 27 2c 0a 27 d3 b4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15d080 3d 3e 20 27 d3 b5 27 2c 0a 27 d3 b6 27 20 3d 3e 20 27 d3 b7 27 2c 0a 27 d3 b8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15d0a0 d3 b9 27 2c 0a 27 d3 ba 27 20 3d 3e 20 27 d3 bb 27 2c 0a 27 d3 bc 27 20 3d 3e 20 27 d3 bd 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15d0c0 0a 27 d3 be 27 20 3d 3e 20 27 d3 bf 27 2c 0a 27 d4 80 27 20 3d 3e 20 27 d4 81 27 2c 0a 27 d4 82 .'..'.=>.'..',.'..'.=>.'..',.'..
15d0e0 27 20 3d 3e 20 27 d4 83 27 2c 0a 27 d4 84 27 20 3d 3e 20 27 d4 85 27 2c 0a 27 d4 86 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15d100 20 27 d4 87 27 2c 0a 27 d4 88 27 20 3d 3e 20 27 d4 89 27 2c 0a 27 d4 8a 27 20 3d 3e 20 27 d4 8b .'..',.'..'.=>.'..',.'..'.=>.'..
15d120 27 2c 0a 27 d4 8c 27 20 3d 3e 20 27 d4 8d 27 2c 0a 27 d4 8e 27 20 3d 3e 20 27 d4 8f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15d140 d4 90 27 20 3d 3e 20 27 d4 91 27 2c 0a 27 d4 92 27 20 3d 3e 20 27 d4 93 27 2c 0a 27 d4 94 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15d160 3d 3e 20 27 d4 95 27 2c 0a 27 d4 96 27 20 3d 3e 20 27 d4 97 27 2c 0a 27 d4 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15d180 d4 99 27 2c 0a 27 d4 9a 27 20 3d 3e 20 27 d4 9b 27 2c 0a 27 d4 9c 27 20 3d 3e 20 27 d4 9d 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15d1a0 0a 27 d4 9e 27 20 3d 3e 20 27 d4 9f 27 2c 0a 27 d4 a0 27 20 3d 3e 20 27 d4 a1 27 2c 0a 27 d4 a2 .'..'.=>.'..',.'..'.=>.'..',.'..
15d1c0 27 20 3d 3e 20 27 d4 a3 27 2c 0a 27 d4 a4 27 20 3d 3e 20 27 d4 a5 27 2c 0a 27 d4 a6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15d1e0 20 27 d4 a7 27 2c 0a 27 d4 a8 27 20 3d 3e 20 27 d4 a9 27 2c 0a 27 d4 aa 27 20 3d 3e 20 27 d4 ab .'..',.'..'.=>.'..',.'..'.=>.'..
15d200 27 2c 0a 27 d4 ac 27 20 3d 3e 20 27 d4 ad 27 2c 0a 27 d4 ae 27 20 3d 3e 20 27 d4 af 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15d220 d4 b1 27 20 3d 3e 20 27 d5 a1 27 2c 0a 27 d4 b2 27 20 3d 3e 20 27 d5 a2 27 2c 0a 27 d4 b3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15d240 3d 3e 20 27 d5 a3 27 2c 0a 27 d4 b4 27 20 3d 3e 20 27 d5 a4 27 2c 0a 27 d4 b5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15d260 d5 a5 27 2c 0a 27 d4 b6 27 20 3d 3e 20 27 d5 a6 27 2c 0a 27 d4 b7 27 20 3d 3e 20 27 d5 a7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15d280 0a 27 d4 b8 27 20 3d 3e 20 27 d5 a8 27 2c 0a 27 d4 b9 27 20 3d 3e 20 27 d5 a9 27 2c 0a 27 d4 ba .'..'.=>.'..',.'..'.=>.'..',.'..
15d2a0 27 20 3d 3e 20 27 d5 aa 27 2c 0a 27 d4 bb 27 20 3d 3e 20 27 d5 ab 27 2c 0a 27 d4 bc 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15d2c0 20 27 d5 ac 27 2c 0a 27 d4 bd 27 20 3d 3e 20 27 d5 ad 27 2c 0a 27 d4 be 27 20 3d 3e 20 27 d5 ae .'..',.'..'.=>.'..',.'..'.=>.'..
15d2e0 27 2c 0a 27 d4 bf 27 20 3d 3e 20 27 d5 af 27 2c 0a 27 d5 80 27 20 3d 3e 20 27 d5 b0 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15d300 d5 81 27 20 3d 3e 20 27 d5 b1 27 2c 0a 27 d5 82 27 20 3d 3e 20 27 d5 b2 27 2c 0a 27 d5 83 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15d320 3d 3e 20 27 d5 b3 27 2c 0a 27 d5 84 27 20 3d 3e 20 27 d5 b4 27 2c 0a 27 d5 85 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15d340 d5 b5 27 2c 0a 27 d5 86 27 20 3d 3e 20 27 d5 b6 27 2c 0a 27 d5 87 27 20 3d 3e 20 27 d5 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
15d360 0a 27 d5 88 27 20 3d 3e 20 27 d5 b8 27 2c 0a 27 d5 89 27 20 3d 3e 20 27 d5 b9 27 2c 0a 27 d5 8a .'..'.=>.'..',.'..'.=>.'..',.'..
15d380 27 20 3d 3e 20 27 d5 ba 27 2c 0a 27 d5 8b 27 20 3d 3e 20 27 d5 bb 27 2c 0a 27 d5 8c 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
15d3a0 20 27 d5 bc 27 2c 0a 27 d5 8d 27 20 3d 3e 20 27 d5 bd 27 2c 0a 27 d5 8e 27 20 3d 3e 20 27 d5 be .'..',.'..'.=>.'..',.'..'.=>.'..
15d3c0 27 2c 0a 27 d5 8f 27 20 3d 3e 20 27 d5 bf 27 2c 0a 27 d5 90 27 20 3d 3e 20 27 d6 80 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
15d3e0 d5 91 27 20 3d 3e 20 27 d6 81 27 2c 0a 27 d5 92 27 20 3d 3e 20 27 d6 82 27 2c 0a 27 d5 93 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
15d400 3d 3e 20 27 d6 83 27 2c 0a 27 d5 94 27 20 3d 3e 20 27 d6 84 27 2c 0a 27 d5 95 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
15d420 d6 85 27 2c 0a 27 d5 96 27 20 3d 3e 20 27 d6 86 27 2c 0a 27 e1 82 a0 27 20 3d 3e 20 27 e2 b4 80 ..',.'..'.=>.'..',.'...'.=>.'...
15d440 27 2c 0a 27 e1 82 a1 27 20 3d 3e 20 27 e2 b4 81 27 2c 0a 27 e1 82 a2 27 20 3d 3e 20 27 e2 b4 82 ',.'...'.=>.'...',.'...'.=>.'...
15d460 27 2c 0a 27 e1 82 a3 27 20 3d 3e 20 27 e2 b4 83 27 2c 0a 27 e1 82 a4 27 20 3d 3e 20 27 e2 b4 84 ',.'...'.=>.'...',.'...'.=>.'...
15d480 27 2c 0a 27 e1 82 a5 27 20 3d 3e 20 27 e2 b4 85 27 2c 0a 27 e1 82 a6 27 20 3d 3e 20 27 e2 b4 86 ',.'...'.=>.'...',.'...'.=>.'...
15d4a0 27 2c 0a 27 e1 82 a7 27 20 3d 3e 20 27 e2 b4 87 27 2c 0a 27 e1 82 a8 27 20 3d 3e 20 27 e2 b4 88 ',.'...'.=>.'...',.'...'.=>.'...
15d4c0 27 2c 0a 27 e1 82 a9 27 20 3d 3e 20 27 e2 b4 89 27 2c 0a 27 e1 82 aa 27 20 3d 3e 20 27 e2 b4 8a ',.'...'.=>.'...',.'...'.=>.'...
15d4e0 27 2c 0a 27 e1 82 ab 27 20 3d 3e 20 27 e2 b4 8b 27 2c 0a 27 e1 82 ac 27 20 3d 3e 20 27 e2 b4 8c ',.'...'.=>.'...',.'...'.=>.'...
15d500 27 2c 0a 27 e1 82 ad 27 20 3d 3e 20 27 e2 b4 8d 27 2c 0a 27 e1 82 ae 27 20 3d 3e 20 27 e2 b4 8e ',.'...'.=>.'...',.'...'.=>.'...
15d520 27 2c 0a 27 e1 82 af 27 20 3d 3e 20 27 e2 b4 8f 27 2c 0a 27 e1 82 b0 27 20 3d 3e 20 27 e2 b4 90 ',.'...'.=>.'...',.'...'.=>.'...
15d540 27 2c 0a 27 e1 82 b1 27 20 3d 3e 20 27 e2 b4 91 27 2c 0a 27 e1 82 b2 27 20 3d 3e 20 27 e2 b4 92 ',.'...'.=>.'...',.'...'.=>.'...
15d560 27 2c 0a 27 e1 82 b3 27 20 3d 3e 20 27 e2 b4 93 27 2c 0a 27 e1 82 b4 27 20 3d 3e 20 27 e2 b4 94 ',.'...'.=>.'...',.'...'.=>.'...
15d580 27 2c 0a 27 e1 82 b5 27 20 3d 3e 20 27 e2 b4 95 27 2c 0a 27 e1 82 b6 27 20 3d 3e 20 27 e2 b4 96 ',.'...'.=>.'...',.'...'.=>.'...
15d5a0 27 2c 0a 27 e1 82 b7 27 20 3d 3e 20 27 e2 b4 97 27 2c 0a 27 e1 82 b8 27 20 3d 3e 20 27 e2 b4 98 ',.'...'.=>.'...',.'...'.=>.'...
15d5c0 27 2c 0a 27 e1 82 b9 27 20 3d 3e 20 27 e2 b4 99 27 2c 0a 27 e1 82 ba 27 20 3d 3e 20 27 e2 b4 9a ',.'...'.=>.'...',.'...'.=>.'...
15d5e0 27 2c 0a 27 e1 82 bb 27 20 3d 3e 20 27 e2 b4 9b 27 2c 0a 27 e1 82 bc 27 20 3d 3e 20 27 e2 b4 9c ',.'...'.=>.'...',.'...'.=>.'...
15d600 27 2c 0a 27 e1 82 bd 27 20 3d 3e 20 27 e2 b4 9d 27 2c 0a 27 e1 82 be 27 20 3d 3e 20 27 e2 b4 9e ',.'...'.=>.'...',.'...'.=>.'...
15d620 27 2c 0a 27 e1 82 bf 27 20 3d 3e 20 27 e2 b4 9f 27 2c 0a 27 e1 83 80 27 20 3d 3e 20 27 e2 b4 a0 ',.'...'.=>.'...',.'...'.=>.'...
15d640 27 2c 0a 27 e1 83 81 27 20 3d 3e 20 27 e2 b4 a1 27 2c 0a 27 e1 83 82 27 20 3d 3e 20 27 e2 b4 a2 ',.'...'.=>.'...',.'...'.=>.'...
15d660 27 2c 0a 27 e1 83 83 27 20 3d 3e 20 27 e2 b4 a3 27 2c 0a 27 e1 83 84 27 20 3d 3e 20 27 e2 b4 a4 ',.'...'.=>.'...',.'...'.=>.'...
15d680 27 2c 0a 27 e1 83 85 27 20 3d 3e 20 27 e2 b4 a5 27 2c 0a 27 e1 83 87 27 20 3d 3e 20 27 e2 b4 a7 ',.'...'.=>.'...',.'...'.=>.'...
15d6a0 27 2c 0a 27 e1 83 8d 27 20 3d 3e 20 27 e2 b4 ad 27 2c 0a 27 e1 b8 80 27 20 3d 3e 20 27 e1 b8 81 ',.'...'.=>.'...',.'...'.=>.'...
15d6c0 27 2c 0a 27 e1 b8 82 27 20 3d 3e 20 27 e1 b8 83 27 2c 0a 27 e1 b8 84 27 20 3d 3e 20 27 e1 b8 85 ',.'...'.=>.'...',.'...'.=>.'...
15d6e0 27 2c 0a 27 e1 b8 86 27 20 3d 3e 20 27 e1 b8 87 27 2c 0a 27 e1 b8 88 27 20 3d 3e 20 27 e1 b8 89 ',.'...'.=>.'...',.'...'.=>.'...
15d700 27 2c 0a 27 e1 b8 8a 27 20 3d 3e 20 27 e1 b8 8b 27 2c 0a 27 e1 b8 8c 27 20 3d 3e 20 27 e1 b8 8d ',.'...'.=>.'...',.'...'.=>.'...
15d720 27 2c 0a 27 e1 b8 8e 27 20 3d 3e 20 27 e1 b8 8f 27 2c 0a 27 e1 b8 90 27 20 3d 3e 20 27 e1 b8 91 ',.'...'.=>.'...',.'...'.=>.'...
15d740 27 2c 0a 27 e1 b8 92 27 20 3d 3e 20 27 e1 b8 93 27 2c 0a 27 e1 b8 94 27 20 3d 3e 20 27 e1 b8 95 ',.'...'.=>.'...',.'...'.=>.'...
15d760 27 2c 0a 27 e1 b8 96 27 20 3d 3e 20 27 e1 b8 97 27 2c 0a 27 e1 b8 98 27 20 3d 3e 20 27 e1 b8 99 ',.'...'.=>.'...',.'...'.=>.'...
15d780 27 2c 0a 27 e1 b8 9a 27 20 3d 3e 20 27 e1 b8 9b 27 2c 0a 27 e1 b8 9c 27 20 3d 3e 20 27 e1 b8 9d ',.'...'.=>.'...',.'...'.=>.'...
15d7a0 27 2c 0a 27 e1 b8 9e 27 20 3d 3e 20 27 e1 b8 9f 27 2c 0a 27 e1 b8 a0 27 20 3d 3e 20 27 e1 b8 a1 ',.'...'.=>.'...',.'...'.=>.'...
15d7c0 27 2c 0a 27 e1 b8 a2 27 20 3d 3e 20 27 e1 b8 a3 27 2c 0a 27 e1 b8 a4 27 20 3d 3e 20 27 e1 b8 a5 ',.'...'.=>.'...',.'...'.=>.'...
15d7e0 27 2c 0a 27 e1 b8 a6 27 20 3d 3e 20 27 e1 b8 a7 27 2c 0a 27 e1 b8 a8 27 20 3d 3e 20 27 e1 b8 a9 ',.'...'.=>.'...',.'...'.=>.'...
15d800 27 2c 0a 27 e1 b8 aa 27 20 3d 3e 20 27 e1 b8 ab 27 2c 0a 27 e1 b8 ac 27 20 3d 3e 20 27 e1 b8 ad ',.'...'.=>.'...',.'...'.=>.'...
15d820 27 2c 0a 27 e1 b8 ae 27 20 3d 3e 20 27 e1 b8 af 27 2c 0a 27 e1 b8 b0 27 20 3d 3e 20 27 e1 b8 b1 ',.'...'.=>.'...',.'...'.=>.'...
15d840 27 2c 0a 27 e1 b8 b2 27 20 3d 3e 20 27 e1 b8 b3 27 2c 0a 27 e1 b8 b4 27 20 3d 3e 20 27 e1 b8 b5 ',.'...'.=>.'...',.'...'.=>.'...
15d860 27 2c 0a 27 e1 b8 b6 27 20 3d 3e 20 27 e1 b8 b7 27 2c 0a 27 e1 b8 b8 27 20 3d 3e 20 27 e1 b8 b9 ',.'...'.=>.'...',.'...'.=>.'...
15d880 27 2c 0a 27 e1 b8 ba 27 20 3d 3e 20 27 e1 b8 bb 27 2c 0a 27 e1 b8 bc 27 20 3d 3e 20 27 e1 b8 bd ',.'...'.=>.'...',.'...'.=>.'...
15d8a0 27 2c 0a 27 e1 b8 be 27 20 3d 3e 20 27 e1 b8 bf 27 2c 0a 27 e1 b9 80 27 20 3d 3e 20 27 e1 b9 81 ',.'...'.=>.'...',.'...'.=>.'...
15d8c0 27 2c 0a 27 e1 b9 82 27 20 3d 3e 20 27 e1 b9 83 27 2c 0a 27 e1 b9 84 27 20 3d 3e 20 27 e1 b9 85 ',.'...'.=>.'...',.'...'.=>.'...
15d8e0 27 2c 0a 27 e1 b9 86 27 20 3d 3e 20 27 e1 b9 87 27 2c 0a 27 e1 b9 88 27 20 3d 3e 20 27 e1 b9 89 ',.'...'.=>.'...',.'...'.=>.'...
15d900 27 2c 0a 27 e1 b9 8a 27 20 3d 3e 20 27 e1 b9 8b 27 2c 0a 27 e1 b9 8c 27 20 3d 3e 20 27 e1 b9 8d ',.'...'.=>.'...',.'...'.=>.'...
15d920 27 2c 0a 27 e1 b9 8e 27 20 3d 3e 20 27 e1 b9 8f 27 2c 0a 27 e1 b9 90 27 20 3d 3e 20 27 e1 b9 91 ',.'...'.=>.'...',.'...'.=>.'...
15d940 27 2c 0a 27 e1 b9 92 27 20 3d 3e 20 27 e1 b9 93 27 2c 0a 27 e1 b9 94 27 20 3d 3e 20 27 e1 b9 95 ',.'...'.=>.'...',.'...'.=>.'...
15d960 27 2c 0a 27 e1 b9 96 27 20 3d 3e 20 27 e1 b9 97 27 2c 0a 27 e1 b9 98 27 20 3d 3e 20 27 e1 b9 99 ',.'...'.=>.'...',.'...'.=>.'...
15d980 27 2c 0a 27 e1 b9 9a 27 20 3d 3e 20 27 e1 b9 9b 27 2c 0a 27 e1 b9 9c 27 20 3d 3e 20 27 e1 b9 9d ',.'...'.=>.'...',.'...'.=>.'...
15d9a0 27 2c 0a 27 e1 b9 9e 27 20 3d 3e 20 27 e1 b9 9f 27 2c 0a 27 e1 b9 a0 27 20 3d 3e 20 27 e1 b9 a1 ',.'...'.=>.'...',.'...'.=>.'...
15d9c0 27 2c 0a 27 e1 b9 a2 27 20 3d 3e 20 27 e1 b9 a3 27 2c 0a 27 e1 b9 a4 27 20 3d 3e 20 27 e1 b9 a5 ',.'...'.=>.'...',.'...'.=>.'...
15d9e0 27 2c 0a 27 e1 b9 a6 27 20 3d 3e 20 27 e1 b9 a7 27 2c 0a 27 e1 b9 a8 27 20 3d 3e 20 27 e1 b9 a9 ',.'...'.=>.'...',.'...'.=>.'...
15da00 27 2c 0a 27 e1 b9 aa 27 20 3d 3e 20 27 e1 b9 ab 27 2c 0a 27 e1 b9 ac 27 20 3d 3e 20 27 e1 b9 ad ',.'...'.=>.'...',.'...'.=>.'...
15da20 27 2c 0a 27 e1 b9 ae 27 20 3d 3e 20 27 e1 b9 af 27 2c 0a 27 e1 b9 b0 27 20 3d 3e 20 27 e1 b9 b1 ',.'...'.=>.'...',.'...'.=>.'...
15da40 27 2c 0a 27 e1 b9 b2 27 20 3d 3e 20 27 e1 b9 b3 27 2c 0a 27 e1 b9 b4 27 20 3d 3e 20 27 e1 b9 b5 ',.'...'.=>.'...',.'...'.=>.'...
15da60 27 2c 0a 27 e1 b9 b6 27 20 3d 3e 20 27 e1 b9 b7 27 2c 0a 27 e1 b9 b8 27 20 3d 3e 20 27 e1 b9 b9 ',.'...'.=>.'...',.'...'.=>.'...
15da80 27 2c 0a 27 e1 b9 ba 27 20 3d 3e 20 27 e1 b9 bb 27 2c 0a 27 e1 b9 bc 27 20 3d 3e 20 27 e1 b9 bd ',.'...'.=>.'...',.'...'.=>.'...
15daa0 27 2c 0a 27 e1 b9 be 27 20 3d 3e 20 27 e1 b9 bf 27 2c 0a 27 e1 ba 80 27 20 3d 3e 20 27 e1 ba 81 ',.'...'.=>.'...',.'...'.=>.'...
15dac0 27 2c 0a 27 e1 ba 82 27 20 3d 3e 20 27 e1 ba 83 27 2c 0a 27 e1 ba 84 27 20 3d 3e 20 27 e1 ba 85 ',.'...'.=>.'...',.'...'.=>.'...
15dae0 27 2c 0a 27 e1 ba 86 27 20 3d 3e 20 27 e1 ba 87 27 2c 0a 27 e1 ba 88 27 20 3d 3e 20 27 e1 ba 89 ',.'...'.=>.'...',.'...'.=>.'...
15db00 27 2c 0a 27 e1 ba 8a 27 20 3d 3e 20 27 e1 ba 8b 27 2c 0a 27 e1 ba 8c 27 20 3d 3e 20 27 e1 ba 8d ',.'...'.=>.'...',.'...'.=>.'...
15db20 27 2c 0a 27 e1 ba 8e 27 20 3d 3e 20 27 e1 ba 8f 27 2c 0a 27 e1 ba 90 27 20 3d 3e 20 27 e1 ba 91 ',.'...'.=>.'...',.'...'.=>.'...
15db40 27 2c 0a 27 e1 ba 92 27 20 3d 3e 20 27 e1 ba 93 27 2c 0a 27 e1 ba 94 27 20 3d 3e 20 27 e1 ba 95 ',.'...'.=>.'...',.'...'.=>.'...
15db60 27 2c 0a 27 e1 ba 9e 27 20 3d 3e 20 27 c3 9f 27 2c 0a 27 e1 ba a0 27 20 3d 3e 20 27 e1 ba a1 27 ',.'...'.=>.'..',.'...'.=>.'...'
15db80 2c 0a 27 e1 ba a2 27 20 3d 3e 20 27 e1 ba a3 27 2c 0a 27 e1 ba a4 27 20 3d 3e 20 27 e1 ba a5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dba0 2c 0a 27 e1 ba a6 27 20 3d 3e 20 27 e1 ba a7 27 2c 0a 27 e1 ba a8 27 20 3d 3e 20 27 e1 ba a9 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dbc0 2c 0a 27 e1 ba aa 27 20 3d 3e 20 27 e1 ba ab 27 2c 0a 27 e1 ba ac 27 20 3d 3e 20 27 e1 ba ad 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dbe0 2c 0a 27 e1 ba ae 27 20 3d 3e 20 27 e1 ba af 27 2c 0a 27 e1 ba b0 27 20 3d 3e 20 27 e1 ba b1 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dc00 2c 0a 27 e1 ba b2 27 20 3d 3e 20 27 e1 ba b3 27 2c 0a 27 e1 ba b4 27 20 3d 3e 20 27 e1 ba b5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dc20 2c 0a 27 e1 ba b6 27 20 3d 3e 20 27 e1 ba b7 27 2c 0a 27 e1 ba b8 27 20 3d 3e 20 27 e1 ba b9 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dc40 2c 0a 27 e1 ba ba 27 20 3d 3e 20 27 e1 ba bb 27 2c 0a 27 e1 ba bc 27 20 3d 3e 20 27 e1 ba bd 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dc60 2c 0a 27 e1 ba be 27 20 3d 3e 20 27 e1 ba bf 27 2c 0a 27 e1 bb 80 27 20 3d 3e 20 27 e1 bb 81 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dc80 2c 0a 27 e1 bb 82 27 20 3d 3e 20 27 e1 bb 83 27 2c 0a 27 e1 bb 84 27 20 3d 3e 20 27 e1 bb 85 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dca0 2c 0a 27 e1 bb 86 27 20 3d 3e 20 27 e1 bb 87 27 2c 0a 27 e1 bb 88 27 20 3d 3e 20 27 e1 bb 89 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dcc0 2c 0a 27 e1 bb 8a 27 20 3d 3e 20 27 e1 bb 8b 27 2c 0a 27 e1 bb 8c 27 20 3d 3e 20 27 e1 bb 8d 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dce0 2c 0a 27 e1 bb 8e 27 20 3d 3e 20 27 e1 bb 8f 27 2c 0a 27 e1 bb 90 27 20 3d 3e 20 27 e1 bb 91 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dd00 2c 0a 27 e1 bb 92 27 20 3d 3e 20 27 e1 bb 93 27 2c 0a 27 e1 bb 94 27 20 3d 3e 20 27 e1 bb 95 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dd20 2c 0a 27 e1 bb 96 27 20 3d 3e 20 27 e1 bb 97 27 2c 0a 27 e1 bb 98 27 20 3d 3e 20 27 e1 bb 99 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dd40 2c 0a 27 e1 bb 9a 27 20 3d 3e 20 27 e1 bb 9b 27 2c 0a 27 e1 bb 9c 27 20 3d 3e 20 27 e1 bb 9d 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dd60 2c 0a 27 e1 bb 9e 27 20 3d 3e 20 27 e1 bb 9f 27 2c 0a 27 e1 bb a0 27 20 3d 3e 20 27 e1 bb a1 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dd80 2c 0a 27 e1 bb a2 27 20 3d 3e 20 27 e1 bb a3 27 2c 0a 27 e1 bb a4 27 20 3d 3e 20 27 e1 bb a5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dda0 2c 0a 27 e1 bb a6 27 20 3d 3e 20 27 e1 bb a7 27 2c 0a 27 e1 bb a8 27 20 3d 3e 20 27 e1 bb a9 27 ,.'...'.=>.'...',.'...'.=>.'...'
15ddc0 2c 0a 27 e1 bb aa 27 20 3d 3e 20 27 e1 bb ab 27 2c 0a 27 e1 bb ac 27 20 3d 3e 20 27 e1 bb ad 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dde0 2c 0a 27 e1 bb ae 27 20 3d 3e 20 27 e1 bb af 27 2c 0a 27 e1 bb b0 27 20 3d 3e 20 27 e1 bb b1 27 ,.'...'.=>.'...',.'...'.=>.'...'
15de00 2c 0a 27 e1 bb b2 27 20 3d 3e 20 27 e1 bb b3 27 2c 0a 27 e1 bb b4 27 20 3d 3e 20 27 e1 bb b5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15de20 2c 0a 27 e1 bb b6 27 20 3d 3e 20 27 e1 bb b7 27 2c 0a 27 e1 bb b8 27 20 3d 3e 20 27 e1 bb b9 27 ,.'...'.=>.'...',.'...'.=>.'...'
15de40 2c 0a 27 e1 bb ba 27 20 3d 3e 20 27 e1 bb bb 27 2c 0a 27 e1 bb bc 27 20 3d 3e 20 27 e1 bb bd 27 ,.'...'.=>.'...',.'...'.=>.'...'
15de60 2c 0a 27 e1 bb be 27 20 3d 3e 20 27 e1 bb bf 27 2c 0a 27 e1 bc 88 27 20 3d 3e 20 27 e1 bc 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
15de80 2c 0a 27 e1 bc 89 27 20 3d 3e 20 27 e1 bc 81 27 2c 0a 27 e1 bc 8a 27 20 3d 3e 20 27 e1 bc 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dea0 2c 0a 27 e1 bc 8b 27 20 3d 3e 20 27 e1 bc 83 27 2c 0a 27 e1 bc 8c 27 20 3d 3e 20 27 e1 bc 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dec0 2c 0a 27 e1 bc 8d 27 20 3d 3e 20 27 e1 bc 85 27 2c 0a 27 e1 bc 8e 27 20 3d 3e 20 27 e1 bc 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dee0 2c 0a 27 e1 bc 8f 27 20 3d 3e 20 27 e1 bc 87 27 2c 0a 27 e1 bc 98 27 20 3d 3e 20 27 e1 bc 90 27 ,.'...'.=>.'...',.'...'.=>.'...'
15df00 2c 0a 27 e1 bc 99 27 20 3d 3e 20 27 e1 bc 91 27 2c 0a 27 e1 bc 9a 27 20 3d 3e 20 27 e1 bc 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
15df20 2c 0a 27 e1 bc 9b 27 20 3d 3e 20 27 e1 bc 93 27 2c 0a 27 e1 bc 9c 27 20 3d 3e 20 27 e1 bc 94 27 ,.'...'.=>.'...',.'...'.=>.'...'
15df40 2c 0a 27 e1 bc 9d 27 20 3d 3e 20 27 e1 bc 95 27 2c 0a 27 e1 bc a8 27 20 3d 3e 20 27 e1 bc a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15df60 2c 0a 27 e1 bc a9 27 20 3d 3e 20 27 e1 bc a1 27 2c 0a 27 e1 bc aa 27 20 3d 3e 20 27 e1 bc a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
15df80 2c 0a 27 e1 bc ab 27 20 3d 3e 20 27 e1 bc a3 27 2c 0a 27 e1 bc ac 27 20 3d 3e 20 27 e1 bc a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dfa0 2c 0a 27 e1 bc ad 27 20 3d 3e 20 27 e1 bc a5 27 2c 0a 27 e1 bc ae 27 20 3d 3e 20 27 e1 bc a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dfc0 2c 0a 27 e1 bc af 27 20 3d 3e 20 27 e1 bc a7 27 2c 0a 27 e1 bc b8 27 20 3d 3e 20 27 e1 bc b0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15dfe0 2c 0a 27 e1 bc b9 27 20 3d 3e 20 27 e1 bc b1 27 2c 0a 27 e1 bc ba 27 20 3d 3e 20 27 e1 bc b2 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e000 2c 0a 27 e1 bc bb 27 20 3d 3e 20 27 e1 bc b3 27 2c 0a 27 e1 bc bc 27 20 3d 3e 20 27 e1 bc b4 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e020 2c 0a 27 e1 bc bd 27 20 3d 3e 20 27 e1 bc b5 27 2c 0a 27 e1 bc be 27 20 3d 3e 20 27 e1 bc b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e040 2c 0a 27 e1 bc bf 27 20 3d 3e 20 27 e1 bc b7 27 2c 0a 27 e1 bd 88 27 20 3d 3e 20 27 e1 bd 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e060 2c 0a 27 e1 bd 89 27 20 3d 3e 20 27 e1 bd 81 27 2c 0a 27 e1 bd 8a 27 20 3d 3e 20 27 e1 bd 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e080 2c 0a 27 e1 bd 8b 27 20 3d 3e 20 27 e1 bd 83 27 2c 0a 27 e1 bd 8c 27 20 3d 3e 20 27 e1 bd 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e0a0 2c 0a 27 e1 bd 8d 27 20 3d 3e 20 27 e1 bd 85 27 2c 0a 27 e1 bd 99 27 20 3d 3e 20 27 e1 bd 91 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e0c0 2c 0a 27 e1 bd 9b 27 20 3d 3e 20 27 e1 bd 93 27 2c 0a 27 e1 bd 9d 27 20 3d 3e 20 27 e1 bd 95 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e0e0 2c 0a 27 e1 bd 9f 27 20 3d 3e 20 27 e1 bd 97 27 2c 0a 27 e1 bd a8 27 20 3d 3e 20 27 e1 bd a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e100 2c 0a 27 e1 bd a9 27 20 3d 3e 20 27 e1 bd a1 27 2c 0a 27 e1 bd aa 27 20 3d 3e 20 27 e1 bd a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e120 2c 0a 27 e1 bd ab 27 20 3d 3e 20 27 e1 bd a3 27 2c 0a 27 e1 bd ac 27 20 3d 3e 20 27 e1 bd a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e140 2c 0a 27 e1 bd ad 27 20 3d 3e 20 27 e1 bd a5 27 2c 0a 27 e1 bd ae 27 20 3d 3e 20 27 e1 bd a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e160 2c 0a 27 e1 bd af 27 20 3d 3e 20 27 e1 bd a7 27 2c 0a 27 e1 be 88 27 20 3d 3e 20 27 e1 be 80 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e180 2c 0a 27 e1 be 89 27 20 3d 3e 20 27 e1 be 81 27 2c 0a 27 e1 be 8a 27 20 3d 3e 20 27 e1 be 82 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e1a0 2c 0a 27 e1 be 8b 27 20 3d 3e 20 27 e1 be 83 27 2c 0a 27 e1 be 8c 27 20 3d 3e 20 27 e1 be 84 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e1c0 2c 0a 27 e1 be 8d 27 20 3d 3e 20 27 e1 be 85 27 2c 0a 27 e1 be 8e 27 20 3d 3e 20 27 e1 be 86 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e1e0 2c 0a 27 e1 be 8f 27 20 3d 3e 20 27 e1 be 87 27 2c 0a 27 e1 be 98 27 20 3d 3e 20 27 e1 be 90 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e200 2c 0a 27 e1 be 99 27 20 3d 3e 20 27 e1 be 91 27 2c 0a 27 e1 be 9a 27 20 3d 3e 20 27 e1 be 92 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e220 2c 0a 27 e1 be 9b 27 20 3d 3e 20 27 e1 be 93 27 2c 0a 27 e1 be 9c 27 20 3d 3e 20 27 e1 be 94 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e240 2c 0a 27 e1 be 9d 27 20 3d 3e 20 27 e1 be 95 27 2c 0a 27 e1 be 9e 27 20 3d 3e 20 27 e1 be 96 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e260 2c 0a 27 e1 be 9f 27 20 3d 3e 20 27 e1 be 97 27 2c 0a 27 e1 be a8 27 20 3d 3e 20 27 e1 be a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e280 2c 0a 27 e1 be a9 27 20 3d 3e 20 27 e1 be a1 27 2c 0a 27 e1 be aa 27 20 3d 3e 20 27 e1 be a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e2a0 2c 0a 27 e1 be ab 27 20 3d 3e 20 27 e1 be a3 27 2c 0a 27 e1 be ac 27 20 3d 3e 20 27 e1 be a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e2c0 2c 0a 27 e1 be ad 27 20 3d 3e 20 27 e1 be a5 27 2c 0a 27 e1 be ae 27 20 3d 3e 20 27 e1 be a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e2e0 2c 0a 27 e1 be af 27 20 3d 3e 20 27 e1 be a7 27 2c 0a 27 e1 be b8 27 20 3d 3e 20 27 e1 be b0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e300 2c 0a 27 e1 be b9 27 20 3d 3e 20 27 e1 be b1 27 2c 0a 27 e1 be ba 27 20 3d 3e 20 27 e1 bd b0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e320 2c 0a 27 e1 be bb 27 20 3d 3e 20 27 e1 bd b1 27 2c 0a 27 e1 be bc 27 20 3d 3e 20 27 e1 be b3 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e340 2c 0a 27 e1 bf 88 27 20 3d 3e 20 27 e1 bd b2 27 2c 0a 27 e1 bf 89 27 20 3d 3e 20 27 e1 bd b3 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e360 2c 0a 27 e1 bf 8a 27 20 3d 3e 20 27 e1 bd b4 27 2c 0a 27 e1 bf 8b 27 20 3d 3e 20 27 e1 bd b5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e380 2c 0a 27 e1 bf 8c 27 20 3d 3e 20 27 e1 bf 83 27 2c 0a 27 e1 bf 98 27 20 3d 3e 20 27 e1 bf 90 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e3a0 2c 0a 27 e1 bf 99 27 20 3d 3e 20 27 e1 bf 91 27 2c 0a 27 e1 bf 9a 27 20 3d 3e 20 27 e1 bd b6 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e3c0 2c 0a 27 e1 bf 9b 27 20 3d 3e 20 27 e1 bd b7 27 2c 0a 27 e1 bf a8 27 20 3d 3e 20 27 e1 bf a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e3e0 2c 0a 27 e1 bf a9 27 20 3d 3e 20 27 e1 bf a1 27 2c 0a 27 e1 bf aa 27 20 3d 3e 20 27 e1 bd ba 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e400 2c 0a 27 e1 bf ab 27 20 3d 3e 20 27 e1 bd bb 27 2c 0a 27 e1 bf ac 27 20 3d 3e 20 27 e1 bf a5 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e420 2c 0a 27 e1 bf b8 27 20 3d 3e 20 27 e1 bd b8 27 2c 0a 27 e1 bf b9 27 20 3d 3e 20 27 e1 bd b9 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e440 2c 0a 27 e1 bf ba 27 20 3d 3e 20 27 e1 bd bc 27 2c 0a 27 e1 bf bb 27 20 3d 3e 20 27 e1 bd bd 27 ,.'...'.=>.'...',.'...'.=>.'...'
15e460 2c 0a 27 e1 bf bc 27 20 3d 3e 20 27 e1 bf b3 27 2c 0a 27 e2 84 a6 27 20 3d 3e 20 27 cf 89 27 2c ,.'...'.=>.'...',.'...'.=>.'..',
15e480 0a 27 e2 84 aa 27 20 3d 3e 20 27 6b 27 2c 0a 27 e2 84 ab 27 20 3d 3e 20 27 c3 a5 27 2c 0a 27 e2 .'...'.=>.'k',.'...'.=>.'..',.'.
15e4a0 84 b2 27 20 3d 3e 20 27 e2 85 8e 27 2c 0a 27 e2 85 a0 27 20 3d 3e 20 27 e2 85 b0 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e4c0 85 a1 27 20 3d 3e 20 27 e2 85 b1 27 2c 0a 27 e2 85 a2 27 20 3d 3e 20 27 e2 85 b2 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e4e0 85 a3 27 20 3d 3e 20 27 e2 85 b3 27 2c 0a 27 e2 85 a4 27 20 3d 3e 20 27 e2 85 b4 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e500 85 a5 27 20 3d 3e 20 27 e2 85 b5 27 2c 0a 27 e2 85 a6 27 20 3d 3e 20 27 e2 85 b6 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e520 85 a7 27 20 3d 3e 20 27 e2 85 b7 27 2c 0a 27 e2 85 a8 27 20 3d 3e 20 27 e2 85 b8 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e540 85 a9 27 20 3d 3e 20 27 e2 85 b9 27 2c 0a 27 e2 85 aa 27 20 3d 3e 20 27 e2 85 ba 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e560 85 ab 27 20 3d 3e 20 27 e2 85 bb 27 2c 0a 27 e2 85 ac 27 20 3d 3e 20 27 e2 85 bc 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e580 85 ad 27 20 3d 3e 20 27 e2 85 bd 27 2c 0a 27 e2 85 ae 27 20 3d 3e 20 27 e2 85 be 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e5a0 85 af 27 20 3d 3e 20 27 e2 85 bf 27 2c 0a 27 e2 86 83 27 20 3d 3e 20 27 e2 86 84 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e5c0 92 b6 27 20 3d 3e 20 27 e2 93 90 27 2c 0a 27 e2 92 b7 27 20 3d 3e 20 27 e2 93 91 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e5e0 92 b8 27 20 3d 3e 20 27 e2 93 92 27 2c 0a 27 e2 92 b9 27 20 3d 3e 20 27 e2 93 93 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e600 92 ba 27 20 3d 3e 20 27 e2 93 94 27 2c 0a 27 e2 92 bb 27 20 3d 3e 20 27 e2 93 95 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e620 92 bc 27 20 3d 3e 20 27 e2 93 96 27 2c 0a 27 e2 92 bd 27 20 3d 3e 20 27 e2 93 97 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e640 92 be 27 20 3d 3e 20 27 e2 93 98 27 2c 0a 27 e2 92 bf 27 20 3d 3e 20 27 e2 93 99 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e660 93 80 27 20 3d 3e 20 27 e2 93 9a 27 2c 0a 27 e2 93 81 27 20 3d 3e 20 27 e2 93 9b 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e680 93 82 27 20 3d 3e 20 27 e2 93 9c 27 2c 0a 27 e2 93 83 27 20 3d 3e 20 27 e2 93 9d 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e6a0 93 84 27 20 3d 3e 20 27 e2 93 9e 27 2c 0a 27 e2 93 85 27 20 3d 3e 20 27 e2 93 9f 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e6c0 93 86 27 20 3d 3e 20 27 e2 93 a0 27 2c 0a 27 e2 93 87 27 20 3d 3e 20 27 e2 93 a1 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e6e0 93 88 27 20 3d 3e 20 27 e2 93 a2 27 2c 0a 27 e2 93 89 27 20 3d 3e 20 27 e2 93 a3 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e700 93 8a 27 20 3d 3e 20 27 e2 93 a4 27 2c 0a 27 e2 93 8b 27 20 3d 3e 20 27 e2 93 a5 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e720 93 8c 27 20 3d 3e 20 27 e2 93 a6 27 2c 0a 27 e2 93 8d 27 20 3d 3e 20 27 e2 93 a7 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e740 93 8e 27 20 3d 3e 20 27 e2 93 a8 27 2c 0a 27 e2 93 8f 27 20 3d 3e 20 27 e2 93 a9 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e760 b0 80 27 20 3d 3e 20 27 e2 b0 b0 27 2c 0a 27 e2 b0 81 27 20 3d 3e 20 27 e2 b0 b1 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e780 b0 82 27 20 3d 3e 20 27 e2 b0 b2 27 2c 0a 27 e2 b0 83 27 20 3d 3e 20 27 e2 b0 b3 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e7a0 b0 84 27 20 3d 3e 20 27 e2 b0 b4 27 2c 0a 27 e2 b0 85 27 20 3d 3e 20 27 e2 b0 b5 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e7c0 b0 86 27 20 3d 3e 20 27 e2 b0 b6 27 2c 0a 27 e2 b0 87 27 20 3d 3e 20 27 e2 b0 b7 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e7e0 b0 88 27 20 3d 3e 20 27 e2 b0 b8 27 2c 0a 27 e2 b0 89 27 20 3d 3e 20 27 e2 b0 b9 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e800 b0 8a 27 20 3d 3e 20 27 e2 b0 ba 27 2c 0a 27 e2 b0 8b 27 20 3d 3e 20 27 e2 b0 bb 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e820 b0 8c 27 20 3d 3e 20 27 e2 b0 bc 27 2c 0a 27 e2 b0 8d 27 20 3d 3e 20 27 e2 b0 bd 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e840 b0 8e 27 20 3d 3e 20 27 e2 b0 be 27 2c 0a 27 e2 b0 8f 27 20 3d 3e 20 27 e2 b0 bf 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e860 b0 90 27 20 3d 3e 20 27 e2 b1 80 27 2c 0a 27 e2 b0 91 27 20 3d 3e 20 27 e2 b1 81 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e880 b0 92 27 20 3d 3e 20 27 e2 b1 82 27 2c 0a 27 e2 b0 93 27 20 3d 3e 20 27 e2 b1 83 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e8a0 b0 94 27 20 3d 3e 20 27 e2 b1 84 27 2c 0a 27 e2 b0 95 27 20 3d 3e 20 27 e2 b1 85 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e8c0 b0 96 27 20 3d 3e 20 27 e2 b1 86 27 2c 0a 27 e2 b0 97 27 20 3d 3e 20 27 e2 b1 87 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e8e0 b0 98 27 20 3d 3e 20 27 e2 b1 88 27 2c 0a 27 e2 b0 99 27 20 3d 3e 20 27 e2 b1 89 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e900 b0 9a 27 20 3d 3e 20 27 e2 b1 8a 27 2c 0a 27 e2 b0 9b 27 20 3d 3e 20 27 e2 b1 8b 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e920 b0 9c 27 20 3d 3e 20 27 e2 b1 8c 27 2c 0a 27 e2 b0 9d 27 20 3d 3e 20 27 e2 b1 8d 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e940 b0 9e 27 20 3d 3e 20 27 e2 b1 8e 27 2c 0a 27 e2 b0 9f 27 20 3d 3e 20 27 e2 b1 8f 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e960 b0 a0 27 20 3d 3e 20 27 e2 b1 90 27 2c 0a 27 e2 b0 a1 27 20 3d 3e 20 27 e2 b1 91 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e980 b0 a2 27 20 3d 3e 20 27 e2 b1 92 27 2c 0a 27 e2 b0 a3 27 20 3d 3e 20 27 e2 b1 93 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e9a0 b0 a4 27 20 3d 3e 20 27 e2 b1 94 27 2c 0a 27 e2 b0 a5 27 20 3d 3e 20 27 e2 b1 95 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e9c0 b0 a6 27 20 3d 3e 20 27 e2 b1 96 27 2c 0a 27 e2 b0 a7 27 20 3d 3e 20 27 e2 b1 97 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15e9e0 b0 a8 27 20 3d 3e 20 27 e2 b1 98 27 2c 0a 27 e2 b0 a9 27 20 3d 3e 20 27 e2 b1 99 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15ea00 b0 aa 27 20 3d 3e 20 27 e2 b1 9a 27 2c 0a 27 e2 b0 ab 27 20 3d 3e 20 27 e2 b1 9b 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15ea20 b0 ac 27 20 3d 3e 20 27 e2 b1 9c 27 2c 0a 27 e2 b0 ad 27 20 3d 3e 20 27 e2 b1 9d 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15ea40 b0 ae 27 20 3d 3e 20 27 e2 b1 9e 27 2c 0a 27 e2 b1 a0 27 20 3d 3e 20 27 e2 b1 a1 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
15ea60 b1 a2 27 20 3d 3e 20 27 c9 ab 27 2c 0a 27 e2 b1 a3 27 20 3d 3e 20 27 e1 b5 bd 27 2c 0a 27 e2 b1 ..'.=>.'..',.'...'.=>.'...',.'..
15ea80 a4 27 20 3d 3e 20 27 c9 bd 27 2c 0a 27 e2 b1 a7 27 20 3d 3e 20 27 e2 b1 a8 27 2c 0a 27 e2 b1 a9 .'.=>.'..',.'...'.=>.'...',.'...
15eaa0 27 20 3d 3e 20 27 e2 b1 aa 27 2c 0a 27 e2 b1 ab 27 20 3d 3e 20 27 e2 b1 ac 27 2c 0a 27 e2 b1 ad '.=>.'...',.'...'.=>.'...',.'...
15eac0 27 20 3d 3e 20 27 c9 91 27 2c 0a 27 e2 b1 ae 27 20 3d 3e 20 27 c9 b1 27 2c 0a 27 e2 b1 af 27 20 '.=>.'..',.'...'.=>.'..',.'...'.
15eae0 3d 3e 20 27 c9 90 27 2c 0a 27 e2 b1 b0 27 20 3d 3e 20 27 c9 92 27 2c 0a 27 e2 b1 b2 27 20 3d 3e =>.'..',.'...'.=>.'..',.'...'.=>
15eb00 20 27 e2 b1 b3 27 2c 0a 27 e2 b1 b5 27 20 3d 3e 20 27 e2 b1 b6 27 2c 0a 27 e2 b1 be 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
15eb20 20 27 c8 bf 27 2c 0a 27 e2 b1 bf 27 20 3d 3e 20 27 c9 80 27 2c 0a 27 e2 b2 80 27 20 3d 3e 20 27 .'..',.'...'.=>.'..',.'...'.=>.'
15eb40 e2 b2 81 27 2c 0a 27 e2 b2 82 27 20 3d 3e 20 27 e2 b2 83 27 2c 0a 27 e2 b2 84 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eb60 e2 b2 85 27 2c 0a 27 e2 b2 86 27 20 3d 3e 20 27 e2 b2 87 27 2c 0a 27 e2 b2 88 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eb80 e2 b2 89 27 2c 0a 27 e2 b2 8a 27 20 3d 3e 20 27 e2 b2 8b 27 2c 0a 27 e2 b2 8c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eba0 e2 b2 8d 27 2c 0a 27 e2 b2 8e 27 20 3d 3e 20 27 e2 b2 8f 27 2c 0a 27 e2 b2 90 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ebc0 e2 b2 91 27 2c 0a 27 e2 b2 92 27 20 3d 3e 20 27 e2 b2 93 27 2c 0a 27 e2 b2 94 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ebe0 e2 b2 95 27 2c 0a 27 e2 b2 96 27 20 3d 3e 20 27 e2 b2 97 27 2c 0a 27 e2 b2 98 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ec00 e2 b2 99 27 2c 0a 27 e2 b2 9a 27 20 3d 3e 20 27 e2 b2 9b 27 2c 0a 27 e2 b2 9c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ec20 e2 b2 9d 27 2c 0a 27 e2 b2 9e 27 20 3d 3e 20 27 e2 b2 9f 27 2c 0a 27 e2 b2 a0 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ec40 e2 b2 a1 27 2c 0a 27 e2 b2 a2 27 20 3d 3e 20 27 e2 b2 a3 27 2c 0a 27 e2 b2 a4 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ec60 e2 b2 a5 27 2c 0a 27 e2 b2 a6 27 20 3d 3e 20 27 e2 b2 a7 27 2c 0a 27 e2 b2 a8 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ec80 e2 b2 a9 27 2c 0a 27 e2 b2 aa 27 20 3d 3e 20 27 e2 b2 ab 27 2c 0a 27 e2 b2 ac 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eca0 e2 b2 ad 27 2c 0a 27 e2 b2 ae 27 20 3d 3e 20 27 e2 b2 af 27 2c 0a 27 e2 b2 b0 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ecc0 e2 b2 b1 27 2c 0a 27 e2 b2 b2 27 20 3d 3e 20 27 e2 b2 b3 27 2c 0a 27 e2 b2 b4 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ece0 e2 b2 b5 27 2c 0a 27 e2 b2 b6 27 20 3d 3e 20 27 e2 b2 b7 27 2c 0a 27 e2 b2 b8 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ed00 e2 b2 b9 27 2c 0a 27 e2 b2 ba 27 20 3d 3e 20 27 e2 b2 bb 27 2c 0a 27 e2 b2 bc 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ed20 e2 b2 bd 27 2c 0a 27 e2 b2 be 27 20 3d 3e 20 27 e2 b2 bf 27 2c 0a 27 e2 b3 80 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ed40 e2 b3 81 27 2c 0a 27 e2 b3 82 27 20 3d 3e 20 27 e2 b3 83 27 2c 0a 27 e2 b3 84 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ed60 e2 b3 85 27 2c 0a 27 e2 b3 86 27 20 3d 3e 20 27 e2 b3 87 27 2c 0a 27 e2 b3 88 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ed80 e2 b3 89 27 2c 0a 27 e2 b3 8a 27 20 3d 3e 20 27 e2 b3 8b 27 2c 0a 27 e2 b3 8c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eda0 e2 b3 8d 27 2c 0a 27 e2 b3 8e 27 20 3d 3e 20 27 e2 b3 8f 27 2c 0a 27 e2 b3 90 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15edc0 e2 b3 91 27 2c 0a 27 e2 b3 92 27 20 3d 3e 20 27 e2 b3 93 27 2c 0a 27 e2 b3 94 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ede0 e2 b3 95 27 2c 0a 27 e2 b3 96 27 20 3d 3e 20 27 e2 b3 97 27 2c 0a 27 e2 b3 98 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ee00 e2 b3 99 27 2c 0a 27 e2 b3 9a 27 20 3d 3e 20 27 e2 b3 9b 27 2c 0a 27 e2 b3 9c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ee20 e2 b3 9d 27 2c 0a 27 e2 b3 9e 27 20 3d 3e 20 27 e2 b3 9f 27 2c 0a 27 e2 b3 a0 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ee40 e2 b3 a1 27 2c 0a 27 e2 b3 a2 27 20 3d 3e 20 27 e2 b3 a3 27 2c 0a 27 e2 b3 ab 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ee60 e2 b3 ac 27 2c 0a 27 e2 b3 ad 27 20 3d 3e 20 27 e2 b3 ae 27 2c 0a 27 e2 b3 b2 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ee80 e2 b3 b3 27 2c 0a 27 ea 99 80 27 20 3d 3e 20 27 ea 99 81 27 2c 0a 27 ea 99 82 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eea0 ea 99 83 27 2c 0a 27 ea 99 84 27 20 3d 3e 20 27 ea 99 85 27 2c 0a 27 ea 99 86 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eec0 ea 99 87 27 2c 0a 27 ea 99 88 27 20 3d 3e 20 27 ea 99 89 27 2c 0a 27 ea 99 8a 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15eee0 ea 99 8b 27 2c 0a 27 ea 99 8c 27 20 3d 3e 20 27 ea 99 8d 27 2c 0a 27 ea 99 8e 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ef00 ea 99 8f 27 2c 0a 27 ea 99 90 27 20 3d 3e 20 27 ea 99 91 27 2c 0a 27 ea 99 92 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ef20 ea 99 93 27 2c 0a 27 ea 99 94 27 20 3d 3e 20 27 ea 99 95 27 2c 0a 27 ea 99 96 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ef40 ea 99 97 27 2c 0a 27 ea 99 98 27 20 3d 3e 20 27 ea 99 99 27 2c 0a 27 ea 99 9a 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ef60 ea 99 9b 27 2c 0a 27 ea 99 9c 27 20 3d 3e 20 27 ea 99 9d 27 2c 0a 27 ea 99 9e 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15ef80 ea 99 9f 27 2c 0a 27 ea 99 a0 27 20 3d 3e 20 27 ea 99 a1 27 2c 0a 27 ea 99 a2 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15efa0 ea 99 a3 27 2c 0a 27 ea 99 a4 27 20 3d 3e 20 27 ea 99 a5 27 2c 0a 27 ea 99 a6 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15efc0 ea 99 a7 27 2c 0a 27 ea 99 a8 27 20 3d 3e 20 27 ea 99 a9 27 2c 0a 27 ea 99 aa 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15efe0 ea 99 ab 27 2c 0a 27 ea 99 ac 27 20 3d 3e 20 27 ea 99 ad 27 2c 0a 27 ea 9a 80 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f000 ea 9a 81 27 2c 0a 27 ea 9a 82 27 20 3d 3e 20 27 ea 9a 83 27 2c 0a 27 ea 9a 84 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f020 ea 9a 85 27 2c 0a 27 ea 9a 86 27 20 3d 3e 20 27 ea 9a 87 27 2c 0a 27 ea 9a 88 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f040 ea 9a 89 27 2c 0a 27 ea 9a 8a 27 20 3d 3e 20 27 ea 9a 8b 27 2c 0a 27 ea 9a 8c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f060 ea 9a 8d 27 2c 0a 27 ea 9a 8e 27 20 3d 3e 20 27 ea 9a 8f 27 2c 0a 27 ea 9a 90 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f080 ea 9a 91 27 2c 0a 27 ea 9a 92 27 20 3d 3e 20 27 ea 9a 93 27 2c 0a 27 ea 9a 94 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f0a0 ea 9a 95 27 2c 0a 27 ea 9a 96 27 20 3d 3e 20 27 ea 9a 97 27 2c 0a 27 ea 9a 98 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f0c0 ea 9a 99 27 2c 0a 27 ea 9a 9a 27 20 3d 3e 20 27 ea 9a 9b 27 2c 0a 27 ea 9c a2 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f0e0 ea 9c a3 27 2c 0a 27 ea 9c a4 27 20 3d 3e 20 27 ea 9c a5 27 2c 0a 27 ea 9c a6 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f100 ea 9c a7 27 2c 0a 27 ea 9c a8 27 20 3d 3e 20 27 ea 9c a9 27 2c 0a 27 ea 9c aa 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f120 ea 9c ab 27 2c 0a 27 ea 9c ac 27 20 3d 3e 20 27 ea 9c ad 27 2c 0a 27 ea 9c ae 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f140 ea 9c af 27 2c 0a 27 ea 9c b2 27 20 3d 3e 20 27 ea 9c b3 27 2c 0a 27 ea 9c b4 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f160 ea 9c b5 27 2c 0a 27 ea 9c b6 27 20 3d 3e 20 27 ea 9c b7 27 2c 0a 27 ea 9c b8 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f180 ea 9c b9 27 2c 0a 27 ea 9c ba 27 20 3d 3e 20 27 ea 9c bb 27 2c 0a 27 ea 9c bc 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f1a0 ea 9c bd 27 2c 0a 27 ea 9c be 27 20 3d 3e 20 27 ea 9c bf 27 2c 0a 27 ea 9d 80 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f1c0 ea 9d 81 27 2c 0a 27 ea 9d 82 27 20 3d 3e 20 27 ea 9d 83 27 2c 0a 27 ea 9d 84 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f1e0 ea 9d 85 27 2c 0a 27 ea 9d 86 27 20 3d 3e 20 27 ea 9d 87 27 2c 0a 27 ea 9d 88 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f200 ea 9d 89 27 2c 0a 27 ea 9d 8a 27 20 3d 3e 20 27 ea 9d 8b 27 2c 0a 27 ea 9d 8c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f220 ea 9d 8d 27 2c 0a 27 ea 9d 8e 27 20 3d 3e 20 27 ea 9d 8f 27 2c 0a 27 ea 9d 90 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f240 ea 9d 91 27 2c 0a 27 ea 9d 92 27 20 3d 3e 20 27 ea 9d 93 27 2c 0a 27 ea 9d 94 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f260 ea 9d 95 27 2c 0a 27 ea 9d 96 27 20 3d 3e 20 27 ea 9d 97 27 2c 0a 27 ea 9d 98 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f280 ea 9d 99 27 2c 0a 27 ea 9d 9a 27 20 3d 3e 20 27 ea 9d 9b 27 2c 0a 27 ea 9d 9c 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f2a0 ea 9d 9d 27 2c 0a 27 ea 9d 9e 27 20 3d 3e 20 27 ea 9d 9f 27 2c 0a 27 ea 9d a0 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f2c0 ea 9d a1 27 2c 0a 27 ea 9d a2 27 20 3d 3e 20 27 ea 9d a3 27 2c 0a 27 ea 9d a4 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f2e0 ea 9d a5 27 2c 0a 27 ea 9d a6 27 20 3d 3e 20 27 ea 9d a7 27 2c 0a 27 ea 9d a8 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f300 ea 9d a9 27 2c 0a 27 ea 9d aa 27 20 3d 3e 20 27 ea 9d ab 27 2c 0a 27 ea 9d ac 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f320 ea 9d ad 27 2c 0a 27 ea 9d ae 27 20 3d 3e 20 27 ea 9d af 27 2c 0a 27 ea 9d b9 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f340 ea 9d ba 27 2c 0a 27 ea 9d bb 27 20 3d 3e 20 27 ea 9d bc 27 2c 0a 27 ea 9d bd 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f360 e1 b5 b9 27 2c 0a 27 ea 9d be 27 20 3d 3e 20 27 ea 9d bf 27 2c 0a 27 ea 9e 80 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f380 ea 9e 81 27 2c 0a 27 ea 9e 82 27 20 3d 3e 20 27 ea 9e 83 27 2c 0a 27 ea 9e 84 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f3a0 ea 9e 85 27 2c 0a 27 ea 9e 86 27 20 3d 3e 20 27 ea 9e 87 27 2c 0a 27 ea 9e 8b 27 20 3d 3e 20 27 ...',.'...'.=>.'...',.'...'.=>.'
15f3c0 ea 9e 8c 27 2c 0a 27 ea 9e 8d 27 20 3d 3e 20 27 c9 a5 27 2c 0a 27 ea 9e 90 27 20 3d 3e 20 27 ea ...',.'...'.=>.'..',.'...'.=>.'.
15f3e0 9e 91 27 2c 0a 27 ea 9e 92 27 20 3d 3e 20 27 ea 9e 93 27 2c 0a 27 ea 9e 96 27 20 3d 3e 20 27 ea ..',.'...'.=>.'...',.'...'.=>.'.
15f400 9e 97 27 2c 0a 27 ea 9e 98 27 20 3d 3e 20 27 ea 9e 99 27 2c 0a 27 ea 9e 9a 27 20 3d 3e 20 27 ea ..',.'...'.=>.'...',.'...'.=>.'.
15f420 9e 9b 27 2c 0a 27 ea 9e 9c 27 20 3d 3e 20 27 ea 9e 9d 27 2c 0a 27 ea 9e 9e 27 20 3d 3e 20 27 ea ..',.'...'.=>.'...',.'...'.=>.'.
15f440 9e 9f 27 2c 0a 27 ea 9e a0 27 20 3d 3e 20 27 ea 9e a1 27 2c 0a 27 ea 9e a2 27 20 3d 3e 20 27 ea ..',.'...'.=>.'...',.'...'.=>.'.
15f460 9e a3 27 2c 0a 27 ea 9e a4 27 20 3d 3e 20 27 ea 9e a5 27 2c 0a 27 ea 9e a6 27 20 3d 3e 20 27 ea ..',.'...'.=>.'...',.'...'.=>.'.
15f480 9e a7 27 2c 0a 27 ea 9e a8 27 20 3d 3e 20 27 ea 9e a9 27 2c 0a 27 ea 9e aa 27 20 3d 3e 20 27 c9 ..',.'...'.=>.'...',.'...'.=>.'.
15f4a0 a6 27 2c 0a 27 ea 9e ab 27 20 3d 3e 20 27 c9 9c 27 2c 0a 27 ea 9e ac 27 20 3d 3e 20 27 c9 a1 27 .',.'...'.=>.'..',.'...'.=>.'..'
15f4c0 2c 0a 27 ea 9e ad 27 20 3d 3e 20 27 c9 ac 27 2c 0a 27 ea 9e b0 27 20 3d 3e 20 27 ca 9e 27 2c 0a ,.'...'.=>.'..',.'...'.=>.'..',.
15f4e0 27 ea 9e b1 27 20 3d 3e 20 27 ca 87 27 2c 0a 27 ef bc a1 27 20 3d 3e 20 27 ef bd 81 27 2c 0a 27 '...'.=>.'..',.'...'.=>.'...',.'
15f500 ef bc a2 27 20 3d 3e 20 27 ef bd 82 27 2c 0a 27 ef bc a3 27 20 3d 3e 20 27 ef bd 83 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f520 ef bc a4 27 20 3d 3e 20 27 ef bd 84 27 2c 0a 27 ef bc a5 27 20 3d 3e 20 27 ef bd 85 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f540 ef bc a6 27 20 3d 3e 20 27 ef bd 86 27 2c 0a 27 ef bc a7 27 20 3d 3e 20 27 ef bd 87 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f560 ef bc a8 27 20 3d 3e 20 27 ef bd 88 27 2c 0a 27 ef bc a9 27 20 3d 3e 20 27 ef bd 89 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f580 ef bc aa 27 20 3d 3e 20 27 ef bd 8a 27 2c 0a 27 ef bc ab 27 20 3d 3e 20 27 ef bd 8b 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f5a0 ef bc ac 27 20 3d 3e 20 27 ef bd 8c 27 2c 0a 27 ef bc ad 27 20 3d 3e 20 27 ef bd 8d 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f5c0 ef bc ae 27 20 3d 3e 20 27 ef bd 8e 27 2c 0a 27 ef bc af 27 20 3d 3e 20 27 ef bd 8f 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f5e0 ef bc b0 27 20 3d 3e 20 27 ef bd 90 27 2c 0a 27 ef bc b1 27 20 3d 3e 20 27 ef bd 91 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f600 ef bc b2 27 20 3d 3e 20 27 ef bd 92 27 2c 0a 27 ef bc b3 27 20 3d 3e 20 27 ef bd 93 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f620 ef bc b4 27 20 3d 3e 20 27 ef bd 94 27 2c 0a 27 ef bc b5 27 20 3d 3e 20 27 ef bd 95 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f640 ef bc b6 27 20 3d 3e 20 27 ef bd 96 27 2c 0a 27 ef bc b7 27 20 3d 3e 20 27 ef bd 97 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f660 ef bc b8 27 20 3d 3e 20 27 ef bd 98 27 2c 0a 27 ef bc b9 27 20 3d 3e 20 27 ef bd 99 27 2c 0a 27 ...'.=>.'...',.'...'.=>.'...',.'
15f680 ef bc ba 27 20 3d 3e 20 27 ef bd 9a 27 2c 0a 27 f0 90 90 80 27 20 3d 3e 20 27 f0 90 90 a8 27 2c ...'.=>.'...',.'....'.=>.'....',
15f6a0 0a 27 f0 90 90 81 27 20 3d 3e 20 27 f0 90 90 a9 27 2c 0a 27 f0 90 90 82 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
15f6c0 90 aa 27 2c 0a 27 f0 90 90 83 27 20 3d 3e 20 27 f0 90 90 ab 27 2c 0a 27 f0 90 90 84 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
15f6e0 20 27 f0 90 90 ac 27 2c 0a 27 f0 90 90 85 27 20 3d 3e 20 27 f0 90 90 ad 27 2c 0a 27 f0 90 90 86 .'....',.'....'.=>.'....',.'....
15f700 27 20 3d 3e 20 27 f0 90 90 ae 27 2c 0a 27 f0 90 90 87 27 20 3d 3e 20 27 f0 90 90 af 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
15f720 f0 90 90 88 27 20 3d 3e 20 27 f0 90 90 b0 27 2c 0a 27 f0 90 90 89 27 20 3d 3e 20 27 f0 90 90 b1 ....'.=>.'....',.'....'.=>.'....
15f740 27 2c 0a 27 f0 90 90 8a 27 20 3d 3e 20 27 f0 90 90 b2 27 2c 0a 27 f0 90 90 8b 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
15f760 f0 90 90 b3 27 2c 0a 27 f0 90 90 8c 27 20 3d 3e 20 27 f0 90 90 b4 27 2c 0a 27 f0 90 90 8d 27 20 ....',.'....'.=>.'....',.'....'.
15f780 3d 3e 20 27 f0 90 90 b5 27 2c 0a 27 f0 90 90 8e 27 20 3d 3e 20 27 f0 90 90 b6 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
15f7a0 90 8f 27 20 3d 3e 20 27 f0 90 90 b7 27 2c 0a 27 f0 90 90 90 27 20 3d 3e 20 27 f0 90 90 b8 27 2c ..'.=>.'....',.'....'.=>.'....',
15f7c0 0a 27 f0 90 90 91 27 20 3d 3e 20 27 f0 90 90 b9 27 2c 0a 27 f0 90 90 92 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
15f7e0 90 ba 27 2c 0a 27 f0 90 90 93 27 20 3d 3e 20 27 f0 90 90 bb 27 2c 0a 27 f0 90 90 94 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
15f800 20 27 f0 90 90 bc 27 2c 0a 27 f0 90 90 95 27 20 3d 3e 20 27 f0 90 90 bd 27 2c 0a 27 f0 90 90 96 .'....',.'....'.=>.'....',.'....
15f820 27 20 3d 3e 20 27 f0 90 90 be 27 2c 0a 27 f0 90 90 97 27 20 3d 3e 20 27 f0 90 90 bf 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
15f840 f0 90 90 98 27 20 3d 3e 20 27 f0 90 91 80 27 2c 0a 27 f0 90 90 99 27 20 3d 3e 20 27 f0 90 91 81 ....'.=>.'....',.'....'.=>.'....
15f860 27 2c 0a 27 f0 90 90 9a 27 20 3d 3e 20 27 f0 90 91 82 27 2c 0a 27 f0 90 90 9b 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
15f880 f0 90 91 83 27 2c 0a 27 f0 90 90 9c 27 20 3d 3e 20 27 f0 90 91 84 27 2c 0a 27 f0 90 90 9d 27 20 ....',.'....'.=>.'....',.'....'.
15f8a0 3d 3e 20 27 f0 90 91 85 27 2c 0a 27 f0 90 90 9e 27 20 3d 3e 20 27 f0 90 91 86 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
15f8c0 90 9f 27 20 3d 3e 20 27 f0 90 91 87 27 2c 0a 27 f0 90 90 a0 27 20 3d 3e 20 27 f0 90 91 88 27 2c ..'.=>.'....',.'....'.=>.'....',
15f8e0 0a 27 f0 90 90 a1 27 20 3d 3e 20 27 f0 90 91 89 27 2c 0a 27 f0 90 90 a2 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
15f900 91 8a 27 2c 0a 27 f0 90 90 a3 27 20 3d 3e 20 27 f0 90 91 8b 27 2c 0a 27 f0 90 90 a4 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
15f920 20 27 f0 90 91 8c 27 2c 0a 27 f0 90 90 a5 27 20 3d 3e 20 27 f0 90 91 8d 27 2c 0a 27 f0 90 90 a6 .'....',.'....'.=>.'....',.'....
15f940 27 20 3d 3e 20 27 f0 90 91 8e 27 2c 0a 27 f0 90 90 a7 27 20 3d 3e 20 27 f0 90 91 8f 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
15f960 f0 91 a2 a0 27 20 3d 3e 20 27 f0 91 a3 80 27 2c 0a 27 f0 91 a2 a1 27 20 3d 3e 20 27 f0 91 a3 81 ....'.=>.'....',.'....'.=>.'....
15f980 27 2c 0a 27 f0 91 a2 a2 27 20 3d 3e 20 27 f0 91 a3 82 27 2c 0a 27 f0 91 a2 a3 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
15f9a0 f0 91 a3 83 27 2c 0a 27 f0 91 a2 a4 27 20 3d 3e 20 27 f0 91 a3 84 27 2c 0a 27 f0 91 a2 a5 27 20 ....',.'....'.=>.'....',.'....'.
15f9c0 3d 3e 20 27 f0 91 a3 85 27 2c 0a 27 f0 91 a2 a6 27 20 3d 3e 20 27 f0 91 a3 86 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
15f9e0 a2 a7 27 20 3d 3e 20 27 f0 91 a3 87 27 2c 0a 27 f0 91 a2 a8 27 20 3d 3e 20 27 f0 91 a3 88 27 2c ..'.=>.'....',.'....'.=>.'....',
15fa00 0a 27 f0 91 a2 a9 27 20 3d 3e 20 27 f0 91 a3 89 27 2c 0a 27 f0 91 a2 aa 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
15fa20 a3 8a 27 2c 0a 27 f0 91 a2 ab 27 20 3d 3e 20 27 f0 91 a3 8b 27 2c 0a 27 f0 91 a2 ac 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
15fa40 20 27 f0 91 a3 8c 27 2c 0a 27 f0 91 a2 ad 27 20 3d 3e 20 27 f0 91 a3 8d 27 2c 0a 27 f0 91 a2 ae .'....',.'....'.=>.'....',.'....
15fa60 27 20 3d 3e 20 27 f0 91 a3 8e 27 2c 0a 27 f0 91 a2 af 27 20 3d 3e 20 27 f0 91 a3 8f 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
15fa80 f0 91 a2 b0 27 20 3d 3e 20 27 f0 91 a3 90 27 2c 0a 27 f0 91 a2 b1 27 20 3d 3e 20 27 f0 91 a3 91 ....'.=>.'....',.'....'.=>.'....
15faa0 27 2c 0a 27 f0 91 a2 b2 27 20 3d 3e 20 27 f0 91 a3 92 27 2c 0a 27 f0 91 a2 b3 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
15fac0 f0 91 a3 93 27 2c 0a 27 f0 91 a2 b4 27 20 3d 3e 20 27 f0 91 a3 94 27 2c 0a 27 f0 91 a2 b5 27 20 ....',.'....'.=>.'....',.'....'.
15fae0 3d 3e 20 27 f0 91 a3 95 27 2c 0a 27 f0 91 a2 b6 27 20 3d 3e 20 27 f0 91 a3 96 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
15fb00 a2 b7 27 20 3d 3e 20 27 f0 91 a3 97 27 2c 0a 27 f0 91 a2 b8 27 20 3d 3e 20 27 f0 91 a3 98 27 2c ..'.=>.'....',.'....'.=>.'....',
15fb20 0a 27 f0 91 a2 b9 27 20 3d 3e 20 27 f0 91 a3 99 27 2c 0a 27 f0 91 a2 ba 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
15fb40 a3 9a 27 2c 0a 27 f0 91 a2 bb 27 20 3d 3e 20 27 f0 91 a3 9b 27 2c 0a 27 f0 91 a2 bc 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
15fb60 20 27 f0 91 a3 9c 27 2c 0a 27 f0 91 a2 bd 27 20 3d 3e 20 27 f0 91 a3 9d 27 2c 0a 27 f0 91 a2 be .'....',.'....'.=>.'....',.'....
15fb80 27 20 3d 3e 20 27 f0 91 a3 9e 27 2c 0a 27 f0 91 a2 bf 27 20 3d 3e 20 27 f0 91 a3 9f 27 2c 0a 29 '.=>.'....',.'....'.=>.'....',.)
15fba0 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 26 20 24 64 61 74 61 3b 0a 75 6e 73 65 74 28 24 64 61 74 61 ;..$result.=&.$data;.unset($data
15fbc0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 3c 3f 70 68 70 0a 0a 73 74 61 74 69 );..return.$result;.<?php..stati
15fbe0 63 20 24 64 61 74 61 20 3d 20 61 72 72 61 79 20 28 0a 27 61 27 20 3d 3e 20 27 41 27 2c 0a 27 62 c.$data.=.array.(.'a'.=>.'A',.'b
15fc00 27 20 3d 3e 20 27 42 27 2c 0a 27 63 27 20 3d 3e 20 27 43 27 2c 0a 27 64 27 20 3d 3e 20 27 44 27 '.=>.'B',.'c'.=>.'C',.'d'.=>.'D'
15fc20 2c 0a 27 65 27 20 3d 3e 20 27 45 27 2c 0a 27 66 27 20 3d 3e 20 27 46 27 2c 0a 27 67 27 20 3d 3e ,.'e'.=>.'E',.'f'.=>.'F',.'g'.=>
15fc40 20 27 47 27 2c 0a 27 68 27 20 3d 3e 20 27 48 27 2c 0a 27 69 27 20 3d 3e 20 27 49 27 2c 0a 27 6a .'G',.'h'.=>.'H',.'i'.=>.'I',.'j
15fc60 27 20 3d 3e 20 27 4a 27 2c 0a 27 6b 27 20 3d 3e 20 27 4b 27 2c 0a 27 6c 27 20 3d 3e 20 27 4c 27 '.=>.'J',.'k'.=>.'K',.'l'.=>.'L'
15fc80 2c 0a 27 6d 27 20 3d 3e 20 27 4d 27 2c 0a 27 6e 27 20 3d 3e 20 27 4e 27 2c 0a 27 6f 27 20 3d 3e ,.'m'.=>.'M',.'n'.=>.'N',.'o'.=>
15fca0 20 27 4f 27 2c 0a 27 70 27 20 3d 3e 20 27 50 27 2c 0a 27 71 27 20 3d 3e 20 27 51 27 2c 0a 27 72 .'O',.'p'.=>.'P',.'q'.=>.'Q',.'r
15fcc0 27 20 3d 3e 20 27 52 27 2c 0a 27 73 27 20 3d 3e 20 27 53 27 2c 0a 27 74 27 20 3d 3e 20 27 54 27 '.=>.'R',.'s'.=>.'S',.'t'.=>.'T'
15fce0 2c 0a 27 75 27 20 3d 3e 20 27 55 27 2c 0a 27 76 27 20 3d 3e 20 27 56 27 2c 0a 27 77 27 20 3d 3e ,.'u'.=>.'U',.'v'.=>.'V',.'w'.=>
15fd00 20 27 57 27 2c 0a 27 78 27 20 3d 3e 20 27 58 27 2c 0a 27 79 27 20 3d 3e 20 27 59 27 2c 0a 27 7a .'W',.'x'.=>.'X',.'y'.=>.'Y',.'z
15fd20 27 20 3d 3e 20 27 5a 27 2c 0a 27 c2 b5 27 20 3d 3e 20 27 ce 9c 27 2c 0a 27 c3 a0 27 20 3d 3e 20 '.=>.'Z',.'..'.=>.'..',.'..'.=>.
15fd40 27 c3 80 27 2c 0a 27 c3 a1 27 20 3d 3e 20 27 c3 81 27 2c 0a 27 c3 a2 27 20 3d 3e 20 27 c3 82 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15fd60 2c 0a 27 c3 a3 27 20 3d 3e 20 27 c3 83 27 2c 0a 27 c3 a4 27 20 3d 3e 20 27 c3 84 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15fd80 a5 27 20 3d 3e 20 27 c3 85 27 2c 0a 27 c3 a6 27 20 3d 3e 20 27 c3 86 27 2c 0a 27 c3 a7 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15fda0 3e 20 27 c3 87 27 2c 0a 27 c3 a8 27 20 3d 3e 20 27 c3 88 27 2c 0a 27 c3 a9 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
15fdc0 89 27 2c 0a 27 c3 aa 27 20 3d 3e 20 27 c3 8a 27 2c 0a 27 c3 ab 27 20 3d 3e 20 27 c3 8b 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15fde0 27 c3 ac 27 20 3d 3e 20 27 c3 8c 27 2c 0a 27 c3 ad 27 20 3d 3e 20 27 c3 8d 27 2c 0a 27 c3 ae 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15fe00 20 3d 3e 20 27 c3 8e 27 2c 0a 27 c3 af 27 20 3d 3e 20 27 c3 8f 27 2c 0a 27 c3 b0 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15fe20 27 c3 90 27 2c 0a 27 c3 b1 27 20 3d 3e 20 27 c3 91 27 2c 0a 27 c3 b2 27 20 3d 3e 20 27 c3 92 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15fe40 2c 0a 27 c3 b3 27 20 3d 3e 20 27 c3 93 27 2c 0a 27 c3 b4 27 20 3d 3e 20 27 c3 94 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15fe60 b5 27 20 3d 3e 20 27 c3 95 27 2c 0a 27 c3 b6 27 20 3d 3e 20 27 c3 96 27 2c 0a 27 c3 b8 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15fe80 3e 20 27 c3 98 27 2c 0a 27 c3 b9 27 20 3d 3e 20 27 c3 99 27 2c 0a 27 c3 ba 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
15fea0 9a 27 2c 0a 27 c3 bb 27 20 3d 3e 20 27 c3 9b 27 2c 0a 27 c3 bc 27 20 3d 3e 20 27 c3 9c 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15fec0 27 c3 bd 27 20 3d 3e 20 27 c3 9d 27 2c 0a 27 c3 be 27 20 3d 3e 20 27 c3 9e 27 2c 0a 27 c3 bf 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15fee0 20 3d 3e 20 27 c5 b8 27 2c 0a 27 c4 81 27 20 3d 3e 20 27 c4 80 27 2c 0a 27 c4 83 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15ff00 27 c4 82 27 2c 0a 27 c4 85 27 20 3d 3e 20 27 c4 84 27 2c 0a 27 c4 87 27 20 3d 3e 20 27 c4 86 27 '..',.'..'.=>.'..',.'..'.=>.'..'
15ff20 2c 0a 27 c4 89 27 20 3d 3e 20 27 c4 88 27 2c 0a 27 c4 8b 27 20 3d 3e 20 27 c4 8a 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
15ff40 8d 27 20 3d 3e 20 27 c4 8c 27 2c 0a 27 c4 8f 27 20 3d 3e 20 27 c4 8e 27 2c 0a 27 c4 91 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
15ff60 3e 20 27 c4 90 27 2c 0a 27 c4 93 27 20 3d 3e 20 27 c4 92 27 2c 0a 27 c4 95 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
15ff80 94 27 2c 0a 27 c4 97 27 20 3d 3e 20 27 c4 96 27 2c 0a 27 c4 99 27 20 3d 3e 20 27 c4 98 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
15ffa0 27 c4 9b 27 20 3d 3e 20 27 c4 9a 27 2c 0a 27 c4 9d 27 20 3d 3e 20 27 c4 9c 27 2c 0a 27 c4 9f 27 '..'.=>.'..',.'..'.=>.'..',.'..'
15ffc0 20 3d 3e 20 27 c4 9e 27 2c 0a 27 c4 a1 27 20 3d 3e 20 27 c4 a0 27 2c 0a 27 c4 a3 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
15ffe0 27 c4 a2 27 2c 0a 27 c4 a5 27 20 3d 3e 20 27 c4 a4 27 2c 0a 27 c4 a7 27 20 3d 3e 20 27 c4 a6 27 '..',.'..'.=>.'..',.'..'.=>.'..'
160000 2c 0a 27 c4 a9 27 20 3d 3e 20 27 c4 a8 27 2c 0a 27 c4 ab 27 20 3d 3e 20 27 c4 aa 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
160020 ad 27 20 3d 3e 20 27 c4 ac 27 2c 0a 27 c4 af 27 20 3d 3e 20 27 c4 ae 27 2c 0a 27 c4 b1 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
160040 3e 20 27 49 27 2c 0a 27 c4 b3 27 20 3d 3e 20 27 c4 b2 27 2c 0a 27 c4 b5 27 20 3d 3e 20 27 c4 b4 >.'I',.'..'.=>.'..',.'..'.=>.'..
160060 27 2c 0a 27 c4 b7 27 20 3d 3e 20 27 c4 b6 27 2c 0a 27 c4 ba 27 20 3d 3e 20 27 c4 b9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160080 c4 bc 27 20 3d 3e 20 27 c4 bb 27 2c 0a 27 c4 be 27 20 3d 3e 20 27 c4 bd 27 2c 0a 27 c5 80 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1600a0 3d 3e 20 27 c4 bf 27 2c 0a 27 c5 82 27 20 3d 3e 20 27 c5 81 27 2c 0a 27 c5 84 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1600c0 c5 83 27 2c 0a 27 c5 86 27 20 3d 3e 20 27 c5 85 27 2c 0a 27 c5 88 27 20 3d 3e 20 27 c5 87 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1600e0 0a 27 c5 8b 27 20 3d 3e 20 27 c5 8a 27 2c 0a 27 c5 8d 27 20 3d 3e 20 27 c5 8c 27 2c 0a 27 c5 8f .'..'.=>.'..',.'..'.=>.'..',.'..
160100 27 20 3d 3e 20 27 c5 8e 27 2c 0a 27 c5 91 27 20 3d 3e 20 27 c5 90 27 2c 0a 27 c5 93 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160120 20 27 c5 92 27 2c 0a 27 c5 95 27 20 3d 3e 20 27 c5 94 27 2c 0a 27 c5 97 27 20 3d 3e 20 27 c5 96 .'..',.'..'.=>.'..',.'..'.=>.'..
160140 27 2c 0a 27 c5 99 27 20 3d 3e 20 27 c5 98 27 2c 0a 27 c5 9b 27 20 3d 3e 20 27 c5 9a 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160160 c5 9d 27 20 3d 3e 20 27 c5 9c 27 2c 0a 27 c5 9f 27 20 3d 3e 20 27 c5 9e 27 2c 0a 27 c5 a1 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160180 3d 3e 20 27 c5 a0 27 2c 0a 27 c5 a3 27 20 3d 3e 20 27 c5 a2 27 2c 0a 27 c5 a5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1601a0 c5 a4 27 2c 0a 27 c5 a7 27 20 3d 3e 20 27 c5 a6 27 2c 0a 27 c5 a9 27 20 3d 3e 20 27 c5 a8 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1601c0 0a 27 c5 ab 27 20 3d 3e 20 27 c5 aa 27 2c 0a 27 c5 ad 27 20 3d 3e 20 27 c5 ac 27 2c 0a 27 c5 af .'..'.=>.'..',.'..'.=>.'..',.'..
1601e0 27 20 3d 3e 20 27 c5 ae 27 2c 0a 27 c5 b1 27 20 3d 3e 20 27 c5 b0 27 2c 0a 27 c5 b3 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160200 20 27 c5 b2 27 2c 0a 27 c5 b5 27 20 3d 3e 20 27 c5 b4 27 2c 0a 27 c5 b7 27 20 3d 3e 20 27 c5 b6 .'..',.'..'.=>.'..',.'..'.=>.'..
160220 27 2c 0a 27 c5 ba 27 20 3d 3e 20 27 c5 b9 27 2c 0a 27 c5 bc 27 20 3d 3e 20 27 c5 bb 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160240 c5 be 27 20 3d 3e 20 27 c5 bd 27 2c 0a 27 c5 bf 27 20 3d 3e 20 27 53 27 2c 0a 27 c6 80 27 20 3d ..'.=>.'..',.'..'.=>.'S',.'..'.=
160260 3e 20 27 c9 83 27 2c 0a 27 c6 83 27 20 3d 3e 20 27 c6 82 27 2c 0a 27 c6 85 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
160280 84 27 2c 0a 27 c6 88 27 20 3d 3e 20 27 c6 87 27 2c 0a 27 c6 8c 27 20 3d 3e 20 27 c6 8b 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1602a0 27 c6 92 27 20 3d 3e 20 27 c6 91 27 2c 0a 27 c6 95 27 20 3d 3e 20 27 c7 b6 27 2c 0a 27 c6 99 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1602c0 20 3d 3e 20 27 c6 98 27 2c 0a 27 c6 9a 27 20 3d 3e 20 27 c8 bd 27 2c 0a 27 c6 9e 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1602e0 27 c8 a0 27 2c 0a 27 c6 a1 27 20 3d 3e 20 27 c6 a0 27 2c 0a 27 c6 a3 27 20 3d 3e 20 27 c6 a2 27 '..',.'..'.=>.'..',.'..'.=>.'..'
160300 2c 0a 27 c6 a5 27 20 3d 3e 20 27 c6 a4 27 2c 0a 27 c6 a8 27 20 3d 3e 20 27 c6 a7 27 2c 0a 27 c6 ,.'..'.=>.'..',.'..'.=>.'..',.'.
160320 ad 27 20 3d 3e 20 27 c6 ac 27 2c 0a 27 c6 b0 27 20 3d 3e 20 27 c6 af 27 2c 0a 27 c6 b4 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
160340 3e 20 27 c6 b3 27 2c 0a 27 c6 b6 27 20 3d 3e 20 27 c6 b5 27 2c 0a 27 c6 b9 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
160360 b8 27 2c 0a 27 c6 bd 27 20 3d 3e 20 27 c6 bc 27 2c 0a 27 c6 bf 27 20 3d 3e 20 27 c7 b7 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
160380 27 c7 85 27 20 3d 3e 20 27 c7 84 27 2c 0a 27 c7 86 27 20 3d 3e 20 27 c7 84 27 2c 0a 27 c7 88 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1603a0 20 3d 3e 20 27 c7 87 27 2c 0a 27 c7 89 27 20 3d 3e 20 27 c7 87 27 2c 0a 27 c7 8b 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1603c0 27 c7 8a 27 2c 0a 27 c7 8c 27 20 3d 3e 20 27 c7 8a 27 2c 0a 27 c7 8e 27 20 3d 3e 20 27 c7 8d 27 '..',.'..'.=>.'..',.'..'.=>.'..'
1603e0 2c 0a 27 c7 90 27 20 3d 3e 20 27 c7 8f 27 2c 0a 27 c7 92 27 20 3d 3e 20 27 c7 91 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
160400 94 27 20 3d 3e 20 27 c7 93 27 2c 0a 27 c7 96 27 20 3d 3e 20 27 c7 95 27 2c 0a 27 c7 98 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
160420 3e 20 27 c7 97 27 2c 0a 27 c7 9a 27 20 3d 3e 20 27 c7 99 27 2c 0a 27 c7 9c 27 20 3d 3e 20 27 c7 >.'..',.'..'.=>.'..',.'..'.=>.'.
160440 9b 27 2c 0a 27 c7 9d 27 20 3d 3e 20 27 c6 8e 27 2c 0a 27 c7 9f 27 20 3d 3e 20 27 c7 9e 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
160460 27 c7 a1 27 20 3d 3e 20 27 c7 a0 27 2c 0a 27 c7 a3 27 20 3d 3e 20 27 c7 a2 27 2c 0a 27 c7 a5 27 '..'.=>.'..',.'..'.=>.'..',.'..'
160480 20 3d 3e 20 27 c7 a4 27 2c 0a 27 c7 a7 27 20 3d 3e 20 27 c7 a6 27 2c 0a 27 c7 a9 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1604a0 27 c7 a8 27 2c 0a 27 c7 ab 27 20 3d 3e 20 27 c7 aa 27 2c 0a 27 c7 ad 27 20 3d 3e 20 27 c7 ac 27 '..',.'..'.=>.'..',.'..'.=>.'..'
1604c0 2c 0a 27 c7 af 27 20 3d 3e 20 27 c7 ae 27 2c 0a 27 c7 b2 27 20 3d 3e 20 27 c7 b1 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
1604e0 b3 27 20 3d 3e 20 27 c7 b1 27 2c 0a 27 c7 b5 27 20 3d 3e 20 27 c7 b4 27 2c 0a 27 c7 b9 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
160500 3e 20 27 c7 b8 27 2c 0a 27 c7 bb 27 20 3d 3e 20 27 c7 ba 27 2c 0a 27 c7 bd 27 20 3d 3e 20 27 c7 >.'..',.'..'.=>.'..',.'..'.=>.'.
160520 bc 27 2c 0a 27 c7 bf 27 20 3d 3e 20 27 c7 be 27 2c 0a 27 c8 81 27 20 3d 3e 20 27 c8 80 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
160540 27 c8 83 27 20 3d 3e 20 27 c8 82 27 2c 0a 27 c8 85 27 20 3d 3e 20 27 c8 84 27 2c 0a 27 c8 87 27 '..'.=>.'..',.'..'.=>.'..',.'..'
160560 20 3d 3e 20 27 c8 86 27 2c 0a 27 c8 89 27 20 3d 3e 20 27 c8 88 27 2c 0a 27 c8 8b 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
160580 27 c8 8a 27 2c 0a 27 c8 8d 27 20 3d 3e 20 27 c8 8c 27 2c 0a 27 c8 8f 27 20 3d 3e 20 27 c8 8e 27 '..',.'..'.=>.'..',.'..'.=>.'..'
1605a0 2c 0a 27 c8 91 27 20 3d 3e 20 27 c8 90 27 2c 0a 27 c8 93 27 20 3d 3e 20 27 c8 92 27 2c 0a 27 c8 ,.'..'.=>.'..',.'..'.=>.'..',.'.
1605c0 95 27 20 3d 3e 20 27 c8 94 27 2c 0a 27 c8 97 27 20 3d 3e 20 27 c8 96 27 2c 0a 27 c8 99 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1605e0 3e 20 27 c8 98 27 2c 0a 27 c8 9b 27 20 3d 3e 20 27 c8 9a 27 2c 0a 27 c8 9d 27 20 3d 3e 20 27 c8 >.'..',.'..'.=>.'..',.'..'.=>.'.
160600 9c 27 2c 0a 27 c8 9f 27 20 3d 3e 20 27 c8 9e 27 2c 0a 27 c8 a3 27 20 3d 3e 20 27 c8 a2 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
160620 27 c8 a5 27 20 3d 3e 20 27 c8 a4 27 2c 0a 27 c8 a7 27 20 3d 3e 20 27 c8 a6 27 2c 0a 27 c8 a9 27 '..'.=>.'..',.'..'.=>.'..',.'..'
160640 20 3d 3e 20 27 c8 a8 27 2c 0a 27 c8 ab 27 20 3d 3e 20 27 c8 aa 27 2c 0a 27 c8 ad 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
160660 27 c8 ac 27 2c 0a 27 c8 af 27 20 3d 3e 20 27 c8 ae 27 2c 0a 27 c8 b1 27 20 3d 3e 20 27 c8 b0 27 '..',.'..'.=>.'..',.'..'.=>.'..'
160680 2c 0a 27 c8 b3 27 20 3d 3e 20 27 c8 b2 27 2c 0a 27 c8 bc 27 20 3d 3e 20 27 c8 bb 27 2c 0a 27 c8 ,.'..'.=>.'..',.'..'.=>.'..',.'.
1606a0 bf 27 20 3d 3e 20 27 e2 b1 be 27 2c 0a 27 c9 80 27 20 3d 3e 20 27 e2 b1 bf 27 2c 0a 27 c9 82 27 .'.=>.'...',.'..'.=>.'...',.'..'
1606c0 20 3d 3e 20 27 c9 81 27 2c 0a 27 c9 87 27 20 3d 3e 20 27 c9 86 27 2c 0a 27 c9 89 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1606e0 27 c9 88 27 2c 0a 27 c9 8b 27 20 3d 3e 20 27 c9 8a 27 2c 0a 27 c9 8d 27 20 3d 3e 20 27 c9 8c 27 '..',.'..'.=>.'..',.'..'.=>.'..'
160700 2c 0a 27 c9 8f 27 20 3d 3e 20 27 c9 8e 27 2c 0a 27 c9 90 27 20 3d 3e 20 27 e2 b1 af 27 2c 0a 27 ,.'..'.=>.'..',.'..'.=>.'...',.'
160720 c9 91 27 20 3d 3e 20 27 e2 b1 ad 27 2c 0a 27 c9 92 27 20 3d 3e 20 27 e2 b1 b0 27 2c 0a 27 c9 93 ..'.=>.'...',.'..'.=>.'...',.'..
160740 27 20 3d 3e 20 27 c6 81 27 2c 0a 27 c9 94 27 20 3d 3e 20 27 c6 86 27 2c 0a 27 c9 96 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160760 20 27 c6 89 27 2c 0a 27 c9 97 27 20 3d 3e 20 27 c6 8a 27 2c 0a 27 c9 99 27 20 3d 3e 20 27 c6 8f .'..',.'..'.=>.'..',.'..'.=>.'..
160780 27 2c 0a 27 c9 9b 27 20 3d 3e 20 27 c6 90 27 2c 0a 27 c9 9c 27 20 3d 3e 20 27 ea 9e ab 27 2c 0a ',.'..'.=>.'..',.'..'.=>.'...',.
1607a0 27 c9 a0 27 20 3d 3e 20 27 c6 93 27 2c 0a 27 c9 a1 27 20 3d 3e 20 27 ea 9e ac 27 2c 0a 27 c9 a3 '..'.=>.'..',.'..'.=>.'...',.'..
1607c0 27 20 3d 3e 20 27 c6 94 27 2c 0a 27 c9 a5 27 20 3d 3e 20 27 ea 9e 8d 27 2c 0a 27 c9 a6 27 20 3d '.=>.'..',.'..'.=>.'...',.'..'.=
1607e0 3e 20 27 ea 9e aa 27 2c 0a 27 c9 a8 27 20 3d 3e 20 27 c6 97 27 2c 0a 27 c9 a9 27 20 3d 3e 20 27 >.'...',.'..'.=>.'..',.'..'.=>.'
160800 c6 96 27 2c 0a 27 c9 ab 27 20 3d 3e 20 27 e2 b1 a2 27 2c 0a 27 c9 ac 27 20 3d 3e 20 27 ea 9e ad ..',.'..'.=>.'...',.'..'.=>.'...
160820 27 2c 0a 27 c9 af 27 20 3d 3e 20 27 c6 9c 27 2c 0a 27 c9 b1 27 20 3d 3e 20 27 e2 b1 ae 27 2c 0a ',.'..'.=>.'..',.'..'.=>.'...',.
160840 27 c9 b2 27 20 3d 3e 20 27 c6 9d 27 2c 0a 27 c9 b5 27 20 3d 3e 20 27 c6 9f 27 2c 0a 27 c9 bd 27 '..'.=>.'..',.'..'.=>.'..',.'..'
160860 20 3d 3e 20 27 e2 b1 a4 27 2c 0a 27 ca 80 27 20 3d 3e 20 27 c6 a6 27 2c 0a 27 ca 83 27 20 3d 3e .=>.'...',.'..'.=>.'..',.'..'.=>
160880 20 27 c6 a9 27 2c 0a 27 ca 87 27 20 3d 3e 20 27 ea 9e b1 27 2c 0a 27 ca 88 27 20 3d 3e 20 27 c6 .'..',.'..'.=>.'...',.'..'.=>.'.
1608a0 ae 27 2c 0a 27 ca 89 27 20 3d 3e 20 27 c9 84 27 2c 0a 27 ca 8a 27 20 3d 3e 20 27 c6 b1 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1608c0 27 ca 8b 27 20 3d 3e 20 27 c6 b2 27 2c 0a 27 ca 8c 27 20 3d 3e 20 27 c9 85 27 2c 0a 27 ca 92 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1608e0 20 3d 3e 20 27 c6 b7 27 2c 0a 27 ca 9e 27 20 3d 3e 20 27 ea 9e b0 27 2c 0a 27 cd 85 27 20 3d 3e .=>.'..',.'..'.=>.'...',.'..'.=>
160900 20 27 ce 99 27 2c 0a 27 cd b1 27 20 3d 3e 20 27 cd b0 27 2c 0a 27 cd b3 27 20 3d 3e 20 27 cd b2 .'..',.'..'.=>.'..',.'..'.=>.'..
160920 27 2c 0a 27 cd b7 27 20 3d 3e 20 27 cd b6 27 2c 0a 27 cd bb 27 20 3d 3e 20 27 cf bd 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160940 cd bc 27 20 3d 3e 20 27 cf be 27 2c 0a 27 cd bd 27 20 3d 3e 20 27 cf bf 27 2c 0a 27 ce ac 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160960 3d 3e 20 27 ce 86 27 2c 0a 27 ce ad 27 20 3d 3e 20 27 ce 88 27 2c 0a 27 ce ae 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160980 ce 89 27 2c 0a 27 ce af 27 20 3d 3e 20 27 ce 8a 27 2c 0a 27 ce b1 27 20 3d 3e 20 27 ce 91 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1609a0 0a 27 ce b2 27 20 3d 3e 20 27 ce 92 27 2c 0a 27 ce b3 27 20 3d 3e 20 27 ce 93 27 2c 0a 27 ce b4 .'..'.=>.'..',.'..'.=>.'..',.'..
1609c0 27 20 3d 3e 20 27 ce 94 27 2c 0a 27 ce b5 27 20 3d 3e 20 27 ce 95 27 2c 0a 27 ce b6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1609e0 20 27 ce 96 27 2c 0a 27 ce b7 27 20 3d 3e 20 27 ce 97 27 2c 0a 27 ce b8 27 20 3d 3e 20 27 ce 98 .'..',.'..'.=>.'..',.'..'.=>.'..
160a00 27 2c 0a 27 ce b9 27 20 3d 3e 20 27 ce 99 27 2c 0a 27 ce ba 27 20 3d 3e 20 27 ce 9a 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160a20 ce bb 27 20 3d 3e 20 27 ce 9b 27 2c 0a 27 ce bc 27 20 3d 3e 20 27 ce 9c 27 2c 0a 27 ce bd 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160a40 3d 3e 20 27 ce 9d 27 2c 0a 27 ce be 27 20 3d 3e 20 27 ce 9e 27 2c 0a 27 ce bf 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160a60 ce 9f 27 2c 0a 27 cf 80 27 20 3d 3e 20 27 ce a0 27 2c 0a 27 cf 81 27 20 3d 3e 20 27 ce a1 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160a80 0a 27 cf 82 27 20 3d 3e 20 27 ce a3 27 2c 0a 27 cf 83 27 20 3d 3e 20 27 ce a3 27 2c 0a 27 cf 84 .'..'.=>.'..',.'..'.=>.'..',.'..
160aa0 27 20 3d 3e 20 27 ce a4 27 2c 0a 27 cf 85 27 20 3d 3e 20 27 ce a5 27 2c 0a 27 cf 86 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160ac0 20 27 ce a6 27 2c 0a 27 cf 87 27 20 3d 3e 20 27 ce a7 27 2c 0a 27 cf 88 27 20 3d 3e 20 27 ce a8 .'..',.'..'.=>.'..',.'..'.=>.'..
160ae0 27 2c 0a 27 cf 89 27 20 3d 3e 20 27 ce a9 27 2c 0a 27 cf 8a 27 20 3d 3e 20 27 ce aa 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160b00 cf 8b 27 20 3d 3e 20 27 ce ab 27 2c 0a 27 cf 8c 27 20 3d 3e 20 27 ce 8c 27 2c 0a 27 cf 8d 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160b20 3d 3e 20 27 ce 8e 27 2c 0a 27 cf 8e 27 20 3d 3e 20 27 ce 8f 27 2c 0a 27 cf 90 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160b40 ce 92 27 2c 0a 27 cf 91 27 20 3d 3e 20 27 ce 98 27 2c 0a 27 cf 95 27 20 3d 3e 20 27 ce a6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160b60 0a 27 cf 96 27 20 3d 3e 20 27 ce a0 27 2c 0a 27 cf 97 27 20 3d 3e 20 27 cf 8f 27 2c 0a 27 cf 99 .'..'.=>.'..',.'..'.=>.'..',.'..
160b80 27 20 3d 3e 20 27 cf 98 27 2c 0a 27 cf 9b 27 20 3d 3e 20 27 cf 9a 27 2c 0a 27 cf 9d 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160ba0 20 27 cf 9c 27 2c 0a 27 cf 9f 27 20 3d 3e 20 27 cf 9e 27 2c 0a 27 cf a1 27 20 3d 3e 20 27 cf a0 .'..',.'..'.=>.'..',.'..'.=>.'..
160bc0 27 2c 0a 27 cf a3 27 20 3d 3e 20 27 cf a2 27 2c 0a 27 cf a5 27 20 3d 3e 20 27 cf a4 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160be0 cf a7 27 20 3d 3e 20 27 cf a6 27 2c 0a 27 cf a9 27 20 3d 3e 20 27 cf a8 27 2c 0a 27 cf ab 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160c00 3d 3e 20 27 cf aa 27 2c 0a 27 cf ad 27 20 3d 3e 20 27 cf ac 27 2c 0a 27 cf af 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160c20 cf ae 27 2c 0a 27 cf b0 27 20 3d 3e 20 27 ce 9a 27 2c 0a 27 cf b1 27 20 3d 3e 20 27 ce a1 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160c40 0a 27 cf b2 27 20 3d 3e 20 27 cf b9 27 2c 0a 27 cf b3 27 20 3d 3e 20 27 cd bf 27 2c 0a 27 cf b5 .'..'.=>.'..',.'..'.=>.'..',.'..
160c60 27 20 3d 3e 20 27 ce 95 27 2c 0a 27 cf b8 27 20 3d 3e 20 27 cf b7 27 2c 0a 27 cf bb 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160c80 20 27 cf ba 27 2c 0a 27 d0 b0 27 20 3d 3e 20 27 d0 90 27 2c 0a 27 d0 b1 27 20 3d 3e 20 27 d0 91 .'..',.'..'.=>.'..',.'..'.=>.'..
160ca0 27 2c 0a 27 d0 b2 27 20 3d 3e 20 27 d0 92 27 2c 0a 27 d0 b3 27 20 3d 3e 20 27 d0 93 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160cc0 d0 b4 27 20 3d 3e 20 27 d0 94 27 2c 0a 27 d0 b5 27 20 3d 3e 20 27 d0 95 27 2c 0a 27 d0 b6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160ce0 3d 3e 20 27 d0 96 27 2c 0a 27 d0 b7 27 20 3d 3e 20 27 d0 97 27 2c 0a 27 d0 b8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160d00 d0 98 27 2c 0a 27 d0 b9 27 20 3d 3e 20 27 d0 99 27 2c 0a 27 d0 ba 27 20 3d 3e 20 27 d0 9a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160d20 0a 27 d0 bb 27 20 3d 3e 20 27 d0 9b 27 2c 0a 27 d0 bc 27 20 3d 3e 20 27 d0 9c 27 2c 0a 27 d0 bd .'..'.=>.'..',.'..'.=>.'..',.'..
160d40 27 20 3d 3e 20 27 d0 9d 27 2c 0a 27 d0 be 27 20 3d 3e 20 27 d0 9e 27 2c 0a 27 d0 bf 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160d60 20 27 d0 9f 27 2c 0a 27 d1 80 27 20 3d 3e 20 27 d0 a0 27 2c 0a 27 d1 81 27 20 3d 3e 20 27 d0 a1 .'..',.'..'.=>.'..',.'..'.=>.'..
160d80 27 2c 0a 27 d1 82 27 20 3d 3e 20 27 d0 a2 27 2c 0a 27 d1 83 27 20 3d 3e 20 27 d0 a3 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160da0 d1 84 27 20 3d 3e 20 27 d0 a4 27 2c 0a 27 d1 85 27 20 3d 3e 20 27 d0 a5 27 2c 0a 27 d1 86 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160dc0 3d 3e 20 27 d0 a6 27 2c 0a 27 d1 87 27 20 3d 3e 20 27 d0 a7 27 2c 0a 27 d1 88 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160de0 d0 a8 27 2c 0a 27 d1 89 27 20 3d 3e 20 27 d0 a9 27 2c 0a 27 d1 8a 27 20 3d 3e 20 27 d0 aa 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160e00 0a 27 d1 8b 27 20 3d 3e 20 27 d0 ab 27 2c 0a 27 d1 8c 27 20 3d 3e 20 27 d0 ac 27 2c 0a 27 d1 8d .'..'.=>.'..',.'..'.=>.'..',.'..
160e20 27 20 3d 3e 20 27 d0 ad 27 2c 0a 27 d1 8e 27 20 3d 3e 20 27 d0 ae 27 2c 0a 27 d1 8f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160e40 20 27 d0 af 27 2c 0a 27 d1 90 27 20 3d 3e 20 27 d0 80 27 2c 0a 27 d1 91 27 20 3d 3e 20 27 d0 81 .'..',.'..'.=>.'..',.'..'.=>.'..
160e60 27 2c 0a 27 d1 92 27 20 3d 3e 20 27 d0 82 27 2c 0a 27 d1 93 27 20 3d 3e 20 27 d0 83 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160e80 d1 94 27 20 3d 3e 20 27 d0 84 27 2c 0a 27 d1 95 27 20 3d 3e 20 27 d0 85 27 2c 0a 27 d1 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160ea0 3d 3e 20 27 d0 86 27 2c 0a 27 d1 97 27 20 3d 3e 20 27 d0 87 27 2c 0a 27 d1 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160ec0 d0 88 27 2c 0a 27 d1 99 27 20 3d 3e 20 27 d0 89 27 2c 0a 27 d1 9a 27 20 3d 3e 20 27 d0 8a 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160ee0 0a 27 d1 9b 27 20 3d 3e 20 27 d0 8b 27 2c 0a 27 d1 9c 27 20 3d 3e 20 27 d0 8c 27 2c 0a 27 d1 9d .'..'.=>.'..',.'..'.=>.'..',.'..
160f00 27 20 3d 3e 20 27 d0 8d 27 2c 0a 27 d1 9e 27 20 3d 3e 20 27 d0 8e 27 2c 0a 27 d1 9f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
160f20 20 27 d0 8f 27 2c 0a 27 d1 a1 27 20 3d 3e 20 27 d1 a0 27 2c 0a 27 d1 a3 27 20 3d 3e 20 27 d1 a2 .'..',.'..'.=>.'..',.'..'.=>.'..
160f40 27 2c 0a 27 d1 a5 27 20 3d 3e 20 27 d1 a4 27 2c 0a 27 d1 a7 27 20 3d 3e 20 27 d1 a6 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
160f60 d1 a9 27 20 3d 3e 20 27 d1 a8 27 2c 0a 27 d1 ab 27 20 3d 3e 20 27 d1 aa 27 2c 0a 27 d1 ad 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
160f80 3d 3e 20 27 d1 ac 27 2c 0a 27 d1 af 27 20 3d 3e 20 27 d1 ae 27 2c 0a 27 d1 b1 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
160fa0 d1 b0 27 2c 0a 27 d1 b3 27 20 3d 3e 20 27 d1 b2 27 2c 0a 27 d1 b5 27 20 3d 3e 20 27 d1 b4 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
160fc0 0a 27 d1 b7 27 20 3d 3e 20 27 d1 b6 27 2c 0a 27 d1 b9 27 20 3d 3e 20 27 d1 b8 27 2c 0a 27 d1 bb .'..'.=>.'..',.'..'.=>.'..',.'..
160fe0 27 20 3d 3e 20 27 d1 ba 27 2c 0a 27 d1 bd 27 20 3d 3e 20 27 d1 bc 27 2c 0a 27 d1 bf 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161000 20 27 d1 be 27 2c 0a 27 d2 81 27 20 3d 3e 20 27 d2 80 27 2c 0a 27 d2 8b 27 20 3d 3e 20 27 d2 8a .'..',.'..'.=>.'..',.'..'.=>.'..
161020 27 2c 0a 27 d2 8d 27 20 3d 3e 20 27 d2 8c 27 2c 0a 27 d2 8f 27 20 3d 3e 20 27 d2 8e 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161040 d2 91 27 20 3d 3e 20 27 d2 90 27 2c 0a 27 d2 93 27 20 3d 3e 20 27 d2 92 27 2c 0a 27 d2 95 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161060 3d 3e 20 27 d2 94 27 2c 0a 27 d2 97 27 20 3d 3e 20 27 d2 96 27 2c 0a 27 d2 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161080 d2 98 27 2c 0a 27 d2 9b 27 20 3d 3e 20 27 d2 9a 27 2c 0a 27 d2 9d 27 20 3d 3e 20 27 d2 9c 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1610a0 0a 27 d2 9f 27 20 3d 3e 20 27 d2 9e 27 2c 0a 27 d2 a1 27 20 3d 3e 20 27 d2 a0 27 2c 0a 27 d2 a3 .'..'.=>.'..',.'..'.=>.'..',.'..
1610c0 27 20 3d 3e 20 27 d2 a2 27 2c 0a 27 d2 a5 27 20 3d 3e 20 27 d2 a4 27 2c 0a 27 d2 a7 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1610e0 20 27 d2 a6 27 2c 0a 27 d2 a9 27 20 3d 3e 20 27 d2 a8 27 2c 0a 27 d2 ab 27 20 3d 3e 20 27 d2 aa .'..',.'..'.=>.'..',.'..'.=>.'..
161100 27 2c 0a 27 d2 ad 27 20 3d 3e 20 27 d2 ac 27 2c 0a 27 d2 af 27 20 3d 3e 20 27 d2 ae 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161120 d2 b1 27 20 3d 3e 20 27 d2 b0 27 2c 0a 27 d2 b3 27 20 3d 3e 20 27 d2 b2 27 2c 0a 27 d2 b5 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161140 3d 3e 20 27 d2 b4 27 2c 0a 27 d2 b7 27 20 3d 3e 20 27 d2 b6 27 2c 0a 27 d2 b9 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161160 d2 b8 27 2c 0a 27 d2 bb 27 20 3d 3e 20 27 d2 ba 27 2c 0a 27 d2 bd 27 20 3d 3e 20 27 d2 bc 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161180 0a 27 d2 bf 27 20 3d 3e 20 27 d2 be 27 2c 0a 27 d3 82 27 20 3d 3e 20 27 d3 81 27 2c 0a 27 d3 84 .'..'.=>.'..',.'..'.=>.'..',.'..
1611a0 27 20 3d 3e 20 27 d3 83 27 2c 0a 27 d3 86 27 20 3d 3e 20 27 d3 85 27 2c 0a 27 d3 88 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1611c0 20 27 d3 87 27 2c 0a 27 d3 8a 27 20 3d 3e 20 27 d3 89 27 2c 0a 27 d3 8c 27 20 3d 3e 20 27 d3 8b .'..',.'..'.=>.'..',.'..'.=>.'..
1611e0 27 2c 0a 27 d3 8e 27 20 3d 3e 20 27 d3 8d 27 2c 0a 27 d3 8f 27 20 3d 3e 20 27 d3 80 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161200 d3 91 27 20 3d 3e 20 27 d3 90 27 2c 0a 27 d3 93 27 20 3d 3e 20 27 d3 92 27 2c 0a 27 d3 95 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161220 3d 3e 20 27 d3 94 27 2c 0a 27 d3 97 27 20 3d 3e 20 27 d3 96 27 2c 0a 27 d3 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161240 d3 98 27 2c 0a 27 d3 9b 27 20 3d 3e 20 27 d3 9a 27 2c 0a 27 d3 9d 27 20 3d 3e 20 27 d3 9c 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161260 0a 27 d3 9f 27 20 3d 3e 20 27 d3 9e 27 2c 0a 27 d3 a1 27 20 3d 3e 20 27 d3 a0 27 2c 0a 27 d3 a3 .'..'.=>.'..',.'..'.=>.'..',.'..
161280 27 20 3d 3e 20 27 d3 a2 27 2c 0a 27 d3 a5 27 20 3d 3e 20 27 d3 a4 27 2c 0a 27 d3 a7 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1612a0 20 27 d3 a6 27 2c 0a 27 d3 a9 27 20 3d 3e 20 27 d3 a8 27 2c 0a 27 d3 ab 27 20 3d 3e 20 27 d3 aa .'..',.'..'.=>.'..',.'..'.=>.'..
1612c0 27 2c 0a 27 d3 ad 27 20 3d 3e 20 27 d3 ac 27 2c 0a 27 d3 af 27 20 3d 3e 20 27 d3 ae 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1612e0 d3 b1 27 20 3d 3e 20 27 d3 b0 27 2c 0a 27 d3 b3 27 20 3d 3e 20 27 d3 b2 27 2c 0a 27 d3 b5 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161300 3d 3e 20 27 d3 b4 27 2c 0a 27 d3 b7 27 20 3d 3e 20 27 d3 b6 27 2c 0a 27 d3 b9 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161320 d3 b8 27 2c 0a 27 d3 bb 27 20 3d 3e 20 27 d3 ba 27 2c 0a 27 d3 bd 27 20 3d 3e 20 27 d3 bc 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161340 0a 27 d3 bf 27 20 3d 3e 20 27 d3 be 27 2c 0a 27 d4 81 27 20 3d 3e 20 27 d4 80 27 2c 0a 27 d4 83 .'..'.=>.'..',.'..'.=>.'..',.'..
161360 27 20 3d 3e 20 27 d4 82 27 2c 0a 27 d4 85 27 20 3d 3e 20 27 d4 84 27 2c 0a 27 d4 87 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161380 20 27 d4 86 27 2c 0a 27 d4 89 27 20 3d 3e 20 27 d4 88 27 2c 0a 27 d4 8b 27 20 3d 3e 20 27 d4 8a .'..',.'..'.=>.'..',.'..'.=>.'..
1613a0 27 2c 0a 27 d4 8d 27 20 3d 3e 20 27 d4 8c 27 2c 0a 27 d4 8f 27 20 3d 3e 20 27 d4 8e 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1613c0 d4 91 27 20 3d 3e 20 27 d4 90 27 2c 0a 27 d4 93 27 20 3d 3e 20 27 d4 92 27 2c 0a 27 d4 95 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1613e0 3d 3e 20 27 d4 94 27 2c 0a 27 d4 97 27 20 3d 3e 20 27 d4 96 27 2c 0a 27 d4 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
161400 d4 98 27 2c 0a 27 d4 9b 27 20 3d 3e 20 27 d4 9a 27 2c 0a 27 d4 9d 27 20 3d 3e 20 27 d4 9c 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161420 0a 27 d4 9f 27 20 3d 3e 20 27 d4 9e 27 2c 0a 27 d4 a1 27 20 3d 3e 20 27 d4 a0 27 2c 0a 27 d4 a3 .'..'.=>.'..',.'..'.=>.'..',.'..
161440 27 20 3d 3e 20 27 d4 a2 27 2c 0a 27 d4 a5 27 20 3d 3e 20 27 d4 a4 27 2c 0a 27 d4 a7 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161460 20 27 d4 a6 27 2c 0a 27 d4 a9 27 20 3d 3e 20 27 d4 a8 27 2c 0a 27 d4 ab 27 20 3d 3e 20 27 d4 aa .'..',.'..'.=>.'..',.'..'.=>.'..
161480 27 2c 0a 27 d4 ad 27 20 3d 3e 20 27 d4 ac 27 2c 0a 27 d4 af 27 20 3d 3e 20 27 d4 ae 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1614a0 d5 a1 27 20 3d 3e 20 27 d4 b1 27 2c 0a 27 d5 a2 27 20 3d 3e 20 27 d4 b2 27 2c 0a 27 d5 a3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1614c0 3d 3e 20 27 d4 b3 27 2c 0a 27 d5 a4 27 20 3d 3e 20 27 d4 b4 27 2c 0a 27 d5 a5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1614e0 d4 b5 27 2c 0a 27 d5 a6 27 20 3d 3e 20 27 d4 b6 27 2c 0a 27 d5 a7 27 20 3d 3e 20 27 d4 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
161500 0a 27 d5 a8 27 20 3d 3e 20 27 d4 b8 27 2c 0a 27 d5 a9 27 20 3d 3e 20 27 d4 b9 27 2c 0a 27 d5 aa .'..'.=>.'..',.'..'.=>.'..',.'..
161520 27 20 3d 3e 20 27 d4 ba 27 2c 0a 27 d5 ab 27 20 3d 3e 20 27 d4 bb 27 2c 0a 27 d5 ac 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161540 20 27 d4 bc 27 2c 0a 27 d5 ad 27 20 3d 3e 20 27 d4 bd 27 2c 0a 27 d5 ae 27 20 3d 3e 20 27 d4 be .'..',.'..'.=>.'..',.'..'.=>.'..
161560 27 2c 0a 27 d5 af 27 20 3d 3e 20 27 d4 bf 27 2c 0a 27 d5 b0 27 20 3d 3e 20 27 d5 80 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161580 d5 b1 27 20 3d 3e 20 27 d5 81 27 2c 0a 27 d5 b2 27 20 3d 3e 20 27 d5 82 27 2c 0a 27 d5 b3 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1615a0 3d 3e 20 27 d5 83 27 2c 0a 27 d5 b4 27 20 3d 3e 20 27 d5 84 27 2c 0a 27 d5 b5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1615c0 d5 85 27 2c 0a 27 d5 b6 27 20 3d 3e 20 27 d5 86 27 2c 0a 27 d5 b7 27 20 3d 3e 20 27 d5 87 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1615e0 0a 27 d5 b8 27 20 3d 3e 20 27 d5 88 27 2c 0a 27 d5 b9 27 20 3d 3e 20 27 d5 89 27 2c 0a 27 d5 ba .'..'.=>.'..',.'..'.=>.'..',.'..
161600 27 20 3d 3e 20 27 d5 8a 27 2c 0a 27 d5 bb 27 20 3d 3e 20 27 d5 8b 27 2c 0a 27 d5 bc 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
161620 20 27 d5 8c 27 2c 0a 27 d5 bd 27 20 3d 3e 20 27 d5 8d 27 2c 0a 27 d5 be 27 20 3d 3e 20 27 d5 8e .'..',.'..'.=>.'..',.'..'.=>.'..
161640 27 2c 0a 27 d5 bf 27 20 3d 3e 20 27 d5 8f 27 2c 0a 27 d6 80 27 20 3d 3e 20 27 d5 90 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
161660 d6 81 27 20 3d 3e 20 27 d5 91 27 2c 0a 27 d6 82 27 20 3d 3e 20 27 d5 92 27 2c 0a 27 d6 83 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
161680 3d 3e 20 27 d5 93 27 2c 0a 27 d6 84 27 20 3d 3e 20 27 d5 94 27 2c 0a 27 d6 85 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1616a0 d5 95 27 2c 0a 27 d6 86 27 20 3d 3e 20 27 d5 96 27 2c 0a 27 e1 b5 b9 27 20 3d 3e 20 27 ea 9d bd ..',.'..'.=>.'..',.'...'.=>.'...
1616c0 27 2c 0a 27 e1 b5 bd 27 20 3d 3e 20 27 e2 b1 a3 27 2c 0a 27 e1 b8 81 27 20 3d 3e 20 27 e1 b8 80 ',.'...'.=>.'...',.'...'.=>.'...
1616e0 27 2c 0a 27 e1 b8 83 27 20 3d 3e 20 27 e1 b8 82 27 2c 0a 27 e1 b8 85 27 20 3d 3e 20 27 e1 b8 84 ',.'...'.=>.'...',.'...'.=>.'...
161700 27 2c 0a 27 e1 b8 87 27 20 3d 3e 20 27 e1 b8 86 27 2c 0a 27 e1 b8 89 27 20 3d 3e 20 27 e1 b8 88 ',.'...'.=>.'...',.'...'.=>.'...
161720 27 2c 0a 27 e1 b8 8b 27 20 3d 3e 20 27 e1 b8 8a 27 2c 0a 27 e1 b8 8d 27 20 3d 3e 20 27 e1 b8 8c ',.'...'.=>.'...',.'...'.=>.'...
161740 27 2c 0a 27 e1 b8 8f 27 20 3d 3e 20 27 e1 b8 8e 27 2c 0a 27 e1 b8 91 27 20 3d 3e 20 27 e1 b8 90 ',.'...'.=>.'...',.'...'.=>.'...
161760 27 2c 0a 27 e1 b8 93 27 20 3d 3e 20 27 e1 b8 92 27 2c 0a 27 e1 b8 95 27 20 3d 3e 20 27 e1 b8 94 ',.'...'.=>.'...',.'...'.=>.'...
161780 27 2c 0a 27 e1 b8 97 27 20 3d 3e 20 27 e1 b8 96 27 2c 0a 27 e1 b8 99 27 20 3d 3e 20 27 e1 b8 98 ',.'...'.=>.'...',.'...'.=>.'...
1617a0 27 2c 0a 27 e1 b8 9b 27 20 3d 3e 20 27 e1 b8 9a 27 2c 0a 27 e1 b8 9d 27 20 3d 3e 20 27 e1 b8 9c ',.'...'.=>.'...',.'...'.=>.'...
1617c0 27 2c 0a 27 e1 b8 9f 27 20 3d 3e 20 27 e1 b8 9e 27 2c 0a 27 e1 b8 a1 27 20 3d 3e 20 27 e1 b8 a0 ',.'...'.=>.'...',.'...'.=>.'...
1617e0 27 2c 0a 27 e1 b8 a3 27 20 3d 3e 20 27 e1 b8 a2 27 2c 0a 27 e1 b8 a5 27 20 3d 3e 20 27 e1 b8 a4 ',.'...'.=>.'...',.'...'.=>.'...
161800 27 2c 0a 27 e1 b8 a7 27 20 3d 3e 20 27 e1 b8 a6 27 2c 0a 27 e1 b8 a9 27 20 3d 3e 20 27 e1 b8 a8 ',.'...'.=>.'...',.'...'.=>.'...
161820 27 2c 0a 27 e1 b8 ab 27 20 3d 3e 20 27 e1 b8 aa 27 2c 0a 27 e1 b8 ad 27 20 3d 3e 20 27 e1 b8 ac ',.'...'.=>.'...',.'...'.=>.'...
161840 27 2c 0a 27 e1 b8 af 27 20 3d 3e 20 27 e1 b8 ae 27 2c 0a 27 e1 b8 b1 27 20 3d 3e 20 27 e1 b8 b0 ',.'...'.=>.'...',.'...'.=>.'...
161860 27 2c 0a 27 e1 b8 b3 27 20 3d 3e 20 27 e1 b8 b2 27 2c 0a 27 e1 b8 b5 27 20 3d 3e 20 27 e1 b8 b4 ',.'...'.=>.'...',.'...'.=>.'...
161880 27 2c 0a 27 e1 b8 b7 27 20 3d 3e 20 27 e1 b8 b6 27 2c 0a 27 e1 b8 b9 27 20 3d 3e 20 27 e1 b8 b8 ',.'...'.=>.'...',.'...'.=>.'...
1618a0 27 2c 0a 27 e1 b8 bb 27 20 3d 3e 20 27 e1 b8 ba 27 2c 0a 27 e1 b8 bd 27 20 3d 3e 20 27 e1 b8 bc ',.'...'.=>.'...',.'...'.=>.'...
1618c0 27 2c 0a 27 e1 b8 bf 27 20 3d 3e 20 27 e1 b8 be 27 2c 0a 27 e1 b9 81 27 20 3d 3e 20 27 e1 b9 80 ',.'...'.=>.'...',.'...'.=>.'...
1618e0 27 2c 0a 27 e1 b9 83 27 20 3d 3e 20 27 e1 b9 82 27 2c 0a 27 e1 b9 85 27 20 3d 3e 20 27 e1 b9 84 ',.'...'.=>.'...',.'...'.=>.'...
161900 27 2c 0a 27 e1 b9 87 27 20 3d 3e 20 27 e1 b9 86 27 2c 0a 27 e1 b9 89 27 20 3d 3e 20 27 e1 b9 88 ',.'...'.=>.'...',.'...'.=>.'...
161920 27 2c 0a 27 e1 b9 8b 27 20 3d 3e 20 27 e1 b9 8a 27 2c 0a 27 e1 b9 8d 27 20 3d 3e 20 27 e1 b9 8c ',.'...'.=>.'...',.'...'.=>.'...
161940 27 2c 0a 27 e1 b9 8f 27 20 3d 3e 20 27 e1 b9 8e 27 2c 0a 27 e1 b9 91 27 20 3d 3e 20 27 e1 b9 90 ',.'...'.=>.'...',.'...'.=>.'...
161960 27 2c 0a 27 e1 b9 93 27 20 3d 3e 20 27 e1 b9 92 27 2c 0a 27 e1 b9 95 27 20 3d 3e 20 27 e1 b9 94 ',.'...'.=>.'...',.'...'.=>.'...
161980 27 2c 0a 27 e1 b9 97 27 20 3d 3e 20 27 e1 b9 96 27 2c 0a 27 e1 b9 99 27 20 3d 3e 20 27 e1 b9 98 ',.'...'.=>.'...',.'...'.=>.'...
1619a0 27 2c 0a 27 e1 b9 9b 27 20 3d 3e 20 27 e1 b9 9a 27 2c 0a 27 e1 b9 9d 27 20 3d 3e 20 27 e1 b9 9c ',.'...'.=>.'...',.'...'.=>.'...
1619c0 27 2c 0a 27 e1 b9 9f 27 20 3d 3e 20 27 e1 b9 9e 27 2c 0a 27 e1 b9 a1 27 20 3d 3e 20 27 e1 b9 a0 ',.'...'.=>.'...',.'...'.=>.'...
1619e0 27 2c 0a 27 e1 b9 a3 27 20 3d 3e 20 27 e1 b9 a2 27 2c 0a 27 e1 b9 a5 27 20 3d 3e 20 27 e1 b9 a4 ',.'...'.=>.'...',.'...'.=>.'...
161a00 27 2c 0a 27 e1 b9 a7 27 20 3d 3e 20 27 e1 b9 a6 27 2c 0a 27 e1 b9 a9 27 20 3d 3e 20 27 e1 b9 a8 ',.'...'.=>.'...',.'...'.=>.'...
161a20 27 2c 0a 27 e1 b9 ab 27 20 3d 3e 20 27 e1 b9 aa 27 2c 0a 27 e1 b9 ad 27 20 3d 3e 20 27 e1 b9 ac ',.'...'.=>.'...',.'...'.=>.'...
161a40 27 2c 0a 27 e1 b9 af 27 20 3d 3e 20 27 e1 b9 ae 27 2c 0a 27 e1 b9 b1 27 20 3d 3e 20 27 e1 b9 b0 ',.'...'.=>.'...',.'...'.=>.'...
161a60 27 2c 0a 27 e1 b9 b3 27 20 3d 3e 20 27 e1 b9 b2 27 2c 0a 27 e1 b9 b5 27 20 3d 3e 20 27 e1 b9 b4 ',.'...'.=>.'...',.'...'.=>.'...
161a80 27 2c 0a 27 e1 b9 b7 27 20 3d 3e 20 27 e1 b9 b6 27 2c 0a 27 e1 b9 b9 27 20 3d 3e 20 27 e1 b9 b8 ',.'...'.=>.'...',.'...'.=>.'...
161aa0 27 2c 0a 27 e1 b9 bb 27 20 3d 3e 20 27 e1 b9 ba 27 2c 0a 27 e1 b9 bd 27 20 3d 3e 20 27 e1 b9 bc ',.'...'.=>.'...',.'...'.=>.'...
161ac0 27 2c 0a 27 e1 b9 bf 27 20 3d 3e 20 27 e1 b9 be 27 2c 0a 27 e1 ba 81 27 20 3d 3e 20 27 e1 ba 80 ',.'...'.=>.'...',.'...'.=>.'...
161ae0 27 2c 0a 27 e1 ba 83 27 20 3d 3e 20 27 e1 ba 82 27 2c 0a 27 e1 ba 85 27 20 3d 3e 20 27 e1 ba 84 ',.'...'.=>.'...',.'...'.=>.'...
161b00 27 2c 0a 27 e1 ba 87 27 20 3d 3e 20 27 e1 ba 86 27 2c 0a 27 e1 ba 89 27 20 3d 3e 20 27 e1 ba 88 ',.'...'.=>.'...',.'...'.=>.'...
161b20 27 2c 0a 27 e1 ba 8b 27 20 3d 3e 20 27 e1 ba 8a 27 2c 0a 27 e1 ba 8d 27 20 3d 3e 20 27 e1 ba 8c ',.'...'.=>.'...',.'...'.=>.'...
161b40 27 2c 0a 27 e1 ba 8f 27 20 3d 3e 20 27 e1 ba 8e 27 2c 0a 27 e1 ba 91 27 20 3d 3e 20 27 e1 ba 90 ',.'...'.=>.'...',.'...'.=>.'...
161b60 27 2c 0a 27 e1 ba 93 27 20 3d 3e 20 27 e1 ba 92 27 2c 0a 27 e1 ba 95 27 20 3d 3e 20 27 e1 ba 94 ',.'...'.=>.'...',.'...'.=>.'...
161b80 27 2c 0a 27 e1 ba 9b 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 27 e1 ba a1 27 20 3d 3e 20 27 e1 ba a0 ',.'...'.=>.'...',.'...'.=>.'...
161ba0 27 2c 0a 27 e1 ba a3 27 20 3d 3e 20 27 e1 ba a2 27 2c 0a 27 e1 ba a5 27 20 3d 3e 20 27 e1 ba a4 ',.'...'.=>.'...',.'...'.=>.'...
161bc0 27 2c 0a 27 e1 ba a7 27 20 3d 3e 20 27 e1 ba a6 27 2c 0a 27 e1 ba a9 27 20 3d 3e 20 27 e1 ba a8 ',.'...'.=>.'...',.'...'.=>.'...
161be0 27 2c 0a 27 e1 ba ab 27 20 3d 3e 20 27 e1 ba aa 27 2c 0a 27 e1 ba ad 27 20 3d 3e 20 27 e1 ba ac ',.'...'.=>.'...',.'...'.=>.'...
161c00 27 2c 0a 27 e1 ba af 27 20 3d 3e 20 27 e1 ba ae 27 2c 0a 27 e1 ba b1 27 20 3d 3e 20 27 e1 ba b0 ',.'...'.=>.'...',.'...'.=>.'...
161c20 27 2c 0a 27 e1 ba b3 27 20 3d 3e 20 27 e1 ba b2 27 2c 0a 27 e1 ba b5 27 20 3d 3e 20 27 e1 ba b4 ',.'...'.=>.'...',.'...'.=>.'...
161c40 27 2c 0a 27 e1 ba b7 27 20 3d 3e 20 27 e1 ba b6 27 2c 0a 27 e1 ba b9 27 20 3d 3e 20 27 e1 ba b8 ',.'...'.=>.'...',.'...'.=>.'...
161c60 27 2c 0a 27 e1 ba bb 27 20 3d 3e 20 27 e1 ba ba 27 2c 0a 27 e1 ba bd 27 20 3d 3e 20 27 e1 ba bc ',.'...'.=>.'...',.'...'.=>.'...
161c80 27 2c 0a 27 e1 ba bf 27 20 3d 3e 20 27 e1 ba be 27 2c 0a 27 e1 bb 81 27 20 3d 3e 20 27 e1 bb 80 ',.'...'.=>.'...',.'...'.=>.'...
161ca0 27 2c 0a 27 e1 bb 83 27 20 3d 3e 20 27 e1 bb 82 27 2c 0a 27 e1 bb 85 27 20 3d 3e 20 27 e1 bb 84 ',.'...'.=>.'...',.'...'.=>.'...
161cc0 27 2c 0a 27 e1 bb 87 27 20 3d 3e 20 27 e1 bb 86 27 2c 0a 27 e1 bb 89 27 20 3d 3e 20 27 e1 bb 88 ',.'...'.=>.'...',.'...'.=>.'...
161ce0 27 2c 0a 27 e1 bb 8b 27 20 3d 3e 20 27 e1 bb 8a 27 2c 0a 27 e1 bb 8d 27 20 3d 3e 20 27 e1 bb 8c ',.'...'.=>.'...',.'...'.=>.'...
161d00 27 2c 0a 27 e1 bb 8f 27 20 3d 3e 20 27 e1 bb 8e 27 2c 0a 27 e1 bb 91 27 20 3d 3e 20 27 e1 bb 90 ',.'...'.=>.'...',.'...'.=>.'...
161d20 27 2c 0a 27 e1 bb 93 27 20 3d 3e 20 27 e1 bb 92 27 2c 0a 27 e1 bb 95 27 20 3d 3e 20 27 e1 bb 94 ',.'...'.=>.'...',.'...'.=>.'...
161d40 27 2c 0a 27 e1 bb 97 27 20 3d 3e 20 27 e1 bb 96 27 2c 0a 27 e1 bb 99 27 20 3d 3e 20 27 e1 bb 98 ',.'...'.=>.'...',.'...'.=>.'...
161d60 27 2c 0a 27 e1 bb 9b 27 20 3d 3e 20 27 e1 bb 9a 27 2c 0a 27 e1 bb 9d 27 20 3d 3e 20 27 e1 bb 9c ',.'...'.=>.'...',.'...'.=>.'...
161d80 27 2c 0a 27 e1 bb 9f 27 20 3d 3e 20 27 e1 bb 9e 27 2c 0a 27 e1 bb a1 27 20 3d 3e 20 27 e1 bb a0 ',.'...'.=>.'...',.'...'.=>.'...
161da0 27 2c 0a 27 e1 bb a3 27 20 3d 3e 20 27 e1 bb a2 27 2c 0a 27 e1 bb a5 27 20 3d 3e 20 27 e1 bb a4 ',.'...'.=>.'...',.'...'.=>.'...
161dc0 27 2c 0a 27 e1 bb a7 27 20 3d 3e 20 27 e1 bb a6 27 2c 0a 27 e1 bb a9 27 20 3d 3e 20 27 e1 bb a8 ',.'...'.=>.'...',.'...'.=>.'...
161de0 27 2c 0a 27 e1 bb ab 27 20 3d 3e 20 27 e1 bb aa 27 2c 0a 27 e1 bb ad 27 20 3d 3e 20 27 e1 bb ac ',.'...'.=>.'...',.'...'.=>.'...
161e00 27 2c 0a 27 e1 bb af 27 20 3d 3e 20 27 e1 bb ae 27 2c 0a 27 e1 bb b1 27 20 3d 3e 20 27 e1 bb b0 ',.'...'.=>.'...',.'...'.=>.'...
161e20 27 2c 0a 27 e1 bb b3 27 20 3d 3e 20 27 e1 bb b2 27 2c 0a 27 e1 bb b5 27 20 3d 3e 20 27 e1 bb b4 ',.'...'.=>.'...',.'...'.=>.'...
161e40 27 2c 0a 27 e1 bb b7 27 20 3d 3e 20 27 e1 bb b6 27 2c 0a 27 e1 bb b9 27 20 3d 3e 20 27 e1 bb b8 ',.'...'.=>.'...',.'...'.=>.'...
161e60 27 2c 0a 27 e1 bb bb 27 20 3d 3e 20 27 e1 bb ba 27 2c 0a 27 e1 bb bd 27 20 3d 3e 20 27 e1 bb bc ',.'...'.=>.'...',.'...'.=>.'...
161e80 27 2c 0a 27 e1 bb bf 27 20 3d 3e 20 27 e1 bb be 27 2c 0a 27 e1 bc 80 27 20 3d 3e 20 27 e1 bc 88 ',.'...'.=>.'...',.'...'.=>.'...
161ea0 27 2c 0a 27 e1 bc 81 27 20 3d 3e 20 27 e1 bc 89 27 2c 0a 27 e1 bc 82 27 20 3d 3e 20 27 e1 bc 8a ',.'...'.=>.'...',.'...'.=>.'...
161ec0 27 2c 0a 27 e1 bc 83 27 20 3d 3e 20 27 e1 bc 8b 27 2c 0a 27 e1 bc 84 27 20 3d 3e 20 27 e1 bc 8c ',.'...'.=>.'...',.'...'.=>.'...
161ee0 27 2c 0a 27 e1 bc 85 27 20 3d 3e 20 27 e1 bc 8d 27 2c 0a 27 e1 bc 86 27 20 3d 3e 20 27 e1 bc 8e ',.'...'.=>.'...',.'...'.=>.'...
161f00 27 2c 0a 27 e1 bc 87 27 20 3d 3e 20 27 e1 bc 8f 27 2c 0a 27 e1 bc 90 27 20 3d 3e 20 27 e1 bc 98 ',.'...'.=>.'...',.'...'.=>.'...
161f20 27 2c 0a 27 e1 bc 91 27 20 3d 3e 20 27 e1 bc 99 27 2c 0a 27 e1 bc 92 27 20 3d 3e 20 27 e1 bc 9a ',.'...'.=>.'...',.'...'.=>.'...
161f40 27 2c 0a 27 e1 bc 93 27 20 3d 3e 20 27 e1 bc 9b 27 2c 0a 27 e1 bc 94 27 20 3d 3e 20 27 e1 bc 9c ',.'...'.=>.'...',.'...'.=>.'...
161f60 27 2c 0a 27 e1 bc 95 27 20 3d 3e 20 27 e1 bc 9d 27 2c 0a 27 e1 bc a0 27 20 3d 3e 20 27 e1 bc a8 ',.'...'.=>.'...',.'...'.=>.'...
161f80 27 2c 0a 27 e1 bc a1 27 20 3d 3e 20 27 e1 bc a9 27 2c 0a 27 e1 bc a2 27 20 3d 3e 20 27 e1 bc aa ',.'...'.=>.'...',.'...'.=>.'...
161fa0 27 2c 0a 27 e1 bc a3 27 20 3d 3e 20 27 e1 bc ab 27 2c 0a 27 e1 bc a4 27 20 3d 3e 20 27 e1 bc ac ',.'...'.=>.'...',.'...'.=>.'...
161fc0 27 2c 0a 27 e1 bc a5 27 20 3d 3e 20 27 e1 bc ad 27 2c 0a 27 e1 bc a6 27 20 3d 3e 20 27 e1 bc ae ',.'...'.=>.'...',.'...'.=>.'...
161fe0 27 2c 0a 27 e1 bc a7 27 20 3d 3e 20 27 e1 bc af 27 2c 0a 27 e1 bc b0 27 20 3d 3e 20 27 e1 bc b8 ',.'...'.=>.'...',.'...'.=>.'...
162000 27 2c 0a 27 e1 bc b1 27 20 3d 3e 20 27 e1 bc b9 27 2c 0a 27 e1 bc b2 27 20 3d 3e 20 27 e1 bc ba ',.'...'.=>.'...',.'...'.=>.'...
162020 27 2c 0a 27 e1 bc b3 27 20 3d 3e 20 27 e1 bc bb 27 2c 0a 27 e1 bc b4 27 20 3d 3e 20 27 e1 bc bc ',.'...'.=>.'...',.'...'.=>.'...
162040 27 2c 0a 27 e1 bc b5 27 20 3d 3e 20 27 e1 bc bd 27 2c 0a 27 e1 bc b6 27 20 3d 3e 20 27 e1 bc be ',.'...'.=>.'...',.'...'.=>.'...
162060 27 2c 0a 27 e1 bc b7 27 20 3d 3e 20 27 e1 bc bf 27 2c 0a 27 e1 bd 80 27 20 3d 3e 20 27 e1 bd 88 ',.'...'.=>.'...',.'...'.=>.'...
162080 27 2c 0a 27 e1 bd 81 27 20 3d 3e 20 27 e1 bd 89 27 2c 0a 27 e1 bd 82 27 20 3d 3e 20 27 e1 bd 8a ',.'...'.=>.'...',.'...'.=>.'...
1620a0 27 2c 0a 27 e1 bd 83 27 20 3d 3e 20 27 e1 bd 8b 27 2c 0a 27 e1 bd 84 27 20 3d 3e 20 27 e1 bd 8c ',.'...'.=>.'...',.'...'.=>.'...
1620c0 27 2c 0a 27 e1 bd 85 27 20 3d 3e 20 27 e1 bd 8d 27 2c 0a 27 e1 bd 91 27 20 3d 3e 20 27 e1 bd 99 ',.'...'.=>.'...',.'...'.=>.'...
1620e0 27 2c 0a 27 e1 bd 93 27 20 3d 3e 20 27 e1 bd 9b 27 2c 0a 27 e1 bd 95 27 20 3d 3e 20 27 e1 bd 9d ',.'...'.=>.'...',.'...'.=>.'...
162100 27 2c 0a 27 e1 bd 97 27 20 3d 3e 20 27 e1 bd 9f 27 2c 0a 27 e1 bd a0 27 20 3d 3e 20 27 e1 bd a8 ',.'...'.=>.'...',.'...'.=>.'...
162120 27 2c 0a 27 e1 bd a1 27 20 3d 3e 20 27 e1 bd a9 27 2c 0a 27 e1 bd a2 27 20 3d 3e 20 27 e1 bd aa ',.'...'.=>.'...',.'...'.=>.'...
162140 27 2c 0a 27 e1 bd a3 27 20 3d 3e 20 27 e1 bd ab 27 2c 0a 27 e1 bd a4 27 20 3d 3e 20 27 e1 bd ac ',.'...'.=>.'...',.'...'.=>.'...
162160 27 2c 0a 27 e1 bd a5 27 20 3d 3e 20 27 e1 bd ad 27 2c 0a 27 e1 bd a6 27 20 3d 3e 20 27 e1 bd ae ',.'...'.=>.'...',.'...'.=>.'...
162180 27 2c 0a 27 e1 bd a7 27 20 3d 3e 20 27 e1 bd af 27 2c 0a 27 e1 bd b0 27 20 3d 3e 20 27 e1 be ba ',.'...'.=>.'...',.'...'.=>.'...
1621a0 27 2c 0a 27 e1 bd b1 27 20 3d 3e 20 27 e1 be bb 27 2c 0a 27 e1 bd b2 27 20 3d 3e 20 27 e1 bf 88 ',.'...'.=>.'...',.'...'.=>.'...
1621c0 27 2c 0a 27 e1 bd b3 27 20 3d 3e 20 27 e1 bf 89 27 2c 0a 27 e1 bd b4 27 20 3d 3e 20 27 e1 bf 8a ',.'...'.=>.'...',.'...'.=>.'...
1621e0 27 2c 0a 27 e1 bd b5 27 20 3d 3e 20 27 e1 bf 8b 27 2c 0a 27 e1 bd b6 27 20 3d 3e 20 27 e1 bf 9a ',.'...'.=>.'...',.'...'.=>.'...
162200 27 2c 0a 27 e1 bd b7 27 20 3d 3e 20 27 e1 bf 9b 27 2c 0a 27 e1 bd b8 27 20 3d 3e 20 27 e1 bf b8 ',.'...'.=>.'...',.'...'.=>.'...
162220 27 2c 0a 27 e1 bd b9 27 20 3d 3e 20 27 e1 bf b9 27 2c 0a 27 e1 bd ba 27 20 3d 3e 20 27 e1 bf aa ',.'...'.=>.'...',.'...'.=>.'...
162240 27 2c 0a 27 e1 bd bb 27 20 3d 3e 20 27 e1 bf ab 27 2c 0a 27 e1 bd bc 27 20 3d 3e 20 27 e1 bf ba ',.'...'.=>.'...',.'...'.=>.'...
162260 27 2c 0a 27 e1 bd bd 27 20 3d 3e 20 27 e1 bf bb 27 2c 0a 27 e1 be 80 27 20 3d 3e 20 27 e1 be 88 ',.'...'.=>.'...',.'...'.=>.'...
162280 27 2c 0a 27 e1 be 81 27 20 3d 3e 20 27 e1 be 89 27 2c 0a 27 e1 be 82 27 20 3d 3e 20 27 e1 be 8a ',.'...'.=>.'...',.'...'.=>.'...
1622a0 27 2c 0a 27 e1 be 83 27 20 3d 3e 20 27 e1 be 8b 27 2c 0a 27 e1 be 84 27 20 3d 3e 20 27 e1 be 8c ',.'...'.=>.'...',.'...'.=>.'...
1622c0 27 2c 0a 27 e1 be 85 27 20 3d 3e 20 27 e1 be 8d 27 2c 0a 27 e1 be 86 27 20 3d 3e 20 27 e1 be 8e ',.'...'.=>.'...',.'...'.=>.'...
1622e0 27 2c 0a 27 e1 be 87 27 20 3d 3e 20 27 e1 be 8f 27 2c 0a 27 e1 be 90 27 20 3d 3e 20 27 e1 be 98 ',.'...'.=>.'...',.'...'.=>.'...
162300 27 2c 0a 27 e1 be 91 27 20 3d 3e 20 27 e1 be 99 27 2c 0a 27 e1 be 92 27 20 3d 3e 20 27 e1 be 9a ',.'...'.=>.'...',.'...'.=>.'...
162320 27 2c 0a 27 e1 be 93 27 20 3d 3e 20 27 e1 be 9b 27 2c 0a 27 e1 be 94 27 20 3d 3e 20 27 e1 be 9c ',.'...'.=>.'...',.'...'.=>.'...
162340 27 2c 0a 27 e1 be 95 27 20 3d 3e 20 27 e1 be 9d 27 2c 0a 27 e1 be 96 27 20 3d 3e 20 27 e1 be 9e ',.'...'.=>.'...',.'...'.=>.'...
162360 27 2c 0a 27 e1 be 97 27 20 3d 3e 20 27 e1 be 9f 27 2c 0a 27 e1 be a0 27 20 3d 3e 20 27 e1 be a8 ',.'...'.=>.'...',.'...'.=>.'...
162380 27 2c 0a 27 e1 be a1 27 20 3d 3e 20 27 e1 be a9 27 2c 0a 27 e1 be a2 27 20 3d 3e 20 27 e1 be aa ',.'...'.=>.'...',.'...'.=>.'...
1623a0 27 2c 0a 27 e1 be a3 27 20 3d 3e 20 27 e1 be ab 27 2c 0a 27 e1 be a4 27 20 3d 3e 20 27 e1 be ac ',.'...'.=>.'...',.'...'.=>.'...
1623c0 27 2c 0a 27 e1 be a5 27 20 3d 3e 20 27 e1 be ad 27 2c 0a 27 e1 be a6 27 20 3d 3e 20 27 e1 be ae ',.'...'.=>.'...',.'...'.=>.'...
1623e0 27 2c 0a 27 e1 be a7 27 20 3d 3e 20 27 e1 be af 27 2c 0a 27 e1 be b0 27 20 3d 3e 20 27 e1 be b8 ',.'...'.=>.'...',.'...'.=>.'...
162400 27 2c 0a 27 e1 be b1 27 20 3d 3e 20 27 e1 be b9 27 2c 0a 27 e1 be b3 27 20 3d 3e 20 27 e1 be bc ',.'...'.=>.'...',.'...'.=>.'...
162420 27 2c 0a 27 e1 be be 27 20 3d 3e 20 27 ce 99 27 2c 0a 27 e1 bf 83 27 20 3d 3e 20 27 e1 bf 8c 27 ',.'...'.=>.'..',.'...'.=>.'...'
162440 2c 0a 27 e1 bf 90 27 20 3d 3e 20 27 e1 bf 98 27 2c 0a 27 e1 bf 91 27 20 3d 3e 20 27 e1 bf 99 27 ,.'...'.=>.'...',.'...'.=>.'...'
162460 2c 0a 27 e1 bf a0 27 20 3d 3e 20 27 e1 bf a8 27 2c 0a 27 e1 bf a1 27 20 3d 3e 20 27 e1 bf a9 27 ,.'...'.=>.'...',.'...'.=>.'...'
162480 2c 0a 27 e1 bf a5 27 20 3d 3e 20 27 e1 bf ac 27 2c 0a 27 e1 bf b3 27 20 3d 3e 20 27 e1 bf bc 27 ,.'...'.=>.'...',.'...'.=>.'...'
1624a0 2c 0a 27 e2 85 8e 27 20 3d 3e 20 27 e2 84 b2 27 2c 0a 27 e2 85 b0 27 20 3d 3e 20 27 e2 85 a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
1624c0 2c 0a 27 e2 85 b1 27 20 3d 3e 20 27 e2 85 a1 27 2c 0a 27 e2 85 b2 27 20 3d 3e 20 27 e2 85 a2 27 ,.'...'.=>.'...',.'...'.=>.'...'
1624e0 2c 0a 27 e2 85 b3 27 20 3d 3e 20 27 e2 85 a3 27 2c 0a 27 e2 85 b4 27 20 3d 3e 20 27 e2 85 a4 27 ,.'...'.=>.'...',.'...'.=>.'...'
162500 2c 0a 27 e2 85 b5 27 20 3d 3e 20 27 e2 85 a5 27 2c 0a 27 e2 85 b6 27 20 3d 3e 20 27 e2 85 a6 27 ,.'...'.=>.'...',.'...'.=>.'...'
162520 2c 0a 27 e2 85 b7 27 20 3d 3e 20 27 e2 85 a7 27 2c 0a 27 e2 85 b8 27 20 3d 3e 20 27 e2 85 a8 27 ,.'...'.=>.'...',.'...'.=>.'...'
162540 2c 0a 27 e2 85 b9 27 20 3d 3e 20 27 e2 85 a9 27 2c 0a 27 e2 85 ba 27 20 3d 3e 20 27 e2 85 aa 27 ,.'...'.=>.'...',.'...'.=>.'...'
162560 2c 0a 27 e2 85 bb 27 20 3d 3e 20 27 e2 85 ab 27 2c 0a 27 e2 85 bc 27 20 3d 3e 20 27 e2 85 ac 27 ,.'...'.=>.'...',.'...'.=>.'...'
162580 2c 0a 27 e2 85 bd 27 20 3d 3e 20 27 e2 85 ad 27 2c 0a 27 e2 85 be 27 20 3d 3e 20 27 e2 85 ae 27 ,.'...'.=>.'...',.'...'.=>.'...'
1625a0 2c 0a 27 e2 85 bf 27 20 3d 3e 20 27 e2 85 af 27 2c 0a 27 e2 86 84 27 20 3d 3e 20 27 e2 86 83 27 ,.'...'.=>.'...',.'...'.=>.'...'
1625c0 2c 0a 27 e2 93 90 27 20 3d 3e 20 27 e2 92 b6 27 2c 0a 27 e2 93 91 27 20 3d 3e 20 27 e2 92 b7 27 ,.'...'.=>.'...',.'...'.=>.'...'
1625e0 2c 0a 27 e2 93 92 27 20 3d 3e 20 27 e2 92 b8 27 2c 0a 27 e2 93 93 27 20 3d 3e 20 27 e2 92 b9 27 ,.'...'.=>.'...',.'...'.=>.'...'
162600 2c 0a 27 e2 93 94 27 20 3d 3e 20 27 e2 92 ba 27 2c 0a 27 e2 93 95 27 20 3d 3e 20 27 e2 92 bb 27 ,.'...'.=>.'...',.'...'.=>.'...'
162620 2c 0a 27 e2 93 96 27 20 3d 3e 20 27 e2 92 bc 27 2c 0a 27 e2 93 97 27 20 3d 3e 20 27 e2 92 bd 27 ,.'...'.=>.'...',.'...'.=>.'...'
162640 2c 0a 27 e2 93 98 27 20 3d 3e 20 27 e2 92 be 27 2c 0a 27 e2 93 99 27 20 3d 3e 20 27 e2 92 bf 27 ,.'...'.=>.'...',.'...'.=>.'...'
162660 2c 0a 27 e2 93 9a 27 20 3d 3e 20 27 e2 93 80 27 2c 0a 27 e2 93 9b 27 20 3d 3e 20 27 e2 93 81 27 ,.'...'.=>.'...',.'...'.=>.'...'
162680 2c 0a 27 e2 93 9c 27 20 3d 3e 20 27 e2 93 82 27 2c 0a 27 e2 93 9d 27 20 3d 3e 20 27 e2 93 83 27 ,.'...'.=>.'...',.'...'.=>.'...'
1626a0 2c 0a 27 e2 93 9e 27 20 3d 3e 20 27 e2 93 84 27 2c 0a 27 e2 93 9f 27 20 3d 3e 20 27 e2 93 85 27 ,.'...'.=>.'...',.'...'.=>.'...'
1626c0 2c 0a 27 e2 93 a0 27 20 3d 3e 20 27 e2 93 86 27 2c 0a 27 e2 93 a1 27 20 3d 3e 20 27 e2 93 87 27 ,.'...'.=>.'...',.'...'.=>.'...'
1626e0 2c 0a 27 e2 93 a2 27 20 3d 3e 20 27 e2 93 88 27 2c 0a 27 e2 93 a3 27 20 3d 3e 20 27 e2 93 89 27 ,.'...'.=>.'...',.'...'.=>.'...'
162700 2c 0a 27 e2 93 a4 27 20 3d 3e 20 27 e2 93 8a 27 2c 0a 27 e2 93 a5 27 20 3d 3e 20 27 e2 93 8b 27 ,.'...'.=>.'...',.'...'.=>.'...'
162720 2c 0a 27 e2 93 a6 27 20 3d 3e 20 27 e2 93 8c 27 2c 0a 27 e2 93 a7 27 20 3d 3e 20 27 e2 93 8d 27 ,.'...'.=>.'...',.'...'.=>.'...'
162740 2c 0a 27 e2 93 a8 27 20 3d 3e 20 27 e2 93 8e 27 2c 0a 27 e2 93 a9 27 20 3d 3e 20 27 e2 93 8f 27 ,.'...'.=>.'...',.'...'.=>.'...'
162760 2c 0a 27 e2 b0 b0 27 20 3d 3e 20 27 e2 b0 80 27 2c 0a 27 e2 b0 b1 27 20 3d 3e 20 27 e2 b0 81 27 ,.'...'.=>.'...',.'...'.=>.'...'
162780 2c 0a 27 e2 b0 b2 27 20 3d 3e 20 27 e2 b0 82 27 2c 0a 27 e2 b0 b3 27 20 3d 3e 20 27 e2 b0 83 27 ,.'...'.=>.'...',.'...'.=>.'...'
1627a0 2c 0a 27 e2 b0 b4 27 20 3d 3e 20 27 e2 b0 84 27 2c 0a 27 e2 b0 b5 27 20 3d 3e 20 27 e2 b0 85 27 ,.'...'.=>.'...',.'...'.=>.'...'
1627c0 2c 0a 27 e2 b0 b6 27 20 3d 3e 20 27 e2 b0 86 27 2c 0a 27 e2 b0 b7 27 20 3d 3e 20 27 e2 b0 87 27 ,.'...'.=>.'...',.'...'.=>.'...'
1627e0 2c 0a 27 e2 b0 b8 27 20 3d 3e 20 27 e2 b0 88 27 2c 0a 27 e2 b0 b9 27 20 3d 3e 20 27 e2 b0 89 27 ,.'...'.=>.'...',.'...'.=>.'...'
162800 2c 0a 27 e2 b0 ba 27 20 3d 3e 20 27 e2 b0 8a 27 2c 0a 27 e2 b0 bb 27 20 3d 3e 20 27 e2 b0 8b 27 ,.'...'.=>.'...',.'...'.=>.'...'
162820 2c 0a 27 e2 b0 bc 27 20 3d 3e 20 27 e2 b0 8c 27 2c 0a 27 e2 b0 bd 27 20 3d 3e 20 27 e2 b0 8d 27 ,.'...'.=>.'...',.'...'.=>.'...'
162840 2c 0a 27 e2 b0 be 27 20 3d 3e 20 27 e2 b0 8e 27 2c 0a 27 e2 b0 bf 27 20 3d 3e 20 27 e2 b0 8f 27 ,.'...'.=>.'...',.'...'.=>.'...'
162860 2c 0a 27 e2 b1 80 27 20 3d 3e 20 27 e2 b0 90 27 2c 0a 27 e2 b1 81 27 20 3d 3e 20 27 e2 b0 91 27 ,.'...'.=>.'...',.'...'.=>.'...'
162880 2c 0a 27 e2 b1 82 27 20 3d 3e 20 27 e2 b0 92 27 2c 0a 27 e2 b1 83 27 20 3d 3e 20 27 e2 b0 93 27 ,.'...'.=>.'...',.'...'.=>.'...'
1628a0 2c 0a 27 e2 b1 84 27 20 3d 3e 20 27 e2 b0 94 27 2c 0a 27 e2 b1 85 27 20 3d 3e 20 27 e2 b0 95 27 ,.'...'.=>.'...',.'...'.=>.'...'
1628c0 2c 0a 27 e2 b1 86 27 20 3d 3e 20 27 e2 b0 96 27 2c 0a 27 e2 b1 87 27 20 3d 3e 20 27 e2 b0 97 27 ,.'...'.=>.'...',.'...'.=>.'...'
1628e0 2c 0a 27 e2 b1 88 27 20 3d 3e 20 27 e2 b0 98 27 2c 0a 27 e2 b1 89 27 20 3d 3e 20 27 e2 b0 99 27 ,.'...'.=>.'...',.'...'.=>.'...'
162900 2c 0a 27 e2 b1 8a 27 20 3d 3e 20 27 e2 b0 9a 27 2c 0a 27 e2 b1 8b 27 20 3d 3e 20 27 e2 b0 9b 27 ,.'...'.=>.'...',.'...'.=>.'...'
162920 2c 0a 27 e2 b1 8c 27 20 3d 3e 20 27 e2 b0 9c 27 2c 0a 27 e2 b1 8d 27 20 3d 3e 20 27 e2 b0 9d 27 ,.'...'.=>.'...',.'...'.=>.'...'
162940 2c 0a 27 e2 b1 8e 27 20 3d 3e 20 27 e2 b0 9e 27 2c 0a 27 e2 b1 8f 27 20 3d 3e 20 27 e2 b0 9f 27 ,.'...'.=>.'...',.'...'.=>.'...'
162960 2c 0a 27 e2 b1 90 27 20 3d 3e 20 27 e2 b0 a0 27 2c 0a 27 e2 b1 91 27 20 3d 3e 20 27 e2 b0 a1 27 ,.'...'.=>.'...',.'...'.=>.'...'
162980 2c 0a 27 e2 b1 92 27 20 3d 3e 20 27 e2 b0 a2 27 2c 0a 27 e2 b1 93 27 20 3d 3e 20 27 e2 b0 a3 27 ,.'...'.=>.'...',.'...'.=>.'...'
1629a0 2c 0a 27 e2 b1 94 27 20 3d 3e 20 27 e2 b0 a4 27 2c 0a 27 e2 b1 95 27 20 3d 3e 20 27 e2 b0 a5 27 ,.'...'.=>.'...',.'...'.=>.'...'
1629c0 2c 0a 27 e2 b1 96 27 20 3d 3e 20 27 e2 b0 a6 27 2c 0a 27 e2 b1 97 27 20 3d 3e 20 27 e2 b0 a7 27 ,.'...'.=>.'...',.'...'.=>.'...'
1629e0 2c 0a 27 e2 b1 98 27 20 3d 3e 20 27 e2 b0 a8 27 2c 0a 27 e2 b1 99 27 20 3d 3e 20 27 e2 b0 a9 27 ,.'...'.=>.'...',.'...'.=>.'...'
162a00 2c 0a 27 e2 b1 9a 27 20 3d 3e 20 27 e2 b0 aa 27 2c 0a 27 e2 b1 9b 27 20 3d 3e 20 27 e2 b0 ab 27 ,.'...'.=>.'...',.'...'.=>.'...'
162a20 2c 0a 27 e2 b1 9c 27 20 3d 3e 20 27 e2 b0 ac 27 2c 0a 27 e2 b1 9d 27 20 3d 3e 20 27 e2 b0 ad 27 ,.'...'.=>.'...',.'...'.=>.'...'
162a40 2c 0a 27 e2 b1 9e 27 20 3d 3e 20 27 e2 b0 ae 27 2c 0a 27 e2 b1 a1 27 20 3d 3e 20 27 e2 b1 a0 27 ,.'...'.=>.'...',.'...'.=>.'...'
162a60 2c 0a 27 e2 b1 a5 27 20 3d 3e 20 27 c8 ba 27 2c 0a 27 e2 b1 a6 27 20 3d 3e 20 27 c8 be 27 2c 0a ,.'...'.=>.'..',.'...'.=>.'..',.
162a80 27 e2 b1 a8 27 20 3d 3e 20 27 e2 b1 a7 27 2c 0a 27 e2 b1 aa 27 20 3d 3e 20 27 e2 b1 a9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162aa0 27 e2 b1 ac 27 20 3d 3e 20 27 e2 b1 ab 27 2c 0a 27 e2 b1 b3 27 20 3d 3e 20 27 e2 b1 b2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ac0 27 e2 b1 b6 27 20 3d 3e 20 27 e2 b1 b5 27 2c 0a 27 e2 b2 81 27 20 3d 3e 20 27 e2 b2 80 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ae0 27 e2 b2 83 27 20 3d 3e 20 27 e2 b2 82 27 2c 0a 27 e2 b2 85 27 20 3d 3e 20 27 e2 b2 84 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162b00 27 e2 b2 87 27 20 3d 3e 20 27 e2 b2 86 27 2c 0a 27 e2 b2 89 27 20 3d 3e 20 27 e2 b2 88 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162b20 27 e2 b2 8b 27 20 3d 3e 20 27 e2 b2 8a 27 2c 0a 27 e2 b2 8d 27 20 3d 3e 20 27 e2 b2 8c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162b40 27 e2 b2 8f 27 20 3d 3e 20 27 e2 b2 8e 27 2c 0a 27 e2 b2 91 27 20 3d 3e 20 27 e2 b2 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162b60 27 e2 b2 93 27 20 3d 3e 20 27 e2 b2 92 27 2c 0a 27 e2 b2 95 27 20 3d 3e 20 27 e2 b2 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162b80 27 e2 b2 97 27 20 3d 3e 20 27 e2 b2 96 27 2c 0a 27 e2 b2 99 27 20 3d 3e 20 27 e2 b2 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ba0 27 e2 b2 9b 27 20 3d 3e 20 27 e2 b2 9a 27 2c 0a 27 e2 b2 9d 27 20 3d 3e 20 27 e2 b2 9c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162bc0 27 e2 b2 9f 27 20 3d 3e 20 27 e2 b2 9e 27 2c 0a 27 e2 b2 a1 27 20 3d 3e 20 27 e2 b2 a0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162be0 27 e2 b2 a3 27 20 3d 3e 20 27 e2 b2 a2 27 2c 0a 27 e2 b2 a5 27 20 3d 3e 20 27 e2 b2 a4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162c00 27 e2 b2 a7 27 20 3d 3e 20 27 e2 b2 a6 27 2c 0a 27 e2 b2 a9 27 20 3d 3e 20 27 e2 b2 a8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162c20 27 e2 b2 ab 27 20 3d 3e 20 27 e2 b2 aa 27 2c 0a 27 e2 b2 ad 27 20 3d 3e 20 27 e2 b2 ac 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162c40 27 e2 b2 af 27 20 3d 3e 20 27 e2 b2 ae 27 2c 0a 27 e2 b2 b1 27 20 3d 3e 20 27 e2 b2 b0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162c60 27 e2 b2 b3 27 20 3d 3e 20 27 e2 b2 b2 27 2c 0a 27 e2 b2 b5 27 20 3d 3e 20 27 e2 b2 b4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162c80 27 e2 b2 b7 27 20 3d 3e 20 27 e2 b2 b6 27 2c 0a 27 e2 b2 b9 27 20 3d 3e 20 27 e2 b2 b8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ca0 27 e2 b2 bb 27 20 3d 3e 20 27 e2 b2 ba 27 2c 0a 27 e2 b2 bd 27 20 3d 3e 20 27 e2 b2 bc 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162cc0 27 e2 b2 bf 27 20 3d 3e 20 27 e2 b2 be 27 2c 0a 27 e2 b3 81 27 20 3d 3e 20 27 e2 b3 80 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ce0 27 e2 b3 83 27 20 3d 3e 20 27 e2 b3 82 27 2c 0a 27 e2 b3 85 27 20 3d 3e 20 27 e2 b3 84 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162d00 27 e2 b3 87 27 20 3d 3e 20 27 e2 b3 86 27 2c 0a 27 e2 b3 89 27 20 3d 3e 20 27 e2 b3 88 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162d20 27 e2 b3 8b 27 20 3d 3e 20 27 e2 b3 8a 27 2c 0a 27 e2 b3 8d 27 20 3d 3e 20 27 e2 b3 8c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162d40 27 e2 b3 8f 27 20 3d 3e 20 27 e2 b3 8e 27 2c 0a 27 e2 b3 91 27 20 3d 3e 20 27 e2 b3 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162d60 27 e2 b3 93 27 20 3d 3e 20 27 e2 b3 92 27 2c 0a 27 e2 b3 95 27 20 3d 3e 20 27 e2 b3 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162d80 27 e2 b3 97 27 20 3d 3e 20 27 e2 b3 96 27 2c 0a 27 e2 b3 99 27 20 3d 3e 20 27 e2 b3 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162da0 27 e2 b3 9b 27 20 3d 3e 20 27 e2 b3 9a 27 2c 0a 27 e2 b3 9d 27 20 3d 3e 20 27 e2 b3 9c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162dc0 27 e2 b3 9f 27 20 3d 3e 20 27 e2 b3 9e 27 2c 0a 27 e2 b3 a1 27 20 3d 3e 20 27 e2 b3 a0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162de0 27 e2 b3 a3 27 20 3d 3e 20 27 e2 b3 a2 27 2c 0a 27 e2 b3 ac 27 20 3d 3e 20 27 e2 b3 ab 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162e00 27 e2 b3 ae 27 20 3d 3e 20 27 e2 b3 ad 27 2c 0a 27 e2 b3 b3 27 20 3d 3e 20 27 e2 b3 b2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162e20 27 e2 b4 80 27 20 3d 3e 20 27 e1 82 a0 27 2c 0a 27 e2 b4 81 27 20 3d 3e 20 27 e1 82 a1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162e40 27 e2 b4 82 27 20 3d 3e 20 27 e1 82 a2 27 2c 0a 27 e2 b4 83 27 20 3d 3e 20 27 e1 82 a3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162e60 27 e2 b4 84 27 20 3d 3e 20 27 e1 82 a4 27 2c 0a 27 e2 b4 85 27 20 3d 3e 20 27 e1 82 a5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162e80 27 e2 b4 86 27 20 3d 3e 20 27 e1 82 a6 27 2c 0a 27 e2 b4 87 27 20 3d 3e 20 27 e1 82 a7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ea0 27 e2 b4 88 27 20 3d 3e 20 27 e1 82 a8 27 2c 0a 27 e2 b4 89 27 20 3d 3e 20 27 e1 82 a9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ec0 27 e2 b4 8a 27 20 3d 3e 20 27 e1 82 aa 27 2c 0a 27 e2 b4 8b 27 20 3d 3e 20 27 e1 82 ab 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162ee0 27 e2 b4 8c 27 20 3d 3e 20 27 e1 82 ac 27 2c 0a 27 e2 b4 8d 27 20 3d 3e 20 27 e1 82 ad 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162f00 27 e2 b4 8e 27 20 3d 3e 20 27 e1 82 ae 27 2c 0a 27 e2 b4 8f 27 20 3d 3e 20 27 e1 82 af 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162f20 27 e2 b4 90 27 20 3d 3e 20 27 e1 82 b0 27 2c 0a 27 e2 b4 91 27 20 3d 3e 20 27 e1 82 b1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162f40 27 e2 b4 92 27 20 3d 3e 20 27 e1 82 b2 27 2c 0a 27 e2 b4 93 27 20 3d 3e 20 27 e1 82 b3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162f60 27 e2 b4 94 27 20 3d 3e 20 27 e1 82 b4 27 2c 0a 27 e2 b4 95 27 20 3d 3e 20 27 e1 82 b5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162f80 27 e2 b4 96 27 20 3d 3e 20 27 e1 82 b6 27 2c 0a 27 e2 b4 97 27 20 3d 3e 20 27 e1 82 b7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162fa0 27 e2 b4 98 27 20 3d 3e 20 27 e1 82 b8 27 2c 0a 27 e2 b4 99 27 20 3d 3e 20 27 e1 82 b9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162fc0 27 e2 b4 9a 27 20 3d 3e 20 27 e1 82 ba 27 2c 0a 27 e2 b4 9b 27 20 3d 3e 20 27 e1 82 bb 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
162fe0 27 e2 b4 9c 27 20 3d 3e 20 27 e1 82 bc 27 2c 0a 27 e2 b4 9d 27 20 3d 3e 20 27 e1 82 bd 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163000 27 e2 b4 9e 27 20 3d 3e 20 27 e1 82 be 27 2c 0a 27 e2 b4 9f 27 20 3d 3e 20 27 e1 82 bf 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163020 27 e2 b4 a0 27 20 3d 3e 20 27 e1 83 80 27 2c 0a 27 e2 b4 a1 27 20 3d 3e 20 27 e1 83 81 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163040 27 e2 b4 a2 27 20 3d 3e 20 27 e1 83 82 27 2c 0a 27 e2 b4 a3 27 20 3d 3e 20 27 e1 83 83 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163060 27 e2 b4 a4 27 20 3d 3e 20 27 e1 83 84 27 2c 0a 27 e2 b4 a5 27 20 3d 3e 20 27 e1 83 85 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163080 27 e2 b4 a7 27 20 3d 3e 20 27 e1 83 87 27 2c 0a 27 e2 b4 ad 27 20 3d 3e 20 27 e1 83 8d 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1630a0 27 ea 99 81 27 20 3d 3e 20 27 ea 99 80 27 2c 0a 27 ea 99 83 27 20 3d 3e 20 27 ea 99 82 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1630c0 27 ea 99 85 27 20 3d 3e 20 27 ea 99 84 27 2c 0a 27 ea 99 87 27 20 3d 3e 20 27 ea 99 86 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1630e0 27 ea 99 89 27 20 3d 3e 20 27 ea 99 88 27 2c 0a 27 ea 99 8b 27 20 3d 3e 20 27 ea 99 8a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163100 27 ea 99 8d 27 20 3d 3e 20 27 ea 99 8c 27 2c 0a 27 ea 99 8f 27 20 3d 3e 20 27 ea 99 8e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163120 27 ea 99 91 27 20 3d 3e 20 27 ea 99 90 27 2c 0a 27 ea 99 93 27 20 3d 3e 20 27 ea 99 92 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163140 27 ea 99 95 27 20 3d 3e 20 27 ea 99 94 27 2c 0a 27 ea 99 97 27 20 3d 3e 20 27 ea 99 96 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163160 27 ea 99 99 27 20 3d 3e 20 27 ea 99 98 27 2c 0a 27 ea 99 9b 27 20 3d 3e 20 27 ea 99 9a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163180 27 ea 99 9d 27 20 3d 3e 20 27 ea 99 9c 27 2c 0a 27 ea 99 9f 27 20 3d 3e 20 27 ea 99 9e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1631a0 27 ea 99 a1 27 20 3d 3e 20 27 ea 99 a0 27 2c 0a 27 ea 99 a3 27 20 3d 3e 20 27 ea 99 a2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1631c0 27 ea 99 a5 27 20 3d 3e 20 27 ea 99 a4 27 2c 0a 27 ea 99 a7 27 20 3d 3e 20 27 ea 99 a6 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1631e0 27 ea 99 a9 27 20 3d 3e 20 27 ea 99 a8 27 2c 0a 27 ea 99 ab 27 20 3d 3e 20 27 ea 99 aa 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163200 27 ea 99 ad 27 20 3d 3e 20 27 ea 99 ac 27 2c 0a 27 ea 9a 81 27 20 3d 3e 20 27 ea 9a 80 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163220 27 ea 9a 83 27 20 3d 3e 20 27 ea 9a 82 27 2c 0a 27 ea 9a 85 27 20 3d 3e 20 27 ea 9a 84 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163240 27 ea 9a 87 27 20 3d 3e 20 27 ea 9a 86 27 2c 0a 27 ea 9a 89 27 20 3d 3e 20 27 ea 9a 88 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163260 27 ea 9a 8b 27 20 3d 3e 20 27 ea 9a 8a 27 2c 0a 27 ea 9a 8d 27 20 3d 3e 20 27 ea 9a 8c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163280 27 ea 9a 8f 27 20 3d 3e 20 27 ea 9a 8e 27 2c 0a 27 ea 9a 91 27 20 3d 3e 20 27 ea 9a 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1632a0 27 ea 9a 93 27 20 3d 3e 20 27 ea 9a 92 27 2c 0a 27 ea 9a 95 27 20 3d 3e 20 27 ea 9a 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1632c0 27 ea 9a 97 27 20 3d 3e 20 27 ea 9a 96 27 2c 0a 27 ea 9a 99 27 20 3d 3e 20 27 ea 9a 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1632e0 27 ea 9a 9b 27 20 3d 3e 20 27 ea 9a 9a 27 2c 0a 27 ea 9c a3 27 20 3d 3e 20 27 ea 9c a2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163300 27 ea 9c a5 27 20 3d 3e 20 27 ea 9c a4 27 2c 0a 27 ea 9c a7 27 20 3d 3e 20 27 ea 9c a6 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163320 27 ea 9c a9 27 20 3d 3e 20 27 ea 9c a8 27 2c 0a 27 ea 9c ab 27 20 3d 3e 20 27 ea 9c aa 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163340 27 ea 9c ad 27 20 3d 3e 20 27 ea 9c ac 27 2c 0a 27 ea 9c af 27 20 3d 3e 20 27 ea 9c ae 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163360 27 ea 9c b3 27 20 3d 3e 20 27 ea 9c b2 27 2c 0a 27 ea 9c b5 27 20 3d 3e 20 27 ea 9c b4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163380 27 ea 9c b7 27 20 3d 3e 20 27 ea 9c b6 27 2c 0a 27 ea 9c b9 27 20 3d 3e 20 27 ea 9c b8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1633a0 27 ea 9c bb 27 20 3d 3e 20 27 ea 9c ba 27 2c 0a 27 ea 9c bd 27 20 3d 3e 20 27 ea 9c bc 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1633c0 27 ea 9c bf 27 20 3d 3e 20 27 ea 9c be 27 2c 0a 27 ea 9d 81 27 20 3d 3e 20 27 ea 9d 80 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1633e0 27 ea 9d 83 27 20 3d 3e 20 27 ea 9d 82 27 2c 0a 27 ea 9d 85 27 20 3d 3e 20 27 ea 9d 84 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163400 27 ea 9d 87 27 20 3d 3e 20 27 ea 9d 86 27 2c 0a 27 ea 9d 89 27 20 3d 3e 20 27 ea 9d 88 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163420 27 ea 9d 8b 27 20 3d 3e 20 27 ea 9d 8a 27 2c 0a 27 ea 9d 8d 27 20 3d 3e 20 27 ea 9d 8c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163440 27 ea 9d 8f 27 20 3d 3e 20 27 ea 9d 8e 27 2c 0a 27 ea 9d 91 27 20 3d 3e 20 27 ea 9d 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163460 27 ea 9d 93 27 20 3d 3e 20 27 ea 9d 92 27 2c 0a 27 ea 9d 95 27 20 3d 3e 20 27 ea 9d 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163480 27 ea 9d 97 27 20 3d 3e 20 27 ea 9d 96 27 2c 0a 27 ea 9d 99 27 20 3d 3e 20 27 ea 9d 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1634a0 27 ea 9d 9b 27 20 3d 3e 20 27 ea 9d 9a 27 2c 0a 27 ea 9d 9d 27 20 3d 3e 20 27 ea 9d 9c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1634c0 27 ea 9d 9f 27 20 3d 3e 20 27 ea 9d 9e 27 2c 0a 27 ea 9d a1 27 20 3d 3e 20 27 ea 9d a0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1634e0 27 ea 9d a3 27 20 3d 3e 20 27 ea 9d a2 27 2c 0a 27 ea 9d a5 27 20 3d 3e 20 27 ea 9d a4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163500 27 ea 9d a7 27 20 3d 3e 20 27 ea 9d a6 27 2c 0a 27 ea 9d a9 27 20 3d 3e 20 27 ea 9d a8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163520 27 ea 9d ab 27 20 3d 3e 20 27 ea 9d aa 27 2c 0a 27 ea 9d ad 27 20 3d 3e 20 27 ea 9d ac 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163540 27 ea 9d af 27 20 3d 3e 20 27 ea 9d ae 27 2c 0a 27 ea 9d ba 27 20 3d 3e 20 27 ea 9d b9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163560 27 ea 9d bc 27 20 3d 3e 20 27 ea 9d bb 27 2c 0a 27 ea 9d bf 27 20 3d 3e 20 27 ea 9d be 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163580 27 ea 9e 81 27 20 3d 3e 20 27 ea 9e 80 27 2c 0a 27 ea 9e 83 27 20 3d 3e 20 27 ea 9e 82 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1635a0 27 ea 9e 85 27 20 3d 3e 20 27 ea 9e 84 27 2c 0a 27 ea 9e 87 27 20 3d 3e 20 27 ea 9e 86 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1635c0 27 ea 9e 8c 27 20 3d 3e 20 27 ea 9e 8b 27 2c 0a 27 ea 9e 91 27 20 3d 3e 20 27 ea 9e 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1635e0 27 ea 9e 93 27 20 3d 3e 20 27 ea 9e 92 27 2c 0a 27 ea 9e 97 27 20 3d 3e 20 27 ea 9e 96 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163600 27 ea 9e 99 27 20 3d 3e 20 27 ea 9e 98 27 2c 0a 27 ea 9e 9b 27 20 3d 3e 20 27 ea 9e 9a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163620 27 ea 9e 9d 27 20 3d 3e 20 27 ea 9e 9c 27 2c 0a 27 ea 9e 9f 27 20 3d 3e 20 27 ea 9e 9e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163640 27 ea 9e a1 27 20 3d 3e 20 27 ea 9e a0 27 2c 0a 27 ea 9e a3 27 20 3d 3e 20 27 ea 9e a2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163660 27 ea 9e a5 27 20 3d 3e 20 27 ea 9e a4 27 2c 0a 27 ea 9e a7 27 20 3d 3e 20 27 ea 9e a6 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163680 27 ea 9e a9 27 20 3d 3e 20 27 ea 9e a8 27 2c 0a 27 ef bd 81 27 20 3d 3e 20 27 ef bc a1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1636a0 27 ef bd 82 27 20 3d 3e 20 27 ef bc a2 27 2c 0a 27 ef bd 83 27 20 3d 3e 20 27 ef bc a3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1636c0 27 ef bd 84 27 20 3d 3e 20 27 ef bc a4 27 2c 0a 27 ef bd 85 27 20 3d 3e 20 27 ef bc a5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1636e0 27 ef bd 86 27 20 3d 3e 20 27 ef bc a6 27 2c 0a 27 ef bd 87 27 20 3d 3e 20 27 ef bc a7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163700 27 ef bd 88 27 20 3d 3e 20 27 ef bc a8 27 2c 0a 27 ef bd 89 27 20 3d 3e 20 27 ef bc a9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163720 27 ef bd 8a 27 20 3d 3e 20 27 ef bc aa 27 2c 0a 27 ef bd 8b 27 20 3d 3e 20 27 ef bc ab 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163740 27 ef bd 8c 27 20 3d 3e 20 27 ef bc ac 27 2c 0a 27 ef bd 8d 27 20 3d 3e 20 27 ef bc ad 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163760 27 ef bd 8e 27 20 3d 3e 20 27 ef bc ae 27 2c 0a 27 ef bd 8f 27 20 3d 3e 20 27 ef bc af 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163780 27 ef bd 90 27 20 3d 3e 20 27 ef bc b0 27 2c 0a 27 ef bd 91 27 20 3d 3e 20 27 ef bc b1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1637a0 27 ef bd 92 27 20 3d 3e 20 27 ef bc b2 27 2c 0a 27 ef bd 93 27 20 3d 3e 20 27 ef bc b3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1637c0 27 ef bd 94 27 20 3d 3e 20 27 ef bc b4 27 2c 0a 27 ef bd 95 27 20 3d 3e 20 27 ef bc b5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
1637e0 27 ef bd 96 27 20 3d 3e 20 27 ef bc b6 27 2c 0a 27 ef bd 97 27 20 3d 3e 20 27 ef bc b7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163800 27 ef bd 98 27 20 3d 3e 20 27 ef bc b8 27 2c 0a 27 ef bd 99 27 20 3d 3e 20 27 ef bc b9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
163820 27 ef bd 9a 27 20 3d 3e 20 27 ef bc ba 27 2c 0a 27 f0 90 90 a8 27 20 3d 3e 20 27 f0 90 90 80 27 '...'.=>.'...',.'....'.=>.'....'
163840 2c 0a 27 f0 90 90 a9 27 20 3d 3e 20 27 f0 90 90 81 27 2c 0a 27 f0 90 90 aa 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
163860 90 90 82 27 2c 0a 27 f0 90 90 ab 27 20 3d 3e 20 27 f0 90 90 83 27 2c 0a 27 f0 90 90 ac 27 20 3d ...',.'....'.=>.'....',.'....'.=
163880 3e 20 27 f0 90 90 84 27 2c 0a 27 f0 90 90 ad 27 20 3d 3e 20 27 f0 90 90 85 27 2c 0a 27 f0 90 90 >.'....',.'....'.=>.'....',.'...
1638a0 ae 27 20 3d 3e 20 27 f0 90 90 86 27 2c 0a 27 f0 90 90 af 27 20 3d 3e 20 27 f0 90 90 87 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
1638c0 27 f0 90 90 b0 27 20 3d 3e 20 27 f0 90 90 88 27 2c 0a 27 f0 90 90 b1 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
1638e0 89 27 2c 0a 27 f0 90 90 b2 27 20 3d 3e 20 27 f0 90 90 8a 27 2c 0a 27 f0 90 90 b3 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
163900 27 f0 90 90 8b 27 2c 0a 27 f0 90 90 b4 27 20 3d 3e 20 27 f0 90 90 8c 27 2c 0a 27 f0 90 90 b5 27 '....',.'....'.=>.'....',.'....'
163920 20 3d 3e 20 27 f0 90 90 8d 27 2c 0a 27 f0 90 90 b6 27 20 3d 3e 20 27 f0 90 90 8e 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
163940 90 90 b7 27 20 3d 3e 20 27 f0 90 90 8f 27 2c 0a 27 f0 90 90 b8 27 20 3d 3e 20 27 f0 90 90 90 27 ...'.=>.'....',.'....'.=>.'....'
163960 2c 0a 27 f0 90 90 b9 27 20 3d 3e 20 27 f0 90 90 91 27 2c 0a 27 f0 90 90 ba 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
163980 90 90 92 27 2c 0a 27 f0 90 90 bb 27 20 3d 3e 20 27 f0 90 90 93 27 2c 0a 27 f0 90 90 bc 27 20 3d ...',.'....'.=>.'....',.'....'.=
1639a0 3e 20 27 f0 90 90 94 27 2c 0a 27 f0 90 90 bd 27 20 3d 3e 20 27 f0 90 90 95 27 2c 0a 27 f0 90 90 >.'....',.'....'.=>.'....',.'...
1639c0 be 27 20 3d 3e 20 27 f0 90 90 96 27 2c 0a 27 f0 90 90 bf 27 20 3d 3e 20 27 f0 90 90 97 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
1639e0 27 f0 90 91 80 27 20 3d 3e 20 27 f0 90 90 98 27 2c 0a 27 f0 90 91 81 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
163a00 99 27 2c 0a 27 f0 90 91 82 27 20 3d 3e 20 27 f0 90 90 9a 27 2c 0a 27 f0 90 91 83 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
163a20 27 f0 90 90 9b 27 2c 0a 27 f0 90 91 84 27 20 3d 3e 20 27 f0 90 90 9c 27 2c 0a 27 f0 90 91 85 27 '....',.'....'.=>.'....',.'....'
163a40 20 3d 3e 20 27 f0 90 90 9d 27 2c 0a 27 f0 90 91 86 27 20 3d 3e 20 27 f0 90 90 9e 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
163a60 90 91 87 27 20 3d 3e 20 27 f0 90 90 9f 27 2c 0a 27 f0 90 91 88 27 20 3d 3e 20 27 f0 90 90 a0 27 ...'.=>.'....',.'....'.=>.'....'
163a80 2c 0a 27 f0 90 91 89 27 20 3d 3e 20 27 f0 90 90 a1 27 2c 0a 27 f0 90 91 8a 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
163aa0 90 90 a2 27 2c 0a 27 f0 90 91 8b 27 20 3d 3e 20 27 f0 90 90 a3 27 2c 0a 27 f0 90 91 8c 27 20 3d ...',.'....'.=>.'....',.'....'.=
163ac0 3e 20 27 f0 90 90 a4 27 2c 0a 27 f0 90 91 8d 27 20 3d 3e 20 27 f0 90 90 a5 27 2c 0a 27 f0 90 91 >.'....',.'....'.=>.'....',.'...
163ae0 8e 27 20 3d 3e 20 27 f0 90 90 a6 27 2c 0a 27 f0 90 91 8f 27 20 3d 3e 20 27 f0 90 90 a7 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
163b00 27 f0 91 a3 80 27 20 3d 3e 20 27 f0 91 a2 a0 27 2c 0a 27 f0 91 a3 81 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
163b20 a1 27 2c 0a 27 f0 91 a3 82 27 20 3d 3e 20 27 f0 91 a2 a2 27 2c 0a 27 f0 91 a3 83 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
163b40 27 f0 91 a2 a3 27 2c 0a 27 f0 91 a3 84 27 20 3d 3e 20 27 f0 91 a2 a4 27 2c 0a 27 f0 91 a3 85 27 '....',.'....'.=>.'....',.'....'
163b60 20 3d 3e 20 27 f0 91 a2 a5 27 2c 0a 27 f0 91 a3 86 27 20 3d 3e 20 27 f0 91 a2 a6 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
163b80 91 a3 87 27 20 3d 3e 20 27 f0 91 a2 a7 27 2c 0a 27 f0 91 a3 88 27 20 3d 3e 20 27 f0 91 a2 a8 27 ...'.=>.'....',.'....'.=>.'....'
163ba0 2c 0a 27 f0 91 a3 89 27 20 3d 3e 20 27 f0 91 a2 a9 27 2c 0a 27 f0 91 a3 8a 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
163bc0 91 a2 aa 27 2c 0a 27 f0 91 a3 8b 27 20 3d 3e 20 27 f0 91 a2 ab 27 2c 0a 27 f0 91 a3 8c 27 20 3d ...',.'....'.=>.'....',.'....'.=
163be0 3e 20 27 f0 91 a2 ac 27 2c 0a 27 f0 91 a3 8d 27 20 3d 3e 20 27 f0 91 a2 ad 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
163c00 8e 27 20 3d 3e 20 27 f0 91 a2 ae 27 2c 0a 27 f0 91 a3 8f 27 20 3d 3e 20 27 f0 91 a2 af 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
163c20 27 f0 91 a3 90 27 20 3d 3e 20 27 f0 91 a2 b0 27 2c 0a 27 f0 91 a3 91 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
163c40 b1 27 2c 0a 27 f0 91 a3 92 27 20 3d 3e 20 27 f0 91 a2 b2 27 2c 0a 27 f0 91 a3 93 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
163c60 27 f0 91 a2 b3 27 2c 0a 27 f0 91 a3 94 27 20 3d 3e 20 27 f0 91 a2 b4 27 2c 0a 27 f0 91 a3 95 27 '....',.'....'.=>.'....',.'....'
163c80 20 3d 3e 20 27 f0 91 a2 b5 27 2c 0a 27 f0 91 a3 96 27 20 3d 3e 20 27 f0 91 a2 b6 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
163ca0 91 a3 97 27 20 3d 3e 20 27 f0 91 a2 b7 27 2c 0a 27 f0 91 a3 98 27 20 3d 3e 20 27 f0 91 a2 b8 27 ...'.=>.'....',.'....'.=>.'....'
163cc0 2c 0a 27 f0 91 a3 99 27 20 3d 3e 20 27 f0 91 a2 b9 27 2c 0a 27 f0 91 a3 9a 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
163ce0 91 a2 ba 27 2c 0a 27 f0 91 a3 9b 27 20 3d 3e 20 27 f0 91 a2 bb 27 2c 0a 27 f0 91 a3 9c 27 20 3d ...',.'....'.=>.'....',.'....'.=
163d00 3e 20 27 f0 91 a2 bc 27 2c 0a 27 f0 91 a3 9d 27 20 3d 3e 20 27 f0 91 a2 bd 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
163d20 9e 27 20 3d 3e 20 27 f0 91 a2 be 27 2c 0a 27 f0 91 a3 9f 27 20 3d 3e 20 27 f0 91 a2 bf 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
163d40 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 26 20 24 64 61 74 61 3b 0a 75 6e 73 65 74 28 24 64 61 74 );..$result.=&.$data;.unset($dat
163d60 61 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a a);..return.$result;.<?php......
163d80 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 4d 62 73 74 72 69 .....use.Symfony\Polyfill\Mbstri
163da0 6e 67 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 ng.as.p;..if.(!function_exists('
163dc0 6d 62 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 55 mb_strlen')).{.define('MB_CASE_U
163de0 50 50 45 52 27 2c 20 30 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 PPER',.0);.define('MB_CASE_LOWER
163e00 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 54 49 54 4c 45 27 2c 20 32 ',.1);.define('MB_CASE_TITLE',.2
163e20 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 );..function.mb_convert_encoding
163e40 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e ($s,.$to,.$from.=.null).{.return
163e60 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 .p\Mbstring::mb_convert_encoding
163e80 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ($s,.$to,.$from);.}.function.mb_
163ea0 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 20 7b 20 72 65 74 75 72 6e 20 70 decode_mimeheader($s).{.return.p
163ec0 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 \Mbstring::mb_decode_mimeheader(
163ee0 24 73 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 $s);.}.function.mb_encode_mimehe
163f00 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 ader($s,.$charset.=.null,.$trans
163f20 66 65 72 45 6e 63 20 3d 20 6e 75 6c 6c 2c 20 24 6c 66 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 65 ferEnc.=.null,.$lf.=.null,.$inde
163f40 6e 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a nt.=.null).{.return.p\Mbstring::
163f60 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 mb_encode_mimeheader($s,.$charse
163f80 74 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 2c 20 24 6c 66 2c 20 24 69 6e 64 65 6e 74 29 3b 20 t,.$transferEnc,.$lf,.$indent);.
163fa0 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 }.function.mb_decode_numericenti
163fc0 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 ty($s,.$convmap,.$enc.=.null).{.
163fe0 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d return.p\Mbstring::mb_decode_num
164000 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 29 3b 20 ericentity($s,.$convmap,.$enc);.
164020 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 }.function.mb_encode_numericenti
164040 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 2c 20 24 69 ty($s,.$convmap,.$enc.=.null,.$i
164060 73 5f 68 65 78 20 3d 20 66 61 6c 73 65 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 s_hex.=.false).{.return.p\Mbstri
164080 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 ng::mb_encode_numericentity($s,.
1640a0 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 2c 20 24 69 73 5f 68 65 78 29 3b 20 7d 0a 66 75 6e 63 $convmap,.$enc,.$is_hex);.}.func
1640c0 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 tion.mb_convert_case($s,.$mode,.
1640e0 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 $enc.=.null).{.return.p\Mbstring
164100 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e ::mb_convert_case($s,.$mode,.$en
164120 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 c);.}.function.mb_internal_encod
164140 69 6e 67 28 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 ing($enc.=.null).{.return.p\Mbst
164160 72 69 6e 67 3a 3a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 65 6e 63 29 ring::mb_internal_encoding($enc)
164180 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 20 3d ;.}.function.mb_language($lang.=
1641a0 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6c .null).{.return.p\Mbstring::mb_l
1641c0 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 anguage($lang);.}.function.mb_li
1641e0 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 st_encodings().{.return.p\Mbstri
164200 6e 67 3a 3a 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 3b 20 7d 0a 66 75 6e 63 74 ng::mb_list_encodings();.}.funct
164220 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e ion.mb_encoding_aliases($encodin
164240 67 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 g).{.return.p\Mbstring::mb_encod
164260 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 ing_aliases($encoding);.}.functi
164280 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 20 3d 20 6e 75 6c 6c on.mb_check_encoding($var.=.null
1642a0 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d ,.$encoding.=.null).{.return.p\M
1642c0 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c bstring::mb_check_encoding($var,
1642e0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 .$encoding);.}.function.mb_detec
164300 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d t_encoding($str,.$encodingList.=
164320 20 6e 75 6c 6c 2c 20 24 73 74 72 69 63 74 20 3d 20 66 61 6c 73 65 29 20 7b 20 72 65 74 75 72 6e .null,.$strict.=.false).{.return
164340 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 .p\Mbstring::mb_detect_encoding(
164360 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 20 24 73 74 72 69 63 74 29 3b 20 7d $str,.$encodingList,.$strict);.}
164380 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 .function.mb_detect_order($encod
1643a0 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 ingList.=.null).{.return.p\Mbstr
1643c0 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 69 6e 67 4c 69 ing::mb_detect_order($encodingLi
1643e0 73 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 70 61 72 73 65 5f 73 74 72 28 24 73 2c st);.}.function.mb_parse_str($s,
164400 20 26 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 29 20 7b 20 70 61 72 73 65 5f 73 74 72 .&$result.=.array()).{.parse_str
164420 28 24 73 2c 20 24 72 65 73 75 6c 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 ($s,.$result);.}.function.mb_str
164440 6c 65 6e 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c len($s,.$enc.=.null).{.return.p\
164460 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d Mbstring::mb_strlen($s,.$enc);.}
164480 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c .function.mb_strpos($s,.$needle,
1644a0 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 .$offset.=.0,.$enc.=.null).{.ret
1644c0 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 24 6e urn.p\Mbstring::mb_strpos($s,.$n
1644e0 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f eedle,.$offset,.$enc);.}.functio
164500 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 n.mb_strtolower($s,.$enc.=.null)
164520 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 74 6f 6c 6f .{.return.p\Mbstring::mb_strtolo
164540 77 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 wer($s,.$enc);.}.function.mb_str
164560 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 toupper($s,.$enc.=.null).{.retur
164580 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 n.p\Mbstring::mb_strtoupper($s,.
1645a0 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f $enc);.}.function.mb_substitute_
1645c0 63 68 61 72 61 63 74 65 72 28 24 63 68 61 72 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e character($char.=.null).{.return
1645e0 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 .p\Mbstring::mb_substitute_chara
164600 63 74 65 72 28 24 63 68 61 72 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 cter($char);.}.function.mb_subst
164620 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 r($s,.$start,.$length.=.21474836
164640 34 37 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 47,.$enc.=.null).{.return.p\Mbst
164660 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e ring::mb_substr($s,.$start,.$len
164680 67 74 68 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 70 6f gth,.$enc);.}.function.mb_stripo
1646a0 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 s($s,.$needle,.$offset.=.0,.$enc
1646c0 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 .=.null).{.return.p\Mbstring::mb
1646e0 5f 73 74 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 _stripos($s,.$needle,.$offset,.$
164700 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 73 74 72 28 24 73 2c 20 enc);.}.function.mb_stristr($s,.
164720 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e $needle,.$part.=.false,.$enc.=.n
164740 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 ull).{.return.p\Mbstring::mb_str
164760 69 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 istr($s,.$needle,.$part,.$enc);.
164780 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 63 68 72 28 24 73 2c 20 24 6e 65 65 64 6c }.function.mb_strrchr($s,.$needl
1647a0 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b e,.$part.=.false,.$enc.=.null).{
1647c0 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 63 68 72 28 24 .return.p\Mbstring::mb_strrchr($
1647e0 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 s,.$needle,.$part,.$enc);.}.func
164800 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 tion.mb_strrichr($s,.$needle,.$p
164820 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 art.=.false,.$enc.=.null).{.retu
164840 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 rn.p\Mbstring::mb_strrichr($s,.$
164860 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e needle,.$part,.$enc);.}.function
164880 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 .mb_strripos($s,.$needle,.$offse
1648a0 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d t.=.0,.$enc.=.null).{.return.p\M
1648c0 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 bstring::mb_strripos($s,.$needle
1648e0 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ,.$offset,.$enc);.}.function.mb_
164900 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 strrpos($s,.$needle,.$offset.=.0
164920 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 ,.$enc.=.null).{.return.p\Mbstri
164940 6e 67 3a 3a 6d 62 5f 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 ng::mb_strrpos($s,.$needle,.$off
164960 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 73 74 72 set,.$enc);.}.function.mb_strstr
164980 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e ($s,.$needle,.$part.=.false,.$en
1649a0 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d c.=.null).{.return.p\Mbstring::m
1649c0 62 5f 73 74 72 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e b_strstr($s,.$needle,.$part,.$en
1649e0 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 c);.}.function.mb_get_info($type
164a00 20 3d 20 27 61 6c 6c 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d .=.'all').{.return.p\Mbstring::m
164a20 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 b_get_info($type);.}.function.mb
164a40 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 _http_output($enc.=.null).{.retu
164a60 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 rn.p\Mbstring::mb_http_output($e
164a80 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 nc);.}.function.mb_strwidth($s,.
164aa0 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 $enc.=.null).{.return.p\Mbstring
164ac0 3a 3a 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 ::mb_strwidth($s,.$enc);.}.funct
164ae0 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 ion.mb_substr_count($haystack,.$
164b00 6e 65 65 64 6c 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c needle,.$enc.=.null).{.return.p\
164b20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 Mbstring::mb_substr_count($hayst
164b40 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 ack,.$needle,.$enc);.}.function.
164b60 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 mb_output_handler($contents,.$st
164b80 61 74 75 73 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6f 75 atus).{.return.p\Mbstring::mb_ou
164ba0 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 73 74 61 74 75 73 29 tput_handler($contents,.$status)
164bc0 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 ;.}.function.mb_http_input($type
164be0 20 3d 20 27 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 .=.'').{.return.p\Mbstring::mb_h
164c00 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f ttp_input($type);.}.function.mb_
164c20 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 convert_variables($toEncoding,.$
164c40 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 26 24 61 20 3d 20 6e 75 6c 6c 2c 20 26 24 62 20 3d 20 fromEncoding,.&$a.=.null,.&$b.=.
164c60 6e 75 6c 6c 2c 20 26 24 63 20 3d 20 6e 75 6c 6c 2c 20 26 24 64 20 3d 20 6e 75 6c 6c 2c 20 26 24 null,.&$c.=.null,.&$d.=.null,.&$
164c80 65 20 3d 20 6e 75 6c 6c 2c 20 26 24 66 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 e.=.null,.&$f.=.null).{.return.p
164ca0 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 \Mbstring::mb_convert_variables(
164cc0 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 24 61 2c 20 $toEncoding,.$fromEncoding,.$a,.
164ce0 24 62 2c 20 24 63 2c 20 24 64 2c 20 24 65 2c 20 24 66 29 3b 20 7d 0a 7d 0a 69 66 20 28 21 66 75 $b,.$c,.$d,.$e,.$f);.}.}.if.(!fu
164d00 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 63 68 72 27 29 29 20 7b 0a 66 75 6e 63 74 nction_exists('mb_chr')).{.funct
164d20 69 6f 6e 20 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 ion.mb_ord($s,.$enc.=.null).{.re
164d40 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 turn.p\Mbstring::mb_ord($s,.$enc
164d60 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 );.}.function.mb_chr($code,.$enc
164d80 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 .=.null).{.return.p\Mbstring::mb
164da0 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 _chr($code,.$enc);.}.function.mb
164dc0 5f 73 63 72 75 62 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 24 65 6e 63 20 3d _scrub($s,.$enc.=.null).{.$enc.=
164de0 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 20 3f 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 .null.===.$enc.?.mb_internal_enc
164e00 6f 64 69 6e 67 28 29 20 3a 20 24 65 6e 63 3b 20 72 65 74 75 72 6e 20 6d 62 5f 63 6f 6e 76 65 72 oding().:.$enc;.return.mb_conver
164e20 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 65 6e 63 2c 20 24 65 6e 63 29 3b 20 7d 0a 7d 0a t_encoding($s,.$enc,.$enc);.}.}.
164e40 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
164e60 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a y\Component\Process\Exception;..
164e80 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 .....interface.ExceptionInterfac
164ea0 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 e.{.}.<?php...........namespace.
164ec0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 Symfony\Component\Process\Except
164ee0 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ion;.......class.InvalidArgument
164f00 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 Exception.extends.\InvalidArgume
164f20 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e ntException.implements.Exception
164f40 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 Interface.{.}.<?php...........na
164f60 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 mespace.Symfony\Component\Proces
164f80 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 s\Exception;.......class.LogicEx
164fa0 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 ception.extends.\LogicException.
164fc0 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a implements.ExceptionInterface.{.
164fe0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
165000 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b ony\Component\Process\Exception;
165020 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ..use.Symfony\Component\Process\
165040 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 46 61 69 6c Process;.......class.ProcessFail
165060 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 edException.extends.RuntimeExcep
165080 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 tion.{.private.$process;..public
1650a0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 .function.__construct(Process.$p
1650c0 72 6f 63 65 73 73 29 0a 7b 0a 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 rocess).{.if.($process->isSucces
1650e0 73 66 75 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d sful()).{.throw.new.InvalidArgum
165100 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 61 20 66 61 69 6c 65 64 20 entException('Expected.a.failed.
165120 70 72 6f 63 65 73 73 2c 20 62 75 74 20 74 68 65 20 67 69 76 65 6e 20 70 72 6f 63 65 73 73 20 77 process,.but.the.given.process.w
165140 61 73 20 73 75 63 63 65 73 73 66 75 6c 2e 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 73 70 as.successful.');.}..$error.=.sp
165160 72 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 22 25 73 22 20 66 61 69 6c 65 64 2e 27 rintf('The.command."%s".failed.'
165180 2e 22 5c 6e 5c 6e 45 78 69 74 20 43 6f 64 65 3a 20 25 73 28 25 73 29 5c 6e 5c 6e 57 6f 72 6b 69 ."\n\nExit.Code:.%s(%s)\n\nWorki
1651a0 6e 67 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 ng.directory:.%s",.$process->get
1651c0 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 CommandLine(),.$process->getExit
1651e0 43 6f 64 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 Code(),.$process->getExitCodeTex
165200 74 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f t(),.$process->getWorkingDirecto
165220 72 79 28 29 0a 29 3b 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 ry().);..if.(!$process->isOutput
165240 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 2e 3d 20 73 70 72 69 6e 74 66 28 Disabled()).{.$error..=.sprintf(
165260 22 5c 6e 5c 6e 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e "\n\nOutput:\n================\n
165280 25 73 5c 6e 5c 6e 45 72 72 6f 72 20 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d %s\n\nError.Output:\n===========
1652a0 3d 3d 3d 3d 3d 5c 6e 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 =====\n%s",.$process->getOutput(
1652c0 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b ),.$process->getErrorOutput().);
1652e0 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 72 72 6f 72 29 3b .}..parent::__construct($error);
165300 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a ..$this->process.=.$process;.}..
165320 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a 72 public.function.getProcess().{.r
165340 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a eturn.$this->process;.}.}.<?php.
165360 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
165380 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 onent\Process\Exception;..use.Sy
1653a0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b mfony\Component\Process\Process;
1653c0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 .......class.ProcessTimedOutExce
1653e0 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b ption.extends.RuntimeException.{
165400 0a 63 6f 6e 73 74 20 54 59 50 45 5f 47 45 4e 45 52 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 .const.TYPE_GENERAL.=.1;.const.T
165420 59 50 45 5f 49 44 4c 45 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b YPE_IDLE.=.2;..private.$process;
165440 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 75 62 6c 69 63 20 66 .private.$timeoutType;..public.f
165460 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 72 6f unction.__construct(Process.$pro
165480 63 65 73 73 2c 20 24 74 69 6d 65 6f 75 74 54 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f cess,.$timeoutType).{.$this->pro
1654a0 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 cess.=.$process;.$this->timeoutT
1654c0 79 70 65 20 3d 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 ype.=.$timeoutType;..parent::__c
1654e0 6f 6e 73 74 72 75 63 74 28 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 70 72 6f 63 65 73 73 20 22 onstruct(sprintf(.'The.process."
165500 25 73 22 20 65 78 63 65 65 64 65 64 20 74 68 65 20 74 69 6d 65 6f 75 74 20 6f 66 20 25 73 20 73 %s".exceeded.the.timeout.of.%s.s
165520 65 63 6f 6e 64 73 2e 27 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 econds.',.$process->getCommandLi
165540 6e 65 28 29 2c 0a 24 74 68 69 73 2d 3e 67 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 ne(),.$this->getExceededTimeout(
165560 29 0a 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 ).));.}..public.function.getProc
165580 65 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d ess().{.return.$this->process;.}
1655a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 47 65 6e 65 72 61 6c 54 69 6d 65 6f ..public.function.isGeneralTimeo
1655c0 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 45 4e 45 52 41 4c ut().{.return.self::TYPE_GENERAL
1655e0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c .===.$this->timeoutType;.}..publ
165600 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 ic.function.isIdleTimeout().{.re
165620 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 49 44 4c 45 20 3d 3d 3d 20 24 74 68 69 73 2d 3e turn.self::TYPE_IDLE.===.$this->
165640 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 timeoutType;.}..public.function.
165660 67 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 getExceededTimeout().{.switch.($
165680 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a this->timeoutType).{.case.self::
1656a0 54 59 50 45 5f 47 45 4e 45 52 41 4c 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 TYPE_GENERAL:.return.$this->proc
1656c0 65 73 73 2d 3e 67 65 74 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 54 ess->getTimeout();..case.self::T
1656e0 59 50 45 5f 49 44 4c 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d YPE_IDLE:.return.$this->process-
165700 3e 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 >getIdleTimeout();..default:.thr
165720 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 ow.new.\LogicException(sprintf('
165740 55 6e 6b 6e 6f 77 6e 20 74 69 6d 65 6f 75 74 20 74 79 70 65 20 22 25 64 22 2e 27 2c 20 24 74 68 Unknown.timeout.type."%d".',.$th
165760 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a is->timeoutType));.}.}.}.<?php..
165780 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
1657a0 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c nent\Process\Exception;.......cl
1657c0 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 ass.RuntimeException.extends.\Ru
1657e0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 ntimeException.implements.Except
165800 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ionInterface.{.}.<?php..........
165820 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f .namespace.Symfony\Component\Pro
165840 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e cess;........class.ExecutableFin
165860 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 der.{.private.$suffixes.=.array(
165880 27 2e 65 78 65 27 2c 20 27 2e 62 61 74 27 2c 20 27 2e 63 6d 64 27 2c 20 27 2e 63 6f 6d 27 29 3b '.exe',.'.bat',.'.cmd',.'.com');
1658a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 66 66 69 78 65 73 .....public.function.setSuffixes
1658c0 28 61 72 72 61 79 20 24 73 75 66 66 69 78 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 66 66 69 (array.$suffixes).{.$this->suffi
1658e0 78 65 73 20 3d 20 24 73 75 66 66 69 78 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 xes.=.$suffixes;.}.......public.
165900 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 66 66 69 78 28 24 73 75 66 66 69 78 29 0a 7b 0a 24 74 function.addSuffix($suffix).{.$t
165920 68 69 73 2d 3e 73 75 66 66 69 78 65 73 5b 5d 20 3d 20 24 73 75 66 66 69 78 3b 0a 7d 0a 0a 0a 0a his->suffixes[].=.$suffix;.}....
165940 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d .......public.function.find($nam
165960 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 78 74 72 61 e,.$default.=.null,.array.$extra
165980 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 6f Dirs.=.array()).{.if.(ini_get('o
1659a0 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 20 7b 0a 24 73 65 61 72 63 68 50 61 74 68 20 3d 20 65 pen_basedir')).{.$searchPath.=.e
1659c0 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 69 6e 69 5f 67 65 74 28 27 xplode(PATH_SEPARATOR,.ini_get('
1659e0 6f 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 3b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 open_basedir'));.$dirs.=.array()
165a00 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 72 63 68 50 61 74 68 20 61 73 20 24 70 61 74 68 29 ;.foreach.($searchPath.as.$path)
165a20 20 7b 0a 0a 20 69 66 20 28 40 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 64 69 72 73 .{...if.(@is_dir($path)).{.$dirs
165a40 5b 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 62 61 73 65 6e 61 6d [].=.$path;.}.else.{.if.(basenam
165a60 65 28 24 70 61 74 68 29 20 3d 3d 20 24 6e 61 6d 65 20 26 26 20 40 69 73 5f 65 78 65 63 75 74 61 e($path).==.$name.&&.@is_executa
165a80 62 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a ble($path)).{.return.$path;.}.}.
165aa0 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a }.}.else.{.$dirs.=.array_merge(.
165ac0 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 67 65 74 65 6e 76 28 27 explode(PATH_SEPARATOR,.getenv('
165ae0 50 41 54 48 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 50 61 74 68 27 29 29 2c 0a 24 65 78 74 72 PATH').?:.getenv('Path')),.$extr
165b00 61 44 69 72 73 0a 29 3b 0a 7d 0a 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 27 27 aDirs.);.}..$suffixes.=.array(''
165b20 29 3b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 );.if.('\\'.===.DIRECTORY_SEPARA
165b40 54 4f 52 29 20 7b 0a 24 70 61 74 68 45 78 74 20 3d 20 67 65 74 65 6e 76 28 27 50 41 54 48 45 58 TOR).{.$pathExt.=.getenv('PATHEX
165b60 54 27 29 3b 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 T');.$suffixes.=.array_merge($pa
165b80 74 68 45 78 74 20 3f 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 thExt.?.explode(PATH_SEPARATOR,.
165ba0 24 70 61 74 68 45 78 74 29 20 3a 20 24 74 68 69 73 2d 3e 73 75 66 66 69 78 65 73 2c 20 24 73 75 $pathExt).:.$this->suffixes,.$su
165bc0 66 66 69 78 65 73 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 73 75 66 66 69 78 65 73 20 61 73 ffixes);.}.foreach.($suffixes.as
165be0 20 24 73 75 66 66 69 78 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 .$suffix).{.foreach.($dirs.as.$d
165c00 69 72 29 20 7b 0a 69 66 20 28 40 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 20 3d 20 24 64 69 72 2e ir).{.if.(@is_file($file.=.$dir.
165c20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2e 24 6e 61 6d 65 2e 24 73 75 66 66 69 DIRECTORY_SEPARATOR.$name.$suffi
165c40 78 29 20 26 26 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 x).&&.('\\'.===.DIRECTORY_SEPARA
165c60 54 4f 52 20 7c 7c 20 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 66 69 6c 65 29 29 29 20 7b TOR.||.@is_executable($file))).{
165c80 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 .return.$file;.}.}.}..return.$de
165ca0 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 fault;.}.}.Copyright.(c).2004-20
165cc0 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 18.Fabien.Potencier..Permission.
165ce0 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 is.hereby.granted,.free.of.charg
165d00 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 e,.to.any.person.obtaining.a.cop
165d20 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 y.of.this.software.and.associate
165d40 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 d.documentation.files.(the."Soft
165d60 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 ware"),.to.deal.in.the.Software.
165d80 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 without.restriction,.including.w
165da0 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 ithout.limitation.the.rights.to.
165dc0 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 use,.copy,.modify,.merge,.publis
165de0 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f h,.distribute,.sublicense,.and/o
165e00 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 r.sell.copies.of.the.Software,.a
165e20 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 nd.to.permit.persons.to.whom.the
165e40 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c .Software.is.furnished.to.do.so,
165e60 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 .subject.to.the.following.condit
165e80 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 ions:..The.above.copyright.notic
165ea0 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 e.and.this.permission.notice.sha
165ec0 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 ll.be.included.in.all.copies.or.
165ee0 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 substantial.portions.of.the.Soft
165f00 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 ware...THE.SOFTWARE.IS.PROVIDED.
165f20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 "AS.IS",.WITHOUT.WARRANTY.OF.ANY
165f40 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 .KIND,.EXPRESS.OR.IMPLIED,.INCLU
165f60 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 DING.BUT.NOT.LIMITED.TO.THE.WARR
165f80 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 ANTIES.OF.MERCHANTABILITY,.FITNE
165fa0 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 SS.FOR.A.PARTICULAR.PURPOSE.AND.
165fc0 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 NONINFRINGEMENT..IN.NO.EVENT.SHA
165fe0 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 LL.THE.AUTHORS.OR.COPYRIGHT.HOLD
166000 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d ERS.BE.LIABLE.FOR.ANY.CLAIM,.DAM
166020 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 AGES.OR.OTHER.LIABILITY,.WHETHER
166040 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 .IN.AN.ACTION.OF.CONTRACT,.TORT.
166060 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 OR.OTHERWISE,.ARISING.FROM,.OUT.
166080 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 OF.OR.IN.CONNECTION.WITH.THE.SOF
1660a0 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e TWARE.OR.THE.USE.OR.OTHER.DEALIN
1660c0 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a GS.IN.THE.SOFTWARE..<?php.......
1660e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
166100 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 45 78 65 63 75 74 61 Process;........class.PhpExecuta
166120 62 6c 65 46 69 6e 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 65 63 75 74 61 62 6c 65 46 bleFinder.{.private.$executableF
166140 69 6e 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 inder;..public.function.__constr
166160 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 20 uct().{.$this->executableFinder.
166180 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a =.new.ExecutableFinder();.}.....
1661a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 69 6e 63 6c 75 64 ....public.function.find($includ
1661c0 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 61 72 67 73 20 3d 20 24 74 68 69 73 2d 3e 66 eArgs.=.true).{.$args.=.$this->f
1661e0 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 61 72 67 73 20 3d 20 24 69 6e 63 6c 75 64 65 indArguments();.$args.=.$include
166200 41 72 67 73 20 26 26 20 24 61 72 67 73 20 3f 20 27 20 27 2e 69 6d 70 6c 6f 64 65 28 27 20 27 2c Args.&&.$args.?.'.'.implode('.',
166220 20 24 61 72 67 73 29 20 3a 20 27 27 3b 0a 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 .$args).:.'';....if.(defined('HH
166240 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 67 65 74 65 6e 76 28 27 VM_VERSION')).{.return.(getenv('
166260 50 48 50 5f 42 49 4e 41 52 59 27 29 20 3f 3a 20 50 48 50 5f 42 49 4e 41 52 59 29 2e 24 61 72 67 PHP_BINARY').?:.PHP_BINARY).$arg
166280 73 3b 0a 7d 0a 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e 41 52 59 27 s;.}....if.(defined('PHP_BINARY'
1662a0 29 20 26 26 20 50 48 50 5f 42 49 4e 41 52 59 20 26 26 20 5c 69 6e 5f 61 72 72 61 79 28 50 48 50 ).&&.PHP_BINARY.&&.\in_array(PHP
1662c0 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c 69 27 2c 20 27 63 6c 69 2d 73 65 72 76 65 72 27 _SAPI,.array('cli',.'cli-server'
1662e0 2c 20 27 70 68 70 64 62 67 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 50 48 50 ,.'phpdbg'),.true)).{.return.PHP
166300 5f 42 49 4e 41 52 59 2e 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 3d 20 67 65 74 _BINARY.$args;.}..if.($php.=.get
166320 65 6e 76 28 27 50 48 50 5f 50 41 54 48 27 29 29 20 7b 0a 69 66 20 28 21 40 69 73 5f 65 78 65 63 env('PHP_PATH')).{.if.(!@is_exec
166340 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a utable($php)).{.return.false;.}.
166360 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 3d 20 67 65 74 65 .return.$php;.}..if.($php.=.gete
166380 6e 76 28 27 50 48 50 5f 50 45 41 52 5f 50 48 50 5f 42 49 4e 27 29 29 20 7b 0a 69 66 20 28 40 69 nv('PHP_PEAR_PHP_BIN')).{.if.(@i
1663a0 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 68 s_executable($php)).{.return.$ph
1663c0 70 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 20 p;.}.}..if.(@is_executable($php.
1663e0 3d 20 50 48 50 5f 42 49 4e 44 49 52 2e 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 =.PHP_BINDIR.('\\'.===.DIRECTORY
166400 5f 53 45 50 41 52 41 54 4f 52 20 3f 20 27 5c 5c 70 68 70 2e 65 78 65 27 20 3a 20 27 2f 70 68 70 _SEPARATOR.?.'\\php.exe'.:.'/php
166420 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 24 64 69 72 73 20 3d 20 61 '))).{.return.$php;.}..$dirs.=.a
166440 72 72 61 79 28 50 48 50 5f 42 49 4e 44 49 52 29 3b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 rray(PHP_BINDIR);.if.('\\'.===.D
166460 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 64 69 72 73 5b 5d 20 3d 20 IRECTORY_SEPARATOR).{.$dirs[].=.
166480 27 43 3a 5c 78 61 6d 70 70 5c 70 68 70 5c 5c 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 'C:\xampp\php\\';.}..return.$thi
1664a0 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 70 68 70 27 2c s->executableFinder->find('php',
1664c0 20 66 61 6c 73 65 2c 20 24 64 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .false,.$dirs);.}.......public.f
1664e0 75 6e 63 74 69 6f 6e 20 66 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 24 61 72 67 75 6d unction.findArguments().{.$argum
166500 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 ents.=.array();..if.(defined('HH
166520 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d 20 27 VM_VERSION')).{.$arguments[].=.'
166540 2d 2d 70 68 70 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 68 70 64 62 67 27 20 3d 3d 3d 20 50 --php';.}.elseif.('phpdbg'.===.P
166560 48 50 5f 53 41 50 49 29 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d 20 27 2d 71 72 72 27 HP_SAPI).{.$arguments[].=.'-qrr'
166580 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ;.}..return.$arguments;.}.}.<?ph
1665a0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
1665c0 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f mponent\Process;..use.Symfony\Co
1665e0 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d mponent\Process\Exception\Runtim
166600 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 50 eException;...........class.PhpP
166620 72 6f 63 65 73 73 20 65 78 74 65 6e 64 73 20 50 72 6f 63 65 73 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a rocess.extends.Process.{........
166640 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 63 72 public.function.__construct($scr
166660 69 70 74 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 6e 76 20 3d 20 6e ipt,.$cwd.=.null,.array.$env.=.n
166680 75 6c 6c 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f ull,.$timeout.=.60,.array.$optio
1666a0 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 ns.=.array()).{.$executableFinde
1666c0 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 69 r.=.new.PhpExecutableFinder();.i
1666e0 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 70 20 3d 20 24 65 78 65 63 75 74 61 62 6c 65 46 f.(false.===.$php.=.$executableF
166700 69 6e 64 65 72 2d 3e 66 69 6e 64 28 29 29 20 7b 0a 24 70 68 70 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a inder->find()).{.$php.=.null;.}.
166720 69 66 20 28 27 70 68 70 64 62 67 27 20 3d 3d 3d 20 50 48 50 5f 53 41 50 49 29 20 7b 0a 24 66 69 if.('phpdbg'.===.PHP_SAPI).{.$fi
166740 6c 65 20 3d 20 74 65 6d 70 6e 61 6d 28 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2c le.=.tempnam(sys_get_temp_dir(),
166760 20 27 64 62 67 27 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 .'dbg');.file_put_contents($file
166780 2c 20 24 73 63 72 69 70 74 29 3b 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 ,.$script);.register_shutdown_fu
1667a0 6e 63 74 69 6f 6e 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c 65 29 3b 0a 24 70 68 70 20 2e 3d nction('unlink',.$file);.$php..=
1667c0 20 27 20 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 61 70 65 41 72 67 75 6d 65 6e .'.'.ProcessUtils::escapeArgumen
1667e0 74 28 24 66 69 6c 65 29 3b 0a 24 73 63 72 69 70 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 69 66 20 28 t($file);.$script.=.null;.}.if.(
166800 27 5c 5c 27 20 21 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 26 26 20 '\\'.!==.DIRECTORY_SEPARATOR.&&.
166820 6e 75 6c 6c 20 21 3d 3d 20 24 70 68 70 29 20 7b 0a 0a 20 0a 20 0a 20 24 70 68 70 20 3d 20 27 65 null.!==.$php).{.......$php.=.'e
166840 78 65 63 20 27 2e 24 70 68 70 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 xec.'.$php;.}..parent::__constru
166860 63 74 28 24 70 68 70 2c 20 24 63 77 64 2c 20 24 65 6e 76 2c 20 24 73 63 72 69 70 74 2c 20 24 74 ct($php,.$cwd,.$env,.$script,.$t
166880 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 imeout,.$options);.}.....public.
1668a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 68 70 42 69 6e 61 72 79 28 24 70 68 70 29 0a 7b 0a 24 74 function.setPhpBinary($php).{.$t
1668c0 68 69 73 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 70 68 70 29 3b 0a 7d 0a 0a 0a 0a his->setCommandLine($php);.}....
1668e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b .public.function.start($callback
166900 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 .=.null).{.if.(null.===.$this->g
166920 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e etCommandLine()).{.throw.new.Run
166940 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 74 68 timeException('Unable.to.find.th
166960 65 20 50 48 50 20 65 78 65 63 75 74 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a e.PHP.executable.');.}..parent::
166980 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a start($callback);.}.}.<?php.....
1669a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
1669c0 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 t\Process\Pipes;.......abstract.
1669e0 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 class.AbstractPipes.implements.P
166a00 69 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 24 70 69 70 65 73 20 3d 20 ipesInterface.{.public.$pipes.=.
166a20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 42 75 66 66 65 72 20 3d array();..private.$inputBuffer.=
166a40 20 27 27 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 62 6c .'';.private.$input;.private.$bl
166a60 6f 63 6b 65 64 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 45 72 72 6f 72 ocked.=.true;.private.$lastError
166a80 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ;.....public.function.__construc
166aa0 74 28 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 69 6e 70 t($input).{.if.(is_resource($inp
166ac0 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 7d 20 ut)).{.$this->input.=.$input;.}.
166ae0 65 6c 73 65 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 74 68 elseif.(is_string($input)).{.$th
166b00 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 24 69 6e 70 75 74 3b 0a 7d 20 65 6c 73 65 is->inputBuffer.=.$input;.}.else
166b20 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 28 73 74 72 69 6e 67 29 .{.$this->inputBuffer.=.(string)
166b40 20 24 69 6e 70 75 74 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$input;.}.}.....public.function
166b60 20 63 6c 6f 73 65 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 .close().{.foreach.($this->pipes
166b80 20 61 73 20 24 70 69 70 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 29 3b 0a 7d 0a 24 74 .as.$pipe).{.fclose($pipe);.}.$t
166ba0 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 his->pipes.=.array();.}.......pr
166bc0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 79 73 74 65 6d 43 61 6c 6c 42 65 otected.function.hasSystemCallBe
166be0 65 6e 49 6e 74 65 72 72 75 70 74 65 64 28 29 0a 7b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 enInterrupted().{.$lastError.=.$
166c00 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f this->lastError;.$this->lastErro
166c20 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 6c 61 r.=.null;....return.null.!==.$la
166c40 73 74 45 72 72 6f 72 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 24 6c 61 stError.&&.false.!==.stripos($la
166c60 73 74 45 72 72 6f 72 2c 20 27 69 6e 74 65 72 72 75 70 74 65 64 20 73 79 73 74 65 6d 20 63 61 6c stError,.'interrupted.system.cal
166c80 6c 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 6e l');.}.....protected.function.un
166ca0 62 6c 6f 63 6b 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 65 64 29 20 7b block().{.if.(!$this->blocked).{
166cc0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 69 70 65 .return;.}..foreach.($this->pipe
166ce0 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 73 74 72 65 61 6d 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e s.as.$pipe).{.stream_set_blockin
166d00 67 28 24 70 69 70 65 2c 20 30 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 g($pipe,.0);.}.if.(null.!==.$thi
166d20 73 2d 3e 69 6e 70 75 74 29 20 7b 0a 73 74 72 65 61 6d 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 s->input).{.stream_set_blocking(
166d40 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 30 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 $this->input,.0);.}..$this->bloc
166d60 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ked.=.false;.}.....protected.fun
166d80 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 ction.write().{.if.(!isset($this
166da0 2d 3e 70 69 70 65 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 69 6e 70 75 74 20 ->pipes[0])).{.return;.}.$input.
166dc0 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 24 72 20 3d 20 24 65 20 3d 20 61 72 72 61 79 28 =.$this->input;.$r.=.$e.=.array(
166de0 29 3b 0a 24 77 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a );.$w.=.array($this->pipes[0]);.
166e00 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 ...if.(false.===.@stream_select(
166e20 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 30 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a $r,.$w,.$e,.0,.0)).{.return;.}..
166e40 66 6f 72 65 61 63 68 20 28 24 77 20 61 73 20 24 73 74 64 69 6e 29 20 7b 0a 69 66 20 28 69 73 73 foreach.($w.as.$stdin).{.if.(iss
166e60 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 24 77 72 et($this->inputBuffer[0])).{.$wr
166e80 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 73 74 64 69 6e 2c 20 24 74 68 69 73 2d 3e 69 6e itten.=.fwrite($stdin,.$this->in
166ea0 70 75 74 42 75 66 66 65 72 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d putBuffer);.$this->inputBuffer.=
166ec0 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 2c 20 24 77 72 69 .substr($this->inputBuffer,.$wri
166ee0 74 74 65 6e 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 tten);.if.(isset($this->inputBuf
166f00 66 65 72 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 fer[0])).{.return.array($this->p
166f20 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 29 20 7b 0a 66 6f 72 ipes[0]);.}.}..if.($input).{.for
166f40 20 28 3b 3b 29 20 7b 0a 24 64 61 74 61 20 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 2c 20 73 65 .(;;).{.$data.=.fread($input,.se
166f60 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 lf::CHUNK_SIZE);.if.(!isset($dat
166f80 61 5b 30 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 77 72 69 74 74 65 6e 20 3d 20 66 77 72 a[0])).{.break;.}.$written.=.fwr
166fa0 69 74 65 28 24 73 74 64 69 6e 2c 20 24 64 61 74 61 29 3b 0a 24 64 61 74 61 20 3d 20 73 75 62 73 ite($stdin,.$data);.$data.=.subs
166fc0 74 72 28 24 64 61 74 61 2c 20 24 77 72 69 74 74 65 6e 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 tr($data,.$written);.if.(isset($
166fe0 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d data[0])).{.$this->inputBuffer.=
167000 20 24 64 61 74 61 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 .$data;..return.array($this->pip
167020 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 66 65 6f 66 28 24 69 6e 70 75 74 29 29 20 7b 0a es[0]);.}.}.if.(feof($input)).{.
167040 0a 20 0a 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a ....$this->input.=.null;.}.}.}..
167060 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 26 26 20 21 ..if.(null.===.$this->input.&&.!
167080 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a isset($this->inputBuffer[0])).{.
1670a0 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 75 6e 73 65 74 28 24 fclose($this->pipes[0]);.unset($
1670c0 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 77 29 20 this->pipes[0]);.}.elseif.(!$w).
1670e0 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b {.return.array($this->pipes[0]);
167100 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 .}.}.....public.function.handleE
167120 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 45 rror($type,.$msg).{.$this->lastE
167140 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rror.=.$msg;.}.}.<?php..........
167160 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f .namespace.Symfony\Component\Pro
167180 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 69 cess\Pipes;.........interface.Pi
1671a0 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 43 48 55 4e 4b 5f 53 49 5a 45 20 pesInterface.{.const.CHUNK_SIZE.
1671c0 3d 20 31 36 33 38 34 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 =.16384;.......public.function.g
1671e0 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 etDescriptors();.......public.fu
167200 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c nction.getFiles();..........publ
167220 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 ic.function.readAndWrite($blocki
167240 6e 67 2c 20 24 63 6c 6f 73 65 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ng,.$close.=.false);.......publi
167260 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 c.function.areOpen();.....public
167280 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .function.close();.}.<?php......
1672a0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
1672c0 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \Process\Pipes;..use.Symfony\Com
1672e0 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ponent\Process\Process;.........
167300 63 6c 61 73 73 20 55 6e 69 78 50 69 70 65 73 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 class.UnixPipes.extends.Abstract
167320 50 69 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 74 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 Pipes.{.private.$ttyMode;.privat
167340 65 20 24 70 74 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c 65 4f 75 74 70 e.$ptyMode;.private.$disableOutp
167360 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 ut;..public.function.__construct
167380 28 24 74 74 79 4d 6f 64 65 2c 20 24 70 74 79 4d 6f 64 65 2c 20 24 69 6e 70 75 74 2c 20 24 64 69 ($ttyMode,.$ptyMode,.$input,.$di
1673a0 73 61 62 6c 65 4f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 74 79 4d 6f 64 65 20 3d 20 sableOutput).{.$this->ttyMode.=.
1673c0 28 62 6f 6f 6c 29 20 24 74 74 79 4d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 70 74 79 4d 6f 64 65 20 (bool).$ttyMode;.$this->ptyMode.
1673e0 3d 20 28 62 6f 6f 6c 29 20 24 70 74 79 4d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c =.(bool).$ptyMode;.$this->disabl
167400 65 4f 75 74 70 75 74 20 3d 20 28 62 6f 6f 6c 29 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b eOutput.=.(bool).$disableOutput;
167420 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d ..parent::__construct($input);.}
167440 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b ..public.function.__destruct().{
167460 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .$this->close();.}.....public.fu
167480 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 nction.getDescriptors().{.if.($t
1674a0 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 his->disableOutput).{.$nullstrea
1674c0 6d 20 3d 20 66 6f 70 65 6e 28 27 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 m.=.fopen('/dev/null',.'c');..re
1674e0 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a turn.array(.array('pipe',.'r'),.
167500 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a $nullstream,.$nullstream,.);.}..
167520 69 66 20 28 24 74 68 69 73 2d 3e 74 74 79 4d 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 if.($this->ttyMode).{.return.arr
167540 61 79 28 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 ay(.array('file',.'/dev/tty',.'r
167560 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 '),.array('file',.'/dev/tty',.'w
167580 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 '),.array('file',.'/dev/tty',.'w
1675a0 27 29 2c 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 74 79 4d 6f 64 65 20 26 26 20 '),.);.}..if.($this->ptyMode.&&.
1675c0 50 72 6f 63 65 73 73 3a 3a 69 73 50 74 79 53 75 70 70 6f 72 74 65 64 28 29 29 20 7b 0a 72 65 74 Process::isPtySupported()).{.ret
1675e0 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 74 79 27 29 2c 0a 61 72 72 61 79 28 27 urn.array(.array('pty'),.array('
167600 70 74 79 27 29 2c 0a 61 72 72 61 79 28 27 70 74 79 27 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 pty'),.array('pty'),.);.}..retur
167620 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 61 72 72 n.array(.array('pipe',.'r'),.arr
167640 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a 20 61 72 72 61 79 28 27 70 69 70 65 27 2c ay('pipe',.'w'),...array('pipe',
167660 20 27 77 27 29 2c 20 0a 20 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .'w'),...);.}.....public.functio
167680 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d n.getFiles().{.return.array();.}
1676a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 41 6e 64 57 72 69 74 .....public.function.readAndWrit
1676c0 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 e($blocking,.$close.=.false).{.$
1676e0 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 29 3b 0a 24 77 20 3d 20 24 74 68 69 73 2d 3e 77 72 69 this->unblock();.$w.=.$this->wri
167700 74 65 28 29 3b 0a 0a 24 72 65 61 64 20 3d 20 24 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 20 te();..$read.=.$e.=.array();.$r.
167720 3d 20 24 74 68 69 73 2d 3e 70 69 70 65 73 3b 0a 75 6e 73 65 74 28 24 72 5b 30 5d 29 3b 0a 0a 0a =.$this->pipes;.unset($r[0]);...
167740 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 .set_error_handler(array($this,.
167760 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a 69 66 20 28 28 24 72 20 7c 7c 20 24 77 29 20 'handleError'));.if.(($r.||.$w).
167780 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 &&.false.===.stream_select($r,.$
1677a0 77 2c 20 24 65 2c 20 30 2c 20 24 62 6c 6f 63 6b 69 6e 67 20 3f 20 50 72 6f 63 65 73 73 3a 3a 54 w,.$e,.0,.$blocking.?.Process::T
1677c0 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 20 3a 20 30 29 29 20 7b 0a 72 IMEOUT_PRECISION.*.1E6.:.0)).{.r
1677e0 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 20 0a 20 69 66 20 28 estore_error_handler();.....if.(
167800 21 24 74 68 69 73 2d 3e 68 61 73 53 79 73 74 65 6d 43 61 6c 6c 42 65 65 6e 49 6e 74 65 72 72 75 !$this->hasSystemCallBeenInterru
167820 70 74 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 pted()).{.$this->pipes.=.array()
167840 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 ;.}..return.$read;.}.restore_err
167860 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 20 61 73 20 24 70 or_handler();..foreach.($r.as.$p
167880 69 70 65 29 20 7b 0a 0a 20 0a 20 24 72 65 61 64 5b 24 74 79 70 65 20 3d 20 61 72 72 61 79 5f 73 ipe).{.....$read[$type.=.array_s
1678a0 65 61 72 63 68 28 24 70 69 70 65 2c 20 24 74 68 69 73 2d 3e 70 69 70 65 73 2c 20 74 72 75 65 29 earch($pipe,.$this->pipes,.true)
1678c0 5d 20 3d 20 27 27 3b 0a 0a 64 6f 20 7b 0a 24 64 61 74 61 20 3d 20 66 72 65 61 64 28 24 70 69 70 ].=.'';..do.{.$data.=.fread($pip
1678e0 65 2c 20 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 29 3b 0a 24 72 65 61 64 5b 24 74 79 70 e,.self::CHUNK_SIZE);.$read[$typ
167900 65 5d 20 2e 3d 20 24 64 61 74 61 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 64 61 74 e]..=.$data;.}.while.(isset($dat
167920 61 5b 30 5d 29 20 26 26 20 28 24 63 6c 6f 73 65 20 7c 7c 20 69 73 73 65 74 28 24 64 61 74 61 5b a[0]).&&.($close.||.isset($data[
167940 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 20 2d 20 31 5d 29 29 29 3b 0a 0a 69 66 20 28 21 self::CHUNK_SIZE.-.1])));..if.(!
167960 69 73 73 65 74 28 24 72 65 61 64 5b 24 74 79 70 65 5d 5b 30 5d 29 29 20 7b 0a 75 6e 73 65 74 28 isset($read[$type][0])).{.unset(
167980 24 72 65 61 64 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 6c 6f 73 65 20 26 26 20 $read[$type]);.}..if.($close.&&.
1679a0 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 29 3b 0a 75 6e feof($pipe)).{.fclose($pipe);.un
1679c0 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 72 set($this->pipes[$type]);.}.}..r
1679e0 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 eturn.$read;.}.....public.functi
167a00 6f 6e 20 61 72 65 4f 70 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 on.areOpen().{.return.(bool).$th
167a20 69 73 2d 3e 70 69 70 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 is->pipes;.}..........public.sta
167a40 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 50 72 6f 63 65 73 73 20 24 70 72 6f tic.function.create(Process.$pro
167a60 63 65 73 73 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 cess,.$input).{.return.new.stati
167a80 63 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 54 74 79 28 29 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 c($process->isTty(),.$process->i
167aa0 73 50 74 79 28 29 2c 20 24 69 6e 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 sPty(),.$input,.$process->isOutp
167ac0 75 74 44 69 73 61 62 6c 65 64 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a utDisabled());.}.}.<?php........
167ae0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 ...namespace.Symfony\Component\P
167b00 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f rocess\Pipes;..use.Symfony\Compo
167b20 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e nent\Process\Process;.use.Symfon
167b40 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 y\Component\Process\Exception\Ru
167b60 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 ntimeException;............class
167b80 20 57 69 6e 64 6f 77 73 50 69 70 65 73 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 50 69 .WindowsPipes.extends.AbstractPi
167ba0 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a pes.{.private.$files.=.array();.
167bc0 70 72 69 76 61 74 65 20 24 66 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a private.$fileHandles.=.array();.
167be0 70 72 69 76 61 74 65 20 24 72 65 61 64 42 79 74 65 73 20 3d 20 61 72 72 61 79 28 0a 50 72 6f 63 private.$readBytes.=.array(.Proc
167c00 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 30 2c 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 ess::STDOUT.=>.0,.Process::STDER
167c20 52 20 3d 3e 20 30 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 R.=>.0,.);.private.$disableOutpu
167c40 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 t;..public.function.__construct(
167c60 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d $disableOutput,.$input).{.$this-
167c80 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 20 3d 20 28 62 6f 6f 6c 29 20 24 64 69 73 61 62 6c 65 >disableOutput.=.(bool).$disable
167ca0 4f 75 74 70 75 74 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 Output;..if.(!$this->disableOutp
167cc0 75 74 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 0a 50 72 ut).{.........$pipes.=.array(.Pr
167ce0 6f 63 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 50 72 6f 63 65 73 73 3a 3a 4f 55 54 2c 0a 50 ocess::STDOUT.=>.Process::OUT,.P
167d00 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 52 20 3d 3e 20 50 72 6f 63 65 73 73 3a 3a 45 52 52 2c 0a rocess::STDERR.=>.Process::ERR,.
167d20 29 3b 0a 24 74 6d 70 43 68 65 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 24 74 6d 70 44 69 72 20 3d 20 );.$tmpCheck.=.false;.$tmpDir.=.
167d40 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d sys_get_temp_dir();.$lastError.=
167d60 20 27 75 6e 6b 6e 6f 77 6e 20 72 65 61 73 6f 6e 27 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e .'unknown.reason';.set_error_han
167d80 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 6d 73 67 29 20 75 73 65 20 dler(function.($type,.$msg).use.
167da0 28 26 24 6c 61 73 74 45 72 72 6f 72 29 20 7b 20 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 (&$lastError).{.$lastError.=.$ms
167dc0 67 3b 20 7d 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 3b 20 2b 2b 24 69 29 20 7b 0a 66 6f 72 g;.});.for.($i.=.0;;.++$i).{.for
167de0 65 61 63 68 20 28 24 70 69 70 65 73 20 61 73 20 24 70 69 70 65 20 3d 3e 20 24 6e 61 6d 65 29 20 each.($pipes.as.$pipe.=>.$name).
167e00 7b 0a 24 66 69 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 5c 5c 73 66 5f 70 72 6f 63 5f 25 {.$file.=.sprintf('%s\\sf_proc_%
167e20 30 32 58 2e 25 73 27 2c 20 24 74 6d 70 44 69 72 2c 20 24 69 2c 20 24 6e 61 6d 65 29 3b 0a 69 66 02X.%s',.$tmpDir,.$i,.$name);.if
167e40 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 20 26 26 20 21 75 6e 6c 69 6e 6b 28 .(file_exists($file).&&.!unlink(
167e60 24 66 69 6c 65 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 24 68 20 3d 20 66 6f 70 $file)).{.continue.2;.}.$h.=.fop
167e80 65 6e 28 24 66 69 6c 65 2c 20 27 78 62 27 29 3b 0a 69 66 20 28 21 24 68 29 20 7b 0a 24 65 72 72 en($file,.'xb');.if.(!$h).{.$err
167ea0 6f 72 20 3d 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a 69 66 20 28 24 74 6d 70 43 68 65 63 6b 20 7c or.=.$lastError;.if.($tmpCheck.|
167ec0 7c 20 24 74 6d 70 43 68 65 63 6b 20 3d 20 75 6e 6c 69 6e 6b 28 74 65 6d 70 6e 61 6d 28 66 61 6c |.$tmpCheck.=.unlink(tempnam(fal
167ee0 73 65 2c 20 27 73 66 5f 63 68 65 63 6b 5f 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d se,.'sf_check_'))).{.continue;.}
167f00 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 74 68 72 6f 77 20 .restore_error_handler();.throw.
167f20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 20 new.RuntimeException(sprintf('A.
167f40 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e temporary.file.could.not.be.open
167f60 65 64 20 74 6f 20 77 72 69 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 75 74 70 75 74 3a 20 ed.to.write.the.process.output:.
167f80 25 73 27 2c 20 24 65 72 72 6f 72 29 29 3b 0a 7d 0a 69 66 20 28 21 24 68 20 7c 7c 20 21 24 74 68 %s',.$error));.}.if.(!$h.||.!$th
167fa0 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 66 6f 70 65 6e 28 24 is->fileHandles[$pipe].=.fopen($
167fc0 66 69 6c 65 2c 20 27 72 62 27 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 69 66 20 file,.'rb')).{.continue.2;.}.if.
167fe0 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 5b 24 70 69 70 65 5d 29 29 20 7b 0a 75 (isset($this->files[$pipe])).{.u
168000 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 5b 24 70 69 70 65 5d 29 3b 0a 7d 0a 24 74 nlink($this->files[$pipe]);.}.$t
168020 68 69 73 2d 3e 66 69 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 62 72 65 his->files[$pipe].=.$file;.}.bre
168040 61 6b 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 7d ak;.}.restore_error_handler();.}
168060 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d ..parent::__construct($input);.}
168080 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b ..public.function.__destruct().{
1680a0 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 46 69 .$this->close();.$this->removeFi
1680c0 6c 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 les();.}.....public.function.get
1680e0 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 Descriptors().{.if.($this->disab
168100 6c 65 4f 75 74 70 75 74 29 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 20 3d 20 66 6f 70 65 6e 28 leOutput).{.$nullstream.=.fopen(
168120 27 4e 55 4c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 'NUL',.'c');..return.array(.arra
168140 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 24 6e 75 y('pipe',.'r'),.$nullstream,.$nu
168160 6c 6c 73 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 72 65 74 75 72 6e 20 61 72 72 llstream,.);.}........return.arr
168180 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 61 72 72 61 79 28 27 66 ay(.array('pipe',.'r'),.array('f
1681a0 69 6c 65 27 2c 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c ile',.'NUL',.'w'),.array('file',
1681c0 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .'NUL',.'w'),.);.}.....public.fu
1681e0 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 nction.getFiles().{.return.$this
168200 2d 3e 66 69 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 ->files;.}.....public.function.r
168220 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 20 3d 20 eadAndWrite($blocking,.$close.=.
168240 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 29 3b 0a 24 77 20 3d 20 false).{.$this->unblock();.$w.=.
168260 24 74 68 69 73 2d 3e 77 72 69 74 65 28 29 3b 0a 24 72 65 61 64 20 3d 20 24 72 20 3d 20 24 65 20 $this->write();.$read.=.$r.=.$e.
168280 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 62 6c 6f 63 6b 69 6e 67 29 20 7b 0a 69 66 20 =.array();..if.($blocking).{.if.
1682a0 28 24 77 29 20 7b 0a 40 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 ($w).{.@stream_select($r,.$w,.$e
1682c0 2c 20 30 2c 20 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 ,.0,.Process::TIMEOUT_PRECISION.
1682e0 2a 20 31 45 36 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e *.1E6);.}.elseif.($this->fileHan
168300 64 6c 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f dles).{.usleep(Process::TIMEOUT_
168320 50 52 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 3b 0a 7d 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 PRECISION.*.1E6);.}.}.foreach.($
168340 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 66 this->fileHandles.as.$type.=>.$f
168360 69 6c 65 48 61 6e 64 6c 65 29 20 7b 0a 24 64 61 74 61 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f ileHandle).{.$data.=.stream_get_
168380 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 2d 31 2c 20 24 74 68 69 73 2d contents($fileHandle,.-1,.$this-
1683a0 3e 72 65 61 64 42 79 74 65 73 5b 24 74 79 70 65 5d 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 >readBytes[$type]);..if.(isset($
1683c0 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 73 5b 24 74 79 data[0])).{.$this->readBytes[$ty
1683e0 70 65 5d 20 2b 3d 20 73 74 72 6c 65 6e 28 24 64 61 74 61 29 3b 0a 24 72 65 61 64 5b 24 74 79 70 pe].+=.strlen($data);.$read[$typ
168400 65 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 69 66 20 28 24 63 6c 6f 73 65 29 20 7b 0a 66 63 6c 6f e].=.$data;.}.if.($close).{.fclo
168420 73 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 69 se($fileHandle);.unset($this->fi
168440 6c 65 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 leHandles[$type]);.}.}..return.$
168460 72 65 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f read;.}.....public.function.areO
168480 70 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 69 70 65 73 20 26 26 20 24 pen().{.return.$this->pipes.&&.$
1684a0 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 this->fileHandles;.}.....public.
1684c0 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6c 6f 73 65 function.close().{.parent::close
1684e0 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 ();.foreach.($this->fileHandles.
168500 61 73 20 24 68 61 6e 64 6c 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 7d as.$handle).{.fclose($handle);.}
168520 0a 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d .$this->fileHandles.=.array();.}
168540 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ..........public.static.function
168560 20 63 72 65 61 74 65 28 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 2c 20 24 69 6e 70 75 74 .create(Process.$process,.$input
168580 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 70 72 6f 63 65 73 73 2d 3e ).{.return.new.static($process->
1685a0 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 29 2c 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a isOutputDisabled(),.$input);.}..
1685c0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 46 69 6c 65 73 28 ...private.function.removeFiles(
1685e0 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 20 61 73 20 24 66 69 ).{.foreach.($this->files.as.$fi
168600 6c 65 6e 61 6d 65 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 6e lename).{.if.(file_exists($filen
168620 61 6d 65 29 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a ame)).{.@unlink($filename);.}.}.
168640 24 74 68 69 73 2d 3e 66 69 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 $this->files.=.array();.}.}.<?ph
168660 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
168680 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f mponent\Process;..use.Symfony\Co
1686a0 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 mponent\Process\Exception\Invali
1686c0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c dArgumentException;.use.Symfony\
1686e0 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 Component\Process\Exception\Logi
168700 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e cException;.use.Symfony\Componen
168720 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 46 61 69 6c 65 t\Process\Exception\ProcessFaile
168740 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e dException;.use.Symfony\Componen
168760 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 54 69 6d 65 64 t\Process\Exception\ProcessTimed
168780 4f 75 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e OutException;.use.Symfony\Compon
1687a0 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 ent\Process\Exception\RuntimeExc
1687c0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 eption;.use.Symfony\Component\Pr
1687e0 6f 63 65 73 73 5c 50 69 70 65 73 5c 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ocess\Pipes\PipesInterface;.use.
168800 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 5c Symfony\Component\Process\Pipes\
168820 55 6e 69 78 50 69 70 65 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 UnixPipes;.use.Symfony\Component
168840 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 5c 57 69 6e 64 6f 77 73 50 69 70 65 73 3b 0a 0a 0a 0a \Process\Pipes\WindowsPipes;....
168860 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 0a 7b 0a 63 6f 6e 73 74 20 45 52 52 20 3d .....class.Process.{.const.ERR.=
168880 20 27 65 72 72 27 3b 0a 63 6f 6e 73 74 20 4f 55 54 20 3d 20 27 6f 75 74 27 3b 0a 0a 63 6f 6e 73 .'err';.const.OUT.=.'out';..cons
1688a0 74 20 53 54 41 54 55 53 5f 52 45 41 44 59 20 3d 20 27 72 65 61 64 79 27 3b 0a 63 6f 6e 73 74 20 t.STATUS_READY.=.'ready';.const.
1688c0 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 3d 20 27 73 74 61 72 74 65 64 27 3b 0a 63 6f 6e 73 STATUS_STARTED.=.'started';.cons
1688e0 74 20 53 54 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 20 3d 20 27 74 65 72 6d 69 6e 61 74 65 t.STATUS_TERMINATED.=.'terminate
168900 64 27 3b 0a 0a 63 6f 6e 73 74 20 53 54 44 49 4e 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 44 4f d';..const.STDIN.=.0;.const.STDO
168920 55 54 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 54 44 45 52 52 20 3d 20 32 3b 0a 0a 0a 20 63 6f 6e UT.=.1;.const.STDERR.=.2;....con
168940 73 74 20 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 3d 20 30 2e 32 3b 0a 0a 70 72 69 st.TIMEOUT_PRECISION.=.0.2;..pri
168960 76 61 74 65 20 24 63 61 6c 6c 62 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 vate.$callback;.private.$command
168980 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 line;.private.$cwd;.private.$env
1689a0 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 ;.private.$input;.private.$start
1689c0 74 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 3b 0a 70 time;.private.$lastOutputTime;.p
1689e0 72 69 76 61 74 65 20 24 74 69 6d 65 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 69 64 6c 65 54 69 rivate.$timeout;.private.$idleTi
168a00 6d 65 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 meout;.private.$options;.private
168a20 20 24 65 78 69 74 63 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 53 74 61 .$exitcode;.private.$fallbackSta
168a40 74 75 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 49 tus.=.array();.private.$processI
168a60 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 nformation;.private.$outputDisab
168a80 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 6f 75 74 3b 0a 70 72 led.=.false;.private.$stdout;.pr
168aa0 69 76 61 74 65 20 24 73 74 64 65 72 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 65 57 ivate.$stderr;.private.$enhanceW
168ac0 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 indowsCompatibility.=.true;.priv
168ae0 61 74 65 20 24 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 ate.$enhanceSigchildCompatibilit
168b00 79 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 y;.private.$process;.private.$st
168b20 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 70 72 69 76 61 atus.=.self::STATUS_READY;.priva
168b40 74 65 20 24 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b te.$incrementalOutputOffset.=.0;
168b60 0a 70 72 69 76 61 74 65 20 24 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 .private.$incrementalErrorOutput
168b80 4f 66 66 73 65 74 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 74 74 79 3b 0a 70 72 69 76 61 74 Offset.=.0;.private.$tty;.privat
168ba0 65 20 24 70 74 79 3b 0a 0a 70 72 69 76 61 74 65 20 24 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 73 e.$pty;..private.$useFileHandles
168bc0 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 50 69 70 65 73 .=.false;..private.$processPipes
168be0 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 61 74 65 73 74 53 69 67 6e 61 6c 3b 0a 0a 70 72 69 76 61 ;..private.$latestSignal;..priva
168c00 74 65 20 73 74 61 74 69 63 20 24 73 69 67 63 68 69 6c 64 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 te.static.$sigchild;.......publi
168c20 63 20 73 74 61 74 69 63 20 24 65 78 69 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d c.static.$exitCodes.=.array(.0.=
168c40 3e 20 27 4f 4b 27 2c 0a 31 20 3d 3e 20 27 47 65 6e 65 72 61 6c 20 65 72 72 6f 72 27 2c 0a 32 20 >.'OK',.1.=>.'General.error',.2.
168c60 3d 3e 20 27 4d 69 73 75 73 65 20 6f 66 20 73 68 65 6c 6c 20 62 75 69 6c 74 69 6e 73 27 2c 0a 0a =>.'Misuse.of.shell.builtins',..
168c80 31 32 36 20 3d 3e 20 27 49 6e 76 6f 6b 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 6e 6f 74 20 65 126.=>.'Invoked.command.cannot.e
168ca0 78 65 63 75 74 65 27 2c 0a 31 32 37 20 3d 3e 20 27 43 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 xecute',.127.=>.'Command.not.fou
168cc0 6e 64 27 2c 0a 31 32 38 20 3d 3e 20 27 49 6e 76 61 6c 69 64 20 65 78 69 74 20 61 72 67 75 6d 65 nd',.128.=>.'Invalid.exit.argume
168ce0 6e 74 27 2c 0a 0a 0a 20 31 32 39 20 3d 3e 20 27 48 61 6e 67 75 70 27 2c 0a 31 33 30 20 3d 3e 20 nt',....129.=>.'Hangup',.130.=>.
168d00 27 49 6e 74 65 72 72 75 70 74 27 2c 0a 31 33 31 20 3d 3e 20 27 51 75 69 74 20 61 6e 64 20 64 75 'Interrupt',.131.=>.'Quit.and.du
168d20 6d 70 20 63 6f 72 65 27 2c 0a 31 33 32 20 3d 3e 20 27 49 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 mp.core',.132.=>.'Illegal.instru
168d40 63 74 69 6f 6e 27 2c 0a 31 33 33 20 3d 3e 20 27 54 72 61 63 65 2f 62 72 65 61 6b 70 6f 69 6e 74 ction',.133.=>.'Trace/breakpoint
168d60 20 74 72 61 70 27 2c 0a 31 33 34 20 3d 3e 20 27 50 72 6f 63 65 73 73 20 61 62 6f 72 74 65 64 27 .trap',.134.=>.'Process.aborted'
168d80 2c 0a 31 33 35 20 3d 3e 20 27 42 75 73 20 65 72 72 6f 72 3a 20 22 61 63 63 65 73 73 20 74 6f 20 ,.135.=>.'Bus.error:."access.to.
168da0 75 6e 64 65 66 69 6e 65 64 20 70 6f 72 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 6f 62 6a 65 undefined.portion.of.memory.obje
168dc0 63 74 22 27 2c 0a 31 33 36 20 3d 3e 20 27 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 65 78 63 ct"',.136.=>.'Floating.point.exc
168de0 65 70 74 69 6f 6e 3a 20 22 65 72 72 6f 6e 65 6f 75 73 20 61 72 69 74 68 6d 65 74 69 63 20 6f 70 eption:."erroneous.arithmetic.op
168e00 65 72 61 74 69 6f 6e 22 27 2c 0a 31 33 37 20 3d 3e 20 27 4b 69 6c 6c 20 28 74 65 72 6d 69 6e 61 eration"',.137.=>.'Kill.(termina
168e20 74 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 29 27 2c 0a 31 33 38 20 3d 3e 20 27 55 73 65 72 2d 64 te.immediately)',.138.=>.'User-d
168e40 65 66 69 6e 65 64 20 31 27 2c 0a 31 33 39 20 3d 3e 20 27 53 65 67 6d 65 6e 74 61 74 69 6f 6e 20 efined.1',.139.=>.'Segmentation.
168e60 76 69 6f 6c 61 74 69 6f 6e 27 2c 0a 31 34 30 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 violation',.140.=>.'User-defined
168e80 20 32 27 2c 0a 31 34 31 20 3d 3e 20 27 57 72 69 74 65 20 74 6f 20 70 69 70 65 20 77 69 74 68 20 .2',.141.=>.'Write.to.pipe.with.
168ea0 6e 6f 20 6f 6e 65 20 72 65 61 64 69 6e 67 27 2c 0a 31 34 32 20 3d 3e 20 27 53 69 67 6e 61 6c 20 no.one.reading',.142.=>.'Signal.
168ec0 72 61 69 73 65 64 20 62 79 20 61 6c 61 72 6d 27 2c 0a 31 34 33 20 3d 3e 20 27 54 65 72 6d 69 6e raised.by.alarm',.143.=>.'Termin
168ee0 61 74 69 6f 6e 20 28 72 65 71 75 65 73 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 29 27 2c 0a 0a ation.(request.to.terminate)',..
168f00 20 31 34 35 20 3d 3e 20 27 43 68 69 6c 64 20 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 .145.=>.'Child.process.terminate
168f20 64 2c 20 73 74 6f 70 70 65 64 20 28 6f 72 20 63 6f 6e 74 69 6e 75 65 64 2a 29 27 2c 0a 31 34 36 d,.stopped.(or.continued*)',.146
168f40 20 3d 3e 20 27 43 6f 6e 74 69 6e 75 65 20 69 66 20 73 74 6f 70 70 65 64 27 2c 0a 31 34 37 20 3d .=>.'Continue.if.stopped',.147.=
168f60 3e 20 27 53 74 6f 70 20 65 78 65 63 75 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 69 6c 79 27 2c 0a >.'Stop.executing.temporarily',.
168f80 31 34 38 20 3d 3e 20 27 54 65 72 6d 69 6e 61 6c 20 73 74 6f 70 20 73 69 67 6e 61 6c 27 2c 0a 31 148.=>.'Terminal.stop.signal',.1
168fa0 34 39 20 3d 3e 20 27 42 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 49.=>.'Background.process.attemp
168fc0 74 69 6e 67 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 74 74 79 20 28 22 69 6e 22 29 27 2c 0a 31 ting.to.read.from.tty.("in")',.1
168fe0 35 30 20 3d 3e 20 27 42 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 50.=>.'Background.process.attemp
169000 74 69 6e 67 20 74 6f 20 77 72 69 74 65 20 74 6f 20 74 74 79 20 28 22 6f 75 74 22 29 27 2c 0a 31 ting.to.write.to.tty.("out")',.1
169020 35 31 20 3d 3e 20 27 55 72 67 65 6e 74 20 64 61 74 61 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 51.=>.'Urgent.data.available.on.
169040 73 6f 63 6b 65 74 27 2c 0a 31 35 32 20 3d 3e 20 27 43 50 55 20 74 69 6d 65 20 6c 69 6d 69 74 20 socket',.152.=>.'CPU.time.limit.
169060 65 78 63 65 65 64 65 64 27 2c 0a 31 35 33 20 3d 3e 20 27 46 69 6c 65 20 73 69 7a 65 20 6c 69 6d exceeded',.153.=>.'File.size.lim
169080 69 74 20 65 78 63 65 65 64 65 64 27 2c 0a 31 35 34 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 it.exceeded',.154.=>.'Signal.rai
1690a0 73 65 64 20 62 79 20 74 69 6d 65 72 20 63 6f 75 6e 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 69 sed.by.timer.counting.virtual.ti
1690c0 6d 65 3a 20 22 76 69 72 74 75 61 6c 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 22 27 2c 0a 31 35 me:."virtual.timer.expired"',.15
1690e0 35 20 3d 3e 20 27 50 72 6f 66 69 6c 69 6e 67 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 27 2c 0a 5.=>.'Profiling.timer.expired',.
169100 0a 20 31 35 37 20 3d 3e 20 27 50 6f 6c 6c 61 62 6c 65 20 65 76 65 6e 74 27 2c 0a 0a 20 31 35 39 ..157.=>.'Pollable.event',...159
169120 20 3d 3e 20 27 42 61 64 20 73 79 73 63 61 6c 6c 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .=>.'Bad.syscall',.);...........
169140 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f .public.function.__construct($co
169160 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 mmandline,.$cwd.=.null,.array.$e
169180 6e 76 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 6f nv.=.null,.$input.=.null,.$timeo
1691a0 75 74 20 3d 20 36 30 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 ut.=.60,.array.$options.=.array(
1691c0 29 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f )).{.if.(!function_exists('proc_
1691e0 6f 70 65 6e 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 open')).{.throw.new.RuntimeExcep
169200 74 69 6f 6e 28 27 54 68 65 20 50 72 6f 63 65 73 73 20 63 6c 61 73 73 20 72 65 6c 69 65 73 20 6f tion('The.Process.class.relies.o
169220 6e 20 70 72 6f 63 5f 6f 70 65 6e 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 n.proc_open,.which.is.not.availa
169240 62 6c 65 20 6f 6e 20 79 6f 75 72 20 50 48 50 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 27 29 3b ble.on.your.PHP.installation.');
169260 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e .}..$this->commandline.=.$comman
169280 64 6c 69 6e 65 3b 0a 24 74 68 69 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 0a 20 0a 20 0a dline;.$this->cwd.=.$cwd;.......
1692a0 20 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 77 64 20 26 26 20 28 64 ...if.(null.===.$this->cwd.&&.(d
1692c0 65 66 69 6e 65 64 28 27 5a 45 4e 44 5f 54 48 52 45 41 44 5f 53 41 46 45 27 29 20 7c 7c 20 27 5c efined('ZEND_THREAD_SAFE').||.'\
1692e0 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 29 20 7b 0a 24 \'.===.DIRECTORY_SEPARATOR)).{.$
169300 74 68 69 73 2d 3e 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c this->cwd.=.getcwd();.}.if.(null
169320 20 21 3d 3d 20 24 65 6e 76 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 28 24 65 6e 76 29 .!==.$env).{.$this->setEnv($env)
169340 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 24 74 ;.}..$this->setInput($input);.$t
169360 68 69 73 2d 3e 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 24 74 68 69 73 his->setTimeout($timeout);.$this
169380 2d 3e 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 ->useFileHandles.=.'\\'.===.DIRE
1693a0 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 66 61 CTORY_SEPARATOR;.$this->pty.=.fa
1693c0 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 lse;.$this->enhanceSigchildCompa
1693e0 74 69 62 69 6c 69 74 79 20 3d 20 27 5c 5c 27 20 21 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 tibility.=.'\\'.!==.DIRECTORY_SE
169400 50 41 52 41 54 4f 52 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 PARATOR.&&.$this->isSigchildEnab
169420 6c 65 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 led();.$this->options.=.array_re
169440 70 6c 61 63 65 28 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e place(array('suppress_errors'.=>
169460 20 74 72 75 65 2c 20 27 62 69 6e 61 72 79 5f 70 69 70 65 73 27 20 3d 3e 20 74 72 75 65 29 2c 20 .true,.'binary_pipes'.=>.true),.
169480 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f $options);.}..public.function.__
1694a0 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 7d 0a 0a destruct().{.$this->stop(0);.}..
1694c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 69 public.function.__clone().{.$thi
1694e0 73 2d 3e 72 65 73 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a s->resetProcessData();.}........
169500 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e .............public.function.run
169520 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 ($callback.=.null).{.$this->star
169540 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 69 t($callback);..return.$this->wai
169560 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 t();.}...............public.func
169580 74 69 6f 6e 20 6d 75 73 74 52 75 6e 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b tion.mustRun($callback.=.null).{
1695a0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 .if.(!$this->enhanceSigchildComp
1695c0 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e atibility.&&.$this->isSigchildEn
1695e0 61 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 abled()).{.throw.new.RuntimeExce
169600 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 ption('This.PHP.has.been.compile
169620 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 d.with.--enable-sigchild..You.mu
169640 73 74 20 75 73 65 20 73 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 st.use.setEnhanceSigchildCompati
169660 62 69 6c 69 74 79 28 29 20 74 6f 20 75 73 65 20 74 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a bility().to.use.this.method.');.
169680 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 }..if.(0.!==.$this->run($callbac
1696a0 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 k)).{.throw.new.ProcessFailedExc
1696c0 65 70 74 69 6f 6e 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a eption($this);.}..return.$this;.
1696e0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e }.....................public.fun
169700 63 74 69 6f 6e 20 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ction.start($callback.=.null).{.
169720 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 if.($this->isRunning()).{.throw.
169740 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 69 73 new.RuntimeException('Process.is
169760 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d .already.running');.}.if.($this-
169780 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c >outputDisabled.&&.null.!==.$cal
1697a0 6c 62 61 63 6b 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f lback).{.throw.new.LogicExceptio
1697c0 6e 28 27 4f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2c 20 65 6e 61 n('Output.has.been.disabled,.ena
1697e0 62 6c 65 20 69 74 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 63 61 6c ble.it.to.allow.the.use.of.a.cal
169800 6c 62 61 63 6b 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 50 72 6f 63 65 73 73 lback.');.}..$this->resetProcess
169820 44 61 74 61 28 29 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 20 3d 20 24 74 68 69 73 Data();.$this->starttime.=.$this
169840 2d 3e 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 ->lastOutputTime.=.microtime(tru
169860 65 29 3b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 e);.$this->callback.=.$this->bui
169880 6c 64 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 24 64 65 73 63 72 69 70 74 ldCallback($callback);.$descript
1698a0 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a ors.=.$this->getDescriptors();..
1698c0 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e $commandline.=.$this->commandlin
1698e0 65 3b 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 e;..if.('\\'.===.DIRECTORY_SEPAR
169900 41 54 4f 52 20 26 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d ATOR.&&.$this->enhanceWindowsCom
169920 70 61 74 69 62 69 6c 69 74 79 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 27 63 6d patibility).{.$commandline.=.'cm
169940 64 20 2f 56 3a 4f 4e 20 2f 45 3a 4f 4e 20 2f 44 20 2f 43 20 22 28 27 2e 24 63 6f 6d 6d 61 6e 64 d./V:ON./E:ON./D./C."('.$command
169960 6c 69 6e 65 2e 27 29 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 line.')';.foreach.($this->proces
169980 73 50 69 70 65 73 2d 3e 67 65 74 46 69 6c 65 73 28 29 20 61 73 20 24 6f 66 66 73 65 74 20 3d 3e sPipes->getFiles().as.$offset.=>
1699a0 20 24 66 69 6c 65 6e 61 6d 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 20 .$filename).{.$commandline..=.'.
1699c0 27 2e 24 6f 66 66 73 65 74 2e 27 3e 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 61 '.$offset.'>'.ProcessUtils::esca
1699e0 70 65 41 72 67 75 6d 65 6e 74 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e peArgument($filename);.}.$comman
169a00 64 6c 69 6e 65 20 2e 3d 20 27 22 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d dline..=.'"';..if.(!isset($this-
169a20 3e 6f 70 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 29 29 20 7b 0a 24 74 68 >options['bypass_shell'])).{.$th
169a40 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 20 3d 20 74 72 is->options['bypass_shell'].=.tr
169a60 75 65 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 75 73 65 46 69 6c 65 48 ue;.}.}.elseif.(!$this->useFileH
169a80 61 6e 64 6c 65 73 20 26 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 andles.&&.$this->enhanceSigchild
169aa0 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 Compatibility.&&.$this->isSigchi
169ac0 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 0a 20 24 64 65 73 63 72 69 70 74 6f 72 73 5b 33 5d ldEnabled()).{...$descriptors[3]
169ae0 20 3d 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 .=.array('pipe',.'w');....$comma
169b00 6e 64 6c 69 6e 65 20 3d 20 27 7b 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e ndline.=.'{.('.$this->commandlin
169b20 65 2e 27 29 20 3c 26 33 20 33 3c 26 2d 20 33 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 20 7d 20 33 3c e.').<&3.3<&-.3>/dev/null.&.}.3<
169b40 26 30 3b 27 3b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 70 69 64 3d 24 21 3b 20 65 &0;';.$commandline..=.'pid=$!;.e
169b60 63 68 6f 20 24 70 69 64 20 3e 26 33 3b 20 77 61 69 74 20 24 70 69 64 3b 20 63 6f 64 65 3d 24 3f cho.$pid.>&3;.wait.$pid;.code=$?
169b80 3b 20 65 63 68 6f 20 24 63 6f 64 65 20 3e 26 33 3b 20 65 78 69 74 20 24 63 6f 64 65 27 3b 0a 0a ;.echo.$code.>&3;.exit.$code';..
169ba0 0a 20 0a 20 24 70 74 73 57 6f 72 6b 61 72 6f 75 6e 64 20 3d 20 66 6f 70 65 6e 28 5f 5f 46 49 4c ....$ptsWorkaround.=.fopen(__FIL
169bc0 45 5f 5f 2c 20 27 72 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 70 E__,.'r');.}..$this->process.=.p
169be0 72 6f 63 5f 6f 70 65 6e 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 64 65 73 63 72 69 70 74 roc_open($commandline,.$descript
169c00 6f 72 73 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 2c ors,.$this->processPipes->pipes,
169c20 20 24 74 68 69 73 2d 3e 63 77 64 2c 20 24 74 68 69 73 2d 3e 65 6e 76 2c 20 24 74 68 69 73 2d 3e .$this->cwd,.$this->env,.$this->
169c40 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 options);..if.(!is_resource($thi
169c60 73 2d 3e 70 72 6f 63 65 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 s->process)).{.throw.new.Runtime
169c80 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 6c 61 75 6e 63 68 20 61 20 6e 65 Exception('Unable.to.launch.a.ne
169ca0 77 20 70 72 6f 63 65 73 73 2e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 w.process.');.}.$this->status.=.
169cc0 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 3b 0a 0a 69 66 20 28 69 73 73 65 74 self::STATUS_STARTED;..if.(isset
169ce0 28 24 64 65 73 63 72 69 70 74 6f 72 73 5b 33 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c ($descriptors[3])).{.$this->fall
169d00 62 61 63 6b 53 74 61 74 75 73 5b 27 70 69 64 27 5d 20 3d 20 28 69 6e 74 29 20 66 67 65 74 73 28 backStatus['pid'].=.(int).fgets(
169d20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 5b 33 5d 29 3b 0a $this->processPipes->pipes[3]);.
169d40 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a }..if.($this->tty).{.return;.}..
169d60 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 24 74 68 69 $this->updateStatus(false);.$thi
169d80 73 2d 3e 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s->checkTimeout();.}............
169da0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 61 .....public.function.restart($ca
169dc0 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 llback.=.null).{.if.($this->isRu
169de0 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 nning()).{.throw.new.RuntimeExce
169e00 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e ption('Process.is.already.runnin
169e20 67 27 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a g');.}..$process.=.clone.$this;.
169e40 24 70 72 6f 63 65 73 73 2d 3e 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 $process->start($callback);..ret
169e60 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$process;.}.................
169e80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 69 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d public.function.wait($callback.=
169ea0 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 .null).{.$this->requireProcessIs
169ec0 53 74 61 72 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 Started(__FUNCTION__);..$this->u
169ee0 70 64 61 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d pdateStatus(false);.if.(null.!==
169f00 20 24 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 .$callback).{.$this->callback.=.
169f20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b $this->buildCallback($callback);
169f40 0a 7d 0a 0a 64 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a .}..do.{.$this->checkTimeout();.
169f60 24 72 75 6e 6e 69 6e 67 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 $running.=.'\\'.===.DIRECTORY_SE
169f80 50 41 52 41 54 4f 52 20 3f 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 3a 20 24 PARATOR.?.$this->isRunning().:.$
169fa0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 61 72 65 4f 70 65 6e 28 29 3b 0a 24 this->processPipes->areOpen();.$
169fc0 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e 6e 69 6e 67 2c 20 27 5c 5c 27 20 21 this->readPipes($running,.'\\'.!
169fe0 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e ==.DIRECTORY_SEPARATOR.||.!$runn
16a000 69 6e 67 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 72 75 6e 6e 69 6e 67 29 3b 0a 0a 77 68 69 6c 65 ing);.}.while.($running);..while
16a020 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 31 .($this->isRunning()).{.usleep(1
16a040 30 30 30 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 000);.}..if.($this->processInfor
16a060 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f mation['signaled'].&&.$this->pro
16a080 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 20 21 3d 3d 20 24 cessInformation['termsig'].!==.$
16a0a0 74 68 69 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 this->latestSignal).{.throw.new.
16a0c0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 70 72 RuntimeException(sprintf('The.pr
16a0e0 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 61 6c 65 64 20 77 69 74 68 20 73 69 67 ocess.has.been.signaled.with.sig
16a100 6e 61 6c 20 22 25 73 22 2e 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d nal."%s".',.$this->processInform
16a120 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 ation['termsig']));.}..return.$t
16a140 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 his->exitcode;.}.......public.fu
16a160 6e 63 74 69 6f 6e 20 67 65 74 50 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e nction.getPid().{.return.$this->
16a180 69 73 52 75 6e 6e 69 6e 67 28 29 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f isRunning().?.$this->processInfo
16a1a0 72 6d 61 74 69 6f 6e 5b 27 70 69 64 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a rmation['pid'].:.null;.}........
16a1c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 67 6e 61 6c 28 24 73 69 67 .....public.function.signal($sig
16a1e0 6e 61 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c 20 nal).{.$this->doSignal($signal,.
16a200 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a true);..return.$this;.}.........
16a220 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 .public.function.disableOutput()
16a240 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 .{.if.($this->isRunning()).{.thr
16a260 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 44 69 73 61 62 6c 69 ow.new.RuntimeException('Disabli
16a280 6e 67 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 72 ng.output.while.the.process.is.r
16a2a0 75 6e 6e 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 27 29 3b 0a 7d 0a 69 66 20 unning.is.not.possible.');.}.if.
16a2c0 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 29 20 7b 0a (null.!==.$this->idleTimeout).{.
16a2e0 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 75 74 throw.new.LogicException('Output
16a300 20 63 61 6e 20 6e 6f 74 20 62 65 20 64 69 73 61 62 6c 65 64 20 77 68 69 6c 65 20 61 6e 20 69 64 .can.not.be.disabled.while.an.id
16a320 6c 65 20 74 69 6d 65 6f 75 74 20 69 73 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e le.timeout.is.set.');.}..$this->
16a340 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 outputDisabled.=.true;..return.$
16a360 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
16a380 65 6e 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 enableOutput().{.if.($this->isRu
16a3a0 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 nning()).{.throw.new.RuntimeExce
16a3c0 70 74 69 6f 6e 28 27 45 6e 61 62 6c 69 6e 67 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 ption('Enabling.output.while.the
16a3e0 20 70 72 6f 63 65 73 73 20 69 73 20 72 75 6e 6e 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 .process.is.running.is.not.possi
16a400 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 ble.');.}..$this->outputDisabled
16a420 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .=.false;..return.$this;.}......
16a440 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 .public.function.isOutputDisable
16a460 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c d().{.return.$this->outputDisabl
16a480 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ed;.}..........public.function.g
16a4a0 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 etOutput().{.$this->readPipesFor
16a4c0 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 Output(__FUNCTION__);..if.(false
16a4e0 20 3d 3d 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 .===.$ret.=.stream_get_contents(
16a500 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 2d 31 2c 20 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 $this->stdout,.-1,.0)).{.return.
16a520 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a '';.}..return.$ret;.}...........
16a540 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 72 65 6d 65 6e 74 61 6c ..public.function.getIncremental
16a560 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 Output().{.$this->readPipesForOu
16a580 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 6c 61 74 65 73 74 20 3d 20 73 tput(__FUNCTION__);..$latest.=.s
16a5a0 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 tream_get_contents($this->stdout
16a5c0 2c 20 2d 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 ,.-1,.$this->incrementalOutputOf
16a5e0 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f fset);.$this->incrementalOutputO
16a600 66 66 73 65 74 20 3d 20 66 74 65 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 29 3b 0a 0a 69 ffset.=.ftell($this->stdout);..i
16a620 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 f.(false.===.$latest).{.return.'
16a640 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ';.}..return.$latest;.}.......pu
16a660 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 blic.function.clearOutput().{.ft
16a680 72 75 6e 63 61 74 65 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 66 73 65 65 6b runcate($this->stdout,.0);.fseek
16a6a0 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 ($this->stdout,.0);.$this->incre
16a6c0 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 6e 20 mentalOutputOffset.=.0;..return.
16a6e0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $this;.}..........public.functio
16a700 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 n.getErrorOutput().{.$this->read
16a720 50 69 70 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 PipesForOutput(__FUNCTION__);..i
16a740 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 f.(false.===.$ret.=.stream_get_c
16a760 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 30 29 29 20 7b ontents($this->stderr,.-1,.0)).{
16a780 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a .return.'';.}..return.$ret;.}...
16a7a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e ...........public.function.getIn
16a7c0 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e crementalErrorOutput().{.$this->
16a7e0 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 readPipesForOutput(__FUNCTION__)
16a800 3b 0a 0a 24 6c 61 74 65 73 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 ;..$latest.=.stream_get_contents
16a820 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 ($this->stderr,.-1,.$this->incre
16a840 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d mentalErrorOutputOffset);.$this-
16a860 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 >incrementalErrorOutputOffset.=.
16a880 66 74 65 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 ftell($this->stderr);..if.(false
16a8a0 20 3d 3d 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 .===.$latest).{.return.'';.}..re
16a8c0 74 75 72 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$latest;.}.......public.fun
16a8e0 63 74 69 6f 6e 20 63 6c 65 61 72 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 72 75 6e ction.clearErrorOutput().{.ftrun
16a900 63 61 74 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 66 73 65 65 6b 28 24 74 cate($this->stderr,.0);.fseek($t
16a920 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e his->stderr,.0);.$this->incremen
16a940 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 talErrorOutputOffset.=.0;..retur
16a960 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this;.}.........public.functi
16a980 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 on.getExitCode().{.if.(!$this->e
16a9a0 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 nhanceSigchildCompatibility.&&.$
16a9c0 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 this->isSigchildEnabled()).{.thr
16a9e0 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 ow.new.RuntimeException('This.PH
16aa00 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c P.has.been.compiled.with.--enabl
16aa20 65 2d 73 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 73 74 20 75 73 65 20 73 65 74 45 6e 68 61 e-sigchild..You.must.use.setEnha
16aa40 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 20 74 6f 20 75 73 nceSigchildCompatibility().to.us
16aa60 65 20 74 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 e.this.method.');.}..$this->upda
16aa80 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e teStatus(false);..return.$this->
16aaa0 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 exitcode;.}.............public.f
16aac0 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 74 28 29 0a 7b 0a 69 66 20 28 unction.getExitCodeText().{.if.(
16aae0 6e 75 6c 6c 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 null.===.$exitcode.=.$this->getE
16ab00 78 69 74 43 6f 64 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 xitCode()).{.return;.}..return.i
16ab20 73 73 65 74 28 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d sset(self::$exitCodes[$exitcode]
16ab40 29 20 3f 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 20 ).?.self::$exitCodes[$exitcode].
16ab60 3a 20 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 :.'Unknown.error';.}.......publi
16ab80 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 0a 7b 0a 72 65 74 75 c.function.isSuccessful().{.retu
16aba0 72 6e 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d rn.0.===.$this->getExitCode();.}
16abc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 ............public.function.hasB
16abe0 65 65 6e 53 69 67 6e 61 6c 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 eenSignaled().{.$this->requirePr
16ac00 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b ocessIsTerminated(__FUNCTION__);
16ac20 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d ..if.(!$this->enhanceSigchildCom
16ac40 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 patibility.&&.$this->isSigchildE
16ac60 6e 61 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 nabled()).{.throw.new.RuntimeExc
16ac80 65 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c eption('This.PHP.has.been.compil
16aca0 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d 20 ed.with.--enable-sigchild..Term.
16acc0 73 69 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b 0a signal.can.not.be.retrieved.');.
16ace0 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 }..return.$this->processInformat
16ad00 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ion['signaled'];.}............pu
16ad20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 53 69 67 6e 61 6c 28 29 0a 7b 0a blic.function.getTermSignal().{.
16ad40 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 $this->requireProcessIsTerminate
16ad60 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 d(__FUNCTION__);..if.($this->isS
16ad80 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 20 26 26 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 igchildEnabled().&&.(!$this->enh
16ada0 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 7c 7c 20 2d 31 20 anceSigchildCompatibility.||.-1.
16adc0 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 ===.$this->processInformation['t
16ade0 65 72 6d 73 69 67 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 ermsig'])).{.throw.new.RuntimeEx
16ae00 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 ception('This.PHP.has.been.compi
16ae20 6c 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d led.with.--enable-sigchild..Term
16ae40 20 73 69 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b .signal.can.not.be.retrieved.');
16ae60 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 .}..return.$this->processInforma
16ae80 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 tion['termsig'];.}...........pub
16aea0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 6e 53 74 6f 70 70 65 64 28 29 0a 7b 0a lic.function.hasBeenStopped().{.
16aec0 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 $this->requireProcessIsTerminate
16aee0 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e d(__FUNCTION__);..return.$this->
16af00 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 74 6f 70 70 65 64 27 5d 3b 0a 7d processInformation['stopped'];.}
16af20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 ...........public.function.getSt
16af40 6f 70 53 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 opSignal().{.$this->requireProce
16af60 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 ssIsTerminated(__FUNCTION__);..r
16af80 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b eturn.$this->processInformation[
16afa0 27 73 74 6f 70 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 'stopsig'];.}.......public.funct
16afc0 69 6f 6e 20 69 73 52 75 6e 6e 69 6e 67 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 ion.isRunning().{.if.(self::STAT
16afe0 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a US_STARTED.!==.$this->status).{.
16b000 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 return.false;.}..$this->updateSt
16b020 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 atus(false);..return.$this->proc
16b040 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e 69 6e 67 27 5d 3b 0a 7d 0a 0a 0a 0a essInformation['running'];.}....
16b060 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 74 61 72 74 65 64 28 29 0a 7b ...public.function.isStarted().{
16b080 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 20 21 3d 20 24 74 .return.self::STATUS_READY.!=.$t
16b0a0 68 69 73 2d 3e 73 74 61 74 75 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his->status;.}.......public.func
16b0c0 74 69 6f 6e 20 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 tion.isTerminated().{.$this->upd
16b0e0 61 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ateStatus(false);..return.self::
16b100 53 54 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 20 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 STATUS_TERMINATED.==.$this->stat
16b120 75 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 us;.}.........public.function.ge
16b140 74 53 74 61 74 75 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 tStatus().{.$this->updateStatus(
16b160 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 3b 0a 7d false);..return.$this->status;.}
16b180 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 ..........public.function.stop($
16b1a0 74 69 6d 65 6f 75 74 20 3d 20 31 30 2c 20 24 73 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a timeout.=.10,.$signal.=.null).{.
16b1c0 24 74 69 6d 65 6f 75 74 4d 69 63 72 6f 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 $timeoutMicro.=.microtime(true).
16b1e0 2b 20 24 74 69 6d 65 6f 75 74 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 +.$timeout;.if.($this->isRunning
16b200 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 31 35 2c 20 66 61 6c 73 ()).{...$this->doSignal(15,.fals
16b220 65 29 3b 0a 64 6f 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 29 3b 0a 7d 20 77 68 69 6c 65 20 28 e);.do.{.usleep(1000);.}.while.(
16b240 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 26 26 20 6d 69 63 72 6f 74 69 6d 65 28 $this->isRunning().&&.microtime(
16b260 74 72 75 65 29 20 3c 20 24 74 69 6d 65 6f 75 74 4d 69 63 72 6f 29 3b 0a 0a 69 66 20 28 24 74 68 true).<.$timeoutMicro);..if.($th
16b280 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 64 6f is->isRunning()).{.....$this->do
16b2a0 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 20 3f 3a 20 39 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d Signal($signal.?:.9,.false);.}.}
16b2c0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 69 66 20 28 ..if.($this->isRunning()).{.if.(
16b2e0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 70 69 64 isset($this->fallbackStatus['pid
16b300 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 '])).{.unset($this->fallbackStat
16b320 75 73 5b 27 70 69 64 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 6f 70 28 us['pid']);..return.$this->stop(
16b340 30 2c 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0,.$signal);.}.$this->close();.}
16b360 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a ..return.$this->exitcode;.}.....
16b380 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 75 74 70 75 74 28 24 6c ....public.function.addOutput($l
16b3a0 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d ine).{.$this->lastOutputTime.=.m
16b3c0 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 icrotime(true);..fseek($this->st
16b3e0 64 6f 75 74 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 dout,.0,.SEEK_END);.fwrite($this
16b400 2d 3e 73 74 64 6f 75 74 2c 20 24 6c 69 6e 65 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 ->stdout,.$line);.fseek($this->s
16b420 74 64 6f 75 74 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f tdout,.$this->incrementalOutputO
16b440 66 66 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ffset);.}.........public.functio
16b460 6e 20 61 64 64 45 72 72 6f 72 4f 75 74 70 75 74 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d n.addErrorOutput($line).{.$this-
16b480 3e 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 >lastOutputTime.=.microtime(true
16b4a0 29 3b 0a 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 2c 20 53 45 45 4b );..fseek($this->stderr,.0,.SEEK
16b4c0 5f 45 4e 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 6c 69 _END);.fwrite($this->stderr,.$li
16b4e0 6e 65 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 74 68 69 73 2d ne);.fseek($this->stderr,.$this-
16b500 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a >incrementalErrorOutputOffset);.
16b520 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 }.......public.function.getComma
16b540 6e 64 4c 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 ndLine().{.return.$this->command
16b560 6c 69 6e 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 line;.}.........public.function.
16b580 73 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 29 0a 7b 0a 24 setCommandLine($commandline).{.$
16b5a0 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 this->commandline.=.$commandline
16b5c0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
16b5e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getTimeout().{.return.$
16b600 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->timeout;.}.......public.fu
16b620 6e 63 74 69 6f 6e 20 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e nction.getIdleTimeout().{.return
16b640 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$this->idleTimeout;.}..........
16b660 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 ...public.function.setTimeout($t
16b680 69 6d 65 6f 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 68 69 73 imeout).{.$this->timeout.=.$this
16b6a0 2d 3e 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 0a 72 65 ->validateTimeout($timeout);..re
16b6c0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 turn.$this;.}..............publi
16b6e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f c.function.setIdleTimeout($timeo
16b700 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 6f 75 74 20 26 26 20 24 ut).{.if.(null.!==.$timeout.&&.$
16b720 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 this->outputDisabled).{.throw.ne
16b740 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 64 6c 65 20 74 69 6d 65 6f 75 74 20 63 w.LogicException('Idle.timeout.c
16b760 61 6e 20 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 an.not.be.set.while.the.output.i
16b780 73 20 64 69 73 61 62 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d s.disabled.');.}..$this->idleTim
16b7a0 65 6f 75 74 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 eout.=.$this->validateTimeout($t
16b7c0 69 6d 65 6f 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a imeout);..return.$this;.}.......
16b7e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 74 79 28 24 74 74 79 29 ....public.function.setTty($tty)
16b800 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 .{.if.('\\'.===.DIRECTORY_SEPARA
16b820 54 4f 52 20 26 26 20 24 74 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 TOR.&&.$tty).{.throw.new.Runtime
16b840 45 78 63 65 70 74 69 6f 6e 28 27 54 54 59 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 73 75 70 70 6f Exception('TTY.mode.is.not.suppo
16b860 72 74 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 27 29 3b 0a 7d 0a 69 rted.on.Windows.platform.');.}.i
16b880 66 20 28 24 74 74 79 29 20 7b 0a 73 74 61 74 69 63 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 f.($tty).{.static.$isTtySupporte
16b8a0 64 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 d;..if.(null.===.$isTtySupported
16b8c0 29 20 7b 0a 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 ).{.$isTtySupported.=.(bool).@pr
16b8e0 6f 63 5f 6f 70 65 6e 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 oc_open('echo.1.>/dev/null',.arr
16b900 61 79 28 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 27 ay(array('file',.'/dev/tty',.'r'
16b920 29 2c 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 ),.array('file',.'/dev/tty',.'w'
16b940 29 2c 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 ),.array('file',.'/dev/tty',.'w'
16b960 29 29 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 54 74 79 53 75 70 70 6f )),.$pipes);.}..if.(!$isTtySuppo
16b980 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 rted).{.throw.new.RuntimeExcepti
16b9a0 6f 6e 28 27 54 54 59 20 6d 6f 64 65 20 72 65 71 75 69 72 65 73 20 2f 64 65 76 2f 74 74 79 20 74 on('TTY.mode.requires./dev/tty.t
16b9c0 6f 20 62 65 20 72 65 61 64 2f 77 72 69 74 61 62 6c 65 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 o.be.read/writable.');.}.}..$thi
16b9e0 73 2d 3e 74 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 74 74 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 s->tty.=.(bool).$tty;..return.$t
16ba00 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 his;.}.......public.function.isT
16ba20 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 74 79 3b 0a 7d 0a 0a 0a 0a 0a ty().{.return.$this->tty;.}.....
16ba40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 74 79 28 24 62 6f 6f 6c ....public.function.setPty($bool
16ba60 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 3b 0a 0a ).{.$this->pty.=.(bool).$bool;..
16ba80 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$this;.}.......public.fun
16baa0 63 74 69 6f 6e 20 69 73 50 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 74 ction.isPty().{.return.$this->pt
16bac0 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 6f y;.}.......public.function.getWo
16bae0 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 rkingDirectory().{.if.(null.===.
16bb00 24 74 68 69 73 2d 3e 63 77 64 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 67 65 74 63 77 64 28 $this->cwd).{.....return.getcwd(
16bb20 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 77 64 3b ).?:.null;.}..return.$this->cwd;
16bb40 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 6f .}.........public.function.setWo
16bb60 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 77 rkingDirectory($cwd).{.$this->cw
16bb80 64 20 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a d.=.$cwd;..return.$this;.}......
16bba0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 28 29 0a 7b 0a 72 65 74 75 .public.function.getEnv().{.retu
16bbc0 72 6e 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 rn.$this->env;.}...............p
16bbe0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 61 72 72 61 79 20 24 65 6e 76 ublic.function.setEnv(array.$env
16bc00 29 0a 7b 0a 0a 20 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 65 6e 76 2c 20 ).{...$env.=.array_filter($env,.
16bc20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 21 69 73 5f 61 function.($value).{.return.!is_a
16bc40 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 rray($value);.});..$this->env.=.
16bc60 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 76 20 61 73 20 24 6b 65 79 20 3d array();.foreach.($env.as.$key.=
16bc80 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 24 6b 65 79 5d 20 3d 20 28 >.$value).{.$this->env[$key].=.(
16bca0 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b string).$value;.}..return.$this;
16bcc0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .}...........public.function.get
16bce0 53 74 64 69 6e 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e Stdin().{.@trigger_error('The.'.
16bd00 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 __METHOD__.'.method.is.deprecate
16bd20 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.5.and.will.be.
16bd40 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 67 65 74 49 6e 70 75 74 removed.in.3.0..Use.the.getInput
16bd60 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 ().method.instead.',.E_USER_DEPR
16bd80 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 ECATED);..return.$this->getInput
16bda0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 ();.}.......public.function.getI
16bdc0 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a nput().{.return.$this->input;.}.
16bde0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ..............public.function.se
16be00 74 53 74 64 69 6e 28 24 73 74 64 69 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 tStdin($stdin).{.@trigger_error(
16be20 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 'The.'.__METHOD__.'.method.is.de
16be40 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 precated.since.Symfony.2.5.and.w
16be60 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 ill.be.removed.in.3.0..Use.the.s
16be80 65 74 49 6e 70 75 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 etInput().method.instead.',.E_US
16bea0 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 ER_DEPRECATED);..return.$this->s
16bec0 65 74 49 6e 70 75 74 28 24 73 74 64 69 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a etInput($stdin);.}..............
16bee0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 .public.function.setInput($input
16bf00 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 ).{.if.($this->isRunning()).{.th
16bf20 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 75 74 20 63 61 row.new.LogicException('Input.ca
16bf40 6e 20 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 n.not.be.set.while.the.process.i
16bf60 73 20 72 75 6e 6e 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 s.running.');.}..$this->input.=.
16bf80 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 5f 5f 4d 45 ProcessUtils::validateInput(__ME
16bfa0 54 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a THOD__,.$input);..return.$this;.
16bfc0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f }.......public.function.getOptio
16bfe0 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a ns().{.return.$this->options;.}.
16c000 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f ........public.function.setOptio
16c020 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 ns(array.$options).{.$this->opti
16c040 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ons.=.$options;..return.$this;.}
16c060 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 .........public.function.getEnha
16c080 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 nceWindowsCompatibility().{.retu
16c0a0 72 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 rn.$this->enhanceWindowsCompatib
16c0c0 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ility;.}.........public.function
16c0e0 20 73 65 74 45 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 .setEnhanceWindowsCompatibility(
16c100 24 65 6e 68 61 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 $enhance).{.$this->enhanceWindow
16c120 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 sCompatibility.=.(bool).$enhance
16c140 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
16c160 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 function.getEnhanceSigchildCompa
16c180 74 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e tibility().{.return.$this->enhan
16c1a0 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a ceSigchildCompatibility;.}......
16c1c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 68 61 6e 63 .......public.function.setEnhanc
16c1e0 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 24 65 6e 68 61 6e 63 65 29 eSigchildCompatibility($enhance)
16c200 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 .{.$this->enhanceSigchildCompati
16c220 62 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 3b 0a 0a 72 65 74 75 72 bility.=.(bool).$enhance;..retur
16c240 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.$this;.}..........public.funct
16c260 69 6f 6e 20 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 ion.checkTimeout().{.if.(self::S
16c280 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 TATUS_STARTED.!==.$this->status)
16c2a0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 .{.return;.}..if.(null.!==.$this
16c2c0 2d 3e 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3c 20 6d 69 ->timeout.&&.$this->timeout.<.mi
16c2e0 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 crotime(true).-.$this->starttime
16c300 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 ).{.$this->stop(0);..throw.new.P
16c320 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2c 20 50 rocessTimedOutException($this,.P
16c340 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 3a 3a 54 59 50 45 5f 47 45 rocessTimedOutException::TYPE_GE
16c360 4e 45 52 41 4c 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 NERAL);.}..if.(null.!==.$this->i
16c380 64 6c 65 54 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 dleTimeout.&&.$this->idleTimeout
16c3a0 20 3c 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 6c 61 73 74 .<.microtime(true).-.$this->last
16c3c0 4f 75 74 70 75 74 54 69 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 OutputTime).{.$this->stop(0);..t
16c3e0 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f hrow.new.ProcessTimedOutExceptio
16c400 6e 28 24 74 68 69 73 2c 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f n($this,.ProcessTimedOutExceptio
16c420 6e 3a 3a 54 59 50 45 5f 49 44 4c 45 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n::TYPE_IDLE);.}.}.......public.
16c440 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 74 79 53 75 70 70 6f 72 74 65 64 28 29 static.function.isPtySupported()
16c460 0a 7b 0a 73 74 61 74 69 63 20 24 72 65 73 75 6c 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d .{.static.$result;..if.(null.!==
16c480 20 24 72 65 73 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 .$result).{.return.$result;.}..i
16c4a0 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 f.('\\'.===.DIRECTORY_SEPARATOR)
16c4c0 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 .{.return.$result.=.false;.}..re
16c4e0 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 6f 63 5f 6f 70 65 6e turn.$result.=.(bool).@proc_open
16c500 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 61 79 28 61 72 72 61 ('echo.1.>/dev/null',.array(arra
16c520 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 70 y('pty'),.array('pty'),.array('p
16c540 74 79 27 29 29 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ty')),.$pipes);.}.......private.
16c560 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 function.getDescriptors().{.if.(
16c580 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a '\\'.===.DIRECTORY_SEPARATOR).{.
16c5a0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 3d 20 57 69 6e 64 6f 77 73 50 69 70 $this->processPipes.=.WindowsPip
16c5c0 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 29 3b es::create($this,.$this->input);
16c5e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 3d 20 .}.else.{.$this->processPipes.=.
16c600 55 6e 69 78 50 69 70 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e UnixPipes::create($this,.$this->
16c620 69 6e 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 input);.}..return.$this->process
16c640 50 69 70 65 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a Pipes->getDescriptors();.}......
16c660 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 61 ......protected.function.buildCa
16c680 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 69 llback($callback).{.$that.=.$thi
16c6a0 73 3b 0a 24 6f 75 74 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d s;.$out.=.self::OUT;.$callback.=
16c6c0 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 24 74 .function.($type,.$data).use.($t
16c6e0 68 61 74 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 6f 75 74 29 20 7b 0a 69 66 20 28 24 6f 75 74 hat,.$callback,.$out).{.if.($out
16c700 20 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 4f 75 74 70 75 74 28 24 64 .==.$type).{.$that->addOutput($d
16c720 61 74 61 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 45 72 72 6f 72 4f 75 ata);.}.else.{.$that->addErrorOu
16c740 74 70 75 74 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 tput($data);.}..if.(null.!==.$ca
16c760 6c 6c 62 61 63 6b 29 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c 6c 62 61 llback).{.call_user_func($callba
16c780 63 6b 2c 20 24 74 79 70 65 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 ck,.$type,.$data);.}.};..return.
16c7a0 24 63 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e $callback;.}.......protected.fun
16c7c0 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 74 75 73 28 24 62 6c 6f 63 6b 69 6e 67 29 0a 7b 0a ction.updateStatus($blocking).{.
16c7e0 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 if.(self::STATUS_STARTED.!==.$th
16c800 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e is->status).{.return;.}..$this->
16c820 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 70 72 6f 63 5f 67 65 74 5f 73 74 processInformation.=.proc_get_st
16c840 61 74 75 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 72 75 6e 6e 69 6e 67 20 3d atus($this->process);.$running.=
16c860 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e .$this->processInformation['runn
16c880 69 6e 67 27 5d 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e 6e 69 6e ing'];..$this->readPipes($runnin
16c8a0 67 20 26 26 20 24 62 6c 6f 63 6b 69 6e 67 2c 20 27 5c 5c 27 20 21 3d 3d 20 44 49 52 45 43 54 4f g.&&.$blocking,.'\\'.!==.DIRECTO
16c8c0 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e 69 6e 67 29 3b 0a 0a 69 66 20 RY_SEPARATOR.||.!$running);..if.
16c8e0 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 26 26 20 24 74 68 69 73 2d ($this->fallbackStatus.&&.$this-
16c900 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 >enhanceSigchildCompatibility.&&
16c920 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 .$this->isSigchildEnabled()).{.$
16c940 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 this->processInformation.=.$this
16c960 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 2b 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ->fallbackStatus.+.$this->proces
16c980 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 75 6e 6e 69 6e 67 29 20 sInformation;.}..if.(!$running).
16c9a0 7b 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 {.$this->close();.}.}.......prot
16c9c0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 ected.function.isSigchildEnabled
16c9e0 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c ().{.if.(null.!==.self::$sigchil
16ca00 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 3b 0a 7d 0a 0a d).{.return.self::$sigchild;.}..
16ca20 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 69 6e 66 6f 27 29 20 if.(!function_exists('phpinfo').
16ca40 7c 7c 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 ||.defined('HHVM_VERSION')).{.re
16ca60 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a turn.self::$sigchild.=.false;.}.
16ca80 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 70 68 70 69 6e 66 6f 28 49 4e 46 4f 5f 47 45 4e 45 52 41 .ob_start();.phpinfo(INFO_GENERA
16caa0 4c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 20 3d 20 66 61 L);..return.self::$sigchild.=.fa
16cac0 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 2c 20 27 lse.!==.strpos(ob_get_clean(),.'
16cae0 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 --enable-sigchild');.}.........p
16cb00 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 74 70 rivate.function.readPipesForOutp
16cb20 75 74 28 24 63 61 6c 6c 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 ut($caller).{.if.($this->outputD
16cb40 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 isabled).{.throw.new.LogicExcept
16cb60 69 6f 6e 28 27 4f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2e 27 29 ion('Output.has.been.disabled.')
16cb80 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 53 74 61 72 ;.}..$this->requireProcessIsStar
16cba0 74 65 64 28 24 63 61 6c 6c 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 ted($caller);..$this->updateStat
16cbc0 75 73 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 us(false);.}...........private.f
16cbe0 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 unction.validateTimeout($timeout
16cc00 29 0a 7b 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d 65 6f 75 74 3b ).{.$timeout.=.(float).$timeout;
16cc20 0a 0a 69 66 20 28 30 2e 30 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 74 69 6d 65 6f ..if.(0.0.===.$timeout).{.$timeo
16cc40 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3c 20 ut.=.null;.}.elseif.($timeout.<.
16cc60 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 0).{.throw.new.InvalidArgumentEx
16cc80 63 65 70 74 69 6f 6e 28 27 54 68 65 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 6d 75 73 74 20 ception('The.timeout.value.must.
16cca0 62 65 20 61 20 76 61 6c 69 64 20 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 20 6f 72 20 66 be.a.valid.positive.integer.or.f
16ccc0 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 69 6d 65 6f loat.number.');.}..return.$timeo
16cce0 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 ut;.}........private.function.re
16cd00 61 64 50 69 70 65 73 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 29 0a 7b 0a 24 72 65 adPipes($blocking,.$close).{.$re
16cd20 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 72 65 61 64 sult.=.$this->processPipes->read
16cd40 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 29 3b 0a 0a 24 63 AndWrite($blocking,.$close);..$c
16cd60 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 3b 0a 66 6f 72 65 61 allback.=.$this->callback;.forea
16cd80 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 64 61 74 61 29 20 7b ch.($result.as.$type.=>.$data).{
16cda0 0a 69 66 20 28 33 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 63 61 6c 6c 62 61 63 6b 28 73 65 .if.(3.!==.$type).{.$callback(se
16cdc0 6c 66 3a 3a 53 54 44 4f 55 54 20 3d 3d 3d 20 24 74 79 70 65 20 3f 20 73 65 6c 66 3a 3a 4f 55 54 lf::STDOUT.===.$type.?.self::OUT
16cde0 20 3a 20 73 65 6c 66 3a 3a 45 52 52 2c 20 24 64 61 74 61 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 .:.self::ERR,.$data);.}.elseif.(
16ce00 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 73 69 !isset($this->fallbackStatus['si
16ce20 67 6e 61 6c 65 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 gnaled'])).{.$this->fallbackStat
16ce40 75 73 5b 27 65 78 69 74 63 6f 64 65 27 5d 20 3d 20 28 69 6e 74 29 20 24 64 61 74 61 3b 0a 7d 0a us['exitcode'].=.(int).$data;.}.
16ce60 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 }.}.......private.function.close
16ce80 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 63 6c 6f 73 65 28 ().{.$this->processPipes->close(
16cea0 29 3b 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 );.if.(is_resource($this->proces
16cec0 73 29 29 20 7b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 s)).{.proc_close($this->process)
16cee0 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f ;.}.$this->exitcode.=.$this->pro
16cf00 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 27 5d 3b 0a 24 74 68 cessInformation['exitcode'];.$th
16cf20 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 54 45 52 4d 49 4e is->status.=.self::STATUS_TERMIN
16cf40 41 54 45 44 3b 0a 0a 69 66 20 28 2d 31 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 ATED;..if.(-1.===.$this->exitcod
16cf60 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 e).{.if.($this->processInformati
16cf80 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 30 20 3c 20 24 74 68 69 73 2d 3e 70 72 6f on['signaled'].&&.0.<.$this->pro
16cfa0 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 29 20 7b 0a 0a 20 cessInformation['termsig']).{...
16cfc0 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 31 32 38 20 2b 20 24 74 68 69 73 2d 3e 70 $this->exitcode.=.128.+.$this->p
16cfe0 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 3b 0a 7d 20 rocessInformation['termsig'];.}.
16d000 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f elseif.($this->enhanceSigchildCo
16d020 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 mpatibility.&&.$this->isSigchild
16d040 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 Enabled()).{.$this->processInfor
16d060 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 mation['signaled'].=.true;.$this
16d080 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 20 ->processInformation['termsig'].
16d0a0 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b =.-1;.}.}........$this->callback
16d0c0 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 .=.null;..return.$this->exitcode
16d0e0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 50 72 ;.}.....private.function.resetPr
16d100 6f 63 65 73 73 44 61 74 61 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 20 3d ocessData().{.$this->starttime.=
16d120 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 3b 0a 24 .null;.$this->callback.=.null;.$
16d140 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 66 61 this->exitcode.=.null;.$this->fa
16d160 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 70 llbackStatus.=.array();.$this->p
16d180 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d rocessInformation.=.null;.$this-
16d1a0 3e 73 74 64 6f 75 74 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 74 65 6d 70 2f 6d 61 78 6d >stdout.=.fopen('php://temp/maxm
16d1c0 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 29 2c 20 27 77 62 2b 27 29 3b 0a 24 emory:'.(1024.*.1024),.'wb+');.$
16d1e0 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 74 65 6d 70 this->stderr.=.fopen('php://temp
16d200 2f 6d 61 78 6d 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 29 2c 20 27 77 62 2b /maxmemory:'.(1024.*.1024),.'wb+
16d220 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 ');.$this->process.=.null;.$this
16d240 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 73 74 ->latestSignal.=.null;.$this->st
16d260 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 24 74 68 69 73 atus.=.self::STATUS_READY;.$this
16d280 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 24 ->incrementalOutputOffset.=.0;.$
16d2a0 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 this->incrementalErrorOutputOffs
16d2c0 65 74 20 3d 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 et.=.0;.}..............private.f
16d2e0 75 6e 63 74 69 6f 6e 20 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c 20 24 74 68 72 6f 77 unction.doSignal($signal,.$throw
16d300 45 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 69 64 20 3d Exception).{.if.(null.===.$pid.=
16d320 20 24 74 68 69 73 2d 3e 67 65 74 50 69 64 28 29 29 20 7b 0a 69 66 20 28 24 74 68 72 6f 77 45 78 .$this->getPid()).{.if.($throwEx
16d340 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 ception).{.throw.new.LogicExcept
16d360 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 73 65 6e 64 20 73 69 67 6e 61 6c 20 6f 6e 20 61 20 6e 6f ion('Can.not.send.signal.on.a.no
16d380 6e 20 72 75 6e 6e 69 6e 67 20 70 72 6f 63 65 73 73 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 n.running.process.');.}..return.
16d3a0 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 false;.}..if.('\\'.===.DIRECTORY
16d3c0 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 74 61 73 6b _SEPARATOR).{.exec(sprintf('task
16d3e0 6b 69 6c 6c 20 2f 46 20 2f 54 20 2f 50 49 44 20 25 64 20 32 3e 26 31 27 2c 20 24 70 69 64 29 2c kill./F./T./PID.%d.2>&1',.$pid),
16d400 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 69 66 20 28 24 65 78 69 74 43 .$output,.$exitCode);.if.($exitC
16d420 6f 64 65 20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 69 66 20 ode.&&.$this->isRunning()).{.if.
16d440 28 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 ($throwException).{.throw.new.Ru
16d460 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 ntimeException(sprintf('Unable.t
16d480 6f 20 6b 69 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 25 73 29 2e 27 2c 20 69 6d 70 6c 6f o.kill.the.process.(%s).',.implo
16d4a0 64 65 28 27 20 27 2c 20 24 6f 75 74 70 75 74 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 de('.',.$output)));.}..return.fa
16d4c0 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 lse;.}.}.else.{.if.(!$this->enha
16d4e0 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 7c 7c 20 21 24 74 68 nceSigchildCompatibility.||.!$th
16d500 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 6f 6b 20 3d is->isSigchildEnabled()).{.$ok.=
16d520 20 40 70 72 6f 63 5f 74 65 72 6d 69 6e 61 74 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c .@proc_terminate($this->process,
16d540 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 .$signal);.}.elseif.(function_ex
16d560 69 73 74 73 28 27 70 6f 73 69 78 5f 6b 69 6c 6c 27 29 29 20 7b 0a 24 6f 6b 20 3d 20 40 70 6f 73 ists('posix_kill')).{.$ok.=.@pos
16d580 69 78 5f 6b 69 6c 6c 28 24 70 69 64 2c 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 ix_kill($pid,.$signal);.}.elseif
16d5a0 20 28 24 6f 6b 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 73 70 72 69 6e 74 66 28 27 6b 69 6c 6c 20 .($ok.=.proc_open(sprintf('kill.
16d5c0 2d 25 64 20 25 64 27 2c 20 24 73 69 67 6e 61 6c 2c 20 24 70 69 64 29 2c 20 61 72 72 61 79 28 32 -%d.%d',.$signal,.$pid),.array(2
16d5e0 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 2c 20 24 70 69 70 65 73 29 .=>.array('pipe',.'w')),.$pipes)
16d600 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 66 67 65 74 73 28 24 70 69 70 65 73 ).{.$ok.=.false.===.fgets($pipes
16d620 5b 32 5d 29 3b 0a 7d 0a 69 66 20 28 21 24 6f 6b 29 20 7b 0a 69 66 20 28 24 74 68 72 6f 77 45 78 [2]);.}.if.(!$ok).{.if.($throwEx
16d640 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 ception).{.throw.new.RuntimeExce
16d660 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 45 72 72 6f 72 20 77 68 69 6c 65 20 73 65 6e 64 69 ption(sprintf('Error.while.sendi
16d680 6e 67 20 73 69 67 6e 61 6c 20 60 25 73 60 2e 27 2c 20 24 73 69 67 6e 61 6c 29 29 3b 0a 7d 0a 0a ng.signal.`%s`.',.$signal));.}..
16d6a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6c 61 74 65 73 74 return.false;.}.}..$this->latest
16d6c0 53 69 67 6e 61 6c 20 3d 20 28 69 6e 74 29 20 24 73 69 67 6e 61 6c 3b 0a 24 74 68 69 73 2d 3e 66 Signal.=.(int).$signal;.$this->f
16d6e0 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 3d 20 74 72 75 65 allbackStatus['signaled'].=.true
16d700 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 65 78 69 74 63 6f 64 ;.$this->fallbackStatus['exitcod
16d720 65 27 5d 20 3d 20 2d 31 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b e'].=.-1;.$this->fallbackStatus[
16d740 27 74 65 72 6d 73 69 67 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 'termsig'].=.$this->latestSignal
16d760 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ;..return.true;.}.........privat
16d780 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 53 74 61 72 74 e.function.requireProcessIsStart
16d7a0 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e ed($functionName).{.if.(!$this->
16d7c0 69 73 53 74 61 72 74 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 isStarted()).{.throw.new.LogicEx
16d7e0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 72 6f 63 65 73 73 20 6d 75 73 74 20 62 65 ception(sprintf('Process.must.be
16d800 20 73 74 61 72 74 65 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 25 73 2e 27 2c 20 24 66 .started.before.calling.%s.',.$f
16d820 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 unctionName));.}.}.........priva
16d840 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d te.function.requireProcessIsTerm
16d860 69 6e 61 74 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 inated($functionName).{.if.(!$th
16d880 69 73 2d 3e 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 is->isTerminated()).{.throw.new.
16d8a0 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 72 6f 63 65 73 73 20 LogicException(sprintf('Process.
16d8c0 6d 75 73 74 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e must.be.terminated.before.callin
16d8e0 67 20 25 73 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c g.%s.',.$functionName));.}.}.}.<
16d900 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
16d920 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 \Component\Process;..use.Symfony
16d940 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 \Component\Process\Exception\Inv
16d960 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f alidArgumentException;.use.Symfo
16d980 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 4c ny\Component\Process\Exception\L
16d9a0 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 ogicException;.....class.Process
16d9c0 42 75 69 6c 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 70 72 Builder.{.private.$arguments;.pr
16d9e0 69 76 61 74 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 20 3d 20 61 72 72 61 79 ivate.$cwd;.private.$env.=.array
16da00 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d ();.private.$input;.private.$tim
16da20 65 6f 75 74 20 3d 20 36 30 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 eout.=.60;.private.$options.=.ar
16da40 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 68 65 72 69 74 45 6e 76 20 3d 20 74 72 75 ray();.private.$inheritEnv.=.tru
16da60 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 e;.private.$prefix.=.array();.pr
16da80 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a ivate.$outputDisabled.=.false;..
16daa0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 ...public.function.__construct(a
16dac0 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 rray.$arguments.=.array()).{.$th
16dae0 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a 0a 0a is->arguments.=.$arguments;.}...
16db00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 ......public.static.function.cre
16db20 61 74 65 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a ate(array.$arguments.=.array()).
16db40 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 61 72 67 75 6d 65 6e 74 73 29 3b {.return.new.static($arguments);
16db60 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 .}.........public.function.add($
16db80 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d argument).{.$this->arguments[].=
16dba0 20 24 61 72 67 75 6d 65 6e 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a .$argument;..return.$this;.}....
16dbc0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 69 78 .......public.function.setPrefix
16dbe0 28 24 70 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 20 3d 20 69 73 5f 61 ($prefix).{.$this->prefix.=.is_a
16dc00 72 72 61 79 28 24 70 72 65 66 69 78 29 20 3f 20 24 70 72 65 66 69 78 20 3a 20 61 72 72 61 79 28 rray($prefix).?.$prefix.:.array(
16dc20 24 70 72 65 66 69 78 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a $prefix);..return.$this;.}......
16dc40 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e ......public.function.setArgumen
16dc60 74 73 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 ts(array.$arguments).{.$this->ar
16dc80 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 guments.=.$arguments;..return.$t
16dca0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 his;.}.........public.function.s
16dcc0 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 64 29 0a 7b 0a 24 74 68 69 73 etWorkingDirectory($cwd).{.$this
16dce0 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ->cwd.=.$cwd;..return.$this;.}..
16dd00 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 68 65 72 69 74 45 6e .......public.function.inheritEn
16dd20 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 24 69 6e 68 65 72 69 74 45 6e 76 20 3d vironmentVariables($inheritEnv.=
16dd40 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 74 45 6e 76 20 3d 20 24 69 6e .true).{.$this->inheritEnv.=.$in
16dd60 68 65 72 69 74 45 6e 76 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a heritEnv;..return.$this;.}......
16dd80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 24 6e .......public.function.setEnv($n
16dda0 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 24 6e 61 6d 65 5d ame,.$value).{.$this->env[$name]
16ddc0 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a .=.$value;..return.$this;.}.....
16dde0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 6e 76 69 72 ........public.function.addEnvir
16de00 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 61 72 72 61 79 20 24 76 61 72 69 61 62 6c 65 73 onmentVariables(array.$variables
16de20 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 28 24 ).{.$this->env.=.array_replace($
16de40 74 68 69 73 2d 3e 65 6e 76 2c 20 24 76 61 72 69 61 62 6c 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 this->env,.$variables);..return.
16de60 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $this;.}.............public.func
16de80 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 tion.setInput($input).{.$this->i
16dea0 6e 70 75 74 20 3d 20 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 61 6c 69 64 61 74 65 49 6e 70 nput.=.ProcessUtils::validateInp
16dec0 75 74 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 ut(__METHOD__,.$input);..return.
16dee0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $this;.}.............public.func
16df00 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 0a 7b 0a 69 66 20 28 tion.setTimeout($timeout).{.if.(
16df20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 null.===.$timeout).{.$this->time
16df40 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 24 74 out.=.null;..return.$this;.}..$t
16df60 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 69 66 20 28 imeout.=.(float).$timeout;..if.(
16df80 24 74 69 6d 65 6f 75 74 20 3c 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 $timeout.<.0).{.throw.new.Invali
16dfa0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 74 69 6d 65 6f 75 74 20 dArgumentException('The.timeout.
16dfc0 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 70 6f 73 69 74 69 76 65 20 69 value.must.be.a.valid.positive.i
16dfe0 6e 74 65 67 65 72 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 nteger.or.float.number.');.}..$t
16e000 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 72 65 74 75 72 6e his->timeout.=.$timeout;..return
16e020 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$this;.}..........public.functi
16e040 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 on.setOption($name,.$value).{.$t
16e060 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 72 his->options[$name].=.$value;..r
16e080 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
16e0a0 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 tion.disableOutput().{.$this->ou
16e0c0 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 tputDisabled.=.true;..return.$th
16e0e0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 is;.}.......public.function.enab
16e100 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c leOutput().{.$this->outputDisabl
16e120 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a ed.=.false;..return.$this;.}....
16e140 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 .....public.function.getProcess(
16e160 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 ).{.if.(0.===.count($this->prefi
16e180 78 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e x).&&.0.===.count($this->argumen
16e1a0 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 ts)).{.throw.new.LogicException(
16e1c0 27 59 6f 75 20 6d 75 73 74 20 61 64 64 28 29 20 63 6f 6d 6d 61 6e 64 20 61 72 67 75 6d 65 6e 74 'You.must.add().command.argument
16e1e0 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 67 65 74 50 72 6f 63 65 73 73 28 29 2e 27 29 s.before.calling.getProcess().')
16e200 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a ;.}..$options.=.$this->options;.
16e220 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d .$arguments.=.array_merge($this-
16e240 3e 70 72 65 66 69 78 2c 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 24 73 63 72 >prefix,.$this->arguments);.$scr
16e260 69 70 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 ipt.=.implode('.',.array_map(arr
16e280 61 79 28 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 5c 50 72 6f 63 65 73 73 55 74 69 6c 73 ay(__NAMESPACE__.'\\ProcessUtils
16e2a0 27 2c 20 27 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 27 29 2c 20 24 61 72 67 75 6d 65 6e 74 73 ',.'escapeArgument'),.$arguments
16e2c0 29 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 74 45 6e 76 29 20 7b 0a 0a 20 ));..if.($this->inheritEnv).{...
16e2e0 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 28 24 5f 45 4e 56 2c 20 24 5f 53 45 $env.=.array_replace($_ENV,.$_SE
16e300 52 56 45 52 2c 20 24 74 68 69 73 2d 3e 65 6e 76 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 6e 76 RVER,.$this->env);.}.else.{.$env
16e320 20 3d 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 .=.$this->env;.}..$process.=.new
16e340 20 50 72 6f 63 65 73 73 28 24 73 63 72 69 70 74 2c 20 24 74 68 69 73 2d 3e 63 77 64 2c 20 24 65 .Process($script,.$this->cwd,.$e
16e360 6e 76 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 nv,.$this->input,.$this->timeout
16e380 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 ,.$options);..if.($this->outputD
16e3a0 69 73 61 62 6c 65 64 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 isabled).{.$process->disableOutp
16e3c0 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f ut();.}..return.$process;.}.}.<?
16e3e0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
16e400 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c Component\Process;..use.Symfony\
16e420 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 Component\Process\Exception\Inva
16e440 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c lidArgumentException;.........cl
16e460 61 73 73 20 50 72 6f 63 65 73 73 55 74 69 6c 73 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 ass.ProcessUtils.{....private.fu
16e480 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a nction.__construct().{.}........
16e4a0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 41 72 .public.static.function.escapeAr
16e4c0 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 gument($argument).{.........if.(
16e4e0 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a '\\'.===.DIRECTORY_SEPARATOR).{.
16e500 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 65 if.(''.===.$argument).{.return.e
16e520 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 65 73 scapeshellarg($argument);.}..$es
16e540 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b 0a 24 71 75 6f 74 65 20 3d 20 66 61 6c capedArgument.=.'';.$quote.=.fal
16e560 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 28 22 29 2f 27 2c se;.foreach.(preg_split('/(")/',
16e580 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d .$argument,.-1,.PREG_SPLIT_NO_EM
16e5a0 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f 44 45 4c 49 4d 5f 43 41 50 54 55 52 45 29 20 PTY.|.PREG_SPLIT_DELIM_CAPTURE).
16e5c0 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 22 27 20 3d 3d 3d 20 24 70 61 72 74 29 20 7b as.$part).{.if.('"'.===.$part).{
16e5e0 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c .$escapedArgument..=.'\\"';.}.el
16e600 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 70 61 72 74 seif.(self::isSurroundedBy($part
16e620 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 ,.'%')).{...$escapedArgument..=.
16e640 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 31 2c 20 2d 31 29 2e 27 22 5e 25 27 '^%"'.substr($part,.1,.-1).'"^%'
16e660 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 73 75 62 73 74 72 ;.}.else.{...if.('\\'.===.substr
16e680 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 61 72 74 20 2e 3d 20 27 5c 5c 27 3b 0a 7d 0a ($part,.-1)).{.$part..=.'\\';.}.
16e6a0 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 $quote.=.true;.$escapedArgument.
16e6c0 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 28 24 71 75 6f 74 65 29 20 7b 0a 24 65 73 63 .=.$part;.}.}.if.($quote).{.$esc
16e6e0 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 27 2e 24 65 73 63 61 70 65 64 41 72 67 75 6d apedArgument.=.'"'.$escapedArgum
16e700 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 73 63 61 70 65 64 41 72 67 75 6d ent.'"';.}..return.$escapedArgum
16e720 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 ent;.}..return."'".str_replace("
16e740 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 75 6d 65 6e 74 29 2e 22 27 22 3b 0a 7d 0a 0a '",."'\\''",.$argument)."'";.}..
16e760 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 ............public.static.functi
16e780 6f 6e 20 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 24 63 61 6c 6c 65 72 2c 20 24 69 6e 70 75 74 on.validateInput($caller,.$input
16e7a0 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 70 75 74 29 20 7b 0a 69 66 20 28 69 ).{.if.(null.!==.$input).{.if.(i
16e7c0 73 5f 72 65 73 6f 75 72 63 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e s_resource($input)).{.return.$in
16e7e0 70 75 74 3b 0a 7d 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 69 6e 70 75 74 29 29 20 7b 0a put;.}.if.(is_string($input)).{.
16e800 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 69 66 20 28 69 73 5f 73 63 61 6c 61 72 28 24 return.$input;.}.if.(is_scalar($
16e820 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 input)).{.return.(string).$input
16e840 3b 0a 7d 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 69 6e 70 75 74 29 20 26 26 20 6d ;.}...if.(is_object($input).&&.m
16e860 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 69 6e 70 75 74 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 ethod_exists($input,.'__toString
16e880 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 50 61 73 73 69 6e 67 20 61 6e ')).{.@trigger_error('Passing.an
16e8a0 20 6f 62 6a 65 63 74 20 61 73 20 61 6e 20 69 6e 70 75 74 20 69 73 20 64 65 70 72 65 63 61 74 65 .object.as.an.input.is.deprecate
16e8c0 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.5.and.will.be.
16e8e0 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 removed.in.3.0.',.E_USER_DEPRECA
16e900 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d TED);..return.(string).$input;.}
16e920 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 ..throw.new.InvalidArgumentExcep
16e940 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 20 6f 6e 6c 79 20 61 63 63 65 70 74 73 20 73 74 tion(sprintf('%s.only.accepts.st
16e960 72 69 6e 67 73 20 6f 72 20 73 74 72 65 61 6d 20 72 65 73 6f 75 72 63 65 73 2e 27 2c 20 24 63 61 rings.or.stream.resources.',.$ca
16e980 6c 6c 65 72 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 70 72 69 ller));.}..return.$input;.}..pri
16e9a0 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 72 72 6f 75 6e 64 65 vate.static.function.isSurrounde
16e9c0 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 72 29 0a 7b 0a 72 65 74 75 72 6e 20 32 20 3c 20 73 74 dBy($arg,.$char).{.return.2.<.st
16e9e0 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 30 5d 20 rlen($arg).&&.$char.===.$arg[0].
16ea00 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 73 74 72 6c 65 6e 28 24 61 72 67 29 20 2d &&.$char.===.$arg[strlen($arg).-
16ea20 20 31 5d 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 31 20 4a 6f 72 64 .1];.}.}.Copyright.(c).2011.Jord
16ea40 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 i.Boggiano..Permission.is.hereby
16ea60 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 .granted,.free.of.charge,.to.any
16ea80 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 .person.obtaining.a.copy.of.this
16eaa0 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e .software.and.associated.documen
16eac0 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 tation.files.(the."Software"),.t
16eae0 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 o.deal.in.the.Software.without.r
16eb00 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 estriction,.including.without.li
16eb20 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 mitation.the.rights.to.use,.copy
16eb40 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 ,.modify,.merge,.publish,.distri
16eb60 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f bute,.sublicense,.and/or.sell.co
16eb80 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 pies.of.the.Software,.and.to.per
16eba0 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 mit.persons.to.whom.the.Software
16ebc0 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 .is.furnished.to.do.so,.subject.
16ebe0 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 to.the.following.conditions:..Th
16ec00 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 e.above.copyright.notice.and.thi
16ec20 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 s.permission.notice.shall.be.inc
16ec40 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 luded.in.all.copies.or.substanti
16ec60 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 al.portions.of.the.Software...TH
16ec80 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 E.SOFTWARE.IS.PROVIDED."AS.IS",.
16eca0 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 WITHOUT.WARRANTY.OF.ANY.KIND,.EX
16ecc0 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 PRESS.OR.IMPLIED,.INCLUDING.BUT.
16ece0 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 NOT.LIMITED.TO.THE.WARRANTIES.OF
16ed00 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 .MERCHANTABILITY,.FITNESS.FOR.A.
16ed20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e PARTICULAR.PURPOSE.AND.NONINFRIN
16ed40 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 GEMENT..IN.NO.EVENT.SHALL.THE.AU
16ed60 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 THORS.OR.COPYRIGHT.HOLDERS.BE.LI
16ed80 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f ABLE.FOR.ANY.CLAIM,.DAMAGES.OR.O
16eda0 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 THER.LIABILITY,.WHETHER.IN.AN.AC
16edc0 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 TION.OF.CONTRACT,.TORT.OR.OTHERW
16ede0 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 ISE,.ARISING.FROM,.OUT.OF.OR.IN.
16ee00 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 CONNECTION.WITH.THE.SOFTWARE.OR.
16ee20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 THE.USE.OR.OTHER.DEALINGS.IN.THE
16ee40 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 .SOFTWARE..<?php...........names
16ee60 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 44 75 70 6c 69 pace.Seld\JsonLint;..class.Dupli
16ee80 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 50 61 72 73 69 6e 67 cateKeyException.extends.Parsing
16eea0 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f Exception.{.public.function.__co
16eec0 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 6b 65 79 2c 20 61 72 72 61 79 20 24 64 nstruct($message,.$key,.array.$d
16eee0 65 74 61 69 6c 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 74 61 69 6c 73 5b 27 6b 65 etails.=.array()).{.$details['ke
16ef00 79 27 5d 20 3d 20 24 6b 65 79 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 y'].=.$key;.parent::__construct(
16ef20 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 61 69 6c 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $message,.$details);.}..public.f
16ef40 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d unction.getKey().{.return.$this-
16ef60 3e 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a >details['key'];.}.}.<?php......
16ef80 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 75 73 .....namespace.Seld\JsonLint;.us
16efa0 65 20 73 74 64 43 6c 61 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 e.stdClass;...............class.
16efc0 4a 73 6f 6e 50 61 72 73 65 72 0a 7b 0a 63 6f 6e 73 74 20 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f JsonParser.{.const.DETECT_KEY_CO
16efe0 4e 46 4c 49 43 54 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 NFLICTS.=.1;.const.ALLOW_DUPLICA
16f000 54 45 5f 4b 45 59 53 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f TE_KEYS.=.2;.const.PARSE_TO_ASSO
16f020 43 20 3d 20 34 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 65 78 65 72 3b 0a 0a 70 72 69 76 61 74 65 C.=.4;..private.$lexer;..private
16f040 20 24 66 6c 61 67 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 63 6b 3b 0a 70 72 69 76 61 74 65 .$flags;.private.$stack;.private
16f060 20 24 76 73 74 61 63 6b 3b 20 0a 20 70 72 69 76 61 74 65 20 24 6c 73 74 61 63 6b 3b 20 0a 0a 70 .$vstack;...private.$lstack;...p
16f080 72 69 76 61 74 65 20 24 73 79 6d 62 6f 6c 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 rivate.$symbols.=.array(.'error'
16f0a0 20 3d 3e 20 32 2c 0a 27 4a 53 4f 4e 53 74 72 69 6e 67 27 20 3d 3e 20 33 2c 0a 27 53 54 52 49 4e .=>.2,.'JSONString'.=>.3,.'STRIN
16f0c0 47 27 20 3d 3e 20 34 2c 0a 27 4a 53 4f 4e 4e 75 6d 62 65 72 27 20 3d 3e 20 35 2c 0a 27 4e 55 4d G'.=>.4,.'JSONNumber'.=>.5,.'NUM
16f0e0 42 45 52 27 20 3d 3e 20 36 2c 0a 27 4a 53 4f 4e 4e 75 6c 6c 4c 69 74 65 72 61 6c 27 20 3d 3e 20 BER'.=>.6,.'JSONNullLiteral'.=>.
16f100 37 2c 0a 27 4e 55 4c 4c 27 20 3d 3e 20 38 2c 0a 27 4a 53 4f 4e 42 6f 6f 6c 65 61 6e 4c 69 74 65 7,.'NULL'.=>.8,.'JSONBooleanLite
16f120 72 61 6c 27 20 3d 3e 20 39 2c 0a 27 54 52 55 45 27 20 3d 3e 20 31 30 2c 0a 27 46 41 4c 53 45 27 ral'.=>.9,.'TRUE'.=>.10,.'FALSE'
16f140 20 3d 3e 20 31 31 2c 0a 27 4a 53 4f 4e 54 65 78 74 27 20 3d 3e 20 31 32 2c 0a 27 4a 53 4f 4e 56 .=>.11,.'JSONText'.=>.12,.'JSONV
16f160 61 6c 75 65 27 20 3d 3e 20 31 33 2c 0a 27 45 4f 46 27 20 3d 3e 20 31 34 2c 0a 27 4a 53 4f 4e 4f alue'.=>.13,.'EOF'.=>.14,.'JSONO
16f180 62 6a 65 63 74 27 20 3d 3e 20 31 35 2c 0a 27 4a 53 4f 4e 41 72 72 61 79 27 20 3d 3e 20 31 36 2c bject'.=>.15,.'JSONArray'.=>.16,
16f1a0 0a 27 7b 27 20 3d 3e 20 31 37 2c 0a 27 7d 27 20 3d 3e 20 31 38 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 .'{'.=>.17,.'}'.=>.18,.'JSONMemb
16f1c0 65 72 4c 69 73 74 27 20 3d 3e 20 31 39 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 27 20 3d 3e 20 32 erList'.=>.19,.'JSONMember'.=>.2
16f1e0 30 2c 0a 27 3a 27 20 3d 3e 20 32 31 2c 0a 27 2c 27 20 3d 3e 20 32 32 2c 0a 27 5b 27 20 3d 3e 20 0,.':'.=>.21,.','.=>.22,.'['.=>.
16f200 32 33 2c 0a 27 5d 27 20 3d 3e 20 32 34 2c 0a 27 4a 53 4f 4e 45 6c 65 6d 65 6e 74 4c 69 73 74 27 23,.']'.=>.24,.'JSONElementList'
16f220 20 3d 3e 20 32 35 2c 0a 27 24 61 63 63 65 70 74 27 20 3d 3e 20 30 2c 0a 27 24 65 6e 64 27 20 3d .=>.25,.'$accept'.=>.0,.'$end'.=
16f240 3e 20 31 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 65 72 6d 69 6e 61 6c 73 5f 20 3d 20 61 >.1,.);..private.$terminals_.=.a
16f260 72 72 61 79 28 0a 32 20 3d 3e 20 22 65 72 72 6f 72 22 2c 0a 34 20 3d 3e 20 22 53 54 52 49 4e 47 rray(.2.=>."error",.4.=>."STRING
16f280 22 2c 0a 36 20 3d 3e 20 22 4e 55 4d 42 45 52 22 2c 0a 38 20 3d 3e 20 22 4e 55 4c 4c 22 2c 0a 31 ",.6.=>."NUMBER",.8.=>."NULL",.1
16f2a0 30 20 3d 3e 20 22 54 52 55 45 22 2c 0a 31 31 20 3d 3e 20 22 46 41 4c 53 45 22 2c 0a 31 34 20 3d 0.=>."TRUE",.11.=>."FALSE",.14.=
16f2c0 3e 20 22 45 4f 46 22 2c 0a 31 37 20 3d 3e 20 22 7b 22 2c 0a 31 38 20 3d 3e 20 22 7d 22 2c 0a 32 >."EOF",.17.=>."{",.18.=>."}",.2
16f2e0 31 20 3d 3e 20 22 3a 22 2c 0a 32 32 20 3d 3e 20 22 2c 22 2c 0a 32 33 20 3d 3e 20 22 5b 22 2c 0a 1.=>.":",.22.=>.",",.23.=>."[",.
16f300 32 34 20 3d 3e 20 22 5d 22 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 64 75 63 74 69 24.=>."]",.);..private.$producti
16f320 6f 6e 73 5f 20 3d 20 61 72 72 61 79 28 0a 30 2c 0a 61 72 72 61 79 28 33 2c 20 31 29 2c 0a 61 72 ons_.=.array(.0,.array(3,.1),.ar
16f340 72 61 79 28 35 2c 20 31 29 2c 0a 61 72 72 61 79 28 37 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c ray(5,.1),.array(7,.1),.array(9,
16f360 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 32 2c 20 32 29 2c 0a .1),.array(9,.1),.array(12,.2),.
16f380 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 array(13,.1),.array(13,.1),.arra
16f3a0 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 y(13,.1),.array(13,.1),.array(13
16f3c0 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 32 29 ,.1),.array(13,.1),.array(15,.2)
16f3e0 2c 0a 61 72 72 61 79 28 31 35 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 30 2c 20 33 29 2c 0a 61 72 ,.array(15,.3),.array(20,.3),.ar
16f400 72 61 79 28 31 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 39 2c 20 33 29 2c 0a 61 72 72 61 79 28 ray(19,.1),.array(19,.3),.array(
16f420 31 36 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 36 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 16,.2),.array(16,.3),.array(25,.
16f440 31 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 33 29 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 1),.array(25,.3).);..private.$ta
16f460 62 6c 65 20 3d 20 61 72 72 61 79 28 61 72 72 61 79 28 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 ble.=.array(array(3.=>.5,.4.=>.a
16f480 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 rray(1,12),.5.=>.6,.6.=>.array(1
16f4a0 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 ,13),.7.=>.3,.8.=>.array(1,9),.9
16f4c0 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 .=>.4,.10.=>.array(1,10),.11.=>.
16f4e0 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 32 20 3d 3e 20 31 2c 20 31 33 20 3d 3e 20 32 2c 20 31 array(1,11),.12.=>.1,.13.=>.2,.1
16f500 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 5.=>.7,.16.=>.8,.17.=>.array(1,1
16f520 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 4),.23.=>.array(1,15)),.array(.1
16f540 20 3d 3e 20 61 72 72 61 79 28 33 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 .=>.array(3)),.array(.14.=>.arra
16f560 79 28 31 2c 31 36 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 y(1,16)),.array(.14.=>.array(2,7
16f580 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 ),.18.=>.array(2,7),.22.=>.array
16f5a0 28 32 2c 37 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 29 2c 20 61 72 72 61 79 28 (2,7),.24.=>.array(2,7)),.array(
16f5c0 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 .14.=>.array(2,8),.18.=>.array(2
16f5e0 2c 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 ,8),.22.=>.array(2,8),.24.=>.arr
16f600 61 79 28 32 2c 38 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 ay(2,8)),.array(.14.=>.array(2,9
16f620 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 ),.18.=>.array(2,9),.22.=>.array
16f640 28 32 2c 39 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 29 2c 20 61 72 72 61 79 28 (2,9),.24.=>.array(2,9)),.array(
16f660 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 .14.=>.array(2,10),.18.=>.array(
16f680 32 2c 31 30 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 32 34 20 3d 3e 20 2,10),.22.=>.array(2,10),.24.=>.
16f6a0 61 72 72 61 79 28 32 2c 31 30 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 array(2,10)),.array(.14.=>.array
16f6c0 28 32 2c 31 31 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 32 32 20 3d 3e (2,11),.18.=>.array(2,11),.22.=>
16f6e0 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 29 .array(2,11),.24.=>.array(2,11))
16f700 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 31 38 20 3d ,.array(.14.=>.array(2,12),.18.=
16f720 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 >.array(2,12),.22.=>.array(2,12)
16f740 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 ,.24.=>.array(2,12)),.array(.14.
16f760 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c =>.array(2,3),.18.=>.array(2,3),
16f780 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 .22.=>.array(2,3),.24.=>.array(2
16f7a0 2c 33 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 31 ,3)),.array(.14.=>.array(2,4),.1
16f7c0 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 8.=>.array(2,4),.22.=>.array(2,4
16f7e0 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 ),.24.=>.array(2,4)),.array(.14.
16f800 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c =>.array(2,5),.18.=>.array(2,5),
16f820 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 .22.=>.array(2,5),.24.=>.array(2
16f840 2c 35 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 31 ,5)),.array(.14.=>.array(2,1),.1
16f860 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 8.=>.array(2,1),.21.=>.array(2,1
16f880 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 ),.22.=>.array(2,1),.24.=>.array
16f8a0 28 32 2c 31 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c (2,1)),.array(.14.=>.array(2,2),
16f8c0 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 .18.=>.array(2,2),.22.=>.array(2
16f8e0 2c 32 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 29 2c 20 61 72 72 61 79 28 20 33 ,2),.24.=>.array(2,2)),.array(.3
16f900 20 3d 3e 20 32 30 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 31 38 20 3d 3e 20 .=>.20,.4.=>.array(1,12),.18.=>.
16f920 61 72 72 61 79 28 31 2c 31 37 29 2c 20 31 39 20 3d 3e 20 31 38 2c 20 32 30 20 3d 3e 20 31 39 20 array(1,17),.19.=>.18,.20.=>.19.
16f940 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 ),.array(.3.=>.5,.4.=>.array(1,1
16f960 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 2),.5.=>.6,.6.=>.array(1,13),.7.
16f980 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 =>.3,.8.=>.array(1,9),.9.=>.4,.1
16f9a0 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 0.=>.array(1,10),.11.=>.array(1,
16f9c0 31 31 29 2c 20 31 33 20 3d 3e 20 32 33 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 11),.13.=>.23,.15.=>.7,.16.=>.8,
16f9e0 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 .17.=>.array(1,14),.23.=>.array(
16fa00 31 2c 31 35 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 31 29 2c 20 32 35 20 3d 3e 20 1,15),.24.=>.array(1,21),.25.=>.
16fa20 32 32 20 29 2c 20 61 72 72 61 79 28 20 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 36 29 29 2c 20 61 22.),.array(.1.=>.array(2,6)),.a
16fa40 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 31 38 20 3d 3e 20 61 rray(.14.=>.array(2,13),.18.=>.a
16fa60 72 72 61 79 28 32 2c 31 33 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 rray(2,13),.22.=>.array(2,13),.2
16fa80 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 4.=>.array(2,13)),.array(.18.=>.
16faa0 61 72 72 61 79 28 31 2c 32 34 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 35 29 29 2c array(1,24),.22.=>.array(1,25)),
16fac0 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 36 29 2c 20 32 32 20 3d 3e .array(.18.=>.array(2,16),.22.=>
16fae0 20 61 72 72 61 79 28 32 2c 31 36 29 29 2c 20 61 72 72 61 79 28 20 32 31 20 3d 3e 20 61 72 72 61 .array(2,16)),.array(.21.=>.arra
16fb00 79 28 31 2c 32 36 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 y(1,26)),.array(.14.=>.array(2,1
16fb20 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 8),.18.=>.array(2,18),.22.=>.arr
16fb40 61 79 28 32 2c 31 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 29 2c 20 61 72 ay(2,18),.24.=>.array(2,18)),.ar
16fb60 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 38 29 2c 20 32 34 20 3d 3e 20 61 72 ray(.22.=>.array(1,28),.24.=>.ar
16fb80 72 61 79 28 31 2c 32 37 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 ray(1,27)),.array(.22.=>.array(2
16fba0 2c 32 30 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 30 29 29 2c 20 61 72 72 61 79 28 ,20),.24.=>.array(2,20)),.array(
16fbc0 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 .14.=>.array(2,14),.18.=>.array(
16fbe0 32 2c 31 34 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 32 34 20 3d 3e 20 2,14),.22.=>.array(2,14),.24.=>.
16fc00 61 72 72 61 79 28 32 2c 31 34 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 32 30 2c 20 34 20 array(2,14)),.array(.3.=>.20,.4.
16fc20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 32 30 20 3d 3e 20 32 39 20 29 2c 20 61 72 72 61 =>.array(1,12),.20.=>.29.),.arra
16fc40 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d y(.3.=>.5,.4.=>.array(1,12),.5.=
16fc60 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 >.6,.6.=>.array(1,13),.7.=>.3,.8
16fc80 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 .=>.array(1,9),.9.=>.4,.10.=>.ar
16fca0 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 ray(1,10),.11.=>.array(1,11),.13
16fcc0 20 3d 3e 20 33 30 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 .=>.30,.15.=>.7,.16.=>.8,.17.=>.
16fce0 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c array(1,14),.23.=>.array(1,15)),
16fd00 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 31 38 20 3d 3e .array(.14.=>.array(2,19),.18.=>
16fd20 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c .array(2,19),.22.=>.array(2,19),
16fd40 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e .24.=>.array(2,19)),.array(.3.=>
16fd60 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 .5,.4.=>.array(1,12),.5.=>.6,.6.
16fd80 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 =>.array(1,13),.7.=>.3,.8.=>.arr
16fda0 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 ay(1,9),.9.=>.4,.10.=>.array(1,1
16fdc0 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 31 2c 0),.11.=>.array(1,11),.13.=>.31,
16fde0 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 .15.=>.7,.16.=>.8,.17.=>.array(1
16fe00 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 ,14),.23.=>.array(1,15)),.array(
16fe20 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 .18.=>.array(2,17),.22.=>.array(
16fe40 32 2c 31 37 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 2,17)),.array(.18.=>.array(2,15)
16fe60 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 ,.22.=>.array(2,15)),.array(.22.
16fe80 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 =>.array(2,21),.24.=>.array(2,21
16fea0 29 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 20 )),.);..private.$defaultActions.
16fec0 3d 20 61 72 72 61 79 28 0a 31 36 20 3d 3e 20 61 72 72 61 79 28 32 2c 20 36 29 0a 29 3b 0a 0a 0a =.array(.16.=>.array(2,.6).);...
16fee0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 6e 74 28 24 69 6e 70 75 74 2c ....public.function.lint($input,
16ff00 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 .$flags.=.0).{.try.{.$this->pars
16ff20 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 e($input,.$flags);.}.catch.(Pars
16ff40 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a ingException.$e).{.return.$e;.}.
16ff60 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 24 }........public.function.parse($
16ff80 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c input,.$flags.=.0).{.$this->fail
16ffa0 4f 6e 42 4f 4d 28 24 69 6e 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 OnBOM($input);..$this->flags.=.$
16ffc0 66 6c 61 67 73 3b 0a 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 30 29 3b flags;..$this->stack.=.array(0);
16ffe0 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b 0a 24 74 .$this->vstack.=.array(null);.$t
170000 68 69 73 2d 3e 6c 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 79 79 74 65 78 74 20 his->lstack.=.array();..$yytext.
170020 3d 20 27 27 3b 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 30 3b 0a 24 79 79 6c 65 6e 67 20 3d 20 30 =.'';.$yylineno.=.0;.$yyleng.=.0
170040 3b 0a 24 72 65 63 6f 76 65 72 69 6e 67 20 3d 20 30 3b 0a 24 54 45 52 52 4f 52 20 3d 20 32 3b 0a ;.$recovering.=.0;.$TERROR.=.2;.
170060 24 45 4f 46 20 3d 20 31 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 78 65 72 20 3d 20 6e 65 77 20 4c 65 $EOF.=.1;..$this->lexer.=.new.Le
170080 78 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 xer();.$this->lexer->setInput($i
1700a0 6e 70 75 74 29 3b 0a 0a 24 79 79 6c 6f 63 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 nput);..$yyloc.=.$this->lexer->y
1700c0 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 5d 20 3d 20 24 79 79 6c 6f 63 3b ylloc;.$this->lstack[].=.$yyloc;
1700e0 0a 0a 24 73 79 6d 62 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f ..$symbol.=.null;.$preErrorSymbo
170100 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 73 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 24 61 63 74 69 6f 6e l.=.null;.$state.=.null;.$action
170120 20 3d 20 6e 75 6c 6c 3b 0a 24 61 20 3d 20 6e 75 6c 6c 3b 0a 24 72 20 3d 20 6e 75 6c 6c 3b 0a 24 .=.null;.$a.=.null;.$r.=.null;.$
170140 79 79 76 61 6c 20 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 24 70 20 3d 20 6e 75 6c 6c 3b yyval.=.new.stdClass;.$p.=.null;
170160 0a 24 6c 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 6e 65 77 53 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a .$len.=.null;.$newState.=.null;.
170180 24 65 78 70 65 63 74 65 64 20 3d 20 6e 75 6c 6c 3b 0a 24 65 72 72 53 74 72 20 3d 20 6e 75 6c 6c $expected.=.null;.$errStr.=.null
1701a0 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 0a 20 24 73 74 61 74 65 20 3d 20 24 74 68 ;..while.(true).{...$state.=.$th
1701c0 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d is->stack[count($this->stack)-1]
1701e0 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 41 63 74 ;....if.(isset($this->defaultAct
170200 69 6f 6e 73 5b 24 73 74 61 74 65 5d 29 29 20 7b 0a 24 61 63 74 69 6f 6e 20 3d 20 24 74 68 69 73 ions[$state])).{.$action.=.$this
170220 2d 3e 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 5b 24 73 74 61 74 65 5d 3b 0a 7d 20 65 6c 73 65 ->defaultActions[$state];.}.else
170240 20 7b 0a 69 66 20 28 24 73 79 6d 62 6f 6c 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 73 79 6d 62 6f .{.if.($symbol.==.null).{.$symbo
170260 6c 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 20 24 61 63 74 69 6f 6e 20 3d 20 l.=.$this->lex();.}...$action.=.
170280 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d 62 isset($this->table[$state][$symb
1702a0 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d ol]).?.$this->table[$state][$sym
1702c0 62 6f 6c 5d 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 61 63 74 69 6f 6e 20 bol].:.false;.}....if.(!$action.
1702e0 7c 7c 20 21 24 61 63 74 69 6f 6e 5b 30 5d 29 20 7b 0a 69 66 20 28 21 24 72 65 63 6f 76 65 72 69 ||.!$action[0]).{.if.(!$recoveri
170300 6e 67 29 20 7b 0a 0a 20 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 ng).{...$expected.=.array();.for
170320 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 20 61 73 20 24 70 each.($this->table[$state].as.$p
170340 20 3d 3e 20 24 69 67 6e 6f 72 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e .=>.$ignore).{.if.(isset($this->
170360 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 70 5d 29 20 26 26 20 24 70 20 3e 20 32 29 20 7b 0a 24 65 78 terminals_[$p]).&&.$p.>.2).{.$ex
170380 70 65 63 74 65 64 5b 5d 20 3d 20 22 27 22 20 2e 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c pected[].=."'"...$this->terminal
1703a0 73 5f 5b 24 70 5d 20 2e 20 22 27 22 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 s_[$p]..."'";.}.}..$message.=.nu
1703c0 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 22 27 53 54 52 49 4e 47 27 22 2c 20 24 65 78 ll;.if.(in_array("'STRING'",.$ex
1703e0 70 65 63 74 65 64 29 20 26 26 20 69 6e 5f 61 72 72 61 79 28 73 75 62 73 74 72 28 24 74 68 69 73 pected).&&.in_array(substr($this
170400 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c 20 30 2c 20 31 29 2c 20 61 72 72 61 79 28 27 22 27 ->lexer->match,.0,.1),.array('"'
170420 2c 20 22 27 22 29 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 49 6e 76 61 6c 69 64 20 73 ,."'"))).{.$message.=."Invalid.s
170440 74 72 69 6e 67 22 3b 0a 69 66 20 28 22 27 22 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 tring";.if.("'".===.substr($this
170460 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c 20 30 2c 20 31 29 29 20 7b 0a 24 6d 65 73 73 61 67 ->lexer->match,.0,.1)).{.$messag
170480 65 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 75 73 65 64 20 73 69 6e 67 e..=.",.it.appears.you.used.sing
1704a0 6c 65 20 71 75 6f 74 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 64 6f 75 62 6c 65 20 71 75 6f 74 le.quotes.instead.of.double.quot
1704c0 65 73 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 2e 2b 3f es";.}.elseif.(preg_match('{".+?
1704e0 28 5c 5c 5c 5c 5b 5e 22 62 66 6e 72 74 2f 5c 5c 5c 5c 75 5d 29 7d 27 2c 20 24 74 68 69 73 2d 3e (\\\\[^"bfnrt/\\\\u])}',.$this->
170500 6c 65 78 65 72 2d 3e 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 2c 20 24 6d 61 74 63 lexer->getUpcomingInput(),.$matc
170520 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 h)).{.$message..=.",.it.appears.
170540 79 6f 75 20 68 61 76 65 20 61 6e 20 75 6e 65 73 63 61 70 65 64 20 62 61 63 6b 73 6c 61 73 68 20 you.have.an.unescaped.backslash.
170560 61 74 3a 20 22 2e 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f at:.".$match[1];.}.elseif.(preg_
170580 6d 61 74 63 68 28 27 7b 22 28 3f 3a 5b 5e 22 5d 2b 7c 5c 5c 5c 5c 22 29 2a 24 7d 6d 27 2c 20 24 match('{"(?:[^"]+|\\\\")*$}m',.$
1705a0 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 29 this->lexer->getUpcomingInput())
1705c0 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f ).{.$message..=.",.it.appears.yo
1705e0 75 20 66 6f 72 67 6f 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 61 20 73 74 72 69 6e 67 2c 20 u.forgot.to.terminate.a.string,.
170600 6f 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 77 72 69 74 65 20 61 20 6d 75 6c 74 69 6c 69 6e or.attempted.to.write.a.multilin
170620 65 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 69 6e 76 61 6c 69 64 22 3b 0a 7d 0a 7d 0a e.string.which.is.invalid";.}.}.
170640 0a 24 65 72 72 53 74 72 20 3d 20 27 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 .$errStr.=.'Parse.error.on.line.
170660 27 20 2e 20 28 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 '...($yylineno+1)...":\n";.$errS
170680 74 72 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e tr..=.$this->lexer->showPosition
1706a0 28 29 20 2e 20 22 5c 6e 22 3b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 53 ()..."\n";.if.($message).{.$errS
1706c0 74 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 53 74 72 tr..=.$message;.}.else.{.$errStr
1706e0 20 2e 3d 20 28 63 6f 75 6e 74 28 24 65 78 70 65 63 74 65 64 29 20 3e 20 31 29 20 3f 20 22 45 78 ..=.(count($expected).>.1).?."Ex
170700 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a 20 22 20 3a 20 22 45 78 70 65 63 74 65 64 3a 20 22 3b pected.one.of:.".:."Expected:.";
170720 0a 24 65 72 72 53 74 72 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 65 63 .$errStr..=.implode(',.',.$expec
170740 74 65 64 29 3b 0a 7d 0a 0a 69 66 20 28 27 2c 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 74 72 69 6d ted);.}..if.(','.===.substr(trim
170760 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 2c 20 ($this->lexer->getPastInput()),.
170780 2d 31 29 29 20 7b 0a 24 65 72 72 53 74 72 20 2e 3d 20 22 20 2d 20 49 74 20 61 70 70 65 61 72 73 -1)).{.$errStr..=.".-.It.appears
1707a0 20 79 6f 75 20 68 61 76 65 20 61 6e 20 65 78 74 72 61 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 6d .you.have.an.extra.trailing.comm
1707c0 61 22 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 6f 72 28 24 65 72 72 53 74 72 a";.}..$this->parseError($errStr
1707e0 2c 20 61 72 72 61 79 28 0a 27 74 65 78 74 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d ,.array(.'text'.=>.$this->lexer-
170800 3e 6d 61 74 63 68 2c 0a 27 74 6f 6b 65 6e 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d >match,.'token'.=>.!empty($this-
170820 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 79 6d 62 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 >terminals_[$symbol]).?.$this->t
170840 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 79 6d 62 6f 6c 5d 20 3a 20 24 73 79 6d 62 6f 6c 2c 0a 27 6c erminals_[$symbol].:.$symbol,.'l
170860 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a ine'.=>.$this->lexer->yylineno,.
170880 27 6c 6f 63 27 20 3d 3e 20 24 79 79 6c 6f 63 2c 0a 27 65 78 70 65 63 74 65 64 27 20 3d 3e 20 24 'loc'.=>.$yyloc,.'expected'.=>.$
1708a0 65 78 70 65 63 74 65 64 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 72 65 63 6f 76 65 72 69 expected,.));.}....if.($recoveri
1708c0 6e 67 20 3d 3d 20 33 29 20 7b 0a 69 66 20 28 24 73 79 6d 62 6f 6c 20 3d 3d 20 24 45 4f 46 29 20 ng.==.3).{.if.($symbol.==.$EOF).
1708e0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 {.throw.new.ParsingException($er
170900 72 53 74 72 20 3f 3a 20 27 50 61 72 73 69 6e 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a rStr.?:.'Parsing.halted.');.}...
170920 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 3b .$yyleng.=.$this->lexer->yyleng;
170940 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b .$yytext.=.$this->lexer->yytext;
170960 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e .$yylineno.=.$this->lexer->yylin
170980 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c eno;.$yyloc.=.$this->lexer->yyll
1709a0 6f 63 3b 0a 24 73 79 6d 62 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 0a oc;.$symbol.=.$this->lex();.}...
1709c0 20 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 0a 20 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f .while.(true).{...if.(array_key_
1709e0 65 78 69 73 74 73 28 24 54 45 52 52 4f 52 2c 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 exists($TERROR,.$this->table[$st
170a00 61 74 65 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 73 74 61 74 65 20 3d 3d 20 ate])).{.break;.}.if.($state.==.
170a20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 0).{.throw.new.ParsingException(
170a40 24 65 72 72 53 74 72 20 3f 3a 20 27 50 61 72 73 69 6e 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d $errStr.?:.'Parsing.halted.');.}
170a60 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 63 6b 28 31 29 3b 0a 24 73 74 61 74 65 20 3d 20 24 74 .$this->popStack(1);.$state.=.$t
170a80 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 his->stack[count($this->stack)-1
170aa0 5d 3b 0a 7d 0a 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 20 3d 20 24 73 79 6d 62 6f 6c 3b ];.}..$preErrorSymbol.=.$symbol;
170ac0 20 0a 20 24 73 79 6d 62 6f 6c 20 3d 20 24 54 45 52 52 4f 52 3b 20 0a 20 24 73 74 61 74 65 20 3d ...$symbol.=.$TERROR;...$state.=
170ae0 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b .$this->stack[count($this->stack
170b00 29 2d 31 5d 3b 0a 24 61 63 74 69 6f 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 61 62 )-1];.$action.=.isset($this->tab
170b20 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 45 52 52 4f 52 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 61 le[$state][$TERROR]).?.$this->ta
170b40 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 45 52 52 4f 52 5d 20 3a 20 66 61 6c 73 65 3b 0a 24 72 ble[$state][$TERROR].:.false;.$r
170b60 65 63 6f 76 65 72 69 6e 67 20 3d 20 33 3b 20 0a 20 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 ecovering.=.3;...}....if.(is_arr
170b80 61 79 28 24 61 63 74 69 6f 6e 5b 30 5d 29 20 26 26 20 63 6f 75 6e 74 28 24 61 63 74 69 6f 6e 29 ay($action[0]).&&.count($action)
170ba0 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 .>.1).{.throw.new.ParsingExcepti
170bc0 6f 6e 28 27 50 61 72 73 65 20 45 72 72 6f 72 3a 20 6d 75 6c 74 69 70 6c 65 20 61 63 74 69 6f 6e on('Parse.Error:.multiple.action
170be0 73 20 70 6f 73 73 69 62 6c 65 20 61 74 20 73 74 61 74 65 3a 20 27 20 2e 20 24 73 74 61 74 65 20 s.possible.at.state:.'...$state.
170c00 2e 20 27 2c 20 74 6f 6b 65 6e 3a 20 27 20 2e 20 24 73 79 6d 62 6f 6c 29 3b 0a 7d 0a 0a 73 77 69 ..',.token:.'...$symbol);.}..swi
170c20 74 63 68 20 28 24 61 63 74 69 6f 6e 5b 30 5d 29 20 7b 0a 63 61 73 65 20 31 3a 20 0a 20 24 74 68 tch.($action[0]).{.case.1:...$th
170c40 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 73 79 6d 62 6f 6c 3b 0a 24 74 68 69 73 2d 3e 76 73 is->stack[].=.$symbol;.$this->vs
170c60 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 tack[].=.$this->lexer->yytext;.$
170c80 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 this->lstack[].=.$this->lexer->y
170ca0 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 61 63 74 69 6f 6e 5b ylloc;.$this->stack[].=.$action[
170cc0 31 5d 3b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 24 70 72 65 45 1];...$symbol.=.null;.if.(!$preE
170ce0 72 72 6f 72 53 79 6d 62 6f 6c 29 20 7b 20 0a 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 69 73 2d rrorSymbol).{...$yyleng.=.$this-
170d00 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 3b 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d >lexer->yyleng;.$yytext.=.$this-
170d20 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 >lexer->yytext;.$yylineno.=.$thi
170d40 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 24 74 68 s->lexer->yylineno;.$yyloc.=.$th
170d60 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 69 66 20 28 24 72 65 63 6f 76 65 72 69 is->lexer->yylloc;.if.($recoveri
170d80 6e 67 20 3e 20 30 29 20 7b 0a 24 72 65 63 6f 76 65 72 69 6e 67 2d 2d 3b 0a 7d 0a 7d 20 65 6c 73 ng.>.0).{.$recovering--;.}.}.els
170da0 65 20 7b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d 20 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 3b e.{...$symbol.=.$preErrorSymbol;
170dc0 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 62 72 65 61 6b .$preErrorSymbol.=.null;.}.break
170de0 3b 0a 0a 63 61 73 65 20 32 3a 20 0a 20 24 6c 65 6e 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 64 75 ;..case.2:...$len.=.$this->produ
170e00 63 74 69 6f 6e 73 5f 5b 24 61 63 74 69 6f 6e 5b 31 5d 5d 5b 31 5d 3b 0a 0a 0a 20 24 79 79 76 61 ctions_[$action[1]][1];....$yyva
170e20 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 l->token.=.$this->vstack[count($
170e40 74 68 69 73 2d 3e 76 73 74 61 63 6b 29 20 2d 20 24 6c 65 6e 5d 3b 20 0a 20 0a 20 24 79 79 76 61 this->vstack).-.$len];.....$yyva
170e60 6c 2d 3e 73 74 6f 72 65 20 3d 20 61 72 72 61 79 28 20 0a 20 27 66 69 72 73 74 5f 6c 69 6e 65 27 l->store.=.array(...'first_line'
170e80 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c .=>.$this->lstack[count($this->l
170ea0 73 74 61 63 6b 29 20 2d 20 28 24 6c 65 6e 20 3f 3a 20 31 29 5d 5b 27 66 69 72 73 74 5f 6c 69 6e stack).-.($len.?:.1)]['first_lin
170ec0 65 27 5d 2c 0a 27 6c 61 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 e'],.'last_line'.=>.$this->lstac
170ee0 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 k[count($this->lstack).-.1]['las
170f00 74 5f 6c 69 6e 65 27 5d 2c 0a 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 t_line'],.'first_column'.=>.$thi
170f20 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d s->lstack[count($this->lstack).-
170f40 20 28 24 6c 65 6e 20 3f 3a 20 31 29 5d 5b 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 27 .($len.?:.1)]['first_column'],.'
170f60 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f last_column'.=>.$this->lstack[co
170f80 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 74 5f 63 6f unt($this->lstack).-.1]['last_co
170fa0 6c 75 6d 6e 27 5d 2c 0a 29 3b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 63 lumn'],.);.$r.=.$this->performAc
170fc0 74 69 6f 6e 28 24 79 79 76 61 6c 2c 20 24 79 79 74 65 78 74 2c 20 24 79 79 6c 65 6e 67 2c 20 24 tion($yyval,.$yytext,.$yyleng,.$
170fe0 79 79 6c 69 6e 65 6e 6f 2c 20 24 61 63 74 69 6f 6e 5b 31 5d 2c 20 24 74 68 69 73 2d 3e 76 73 74 yylineno,.$action[1],.$this->vst
171000 61 63 6b 2c 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 3b 0a 0a 69 66 20 28 21 24 72 20 69 6e ack,.$this->lstack);..if.(!$r.in
171020 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 3b stanceof.Undefined).{.return.$r;
171040 0a 7d 0a 0a 69 66 20 28 24 6c 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 63 6b 28 .}..if.($len).{.$this->popStack(
171060 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 $len);.}..$this->stack[].=.$this
171080 2d 3e 70 72 6f 64 75 63 74 69 6f 6e 73 5f 5b 24 61 63 74 69 6f 6e 5b 31 5d 5d 5b 30 5d 3b 20 0a ->productions_[$action[1]][0];..
1710a0 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 5b 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e .$this->vstack[].=.$yyval->token
1710c0 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 73 74 6f 72 ;.$this->lstack[].=.$yyval->stor
1710e0 65 3b 0a 24 6e 65 77 53 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 74 68 69 e;.$newState.=.$this->table[$thi
171100 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 32 5d 5d s->stack[count($this->stack)-2]]
171120 5b 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b [$this->stack[count($this->stack
171140 29 2d 31 5d 5d 3b 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 6e 65 77 53 74 61 74 )-1]];.$this->stack[].=.$newStat
171160 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 33 3a 20 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 e;.break;..case.3:...return.true
171180 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 ;.}.}..return.true;.}..protected
1711a0 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 45 72 72 6f 72 28 24 73 74 72 2c 20 24 68 61 73 68 .function.parseError($str,.$hash
1711c0 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 ).{.throw.new.ParsingException($
1711e0 73 74 72 2c 20 24 68 61 73 68 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 70 72 69 76 61 74 65 20 66 75 str,.$hash);.}........private.fu
171200 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 73 74 64 43 6c 61 73 73 20 24 79 nction.performAction(stdClass.$y
171220 79 76 61 6c 2c 20 24 79 79 74 65 78 74 2c 20 24 79 79 6c 65 6e 67 2c 20 24 79 79 6c 69 6e 65 6e yval,.$yytext,.$yyleng,.$yylinen
171240 6f 2c 20 24 79 79 73 74 61 74 65 2c 20 26 24 74 6f 6b 65 6e 73 29 0a 7b 0a 0a 20 24 6c 65 6e 20 o,.$yystate,.&$tokens).{...$len.
171260 3d 20 63 6f 75 6e 74 28 24 74 6f 6b 65 6e 73 29 20 2d 20 31 3b 0a 73 77 69 74 63 68 20 28 24 79 =.count($tokens).-.1;.switch.($y
171280 79 73 74 61 74 65 29 20 7b 0a 63 61 73 65 20 31 3a 0a 24 79 79 74 65 78 74 20 3d 20 70 72 65 67 ystate).{.case.1:.$yytext.=.preg
1712a0 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 28 3f 3a 5c 5c 5c 5c 5b 22 62 66 6e _replace_callback('{(?:\\\\["bfn
1712c0 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 5b 61 2d 66 41 2d 46 30 2d 39 5d 7b 34 7d 29 7d 27 2c rt/\\\\]|\\\\u[a-fA-F0-9]{4})}',
1712e0 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 73 74 72 69 6e 67 49 6e 74 65 72 70 6f 6c 61 74 69 .array($this,.'stringInterpolati
171300 6f 6e 27 29 2c 20 24 79 79 74 65 78 74 29 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 on'),.$yytext);.$yyval->token.=.
171320 24 79 79 74 65 78 74 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 3a 0a 69 66 20 28 73 74 72 70 $yytext;.break;.case.2:.if.(strp
171340 6f 73 28 24 79 79 74 65 78 74 2c 20 27 65 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 73 74 os($yytext,.'e').!==.false.||.st
171360 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 45 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a rpos($yytext,.'E').!==.false).{.
171380 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 $yyval->token.=.floatval($yytext
1713a0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 73 74 72 70 );.}.else.{.$yyval->token.=.strp
1713c0 6f 73 28 24 79 79 74 65 78 74 2c 20 27 2e 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 69 6e 74 os($yytext,.'.').===.false.?.int
1713e0 76 61 6c 28 24 79 79 74 65 78 74 29 20 3a 20 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 29 val($yytext).:.floatval($yytext)
171400 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 33 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e ;.}.break;.case.3:.$yyval->token
171420 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 34 3a 0a 24 79 79 76 61 6c 2d 3e .=.null;.break;.case.4:.$yyval->
171440 74 6f 6b 65 6e 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 35 3a 0a 24 79 79 token.=.true;.break;.case.5:.$yy
171460 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 val->token.=.false;.break;.case.
171480 36 3a 0a 72 65 74 75 72 6e 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 6:.return.$yyval->token.=.$token
1714a0 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 63 61 73 65 20 31 33 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 s[$len-1];.case.13:.if.($this->f
1714c0 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 lags.&.self::PARSE_TO_ASSOC).{.$
1714e0 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b yyval->token.=.array();.}.else.{
171500 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 7d .$yyval->token.=.new.stdClass;.}
171520 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 34 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d .break;.case.14:.$yyval->token.=
171540 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 35 .$tokens[$len-1];.break;.case.15
171560 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b :.$yyval->token.=.array($tokens[
171580 24 6c 65 6e 2d 32 5d 2c 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b 3b 0a $len-2],.$tokens[$len]);.break;.
1715a0 63 61 73 65 20 31 36 3a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 case.16:.if.(PHP_VERSION_ID.<.70
1715c0 31 30 30 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 100).{.$property.=.$tokens[$len]
1715e0 5b 30 5d 20 3d 3d 3d 20 27 27 20 3f 20 27 5f 65 6d 70 74 79 5f 27 20 3a 20 24 74 6f 6b 65 6e 73 [0].===.''.?.'_empty_'.:.$tokens
171600 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 [$len][0];.}.else.{.$property.=.
171620 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 $tokens[$len][0];.}.if.($this->f
171640 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 lags.&.self::PARSE_TO_ASSOC).{.$
171660 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 79 79 76 61 6c 2d 3e yyval->token.=.array();.$yyval->
171680 74 6f 6b 65 6e 5b 24 70 72 6f 70 65 72 74 79 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d token[$property].=.$tokens[$len]
1716a0 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 65 [1];.}.else.{.$yyval->token.=.ne
1716c0 77 20 73 74 64 43 6c 61 73 73 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 2d 3e 24 70 72 6f 70 w.stdClass;.$yyval->token->$prop
1716e0 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b erty.=.$tokens[$len][1];.}.break
171700 3b 0a 63 61 73 65 20 31 37 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 ;.case.17:.if.($this->flags.&.se
171720 6c 66 3a 3a 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f lf::PARSE_TO_ASSOC).{.$yyval->to
171740 6b 65 6e 20 3d 26 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 3b 0a 24 6b 65 79 20 3d 20 24 ken.=&.$tokens[$len-2];.$key.=.$
171760 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 tokens[$len][0];.if.(($this->fla
171780 67 73 20 26 20 73 65 6c 66 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 gs.&.self::DETECT_KEY_CONFLICTS)
1717a0 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 .&&.isset($tokens[$len-2][$key])
1717c0 29 20 7b 0a 24 65 72 72 53 74 72 20 3d 20 27 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 ).{.$errStr.=.'Parse.error.on.li
1717e0 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 ne.'...($yylineno+1)...":\n";.$e
171800 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 rrStr..=.$this->lexer->showPosit
171820 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 22 44 75 70 6c 69 63 ion()..."\n";.$errStr..=."Duplic
171840 61 74 65 20 6b 65 79 3a 20 22 2e 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 74 68 72 ate.key:.".$tokens[$len][0];.thr
171860 6f 77 20 6e 65 77 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 28 24 65 72 ow.new.DuplicateKeyException($er
171880 72 53 74 72 2c 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 2c 20 61 72 72 61 79 28 27 6c rStr,.$tokens[$len][0],.array('l
1718a0 69 6e 65 27 20 3d 3e 20 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 ine'.=>.$yylineno+1));.}.elseif.
1718c0 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 41 4c 4c 4f 57 5f 44 55 50 (($this->flags.&.self::ALLOW_DUP
1718e0 4c 49 43 41 54 45 5f 4b 45 59 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c LICATE_KEYS).&&.isset($tokens[$l
171900 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 20 en-2][$key])).{.$duplicateCount.
171920 3d 20 31 3b 0a 64 6f 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 4b 65 79 20 3d 20 24 6b 65 79 20 2e =.1;.do.{.$duplicateKey.=.$key..
171940 20 27 2e 27 20 2e 20 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 77 68 69 6c .'.'...$duplicateCount++;.}.whil
171960 65 20 28 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 64 75 70 6c 69 63 e.(isset($tokens[$len-2][$duplic
171980 61 74 65 4b 65 79 5d 29 29 3b 0a 24 6b 65 79 20 3d 20 24 64 75 70 6c 69 63 61 74 65 4b 65 79 3b ateKey]));.$key.=.$duplicateKey;
1719a0 0a 7d 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 6f 6b 65 .}.$tokens[$len-2][$key].=.$toke
1719c0 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f ns[$len][1];.}.else.{.$yyval->to
1719e0 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 3b 0a 69 66 20 28 50 48 50 5f 56 ken.=.$tokens[$len-2];.if.(PHP_V
171a00 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 30 30 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b ERSION_ID.<.70100).{.$key.=.$tok
171a20 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 20 3d 3d 3d 20 27 27 20 3f 20 27 5f 65 6d 70 74 79 5f 27 20 ens[$len][0].===.''.?.'_empty_'.
171a40 3a 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 65 :.$tokens[$len][0];.}.else.{.$ke
171a60 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 0a 69 66 20 28 28 24 74 68 y.=.$tokens[$len][0];.}.if.(($th
171a80 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e is->flags.&.self::DETECT_KEY_CON
171aa0 46 4c 49 43 54 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d FLICTS).&&.isset($tokens[$len-2]
171ac0 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 65 72 72 53 74 72 20 3d 20 27 50 61 72 73 65 20 65 72 ->{$key})).{.$errStr.=.'Parse.er
171ae0 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 ror.on.line.'...($yylineno+1)...
171b00 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e ":\n";.$errStr..=.$this->lexer->
171b20 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e showPosition()..."\n";.$errStr..
171b40 3d 20 22 44 75 70 6c 69 63 61 74 65 20 6b 65 79 3a 20 22 2e 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e =."Duplicate.key:.".$tokens[$len
171b60 5d 5b 30 5d 3b 0a 74 68 72 6f 77 20 6e 65 77 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 ][0];.throw.new.DuplicateKeyExce
171b80 70 74 69 6f 6e 28 24 65 72 72 53 74 72 2c 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 2c ption($errStr,.$tokens[$len][0],
171ba0 20 61 72 72 61 79 28 27 6c 69 6e 65 27 20 3d 3e 20 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 29 3b 0a .array('line'.=>.$yylineno+1));.
171bc0 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a }.elseif.(($this->flags.&.self::
171be0 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 29 20 26 26 20 69 73 73 65 74 28 24 ALLOW_DUPLICATE_KEYS).&&.isset($
171c00 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 64 75 70 6c tokens[$len-2]->{$key})).{.$dupl
171c20 69 63 61 74 65 43 6f 75 6e 74 20 3d 20 31 3b 0a 64 6f 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 4b icateCount.=.1;.do.{.$duplicateK
171c40 65 79 20 3d 20 24 6b 65 79 20 2e 20 27 2e 27 20 2e 20 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e ey.=.$key...'.'...$duplicateCoun
171c60 74 2b 2b 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e t++;.}.while.(isset($tokens[$len
171c80 2d 32 5d 2d 3e 24 64 75 70 6c 69 63 61 74 65 4b 65 79 29 29 3b 0a 24 6b 65 79 20 3d 20 24 64 75 -2]->$duplicateKey));.$key.=.$du
171ca0 70 6c 69 63 61 74 65 4b 65 79 3b 0a 7d 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 plicateKey;.}.$tokens[$len-2]->$
171cc0 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b key.=.$tokens[$len][1];.}.break;
171ce0 0a 63 61 73 65 20 31 38 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 .case.18:.$yyval->token.=.array(
171d00 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 39 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e );.break;.case.19:.$yyval->token
171d20 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 .=.$tokens[$len-1];.break;.case.
171d40 32 30 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 20:.$yyval->token.=.array($token
171d60 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 31 3a 0a 24 74 6f 6b 65 6e s[$len]);.break;.case.21:.$token
171d80 73 5b 24 6c 65 6e 2d 32 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 3b 0a 24 79 79 s[$len-2][].=.$tokens[$len];.$yy
171da0 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 3b 0a 62 72 val->token.=.$tokens[$len-2];.br
171dc0 65 61 6b 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 3b 0a eak;.}..return.new.Undefined();.
171de0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 6e 67 49 6e 74 65 72 70 }..private.function.stringInterp
171e00 6f 6c 61 74 69 6f 6e 28 24 6d 61 74 63 68 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6d 61 74 63 68 olation($match).{.switch.($match
171e20 5b 30 5d 29 20 7b 0a 63 61 73 65 20 27 5c 5c 5c 5c 27 3a 0a 72 65 74 75 72 6e 20 27 5c 5c 27 3b [0]).{.case.'\\\\':.return.'\\';
171e40 0a 63 61 73 65 20 27 5c 22 27 3a 0a 72 65 74 75 72 6e 20 27 22 27 3b 0a 63 61 73 65 20 27 5c 62 .case.'\"':.return.'"';.case.'\b
171e60 27 3a 0a 72 65 74 75 72 6e 20 63 68 72 28 38 29 3b 0a 63 61 73 65 20 27 5c 66 27 3a 0a 72 65 74 ':.return.chr(8);.case.'\f':.ret
171e80 75 72 6e 20 63 68 72 28 31 32 29 3b 0a 63 61 73 65 20 27 5c 6e 27 3a 0a 72 65 74 75 72 6e 20 22 urn.chr(12);.case.'\n':.return."
171ea0 5c 6e 22 3b 0a 63 61 73 65 20 27 5c 72 27 3a 0a 72 65 74 75 72 6e 20 22 5c 72 22 3b 0a 63 61 73 \n";.case.'\r':.return."\r";.cas
171ec0 65 20 27 5c 74 27 3a 0a 72 65 74 75 72 6e 20 22 5c 74 22 3b 0a 63 61 73 65 20 27 5c 2f 27 3a 0a e.'\t':.return."\t";.case.'\/':.
171ee0 72 65 74 75 72 6e 20 22 2f 22 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 68 74 6d 6c return."/";.default:.return.html
171f00 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 27 26 23 78 27 2e 6c 74 72 69 6d 28 73 75 62 73 74 _entity_decode('&#x'.ltrim(subst
171f20 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 32 29 2c 20 27 30 27 29 2e 27 3b 27 2c 20 30 2c 20 27 55 r($match[0],.2),.'0').';',.0,.'U
171f40 54 46 2d 38 27 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f TF-8');.}.}..private.function.po
171f60 70 53 74 61 63 6b 28 24 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 20 3d 20 61 72 72 61 pStack($n).{.$this->stack.=.arra
171f80 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 2c 20 30 2c 20 2d 20 28 32 20 2a 20 y_slice($this->stack,.0,.-.(2.*.
171fa0 24 6e 29 29 3b 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 $n));.$this->vstack.=.array_slic
171fc0 65 28 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 2c 20 30 2c 20 2d 20 24 6e 29 3b 0a 24 74 68 69 73 e($this->vstack,.0,.-.$n);.$this
171fe0 2d 3e 6c 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 6c 73 ->lstack.=.array_slice($this->ls
172000 74 61 63 6b 2c 20 30 2c 20 2d 20 24 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 tack,.0,.-.$n);.}..private.funct
172020 69 6f 6e 20 6c 65 78 28 29 0a 7b 0a 24 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 ion.lex().{.$token.=.$this->lexe
172040 72 2d 3e 6c 65 78 28 29 20 3f 3a 20 31 3b 20 0a 20 0a 20 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 r->lex().?:.1;.....if.(!is_numer
172060 69 63 28 24 74 6f 6b 65 6e 29 29 20 7b 0a 24 74 6f 6b 65 6e 20 3d 20 69 73 73 65 74 28 24 74 68 ic($token)).{.$token.=.isset($th
172080 69 73 2d 3e 73 79 6d 62 6f 6c 73 5b 24 74 6f 6b 65 6e 5d 29 20 3f 20 24 74 68 69 73 2d 3e 73 79 is->symbols[$token]).?.$this->sy
1720a0 6d 62 6f 6c 73 5b 24 74 6f 6b 65 6e 5d 20 3a 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 mbols[$token].:.$token;.}..retur
1720c0 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 n.$token;.}..private.function.fa
1720e0 69 6c 4f 6e 42 4f 4d 28 24 69 6e 70 75 74 29 0a 7b 0a 0a 20 24 62 6f 6d 20 3d 20 22 5c 78 45 46 ilOnBOM($input).{...$bom.=."\xEF
172100 5c 78 42 42 5c 78 42 46 22 3b 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 30 \xBB\xBF";..if.(substr($input,.0
172120 2c 20 33 29 20 3d 3d 3d 20 24 62 6f 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 ,.3).===.$bom).{.$this->parseErr
172140 6f 72 28 22 42 4f 4d 20 64 65 74 65 63 74 65 64 2c 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 72 or("BOM.detected,.make.sure.your
172160 20 69 6e 70 75 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 55 6e 69 63 6f 64 .input.does.not.include.a.Unicod
172180 65 20 42 79 74 65 2d 4f 72 64 65 72 2d 4d 61 72 6b 22 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a e.Byte-Order-Mark",.array());.}.
1721a0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 }.}.<?php...........namespace.Se
1721c0 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 65 78 65 72 0a 7b ld\JsonLint;.......class.Lexer.{
1721e0 0a 70 72 69 76 61 74 65 20 24 45 4f 46 20 3d 20 31 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6c 65 .private.$EOF.=.1;.private.$rule
172200 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d 3e 20 27 2f 5e 5c 73 2b 2f 27 2c 0a 31 20 3d 3e 20 27 s.=.array(.0.=>.'/^\s+/',.1.=>.'
172220 2f 5e 2d 3f 28 5b 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d 2b 29 28 5c 2e 5b 30 2d 39 5d 2b /^-?([0-9]|[1-9][0-9]+)(\.[0-9]+
172240 29 3f 28 5b 65 45 5d 5b 2b 2d 5d 3f 5b 30 2d 39 5d 2b 29 3f 5c 62 2f 27 2c 0a 32 20 3d 3e 20 27 )?([eE][+-]?[0-9]+)?\b/',.2.=>.'
172260 7b 5e 22 28 3f 3e 5c 5c 5c 5c 5b 22 62 66 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 5b 61 2d {^"(?>\\\\["bfnrt/\\\\]|\\\\u[a-
172280 66 41 2d 46 30 2d 39 5d 7b 34 7d 7c 5b 5e 5c 30 2d 5c 78 31 66 5c 5c 5c 5c 22 5d 2b 2b 29 2a 2b fA-F0-9]{4}|[^\0-\x1f\\\\"]++)*+
1722a0 22 7d 27 2c 0a 33 20 3d 3e 20 27 2f 5e 5c 7b 2f 27 2c 0a 34 20 3d 3e 20 27 2f 5e 5c 7d 2f 27 2c "}',.3.=>.'/^\{/',.4.=>.'/^\}/',
1722c0 0a 35 20 3d 3e 20 27 2f 5e 5c 5b 2f 27 2c 0a 36 20 3d 3e 20 27 2f 5e 5c 5d 2f 27 2c 0a 37 20 3d .5.=>.'/^\[/',.6.=>.'/^\]/',.7.=
1722e0 3e 20 27 2f 5e 2c 2f 27 2c 0a 38 20 3d 3e 20 27 2f 5e 3a 2f 27 2c 0a 39 20 3d 3e 20 27 2f 5e 74 >.'/^,/',.8.=>.'/^:/',.9.=>.'/^t
172300 72 75 65 5c 62 2f 27 2c 0a 31 30 20 3d 3e 20 27 2f 5e 66 61 6c 73 65 5c 62 2f 27 2c 0a 31 31 20 rue\b/',.10.=>.'/^false\b/',.11.
172320 3d 3e 20 27 2f 5e 6e 75 6c 6c 5c 62 2f 27 2c 0a 31 32 20 3d 3e 20 27 2f 5e 24 2f 27 2c 0a 31 33 =>.'/^null\b/',.12.=>.'/^$/',.13
172340 20 3d 3e 20 27 2f 5e 2e 2f 27 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 .=>.'/^./',.);..private.$conditi
172360 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 22 49 4e 49 54 49 41 4c 22 20 3d 3e 20 61 72 72 61 79 28 ons.=.array(."INITIAL".=>.array(
172380 0a 22 72 75 6c 65 73 22 20 3d 3e 20 61 72 72 61 79 28 30 2c 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c ."rules".=>.array(0,1,2,3,4,5,6,
1723a0 37 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 32 2c 31 33 29 2c 0a 22 69 6e 63 6c 75 73 69 76 65 22 20 7,8,9,10,11,12,13),."inclusive".
1723c0 3d 3e 20 74 72 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 =>.true,.),.);..private.$conditi
1723e0 6f 6e 53 74 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 onStack;.private.$input;.private
172400 20 24 6d 6f 72 65 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 .$more;.private.$done;.private.$
172420 6d 61 74 63 68 65 64 3b 0a 0a 70 75 62 6c 69 63 20 24 6d 61 74 63 68 3b 0a 70 75 62 6c 69 63 20 matched;..public.$match;.public.
172440 24 79 79 6c 69 6e 65 6e 6f 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 65 6e 67 3b 0a 70 75 62 6c 69 $yylineno;.public.$yyleng;.publi
172460 63 20 24 79 79 74 65 78 74 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 6c 6f 63 3b 0a 0a 70 75 62 6c c.$yytext;.public.$yylloc;..publ
172480 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 78 28 29 0a 7b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e ic.function.lex().{.$r.=.$this->
1724a0 6e 65 78 74 28 29 3b 0a 69 66 20 28 21 24 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 next();.if.(!$r.instanceof.Undef
1724c0 69 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 ined).{.return.$r;.}..return.$th
1724e0 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 is->lex();.}..public.function.se
172500 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 tInput($input).{.$this->input.=.
172520 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 $input;.$this->more.=.false;.$th
172540 69 73 2d 3e 64 6f 6e 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e is->done.=.false;.$this->yylinen
172560 6f 20 3d 20 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 79 79 o.=.$this->yyleng.=.0;.$this->yy
172580 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 6d text.=.$this->matched.=.$this->m
1725a0 61 74 63 68 20 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b atch.=.'';.$this->conditionStack
1725c0 20 3d 20 61 72 72 61 79 28 27 49 4e 49 54 49 41 4c 27 29 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 6c .=.array('INITIAL');.$this->yyll
1725e0 6f 63 20 3d 20 61 72 72 61 79 28 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 31 2c 20 27 66 oc.=.array('first_line'.=>.1,.'f
172600 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 30 2c 20 27 6c 61 73 74 5f 6c 69 6e 65 27 20 3d irst_column'.=>.0,.'last_line'.=
172620 3e 20 31 2c 20 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 30 29 3b 0a 0a 72 65 74 75 72 >.1,.'last_column'.=>.0);..retur
172640 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 n.$this;.}..public.function.show
172660 50 6f 73 69 74 69 6f 6e 28 29 0a 7b 0a 24 70 72 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 Position().{.$pre.=.str_replace(
172680 22 5c 6e 22 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 "\n",.'',.$this->getPastInput())
1726a0 3b 0a 24 63 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 6d 61 78 28 30 2c 20 73 74 ;.$c.=.str_repeat('-',.max(0,.st
1726c0 72 6c 65 6e 28 24 70 72 65 29 20 2d 20 31 29 29 3b 20 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 20 rlen($pre).-.1));...return.$pre.
1726e0 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 67 ..str_replace("\n",.'',.$this->g
172700 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 29 20 2e 20 22 5c 6e 22 20 2e 20 24 63 20 2e etUpcomingInput())..."\n"...$c..
172720 20 22 5e 22 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 73 74 ."^";.}..public.function.getPast
172740 49 6e 70 75 74 28 29 0a 7b 0a 24 70 61 73 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e Input().{.$past.=.substr($this->
172760 6d 61 74 63 68 65 64 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 matched,.0,.strlen($this->matche
172780 64 29 20 2d 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 29 29 3b 0a 0a 72 65 74 d).-.strlen($this->match));..ret
1727a0 75 72 6e 20 28 73 74 72 6c 65 6e 28 24 70 61 73 74 29 20 3e 20 32 30 20 3f 20 27 2e 2e 2e 27 20 urn.(strlen($past).>.20.?.'...'.
1727c0 3a 20 27 27 29 20 2e 20 73 75 62 73 74 72 28 24 70 61 73 74 2c 20 2d 32 30 29 3b 0a 7d 0a 0a 70 :.'')...substr($past,.-20);.}..p
1727e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 ublic.function.getUpcomingInput(
172800 29 0a 7b 0a 24 6e 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 3b 0a 69 66 20 28 73 74 ).{.$next.=.$this->match;.if.(st
172820 72 6c 65 6e 28 24 6e 65 78 74 29 20 3c 20 32 30 29 20 7b 0a 24 6e 65 78 74 20 2e 3d 20 73 75 62 rlen($next).<.20).{.$next..=.sub
172840 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 30 2c 20 32 30 20 2d 20 73 74 72 6c 65 6e str($this->input,.0,.20.-.strlen
172860 28 24 6e 65 78 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 6e 65 78 74 ($next));.}..return.substr($next
172880 2c 20 30 2c 20 32 30 29 20 2e 20 28 73 74 72 6c 65 6e 28 24 6e 65 78 74 29 20 3e 20 32 30 20 3f ,.0,.20)...(strlen($next).>.20.?
1728a0 20 27 2e 2e 2e 27 20 3a 20 27 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .'...'.:.'');.}..protected.funct
1728c0 69 6f 6e 20 70 61 72 73 65 45 72 72 6f 72 28 24 73 74 72 2c 20 24 68 61 73 68 29 0a 7b 0a 74 68 ion.parseError($str,.$hash).{.th
1728e0 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 24 73 74 72 29 3b 0a 7d 0a 0a 70 72 69 row.new.\Exception($str);.}..pri
172900 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 vate.function.next().{.if.($this
172920 2d 3e 64 6f 6e 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 69 ->done).{.return.$this->EOF;.}.i
172940 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 3d 3d 20 27 27 29 20 7b 0a 24 74 68 69 73 2d f.($this->input.===.'').{.$this-
172960 3e 64 6f 6e 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 3b 0a >done.=.true;.}..$token.=.null;.
172980 24 6d 61 74 63 68 20 3d 20 6e 75 6c 6c 3b 0a 24 63 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 69 6e $match.=.null;.$col.=.null;.$lin
1729a0 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 6f 72 65 29 20 7b 0a es.=.null;..if.(!$this->more).{.
1729c0 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 $this->yytext.=.'';.$this->match
1729e0 20 3d 20 27 27 3b 0a 7d 0a 0a 24 72 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 .=.'';.}..$rules.=.$this->getCur
172a00 72 65 6e 74 52 75 6c 65 73 28 29 3b 0a 24 72 75 6c 65 73 4c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 rentRules();.$rulesLen.=.count($
172a20 72 75 6c 65 73 29 3b 0a 0a 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 20 3c 20 24 72 75 6c 65 73 4c rules);..for.($i=0;.$i.<.$rulesL
172a40 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 68 69 73 en;.$i++).{.if.(preg_match($this
172a60 2d 3e 72 75 6c 65 73 5b 24 72 75 6c 65 73 5b 24 69 5d 5d 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 ->rules[$rules[$i]],.$this->inpu
172a80 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 5c t,.$match)).{.preg_match_all('/\
172aa0 6e 2e 2a 2f 27 2c 20 24 6d 61 74 63 68 5b 30 5d 2c 20 24 6c 69 6e 65 73 29 3b 0a 24 6c 69 6e 65 n.*/',.$match[0],.$lines);.$line
172ac0 73 20 3d 20 24 6c 69 6e 65 73 5b 30 5d 3b 0a 69 66 20 28 24 6c 69 6e 65 73 29 20 7b 0a 24 74 68 s.=.$lines[0];.if.($lines).{.$th
172ae0 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 20 2b 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 3b 0a 7d is->yylineno.+=.count($lines);.}
172b00 0a 0a 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 20 3d 20 61 72 72 61 79 28 0a 27 66 69 72 73 74 5f ..$this->yylloc.=.array(.'first_
172b20 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 6c 69 6e line'.=>.$this->yylloc['last_lin
172b40 65 27 5d 2c 0a 27 6c 61 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 69 6e e'],.'last_line'.=>.$this->yylin
172b60 65 6e 6f 2b 31 2c 0a 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e eno+1,.'first_column'.=>.$this->
172b80 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 27 6c 61 73 74 5f 63 6f 6c yylloc['last_column'],.'last_col
172ba0 75 6d 6e 27 20 3d 3e 20 24 6c 69 6e 65 73 20 3f 20 73 74 72 6c 65 6e 28 24 6c 69 6e 65 73 5b 63 umn'.=>.$lines.?.strlen($lines[c
172bc0 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 2d 20 31 5d 29 20 2d 20 31 20 3a 20 24 74 68 69 73 2d 3e ount($lines).-.1]).-.1.:.$this->
172be0 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 20 2b 20 73 74 72 6c 65 6e 28 24 yylloc['last_column'].+.strlen($
172c00 6d 61 74 63 68 5b 30 5d 29 2c 0a 29 3b 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 2e 3d 20 24 match[0]),.);.$this->yytext..=.$
172c20 6d 61 74 63 68 5b 30 5d 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 2e 3d 20 24 6d 61 74 63 68 match[0];.$this->match..=.$match
172c40 5b 30 5d 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d 20 73 74 72 6c 65 6e 28 24 74 68 69 [0];.$this->yyleng.=.strlen($thi
172c60 73 2d 3e 79 79 74 65 78 74 29 3b 0a 24 74 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b s->yytext);.$this->more.=.false;
172c80 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e .$this->input.=.substr($this->in
172ca0 70 75 74 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 29 3b 0a 24 74 68 69 73 2d 3e put,.strlen($match[0]));.$this->
172cc0 6d 61 74 63 68 65 64 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 24 74 6f 6b 65 6e 20 3d 20 24 matched..=.$match[0];.$token.=.$
172ce0 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 24 72 75 6c 65 73 5b 24 69 5d 2c 20 this->performAction($rules[$i],.
172d00 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 $this->conditionStack[count($thi
172d20 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 5d 29 3b 0a 69 66 20 28 24 74 6f 6b s->conditionStack)-1]);.if.($tok
172d40 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e en).{.return.$token;.}..return.n
172d60 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e ew.Undefined();.}.}..if.($this->
172d80 69 6e 70 75 74 20 3d 3d 3d 20 22 22 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 45 4f input.===."").{.return.$this->EO
172da0 46 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 6f 72 28 0a 27 4c 65 78 69 63 61 F;.}..$this->parseError(.'Lexica
172dc0 6c 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 74 68 69 73 2d 3e 79 79 6c 69 l.error.on.line.'...($this->yyli
172de0 6e 65 6e 6f 2b 31 29 20 2e 20 22 2e 20 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 74 65 78 74 2e 5c neno+1)..."..Unrecognized.text.\
172e00 6e 22 20 2e 20 24 74 68 69 73 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 2c 0a 61 72 72 61 n"...$this->showPosition(),.arra
172e20 79 28 0a 27 74 65 78 74 27 20 3d 3e 20 22 22 2c 0a 27 74 6f 6b 65 6e 27 20 3d 3e 20 6e 75 6c 6c y(.'text'.=>."",.'token'.=>.null
172e40 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a 29 0a 29 ,.'line'.=>.$this->yylineno,.).)
172e60 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 ;.}..private.function.getCurrent
172e80 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f Rules().{.return.$this->conditio
172ea0 6e 73 5b 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 ns[$this->conditionStack[count($
172ec0 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 5d 5d 5b 27 72 75 6c 65 73 this->conditionStack)-1]]['rules
172ee0 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 41 '];.}..private.function.performA
172f00 63 74 69 6f 6e 28 24 61 76 6f 69 64 69 6e 67 5f 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 6f 6e 73 2c ction($avoiding_name_collisions,
172f20 20 24 59 59 5f 53 54 41 52 54 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 61 76 6f 69 64 69 6e 67 5f .$YY_START).{.switch.($avoiding_
172f40 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 6f 6e 73 29 20 7b 0a 63 61 73 65 20 30 3a 0a 62 72 65 61 6b name_collisions).{.case.0:.break
172f60 3b 0a 63 61 73 65 20 31 3a 0a 72 65 74 75 72 6e 20 36 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 ;.case.1:.return.6;.break;.case.
172f80 32 3a 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 2:.$this->yytext.=.substr($this-
172fa0 3e 79 79 74 65 78 74 2c 20 31 2c 20 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 2d 32 29 3b 0a 0a 72 >yytext,.1,.$this->yyleng-2);..r
172fc0 65 74 75 72 6e 20 34 3b 0a 63 61 73 65 20 33 3a 0a 72 65 74 75 72 6e 20 31 37 3b 0a 63 61 73 65 eturn.4;.case.3:.return.17;.case
172fe0 20 34 3a 0a 72 65 74 75 72 6e 20 31 38 3b 0a 63 61 73 65 20 35 3a 0a 72 65 74 75 72 6e 20 32 33 .4:.return.18;.case.5:.return.23
173000 3b 0a 63 61 73 65 20 36 3a 0a 72 65 74 75 72 6e 20 32 34 3b 0a 63 61 73 65 20 37 3a 0a 72 65 74 ;.case.6:.return.24;.case.7:.ret
173020 75 72 6e 20 32 32 3b 0a 63 61 73 65 20 38 3a 0a 72 65 74 75 72 6e 20 32 31 3b 0a 63 61 73 65 20 urn.22;.case.8:.return.21;.case.
173040 39 3a 0a 72 65 74 75 72 6e 20 31 30 3b 0a 63 61 73 65 20 31 30 3a 0a 72 65 74 75 72 6e 20 31 31 9:.return.10;.case.10:.return.11
173060 3b 0a 63 61 73 65 20 31 31 3a 0a 72 65 74 75 72 6e 20 38 3b 0a 63 61 73 65 20 31 32 3a 0a 72 65 ;.case.11:.return.8;.case.12:.re
173080 74 75 72 6e 20 31 34 3b 0a 63 61 73 65 20 31 33 3a 0a 72 65 74 75 72 6e 20 27 49 4e 56 41 4c 49 turn.14;.case.13:.return.'INVALI
1730a0 44 27 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 D';.}.}.}.<?php...........namesp
1730c0 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 50 61 72 73 69 6e ace.Seld\JsonLint;..class.Parsin
1730e0 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a gException.extends.\Exception.{.
173100 70 72 6f 74 65 63 74 65 64 20 24 64 65 74 61 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 protected.$details;..public.func
173120 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 61 tion.__construct($message,.$deta
173140 69 6c 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 20 ils.=.array()).{.$this->details.
173160 3d 20 24 64 65 74 61 69 6c 73 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 =.$details;.parent::__construct(
173180 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 $message);.}..public.function.ge
1731a0 74 44 65 74 61 69 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 74 61 69 tDetails().{.return.$this->detai
1731c0 6c 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ls;.}.}.<?php...........namespac
1731e0 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 e.Seld\JsonLint;..class.Undefine
173200 64 0a 7b 0a 7d 0a 4d 49 54 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 d.{.}.MIT.License..Copyright.(c)
173220 20 32 30 31 36 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e .2016..Permission.is.hereby.gran
173240 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 ted,.free.of.charge,.to.any.pers
173260 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 on.obtaining.a.copy.of.this.soft
173280 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f ware.and.associated.documentatio
1732a0 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 n.files.(the."Software"),.to.dea
1732c0 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 l.in.the.Software.without.restri
1732e0 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 ction,.including.without.limitat
173300 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 ion.the.rights.to.use,.copy,.mod
173320 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c ify,.merge,.publish,.distribute,
173340 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 .sublicense,.and/or.sell.copies.
173360 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 of.the.Software,.and.to.permit.p
173380 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 66 ersons.to.whom.the.Software.is.f
1733a0 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 urnished.to.do.so,.subject.to.th
1733c0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f e.following.conditions:..The.abo
1733e0 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 ve.copyright.notice.and.this.per
173400 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 mission.notice.shall.be.included
173420 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f .in.all.copies.or.substantial.po
173440 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 rtions.of.the.Software...THE.SOF
173460 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f TWARE.IS.PROVIDED."AS.IS",.WITHO
173480 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 UT.WARRANTY.OF.ANY.KIND,.EXPRESS
1734a0 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c .OR.IMPLIED,.INCLUDING.BUT.NOT.L
1734c0 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 IMITED.TO.THE.WARRANTIES.OF.MERC
1734e0 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 HANTABILITY,.FITNESS.FOR.A.PARTI
173500 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e CULAR.PURPOSE.AND.NONINFRINGEMEN
173520 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 T..IN.NO.EVENT.SHALL.THE.AUTHORS
173540 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 .OR.COPYRIGHT.HOLDERS.BE.LIABLE.
173560 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a FOR.ANY.CLAIM,.DAMAGES.OR.OTHER.
173580 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 LIABILITY,.WHETHER.IN.AN.ACTION.
1735a0 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 OF.CONTRACT,.TORT.OR.OTHERWISE,.
1735c0 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 ARISING.FROM,.OUT.OF.OR.IN.CONNE
1735e0 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 CTION.WITH.THE.SOFTWARE.OR.THE.U
173600 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 SE.OR.OTHER.DEALINGS.IN.THE.SOFT
173620 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 WARE..<?php..require.__DIR__...'
173640 2f 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 24 64 61 74 61 /../vendor/autoload.php';..$data
173660 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 .=.json_decode(file_get_contents
173680 28 27 64 61 74 61 2e 6a 73 6f 6e 27 29 29 3b 0a 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e ('data.json'));...$validator.=.n
1736a0 65 77 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 28 29 3b 0a 24 76 61 6c 69 ew.JsonSchema\Validator();.$vali
1736c0 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 64 61 74 61 2c 20 28 6f 62 6a 65 63 74 29 20 61 72 72 dator->check($data,.(object).arr
1736e0 61 79 28 27 24 72 65 66 27 20 3d 3e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 ay('$ref'.=>.'file://'...realpat
173700 68 28 27 73 63 68 65 6d 61 2e 6a 73 6f 6e 27 29 29 29 3b 0a 0a 69 66 20 28 24 76 61 6c 69 64 61 h('schema.json')));..if.($valida
173720 74 6f 72 2d 3e 69 73 56 61 6c 69 64 28 29 29 20 7b 0a 65 63 68 6f 20 22 54 68 65 20 73 75 70 70 tor->isValid()).{.echo."The.supp
173740 6c 69 65 64 20 4a 53 4f 4e 20 76 61 6c 69 64 61 74 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 20 lied.JSON.validates.against.the.
173760 73 63 68 65 6d 61 2e 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 65 63 68 6f 20 22 4a 53 4f 4e 20 schema.\n";.}.else.{.echo."JSON.
173780 64 6f 65 73 20 6e 6f 74 20 76 61 6c 69 64 61 74 65 2e 20 56 69 6f 6c 61 74 69 6f 6e 73 3a 5c 6e does.not.validate..Violations:\n
1737a0 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 ";.foreach.($validator->getError
1737c0 73 28 29 20 61 73 20 24 65 72 72 6f 72 29 20 7b 0a 65 63 68 6f 20 73 70 72 69 6e 74 66 28 22 5b s().as.$error).{.echo.sprintf("[
1737e0 25 73 5d 20 25 73 5c 6e 22 2c 20 24 65 72 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 2c 20 24 %s].%s\n",.$error['property'],.$
173800 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a error['message']);.}.}.<?php....
173820 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 .....namespace.JsonSchema\Constr
173840 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 aints;..use.JsonSchema\Entity\Js
173860 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 onPointer;.use.JsonSchema\Except
173880 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 ion\InvalidArgumentException;.us
1738a0 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f e.JsonSchema\Exception\Validatio
1738c0 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 nException;.use.JsonSchema\Valid
1738e0 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 0a ator;......class.BaseConstraint.
173900 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 {....protected.$errors.=.array()
173920 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 4d 61 73 6b 20 3d 20 56 61 6c ;.....protected.$errorMask.=.Val
173940 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 4e 4f 4e 45 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 idator::ERROR_NONE;.....protecte
173960 64 20 24 66 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 d.$factory;.....public.function.
173980 5f 5f 63 6f 6e 73 74 72 75 63 74 28 46 61 63 74 6f 72 79 20 24 66 61 63 74 6f 72 79 20 3d 20 6e __construct(Factory.$factory.=.n
1739a0 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 20 3d 20 24 66 61 63 74 6f 72 79 ull).{.$this->factory.=.$factory
1739c0 20 3f 3a 20 6e 65 77 20 46 61 63 74 6f 72 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e .?:.new.Factory();.}..public.fun
1739e0 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 ction.addError(JsonPointer.$path
173a00 20 3d 20 6e 75 6c 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d .=.null,.$message,.$constraint.=
173a20 20 27 27 2c 20 61 72 72 61 79 20 24 6d 6f 72 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 72 72 6f .'',.array.$more.=.null).{.$erro
173a40 72 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f 70 65 72 74 79 27 20 3d 3e 20 24 74 68 69 73 2d 3e r.=.array(.'property'.=>.$this->
173a60 63 6f 6e 76 65 72 74 4a 73 6f 6e 50 6f 69 6e 74 65 72 49 6e 74 6f 50 72 6f 70 65 72 74 79 50 61 convertJsonPointerIntoPropertyPa
173a80 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 29 th($path.?:.new.JsonPointer(''))
173aa0 2c 0a 27 70 6f 69 6e 74 65 72 27 20 3d 3e 20 6c 74 72 69 6d 28 73 74 72 76 61 6c 28 24 70 61 74 ,.'pointer'.=>.ltrim(strval($pat
173ac0 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 29 2c 20 27 23 27 29 2c h.?:.new.JsonPointer('')),.'#'),
173ae0 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 2c 0a 27 63 6f 6e 73 74 72 61 .'message'.=>.$message,.'constra
173b00 69 6e 74 27 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 27 63 6f 6e 74 65 78 74 27 20 3d int'.=>.$constraint,.'context'.=
173b20 3e 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 >.$this->factory->getErrorContex
173b40 74 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 t(),.);..if.($this->factory->get
173b60 43 6f 6e 66 69 67 28 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 Config(Constraint::CHECK_MODE_EX
173b80 43 45 50 54 49 4f 4e 53 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6f CEPTIONS)).{.throw.new.Validatio
173ba0 6e 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 45 72 72 6f 72 20 76 61 6c 69 64 61 nException(sprintf('Error.valida
173bc0 74 69 6e 67 20 25 73 3a 20 25 73 27 2c 20 24 65 72 72 6f 72 5b 27 70 6f 69 6e 74 65 72 27 5d 2c ting.%s:.%s',.$error['pointer'],
173be0 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f .$error['message']));.}..if.(is_
173c00 61 72 72 61 79 28 24 6d 6f 72 65 29 20 26 26 20 63 6f 75 6e 74 28 24 6d 6f 72 65 29 20 3e 20 30 array($more).&&.count($more).>.0
173c20 29 20 7b 0a 24 65 72 72 6f 72 20 2b 3d 20 24 6d 6f 72 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 ).{.$error.+=.$more;.}..$this->e
173c40 72 72 6f 72 73 5b 5d 20 3d 20 24 65 72 72 6f 72 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 rrors[].=.$error;.$this->errorMa
173c60 73 6b 20 7c 3d 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 3b 0a 7d 0a 0a 70 75 62 6c sk.|=.$error['context'];.}..publ
173c80 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 ic.function.addErrors(array.$err
173ca0 6f 72 73 29 0a 7b 0a 69 66 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 ors).{.if.($errors).{.$this->err
173cc0 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c ors.=.array_merge($this->errors,
173ce0 20 24 65 72 72 6f 72 73 29 3b 0a 24 65 72 72 6f 72 4d 61 73 6b 20 3d 20 26 24 74 68 69 73 2d 3e .$errors);.$errorMask.=.&$this->
173d00 65 72 72 6f 72 4d 61 73 6b 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 65 72 72 6f 72 73 2c 20 66 errorMask;.array_walk($errors,.f
173d20 75 6e 63 74 69 6f 6e 20 28 24 65 72 72 6f 72 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 61 73 unction.($error).use.(&$errorMas
173d40 6b 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d k).{.if.(isset($error['context']
173d60 29 29 20 7b 0a 24 65 72 72 6f 72 4d 61 73 6b 20 7c 3d 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 )).{.$errorMask.|=.$error['conte
173d80 78 74 27 5d 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e xt'];.}.});.}.}..public.function
173da0 20 67 65 74 45 72 72 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 .getErrors($errorContext.=.Valid
173dc0 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 0a 7b 0a 69 66 20 28 24 65 72 72 6f 72 43 6f 6e ator::ERROR_ALL).{.if.($errorCon
173de0 74 65 78 74 20 3d 3d 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 20 7b text.===.Validator::ERROR_ALL).{
173e00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e .return.$this->errors;.}..return
173e20 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 66 75 6e .array_filter($this->errors,.fun
173e40 63 74 69 6f 6e 20 28 24 65 72 72 6f 72 29 20 75 73 65 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 ction.($error).use.($errorContex
173e60 74 29 20 7b 0a 69 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 26 20 24 65 72 72 6f 72 5b t).{.if.($errorContext.&.$error[
173e80 27 63 6f 6e 74 65 78 74 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 29 3b 'context']).{.return.true;.}.});
173ea0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 45 72 72 6f 72 73 28 24 65 .}..public.function.numErrors($e
173ec0 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 rrorContext.=.Validator::ERROR_A
173ee0 4c 4c 29 0a 7b 0a 69 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 3d 3d 20 56 61 6c 69 LL).{.if.($errorContext.===.Vali
173f00 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 dator::ERROR_ALL).{.return.count
173f20 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 ($this->errors);.}..return.count
173f40 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 ($this->getErrors($errorContext)
173f60 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 0a );.}..public.function.isValid().
173f80 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 7d 0a {.return.!$this->getErrors();.}.
173fa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 .....public.function.reset().{.$
173fc0 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 65 this->errors.=.array();.$this->e
173fe0 72 72 6f 72 4d 61 73 6b 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 4e 4f 4e 45 rrorMask.=.Validator::ERROR_NONE
174000 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 ;.}.......public.function.getErr
174020 6f 72 4d 61 73 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 orMask().{.return.$this->errorMa
174040 73 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 sk;.}.........public.static.func
174060 74 69 6f 6e 20 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 61 72 72 tion.arrayToObjectRecursive($arr
174080 61 79 29 0a 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 61 72 72 61 79 ay).{.$json.=.json_encode($array
1740a0 29 3b 0a 69 66 20 28 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 20 21 3d 3d 20 5c 4a 53 );.if.(json_last_error().!==.\JS
1740c0 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 61 ON_ERROR_NONE).{.$message.=.'Una
1740e0 62 6c 65 20 74 6f 20 65 6e 63 6f 64 65 20 73 63 68 65 6d 61 20 61 72 72 61 79 20 61 73 20 4a 53 ble.to.encode.schema.array.as.JS
174100 4f 4e 27 3b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 6c ON';.if.(function_exists('json_l
174120 61 73 74 5f 65 72 72 6f 72 5f 6d 73 67 27 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 ast_error_msg')).{.$message..=.'
174140 3a 20 27 20 2e 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 5f 6d 73 67 28 29 3b 0a 7d 0a 74 :.'...json_last_error_msg();.}.t
174160 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f hrow.new.InvalidArgumentExceptio
174180 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 6f 62 6a 65 63 74 29 20 n($message);.}..return.(object).
1741a0 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a json_decode($json);.}.}.<?php...
1741c0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 ......namespace.JsonSchema\Const
1741e0 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a raints;..use.JsonSchema\Entity\J
174200 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6c 6c 65 63 74 sonPointer;........class.Collect
174220 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 ionConstraint.extends.Constraint
174240 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 .{....public.function.check(&$va
174260 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 lue,.$schema.=.null,.JsonPointer
174280 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 .$path.=.null,.$i.=.null).{...if
1742a0 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 63 6f .(isset($schema->minItems).&&.co
1742c0 75 6e 74 28 24 76 61 6c 75 65 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 unt($value).<.$schema->minItems)
1742e0 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 .{.$this->addError($path,.'There
174300 20 6d 75 73 74 20 62 65 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d .must.be.a.minimum.of.'...$schem
174320 61 2d 3e 6d 69 6e 49 74 65 6d 73 20 2e 20 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 72 a->minItems...'.items.in.the.arr
174340 61 79 27 2c 20 27 6d 69 6e 49 74 65 6d 73 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 49 74 65 6d 73 ay',.'minItems',.array('minItems
174360 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 69 '.=>.$schema->minItems));.}....i
174380 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 26 26 20 63 f.(isset($schema->maxItems).&&.c
1743a0 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 ount($value).>.$schema->maxItems
1743c0 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 ).{.$this->addError($path,.'Ther
1743e0 65 20 6d 75 73 74 20 62 65 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 e.must.be.a.maximum.of.'...$sche
174400 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 20 2e 20 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 ma->maxItems...'.items.in.the.ar
174420 72 61 79 27 2c 20 27 6d 61 78 49 74 65 6d 73 27 2c 20 61 72 72 61 79 28 27 6d 61 78 49 74 65 6d ray',.'maxItems',.array('maxItem
174440 73 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 s'.=>.$schema->maxItems));.}....
174460 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 75 6e 69 71 75 65 49 74 65 6d 73 29 20 if.(isset($schema->uniqueItems).
174480 26 26 20 24 73 63 68 65 6d 61 2d 3e 75 6e 69 71 75 65 49 74 65 6d 73 29 20 7b 0a 24 75 6e 69 71 &&.$schema->uniqueItems).{.$uniq
1744a0 75 65 20 3d 20 24 76 61 6c 75 65 3b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 ue.=.$value;.if.(is_array($value
1744c0 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 75 6e 69 71 75 65 20 3d 20 ).&&.count($value)).{.$unique.=.
1744e0 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e array_map(function.($e).{.return
174500 20 76 61 72 5f 65 78 70 6f 72 74 28 24 65 2c 20 74 72 75 65 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 .var_export($e,.true);.},.$value
174520 29 3b 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 75 6e 69 );.}.if.(count(array_unique($uni
174540 71 75 65 29 29 20 21 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d que)).!=.count($value)).{.$this-
174560 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 61 72 65 20 6e 6f 20 64 >addError($path,.'There.are.no.d
174580 75 70 6c 69 63 61 74 65 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c uplicates.allowed.in.the.array',
1745a0 20 27 75 6e 69 71 75 65 49 74 65 6d 73 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 .'uniqueItems');.}.}....if.(isse
1745c0 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 t($schema->items)).{.$this->vali
1745e0 64 61 74 65 49 74 65 6d 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 dateItems($value,.$schema,.$path
174600 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ,.$i);.}.}..........protected.fu
174620 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 49 74 65 6d 73 28 26 24 76 61 6c 75 65 2c 20 24 73 nction.validateItems(&$value,.$s
174640 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 chema.=.null,.JsonPointer.$path.
174660 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 =.null,.$i.=.null).{.if.(is_obje
174680 63 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 0a 0a 69 66 20 28 69 73 73 65 ct($schema->items)).{...if.(isse
1746a0 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 65 29 0a 26 26 20 28 0a 24 73 63 t($schema->items->type).&&.(.$sc
1746c0 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 65 20 3d 3d 20 27 73 74 72 69 6e 67 27 0a 7c 7c hema->items->type.==.'string'.||
1746e0 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 65 20 3d 3d 20 27 6e 75 6d 62 65 72 .$schema->items->type.==.'number
174700 27 0a 7c 7c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 65 20 3d 3d 20 27 69 6e '.||.$schema->items->type.==.'in
174720 74 65 67 65 72 27 0a 29 0a 26 26 20 21 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 teger'.).&&.!isset($schema->addi
174740 74 69 6f 6e 61 6c 49 74 65 6d 73 29 0a 29 20 7b 0a 0a 20 24 74 79 70 65 20 3d 20 24 73 63 68 65 tionalItems).).{...$type.=.$sche
174760 6d 61 2d 3e 69 74 65 6d 73 2d 3e 74 79 70 65 3b 0a 24 74 79 70 65 56 61 6c 69 64 61 74 6f 72 20 ma->items->type;.$typeValidator.
174780 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 =.$this->factory->createInstance
1747a0 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d For('type');.$validator.=.$this-
1747c0 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 24 74 79 70 >factory->createInstanceFor($typ
1747e0 65 20 3d 3d 3d 20 27 69 6e 74 65 67 65 72 27 20 3f 20 27 6e 75 6d 62 65 72 27 20 3a 20 24 74 79 e.===.'integer'.?.'number'.:.$ty
174800 70 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 26 pe);..foreach.($value.as.$k.=>.&
174820 24 76 29 20 7b 0a 24 6b 5f 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 $v).{.$k_path.=.$this->increment
174840 50 61 74 68 28 24 70 61 74 68 2c 20 24 6b 29 3b 0a 24 74 79 70 65 56 61 6c 69 64 61 74 6f 72 2d Path($path,.$k);.$typeValidator-
174860 3e 63 68 65 63 6b 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 6b 5f 70 61 >check($v,.$schema->items,.$k_pa
174880 74 68 2c 20 24 69 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 2c 20 th,.$i);..$validator->check($v,.
1748a0 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 6b 5f 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a $schema->items,.$k_path,.$i);.}.
1748c0 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 74 unset($v);...$this->addErrors($t
1748e0 79 70 65 56 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 24 74 68 69 ypeValidator->getErrors());.$thi
174900 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f s->addErrors($validator->getErro
174920 72 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 rs());.}.else.{.foreach.($value.
174940 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 as.$k.=>.&$v).{.$initErrors.=.$t
174960 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 his->getErrors();....$this->chec
174980 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 kUndefined($v,.$schema->items,.$
1749a0 70 61 74 68 2c 20 24 6b 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 path,.$k);....if.(count($initErr
1749c0 6f 72 73 29 20 3c 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 ors).<.count($this->getErrors())
1749e0 20 26 26 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 .&&.(isset($schema->additionalIt
174a00 65 6d 73 29 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 ems).&&.$schema->additionalItems
174a20 20 21 3d 3d 20 66 61 6c 73 65 29 29 20 7b 0a 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 20 3d 20 24 .!==.false)).{.$secondErrors.=.$
174a40 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 this->getErrors();.$this->checkU
174a60 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c ndefined($v,.$schema->additional
174a80 49 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 Items,.$path,.$k);.}....if.(isse
174aa0 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 26 26 20 63 6f 75 6e 74 28 24 73 65 63 6f 6e t($secondErrors).&&.count($secon
174ac0 64 45 72 72 6f 72 73 29 20 3c 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 dErrors).<.count($this->getError
174ae0 73 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 65 63 6f 6e 64 45 s())).{.$this->errors.=.$secondE
174b00 72 72 6f 72 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 65 63 6f 6e 64 45 72 rrors;.}.elseif.(isset($secondEr
174b20 72 6f 72 73 29 20 26 26 20 63 6f 75 6e 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 3d 3d rors).&&.count($secondErrors).==
174b40 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 20 7b 0a 24 =.count($this->getErrors())).{.$
174b60 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a this->errors.=.$initErrors;.}.}.
174b80 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 6f 72 65 61 63 unset($v);...}.}.else.{...foreac
174ba0 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 69 66 20 28 61 72 h.($value.as.$k.=>.&$v).{.if.(ar
174bc0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d ray_key_exists($k,.$schema->item
174be0 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 s)).{.$this->checkUndefined($v,.
174c00 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 5b 24 6b 5d 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a $schema->items[$k],.$path,.$k);.
174c20 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 }.else.{...if.(property_exists($
174c40 73 63 68 65 6d 61 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 29 29 20 7b 0a 69 66 schema,.'additionalItems')).{.if
174c60 20 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 20 21 3d 3d 20 66 .($schema->additionalItems.!==.f
174c80 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 alse).{.$this->checkUndefined($v
174ca0 2c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 2c 20 24 70 61 74 ,.$schema->additionalItems,.$pat
174cc0 68 2c 20 24 6b 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 h,.$k);.}.else.{.$this->addError
174ce0 28 0a 24 70 61 74 68 2c 20 27 54 68 65 20 69 74 65 6d 20 27 20 2e 20 24 69 20 2e 20 27 5b 27 20 (.$path,.'The.item.'...$i...'['.
174d00 2e 20 24 6b 20 2e 20 27 5d 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 ..$k...'].is.not.defined.and.the
174d20 20 64 65 66 69 6e 69 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 69 74 .definition.does.not.allow.addit
174d40 69 6f 6e 61 6c 20 69 74 65 6d 73 27 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 2c ional.items',.'additionalItems',
174d60 20 61 72 72 61 79 28 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 20 3d 3e 20 24 73 63 68 .array('additionalItems'.=>.$sch
174d80 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 ema->additionalItems));.}.}.else
174da0 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 6e .{...$this->checkUndefined($v,.n
174dc0 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a ew.\stdClass(),.$path,.$k);.}.}.
174de0 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c }.unset($v);......if.(count($val
174e00 75 65 29 20 3e 20 30 29 20 7b 0a 66 6f 72 20 28 24 6b 20 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 ue).>.0).{.for.($k.=.count($valu
174e20 65 29 3b 20 24 6b 20 3c 20 63 6f 75 6e 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 3b 20 e);.$k.<.count($schema->items);.
174e40 24 6b 2b 2b 29 20 7b 0a 24 75 6e 64 65 66 69 6e 65 64 49 6e 73 74 61 6e 63 65 20 3d 20 24 74 68 $k++).{.$undefinedInstance.=.$th
174e60 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 is->factory->createInstanceFor('
174e80 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e undefined');.$this->checkUndefin
174ea0 65 64 28 24 75 6e 64 65 66 69 6e 65 64 49 6e 73 74 61 6e 63 65 2c 20 24 73 63 68 65 6d 61 2d 3e ed($undefinedInstance,.$schema->
174ec0 69 74 65 6d 73 5b 24 6b 5d 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d items[$k],.$path,.$k);.}.}.}.}.}
174ee0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
174f00 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 ema\Constraints;..use.JsonSchema
174f20 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 \Entity\JsonPointer;........abst
174f40 72 61 63 74 20 63 6c 61 73 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 42 61 ract.class.Constraint.extends.Ba
174f60 73 65 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 seConstraint.implements.Constrai
174f80 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 6c 69 6e 65 53 ntInterface.{.protected.$inlineS
174fa0 63 68 65 6d 61 50 72 6f 70 65 72 74 79 20 3d 20 27 24 73 63 68 65 6d 61 27 3b 0a 0a 63 6f 6e 73 chemaProperty.=.'$schema';..cons
174fc0 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a t.CHECK_MODE_NONE.=.0x00000000;.
174fe0 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 const.CHECK_MODE_NORMAL.=.0x0000
175000 30 30 30 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 0001;.const.CHECK_MODE_TYPE_CAST
175020 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f .=.0x00000002;.const.CHECK_MODE_
175040 43 4f 45 52 43 45 5f 54 59 50 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 34 3b 0a 63 6f 6e 73 74 COERCE_TYPES.=.0x00000004;.const
175060 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 .CHECK_MODE_APPLY_DEFAULTS.=.0x0
175080 30 30 30 30 30 30 38 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 0000008;.const.CHECK_MODE_EXCEPT
1750a0 49 4f 4e 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d IONS.=.0x00000010;.const.CHECK_M
1750c0 4f 44 45 5f 44 49 53 41 42 4c 45 5f 46 4f 52 4d 41 54 20 3d 20 30 78 30 30 30 30 30 30 32 30 3b ODE_DISABLE_FORMAT.=.0x00000020;
1750e0 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4f 4e 4c 59 5f 52 45 51 55 49 52 45 44 5f .const.CHECK_MODE_ONLY_REQUIRED_
175100 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 3b 0a 63 6f 6e 73 74 20 43 48 45 DEFAULTS.=.0x00000080;.const.CHE
175120 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 43 48 45 4d 41 20 3d 20 30 78 30 30 30 30 CK_MODE_VALIDATE_SCHEMA.=.0x0000
175140 30 31 30 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 0100;..........protected.functio
175160 6e 20 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 n.incrementPath(JsonPointer.$pat
175180 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 70 61 74 68 20 3f 3a h.=.null,.$i).{.$path.=.$path.?:
1751a0 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 3b 0a 24 70 61 74 68 20 3d 20 24 70 .new.JsonPointer('');.$path.=.$p
1751c0 61 74 68 2d 3e 77 69 74 68 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 0a 61 72 72 61 79 5f 6d 65 ath->withPropertyPaths(.array_me
1751e0 72 67 65 28 0a 24 70 61 74 68 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 2c 0a rge(.$path->getPropertyPaths(),.
175200 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 28 24 69 29 2c 20 27 73 74 72 6c 65 6e 27 array_filter(array($i),.'strlen'
175220 29 0a 29 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ).).);..return.$path;.}.........
175240 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 72 61 79 28 26 .protected.function.checkArray(&
175260 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e $value,.$schema.=.null,.JsonPoin
175280 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ter.$path.=.null,.$i.=.null).{.$
1752a0 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 validator.=.$this->factory->crea
1752c0 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 63 6f 6c 6c 65 63 74 69 6f 6e 27 29 3b 0a 24 76 61 teInstanceFor('collection');.$va
1752e0 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 lidator->check($value,.$schema,.
175300 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 $path,.$i);..$this->addErrors($v
175320 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
175340 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4f 62 6a .....protected.function.checkObj
175360 65 63 74 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f ect(&$value,.$schema.=.null,.Jso
175380 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 70 65 72 74 69 nPointer.$path.=.null,.$properti
1753a0 65 73 20 3d 20 6e 75 6c 6c 2c 0a 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 es.=.null,.$additionalProperties
1753c0 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 .=.null,.$patternProperties.=.nu
1753e0 6c 6c 2c 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a ll,.$appliedDefaults.=.array()).
175400 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 {.$validator.=.$this->factory->c
175420 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 6f 62 6a 65 63 74 27 29 3b 0a 24 76 61 6c reateInstanceFor('object');.$val
175440 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 idator->check($value,.$schema,.$
175460 70 61 74 68 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 path,.$properties,.$additionalPr
175480 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 2c 20 24 61 operties,.$patternProperties,.$a
1754a0 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f ppliedDefaults);..$this->addErro
1754c0 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a rs($validator->getErrors());.}..
1754e0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b ........protected.function.check
175500 54 79 70 65 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 Type(&$value,.$schema.=.null,.Js
175520 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
175540 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 l).{.$validator.=.$this->factory
175560 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 76 61 ->createInstanceFor('type');.$va
175580 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 lidator->check($value,.$schema,.
1755a0 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 $path,.$i);..$this->addErrors($v
1755c0 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
1755e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 55 6e 64 65 66 ...protected.function.checkUndef
175600 69 6e 65 64 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 ined(&$value,.$schema.=.null,.Js
175620 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
175640 6c 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 69 l,.$fromDefault.=.false).{.$vali
175660 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e dator.=.$this->factory->createIn
175680 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 0a 24 76 61 6c 69 64 61 stanceFor('undefined');..$valida
1756a0 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 tor->check($value,.$this->factor
1756c0 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 y->getSchemaStorage()->resolveRe
1756e0 66 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 29 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 24 66 72 fSchema($schema),.$path,.$i,.$fr
175700 6f 6d 44 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 omDefault);..$this->addErrors($v
175720 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
175740 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 69 6e ...protected.function.checkStrin
175760 67 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f g($value,.$schema.=.null,.JsonPo
175780 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b inter.$path.=.null,.$i.=.null).{
1757a0 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 .$validator.=.$this->factory->cr
1757c0 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 73 74 72 69 6e 67 27 29 3b 0a 24 76 61 6c 69 eateInstanceFor('string');.$vali
1757e0 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 dator->check($value,.$schema,.$p
175800 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c ath,.$i);..$this->addErrors($val
175820 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a idator->getErrors());.}.........
175840 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4e 75 6d 62 65 72 28 .protected.function.checkNumber(
175860 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e $value,.$schema.=.null,.JsonPoin
175880 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ter.$path.=.null,.$i.=.null).{.$
1758a0 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 validator.=.$this->factory->crea
1758c0 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 6e 75 6d 62 65 72 27 29 3b 0a 24 76 61 6c 69 64 61 teInstanceFor('number');.$valida
1758e0 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 tor->check($value,.$schema,.$pat
175900 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 h,.$i);..$this->addErrors($valid
175920 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ator->getErrors());.}..........p
175940 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c rotected.function.checkEnum($val
175960 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 ue,.$schema.=.null,.JsonPointer.
175980 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 $path.=.null,.$i.=.null).{.$vali
1759a0 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e dator.=.$this->factory->createIn
1759c0 73 74 61 6e 63 65 46 6f 72 28 27 65 6e 75 6d 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 stanceFor('enum');.$validator->c
1759e0 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 heck($value,.$schema,.$path,.$i)
175a00 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e ;..$this->addErrors($validator->
175a20 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 getErrors());.}..........protect
175a40 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 ed.function.checkFormat($value,.
175a60 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
175a80 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f h.=.null,.$i.=.null).{.$validato
175aa0 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e r.=.$this->factory->createInstan
175ac0 63 65 46 6f 72 28 27 66 6f 72 6d 61 74 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 ceFor('format');.$validator->che
175ae0 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a ck($value,.$schema,.$path,.$i);.
175b00 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 .$this->addErrors($validator->ge
175b20 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 tErrors());.}.......protected.fu
175b40 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 nction.getTypeCheck().{.return.$
175b60 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 3b 0a 7d this->factory->getTypeCheck();.}
175b80 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 .......protected.function.conver
175ba0 74 4a 73 6f 6e 50 6f 69 6e 74 65 72 49 6e 74 6f 50 72 6f 70 65 72 74 79 50 61 74 68 28 4a 73 6f tJsonPointerIntoPropertyPath(Jso
175bc0 6e 50 6f 69 6e 74 65 72 20 24 70 6f 69 6e 74 65 72 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 nPointer.$pointer).{.$result.=.a
175be0 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 29 20 7b 0a 72 65 74 rray_map(.function.($path).{.ret
175c00 75 72 6e 20 73 70 72 69 6e 74 66 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 70 61 74 68 29 20 3f 20 urn.sprintf(is_numeric($path).?.
175c20 27 5b 25 64 5d 27 20 3a 20 27 2e 25 73 27 2c 20 24 70 61 74 68 29 3b 0a 7d 2c 0a 24 70 6f 69 6e '[%d]'.:.'.%s',.$path);.},.$poin
175c40 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 29 3b 0a 0a 72 65 74 75 ter->getPropertyPaths().);..retu
175c60 72 6e 20 74 72 69 6d 28 69 6d 70 6c 6f 64 65 28 27 27 2c 20 24 72 65 73 75 6c 74 29 2c 20 27 2e rn.trim(implode('',.$result),.'.
175c80 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ');.}.}.<?php.........namespace.
175ca0 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f JsonSchema\Constraints;..use.Jso
175cc0 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a nSchema\Entity\JsonPointer;.....
175ce0 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a ..interface.ConstraintInterface.
175d00 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 {......public.function.getErrors
175d20 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 ();.......public.function.addErr
175d40 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 6f 72 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ors(array.$errors);..........pub
175d60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 28 4a 73 6f 6e 50 6f 69 6e 74 65 lic.function.addError(JsonPointe
175d80 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 73 74 r.$path.=.null,.$message,.$const
175da0 72 61 69 6e 74 3d 27 27 2c 20 61 72 72 61 79 20 24 6d 6f 72 65 20 3d 20 6e 75 6c 6c 29 3b 0a 0a raint='',.array.$more.=.null);..
175dc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 3b 0a .....public.function.isValid();.
175de0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 .............public.function.che
175e00 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e ck(&$value,.$schema.=.null,.Json
175e20 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 Pointer.$path.=.null,.$i.=.null)
175e40 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e ;.}.<?php.........namespace.Json
175e60 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 Schema\Constraints;..use.JsonSch
175e80 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 ema\Entity\JsonPointer;........c
175ea0 6c 61 73 73 20 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 lass.EnumConstraint.extends.Cons
175ec0 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 traint.{....public.function.chec
175ee0 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f k(&$element,.$schema.=.null,.Jso
175f00 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c nPointer.$path.=.null,.$i.=.null
175f20 29 0a 7b 0a 0a 20 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e ).{...if.($element.instanceof.Un
175f40 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 28 21 69 73 73 65 74 28 24 73 63 definedConstraint.&&.(!isset($sc
175f60 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 7c 7c 20 21 24 73 63 68 65 6d 61 2d 3e 72 65 71 hema->required).||.!$schema->req
175f80 75 69 72 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 79 70 65 20 3d 20 67 65 74 74 uired)).{.return;.}.$type.=.gett
175fa0 79 70 65 28 24 65 6c 65 6d 65 6e 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 ype($element);..foreach.($schema
175fc0 2d 3e 65 6e 75 6d 20 61 73 20 24 65 6e 75 6d 29 20 7b 0a 24 65 6e 75 6d 54 79 70 65 20 3d 20 67 ->enum.as.$enum).{.$enumType.=.g
175fe0 65 74 74 79 70 65 28 24 65 6e 75 6d 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 ettype($enum);.if.($this->factor
176000 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 y->getConfig(self::CHECK_MODE_TY
176020 50 45 5f 43 41 53 54 29 20 26 26 20 24 74 79 70 65 20 3d 3d 20 27 61 72 72 61 79 27 20 26 26 20 PE_CAST).&&.$type.==.'array'.&&.
176040 24 65 6e 75 6d 54 79 70 65 20 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b 0a 69 66 20 28 28 6f 62 $enumType.==.'object').{.if.((ob
176060 6a 65 63 74 29 20 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 ject).$element.==.$enum).{.retur
176080 6e 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 67 65 74 74 79 70 65 28 24 65 n;.}.}..if.($type.===.gettype($e
1760a0 6e 75 6d 29 29 20 7b 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b num)).{.if.($type.==.'object').{
1760c0 0a 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 6e .if.($element.==.$enum).{.return
1760e0 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 3d 20 24 65 6e 75 6d ;.}.}.elseif.($element.===.$enum
176100 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 ).{.return;.}.}.}..$this->addErr
176120 6f 72 28 24 70 61 74 68 2c 20 27 44 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 76 61 6c 75 65 or($path,.'Does.not.have.a.value
176140 20 69 6e 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 27 20 2e 20 6a 73 6f 6e 5f 65 6e 63 .in.the.enumeration.'...json_enc
176160 6f 64 65 28 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 2c 20 27 65 6e 75 6d 27 2c 20 61 72 72 61 ode($schema->enum),.'enum',.arra
176180 79 28 27 65 6e 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 29 3b 0a 7d 0a 7d y('enum'.=>.$schema->enum));.}.}
1761a0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
1761c0 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 ema\Constraints;..use.JsonSchema
1761e0 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 \Exception\InvalidArgumentExcept
176200 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 ion;.use.JsonSchema\SchemaStorag
176220 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 e;.use.JsonSchema\SchemaStorageI
176240 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 nterface;.use.JsonSchema\Uri\Uri
176260 52 65 74 72 69 65 76 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 74 Retriever;.use.JsonSchema\UriRet
176280 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c rieverInterface;.use.JsonSchema\
1762a0 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a Validator;.....class.Factory.{..
1762c0 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 0a 0a 0a 0a ..protected.$schemaStorage;.....
1762e0 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 0a 0a 0a 70 72 69 protected.$uriRetriever;.....pri
176300 76 61 74 65 20 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 vate.$checkMode.=.Constraint::CH
176320 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 79 ECK_MODE_NORMAL;.....private.$ty
176340 70 65 43 68 65 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 peCheck.=.array();.....protected
176360 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f .$errorContext.=.Validator::ERRO
176380 52 5f 44 4f 43 55 4d 45 4e 54 5f 56 41 4c 49 44 41 54 49 4f 4e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 R_DOCUMENT_VALIDATION;.....prote
1763a0 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 27 61 72 cted.$constraintMap.=.array(.'ar
1763c0 72 61 79 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c ray'.=>.'JsonSchema\Constraints\
1763e0 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 63 6f 6c 6c 65 63 74 69 CollectionConstraint',.'collecti
176400 6f 6e 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 on'.=>.'JsonSchema\Constraints\C
176420 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 6f 62 6a 65 63 74 27 20 3d ollectionConstraint',.'object'.=
176440 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 4f 62 6a 65 63 74 >.'JsonSchema\Constraints\Object
176460 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 74 79 70 65 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 Constraint',.'type'.=>.'JsonSche
176480 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a ma\Constraints\TypeConstraint',.
1764a0 27 75 6e 64 65 66 69 6e 65 64 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 'undefined'.=>.'JsonSchema\Const
1764c0 72 61 69 6e 74 73 5c 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 73 74 raints\UndefinedConstraint',.'st
1764e0 72 69 6e 67 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 ring'.=>.'JsonSchema\Constraints
176500 5c 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 6e 75 6d 62 65 72 27 20 3d 3e 20 \StringConstraint',.'number'.=>.
176520 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 4e 75 6d 62 65 72 43 6f 'JsonSchema\Constraints\NumberCo
176540 6e 73 74 72 61 69 6e 74 27 2c 0a 27 65 6e 75 6d 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 nstraint',.'enum'.=>.'JsonSchema
176560 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 66 \Constraints\EnumConstraint',.'f
176580 6f 72 6d 61 74 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 ormat'.=>.'JsonSchema\Constraint
1765a0 73 5c 46 6f 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 73 63 68 65 6d 61 27 20 3d 3e s\FormatConstraint',.'schema'.=>
1765c0 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 53 63 68 65 6d 61 43 .'JsonSchema\Constraints\SchemaC
1765e0 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 76 61 6c 69 64 61 74 6f 72 27 20 3d 3e 20 27 4a 73 6f 6e onstraint',.'validator'.=>.'Json
176600 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 Schema\Validator'.);.....private
176620 20 24 69 6e 73 74 61 6e 63 65 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a .$instanceCache.=.array();......
176640 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 53 63 .public.function.__construct(.Sc
176660 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 63 68 65 6d 61 53 74 6f 72 hemaStorageInterface.$schemaStor
176680 61 67 65 20 3d 20 6e 75 6c 6c 2c 0a 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 age.=.null,.UriRetrieverInterfac
1766a0 65 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 2c 0a 24 63 68 65 63 6b 4d 6f e.$uriRetriever.=.null,.$checkMo
1766c0 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d de.=.Constraint::CHECK_MODE_NORM
1766e0 41 4c 0a 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b AL.).{...$this->setConfig($check
176700 4d 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 Mode);..$this->uriRetriever.=.$u
176720 72 69 52 65 74 72 69 65 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 74 72 69 65 76 65 72 28 riRetriever.?:.new.UriRetriever(
176740 29 3b 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3d 20 24 73 63 68 65 6d );.$this->schemaStorage.=.$schem
176760 61 53 74 6f 72 61 67 65 20 3f 3a 20 6e 65 77 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 24 74 aStorage.?:.new.SchemaStorage($t
176780 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c his->uriRetriever);.}.......publ
1767a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 ic.function.setConfig($checkMode
1767c0 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c .=.Constraint::CHECK_MODE_NORMAL
1767e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 3d 20 24 63 68 65 63 6b 4d 6f 64 ).{.$this->checkMode.=.$checkMod
176800 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f e;.}.......public.function.addCo
176820 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 nfig($options).{.$this->checkMod
176840 65 20 7c 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 e.|=.$options;.}.......public.fu
176860 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a nction.removeConfig($options).{.
176880 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 26 3d 20 7e 24 6f 70 74 69 6f 6e 73 3b 0a 7d $this->checkMode.&=.~$options;.}
1768a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 .........public.function.getConf
1768c0 69 67 28 24 6f 70 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f ig($options.=.null).{.if.($optio
1768e0 6e 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 ns.===.null).{.return.$this->che
176900 63 6b 4d 6f 64 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f ckMode;.}..return.$this->checkMo
176920 64 65 20 26 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 de.&.$options;.}.....public.func
176940 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getUriRetriever().{.return.
176960 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $this->uriRetriever;.}..public.f
176980 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 0a 7b 0a 72 65 74 unction.getSchemaStorage().{.ret
1769a0 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 7d 0a 0a 70 75 62 urn.$this->schemaStorage;.}..pub
1769c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 0a 7b 0a 69 66 lic.function.getTypeCheck().{.if
1769e0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d .(!isset($this->typeCheck[$this-
176a00 3e 63 68 65 63 6b 4d 6f 64 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b >checkMode])).{.$this->typeCheck
176a20 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 20 3d 20 28 24 74 68 69 73 2d 3e 63 68 65 [$this->checkMode].=.($this->che
176a40 63 6b 4d 6f 64 65 20 26 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f ckMode.&.Constraint::CHECK_MODE_
176a60 54 59 50 45 5f 43 41 53 54 29 0a 3f 20 6e 65 77 20 54 79 70 65 43 68 65 63 6b 5c 4c 6f 6f 73 65 TYPE_CAST).?.new.TypeCheck\Loose
176a80 54 79 70 65 43 68 65 63 6b 28 29 0a 3a 20 6e 65 77 20 54 79 70 65 43 68 65 63 6b 5c 53 74 72 69 TypeCheck().:.new.TypeCheck\Stri
176aa0 63 74 54 79 70 65 43 68 65 63 6b 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ctTypeCheck();.}..return.$this->
176ac0 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 3b 0a 7d 0a 0a typeCheck[$this->checkMode];.}..
176ae0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 73 74 72 61 ......public.function.setConstra
176b00 69 6e 74 43 6c 61 73 73 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 intClass($name,.$class).{...if.(
176b20 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e !class_exists($class)).{.throw.n
176b40 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b ew.InvalidArgumentException('Unk
176b60 6e 6f 77 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 20 nown.constraint.'...$name);.}...
176b80 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 if.(!in_array('JsonSchema\Constr
176ba0 61 69 6e 74 73 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 27 2c 20 63 6c 61 73 aints\ConstraintInterface',.clas
176bc0 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 63 6c 61 73 73 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e s_implements($class))).{.throw.n
176be0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 ew.InvalidArgumentException('Inv
176c00 61 6c 69 64 20 63 6c 61 73 73 20 27 20 2e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e alid.class.'...$name);.}.$this->
176c20 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 0a constraintMap[$name].=.$class;..
176c40 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 return.$this;.}...........public
176c60 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 24 63 6f 6e .function.createInstanceFor($con
176c80 73 74 72 61 69 6e 74 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d straintName).{.if.(!isset($this-
176ca0 3e 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 29 >constraintMap[$constraintName])
176cc0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
176ce0 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 eption('Unknown.constraint.'...$
176d00 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 constraintName);.}..if.(!isset($
176d20 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e this->instanceCache[$constraintN
176d40 61 6d 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 ame])).{.$this->instanceCache[$c
176d60 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 20 3d 20 6e 65 77 20 24 74 68 69 73 2d 3e 63 6f 6e 73 onstraintName].=.new.$this->cons
176d80 74 72 61 69 6e 74 4d 61 70 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 28 24 74 68 69 73 traintMap[$constraintName]($this
176da0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e );.}..return.clone.$this->instan
176dc0 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a ceCache[$constraintName];.}.....
176de0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 ..public.function.getErrorContex
176e00 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 t().{.return.$this->errorContext
176e20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 ;.}.......public.function.setErr
176e40 6f 72 43 6f 6e 74 65 78 74 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 0a 7b 0a 24 74 68 69 73 orContext($errorContext).{.$this
176e60 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 3b 0a ->errorContext.=.$errorContext;.
176e80 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e }.}.<?php.........namespace.Json
176ea0 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 Schema\Constraints;..use.JsonSch
176ec0 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e ema\Entity\JsonPointer;.use.Json
176ee0 53 63 68 65 6d 61 5c 52 66 63 33 33 33 39 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f Schema\Rfc3339;.........class.Fo
176f00 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e rmatConstraint.extends.Constrain
176f20 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 t.{....public.function.check(&$e
176f40 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e lement,.$schema.=.null,.JsonPoin
176f60 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 ter.$path.=.null,.$i.=.null).{.i
176f80 66 20 28 21 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 7c 7c 20 24 74 f.(!isset($schema->format).||.$t
176fa0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 his->factory->getConfig(self::CH
176fc0 45 43 4b 5f 4d 4f 44 45 5f 44 49 53 41 42 4c 45 5f 46 4f 52 4d 41 54 29 29 20 7b 0a 72 65 74 75 ECK_MODE_DISABLE_FORMAT)).{.retu
176fe0 72 6e 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 rn;.}..switch.($schema->format).
177000 7b 0a 63 61 73 65 20 27 64 61 74 65 27 3a 0a 69 66 20 28 21 24 64 61 74 65 20 3d 20 24 74 68 69 {.case.'date':.if.(!$date.=.$thi
177020 73 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 59 s->validateDateTime($element,.'Y
177040 2d 6d 2d 64 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c -m-d')).{.$this->addError($path,
177060 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 64 61 74 65 20 25 73 2c 20 65 78 70 65 63 .sprintf('Invalid.date.%s,.expec
177080 74 65 64 20 66 6f 72 6d 61 74 20 59 59 59 59 2d 4d 4d 2d 44 44 27 2c 20 6a 73 6f 6e 5f 65 6e 63 ted.format.YYYY-MM-DD',.json_enc
1770a0 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 ode($element)),.'format',.array(
1770c0 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 'format'.=>.$schema->format));.}
1770e0 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 74 69 6d 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 .break;..case.'time':.if.(!$this
177100 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 48 3a ->validateDateTime($element,.'H:
177120 69 3a 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 i:s')).{.$this->addError($path,.
177140 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 sprintf('Invalid.time.%s,.expect
177160 65 64 20 66 6f 72 6d 61 74 20 68 68 3a 6d 6d 3a 73 73 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 ed.format.hh:mm:ss',.json_encode
177180 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f ($element)),.'format',.array('fo
1771a0 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 rmat'.=>.$schema->format));.}.br
1771c0 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 61 74 65 2d 74 69 6d 65 27 3a 0a 69 66 20 28 6e 75 6c 6c eak;..case.'date-time':.if.(null
1771e0 20 3d 3d 3d 20 52 66 63 33 33 33 39 3a 3a 63 72 65 61 74 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 .===.Rfc3339::createFromString($
177200 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 element)).{.$this->addError($pat
177220 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 64 61 74 65 2d 74 69 6d 65 20 25 73 h,.sprintf('Invalid.date-time.%s
177240 2c 20 65 78 70 65 63 74 65 64 20 66 6f 72 6d 61 74 20 59 59 59 59 2d 4d 4d 2d 44 44 54 68 68 3a ,.expected.format.YYYY-MM-DDThh:
177260 6d 6d 3a 73 73 5a 20 6f 72 20 59 59 59 59 2d 4d 4d 2d 44 44 54 68 68 3a 6d 6d 3a 73 73 2b 68 68 mm:ssZ.or.YYYY-MM-DDThh:mm:ss+hh
177280 3a 6d 6d 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 :mm',.json_encode($element)),.'f
1772a0 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d ormat',.array('format'.=>.$schem
1772c0 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 74 63 a->format));.}.break;..case.'utc
1772e0 2d 6d 69 6c 6c 69 73 65 63 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 -millisec':.if.(!$this->validate
177300 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 55 27 29 29 20 7b 0a 24 74 68 69 73 DateTime($element,.'U')).{.$this
177320 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c ->addError($path,.sprintf('Inval
177340 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 65 64 20 69 6e 74 65 67 65 72 20 6f 66 20 id.time.%s,.expected.integer.of.
177360 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 45 70 6f 63 68 27 2c 20 6a 73 6f 6e 5f milliseconds.since.Epoch',.json_
177380 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 encode($element)),.'format',.arr
1773a0 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 ay('format'.=>.$schema->format))
1773c0 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 72 65 67 65 78 27 3a 0a 69 66 20 28 21 24 ;.}.break;..case.'regex':.if.(!$
1773e0 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b this->validateRegex($element)).{
177400 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 .$this->addError($path,.'Invalid
177420 20 72 65 67 65 78 20 66 6f 72 6d 61 74 20 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 27 66 6f 72 .regex.format.'...$element,.'for
177440 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d mat',.array('format'.=>.$schema-
177460 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 6f 6c 6f 72 >format));.}.break;..case.'color
177480 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 43 6f 6c 6f 72 28 24 65 6c ':.if.(!$this->validateColor($el
1774a0 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c ement)).{.$this->addError($path,
1774c0 20 27 49 6e 76 61 6c 69 64 20 63 6f 6c 6f 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 .'Invalid.color',.'format',.arra
1774e0 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b y('format'.=>.$schema->format));
177500 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 74 79 6c 65 27 3a 0a 69 66 20 28 21 24 74 .}.break;..case.'style':.if.(!$t
177520 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 79 6c 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a his->validateStyle($element)).{.
177540 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 $this->addError($path,.'Invalid.
177560 73 74 79 6c 65 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 style',.'format',.array('format'
177580 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a .=>.$schema->format));.}.break;.
1775a0 0a 63 61 73 65 20 27 70 68 6f 6e 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 .case.'phone':.if.(!$this->valid
1775c0 61 74 65 50 68 6f 6e 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 atePhone($element)).{.$this->add
1775e0 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 70 68 6f 6e 65 20 6e 75 6d 62 Error($path,.'Invalid.phone.numb
177600 65 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e er',.'format',.array('format'.=>
177620 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 .$schema->format));.}.break;..ca
177640 73 65 20 27 75 72 69 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 se.'uri':.if.(null.===.filter_va
177660 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c r($element,.FILTER_VALIDATE_URL,
177680 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 29 20 7b 0a 24 74 68 69 .FILTER_NULL_ON_FAILURE)).{.$thi
1776a0 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 s->addError($path,.'Invalid.URL.
1776c0 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 format',.'format',.array('format
1776e0 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b '.=>.$schema->format));.}.break;
177700 0a 0a 63 61 73 65 20 27 75 72 69 72 65 66 27 3a 0a 63 61 73 65 20 27 75 72 69 2d 72 65 66 65 72 ..case.'uriref':.case.'uri-refer
177720 65 6e 63 65 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 ence':.if.(null.===.filter_var($
177740 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 element,.FILTER_VALIDATE_URL,.FI
177760 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 29 20 7b 0a 0a 20 0a 20 0a 20 69 LTER_NULL_ON_FAILURE)).{.......i
177780 66 20 28 73 75 62 73 74 72 28 24 65 6c 65 6d 65 6e 74 2c 20 30 2c 20 32 29 20 3d 3d 3d 20 27 2f f.(substr($element,.0,.2).===.'/
1777a0 2f 27 29 20 7b 20 0a 20 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 /').{...$validURL.=.filter_var('
1777c0 73 63 68 65 6d 65 3a 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 scheme:'...$element,.FILTER_VALI
1777e0 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 DATE_URL,.FILTER_NULL_ON_FAILURE
177800 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 75 62 73 74 72 28 24 65 6c 65 6d 65 6e 74 2c 20 30 2c );.}.elseif.(substr($element,.0,
177820 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b 20 0a 20 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c .1).===.'/').{...$validURL.=.fil
177840 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a 2f 2f 68 6f 73 74 27 20 2e 20 24 65 6c 65 6d 65 ter_var('scheme://host'...$eleme
177860 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f nt,.FILTER_VALIDATE_URL,.FILTER_
177880 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 6c NULL_ON_FAILURE);.}.elseif.(strl
1778a0 65 6e 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 20 0a 20 24 70 61 74 68 50 61 72 74 73 20 3d 20 65 en($element)).{...$pathParts.=.e
1778c0 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 65 6c 65 6d 65 6e 74 2c 20 32 29 3b 0a 69 66 20 28 73 74 xplode('/',.$element,.2);.if.(st
1778e0 72 70 6f 73 28 24 70 61 74 68 50 61 72 74 73 5b 30 5d 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c rpos($pathParts[0],.':').!==.fal
177900 73 65 29 20 7b 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b se).{.$validURL.=.null;.}.else.{
177920 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a .$validURL.=.filter_var('scheme:
177940 2f 2f 68 6f 73 74 2f 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 //host/'...$element,.FILTER_VALI
177960 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 DATE_URL,.FILTER_NULL_ON_FAILURE
177980 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 6e 75 6c 6c 3b 0a );.}.}.else.{.$validURL.=.null;.
1779a0 7d 0a 69 66 20 28 24 76 61 6c 69 64 55 52 4c 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 }.if.($validURL.===.null).{.$thi
1779c0 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 s->addError($path,.'Invalid.URL.
1779e0 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 format',.'format',.array('format
177a00 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 7d 0a 62 72 65 61 '.=>.$schema->format));.}.}.brea
177a20 6b 3b 0a 0a 63 61 73 65 20 27 65 6d 61 69 6c 27 3a 0a 24 66 69 6c 74 65 72 46 6c 61 67 73 20 3d k;..case.'email':.$filterFlags.=
177a40 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 3b 0a 69 66 20 28 64 65 66 .FILTER_NULL_ON_FAILURE;.if.(def
177a60 69 6e 65 64 28 27 46 49 4c 54 45 52 5f 46 4c 41 47 5f 45 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 ined('FILTER_FLAG_EMAIL_UNICODE'
177a80 29 29 20 7b 0a 0a 20 24 66 69 6c 74 65 72 46 6c 61 67 73 20 7c 3d 20 63 6f 6e 73 74 61 6e 74 28 )).{...$filterFlags.|=.constant(
177aa0 27 46 49 4c 54 45 52 5f 46 4c 41 47 5f 45 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 29 3b 20 0a 20 'FILTER_FLAG_EMAIL_UNICODE');...
177ac0 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 }.if.(null.===.filter_var($eleme
177ae0 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 2c 20 24 66 69 6c 74 nt,.FILTER_VALIDATE_EMAIL,.$filt
177b00 65 72 46 6c 61 67 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 erFlags)).{.$this->addError($pat
177b20 68 2c 20 27 49 6e 76 61 6c 69 64 20 65 6d 61 69 6c 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 h,.'Invalid.email',.'format',.ar
177b40 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 ray('format'.=>.$schema->format)
177b60 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 70 2d 61 64 64 72 65 73 73 27 3a 0a );.}.break;..case.'ip-address':.
177b80 63 61 73 65 20 27 69 70 76 34 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 case.'ipv4':.if.(null.===.filter
177ba0 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 _var($element,.FILTER_VALIDATE_I
177bc0 50 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 20 7c 20 46 49 4c 54 P,.FILTER_NULL_ON_FAILURE.|.FILT
177be0 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 ER_FLAG_IPV4)).{.$this->addError
177c00 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 49 50 20 61 64 64 72 65 73 73 27 2c 20 27 66 ($path,.'Invalid.IP.address',.'f
177c20 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d ormat',.array('format'.=>.$schem
177c40 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 70 76 a->format));.}.break;..case.'ipv
177c60 36 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6':.if.(null.===.filter_var($ele
177c80 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 ment,.FILTER_VALIDATE_IP,.FILTER
177ca0 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 20 7c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 _NULL_ON_FAILURE.|.FILTER_FLAG_I
177cc0 50 56 36 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 PV6)).{.$this->addError($path,.'
177ce0 49 6e 76 61 6c 69 64 20 49 50 20 61 64 64 72 65 73 73 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 Invalid.IP.address',.'format',.a
177d00 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 rray('format'.=>.$schema->format
177d20 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 68 6f 73 74 2d 6e 61 6d 65 27 3a 0a ));.}.break;..case.'host-name':.
177d40 63 61 73 65 20 27 68 6f 73 74 6e 61 6d 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c case.'hostname':.if.(!$this->val
177d60 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 idateHostname($element)).{.$this
177d80 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 68 6f 73 74 6e ->addError($path,.'Invalid.hostn
177da0 61 6d 65 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d ame',.'format',.array('format'.=
177dc0 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 >.$schema->format));.}.break;..d
177de0 65 66 61 75 6c 74 3a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a efault:.............break;.}.}..
177e00 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 44 61 74 65 54 protected.function.validateDateT
177e20 69 6d 65 28 24 64 61 74 65 74 69 6d 65 2c 20 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 64 74 20 3d 20 ime($datetime,.$format).{.$dt.=.
177e40 5c 44 61 74 65 54 69 6d 65 3a 3a 63 72 65 61 74 65 46 72 6f 6d 46 6f 72 6d 61 74 28 24 66 6f 72 \DateTime::createFromFormat($for
177e60 6d 61 74 2c 20 24 64 61 74 65 74 69 6d 65 29 3b 0a 0a 69 66 20 28 21 24 64 74 29 20 7b 0a 72 65 mat,.$datetime);..if.(!$dt).{.re
177e80 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 61 74 65 74 69 6d 65 20 3d 3d 3d turn.false;.}..if.($datetime.===
177ea0 20 24 64 74 2d 3e 66 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 .$dt->format($format)).{.return.
177ec0 74 72 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 28 73 74 72 70 6f 73 28 27 75 27 true;.}..........if.((strpos('u'
177ee0 2c 20 24 66 6f 72 6d 61 74 29 20 21 3d 3d 20 2d 31 29 20 26 26 20 28 70 72 65 67 5f 6d 61 74 63 ,.$format).!==.-1).&&.(preg_matc
177f00 68 28 27 2f 5c 2e 5c 64 2b 5a 24 2f 27 2c 20 24 64 61 74 65 74 69 6d 65 29 29 29 20 7b 0a 72 65 h('/\.\d+Z$/',.$datetime))).{.re
177f20 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 turn.true;.}..return.false;.}..p
177f40 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 rotected.function.validateRegex(
177f60 24 72 65 67 65 78 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 40 70 72 65 67 $regex).{.return.false.!==.@preg
177f80 5f 6d 61 74 63 68 28 27 2f 27 20 2e 20 24 72 65 67 65 78 20 2e 20 27 2f 75 27 2c 20 27 27 29 3b _match('/'...$regex...'/u',.'');
177fa0 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 .}..protected.function.validateC
177fc0 6f 6c 6f 72 28 24 63 6f 6c 6f 72 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 74 72 74 olor($color).{.if.(in_array(strt
177fe0 6f 6c 6f 77 65 72 28 24 63 6f 6c 6f 72 29 2c 20 61 72 72 61 79 28 27 61 71 75 61 27 2c 20 27 62 olower($color),.array('aqua',.'b
178000 6c 61 63 6b 27 2c 20 27 62 6c 75 65 27 2c 20 27 66 75 63 68 73 69 61 27 2c 0a 27 67 72 61 79 27 lack',.'blue',.'fuchsia',.'gray'
178020 2c 20 27 67 72 65 65 6e 27 2c 20 27 6c 69 6d 65 27 2c 20 27 6d 61 72 6f 6f 6e 27 2c 20 27 6e 61 ,.'green',.'lime',.'maroon',.'na
178040 76 79 27 2c 20 27 6f 6c 69 76 65 27 2c 20 27 6f 72 61 6e 67 65 27 2c 20 27 70 75 72 70 6c 65 27 vy',.'olive',.'orange',.'purple'
178060 2c 0a 27 72 65 64 27 2c 20 27 73 69 6c 76 65 72 27 2c 20 27 74 65 61 6c 27 2c 20 27 77 68 69 74 ,.'red',.'silver',.'teal',.'whit
178080 65 27 2c 20 27 79 65 6c 6c 6f 77 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d e',.'yellow'))).{.return.true;.}
1780a0 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 23 28 5b 61 2d 66 30 2d 39 ..return.preg_match('/^#([a-f0-9
1780c0 5d 7b 33 7d 7c 5b 61 2d 66 30 2d 39 5d 7b 36 7d 29 24 2f 69 27 2c 20 24 63 6f 6c 6f 72 29 3b 0a ]{3}|[a-f0-9]{6})$/i',.$color);.
1780e0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 }..protected.function.validateSt
178100 79 6c 65 28 24 73 74 79 6c 65 29 0a 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 65 78 70 6c yle($style).{.$properties.=.expl
178120 6f 64 65 28 27 3b 27 2c 20 72 74 72 69 6d 28 24 73 74 79 6c 65 2c 20 27 3b 27 29 29 3b 0a 24 69 ode(';',.rtrim($style,.';'));.$i
178140 6e 76 61 6c 69 64 45 6e 74 72 69 65 73 20 3d 20 70 72 65 67 5f 67 72 65 70 28 27 2f 5e 5c 73 2a nvalidEntries.=.preg_grep('/^\s*
178160 5b 2d 61 2d 7a 5d 2b 5c 73 2a 3a 5c 73 2a 2e 2b 24 2f 69 27 2c 20 24 70 72 6f 70 65 72 74 69 65 [-a-z]+\s*:\s*.+$/i',.$propertie
178180 73 2c 20 50 52 45 47 5f 47 52 45 50 5f 49 4e 56 45 52 54 29 3b 0a 0a 72 65 74 75 72 6e 20 65 6d s,.PREG_GREP_INVERT);..return.em
1781a0 70 74 79 28 24 69 6e 76 61 6c 69 64 45 6e 74 72 69 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 pty($invalidEntries);.}..protect
1781c0 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 68 6f 6e 65 28 24 70 68 6f 6e 65 ed.function.validatePhone($phone
1781e0 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 2b 3f 28 5c 28 5c ).{.return.preg_match('/^\+?(\(\
178200 64 7b 33 7d 5c 29 7c 5c 64 7b 33 7d 29 20 5c 64 7b 33 7d 20 5c 64 7b 34 7d 24 2f 27 2c 20 24 70 d{3}\)|\d{3}).\d{3}.\d{4}$/',.$p
178220 68 6f 6e 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c hone);.}..protected.function.val
178240 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 24 68 6f 73 74 29 0a 7b 0a 24 68 6f 73 74 6e 61 6d 65 idateHostname($host).{.$hostname
178260 52 65 67 65 78 20 3d 20 27 2f 5e 28 28 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 7c 5b 61 2d 7a 41 2d 5a Regex.=.'/^(([a-zA-Z0-9]|[a-zA-Z
178280 30 2d 39 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5c 2d 5d 2a 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 29 5c 2e 0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.
1782a0 29 2a 28 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 7c 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d )*([A-Za-z0-9]|[A-Za-z0-9][A-Za-
1782c0 7a 30 2d 39 5c 2d 5d 2a 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 29 24 2f 69 27 3b 0a 0a 72 65 74 75 72 z0-9\-]*[A-Za-z0-9])$/i';..retur
1782e0 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 24 68 6f 73 74 6e 61 6d 65 52 65 67 65 78 2c 20 24 68 6f n.preg_match($hostnameRegex,.$ho
178300 73 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 st);.}.}.<?php.........namespace
178320 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 .JsonSchema\Constraints;..use.Js
178340 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a onSchema\Entity\JsonPointer;....
178360 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 65 72 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e ....class.NumberConstraint.exten
178380 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ds.Constraint.{....public.functi
1783a0 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 on.check(&$element,.$schema.=.nu
1783c0 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 ll,.JsonPointer.$path.=.null,.$i
1783e0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e .=.null).{...if.(isset($schema->
178400 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 exclusiveMinimum)).{.if.(isset($
178420 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d schema->minimum)).{.if.($schema-
178440 3e 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 3d >exclusiveMinimum.&&.$element.<=
178460 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 .$schema->minimum).{.$this->addE
178480 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d rror($path,.'Must.have.a.minimum
1784a0 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 .value.of.'...$schema->minimum,.
1784c0 27 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 'exclusiveMinimum',.array('minim
1784e0 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 20 65 6c 73 um'.=>.$schema->minimum));.}.els
178500 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d eif.($element.<.$schema->minimum
178520 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 ).{.$this->addError($path,.'Must
178540 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 .have.a.minimum.value.of.'...$sc
178560 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 hema->minimum,.'minimum',.array(
178580 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 'minimum'.=>.$schema->minimum));
1785a0 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 .}.}.else.{.$this->addError($pat
1785c0 68 2c 20 27 55 73 65 20 6f 66 20 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 20 72 65 71 75 h,.'Use.of.exclusiveMinimum.requ
1785e0 69 72 65 73 20 70 72 65 73 65 6e 63 65 20 6f 66 20 6d 69 6e 69 6d 75 6d 27 2c 20 27 6d 69 73 73 ires.presence.of.minimum',.'miss
178600 69 6e 67 4d 69 6e 69 6d 75 6d 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 ingMinimum');.}.}.elseif.(isset(
178620 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 20 $schema->minimum).&&.$element.<.
178640 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 $schema->minimum).{.$this->addEr
178660 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 ror($path,.'Must.have.a.minimum.
178680 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 value.of.'...$schema->minimum,.'
1786a0 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 minimum',.array('minimum'.=>.$sc
1786c0 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 hema->minimum));.}....if.(isset(
1786e0 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 $schema->exclusiveMaximum)).{.if
178700 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 20 .(isset($schema->maximum)).{.if.
178720 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 20 26 26 20 24 65 ($schema->exclusiveMaximum.&&.$e
178740 6c 65 6d 65 6e 74 20 3e 3d 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 lement.>=.$schema->maximum).{.$t
178760 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 his->addError($path,.'Must.have.
178780 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e a.maximum.value.of.'...$schema->
1787a0 6d 61 78 69 6d 75 6d 2c 20 27 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 27 2c 20 61 72 72 maximum,.'exclusiveMaximum',.arr
1787c0 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d ay('maximum'.=>.$schema->maximum
1787e0 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 6d 61 ));.}.elseif.($element.>.$schema
178800 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 ->maximum).{.$this->addError($pa
178820 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f th,.'Must.have.a.maximum.value.o
178840 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d 75 6d f.'...$schema->maximum,.'maximum
178860 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d ',.array('maximum'.=>.$schema->m
178880 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 aximum));.}.}.else.{.$this->addE
1788a0 72 72 6f 72 28 24 70 61 74 68 2c 20 27 55 73 65 20 6f 66 20 65 78 63 6c 75 73 69 76 65 4d 61 78 rror($path,.'Use.of.exclusiveMax
1788c0 69 6d 75 6d 20 72 65 71 75 69 72 65 73 20 70 72 65 73 65 6e 63 65 20 6f 66 20 6d 61 78 69 6d 75 imum.requires.presence.of.maximu
1788e0 6d 27 2c 20 27 6d 69 73 73 69 6e 67 4d 61 78 69 6d 75 6d 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 m',.'missingMaximum');.}.}.elsei
178900 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 26 26 20 24 65 f.(isset($schema->maximum).&&.$e
178920 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 lement.>.$schema->maximum).{.$th
178940 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 is->addError($path,.'Must.have.a
178960 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d .maximum.value.of.'...$schema->m
178980 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 aximum,.'maximum',.array('maximu
1789a0 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 0a 0a 20 69 m'.=>.$schema->maximum));.}....i
1789c0 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 26 f.(isset($schema->divisibleBy).&
1789e0 26 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d &.$this->fmod($element,.$schema-
178a00 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 >divisibleBy).!=.0).{.$this->add
178a20 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 73 20 6e 6f 74 20 64 69 76 69 73 69 62 6c 65 20 62 Error($path,.'Is.not.divisible.b
178a40 79 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 2c 20 27 64 69 76 y.'...$schema->divisibleBy,.'div
178a60 69 73 69 62 6c 65 42 79 27 2c 20 61 72 72 61 79 28 27 64 69 76 69 73 69 62 6c 65 42 79 27 20 3d isibleBy',.array('divisibleBy'.=
178a80 3e 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 29 3b 0a 7d 0a 0a 0a 20 69 >.$schema->divisibleBy));.}....i
178aa0 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 20 26 26 f.(isset($schema->multipleOf).&&
178ac0 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d 3e .$this->fmod($element,.$schema->
178ae0 6d 75 6c 74 69 70 6c 65 4f 66 29 20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 multipleOf).!=.0).{.$this->addEr
178b00 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f ror($path,.'Must.be.a.multiple.o
178b20 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 2c 20 27 6d 75 6c 74 f.'...$schema->multipleOf,.'mult
178b40 69 70 6c 65 4f 66 27 2c 20 61 72 72 61 79 28 27 6d 75 6c 74 69 70 6c 65 4f 66 27 20 3d 3e 20 24 ipleOf',.array('multipleOf'.=>.$
178b60 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e schema->multipleOf));.}..$this->
178b80 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 checkFormat($element,.$schema,.$
178ba0 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 path,.$i);.}..private.function.f
178bc0 6d 6f 64 28 24 6e 75 6d 62 65 72 31 2c 20 24 6e 75 6d 62 65 72 32 29 0a 7b 0a 24 6e 75 6d 62 65 mod($number1,.$number2).{.$numbe
178be0 72 31 20 3d 20 61 62 73 28 24 6e 75 6d 62 65 72 31 29 3b 0a 24 6d 6f 64 75 6c 75 73 20 3d 20 66 r1.=.abs($number1);.$modulus.=.f
178c00 6d 6f 64 28 24 6e 75 6d 62 65 72 31 2c 20 24 6e 75 6d 62 65 72 32 29 3b 0a 24 70 72 65 63 69 73 mod($number1,.$number2);.$precis
178c20 69 6f 6e 20 3d 20 61 62 73 28 30 2e 30 30 30 30 30 30 30 30 30 31 29 3b 0a 24 64 69 66 66 20 3d ion.=.abs(0.0000000001);.$diff.=
178c40 20 28 66 6c 6f 61 74 29 20 28 24 6d 6f 64 75 6c 75 73 20 2d 20 24 6e 75 6d 62 65 72 32 29 3b 0a .(float).($modulus.-.$number2);.
178c60 0a 69 66 20 28 2d 24 70 72 65 63 69 73 69 6f 6e 20 3c 20 24 64 69 66 66 20 26 26 20 24 64 69 66 .if.(-$precision.<.$diff.&&.$dif
178c80 66 20 3c 20 24 70 72 65 63 69 73 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 30 2e 30 3b 0a 7d 0a f.<.$precision).{.return.0.0;.}.
178ca0 0a 24 64 65 63 69 6d 61 6c 73 31 20 3d 20 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 31 .$decimals1.=.mb_strpos($number1
178cc0 2c 20 27 2e 27 29 20 3f 20 6d 62 5f 73 74 72 6c 65 6e 28 24 6e 75 6d 62 65 72 31 29 20 2d 20 6d ,.'.').?.mb_strlen($number1).-.m
178ce0 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 31 2c 20 27 2e 27 29 20 2d 20 31 20 3a 20 30 3b b_strpos($number1,.'.').-.1.:.0;
178d00 0a 24 64 65 63 69 6d 61 6c 73 32 20 3d 20 6d 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 32 .$decimals2.=.mb_strpos($number2
178d20 2c 20 27 2e 27 29 20 3f 20 6d 62 5f 73 74 72 6c 65 6e 28 24 6e 75 6d 62 65 72 32 29 20 2d 20 6d ,.'.').?.mb_strlen($number2).-.m
178d40 62 5f 73 74 72 70 6f 73 28 24 6e 75 6d 62 65 72 32 2c 20 27 2e 27 29 20 2d 20 31 20 3a 20 30 3b b_strpos($number2,.'.').-.1.:.0;
178d60 0a 0a 72 65 74 75 72 6e 20 28 66 6c 6f 61 74 29 20 72 6f 75 6e 64 28 24 6d 6f 64 75 6c 75 73 2c ..return.(float).round($modulus,
178d80 20 6d 61 78 28 24 64 65 63 69 6d 61 6c 73 31 2c 20 24 64 65 63 69 6d 61 6c 73 32 29 29 3b 0a 7d .max($decimals1,.$decimals2));.}
178da0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 .}.<?php.........namespace.JsonS
178dc0 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 chema\Constraints;..use.JsonSche
178de0 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c ma\Entity\JsonPointer;........cl
178e00 61 73 73 20 4f 62 6a 65 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e ass.ObjectConstraint.extends.Con
178e20 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 70 70 6c 69 65 64 44 straint.{....protected.$appliedD
178e40 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 efaults.=.array();.....public.fu
178e60 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 nction.check(&$element,.$schema.
178e80 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c =.null,.JsonPointer.$path.=.null
178ea0 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 0a 24 61 64 64 69 74 69 6f 6e 61 ,.$properties.=.null,.$additiona
178ec0 6c 50 72 6f 70 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 lProp.=.null,.$patternProperties
178ee0 20 3d 20 6e 75 6c 6c 2c 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 .=.null,.$appliedDefaults.=.arra
178f00 79 28 29 29 0a 7b 0a 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 y()).{.if.($element.instanceof.U
178f20 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a ndefinedConstraint).{.return;.}.
178f40 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 24 61 70 70 6c 69 .$this->appliedDefaults.=.$appli
178f60 65 64 44 65 66 61 75 6c 74 73 3b 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b edDefaults;..$matches.=.array();
178f80 0a 69 66 20 28 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 0a 20 24 6d 61 .if.($patternProperties).{...$ma
178fa0 74 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 61 74 74 65 72 6e 50 72 tches.=.$this->validatePatternPr
178fc0 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 61 74 68 2c 20 24 70 61 74 74 65 operties($element,.$path,.$patte
178fe0 72 6e 50 72 6f 70 65 72 74 69 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 70 65 72 74 69 65 rnProperties);.}..if.($propertie
179000 73 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 72 6f 70 65 72 74 69 65 73 s).{...$this->validateProperties
179020 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 68 29 3b 0a ($element,.$properties,.$path);.
179040 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 }....$this->validateElement($ele
179060 6d 65 6e 74 2c 20 24 6d 61 74 63 68 65 73 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 ment,.$matches,.$schema,.$path,.
179080 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 29 3b 0a 7d $properties,.$additionalProp);.}
1790a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 61 74 74 65 72 ..public.function.validatePatter
1790c0 6e 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e 74 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 nProperties($element,.JsonPointe
1790e0 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 r.$path.=.null,.$patternProperti
179100 65 73 29 0a 7b 0a 24 74 72 79 20 3d 20 61 72 72 61 79 28 27 2f 27 2c 20 27 23 27 2c 20 27 2b 27 es).{.$try.=.array('/',.'#',.'+'
179120 2c 20 27 7e 27 2c 20 27 25 27 29 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b ,.'~',.'%');.$matches.=.array();
179140 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 61 73 20 .foreach.($patternProperties.as.
179160 24 70 72 65 67 65 78 20 3d 3e 20 24 73 63 68 65 6d 61 29 20 7b 0a 24 64 65 6c 69 6d 69 74 65 72 $pregex.=>.$schema).{.$delimiter
179180 20 3d 20 27 2f 27 3b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 72 79 20 61 73 20 24 64 65 6c 69 .=.'/';...foreach.($try.as.$deli
1791a0 6d 69 74 65 72 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 72 65 67 65 78 2c 20 24 64 65 miter).{.if.(strpos($pregex,.$de
1791c0 6c 69 6d 69 74 65 72 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 20 0a 20 62 72 65 61 6b 3b 0a 7d limiter).===.false).{...break;.}
1791e0 0a 7d 0a 0a 0a 20 69 66 20 28 40 70 72 65 67 5f 6d 61 74 63 68 28 24 64 65 6c 69 6d 69 74 65 72 .}....if.(@preg_match($delimiter
179200 20 2e 20 24 70 72 65 67 65 78 20 2e 20 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 27 75 27 2c 20 27 ...$pregex...$delimiter...'u',.'
179220 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 ').===.false).{.$this->addError(
179240 24 70 61 74 68 2c 20 27 54 68 65 20 70 61 74 74 65 72 6e 20 22 27 20 2e 20 24 70 72 65 67 65 78 $path,.'The.pattern."'...$pregex
179260 20 2e 20 27 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 27 70 72 65 67 65 78 27 2c 20 61 72 72 ...'".is.invalid',.'pregex',.arr
179280 61 79 28 27 70 72 65 67 65 78 27 20 3d 3e 20 24 70 72 65 67 65 78 29 29 3b 0a 63 6f 6e 74 69 6e ay('pregex'.=>.$pregex));.contin
1792a0 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 65 6c 65 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e ue;.}.foreach.($element.as.$i.=>
1792c0 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 64 65 6c 69 6d .$value).{.if.(preg_match($delim
1792e0 69 74 65 72 20 2e 20 24 70 72 65 67 65 78 20 2e 20 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 27 75 iter...$pregex...$delimiter...'u
179300 27 2c 20 24 69 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 69 3b 0a 24 74 68 69 73 ',.$i)).{.$matches[].=.$i;.$this
179320 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 ->checkUndefined($value,.$schema
179340 20 3f 3a 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 .?:.new.\stdClass(),.$path,.$i,.
179360 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 in_array($i,.$this->appliedDefau
179380 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d lts));.}.}.}..return.$matches;.}
1793a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 ............public.function.vali
1793c0 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6d 61 74 63 68 65 73 2c 20 dateElement($element,.$matches,.
1793e0 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
179400 68 20 3d 20 6e 75 6c 6c 2c 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 h.=.null,.$properties.=.null,.$a
179420 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 dditionalProp.=.null).{.$this->v
179440 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 28 24 65 6c 65 6d 65 6e 74 alidateMinMaxConstraint($element
179460 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6c ,.$schema,.$path);..foreach.($el
179480 65 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 64 65 66 69 6e 69 ement.as.$i.=>.$value).{.$defini
1794a0 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 70 72 6f 70 65 tion.=.$this->getProperty($prope
1794c0 72 74 69 65 73 2c 20 24 69 29 3b 0a 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 69 2c rties,.$i);....if.(!in_array($i,
1794e0 20 24 6d 61 74 63 68 65 73 29 20 26 26 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d .$matches).&&.$additionalProp.==
179500 3d 20 66 61 6c 73 65 20 26 26 20 24 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 =.false.&&.$this->inlineSchemaPr
179520 6f 70 65 72 74 79 20 21 3d 3d 20 24 69 20 26 26 20 21 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b operty.!==.$i.&&.!$definition).{
179540 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 72 6f .$this->addError($path,.'The.pro
179560 70 65 72 74 79 20 27 20 2e 20 24 69 20 2e 20 27 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 perty.'...$i...'.is.not.defined.
179580 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f and.the.definition.does.not.allo
1795a0 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 6f 70 65 72 74 69 65 73 27 2c 20 27 61 64 64 69 74 w.additional.properties',.'addit
1795c0 69 6f 6e 61 6c 50 72 6f 70 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 ionalProp');.}....if.(!in_array(
1795e0 24 69 2c 20 24 6d 61 74 63 68 65 73 29 20 26 26 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 $i,.$matches).&&.$additionalProp
179600 20 26 26 20 21 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 61 64 64 69 74 69 6f .&&.!$definition).{.if.($additio
179620 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b nalProp.===.true).{.$this->check
179640 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 2c 20 24 Undefined($value,.null,.$path,.$
179660 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 i,.in_array($i,.$this->appliedDe
179680 66 61 75 6c 74 73 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 faults));.}.else.{.$this->checkU
1796a0 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 ndefined($value,.$additionalProp
1796c0 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d ,.$path,.$i,.in_array($i,.$this-
1796e0 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 >appliedDefaults));.}.}....$requ
179700 69 72 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 64 65 66 69 6e 69 ire.=.$this->getProperty($defini
179720 74 69 6f 6e 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 tion,.'requires');.if.($require.
179740 26 26 20 21 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c &&.!$this->getProperty($element,
179760 20 24 72 65 71 75 69 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 .$require)).{.$this->addError($p
179780 61 74 68 2c 20 27 54 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 ath,.'The.presence.of.the.proper
1797a0 74 79 20 27 20 2e 20 24 69 20 2e 20 27 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 27 20 2e 20 ty.'...$i...'.requires.that.'...
1797c0 24 72 65 71 75 69 72 65 20 2e 20 27 20 61 6c 73 6f 20 62 65 20 70 72 65 73 65 6e 74 27 2c 20 27 $require...'.also.be.present',.'
1797e0 72 65 71 75 69 72 65 73 27 29 3b 0a 7d 0a 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 68 69 73 requires');.}..$property.=.$this
179800 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 24 74 68 69 ->getProperty($element,.$i,.$thi
179820 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 s->factory->createInstanceFor('u
179840 6e 64 65 66 69 6e 65 64 27 29 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 ndefined'));.if.(is_object($prop
179860 65 72 74 79 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f erty)).{.$this->validateMinMaxCo
179880 6e 73 74 72 61 69 6e 74 28 21 28 24 70 72 6f 70 65 72 74 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 nstraint(!($property.instanceof.
1798a0 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 3f 20 24 70 72 6f 70 65 72 74 79 UndefinedConstraint).?.$property
1798c0 20 3a 20 24 65 6c 65 6d 65 6e 74 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 29 .:.$element,.$definition,.$path)
1798e0 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.}.}.........public.function.
179900 76 61 6c 69 64 61 74 65 50 72 6f 70 65 72 74 69 65 73 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 70 validateProperties(&$element,.$p
179920 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 roperties.=.null,.JsonPointer.$p
179940 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 75 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 ath.=.null).{.$undefinedConstrai
179960 6e 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 nt.=.$this->factory->createInsta
179980 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 nceFor('undefined');..foreach.($
1799a0 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 69 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 70 properties.as.$i.=>.$value).{.$p
1799c0 72 6f 70 65 72 74 79 20 3d 20 26 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 65 roperty.=.&$this->getProperty($e
1799e0 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 24 75 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 lement,.$i,.$undefinedConstraint
179a00 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 );.$definition.=.$this->getPrope
179a20 72 74 79 28 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 69 29 3b 0a 0a 69 66 20 28 69 73 5f 6f 62 rty($properties,.$i);..if.(is_ob
179a40 6a 65 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 ject($definition)).{...$this->ch
179a60 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 70 72 6f 70 65 72 74 79 2c 20 24 64 65 66 69 6e 69 74 eckUndefined($property,.$definit
179a80 69 6f 6e 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 ion,.$path,.$i,.in_array($i,.$th
179aa0 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a is->appliedDefaults));.}.}.}....
179ac0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 26 67 65 74 50 72 .......protected.function.&getPr
179ae0 6f 70 65 72 74 79 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 66 61 operty(&$element,.$property,.$fa
179b00 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 65 llback.=.null).{.if.(is_array($e
179b20 6c 65 6d 65 6e 74 29 20 26 26 20 28 69 73 73 65 74 28 24 65 6c 65 6d 65 6e 74 5b 24 70 72 6f 70 lement).&&.(isset($element[$prop
179b40 65 72 74 79 5d 29 20 7c 7c 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 erty]).||.array_key_exists($prop
179b60 65 72 74 79 2c 20 24 65 6c 65 6d 65 6e 74 29 29 20 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6c 65 erty,.$element)).).{.return.$ele
179b80 6d 65 6e 74 5b 24 70 72 6f 70 65 72 74 79 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 ment[$property];.}.elseif.(is_ob
179ba0 6a 65 63 74 28 24 65 6c 65 6d 65 6e 74 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 ject($element).&&.property_exist
179bc0 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 79 29 29 20 7b 0a 72 65 74 75 72 6e s($element,.$property)).{.return
179be0 20 24 65 6c 65 6d 65 6e 74 2d 3e 24 70 72 6f 70 65 72 74 79 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .$element->$property;.}..return.
179c00 24 66 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 $fallback;.}.........protected.f
179c20 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 unction.validateMinMaxConstraint
179c40 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2c 20 4a 73 ($element,.$objectDefinition,.Js
179c60 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 onPointer.$path.=.null).{...if.(
179c80 69 73 73 65 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 isset($objectDefinition->minProp
179ca0 65 72 74 69 65 73 29 20 26 26 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 44 65 66 erties).&&.!is_object($objectDef
179cc0 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 69 66 20 28 24 inition->minProperties)).{.if.($
179ce0 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 43 6f this->getTypeCheck()->propertyCo
179d00 75 6e 74 28 24 65 6c 65 6d 65 6e 74 29 20 3c 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f unt($element).<.$objectDefinitio
179d20 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 n->minProperties).{.$this->addEr
179d40 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 63 6f 6e 74 61 69 6e 20 61 20 6d 69 6e 69 6d ror($path,.'Must.contain.a.minim
179d60 75 6d 20 6f 66 20 27 20 2e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e um.of.'...$objectDefinition->min
179d80 50 72 6f 70 65 72 74 69 65 73 20 2e 20 27 20 70 72 6f 70 65 72 74 69 65 73 27 2c 20 27 6d 69 6e Properties...'.properties',.'min
179da0 50 72 6f 70 65 72 74 69 65 73 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 50 72 6f 70 65 72 74 69 65 Properties',.array('minPropertie
179dc0 73 27 20 3d 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 s'.=>.$objectDefinition->minProp
179de0 65 72 74 69 65 73 29 29 3b 0a 7d 0a 7d 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 65 63 erties));.}.}...if.(isset($objec
179e00 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 20 26 26 20 21 tDefinition->maxProperties).&&.!
179e20 69 73 5f 6f 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 is_object($objectDefinition->max
179e40 50 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 Properties)).{.if.($this->getTyp
179e60 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 eCheck()->propertyCount($element
179e80 29 20 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 ).>.$objectDefinition->maxProper
179ea0 74 69 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 ties).{.$this->addError($path,.'
179ec0 4d 75 73 74 20 63 6f 6e 74 61 69 6e 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 27 20 2e 20 24 6f Must.contain.no.more.than.'...$o
179ee0 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 20 2e bjectDefinition->maxProperties..
179f00 20 27 20 70 72 6f 70 65 72 74 69 65 73 27 2c 20 27 6d 61 78 50 72 6f 70 65 72 74 69 65 73 27 2c .'.properties',.'maxProperties',
179f20 20 61 72 72 61 79 28 27 6d 61 78 50 72 6f 70 65 72 74 69 65 73 27 20 3d 3e 20 24 6f 62 6a 65 63 .array('maxProperties'.=>.$objec
179f40 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 29 3b 0a 7d 0a tDefinition->maxProperties));.}.
179f60 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 }.}.}.<?php.........namespace.Js
179f80 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 onSchema\Constraints;..use.JsonS
179fa0 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 chema\Entity\JsonPointer;.use.Js
179fc0 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 onSchema\Exception\InvalidArgume
179fe0 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 ntException;.use.JsonSchema\Exce
17a000 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 ption\InvalidSchemaException;.us
17a020 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 e.JsonSchema\Exception\RuntimeEx
17a040 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f ception;.use.JsonSchema\Validato
17a060 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 68 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 r;........class.SchemaConstraint
17a080 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 63 6f 6e 73 74 20 44 45 46 41 .extends.Constraint.{.const.DEFA
17a0a0 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 45 43 20 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 ULT_SCHEMA_SPEC.=.'http://json-s
17a0c0 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 27 3b 0a 0a 0a 0a chema.org/draft-04/schema#';....
17a0e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 .public.function.check(&$element
17a100 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 ,.$schema.=.null,.JsonPointer.$p
17a120 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 73 63 ath.=.null,.$i.=.null).{.if.($sc
17a140 68 65 6d 61 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 0a 20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 hema.!==.null).{...$validationSc
17a160 68 65 6d 61 20 3d 20 24 73 63 68 65 6d 61 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d hema.=.$schema;.}.elseif.($this-
17a180 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 >getTypeCheck()->propertyExists(
17a1a0 24 65 6c 65 6d 65 6e 74 2c 20 24 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f $element,.$this->inlineSchemaPro
17a1c0 70 65 72 74 79 29 29 20 7b 0a 0a 20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 perty)).{...$validationSchema.=.
17a1e0 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 47 $this->getTypeCheck()->propertyG
17a200 65 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 et($element,.$this->inlineSchema
17a220 50 72 6f 70 65 72 74 79 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e Property);.}.else.{.throw.new.In
17a240 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 6e 6f 20 73 63 68 65 6d validArgumentException('no.schem
17a260 61 20 66 6f 75 6e 64 20 74 6f 20 76 65 72 69 66 79 20 61 67 61 69 6e 73 74 27 29 3b 0a 7d 0a 0a a.found.to.verify.against');.}..
17a280 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 ..if.(is_array($validationSchema
17a2a0 29 29 20 7b 0a 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 42 61 73 65 43 6f 6e )).{.$validationSchema.=.BaseCon
17a2c0 73 74 72 61 69 6e 74 3a 3a 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 straint::arrayToObjectRecursive(
17a2e0 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 $validationSchema);.}......if.($
17a300 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 this->factory->getConfig(self::C
17a320 48 45 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 43 48 45 4d 41 29 29 20 7b 0a 69 66 HECK_MODE_VALIDATE_SCHEMA)).{.if
17a340 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 .(!$this->getTypeCheck()->isObje
17a360 63 74 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 29 29 20 7b 0a 74 68 72 6f 77 20 6e ct($validationSchema)).{.throw.n
17a380 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 76 61 6c 69 ew.RuntimeException('Cannot.vali
17a3a0 64 61 74 65 20 74 68 65 20 73 63 68 65 6d 61 20 6f 66 20 61 20 6e 6f 6e 2d 6f 62 6a 65 63 74 27 date.the.schema.of.a.non-object'
17a3c0 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e );.}.if.($this->getTypeCheck()->
17a3e0 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 propertyExists($validationSchema
17a400 2c 20 27 24 73 63 68 65 6d 61 27 29 29 20 7b 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d 20 24 74 ,.'$schema')).{.$schemaSpec.=.$t
17a420 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 47 65 74 his->getTypeCheck()->propertyGet
17a440 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 27 24 73 63 68 65 6d 61 27 29 3b 0a ($validationSchema,.'$schema');.
17a460 7d 20 65 6c 73 65 20 7b 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d 20 73 65 6c 66 3a 3a 44 45 46 }.else.{.$schemaSpec.=.self::DEF
17a480 41 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 45 43 3b 0a 7d 0a 0a 0a 20 24 73 63 68 65 6d 61 53 74 AULT_SCHEMA_SPEC;.}....$schemaSt
17a4a0 6f 72 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d orage.=.$this->factory->getSchem
17a4c0 61 53 74 6f 72 61 67 65 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 aStorage();.if.(!$this->getTypeC
17a4e0 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 53 70 65 63 29 29 20 7b heck()->isObject($schemaSpec)).{
17a500 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 2d 3e 67 .$schemaSpec.=.$schemaStorage->g
17a520 65 74 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 53 70 65 63 29 3b 0a 7d 0a 0a 0a 20 24 69 6e 69 etSchema($schemaSpec);.}....$ini
17a540 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 6e 75 6d 45 72 72 6f 72 tialErrorCount.=.$this->numError
17a560 73 28 29 3b 0a 24 69 6e 69 74 69 61 6c 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 s();.$initialConfig.=.$this->fac
17a580 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6e 69 74 69 61 6c 43 6f 6e 74 65 tory->getConfig();.$initialConte
17a5a0 78 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e xt.=.$this->factory->getErrorCon
17a5c0 74 65 78 74 28 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 72 65 6d 6f 76 65 43 6f text();.$this->factory->removeCo
17a5e0 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 nfig(self::CHECK_MODE_VALIDATE_S
17a600 43 48 45 4d 41 20 7c 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 CHEMA.|.self::CHECK_MODE_APPLY_D
17a620 45 46 41 55 4c 54 53 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 61 64 64 43 6f 6e EFAULTS);.$this->factory->addCon
17a640 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 29 3b fig(self::CHECK_MODE_TYPE_CAST);
17a660 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 .$this->factory->setErrorContext
17a680 28 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 53 43 48 45 4d 41 5f 56 41 4c 49 44 41 54 (Validator::ERROR_SCHEMA_VALIDAT
17a6a0 49 4f 4e 29 3b 0a 0a 0a 20 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 28 24 76 61 6c ION);....try.{.$this->check($val
17a6c0 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 24 73 63 68 65 6d 61 53 70 65 63 29 3b 0a 7d 20 63 idationSchema,.$schemaSpec);.}.c
17a6e0 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 atch.(\Exception.$e).{.if.($this
17a700 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b ->factory->getConfig(self::CHECK
17a720 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f 4e 53 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 _MODE_EXCEPTIONS)).{.throw.new.I
17a740 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f 6e 28 27 53 63 68 65 6d 61 20 64 69 nvalidSchemaException('Schema.di
17a760 64 20 6e 6f 74 20 70 61 73 73 20 76 61 6c 69 64 61 74 69 6f 6e 27 2c 20 30 2c 20 24 65 29 3b 0a d.not.pass.validation',.0,.$e);.
17a780 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 75 6d 45 72 72 6f 72 73 28 29 20 3e 20 24 69 6e }.}.if.($this->numErrors().>.$in
17a7a0 69 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 itialErrorCount).{.$this->addErr
17a7c0 6f 72 28 24 70 61 74 68 2c 20 27 53 63 68 65 6d 61 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 27 2c or($path,.'Schema.is.not.valid',
17a7e0 20 27 73 63 68 65 6d 61 27 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d .'schema');.}....$this->factory-
17a800 3e 73 65 74 43 6f 6e 66 69 67 28 24 69 6e 69 74 69 61 6c 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 >setConfig($initialConfig);.$thi
17a820 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 24 69 6e 69 s->factory->setErrorContext($ini
17a840 74 69 61 6c 43 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 tialContext);.}....$this->checkU
17a860 6e 64 65 66 69 6e 65 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 ndefined($element,.$validationSc
17a880 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a hema,.$path,.$i);.}.}.<?php.....
17a8a0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 ....namespace.JsonSchema\Constra
17a8c0 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f ints;..use.JsonSchema\Entity\Jso
17a8e0 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 43 6f 6e nPointer;........class.StringCon
17a900 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a straint.extends.Constraint.{....
17a920 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c public.function.check(&$element,
17a940 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 .$schema.=.null,.JsonPointer.$pa
17a960 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 th.=.null,.$i.=.null).{...if.(is
17a980 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 29 20 26 26 20 24 74 68 69 73 set($schema->maxLength).&&.$this
17a9a0 2d 3e 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 ->strlen($element).>.$schema->ma
17a9c0 78 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 xLength).{.$this->addError($path
17a9e0 2c 20 27 4d 75 73 74 20 62 65 20 61 74 20 6d 6f 73 74 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e ,.'Must.be.at.most.'...$schema->
17aa00 6d 61 78 4c 65 6e 67 74 68 20 2e 20 27 20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 27 2c 20 maxLength...'.characters.long',.
17aa20 27 6d 61 78 4c 65 6e 67 74 68 27 2c 20 61 72 72 61 79 28 0a 27 6d 61 78 4c 65 6e 67 74 68 27 20 'maxLength',.array(.'maxLength'.
17aa40 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 =>.$schema->maxLength,.));.}....
17aa60 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 20 26 26 if.(isset($schema->minLength).&&
17aa80 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 20 3c 20 24 73 63 68 65 .$this->strlen($element).<.$sche
17aaa0 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 ma->minLength).{.$this->addError
17aac0 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 27 20 2e 20 24 73 ($path,.'Must.be.at.least.'...$s
17aae0 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 20 2e 20 27 20 63 68 61 72 61 63 74 65 72 73 20 chema->minLength...'.characters.
17ab00 6c 6f 6e 67 27 2c 20 27 6d 69 6e 4c 65 6e 67 74 68 27 2c 20 61 72 72 61 79 28 0a 27 6d 69 6e 4c long',.'minLength',.array(.'minL
17ab20 65 6e 67 74 68 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 2c 0a 29 29 ength'.=>.$schema->minLength,.))
17ab40 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 ;.}....if.(isset($schema->patter
17ab60 6e 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 27 20 2e 20 73 74 72 5f 72 65 70 6c n).&&.!preg_match('#'...str_repl
17ab80 61 63 65 28 27 23 27 2c 20 27 5c 5c 23 27 2c 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e ace('#',.'\\#',.$schema->pattern
17aba0 29 20 2e 20 27 23 75 27 2c 20 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 )...'#u',.$element)).{.$this->ad
17abc0 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 44 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 dError($path,.'Does.not.match.th
17abe0 65 20 72 65 67 65 78 20 70 61 74 74 65 72 6e 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 e.regex.pattern.'...$schema->pat
17ac00 74 65 72 6e 2c 20 27 70 61 74 74 65 72 6e 27 2c 20 61 72 72 61 79 28 0a 27 70 61 74 74 65 72 6e tern,.'pattern',.array(.'pattern
17ac20 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 2c 0a 29 29 3b 0a 7d 0a 0a 24 74 '.=>.$schema->pattern,.));.}..$t
17ac40 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 his->checkFormat($element,.$sche
17ac60 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ma,.$path,.$i);.}..private.funct
17ac80 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 ion.strlen($string).{.if.(extens
17aca0 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6d 62 73 74 72 69 6e 67 27 29 29 20 7b 0a 72 65 74 75 72 6e ion_loaded('mbstring')).{.return
17acc0 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 2c 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e .mb_strlen($string,.mb_detect_en
17ace0 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 29 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 coding($string));.}....return.st
17ad00 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 20 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 rlen($string);...}.}.<?php..name
17ad20 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 space.JsonSchema\Constraints\Typ
17ad40 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 73 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 20 69 6d eCheck;..class.LooseTypeCheck.im
17ad60 70 6c 65 6d 65 6e 74 73 20 54 79 70 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 plements.TypeCheckInterface.{.pu
17ad80 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 blic.static.function.isObject($v
17ada0 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 0a 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 alue).{.return.is_object($value)
17adc0 20 7c 7c 0a 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 28 63 6f 75 6e 74 28 .||.(is_array($value).&&.(count(
17ade0 24 76 61 6c 75 65 29 20 3d 3d 20 30 20 7c 7c 20 73 65 6c 66 3a 3a 69 73 41 73 73 6f 63 69 61 74 $value).==.0.||.self::isAssociat
17ae00 69 76 65 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 iveArray($value)));.}..public.st
17ae20 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 0a 7b 0a atic.function.isArray($value).{.
17ae40 72 65 74 75 72 6e 0a 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 0a 28 63 6f 75 6e return.is_array($value).&&.(coun
17ae60 74 28 24 76 61 6c 75 65 29 20 3d 3d 20 30 20 7c 7c 20 21 73 65 6c 66 3a 3a 69 73 41 73 73 6f 63 t($value).==.0.||.!self::isAssoc
17ae80 69 61 74 69 76 65 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 iativeArray($value));.}..public.
17aea0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c static.function.propertyGet($val
17aec0 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 ue,.$property).{.if.(is_object($
17aee0 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 value)).{.return.$value->{$prope
17af00 72 74 79 7d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 5b 24 70 72 6f 70 65 72 74 79 rty};.}..return.$value[$property
17af20 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f ];.}..public.static.function.pro
17af40 70 65 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 pertySet(&$value,.$property,.$da
17af60 74 61 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 ta).{.if.(is_object($value)).{.$
17af80 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 20 3d 20 24 64 61 74 61 3b 0a 7d 20 65 6c value->{$property}.=.$data;.}.el
17afa0 73 65 20 7b 0a 24 76 61 6c 75 65 5b 24 70 72 6f 70 65 72 74 79 5d 20 3d 20 24 64 61 74 61 3b 0a se.{.$value[$property].=.$data;.
17afc0 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 }.}..public.static.function.prop
17afe0 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a ertyExists($value,.$property).{.
17b000 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 if.(is_object($value)).{.return.
17b020 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 property_exists($value,.$propert
17b040 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 y);.}..return.array_key_exists($
17b060 70 72 6f 70 65 72 74 79 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 property,.$value);.}..public.sta
17b080 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 tic.function.propertyCount($valu
17b0a0 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 e).{.if.(is_object($value)).{.re
17b0c0 74 75 72 6e 20 63 6f 75 6e 74 28 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 76 61 6c 75 turn.count(get_object_vars($valu
17b0e0 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a e));.}..return.count($value);.}.
17b100 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 ........private.static.function.
17b120 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 24 61 72 72 29 0a 7b 0a 72 65 74 75 72 isAssociativeArray($arr).{.retur
17b140 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 72 72 29 20 21 3d 3d 20 72 61 6e 67 65 28 30 2c 20 n.array_keys($arr).!==.range(0,.
17b160 63 6f 75 6e 74 28 24 61 72 72 29 20 2d 20 31 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d count($arr).-.1);.}.}.<?php..nam
17b180 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 espace.JsonSchema\Constraints\Ty
17b1a0 70 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 73 20 53 74 72 69 63 74 54 79 70 65 43 68 65 63 6b 20 peCheck;..class.StrictTypeCheck.
17b1c0 69 6d 70 6c 65 6d 65 6e 74 73 20 54 79 70 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a implements.TypeCheckInterface.{.
17b1e0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 public.static.function.isObject(
17b200 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 $value).{.return.is_object($valu
17b220 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 e);.}..public.static.function.is
17b240 41 72 72 61 79 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 61 79 28 Array($value).{.return.is_array(
17b260 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 $value);.}..public.static.functi
17b280 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 on.propertyGet($value,.$property
17b2a0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 3b 0a ).{.return.$value->{$property};.
17b2c0 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 }..public.static.function.proper
17b2e0 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 tySet(&$value,.$property,.$data)
17b300 0a 7b 0a 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 20 3d 20 24 64 61 74 61 3b 0a .{.$value->{$property}.=.$data;.
17b320 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 }..public.static.function.proper
17b340 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 72 65 tyExists($value,.$property).{.re
17b360 74 75 72 6e 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 turn.property_exists($value,.$pr
17b380 6f 70 65 72 74 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 operty);.}..public.static.functi
17b3a0 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 on.propertyCount($value).{.retur
17b3c0 6e 20 63 6f 75 6e 74 28 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 76 61 6c 75 65 29 29 n.count(get_object_vars($value))
17b3e0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d ;.}.}.<?php..namespace.JsonSchem
17b400 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 69 6e 74 65 72 66 a\Constraints\TypeCheck;..interf
17b420 61 63 65 20 54 79 70 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 ace.TypeCheckInterface.{.public.
17b440 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 static.function.isObject($value)
17b460 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 ;..public.static.function.isArra
17b480 79 28 24 76 61 6c 75 65 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 y($value);..public.static.functi
17b4a0 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 on.propertyGet($value,.$property
17b4c0 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 );..public.static.function.prope
17b4e0 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 rtySet(&$value,.$property,.$data
17b500 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 );..public.static.function.prope
17b520 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 0a 70 rtyExists($value,.$property);..p
17b540 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f ublic.static.function.propertyCo
17b560 75 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d unt($value);.}.<?php.........nam
17b580 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a espace.JsonSchema\Constraints;..
17b5a0 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 use.JsonSchema\Entity\JsonPointe
17b5c0 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 r;.use.JsonSchema\Exception\Inva
17b5e0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 55 6e 65 78 70 65 lidArgumentException;.use.Unexpe
17b600 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 61 73 20 53 74 61 6e 64 61 72 64 55 6e ctedValueException.as.StandardUn
17b620 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 expectedValueException;........c
17b640 6c 61 73 73 20 54 79 70 65 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 lass.TypeConstraint.extends.Cons
17b660 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 77 6f 72 64 69 traint.{....public.static.$wordi
17b680 6e 67 20 3d 20 61 72 72 61 79 28 0a 27 69 6e 74 65 67 65 72 27 20 3d 3e 20 27 61 6e 20 69 6e 74 ng.=.array(.'integer'.=>.'an.int
17b6a0 65 67 65 72 27 2c 0a 27 6e 75 6d 62 65 72 27 20 3d 3e 20 27 61 20 6e 75 6d 62 65 72 27 2c 0a 27 eger',.'number'.=>.'a.number',.'
17b6c0 62 6f 6f 6c 65 61 6e 27 20 3d 3e 20 27 61 20 62 6f 6f 6c 65 61 6e 27 2c 0a 27 6f 62 6a 65 63 74 boolean'.=>.'a.boolean',.'object
17b6e0 27 20 3d 3e 20 27 61 6e 20 6f 62 6a 65 63 74 27 2c 0a 27 61 72 72 61 79 27 20 3d 3e 20 27 61 6e '.=>.'an.object',.'array'.=>.'an
17b700 20 61 72 72 61 79 27 2c 0a 27 73 74 72 69 6e 67 27 20 3d 3e 20 27 61 20 73 74 72 69 6e 67 27 2c .array',.'string'.=>.'a.string',
17b720 0a 27 6e 75 6c 6c 27 20 3d 3e 20 27 61 20 6e 75 6c 6c 27 2c 0a 27 61 6e 79 27 20 3d 3e 20 6e 75 .'null'.=>.'a.null',.'any'.=>.nu
17b740 6c 6c 2c 20 0a 20 30 20 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ll,...0.=>.null,...);.....public
17b760 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 2c 20 .function.check(&$value.=.null,.
17b780 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
17b7a0 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 79 70 65 20 3d 20 69 h.=.null,.$i.=.null).{.$type.=.i
17b7c0 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 74 79 70 65 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 74 sset($schema->type).?.$schema->t
17b7e0 79 70 65 20 3a 20 6e 75 6c 6c 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 24 77 ype.:.null;.$isValid.=.false;.$w
17b800 6f 72 64 69 6e 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 ording.=.array();..if.(is_array(
17b820 24 74 79 70 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 $type)).{.$this->validateTypesAr
17b840 72 61 79 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 2c 20 24 77 6f 72 64 69 6e 67 2c 20 24 69 73 ray($value,.$type,.$wording,.$is
17b860 56 61 6c 69 64 2c 20 24 70 61 74 68 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 Valid,.$path);.}.elseif.(is_obje
17b880 63 74 28 24 74 79 70 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e ct($type)).{.$this->checkUndefin
17b8a0 65 64 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 ed($value,.$type,.$path);..retur
17b8c0 6e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 24 74 68 69 73 2d 3e 76 61 n;.}.else.{.$isValid.=.$this->va
17b8e0 6c 69 64 61 74 65 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 69 66 lidateType($value,.$type);.}..if
17b900 20 28 24 69 73 56 61 6c 69 64 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 21 69 73 5f .($isValid.===.false).{.if.(!is_
17b920 61 72 72 61 79 28 24 74 79 70 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 array($type)).{.$this->validateT
17b940 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 79 70 65 29 3b 0a 24 77 6f 72 64 69 6e 67 5b ypeNameWording($type);.$wording[
17b960 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 24 74 79 70 65 5d 3b 0a 7d 0a 24 74 68 ].=.self::$wording[$type];.}.$th
17b980 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 75 63 77 6f 72 64 73 28 67 65 74 74 is->addError($path,.ucwords(gett
17b9a0 79 70 65 28 24 76 61 6c 75 65 29 29 20 2e 20 27 20 76 61 6c 75 65 20 66 6f 75 6e 64 2c 20 62 75 ype($value))...'.value.found,.bu
17b9c0 74 20 27 20 2e 0a 24 74 68 69 73 2d 3e 69 6d 70 6c 6f 64 65 57 69 74 68 28 24 77 6f 72 64 69 6e t.'...$this->implodeWith($wordin
17b9e0 67 2c 20 27 2c 20 27 2c 20 27 6f 72 27 29 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c g,.',.',.'or')...'.is.required',
17ba00 20 27 74 79 70 65 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 .'type');.}.}.............protec
17ba20 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 72 61 79 28 ted.function.validateTypesArray(
17ba40 26 24 76 61 6c 75 65 2c 20 61 72 72 61 79 20 24 74 79 70 65 2c 20 26 24 76 61 6c 69 64 54 79 70 &$value,.array.$type,.&$validTyp
17ba60 65 73 57 6f 72 64 69 6e 67 2c 20 26 24 69 73 56 61 6c 69 64 2c 20 24 70 61 74 68 29 0a 7b 0a 66 esWording,.&$isValid,.$path).{.f
17ba80 6f 72 65 61 63 68 20 28 24 74 79 70 65 20 61 73 20 24 74 70 29 20 7b 0a 0a 20 0a 20 69 66 20 28 oreach.($type.as.$tp).{.....if.(
17baa0 69 73 5f 6f 62 6a 65 63 74 28 24 74 70 29 29 20 7b 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 is_object($tp)).{.if.(!$isValid)
17bac0 20 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e .{.$validator.=.$this->factory->
17bae0 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 73 75 62 53 createInstanceFor('type');.$subS
17bb00 63 68 65 6d 61 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 3b 0a 24 73 75 62 53 63 68 chema.=.new.\stdClass();.$subSch
17bb20 65 6d 61 2d 3e 74 79 70 65 20 3d 20 24 74 70 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 ema->type.=.$tp;.$validator->che
17bb40 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 75 62 53 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 6e 75 ck($value,.$subSchema,.$path,.nu
17bb60 6c 6c 29 3b 0a 24 65 72 72 6f 72 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 ll);.$error.=.$validator->getErr
17bb80 6f 72 73 28 29 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 21 28 62 6f 6f 6c 29 20 24 65 72 72 6f 72 ors();.$isValid.=.!(bool).$error
17bba0 3b 0a 24 76 61 6c 69 64 54 79 70 65 73 57 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 ;.$validTypesWording[].=.self::$
17bbc0 77 6f 72 64 69 6e 67 5b 27 6f 62 6a 65 63 74 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 wording['object'];.}.}.else.{.$t
17bbe0 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 70 his->validateTypeNameWording($tp
17bc00 29 3b 0a 24 76 61 6c 69 64 54 79 70 65 73 57 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a );.$validTypesWording[].=.self::
17bc20 24 77 6f 72 64 69 6e 67 5b 24 74 70 5d 3b 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a $wording[$tp];.if.(!$isValid).{.
17bc40 24 69 73 56 61 6c 69 64 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 $isValid.=.$this->validateType($
17bc60 76 61 6c 75 65 2c 20 24 74 70 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a value,.$tp);.}.}.}.}............
17bc80 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6d 70 6c 6f 64 65 57 69 74 68 28 .protected.function.implodeWith(
17bca0 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 73 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 2c array.$elements,.$delimiter.=.',
17bcc0 20 27 2c 20 24 6c 69 73 74 45 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 6c 69 73 .',.$listEnd.=.false).{.if.($lis
17bce0 74 45 6e 64 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 21 69 73 73 65 74 28 24 65 6c 65 6d 65 6e tEnd.===.false.||.!isset($elemen
17bd00 74 73 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 24 64 65 6c 69 6d 69 ts[1])).{.return.implode($delimi
17bd20 74 65 72 2c 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 7d 0a 24 6c 61 73 74 45 6c 65 6d 65 6e 74 20 ter,.$elements);.}.$lastElement.
17bd40 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 65 6c 65 6d 65 6e 74 73 2c 20 2d 31 29 3b 0a 24 66 =.array_slice($elements,.-1);.$f
17bd60 69 72 73 45 6c 65 6d 65 6e 74 73 20 3d 20 6a 6f 69 6e 28 24 64 65 6c 69 6d 69 74 65 72 2c 20 61 irsElements.=.join($delimiter,.a
17bd80 72 72 61 79 5f 73 6c 69 63 65 28 24 65 6c 65 6d 65 6e 74 73 2c 20 30 2c 20 2d 31 29 29 3b 0a 24 rray_slice($elements,.0,.-1));.$
17bda0 69 6d 70 6c 6f 64 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 implodedElements.=.array_merge(a
17bdc0 72 72 61 79 28 24 66 69 72 73 45 6c 65 6d 65 6e 74 73 29 2c 20 24 6c 61 73 74 45 6c 65 6d 65 6e rray($firsElements),.$lastElemen
17bde0 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6a 6f 69 6e 28 22 20 24 6c 69 73 74 45 6e 64 20 22 2c 20 24 t);..return.join(".$listEnd.",.$
17be00 69 6d 70 6c 6f 64 65 64 45 6c 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 implodedElements);.}..........pr
17be20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d otected.function.validateTypeNam
17be40 65 57 6f 72 64 69 6e 67 28 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c eWording($type).{.if.(!isset(sel
17be60 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 f::$wording[$type])).{.throw.new
17be80 20 53 74 61 6e 64 61 72 64 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f .StandardUnexpectedValueExceptio
17bea0 6e 28 0a 73 70 72 69 6e 74 66 28 0a 27 4e 6f 20 77 6f 72 64 69 6e 67 20 66 6f 72 20 25 73 20 61 n(.sprintf(.'No.wording.for.%s.a
17bec0 76 61 69 6c 61 62 6c 65 2c 20 65 78 70 65 63 74 65 64 20 77 6f 72 64 69 6e 67 73 20 61 72 65 3a vailable,.expected.wordings.are:
17bee0 20 5b 25 73 5d 27 2c 0a 76 61 72 5f 65 78 70 6f 72 74 28 24 74 79 70 65 2c 20 74 72 75 65 29 2c .[%s]',.var_export($type,.true),
17bf00 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 73 65 6c 66 .implode(',.',.array_filter(self
17bf20 3a 3a 24 77 6f 72 64 69 6e 67 29 29 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ::$wording))).);.}.}............
17bf40 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 28 protected.function.validateType(
17bf60 26 24 76 61 6c 75 65 2c 20 24 74 79 70 65 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 79 70 65 29 20 &$value,.$type).{...if.(!$type).
17bf80 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 61 6e 79 27 20 3d 3d 3d 20 {.return.true;.}..if.('any'.===.
17bfa0 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 6f 62 $type).{.return.true;.}..if.('ob
17bfc0 6a 65 63 74 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ject'.===.$type).{.return.$this-
17bfe0 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 >getTypeCheck()->isObject($value
17c000 29 3b 0a 7d 0a 0a 69 66 20 28 27 61 72 72 61 79 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 );.}..if.('array'.===.$type).{.r
17c020 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 41 eturn.$this->getTypeCheck()->isA
17c040 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 24 63 6f 65 72 63 65 20 3d 20 24 74 68 69 73 rray($value);.}..$coerce.=.$this
17c060 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 43 6f 6e 73 74 72 61 69 6e 74 3a ->factory->getConfig(Constraint:
17c080 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 43 4f 45 52 43 45 5f 54 59 50 45 53 29 3b 0a 0a 69 66 20 28 :CHECK_MODE_COERCE_TYPES);..if.(
17c0a0 27 69 6e 74 65 67 65 72 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 'integer'.===.$type).{.if.($coer
17c0c0 63 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 6f 49 6e 74 65 67 65 72 28 ce).{.$value.=.$this->toInteger(
17c0e0 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 69 6e 74 28 24 76 61 6c 75 65 $value);.}..return.is_int($value
17c100 29 3b 0a 7d 0a 0a 69 66 20 28 27 6e 75 6d 62 65 72 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a );.}..if.('number'.===.$type).{.
17c120 69 66 20 28 24 63 6f 65 72 63 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 if.($coerce).{.$value.=.$this->t
17c140 6f 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 oNumber($value);.}..return.is_nu
17c160 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c meric($value).&&.!is_string($val
17c180 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 62 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 74 79 70 65 29 ue);.}..if.('boolean'.===.$type)
17c1a0 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 .{.if.($coerce).{.$value.=.$this
17c1c0 2d 3e 74 6f 42 6f 6f 6c 65 61 6e 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 ->toBoolean($value);.}..return.i
17c1e0 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 73 74 72 69 6e 67 27 20 s_bool($value);.}..if.('string'.
17c200 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 76 ===.$type).{.return.is_string($v
17c220 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 65 6d 61 69 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 alue);.}..if.('email'.===.$type)
17c240 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a .{.return.is_string($value);.}..
17c260 69 66 20 28 27 6e 75 6c 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 if.('null'.===.$type).{.return.i
17c280 73 5f 6e 75 6c 6c 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 s_null($value);.}..throw.new.Inv
17c2a0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 28 69 73 5f 6f 62 6a 65 63 74 alidArgumentException((is_object
17c2c0 28 24 76 61 6c 75 65 29 20 3f 20 27 6f 62 6a 65 63 74 27 20 3a 20 24 76 61 6c 75 65 29 20 2e 20 ($value).?.'object'.:.$value)...
17c2e0 27 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 74 79 70 65 20 66 6f 72 20 27 20 2e 20 24 74 79 '.is.an.invalid.type.for.'...$ty
17c300 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f pe);.}.........protected.functio
17c320 6e 20 74 6f 42 6f 6f 6c 65 61 6e 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 65 n.toBoolean($value).{.if.($value
17c340 20 3d 3d 3d 20 27 74 72 75 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 .===.'true').{.return.true;.}..i
17c360 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 66 61 6c 73 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 f.($value.===.'false').{.return.
17c380 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a false;.}..return.$value;.}......
17c3a0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 4e 75 6d 62 65 72 28 24 ...protected.function.toNumber($
17c3c0 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 value).{.if.(is_numeric($value))
17c3e0 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 20 2b 20 30 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 .{.return.$value.+.0;...}..retur
17c400 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 n.$value;.}..protected.function.
17c420 74 6f 49 6e 74 65 67 65 72 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 toInteger($value).{.if.(is_numer
17c440 69 63 28 24 76 61 6c 75 65 29 20 26 26 20 28 69 6e 74 29 20 24 76 61 6c 75 65 20 3d 3d 20 24 76 ic($value).&&.(int).$value.==.$v
17c460 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 20 0a 20 7d alue).{.return.(int).$value;...}
17c480 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ..return.$value;.}.}.<?php......
17c4a0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 ...namespace.JsonSchema\Constrai
17c4c0 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 nts;..use.JsonSchema\Constraints
17c4e0 5c 54 79 70 65 43 68 65 63 6b 5c 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3b 0a 75 73 65 20 4a \TypeCheck\LooseTypeCheck;.use.J
17c500 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 sonSchema\Entity\JsonPointer;.us
17c520 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f e.JsonSchema\Exception\Validatio
17c540 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 nException;.use.JsonSchema\Uri\U
17c560 72 69 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e riResolver;........class.Undefin
17c580 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a edConstraint.extends.Constraint.
17c5a0 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 {....protected.$appliedDefaults.
17c5c0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 =.array();.....public.function.c
17c5e0 68 65 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 heck(&$value,.$schema.=.null,.Js
17c600 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
17c620 6c 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 l,.$fromDefault.=.false).{.if.(i
17c640 73 5f 6e 75 6c 6c 28 24 73 63 68 65 6d 61 29 20 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 73 s_null($schema).||.!is_object($s
17c660 63 68 65 6d 61 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 24 74 68 chema)).{.return;.}..$path.=.$th
17c680 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a is->incrementPath($path.?:.new.J
17c6a0 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 2c 20 24 69 29 3b 0a 69 66 20 28 24 66 72 6f 6d 44 65 sonPointer(''),.$i);.if.($fromDe
17c6c0 66 61 75 6c 74 29 20 7b 0a 24 70 61 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 fault).{.$path->setFromDefault()
17c6e0 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 ;.}....$this->validateCommonProp
17c700 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 erties($value,.$schema,.$path,.$
17c720 69 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4f 66 50 72 6f 70 65 72 74 69 i);....$this->validateOfProperti
17c740 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 27 27 29 3b 0a es($value,.$schema,.$path,.'');.
17c760 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 73 28 24 76 61 6c 75 65 2c 20 ...$this->validateTypes($value,.
17c780 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $schema,.$path,.$i);.}..........
17c7a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 73 28 26 24 public.function.validateTypes(&$
17c7c0 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 value,.$schema.=.null,.JsonPoint
17c7e0 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 74 68 er.$path,.$i.=.null).{...if.($th
17c800 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 41 72 72 61 79 28 24 76 61 6c is->getTypeCheck()->isArray($val
17c820 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 72 72 61 79 28 24 76 61 6c 75 65 2c ue)).{.$this->checkArray($value,
17c840 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 4c .$schema,.$path,.$i);.}....if.(L
17c860 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 ooseTypeCheck::isObject($value))
17c880 20 7b 20 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4f 62 6a 65 63 74 28 0a 24 76 61 .{.......$this->checkObject(.$va
17c8a0 6c 75 65 2c 0a 24 73 63 68 65 6d 61 2c 0a 24 70 61 74 68 2c 0a 69 73 73 65 74 28 24 73 63 68 65 lue,.$schema,.$path,.isset($sche
17c8c0 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 ma->properties).?.$schema->prope
17c8e0 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 rties.:.null,.isset($schema->add
17c900 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 61 64 itionalProperties).?.$schema->ad
17c920 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 69 73 73 65 74 ditionalProperties.:.null,.isset
17c940 28 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 ($schema->patternProperties).?.$
17c960 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c schema->patternProperties.:.null
17c980 2c 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 0a 29 3b 0a 7d 0a 0a 0a ,.$this->appliedDefaults.);.}...
17c9a0 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d .if.(is_string($value)).{.$this-
17c9c0 3e 63 68 65 63 6b 53 74 72 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 >checkString($value,.$schema,.$p
17c9e0 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 ath,.$i);.}....if.(is_numeric($v
17ca00 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4e 75 6d 62 65 72 28 24 76 61 6c alue)).{.$this->checkNumber($val
17ca20 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 ue,.$schema,.$path,.$i);.}....if
17ca40 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 29 20 7b 0a 24 74 68 69 73 2d .(isset($schema->enum)).{.$this-
17ca60 3e 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 >checkEnum($value,.$schema,.$pat
17ca80 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 h,.$i);.}.}..........protected.f
17caa0 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 unction.validateCommonProperties
17cac0 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f (&$value,.$schema.=.null,.JsonPo
17cae0 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 0a 7b 0a 0a 20 69 66 20 28 69 73 inter.$path,.$i.=.'').{...if.(is
17cb00 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 69 66 20 28 69 73 5f set($schema->extends)).{.if.(is_
17cb20 73 74 72 69 6e 67 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 24 73 63 68 string($schema->extends)).{.$sch
17cb40 65 6d 61 2d 3e 65 78 74 65 6e 64 73 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 55 72 ema->extends.=.$this->validateUr
17cb60 69 28 24 73 63 68 65 6d 61 2c 20 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 3b 0a 7d 0a i($schema,.$schema->extends);.}.
17cb80 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 if.(is_array($schema->extends)).
17cba0 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 20 61 73 20 24 {.foreach.($schema->extends.as.$
17cbc0 65 78 74 65 6e 64 73 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 extends).{.$this->checkUndefined
17cbe0 28 24 76 61 6c 75 65 2c 20 24 65 78 74 65 6e 64 73 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d ($value,.$extends,.$path,.$i);.}
17cc00 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 .}.else.{.$this->checkUndefined(
17cc20 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 2c 20 24 70 61 74 68 2c $value,.$schema->extends,.$path,
17cc40 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 70 61 74 68 2d 3e 66 72 6f 6d 44 65 66 .$i);.}.}....if.(!$path->fromDef
17cc60 61 75 6c 74 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c ault()).{.$this->applyDefaultVal
17cc80 75 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a ues($value,.$schema,.$path);.}..
17cca0 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f ..if.($this->getTypeCheck()->isO
17ccc0 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 69 66 20 28 21 28 24 76 61 6c 75 65 20 69 6e bject($value)).{.if.(!($value.in
17cce0 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 26 26 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d stanceof.self).&&.isset($schema-
17cd00 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e >required).&&.is_array($schema->
17cd20 72 65 71 75 69 72 65 64 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d required)).{...foreach.($schema-
17cd40 3e 72 65 71 75 69 72 65 64 20 61 73 20 24 72 65 71 75 69 72 65 64 29 20 7b 0a 69 66 20 28 21 24 >required.as.$required).{.if.(!$
17cd60 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 this->getTypeCheck()->propertyEx
17cd80 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 72 65 71 75 69 72 65 64 29 29 20 7b 0a 24 74 68 69 73 ists($value,.$required)).{.$this
17cda0 2d 3e 61 64 64 45 72 72 6f 72 28 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 ->addError(.$this->incrementPath
17cdc0 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 2c 20 24 ($path.?:.new.JsonPointer(''),.$
17cde0 72 65 71 75 69 72 65 64 29 2c 0a 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 72 65 required),.'The.property.'...$re
17ce00 71 75 69 72 65 64 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c 0a 27 72 65 71 75 69 72 quired...'.is.required',.'requir
17ce20 65 64 27 0a 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 ed'.);.}.}.}.elseif.(isset($sche
17ce40 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 ma->required).&&.!is_array($sche
17ce60 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 29 20 7b 0a 0a 20 69 66 20 28 24 73 63 68 65 6d 61 2d 3e ma->required)).{...if.($schema->
17ce80 72 65 71 75 69 72 65 64 20 26 26 20 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 required.&&.$value.instanceof.se
17cea0 6c 66 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d 20 24 70 61 74 68 2d 3e 67 65 lf).{.$propertyPaths.=.$path->ge
17cec0 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 3b 0a 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 tPropertyPaths();.$propertyName.
17cee0 3d 20 65 6e 64 28 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 61 64 =.end($propertyPaths);.$this->ad
17cf00 64 45 72 72 6f 72 28 0a 24 70 61 74 68 2c 0a 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e dError(.$path,.'The.property.'..
17cf20 20 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c .$propertyName...'.is.required',
17cf40 0a 27 72 65 71 75 69 72 65 64 27 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 28 24 76 .'required'.);.}.}.}....if.(!($v
17cf60 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 29 20 7b 0a 24 74 68 69 73 2d 3e alue.instanceof.self)).{.$this->
17cf80 63 68 65 63 6b 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 checkType($value,.$schema,.$path
17cfa0 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 ,.$i);.}....if.(isset($schema->d
17cfc0 69 73 61 6c 6c 6f 77 29 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d isallow)).{.$initErrors.=.$this-
17cfe0 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 24 74 79 70 65 53 63 68 65 6d 61 20 3d 20 6e 65 77 >getErrors();..$typeSchema.=.new
17d000 20 5c 73 74 64 43 6c 61 73 73 28 29 3b 0a 24 74 79 70 65 53 63 68 65 6d 61 2d 3e 74 79 70 65 20 .\stdClass();.$typeSchema->type.
17d020 3d 20 24 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 =.$schema->disallow;.$this->chec
17d040 6b 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 53 63 68 65 6d 61 2c 20 24 70 61 74 68 kType($value,.$typeSchema,.$path
17d060 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 );....if.(count($this->getErrors
17d080 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 20 7b 0a 24 74 68 ()).==.count($initErrors)).{.$th
17d0a0 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 44 69 73 61 6c 6c 6f 77 65 64 20 is->addError($path,.'Disallowed.
17d0c0 76 61 6c 75 65 20 77 61 73 20 6d 61 74 63 68 65 64 27 2c 20 27 64 69 73 61 6c 6c 6f 77 27 29 3b value.was.matched',.'disallow');
17d0e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 45 .}.else.{.$this->errors.=.$initE
17d100 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6e rrors;.}.}..if.(isset($schema->n
17d120 6f 74 29 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 ot)).{.$initErrors.=.$this->getE
17d140 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 rrors();.$this->checkUndefined($
17d160 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2d 3e 6e 6f 74 2c 20 24 70 61 74 68 2c 20 24 69 29 3b value,.$schema->not,.$path,.$i);
17d180 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 ....if.(count($this->getErrors()
17d1a0 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 20 7b 0a 24 74 68 69 73 ).==.count($initErrors)).{.$this
17d1c0 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 61 74 63 68 65 64 20 61 20 73 63 68 ->addError($path,.'Matched.a.sch
17d1e0 65 6d 61 20 77 68 69 63 68 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 27 2c 20 27 6e 6f 74 27 29 ema.which.it.should.not',.'not')
17d200 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 ;.}.else.{.$this->errors.=.$init
17d220 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 Errors;.}.}....if.(isset($schema
17d240 2d 3e 64 65 70 65 6e 64 65 6e 63 69 65 73 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 ->dependencies).&&.$this->getTyp
17d260 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 eCheck()->isObject($value)).{.$t
17d280 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 76 61 6c 75 65 his->validateDependencies($value
17d2a0 2c 20 24 73 63 68 65 6d 61 2d 3e 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 24 70 61 74 68 29 3b ,.$schema->dependencies,.$path);
17d2c0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 .}.}...........private.function.
17d2e0 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 shouldApplyDefaultValue($require
17d300 64 4f 6e 6c 79 2c 20 24 73 63 68 65 6d 61 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 dOnly,.$schema,.$name.=.null,.$p
17d320 61 72 65 6e 74 53 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 21 24 72 65 arentSchema.=.null).{...if.(!$re
17d340 71 75 69 72 65 64 4f 6e 6c 79 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 20 69 quiredOnly).{.return.true;.}...i
17d360 66 20 28 0a 24 6e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 0a 26 26 20 69 73 73 65 74 28 24 70 61 72 f.(.$name.!==.null.&&.isset($par
17d380 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 0a 26 26 20 69 73 5f 61 72 72 61 79 entSchema->required).&&.is_array
17d3a0 28 24 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 0a 26 26 20 69 6e 5f ($parentSchema->required).&&.in_
17d3c0 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 array($name,.$parentSchema->requ
17d3e0 69 72 65 64 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 69 ired).).{.return.true;.}...if.(i
17d400 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 21 69 73 5f 61 sset($schema->required).&&.!is_a
17d420 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 24 73 63 68 65 rray($schema->required).&&.$sche
17d440 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a ma->required).{.return.true;.}..
17d460 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .return.false;.}.........protect
17d480 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 73 28 26 ed.function.applyDefaultValues(&
17d4a0 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 $value,.$schema,.$path).{...if.(
17d4c0 21 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a !$this->factory->getConfig(self:
17d4e0 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 4c 54 53 29 29 20 7b 0a 72 :CHECK_MODE_APPLY_DEFAULTS)).{.r
17d500 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 20 3d 20 24 74 68 69 eturn;.}....$requiredOnly.=.$thi
17d520 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 s->factory->getConfig(self::CHEC
17d540 4b 5f 4d 4f 44 45 5f 4f 4e 4c 59 5f 52 45 51 55 49 52 45 44 5f 44 45 46 41 55 4c 54 53 29 3b 0a K_MODE_ONLY_REQUIRED_DEFAULTS);.
17d560 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 29 20 26 if.(isset($schema->properties).&
17d580 26 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 &.LooseTypeCheck::isObject($valu
17d5a0 65 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 e)).{...foreach.($schema->proper
17d5c0 74 69 65 73 20 61 73 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 20 3d 3e 20 24 70 72 6f ties.as.$currentProperty.=>.$pro
17d5e0 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 44 65 66 69 pertyDefinition).{.$propertyDefi
17d600 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 nition.=.$this->factory->getSche
17d620 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 70 maStorage()->resolveRefSchema($p
17d640 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 69 66 20 28 0a 21 4c 6f 6f 73 65 54 ropertyDefinition);.if.(.!LooseT
17d660 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c ypeCheck::propertyExists($value,
17d680 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 29 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 .$currentProperty).&&.property_e
17d6a0 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2c 20 27 64 65 66 61 xists($propertyDefinition,.'defa
17d6c0 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 ult').&&.$this->shouldApplyDefau
17d6e0 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 70 72 6f 70 65 72 74 79 ltValue($requiredOnly,.$property
17d700 44 65 66 69 6e 69 74 69 6f 6e 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 24 73 Definition,.$currentProperty,.$s
17d720 63 68 65 6d 61 29 0a 29 20 7b 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 chema).).{...if.(is_object($prop
17d740 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 29 20 7b 0a 4c 6f 6f 73 ertyDefinition->default)).{.Loos
17d760 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 79 53 65 74 28 24 76 61 6c 75 65 2c 20 eTypeCheck::propertySet($value,.
17d780 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 63 6c 6f 6e 65 20 24 70 72 6f 70 65 72 74 $currentProperty,.clone.$propert
17d7a0 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a yDefinition->default);.}.else.{.
17d7c0 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 79 53 65 74 28 24 76 61 6c LooseTypeCheck::propertySet($val
17d7e0 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 24 70 72 6f 70 65 72 74 79 44 ue,.$currentProperty,.$propertyD
17d800 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 70 efinition->default);.}.$this->ap
17d820 70 6c 69 65 64 44 65 66 61 75 6c 74 73 5b 5d 20 3d 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 pliedDefaults[].=.$currentProper
17d840 74 79 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d ty;.}.}.}.elseif.(isset($schema-
17d860 3e 69 74 65 6d 73 29 20 26 26 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 41 72 72 >items).&&.LooseTypeCheck::isArr
17d880 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 69 74 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ay($value)).{.$items.=.array();.
17d8a0 69 66 20 28 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 41 72 72 61 79 28 24 73 63 68 if.(LooseTypeCheck::isArray($sch
17d8c0 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 24 69 74 65 6d 73 20 3d 20 24 73 63 68 65 6d 61 2d ema->items)).{.$items.=.$schema-
17d8e0 3e 69 74 65 6d 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d >items;.}.elseif.(isset($schema-
17d900 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3c 20 24 73 >minItems).&&.count($value).<.$s
17d920 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 7b 0a 24 69 74 65 6d 73 20 3d 20 61 72 72 61 chema->minItems).{.$items.=.arra
17d940 79 5f 66 69 6c 6c 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 2c 20 24 73 63 68 65 6d 61 2d 3e 6d y_fill(count($value),.$schema->m
17d960 69 6e 49 74 65 6d 73 20 2d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 2c 20 24 73 63 68 65 6d 61 inItems.-.count($value),.$schema
17d980 2d 3e 69 74 65 6d 73 29 3b 0a 7d 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 69 74 65 6d 73 20 61 73 ->items);.}...foreach.($items.as
17d9a0 20 24 63 75 72 72 65 6e 74 49 74 65 6d 20 3d 3e 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e .$currentItem.=>.$itemDefinition
17d9c0 29 20 7b 0a 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 ).{.$itemDefinition.=.$this->fac
17d9e0 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 tory->getSchemaStorage()->resolv
17da00 65 52 65 66 53 63 68 65 6d 61 28 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 69 66 20 eRefSchema($itemDefinition);.if.
17da20 28 0a 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 63 75 72 72 65 6e 74 49 74 65 6d (.!array_key_exists($currentItem
17da40 2c 20 24 76 61 6c 75 65 29 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 69 74 ,.$value).&&.property_exists($it
17da60 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2c 20 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 emDefinition,.'default').&&.$thi
17da80 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 s->shouldApplyDefaultValue($requ
17daa0 69 72 65 64 4f 6e 6c 79 2c 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 29 29 20 7b 0a 69 66 iredOnly,.$itemDefinition)).{.if
17dac0 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 .(is_object($itemDefinition->def
17dae0 61 75 6c 74 29 29 20 7b 0a 24 76 61 6c 75 65 5b 24 63 75 72 72 65 6e 74 49 74 65 6d 5d 20 3d 20 ault)).{.$value[$currentItem].=.
17db00 63 6c 6f 6e 65 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 3b 0a clone.$itemDefinition->default;.
17db20 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 5b 24 63 75 72 72 65 6e 74 49 74 65 6d 5d 20 3d 20 }.else.{.$value[$currentItem].=.
17db40 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 24 70 $itemDefinition->default;.}.}.$p
17db60 61 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 ath->setFromDefault();.}.}.elsei
17db80 66 20 28 0a 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 0a 26 26 20 70 72 f.(.$value.instanceof.self.&&.pr
17dba0 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 64 65 66 61 75 6c 74 27 operty_exists($schema,.'default'
17dbc0 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 ).&&.$this->shouldApplyDefaultVa
17dbe0 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 73 63 68 65 6d 61 29 29 20 7b 0a 0a lue($requiredOnly,.$schema)).{..
17dc00 20 24 76 61 6c 75 65 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 2d 3e 64 65 66 .$value.=.is_object($schema->def
17dc20 61 75 6c 74 29 20 3f 20 63 6c 6f 6e 65 20 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 20 3a ault).?.clone.$schema->default.:
17dc40 20 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 3b 0a 24 70 61 74 68 2d 3e 73 65 74 46 72 6f .$schema->default;.$path->setFro
17dc60 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 mDefault();.}.}..........protect
17dc80 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4f 66 50 72 6f 70 65 72 74 69 65 73 ed.function.validateOfProperties
17dca0 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 (&$value,.$schema,.JsonPointer.$
17dcc0 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 0a 7b 0a 0a 20 69 66 20 28 24 76 61 6c 75 65 20 69 6e path,.$i.=.'').{...if.($value.in
17dce0 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 stanceof.self).{.return;.}..if.(
17dd00 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 6c 6c 4f 66 29 29 20 7b 0a 24 69 73 56 61 6c 69 isset($schema->allOf)).{.$isVali
17dd20 64 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 61 6c 6c 4f d.=.true;.foreach.($schema->allO
17dd40 66 20 61 73 20 24 61 6c 6c 4f 66 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 f.as.$allOf).{.$initErrors.=.$th
17dd60 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 is->getErrors();.$this->checkUnd
17dd80 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 6c 6c 4f 66 2c 20 24 70 61 74 68 2c 20 24 69 efined($value,.$allOf,.$path,.$i
17dda0 29 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 24 69 73 56 61 6c 69 64 20 26 26 20 28 63 6f 75 6e 74 );.$isValid.=.$isValid.&&.(count
17ddc0 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 ($this->getErrors()).==.count($i
17dde0 6e 69 74 45 72 72 6f 72 73 29 29 3b 0a 7d 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a nitErrors));.}.if.(!$isValid).{.
17de00 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 $this->addError($path,.'Failed.t
17de20 6f 20 6d 61 74 63 68 20 61 6c 6c 20 73 63 68 65 6d 61 73 27 2c 20 27 61 6c 6c 4f 66 27 29 3b 0a o.match.all.schemas',.'allOf');.
17de40 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 6e 79 4f 66 29 29 20 }.}..if.(isset($schema->anyOf)).
17de60 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 24 73 74 61 72 74 45 72 72 6f 72 73 {.$isValid.=.false;.$startErrors
17de80 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 63 61 75 67 68 74 45 78 .=.$this->getErrors();.$caughtEx
17dea0 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 ception.=.null;.foreach.($schema
17dec0 2d 3e 61 6e 79 4f 66 20 61 73 20 24 61 6e 79 4f 66 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 ->anyOf.as.$anyOf).{.$initErrors
17dee0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 74 72 79 20 7b 0a 24 74 68 .=.$this->getErrors();.try.{.$th
17df00 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 6e 79 4f is->checkUndefined($value,.$anyO
17df20 66 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 69 66 20 28 24 69 73 56 61 6c 69 64 20 3d 20 28 63 f,.$path,.$i);.if.($isValid.=.(c
17df40 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e ount($this->getErrors()).==.coun
17df60 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 20 63 61 t($initErrors))).{.break;.}.}.ca
17df80 74 63 68 20 28 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 tch.(ValidationException.$e).{.$
17dfa0 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 69 66 20 28 21 24 69 73 56 61 6c isValid.=.false;.}.}.if.(!$isVal
17dfc0 69 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 46 61 id).{.$this->addError($path,.'Fa
17dfe0 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 73 63 68 65 6d iled.to.match.at.least.one.schem
17e000 61 27 2c 20 27 61 6e 79 4f 66 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 a',.'anyOf');.}.else.{.$this->er
17e020 72 6f 72 73 20 3d 20 24 73 74 61 72 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 rors.=.$startErrors;.}.}..if.(is
17e040 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6f 6e 65 4f 66 29 29 20 7b 0a 24 61 6c 6c 45 72 72 6f 72 set($schema->oneOf)).{.$allError
17e060 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 20 3d 20 30 s.=.array();.$matchedSchemas.=.0
17e080 3b 0a 24 73 74 61 72 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 ;.$startErrors.=.$this->getError
17e0a0 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 6f 6e 65 4f 66 20 61 73 20 s();.foreach.($schema->oneOf.as.
17e0c0 24 6f 6e 65 4f 66 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 $oneOf).{.try.{.$this->errors.=.
17e0e0 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 array();.$this->checkUndefined($
17e100 76 61 6c 75 65 2c 20 24 6f 6e 65 4f 66 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 69 66 20 28 63 value,.$oneOf,.$path,.$i);.if.(c
17e120 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 30 29 20 7b ount($this->getErrors()).==.0).{
17e140 0a 24 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 2b 2b 3b 0a 7d 0a 24 61 6c 6c 45 72 72 6f 72 73 .$matchedSchemas++;.}.$allErrors
17e160 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 61 6c 6c 45 72 72 6f 72 73 2c 20 61 72 72 61 79 .=.array_merge($allErrors,.array
17e180 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 3b 0a 7d 20 _values($this->getErrors()));.}.
17e1a0 63 61 74 63 68 20 28 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b catch.(ValidationException.$e).{
17e1c0 0a 0a 20 0a 20 7d 0a 7d 0a 69 66 20 28 24 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 20 21 3d 3d .....}.}.if.($matchedSchemas.!==
17e1e0 20 31 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 5f 6d 65 72 .1).{.$this->addErrors(array_mer
17e200 67 65 28 24 61 6c 6c 45 72 72 6f 72 73 2c 20 24 73 74 61 72 74 45 72 72 6f 72 73 29 29 3b 0a 24 ge($allErrors,.$startErrors));.$
17e220 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 6f this->addError($path,.'Failed.to
17e240 20 6d 61 74 63 68 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 73 63 68 65 6d 61 27 2c 20 27 6f 6e 65 .match.exactly.one.schema',.'one
17e260 4f 66 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 Of');.}.else.{.$this->errors.=.$
17e280 73 74 61 72 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 startErrors;.}.}.}..........prot
17e2a0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 44 65 70 65 6e 64 65 6e 63 ected.function.validateDependenc
17e2c0 69 65 73 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 4a 73 6f 6e 50 ies($value,.$dependencies,.JsonP
17e2e0 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 0a 7b 0a 66 6f 72 65 61 63 68 ointer.$path,.$i.=.'').{.foreach
17e300 20 28 24 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 64 65 70 65 .($dependencies.as.$key.=>.$depe
17e320 6e 64 65 6e 63 79 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 ndency).{.if.($this->getTypeChec
17e340 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 6b 65 79 k()->propertyExists($value,.$key
17e360 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 )).{.if.(is_string($dependency))
17e380 20 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d .{...if.(!$this->getTypeCheck()-
17e3a0 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 >propertyExists($value,.$depende
17e3c0 6e 63 79 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 ncy)).{.$this->addError($path,."
17e3e0 24 6b 65 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 20 61 6e 64 20 $key.depends.on.$dependency.and.
17e400 24 64 65 70 65 6e 64 65 6e 63 79 20 69 73 20 6d 69 73 73 69 6e 67 22 2c 20 27 64 65 70 65 6e 64 $dependency.is.missing",.'depend
17e420 65 6e 63 69 65 73 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 encies');.}.}.elseif.(is_array($
17e440 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e dependency)).{...foreach.($depen
17e460 64 65 6e 63 79 20 61 73 20 24 64 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 dency.as.$d).{.if.(!$this->getTy
17e480 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 peCheck()->propertyExists($value
17e4a0 2c 20 24 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 ,.$d)).{.$this->addError($path,.
17e4c0 22 24 6b 65 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 24 64 20 61 6e 64 20 24 64 20 69 73 20 6d 69 "$key.depends.on.$d.and.$d.is.mi
17e4e0 73 73 69 6e 67 22 2c 20 27 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 3b 0a 7d 0a 7d 0a 7d 20 65 ssing",.'dependencies');.}.}.}.e
17e500 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b lseif.(is_object($dependency)).{
17e520 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c ...$this->checkUndefined($value,
17e540 20 24 64 65 70 65 6e 64 65 6e 63 79 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 7d 0a .$dependency,.$path,.$i);.}.}.}.
17e560 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 55 72 }..protected.function.validateUr
17e580 69 28 24 73 63 68 65 6d 61 2c 20 24 73 63 68 65 6d 61 55 72 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a i($schema,.$schemaUri.=.null).{.
17e5a0 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 $resolver.=.new.UriResolver();.$
17e5c0 72 65 74 72 69 65 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 55 retriever.=.$this->factory->getU
17e5e0 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 6e 75 riRetriever();..$jsonSchema.=.nu
17e600 6c 6c 3b 0a 69 66 20 28 24 72 65 73 6f 6c 76 65 72 2d 3e 69 73 56 61 6c 69 64 28 24 73 63 68 65 ll;.if.($resolver->isValid($sche
17e620 6d 61 55 72 69 29 29 20 7b 0a 24 73 63 68 65 6d 61 49 64 20 3d 20 70 72 6f 70 65 72 74 79 5f 65 maUri)).{.$schemaId.=.property_e
17e640 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e xists($schema,.'id').?.$schema->
17e660 69 64 20 3a 20 6e 75 6c 6c 3b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 72 65 74 72 69 65 id.:.null;.$jsonSchema.=.$retrie
17e680 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 73 63 68 65 6d 61 49 64 2c 20 24 73 63 68 65 6d 61 ver->retrieve($schemaId,.$schema
17e6a0 55 72 69 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 7d Uri);.}..return.$jsonSchema;.}.}
17e6c0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
17e6e0 65 6d 61 5c 45 6e 74 69 74 79 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 ema\Entity;..use.JsonSchema\Exce
17e700 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a ption\InvalidArgumentException;.
17e720 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 0a 7b 0a 0a 70 72 69 76 61 ......class.JsonPointer.{..priva
17e740 74 65 20 24 66 69 6c 65 6e 61 6d 65 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 70 65 72 74 te.$filename;...private.$propert
17e760 79 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 yPaths.=.array();.....private.$f
17e780 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 romDefault.=.false;.......public
17e7a0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a .function.__construct($value).{.
17e7c0 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 if.(!is_string($value)).{.throw.
17e7e0 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 52 65 new.InvalidArgumentException('Re
17e800 66 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 27 29 3b 0a 7d 0a 0a 24 f.value.must.be.a.string');.}..$
17e820 73 70 6c 69 74 52 65 66 20 3d 20 65 78 70 6c 6f 64 65 28 27 23 27 2c 20 24 76 61 6c 75 65 2c 20 splitRef.=.explode('#',.$value,.
17e840 32 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 6e 61 6d 65 20 3d 20 24 73 70 6c 69 74 52 65 66 5b 2);.$this->filename.=.$splitRef[
17e860 30 5d 3b 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 24 73 70 6c 0];.if.(array_key_exists(1,.$spl
17e880 69 74 52 65 66 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d itRef)).{.$this->propertyPaths.=
17e8a0 20 24 74 68 69 73 2d 3e 64 65 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 24 73 70 6c .$this->decodePropertyPaths($spl
17e8c0 69 74 52 65 66 5b 31 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e itRef[1]);.}.}.......private.fun
17e8e0 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 24 70 72 6f 70 65 ction.decodePropertyPaths($prope
17e900 72 74 79 50 61 74 68 53 74 72 69 6e 67 29 0a 7b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 rtyPathString).{.$paths.=.array(
17e920 29 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 69 6d 28 24 70 );.foreach.(explode('/',.trim($p
17e940 72 6f 70 65 72 74 79 50 61 74 68 53 74 72 69 6e 67 2c 20 27 2f 27 29 29 20 61 73 20 24 70 61 74 ropertyPathString,.'/')).as.$pat
17e960 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 6f 64 65 50 61 74 68 28 24 h).{.$path.=.$this->decodePath($
17e980 70 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 74 68 29 20 26 26 20 27 path);.if.(is_string($path).&&.'
17e9a0 27 20 21 3d 3d 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 73 5b 5d 20 3d 20 24 70 61 74 68 3b '.!==.$path).{.$paths[].=.$path;
17e9c0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 .}.}..return.$paths;.}.....priva
17e9e0 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 te.function.encodePropertyPaths(
17ea00 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 0a 61 72 72 61 79 28 24 74 68 69 ).{.return.array_map(.array($thi
17ea20 73 2c 20 27 65 6e 63 6f 64 65 50 61 74 68 27 29 2c 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 s,.'encodePath'),.$this->getProp
17ea40 65 72 74 79 50 61 74 68 73 28 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 ertyPaths().);.}.......private.f
17ea60 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 unction.decodePath($path).{.retu
17ea80 72 6e 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 61 72 72 61 79 28 27 7e 31 27 20 3d 3e 20 27 2f rn.strtr($path,.array('~1'.=>.'/
17eaa0 27 2c 20 27 7e 30 27 20 3d 3e 20 27 7e 27 2c 20 27 25 32 35 27 20 3d 3e 20 27 25 27 29 29 3b 0a ',.'~0'.=>.'~',.'%25'.=>.'%'));.
17eac0 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 50 }.......private.function.encodeP
17eae0 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 70 61 74 68 2c ath($path).{.return.strtr($path,
17eb00 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 27 7e 31 27 2c 20 27 7e 27 20 3d 3e 20 27 7e 30 27 2c .array('/'.=>.'~1',.'~'.=>.'~0',
17eb20 20 27 25 27 20 3d 3e 20 27 25 32 35 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .'%'.=>.'%25'));.}.....public.fu
17eb40 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.getFilename().{.return.$t
17eb60 68 69 73 2d 3e 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his->filename;.}.....public.func
17eb80 74 69 6f 6e 20 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e tion.getPropertyPaths().{.return
17eba0 20 24 74 68 69 73 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .$this->propertyPaths;.}.......p
17ebc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 50 72 6f 70 65 72 74 79 50 61 74 68 73 ublic.function.withPropertyPaths
17ebe0 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 29 0a 7b 0a 24 6e 65 77 20 3d 20 (array.$propertyPaths).{.$new.=.
17ec00 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 6e 65 77 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 clone.$this;.$new->propertyPaths
17ec20 20 3d 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 6e 65 77 3b .=.$propertyPaths;..return.$new;
17ec40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 70 65 72 .}.....public.function.getProper
17ec60 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 tyPathAsString().{.return.rtrim(
17ec80 27 23 2f 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 74 68 69 73 2d 3e 65 6e 63 6f 64 '#/'...implode('/',.$this->encod
17eca0 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ePropertyPaths()),.'/');.}.....p
17ecc0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 ublic.function.__toString().{.re
17ece0 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 20 2e 20 24 74 68 69 turn.$this->getFilename()...$thi
17ed00 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 3b 0a 7d 0a s->getPropertyPathAsString();.}.
17ed20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 72 6f 6d 44 65 66 61 75 ....public.function.setFromDefau
17ed40 6c 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 74 72 75 65 lt().{.$this->fromDefault.=.true
17ed60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 44 65 ;.}.......public.function.fromDe
17ed80 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 72 6f 6d 44 65 66 61 fault().{.return.$this->fromDefa
17eda0 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 ult;.}.}.<?php..namespace.JsonSc
17edc0 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 hema\Exception;..interface.Excep
17ede0 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a tionInterface.{.}.<?php.........
17ee00 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a namespace.JsonSchema\Exception;.
17ee20 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 ....class.InvalidArgumentExcepti
17ee40 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 on.extends.\InvalidArgumentExcep
17ee60 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 tion.implements.ExceptionInterfa
17ee80 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a ce.{.}.<?php.........namespace.J
17eea0 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 sonSchema\Exception;.....class.I
17eec0 6e 76 61 6c 69 64 43 6f 6e 66 69 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 nvalidConfigException.extends.Ru
17eee0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ntimeException.{.}.<?php........
17ef00 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b .namespace.JsonSchema\Exception;
17ef20 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 6f .....class.InvalidSchemaExceptio
17ef40 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c n.extends.RuntimeException.{.}.<
17ef60 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d ?php.........namespace.JsonSchem
17ef80 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 63 a\Exception;.....class.InvalidSc
17efa0 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 hemaMediaTypeException.extends.R
17efc0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a untimeException.{.}.<?php.......
17efe0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e ..namespace.JsonSchema\Exception
17f000 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 6f 75 72 63 65 55 72 69 45 78 63 65 ;.....class.InvalidSourceUriExce
17f020 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ption.extends.InvalidArgumentExc
17f040 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 eption.{.}.<?php.........namespa
17f060 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 ce.JsonSchema\Exception;.....cla
17f080 73 73 20 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 ss.JsonDecodingException.extends
17f0a0 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .RuntimeException.{.public.funct
17f0c0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 64 65 20 3d 20 4a 53 4f 4e 5f 45 52 52 ion.__construct($code.=.JSON_ERR
17f0e0 4f 52 5f 4e 4f 4e 45 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 OR_NONE,.\Exception.$previous.=.
17f100 6e 75 6c 6c 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 64 65 29 20 7b 0a 63 61 73 65 20 4a 53 null).{.switch.($code).{.case.JS
17f120 4f 4e 5f 45 52 52 4f 52 5f 44 45 50 54 48 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 54 68 65 20 ON_ERROR_DEPTH:.$message.=.'The.
17f140 6d 61 78 69 6d 75 6d 20 73 74 61 63 6b 20 64 65 70 74 68 20 68 61 73 20 62 65 65 6e 20 65 78 63 maximum.stack.depth.has.been.exc
17f160 65 65 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 53 eeded';.break;.case.JSON_ERROR_S
17f180 54 41 54 45 5f 4d 49 53 4d 41 54 43 48 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 49 6e 76 61 6c TATE_MISMATCH:.$message.=.'Inval
17f1a0 69 64 20 6f 72 20 6d 61 6c 66 6f 72 6d 65 64 20 4a 53 4f 4e 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 id.or.malformed.JSON';.break;.ca
17f1c0 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 43 54 52 4c 5f 43 48 41 52 3a 0a 24 6d 65 73 73 61 67 se.JSON_ERROR_CTRL_CHAR:.$messag
17f1e0 65 20 3d 20 27 43 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 65 72 72 6f 72 2c 20 70 6f e.=.'Control.character.error,.po
17f200 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 ssibly.incorrectly.encoded';.bre
17f220 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 3a 0a 24 6d 65 73 73 61 ak;.case.JSON_ERROR_UTF8:.$messa
17f240 67 65 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 63 68 61 72 61 63 74 65 72 73 ge.=.'Malformed.UTF-8.characters
17f260 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b ,.possibly.incorrectly.encoded';
17f280 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 3a 0a .break;.case.JSON_ERROR_SYNTAX:.
17f2a0 24 6d 65 73 73 61 67 65 20 3d 20 27 4a 53 4f 4e 20 73 79 6e 74 61 78 20 69 73 20 6d 61 6c 66 6f $message.=.'JSON.syntax.is.malfo
17f2c0 72 6d 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6d 65 73 73 61 67 65 20 rmed';.break;.default:.$message.
17f2e0 3d 20 27 53 79 6e 74 61 78 20 65 72 72 6f 72 27 3b 0a 7d 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f =.'Syntax.error';.}.parent::__co
17f300 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f nstruct($message,.$code,.$previo
17f320 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 us);.}.}.<?php.........namespace
17f340 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 .JsonSchema\Exception;.....class
17f360 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e .ResourceNotFoundException.exten
17f380 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ds.RuntimeException.{.}.<?php...
17f3a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 ......namespace.JsonSchema\Excep
17f3c0 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e tion;.....class.RuntimeException
17f3e0 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 .extends.\RuntimeException.imple
17f400 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 ments.ExceptionInterface.{.}.<?p
17f420 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c hp.........namespace.JsonSchema\
17f440 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 72 65 73 6f 6c 76 61 Exception;.......class.Unresolva
17f460 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 bleJsonPointerException.extends.
17f480 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 InvalidArgumentException.{.}.<?p
17f4a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c hp.........namespace.JsonSchema\
17f4c0 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 69 52 65 73 6f 6c 76 65 72 Exception;.....class.UriResolver
17f4e0 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 Exception.extends.RuntimeExcepti
17f500 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a on.{.}.<?php.........namespace.J
17f520 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 63 6c 61 73 73 20 56 61 6c 69 sonSchema\Exception;..class.Vali
17f540 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 dationException.extends.RuntimeE
17f560 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 xception.{.}.<?php.........names
17f580 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a pace.JsonSchema\Iterator;.......
17f5a0 63 6c 61 73 73 20 4f 62 6a 65 63 74 49 74 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 class.ObjectIterator.implements.
17f5c0 5c 49 74 65 72 61 74 6f 72 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 0a 70 72 69 76 61 74 65 \Iterator,.\Countable.{..private
17f5e0 20 24 6f 62 6a 65 63 74 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 73 69 74 69 6f 6e 20 3d 20 .$object;...private.$position.=.
17f600 30 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0;...private.$data.=.array();...
17f620 70 72 69 76 61 74 65 20 24 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a private.$initialized.=.false;...
17f640 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6f ..public.function.__construct($o
17f660 62 6a 65 63 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 62 6a 65 63 74 20 3d 20 24 6f 62 6a 65 63 74 bject).{.$this->object.=.$object
17f680 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 ;.}.....public.function.current(
17f6a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e ).{.$this->initialize();..return
17f6c0 20 24 74 68 69 73 2d 3e 64 61 74 61 5b 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 5d 3b 0a 7d .$this->data[$this->position];.}
17f6e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 24 74 .....public.function.next().{.$t
17f700 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 his->initialize();.$this->positi
17f720 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 on++;.}.....public.function.key(
17f740 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e ).{.$this->initialize();..return
17f760 20 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$this->position;.}.....public.f
17f780 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c unction.valid().{.$this->initial
17f7a0 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 61 74 61 ize();..return.isset($this->data
17f7c0 5b 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 [$this->position]);.}.....public
17f7e0 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 .function.rewind().{.$this->init
17f800 69 61 6c 69 7a 65 28 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 7d ialize();.$this->position.=.0;.}
17f820 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 24 .....public.function.count().{.$
17f840 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e this->initialize();..return.coun
17f860 74 28 24 74 68 69 73 2d 3e 64 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 t($this->data);.}.....private.fu
17f880 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 nction.initialize().{.if.(!$this
17f8a0 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 64 61 74 61 20 3d 20 24 ->initialized).{.$this->data.=.$
17f8c0 74 68 69 73 2d 3e 62 75 69 6c 64 44 61 74 61 46 72 6f 6d 4f 62 6a 65 63 74 28 24 74 68 69 73 2d this->buildDataFromObject($this-
17f8e0 3e 6f 62 6a 65 63 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 74 >object);.$this->initialized.=.t
17f900 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 rue;.}.}.......private.function.
17f920 62 75 69 6c 64 44 61 74 61 46 72 6f 6d 4f 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 29 0a 7b 0a 24 buildDataFromObject($object).{.$
17f940 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 73 74 61 63 6b 20 3d 20 6e 65 77 20 result.=.array();..$stack.=.new.
17f960 5c 53 70 6c 53 74 61 63 6b 28 29 3b 0a 24 73 74 61 63 6b 2d 3e 70 75 73 68 28 24 6f 62 6a 65 63 \SplStack();.$stack->push($objec
17f980 74 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 73 74 61 63 6b 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 t);..while.(!$stack->isEmpty()).
17f9a0 7b 0a 24 63 75 72 72 65 6e 74 20 3d 20 24 73 74 61 63 6b 2d 3e 70 6f 70 28 29 3b 0a 69 66 20 28 {.$current.=.$stack->pop();.if.(
17f9c0 69 73 5f 6f 62 6a 65 63 74 28 24 63 75 72 72 65 6e 74 29 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 is_object($current)).{.array_pus
17f9e0 68 28 24 72 65 73 75 6c 74 2c 20 24 63 75 72 72 65 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 h($result,.$current);.}..foreach
17fa00 20 28 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 46 72 6f 6d 49 74 65 6d 28 24 63 75 72 72 65 6e .($this->getDataFromItem($curren
17fa20 74 29 20 61 73 20 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 3d 3e 20 24 70 72 6f 70 65 72 74 79 t).as.$propertyName.=>.$property
17fa40 56 61 6c 75 65 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 65 72 74 79 Value).{.if.(is_object($property
17fa60 56 61 6c 75 65 29 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 56 61 6c 75 Value).||.is_array($propertyValu
17fa80 65 29 29 20 7b 0a 24 73 74 61 63 6b 2d 3e 70 75 73 68 28 24 70 72 6f 70 65 72 74 79 56 61 6c 75 e)).{.$stack->push($propertyValu
17faa0 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a e);.}.}.}..return.$result;.}....
17fac0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 46 72 6f 6d 49 ...private.function.getDataFromI
17fae0 74 65 6d 28 24 69 74 65 6d 29 0a 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 69 74 65 tem($item).{.if.(!is_object($ite
17fb00 6d 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 69 74 65 6d 29 29 20 7b 0a 72 65 74 75 72 6e m).&&.!is_array($item)).{.return
17fb20 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6f 62 6a 65 63 74 28 24 69 .array();.}..return.is_object($i
17fb40 74 65 6d 29 20 3f 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 69 74 65 6d 29 20 3a 20 tem).?.get_object_vars($item).:.
17fb60 24 69 74 65 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e $item;.}.}.<?php..namespace.Json
17fb80 53 63 68 65 6d 61 3b 0a 0a 63 6c 61 73 73 20 52 66 63 33 33 33 39 0a 7b 0a 63 6f 6e 73 74 20 52 Schema;..class.Rfc3339.{.const.R
17fba0 45 47 45 58 20 3d 20 27 2f 5e 28 5c 64 7b 34 7d 2d 5c 64 7b 32 7d 2d 5c 64 7b 32 7d 5b 54 20 5d EGEX.=.'/^(\d{4}-\d{2}-\d{2}[T.]
17fbc0 7b 31 7d 5c 64 7b 32 7d 3a 5c 64 7b 32 7d 3a 5c 64 7b 32 7d 29 28 5c 2e 5c 64 2b 29 3f 28 5a 7c {1}\d{2}:\d{2}:\d{2})(\.\d+)?(Z|
17fbe0 28 5b 2b 2d 5d 5c 64 7b 32 7d 29 3a 3f 28 5c 64 7b 32 7d 29 29 24 2f 27 3b 0a 0a 0a 0a 0a 0a 0a ([+-]\d{2}):?(\d{2}))$/';.......
17fc00 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 46 ..public.static.function.createF
17fc20 72 6f 6d 53 74 72 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d romString($string).{.if.(!preg_m
17fc40 61 74 63 68 28 73 65 6c 66 3a 3a 52 45 47 45 58 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 74 atch(self::REGEX,.strtoupper($st
17fc60 72 69 6e 67 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b ring),.$matches)).{.return.null;
17fc80 0a 7d 0a 0a 24 64 61 74 65 41 6e 64 54 69 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a .}..$dateAndTime.=.$matches[1];.
17fca0 24 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3f 3a 20 27 $microseconds.=.$matches[2].?:.'
17fcc0 2e 30 30 30 30 30 30 27 3b 0a 24 74 69 6d 65 5a 6f 6e 65 20 3d 20 27 5a 27 20 21 3d 3d 20 24 6d .000000';.$timeZone.=.'Z'.!==.$m
17fce0 61 74 63 68 65 73 5b 33 5d 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 2e 20 27 3a 27 20 2e 20 atches[3].?.$matches[4]...':'...
17fd00 24 6d 61 74 63 68 65 73 5b 35 5d 20 3a 20 27 2b 30 30 3a 30 30 27 3b 0a 24 64 61 74 65 46 6f 72 $matches[5].:.'+00:00';.$dateFor
17fd20 6d 61 74 20 3d 20 73 74 72 70 6f 73 28 24 64 61 74 65 41 6e 64 54 69 6d 65 2c 20 27 54 27 29 20 mat.=.strpos($dateAndTime,.'T').
17fd40 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 2e 75 50 27 20 3a 20 27 ===.false.?.'Y-m-d.H:i:s.uP'.:.'
17fd60 59 2d 6d 2d 64 5c 54 48 3a 69 3a 73 2e 75 50 27 3b 0a 24 64 61 74 65 54 69 6d 65 20 3d 20 5c 44 Y-m-d\TH:i:s.uP';.$dateTime.=.\D
17fd80 61 74 65 54 69 6d 65 3a 3a 63 72 65 61 74 65 46 72 6f 6d 46 6f 72 6d 61 74 28 24 64 61 74 65 46 ateTime::createFromFormat($dateF
17fda0 6f 72 6d 61 74 2c 20 24 64 61 74 65 41 6e 64 54 69 6d 65 20 2e 20 24 6d 69 63 72 6f 73 65 63 6f ormat,.$dateAndTime...$microseco
17fdc0 6e 64 73 20 2e 20 24 74 69 6d 65 5a 6f 6e 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f nds...$timeZone,.new.\DateTimeZo
17fde0 6e 65 28 27 55 54 43 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 65 54 69 6d 65 20 3f 3a ne('UTC'));..return.$dateTime.?:
17fe00 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e .null;.}.}.<?php..namespace.Json
17fe20 53 63 68 65 6d 61 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 Schema;..use.JsonSchema\Constrai
17fe40 6e 74 73 5c 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 nts\BaseConstraint;.use.JsonSche
17fe60 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 ma\Entity\JsonPointer;.use.JsonS
17fe80 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e chema\Exception\UnresolvableJson
17fea0 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 PointerException;.use.JsonSchema
17fec0 5c 55 72 69 5c 55 72 69 52 65 73 6f 6c 76 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 \Uri\UriResolver;.use.JsonSchema
17fee0 5c 55 72 69 5c 55 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 63 6c 61 73 73 20 53 63 68 65 6d 61 \Uri\UriRetriever;..class.Schema
17ff00 53 74 6f 72 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 Storage.implements.SchemaStorage
17ff20 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 Interface.{.const.INTERNAL_PROVI
17ff40 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 20 3d 20 27 69 6e 74 65 72 6e 61 6c 3a 2f 2f 70 72 6f DED_SCHEMA_URI.=.'internal://pro
17ff60 76 69 64 65 64 2d 73 63 68 65 6d 61 2f 27 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 vided-schema/';..protected.$uriR
17ff80 65 74 72 69 65 76 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 73 6f 6c 76 65 72 etriever;.protected.$uriResolver
17ffa0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 68 65 6d 61 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ;.protected.$schemas.=.array();.
17ffc0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 55 72 .public.function.__construct(.Ur
17ffe0 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 69 52 65 74 72 69 65 76 65 iRetrieverInterface.$uriRetrieve
180000 72 20 3d 20 6e 75 6c 6c 2c 0a 55 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 r.=.null,.UriResolverInterface.$
180020 75 72 69 52 65 73 6f 6c 76 65 72 20 3d 20 6e 75 6c 6c 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 uriResolver.=.null.).{.$this->ur
180040 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3f 3a 20 6e 65 iRetriever.=.$uriRetriever.?:.ne
180060 77 20 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f w.UriRetriever();.$this->uriReso
180080 6c 76 65 72 20 3d 20 24 75 72 69 52 65 73 6f 6c 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 lver.=.$uriResolver.?:.new.UriRe
1800a0 73 6f 6c 76 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 solver();.}.....public.function.
1800c0 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 getUriRetriever().{.return.$this
1800e0 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ->uriRetriever;.}.....public.fun
180100 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 73 6f 6c 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.getUriResolver().{.return.
180120 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $this->uriResolver;.}.....public
180140 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 63 68 65 6d 61 28 24 69 64 2c 20 24 73 63 68 65 6d 61 .function.addSchema($id,.$schema
180160 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 73 63 68 65 6d 61 29 20 .=.null).{.if.(is_null($schema).
180180 26 26 20 24 69 64 20 21 3d 3d 20 73 65 6c 66 3a 3a 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 44 &&.$id.!==.self::INTERNAL_PROVID
1801a0 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 29 20 7b 0a 0a 20 0a 20 0a 20 24 73 63 68 65 6d 61 20 3d ED_SCHEMA_URI).{.......$schema.=
1801c0 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 .$this->uriRetriever->retrieve($
1801e0 69 64 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 id);.}....if.(is_array($schema))
180200 20 7b 0a 24 73 63 68 65 6d 61 20 3d 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 61 72 72 .{.$schema.=.BaseConstraint::arr
180220 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 73 63 68 65 6d 61 29 3b 0a 7d 0a ayToObjectRecursive($schema);.}.
180240 0a 0a 20 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 29 20 26 26 20 70 .....if.(is_object($schema).&&.p
180260 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 29 20 7b roperty_exists($schema,.'id')).{
180280 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 69 64 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e .if.($schema->id.==.'http://json
1802a0 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 27 29 20 7b -schema.org/draft-04/schema#').{
1802c0 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 69 64 2d 3e 66 6f 72 6d 61 74 .$schema->properties->id->format
1802e0 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 .=.'uri-reference';.}.elseif.($s
180300 63 68 65 6d 61 2d 3e 69 64 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 chema->id.==.'http://json-schema
180320 2e 6f 72 67 2f 64 72 61 66 74 2d 30 33 2f 73 63 68 65 6d 61 23 27 29 20 7b 0a 24 73 63 68 65 6d .org/draft-03/schema#').{.$schem
180340 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 69 64 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 72 69 a->properties->id->format.=.'uri
180360 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 -reference';.$schema->properties
180380 2d 3e 7b 27 24 72 65 66 27 7d 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 ->{'$ref'}->format.=.'uri-refere
1803a0 6e 63 65 27 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 nce';.}.}....$this->expandRefs($
1803c0 73 63 68 65 6d 61 2c 20 24 69 64 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 69 schema,.$id);..$this->schemas[$i
1803e0 64 5d 20 3d 20 24 73 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 d].=.$schema;.}........private.f
180400 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 52 65 66 73 28 26 24 73 63 68 65 6d 61 2c 20 24 62 61 unction.expandRefs(&$schema,.$ba
180420 73 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 se.=.null).{.if.(!is_object($sch
180440 65 6d 61 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 20 7b ema)).{.if.(is_array($schema)).{
180460 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 20 61 73 20 26 24 6d 65 6d 62 65 72 29 20 7b .foreach.($schema.as.&$member).{
180480 0a 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 6d 65 6d 62 65 72 2c 20 24 62 61 73 .$this->expandRefs($member,.$bas
1804a0 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 70 72 6f 70 65 72 74 79 e);.}.}..return;.}..if.(property
1804c0 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 20 26 26 20 69 73 5f 73 74 72 _exists($schema,.'id').&&.is_str
1804e0 69 6e 67 28 24 73 63 68 65 6d 61 2d 3e 69 64 29 20 26 26 20 24 62 61 73 65 20 21 3d 20 24 73 63 ing($schema->id).&&.$base.!=.$sc
180500 68 65 6d 61 2d 3e 69 64 29 20 7b 0a 24 62 61 73 65 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 52 65 hema->id).{.$base.=.$this->uriRe
180520 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 65 28 24 73 63 68 65 6d 61 2d 3e 69 64 2c 20 24 62 61 solver->resolve($schema->id,.$ba
180540 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 se);.}..if.(property_exists($sch
180560 65 6d 61 2c 20 27 24 72 65 66 27 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 6d ema,.'$ref').&&.is_string($schem
180580 61 2d 3e 7b 27 24 72 65 66 27 7d 29 29 20 7b 0a 24 72 65 66 50 6f 69 6e 74 65 72 20 3d 20 6e 65 a->{'$ref'})).{.$refPointer.=.ne
1805a0 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 w.JsonPointer($this->uriResolver
1805c0 2d 3e 72 65 73 6f 6c 76 65 28 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 2c 20 24 62 61 ->resolve($schema->{'$ref'},.$ba
1805e0 73 65 29 29 3b 0a 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 20 3d 20 28 73 74 72 69 6e se));.$schema->{'$ref'}.=.(strin
180600 67 29 20 24 72 65 66 50 6f 69 6e 74 65 72 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 g).$refPointer;.}..foreach.($sch
180620 65 6d 61 20 61 73 20 26 24 6d 65 6d 62 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 ema.as.&$member).{.$this->expand
180640 52 65 66 73 28 24 6d 65 6d 62 65 72 2c 20 24 62 61 73 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 Refs($member,.$base);.}.}.....pu
180660 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 28 24 69 64 29 0a 7b 0a 69 blic.function.getSchema($id).{.i
180680 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 69 64 2c 20 24 74 68 69 73 2d f.(!array_key_exists($id,.$this-
1806a0 3e 73 63 68 65 6d 61 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 63 68 65 6d 61 28 24 69 >schemas)).{.$this->addSchema($i
1806c0 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 69 64 d);.}..return.$this->schemas[$id
1806e0 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 ];.}.....public.function.resolve
180700 52 65 66 28 24 72 65 66 29 0a 7b 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6e 65 77 20 4a Ref($ref).{.$jsonPointer.=.new.J
180720 73 6f 6e 50 6f 69 6e 74 65 72 28 24 72 65 66 29 3b 0a 0a 0a 20 24 66 69 6c 65 4e 61 6d 65 20 3d sonPointer($ref);....$fileName.=
180740 20 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 3b 0a 69 66 .$jsonPointer->getFilename();.if
180760 20 28 21 73 74 72 6c 65 6e 28 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .(!strlen($fileName)).{.throw.ne
180780 77 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 w.UnresolvableJsonPointerExcepti
1807a0 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 6f 6c 76 65 20 66 on(sprintf(."Could.not.resolve.f
1807c0 72 61 67 6d 65 6e 74 20 27 25 73 27 3a 20 6e 6f 20 66 69 6c 65 20 69 73 20 64 65 66 69 6e 65 64 ragment.'%s':.no.file.is.defined
1807e0 22 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 ",.$jsonPointer->getPropertyPath
180800 41 73 53 74 72 69 6e 67 28 29 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 72 65 66 53 63 68 65 6d 61 20 3d AsString().));.}....$refSchema.=
180820 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 66 6f .$this->getSchema($fileName);.fo
180840 72 65 61 63 68 20 28 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 reach.($jsonPointer->getProperty
180860 50 61 74 68 73 28 29 20 61 73 20 24 70 61 74 68 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 Paths().as.$path).{.if.(is_objec
180880 74 28 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 t($refSchema).&&.property_exists
1808a0 28 24 72 65 66 53 63 68 65 6d 61 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 72 65 66 53 63 68 65 6d ($refSchema,.$path)).{.$refSchem
1808c0 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 a.=.$this->resolveRefSchema($ref
1808e0 53 63 68 65 6d 61 2d 3e 7b 24 70 61 74 68 7d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 Schema->{$path});.}.elseif.(is_a
180900 72 72 61 79 28 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 rray($refSchema).&&.array_key_ex
180920 69 73 74 73 28 24 70 61 74 68 2c 20 24 72 65 66 53 63 68 65 6d 61 29 29 20 7b 0a 24 72 65 66 53 ists($path,.$refSchema)).{.$refS
180940 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 chema.=.$this->resolveRefSchema(
180960 24 72 65 66 53 63 68 65 6d 61 5b 24 70 61 74 68 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 $refSchema[$path]);.}.else.{.thr
180980 6f 77 20 6e 65 77 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 ow.new.UnresolvableJsonPointerEx
1809a0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 46 69 6c 65 3a 20 25 73 20 69 73 20 66 6f ception(sprintf(.'File:.%s.is.fo
1809c0 75 6e 64 2c 20 62 75 74 20 63 6f 75 6c 64 20 6e 6f 74 20 72 65 73 6f 6c 76 65 20 66 72 61 67 6d und,.but.could.not.resolve.fragm
1809e0 65 6e 74 3a 20 25 73 27 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 46 69 6c 65 6e ent:.%s',.$jsonPointer->getFilen
180a00 61 6d 65 28 29 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 ame(),.$jsonPointer->getProperty
180a20 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 PathAsString().));.}.}..return.$
180a40 72 65 66 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e refSchema;.}.....public.function
180a60 20 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 29 0a 7b 0a .resolveRefSchema($refSchema).{.
180a80 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 70 72 6f if.(is_object($refSchema).&&.pro
180aa0 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 72 65 66 53 63 68 65 6d 61 2c 20 27 24 72 65 66 27 29 perty_exists($refSchema,.'$ref')
180ac0 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 .&&.is_string($refSchema->{'$ref
180ae0 27 7d 29 29 20 7b 0a 24 6e 65 77 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c '})).{.$newSchema.=.$this->resol
180b00 76 65 52 65 66 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 3b 0a 24 72 65 veRef($refSchema->{'$ref'});.$re
180b20 66 53 63 68 65 6d 61 20 3d 20 28 6f 62 6a 65 63 74 29 20 28 67 65 74 5f 6f 62 6a 65 63 74 5f 76 fSchema.=.(object).(get_object_v
180b40 61 72 73 28 24 72 65 66 53 63 68 65 6d 61 29 20 2b 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 ars($refSchema).+.get_object_var
180b60 73 28 24 6e 65 77 53 63 68 65 6d 61 29 29 3b 0a 75 6e 73 65 74 28 24 72 65 66 53 63 68 65 6d 61 s($newSchema));.unset($refSchema
180b80 2d 3e 7b 27 24 72 65 66 27 7d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 53 63 68 65 6d ->{'$ref'});.}..return.$refSchem
180ba0 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 a;.}.}.<?php..namespace.JsonSche
180bc0 6d 61 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 ma;..interface.SchemaStorageInte
180be0 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 rface.{.......public.function.ad
180c00 64 53 63 68 65 6d 61 28 24 69 64 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a dSchema($id,.$schema.=.null);...
180c20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 28 ......public.function.getSchema(
180c40 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 $id);.........public.function.re
180c60 73 6f 6c 76 65 52 65 66 28 24 72 65 66 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 solveRef($ref);.........public.f
180c80 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 unction.resolveRefSchema($refSch
180ca0 65 6d 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 ema);.}.<?php.......namespace.Js
180cc0 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 0a 0a 0a 0a 0a 0a onSchema\Uri\Retrievers;........
180ce0 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 abstract.class.AbstractRetriever
180d00 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 .implements.UriRetrieverInterfac
180d20 65 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 3b e.{......protected.$contentType;
180d40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e .......public.function.getConten
180d60 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 tType().{.return.$this->contentT
180d80 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ype;.}.}.<?php.........namespace
180da0 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 75 73 65 .JsonSchema\Uri\Retrievers;..use
180dc0 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 .JsonSchema\Exception\RuntimeExc
180de0 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 eption;.use.JsonSchema\Validator
180e00 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 75 72 6c 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 ;.......class.Curl.extends.Abstr
180e20 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 65 73 73 61 67 actRetriever.{.protected.$messag
180e40 65 42 6f 64 79 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 eBody;..public.function.__constr
180e60 75 63 74 28 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 75 uct().{.if.(!function_exists('cu
180e80 72 6c 5f 69 6e 69 74 27 29 29 20 7b 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 rl_init')).{...throw.new.Runtime
180ea0 45 78 63 65 70 74 69 6f 6e 28 27 63 55 52 4c 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 27 29 3b Exception('cURL.not.installed');
180ec0 20 0a 20 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ...}.}.......public.function.ret
180ee0 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 24 63 68 20 3d 20 63 75 72 6c 5f 69 6e 69 74 28 29 3b rieve($uri).{.$ch.=.curl_init();
180f00 0a 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 55 52 4c 2c 20 ..curl_setopt($ch,.CURLOPT_URL,.
180f20 24 75 72 69 29 3b 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f $uri);.curl_setopt($ch,.CURLOPT_
180f40 48 45 41 44 45 52 2c 20 74 72 75 65 29 3b 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 HEADER,.true);.curl_setopt($ch,.
180f60 43 55 52 4c 4f 50 54 5f 52 45 54 55 52 4e 54 52 41 4e 53 46 45 52 2c 20 74 72 75 65 29 3b 0a 63 CURLOPT_RETURNTRANSFER,.true);.c
180f80 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 48 54 54 50 48 45 41 44 url_setopt($ch,.CURLOPT_HTTPHEAD
180fa0 45 52 2c 20 61 72 72 61 79 28 27 41 63 63 65 70 74 3a 20 27 20 2e 20 56 61 6c 69 64 61 74 6f 72 ER,.array('Accept:.'...Validator
180fc0 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 29 3b 0a 0a 24 72 65 73 70 6f 6e 73 ::SCHEMA_MEDIA_TYPE));..$respons
180fe0 65 20 3d 20 63 75 72 6c 5f 65 78 65 63 28 24 63 68 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d e.=.curl_exec($ch);.if.(false.==
181000 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4a 73 6f 6e 53 63 =.$response).{.throw.new.\JsonSc
181020 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 hema\Exception\ResourceNotFoundE
181040 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 27 xception('JSON.schema.not.found'
181060 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 4d 65 73 73 61 67 65 42 6f 64 79 28 24 72 );.}..$this->fetchMessageBody($r
181080 65 73 70 6f 6e 73 65 29 3b 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 esponse);.$this->fetchContentTyp
1810a0 65 28 24 72 65 73 70 6f 6e 73 65 29 3b 0a 0a 63 75 72 6c 5f 63 6c 6f 73 65 28 24 63 68 29 3b 0a e($response);..curl_close($ch);.
1810c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 7d 0a 0a 0a .return.$this->messageBody;.}...
1810e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 4d 65 73 73 61 67 65 42 ..private.function.fetchMessageB
181100 6f 64 79 28 24 72 65 73 70 6f 6e 73 65 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 22 2f 28 3f ody($response).{.preg_match("/(?
181120 3a 5c 72 5c 6e 29 7b 32 7d 28 2e 2a 29 24 2f 6d 73 22 2c 20 24 72 65 73 70 6f 6e 73 65 2c 20 24 :\r\n){2}(.*)$/ms",.$response,.$
181140 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 20 3d 20 24 6d 61 match);.$this->messageBody.=.$ma
181160 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 tch[1];.}.......protected.functi
181180 6f 6e 20 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 65 28 24 72 65 73 70 6f 6e 73 65 29 0a 7b on.fetchContentType($response).{
1811a0 0a 69 66 20 28 30 20 3c 20 70 72 65 67 5f 6d 61 74 63 68 28 22 2f 43 6f 6e 74 65 6e 74 2d 54 79 .if.(0.<.preg_match("/Content-Ty
1811c0 70 65 3a 28 5c 56 2a 29 2f 69 6d 73 22 2c 20 24 72 65 73 70 6f 6e 73 65 2c 20 24 6d 61 74 63 68 pe:(\V*)/ims",.$response,.$match
1811e0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 74 72 69 6d 28 24 )).{.$this->contentType.=.trim($
181200 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 match[1]);..return.true;.}..retu
181220 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 rn.false;.}.}.<?php.........name
181240 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b space.JsonSchema\Uri\Retrievers;
181260 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 ..use.JsonSchema\Exception\Resou
181280 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 rceNotFoundException;.......clas
1812a0 73 20 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 s.FileGetContents.extends.Abstra
1812c0 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 65 73 73 61 67 65 ctRetriever.{.protected.$message
1812e0 42 6f 64 79 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 Body;.......public.function.retr
181300 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 6e 75 6c ieve($uri).{.$errorMessage.=.nul
181320 6c 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 l;.set_error_handler(function.($
181340 65 72 72 6e 6f 2c 20 24 65 72 72 73 74 72 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 errno,.$errstr).use.(&$errorMess
181360 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 24 65 72 72 73 74 72 3b 0a age).{.$errorMessage.=.$errstr;.
181380 7d 29 3b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 });.$response.=.file_get_content
1813a0 73 28 24 75 72 69 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 s($uri);.restore_error_handler()
1813c0 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 ;..if.($errorMessage).{.throw.ne
1813e0 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 w.ResourceNotFoundException($err
181400 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 orMessage);.}..if.(false.===.$re
181420 73 70 6f 6e 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 sponse).{.throw.new.ResourceNotF
181440 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e 6f 74 20 66 oundException('JSON.schema.not.f
181460 6f 75 6e 64 20 61 74 20 27 20 2e 20 24 75 72 69 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 73 70 6f ound.at.'...$uri);.}..if.($respo
181480 6e 73 65 20 3d 3d 20 27 27 0a 26 26 20 73 75 62 73 74 72 28 24 75 72 69 2c 20 30 2c 20 37 29 20 nse.==.''.&&.substr($uri,.0,.7).
1814a0 3d 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 26 26 20 73 75 62 73 74 72 28 24 75 72 69 2c 20 2d 31 29 ==.'file://'.&&.substr($uri,.-1)
1814c0 20 3d 3d 20 27 2f 27 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f .==.'/'.).{.throw.new.ResourceNo
1814e0 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e 6f 74 tFoundException('JSON.schema.not
181500 20 66 6f 75 6e 64 20 61 74 20 27 20 2e 20 24 75 72 69 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d .found.at.'...$uri);.}..$this->m
181520 65 73 73 61 67 65 42 6f 64 79 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b 0a 69 66 20 28 21 65 6d 70 essageBody.=.$response;.if.(!emp
181540 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a ty($http_response_header)).{....
181560 20 24 74 68 69 73 2d 3e 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 65 28 24 68 74 74 70 5f 72 .$this->fetchContentType($http_r
181580 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 20 0a 20 7d 20 65 6c 73 65 20 7b 20 0a 20 0a 20 esponse_header);...}.else.{.....
1815a0 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 $this->contentType.=.null;.}..re
1815c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 7d 0a 0a 0a 0a 0a 0a turn.$this->messageBody;.}......
1815e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 .private.function.fetchContentTy
181600 70 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 pe(array.$headers).{.foreach.($h
181620 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e eaders.as.$header).{.if.($this->
181640 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 73 65 6c 66 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 54 79 contentType.=.self::getContentTy
181660 70 65 4d 61 74 63 68 49 6e 48 65 61 64 65 72 28 24 68 65 61 64 65 72 29 29 20 7b 0a 72 65 74 75 peMatchInHeader($header)).{.retu
181680 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a rn.true;.}.}..return.false;.}...
1816a0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ....protected.static.function.ge
1816c0 74 43 6f 6e 74 65 6e 74 54 79 70 65 4d 61 74 63 68 49 6e 48 65 61 64 65 72 28 24 68 65 61 64 65 tContentTypeMatchInHeader($heade
1816e0 72 29 0a 7b 0a 69 66 20 28 30 20 3c 20 70 72 65 67 5f 6d 61 74 63 68 28 22 2f 43 6f 6e 74 65 6e r).{.if.(0.<.preg_match("/Conten
181700 74 2d 54 79 70 65 3a 28 5c 56 2a 29 2f 69 6d 73 22 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 t-Type:(\V*)/ims",.$header,.$mat
181720 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d ch)).{.return.trim($match[1]);.}
181740 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 ..return.null;.}.}.<?php..namesp
181760 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a ace.JsonSchema\Uri\Retrievers;..
181780 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a use.JsonSchema\Validator;.......
1817a0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 64 65 66 69 6e 65 64 41 72 72 61 79 20 65 78 74 .......class.PredefinedArray.ext
1817c0 65 6e 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 72 ends.AbstractRetriever.{......pr
1817e0 69 76 61 74 65 20 24 73 63 68 65 6d 61 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ivate.$schemas;........public.fu
181800 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 73 63 68 65 6d 61 nction.__construct(array.$schema
181820 73 2c 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 s,.$contentType.=.Validator::SCH
181840 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 EMA_MEDIA_TYPE).{.$this->schemas
181860 20 3d 20 24 73 63 68 65 6d 61 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 .=.$schemas;.$this->contentType.
181880 3d 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 =.$contentType;.}.......public.f
1818a0 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 69 66 20 28 21 61 72 unction.retrieve($uri).{.if.(!ar
1818c0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 75 72 69 2c 20 24 74 68 69 73 2d 3e 73 63 68 65 ray_key_exists($uri,.$this->sche
1818e0 6d 61 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 mas)).{.throw.new.\JsonSchema\Ex
181900 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f ception\ResourceNotFoundExceptio
181920 6e 28 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 4a 53 4f 4e 20 73 63 68 65 6d 61 20 22 25 73 22 n(sprintf(.'The.JSON.schema."%s"
181940 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2e 27 2c 0a 24 75 72 69 0a 29 29 3b 0a 7d 0a 0a 72 65 .was.not.found.',.$uri.));.}..re
181960 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 75 72 69 5d 3b 0a 7d 0a 7d 0a 3c turn.$this->schemas[$uri];.}.}.<
181980 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d ?php.........namespace.JsonSchem
1819a0 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 a\Uri\Retrievers;.......interfac
1819c0 65 20 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a e.UriRetrieverInterface.{.......
1819e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 ...public.function.retrieve($uri
181a00 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 );.......public.function.getCont
181a20 65 6e 74 54 79 70 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 entType();.}.<?php.........names
181a40 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 pace.JsonSchema\Uri;..use.JsonSc
181a60 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 hema\Exception\UriResolverExcept
181a80 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 73 6f 6c 76 65 72 49 ion;.use.JsonSchema\UriResolverI
181aa0 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 69 52 65 73 6f 6c 76 65 nterface;.......class.UriResolve
181ac0 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 r.implements.UriResolverInterfac
181ae0 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 e.{........public.function.parse
181b00 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 28 28 5b 5e 3a 2f 3f 23 5d ($uri).{.preg_match('|^(([^:/?#]
181b20 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 5d 2a 29 29 3f 28 5b 5e 3f 23 5d 2a 29 28 5c 3f 28 5b +):)?(//([^/?#]*))?([^?#]*)(\?([
181b40 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 3f 7c 27 2c 20 24 75 72 69 2c 20 24 6d 61 74 63 68 29 ^#]*))?(#(.*))?|',.$uri,.$match)
181b60 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 35 20 ;..$components.=.array();.if.(5.
181b80 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d <.count($match)).{.$components.=
181ba0 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d 65 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 .array(.'scheme'.=>.$match[2],.'
181bc0 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 24 6d 61 74 63 68 5b 34 5d 2c 0a 27 70 61 74 68 27 20 authority'.=>.$match[4],.'path'.
181be0 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 3b 0a 7d 0a 69 66 20 28 37 20 3c 20 63 6f 75 6e 74 28 =>.$match[5].);.}.if.(7.<.count(
181c00 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 20 $match)).{.$components['query'].
181c20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a 7d 0a 69 66 20 28 39 20 3c 20 63 6f 75 6e 74 28 24 6d 61 =.$match[7];.}.if.(9.<.count($ma
181c40 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 tch)).{.$components['fragment'].
181c60 3d 20 24 6d 61 74 63 68 5b 39 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 6e 65 6e =.$match[9];.}..return.$componen
181c80 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ts;.}.........public.function.ge
181ca0 6e 65 72 61 74 65 28 61 72 72 61 79 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 7b 0a 24 75 72 69 nerate(array.$components).{.$uri
181cc0 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 .=.$components['scheme']...'://'
181ce0 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 61 75 74 68 6f 72 69 74 79 27 5d 0a 2e 20 24 63 ...$components['authority']...$c
181d00 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 omponents['path'];..if.(array_ke
181d20 79 5f 65 78 69 73 74 73 28 27 71 75 65 72 79 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 26 y_exists('query',.$components).&
181d40 26 20 73 74 72 6c 65 6e 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 29 29 20 &.strlen($components['query'])).
181d60 7b 0a 24 75 72 69 20 2e 3d 20 27 3f 27 20 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 {.$uri..=.'?'...$components['que
181d80 72 79 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 66 72 ry'];.}.if.(array_key_exists('fr
181da0 61 67 6d 65 6e 74 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d agment',.$components)).{.$uri..=
181dc0 20 27 23 27 20 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a .'#'...$components['fragment'];.
181de0 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e }..return.$uri;.}.....public.fun
181e00 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e ction.resolve($uri,.$baseUri.=.n
181e20 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 0a 21 69 73 5f 6e 75 6c 6c 28 24 62 61 73 65 55 72 69 29 ull).{...if.(.!is_null($baseUri)
181e40 20 26 26 0a 21 66 69 6c 74 65 72 5f 76 61 72 28 24 62 61 73 65 55 72 69 2c 20 5c 46 49 4c 54 45 .&&.!filter_var($baseUri,.\FILTE
181e60 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 29 20 26 26 0a 21 70 72 65 67 5f 6d 61 74 63 68 28 27 R_VALIDATE_URL).&&.!preg_match('
181e80 7c 5e 5b 5e 2f 5d 2b 3a 2f 2f 7c 75 27 2c 20 24 62 61 73 65 55 72 69 29 0a 29 20 7b 0a 69 66 20 |^[^/]+://|u',.$baseUri).).{.if.
181ea0 28 69 73 5f 66 69 6c 65 28 24 62 61 73 65 55 72 69 29 29 20 7b 0a 24 62 61 73 65 55 72 69 20 3d (is_file($baseUri)).{.$baseUri.=
181ec0 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 24 62 61 73 65 55 72 69 29 3b .'file://'...realpath($baseUri);
181ee0 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 62 61 73 65 55 72 69 29 29 20 7b 0a 24 .}.elseif.(is_dir($baseUri)).{.$
181f00 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 24 baseUri.=.'file://'...realpath($
181f20 62 61 73 65 55 72 69 29 20 2e 20 27 2f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 62 61 73 65 55 72 baseUri)...'/';.}.else.{.$baseUr
181f40 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 67 65 74 63 77 64 28 29 20 2e 20 27 2f 27 20 2e i.=.'file://'...getcwd()...'/'..
181f60 20 24 62 61 73 65 55 72 69 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 75 72 69 20 3d 3d 20 27 27 29 20 .$baseUri;.}.}..if.($uri.==.'').
181f80 7b 0a 72 65 74 75 72 6e 20 24 62 61 73 65 55 72 69 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 {.return.$baseUri;.}..$component
181fa0 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 24 70 61 74 68 20 3d 20 s.=.$this->parse($uri);.$path.=.
181fc0 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 $components['path'];..if.(!empty
181fe0 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 ($components['scheme'])).{.retur
182000 6e 20 24 75 72 69 3b 0a 7d 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 n.$uri;.}.$baseComponents.=.$thi
182020 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 55 72 69 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 s->parse($baseUri);.$basePath.=.
182040 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 24 62 61 73 65 43 $baseComponents['path'];..$baseC
182060 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 20 3d 20 73 65 6c 66 3a 3a 63 6f 6d 62 69 6e omponents['path'].=.self::combin
182080 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 74 68 28 24 70 61 74 68 2c eRelativePathWithBasePath($path,
1820a0 20 24 62 61 73 65 50 61 74 68 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 6e 65 6e .$basePath);.if.(isset($componen
1820c0 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e ts['fragment'])).{.$baseComponen
1820e0 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 ts['fragment'].=.$components['fr
182100 61 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 agment'];.}..return.$this->gener
182120 61 74 65 28 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ate($baseComponents);.}.........
182140 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e ...public.static.function.combin
182160 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 74 68 28 24 72 65 6c 61 74 eRelativePathWithBasePath($relat
182180 69 76 65 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 0a 7b 0a 24 72 65 6c 61 74 69 76 65 50 ivePath,.$basePath).{.$relativeP
1821a0 61 74 68 20 3d 20 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 72 65 6c 61 74 ath.=.self::normalizePath($relat
1821c0 69 76 65 50 61 74 68 29 3b 0a 69 66 20 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 3d 20 27 ivePath);.if.($relativePath.==.'
1821e0 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 73 65 50 61 74 68 3b 0a 7d 0a 69 66 20 28 24 72 65 ').{.return.$basePath;.}.if.($re
182200 6c 61 74 69 76 65 50 61 74 68 5b 30 5d 20 3d 3d 20 27 2f 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 lativePath[0].==.'/').{.return.$
182220 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e relativePath;.}..$basePathSegmen
182240 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 0a 70 ts.=.explode('/',.$basePath);..p
182260 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 2f 3f 28 5c 2e 5c 2e 2f 28 3f 3a 5c 2e 2f 29 2a 29 2a 7c reg_match('|^/?(\.\./(?:\./)*)*|
182280 27 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 6d 61 74 63 68 29 3b 0a 24 6e 75 6d 4c ',.$relativePath,.$match);.$numL
1822a0 65 76 65 6c 55 70 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 20 2f 33 20 2b 20 evelUp.=.strlen($match[0])./3.+.
1822c0 31 3b 0a 69 66 20 28 24 6e 75 6d 4c 65 76 65 6c 55 70 20 3e 3d 20 63 6f 75 6e 74 28 24 62 61 73 1;.if.($numLevelUp.>=.count($bas
1822e0 65 50 61 74 68 53 65 67 6d 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 55 72 69 52 ePathSegments)).{.throw.new.UriR
182300 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 22 55 6e 61 62 6c 65 esolverException(sprintf("Unable
182320 20 74 6f 20 72 65 73 6f 6c 76 65 20 55 52 49 20 27 25 73 27 20 66 72 6f 6d 20 62 61 73 65 20 27 .to.resolve.URI.'%s'.from.base.'
182340 25 73 27 22 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 29 %s'",.$relativePath,.$basePath))
182360 3b 0a 7d 0a 0a 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 73 ;.}..$basePathSegments.=.array_s
182380 6c 69 63 65 28 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 2c 20 30 2c 20 2d 24 6e 75 6d lice($basePathSegments,.0,.-$num
1823a0 4c 65 76 65 6c 55 70 29 3b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 LevelUp);.$path.=.preg_replace('
1823c0 7c 5e 2f 3f 28 5c 2e 5c 2e 2f 28 5c 2e 2f 29 2a 29 2a 7c 27 2c 20 27 27 2c 20 24 72 65 6c 61 74 |^/?(\.\./(\./)*)*|',.'',.$relat
1823e0 69 76 65 50 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 ivePath);..return.implode('/',.$
182400 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b basePathSegments)...'/'...$path;
182420 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 .}.........private.static.functi
182440 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 on.normalizePath($path).{.$path.
182460 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 28 28 3f 3c 21 5c 2e 29 5c 2e 2f 29 2a 7c 27 =.preg_replace('|((?<!\.)\./)*|'
182480 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 ,.'',.$path);.$path.=.preg_repla
1824a0 63 65 28 27 7c 2f 2f 7c 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 ce('|//|',.'/',.$path);..return.
1824c0 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 $path;.}.......public.function.i
1824e0 73 56 61 6c 69 64 28 24 75 72 69 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 sValid($uri).{.$components.=.$th
182500 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 is->parse($uri);..return.!empty(
182520 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a $components);.}.}.<?php.........
182540 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 3b 0a 0a 75 73 65 20 4a namespace.JsonSchema\Uri;..use.J
182560 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 53 63 68 65 6d sonSchema\Exception\InvalidSchem
182580 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 aMediaTypeException;.use.JsonSch
1825a0 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 ema\Exception\JsonDecodingExcept
1825c0 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 ion;.use.JsonSchema\Exception\Re
1825e0 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f sourceNotFoundException;.use.Jso
182600 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 5c 46 69 6c 65 47 65 74 43 6f nSchema\Uri\Retrievers\FileGetCo
182620 6e 74 65 6e 74 73 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 ntents;.use.JsonSchema\Uri\Retri
182640 65 76 65 72 73 5c 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 evers\UriRetrieverInterface;.use
182660 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 .JsonSchema\UriRetrieverInterfac
182680 65 20 61 73 20 42 61 73 65 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a e.as.BaseUriRetrieverInterface;.
1826a0 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a use.JsonSchema\Validator;.......
1826c0 63 6c 61 73 73 20 55 72 69 52 65 74 72 69 65 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 42 61 class.UriRetriever.implements.Ba
1826e0 73 65 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 6f seUriRetrieverInterface.{....pro
182700 74 65 63 74 65 64 20 24 74 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 20 3d 20 61 72 72 61 79 28 0a tected.$translationMap.=.array(.
182720 0a 20 27 7c 5e 68 74 74 70 73 3f 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 ..'|^https?://json-schema.org/dr
182740 61 66 74 2d 28 30 5b 33 34 5d 29 2f 73 63 68 65 6d 61 23 3f 7c 27 20 3d 3e 20 27 70 61 63 6b 61 aft-(0[34])/schema#?|'.=>.'packa
182760 67 65 3a 2f 2f 64 69 73 74 2f 73 63 68 65 6d 61 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2d 64 72 61 ge://dist/schema/json-schema-dra
182780 66 74 2d 24 31 2e 6a 73 6f 6e 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 ft-$1.json'.);.....protected.$ur
1827a0 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 iRetriever.=.null;.......private
1827c0 20 24 73 63 68 65 6d 61 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a .$schemaCache.=.array();........
1827e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 4d 65 64 69 61 54 79 ..public.function.confirmMediaTy
182800 70 65 28 24 75 72 69 52 65 74 72 69 65 76 65 72 2c 20 24 75 72 69 29 0a 7b 0a 24 63 6f 6e 74 65 pe($uriRetriever,.$uri).{.$conte
182820 6e 74 54 79 70 65 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 67 65 74 43 6f 6e 74 65 ntType.=.$uriRetriever->getConte
182840 6e 74 54 79 70 65 28 29 3b 0a 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 63 6f 6e 74 65 6e 74 54 ntType();..if.(is_null($contentT
182860 79 70 65 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 ype)).{...return;.}..if.(in_arra
182880 79 28 24 63 6f 6e 74 65 6e 74 54 79 70 65 2c 20 61 72 72 61 79 28 56 61 6c 69 64 61 74 6f 72 3a y($contentType,.array(Validator:
1828a0 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 2c 20 27 61 70 70 6c 69 63 61 74 69 6f 6e :SCHEMA_MEDIA_TYPE,.'application
1828c0 2f 6a 73 6f 6e 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 /json'))).{.return;.}..if.(subst
1828e0 72 28 24 75 72 69 2c 20 30 2c 20 32 33 29 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 r($uri,.0,.23).==.'http://json-s
182900 63 68 65 6d 61 2e 6f 72 67 2f 27 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a chema.org/').{...return.true;.}.
182920 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 .throw.new.InvalidSchemaMediaTyp
182940 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4d 65 64 69 61 20 74 79 70 65 20 25 eException(sprintf('Media.type.%
182960 73 20 65 78 70 65 63 74 65 64 27 2c 20 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d s.expected',.Validator::SCHEMA_M
182980 45 44 49 41 5f 54 59 50 45 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 EDIA_TYPE));.}..........public.f
1829a0 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 69 66 20 28 unction.getUriRetriever().{.if.(
1829c0 69 73 5f 6e 75 6c 6c 28 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 29 29 20 7b 0a is_null($this->uriRetriever)).{.
1829e0 24 74 68 69 73 2d 3e 73 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 6e 65 77 20 46 69 6c 65 47 $this->setUriRetriever(new.FileG
182a00 65 74 43 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e etContents());.}..return.$this->
182a20 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 uriRetriever;.}................p
182a40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 50 6f 69 6e 74 65 72 28 24 6a ublic.function.resolvePointer($j
182a60 73 6f 6e 53 63 68 65 6d 61 2c 20 24 75 72 69 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e sonSchema,.$uri).{.$resolver.=.n
182a80 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 70 61 72 73 65 64 20 3d 20 24 72 65 73 ew.UriResolver();.$parsed.=.$res
182aa0 6f 6c 76 65 72 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 olver->parse($uri);.if.(empty($p
182ac0 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6a 73 arsed['fragment'])).{.return.$js
182ae0 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 onSchema;.}..$path.=.explode('/'
182b00 2c 20 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 3b 0a 77 68 69 6c 65 20 28 24 ,.$parsed['fragment']);.while.($
182b20 70 61 74 68 29 20 7b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 61 72 72 61 79 5f 73 68 69 path).{.$pathElement.=.array_shi
182b40 66 74 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 74 68 45 6c 65 6d 65 ft($path);.if.(!empty($pathEleme
182b60 6e 74 29 29 20 7b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 nt)).{.$pathElement.=.str_replac
182b80 65 28 27 7e 31 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 3b 0a 24 70 61 74 e('~1',.'/',.$pathElement);.$pat
182ba0 68 45 6c 65 6d 65 6e 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7e 30 27 2c 20 27 7e 27 hElement.=.str_replace('~0',.'~'
182bc0 2c 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f ,.$pathElement);.if.(!empty($jso
182be0 6e 53 63 68 65 6d 61 2d 3e 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 6a 73 6f 6e 53 nSchema->$pathElement)).{.$jsonS
182c00 63 68 65 6d 61 20 3d 20 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 24 70 61 74 68 45 6c 65 6d 65 6e chema.=.$jsonSchema->$pathElemen
182c20 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f t;.}.else.{.throw.new.ResourceNo
182c40 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 72 61 67 6d 65 6e 74 20 22 27 20 2e 20 tFoundException(.'Fragment."'...
182c60 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 2e 20 27 22 20 6e 6f 74 20 66 6f 75 $parsed['fragment']...'".not.fou
182c80 6e 64 27 0a 2e 20 27 20 69 6e 20 27 20 2e 20 24 75 72 69 0a 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 nd'...'.in.'...$uri.);.}..if.(!i
182ca0 73 5f 6f 62 6a 65 63 74 28 24 6a 73 6f 6e 53 63 68 65 6d 61 29 29 20 7b 0a 74 68 72 6f 77 20 6e s_object($jsonSchema)).{.throw.n
182cc0 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 ew.ResourceNotFoundException(.'F
182ce0 72 61 67 6d 65 6e 74 20 70 61 72 74 20 22 27 20 2e 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 2e ragment.part."'...$pathElement..
182d00 20 27 22 20 69 73 20 6e 6f 20 6f 62 6a 65 63 74 20 27 0a 2e 20 27 20 69 6e 20 27 20 2e 20 24 75 .'".is.no.object.'...'.in.'...$u
182d20 72 69 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b ri.);.}.}.}..return.$jsonSchema;
182d40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 .}.....public.function.retrieve(
182d60 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 6e 73 6c 61 74 $uri,.$baseUri.=.null,.$translat
182d80 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 e.=.true).{.$resolver.=.new.UriR
182da0 65 73 6f 6c 76 65 72 28 29 3b 0a 24 72 65 73 6f 6c 76 65 64 55 72 69 20 3d 20 24 66 65 74 63 68 esolver();.$resolvedUri.=.$fetch
182dc0 55 72 69 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 Uri.=.$resolver->resolve($uri,.$
182de0 62 61 73 65 55 72 69 29 3b 0a 0a 0a 20 24 61 72 50 61 72 74 73 20 3d 20 24 72 65 73 6f 6c 76 65 baseUri);....$arParts.=.$resolve
182e00 72 2d 3e 70 61 72 73 65 28 24 72 65 73 6f 6c 76 65 64 55 72 69 29 3b 0a 69 66 20 28 69 73 73 65 r->parse($resolvedUri);.if.(isse
182e20 74 28 24 61 72 50 61 72 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 75 6e 73 65 74 t($arParts['fragment'])).{.unset
182e40 28 24 61 72 50 61 72 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 3b 0a 24 66 65 74 63 68 55 72 ($arParts['fragment']);.$fetchUr
182e60 69 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 67 65 6e 65 72 61 74 65 28 24 61 72 50 61 72 74 73 i.=.$resolver->generate($arParts
182e80 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 72 61 6e 73 6c 61 74 65 29 20 7b 0a 24 66 65 74 63 68 );.}....if.($translate).{.$fetch
182ea0 55 72 69 20 3d 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 65 28 24 66 65 74 63 68 55 72 69 Uri.=.$this->translate($fetchUri
182ec0 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 53 );.}..$jsonSchema.=.$this->loadS
182ee0 63 68 65 6d 61 28 24 66 65 74 63 68 55 72 69 29 3b 0a 0a 0a 20 24 6a 73 6f 6e 53 63 68 65 6d 61 chema($fetchUri);....$jsonSchema
182f00 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 50 6f 69 6e 74 65 72 28 24 6a 73 6f 6e 53 63 .=.$this->resolvePointer($jsonSc
182f20 68 65 6d 61 2c 20 24 72 65 73 6f 6c 76 65 64 55 72 69 29 3b 0a 0a 69 66 20 28 24 6a 73 6f 6e 53 hema,.$resolvedUri);..if.($jsonS
182f40 63 68 65 6d 61 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 73 74 64 43 6c 61 73 73 29 20 7b 0a 24 6a chema.instanceof.\stdClass).{.$j
182f60 73 6f 6e 53 63 68 65 6d 61 2d 3e 69 64 20 3d 20 24 72 65 73 6f 6c 76 65 64 55 72 69 3b 0a 7d 0a sonSchema->id.=.$resolvedUri;.}.
182f80 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .return.$jsonSchema;.}..........
182fa0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 53 63 68 65 6d 61 28 24 66 protected.function.loadSchema($f
182fc0 65 74 63 68 55 72 69 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 63 68 65 etchUri).{.if.(isset($this->sche
182fe0 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 55 72 69 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 maCache[$fetchUri])).{.return.$t
183000 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 55 72 69 5d 3b 0a 7d 0a 0a his->schemaCache[$fetchUri];.}..
183020 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 72 69 52 65 74 $uriRetriever.=.$this->getUriRet
183040 72 69 65 76 65 72 28 29 3b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 riever();.$contents.=.$this->uri
183060 52 65 74 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 66 65 74 63 68 55 72 69 29 3b 0a Retriever->retrieve($fetchUri);.
183080 24 74 68 69 73 2d 3e 63 6f 6e 66 69 72 6d 4d 65 64 69 61 54 79 70 65 28 24 75 72 69 52 65 74 72 $this->confirmMediaType($uriRetr
1830a0 69 65 76 65 72 2c 20 24 66 65 74 63 68 55 72 69 29 3b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d iever,.$fetchUri);.$jsonSchema.=
1830c0 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 69 66 20 28 4a 53 .json_decode($contents);..if.(JS
1830e0 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 3c 20 24 65 72 72 6f 72 20 3d 20 6a 73 6f 6e 5f 6c 61 ON_ERROR_NONE.<.$error.=.json_la
183100 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 44 65 63 6f st_error()).{.throw.new.JsonDeco
183120 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d dingException($error);.}..$this-
183140 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 55 72 69 5d 20 3d 20 24 6a 73 6f 6e 53 >schemaCache[$fetchUri].=.$jsonS
183160 63 68 65 6d 61 3b 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a chema;..return.$jsonSchema;.}...
183180 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 72 69 52 65 74 72 ......public.function.setUriRetr
1831a0 69 65 76 65 72 28 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 69 iever(UriRetrieverInterface.$uri
1831c0 52 65 74 72 69 65 76 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 Retriever).{.$this->uriRetriever
1831e0 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b .=.$uriRetriever;..return.$this;
183200 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 .}.........public.function.parse
183220 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 28 28 5b 5e 3a 2f 3f 23 5d ($uri).{.preg_match('|^(([^:/?#]
183240 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 5d 2a 29 29 3f 28 5b 5e 3f 23 5d 2a 29 28 5c 3f 28 5b +):)?(//([^/?#]*))?([^?#]*)(\?([
183260 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 3f 7c 27 2c 20 24 75 72 69 2c 20 24 6d 61 74 63 68 29 ^#]*))?(#(.*))?|',.$uri,.$match)
183280 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 35 20 ;..$components.=.array();.if.(5.
1832a0 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d <.count($match)).{.$components.=
1832c0 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d 65 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 .array(.'scheme'.=>.$match[2],.'
1832e0 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 24 6d 61 74 63 68 5b 34 5d 2c 0a 27 70 61 74 68 27 20 authority'.=>.$match[4],.'path'.
183300 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 3b 0a 7d 0a 0a 69 66 20 28 37 20 3c 20 63 6f 75 6e 74 =>.$match[5].);.}..if.(7.<.count
183320 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d ($match)).{.$components['query']
183340 20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a 7d 0a 0a 69 66 20 28 39 20 3c 20 63 6f 75 6e 74 28 24 .=.$match[7];.}..if.(9.<.count($
183360 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 match)).{.$components['fragment'
183380 5d 20 3d 20 24 6d 61 74 63 68 5b 39 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 6e ].=.$match[9];.}..return.$compon
1833a0 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ents;.}.........public.function.
1833c0 67 65 6e 65 72 61 74 65 28 61 72 72 61 79 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 7b 0a 24 75 generate(array.$components).{.$u
1833e0 72 69 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f ri.=.$components['scheme']...':/
183400 2f 27 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 61 75 74 68 6f 72 69 74 79 27 5d 0a 2e 20 /'...$components['authority']...
183420 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f $components['path'];..if.(array_
183440 6b 65 79 5f 65 78 69 73 74 73 28 27 71 75 65 72 79 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 key_exists('query',.$components)
183460 29 20 7b 0a 24 75 72 69 20 2e 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 75 65 72 79 27 5d ).{.$uri..=.$components['query']
183480 3b 0a 7d 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 66 72 61 67 6d ;.}..if.(array_key_exists('fragm
1834a0 65 6e 74 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 24 63 ent',.$components)).{.$uri..=.$c
1834c0 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e omponents['fragment'];.}..return
1834e0 20 24 75 72 69 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$uri;.}..........public.functio
183500 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 n.resolve($uri,.$baseUri.=.null)
183520 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 .{.$components.=.$this->parse($u
183540 72 69 29 3b 0a 24 70 61 74 68 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d ri);.$path.=.$components['path']
183560 3b 0a 0a 69 66 20 28 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 73 63 68 65 6d 65 ;..if.((array_key_exists('scheme
183580 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 26 26 20 28 27 68 74 74 70 27 20 3d 3d 3d 20 ',.$components)).&&.('http'.===.
1835a0 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e $components['scheme'])).{.return
1835c0 20 24 75 72 69 3b 0a 7d 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 .$uri;.}..$baseComponents.=.$thi
1835e0 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 55 72 69 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 s->parse($baseUri);.$basePath.=.
183600 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 24 62 61 73 65 43 $baseComponents['path'];..$baseC
183620 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 20 3d 20 55 72 69 52 65 73 6f 6c 76 65 72 3a omponents['path'].=.UriResolver:
183640 3a 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 74 68 :combineRelativePathWithBasePath
183660 28 24 70 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ($path,.$basePath);..return.$thi
183680 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a s->generate($baseComponents);.}.
1836a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 24 75 ......public.function.isValid($u
1836c0 72 69 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 ri).{.$components.=.$this->parse
1836e0 28 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e ($uri);..return.!empty($componen
183700 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 ts);.}.....public.function.setTr
183720 61 6e 73 6c 61 74 69 6f 6e 28 24 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 anslation($from,.$to).{.$this->t
183740 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 5b 24 66 72 6f 6d 5d 20 3d 20 24 74 6f 3b 0a 7d 0a 0a 0a ranslationMap[$from].=.$to;.}...
183760 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 6c 61 74 65 28 24 75 72 69 ..public.function.translate($uri
183780 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 69 6f 6e 4d ).{.foreach.($this->translationM
1837a0 61 70 20 61 73 20 24 66 72 6f 6d 20 3d 3e 20 24 74 6f 29 20 7b 0a 24 75 72 69 20 3d 20 70 72 65 ap.as.$from.=>.$to).{.$uri.=.pre
1837c0 67 5f 72 65 70 6c 61 63 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 75 72 69 29 3b 0a 7d 0a 0a g_replace($from,.$to,.$uri);.}..
1837e0 0a 20 24 75 72 69 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 5e 70 61 63 6b 61 67 65 ..$uri.=.preg_replace('|^package
183800 3a 2f 2f 7c 27 2c 20 73 70 72 69 6e 74 66 28 27 66 69 6c 65 3a 2f 2f 25 73 2f 27 2c 20 72 65 61 ://|',.sprintf('file://%s/',.rea
183820 6c 70 61 74 68 28 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 27 29 29 2c 20 24 lpath(__DIR__...'/../../..')),.$
183840 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a uri);..return.$uri;.}.}.<?php...
183860 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 0a 0a 0a ......namespace.JsonSchema;.....
183880 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b interface.UriResolverInterface.{
1838a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 .........public.function.resolve
1838c0 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 ($uri,.$baseUri.=.null);.}.<?php
1838e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a .........namespace.JsonSchema;..
183900 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 ...interface.UriRetrieverInterfa
183920 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ce.{.........public.function.ret
183940 72 69 65 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a rieve($uri,.$baseUri.=.null);.}.
183960 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 <?php.........namespace.JsonSche
183980 6d 61 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c ma;..use.JsonSchema\Constraints\
1839a0 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 BaseConstraint;.use.JsonSchema\C
1839c0 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a onstraints\Constraint;..........
1839e0 63 6c 61 73 73 20 56 61 6c 69 64 61 74 6f 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6e 73 class.Validator.extends.BaseCons
183a00 74 72 61 69 6e 74 0a 7b 0a 63 6f 6e 73 74 20 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 traint.{.const.SCHEMA_MEDIA_TYPE
183a20 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 73 63 68 65 6d 61 2b 6a 73 6f 6e 27 3b 0a 0a 63 .=.'application/schema+json';..c
183a40 6f 6e 73 74 20 45 52 52 4f 52 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a 63 6f onst.ERROR_NONE.=.0x00000000;.co
183a60 6e 73 74 20 45 52 52 4f 52 5f 41 4c 4c 20 3d 20 30 78 46 46 46 46 46 46 46 46 3b 0a 63 6f 6e 73 nst.ERROR_ALL.=.0xFFFFFFFF;.cons
183a80 74 20 45 52 52 4f 52 5f 44 4f 43 55 4d 45 4e 54 5f 56 41 4c 49 44 41 54 49 4f 4e 20 3d 20 30 78 t.ERROR_DOCUMENT_VALIDATION.=.0x
183aa0 30 30 30 30 30 30 30 31 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 53 43 48 45 4d 41 5f 56 41 4c 00000001;.const.ERROR_SCHEMA_VAL
183ac0 49 44 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a IDATION.=.0x00000002;...........
183ae0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 26 24 76 61 6c 75 65 public.function.validate(&$value
183b00 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 6e ,.$schema.=.null,.$checkMode.=.n
183b20 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 29 29 20 ull).{...if.(is_array($schema)).
183b40 7b 0a 24 73 63 68 65 6d 61 20 3d 20 73 65 6c 66 3a 3a 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 {.$schema.=.self::arrayToObjectR
183b60 65 63 75 72 73 69 76 65 28 24 73 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 24 69 6e 69 74 69 61 6c ecursive($schema);.}....$initial
183b80 43 68 65 63 6b 4d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 CheckMode.=.$this->factory->getC
183ba0 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 24 63 68 65 63 6b 4d 6f 64 65 20 21 3d 3d 20 6e 75 6c 6c onfig();.if.($checkMode.!==.null
183bc0 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 ).{.$this->factory->setConfig($c
183be0 68 65 63 6b 4d 6f 64 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 heckMode);.}....if.(is_object($s
183c00 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d chema).&&.property_exists($schem
183c20 61 2c 20 27 69 64 27 29 29 20 7b 0a 24 73 63 68 65 6d 61 55 52 49 20 3d 20 24 73 63 68 65 6d 61 a,.'id')).{.$schemaURI.=.$schema
183c40 2d 3e 69 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 63 68 65 6d 61 55 52 49 20 3d 20 53 63 68 65 ->id;.}.else.{.$schemaURI.=.Sche
183c60 6d 61 53 74 6f 72 61 67 65 3a 3a 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 maStorage::INTERNAL_PROVIDED_SCH
183c80 45 4d 41 5f 55 52 49 3b 0a 7d 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 EMA_URI;.}.$this->factory->getSc
183ca0 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 61 64 64 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 hemaStorage()->addSchema($schema
183cc0 55 52 49 2c 20 24 73 63 68 65 6d 61 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 URI,.$schema);..$validator.=.$th
183ce0 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 is->factory->createInstanceFor('
183d00 73 63 68 65 6d 61 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 0a 24 76 61 schema');.$validator->check(.$va
183d20 6c 75 65 2c 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 lue,.$this->factory->getSchemaSt
183d40 6f 72 61 67 65 28 29 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 55 52 49 29 0a 29 orage()->getSchema($schemaURI).)
183d60 3b 0a 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 69 6e ;..$this->factory->setConfig($in
183d80 69 74 69 61 6c 43 68 65 63 6b 4d 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f itialCheckMode);..$this->addErro
183da0 72 73 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 rs(array_unique($validator->getE
183dc0 72 72 6f 72 73 28 29 2c 20 53 4f 52 54 5f 52 45 47 55 4c 41 52 29 29 3b 0a 0a 72 65 74 75 72 6e rrors(),.SORT_REGULAR));..return
183de0 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4d 61 73 6b 28 29 3b 0a 7d 0a 0a .$validator->getErrorMask();.}..
183e00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 76 61 6c 75 65 2c ...public.function.check($value,
183e20 20 24 73 63 68 65 6d 61 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 .$schema).{.return.$this->valida
183e40 74 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 te($value,.$schema);.}.....publi
183e60 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 65 72 63 65 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 c.function.coerce(&$value,.$sche
183e80 6d 61 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 24 76 61 ma).{.return.$this->validate($va
183ea0 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f lue,.$schema,.Constraint::CHECK_
183ec0 4d 4f 44 45 5f 43 4f 45 52 43 45 5f 54 59 50 45 53 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 MODE_COERCE_TYPES);.}.}.Copyrigh
183ee0 74 20 28 43 29 20 32 30 31 35 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 t.(C).2015.Composer..Permission.
183f00 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 is.hereby.granted,.free.of.charg
183f20 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 e,.to.any.person.obtaining.a.cop
183f40 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 y.of.this.software.and.associate
183f60 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 d.documentation.files.(the."Soft
183f80 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 61 72 65 20 ware"),.to.deal.in.the.Software.
183fa0 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 without.restriction,.including.w
183fc0 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 0a ithout.limitation.the.rights.to.
183fe0 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 use,.copy,.modify,.merge,.publis
184000 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f h,.distribute,.sublicense,.and/o
184020 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 r.sell.copies.of.the.Software,.a
184040 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 nd.to.permit.persons.to.whom.the
184060 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 0a 73 6f 2c .Software.is.furnished.to.do.so,
184080 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 .subject.to.the.following.condit
1840a0 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 ions:..The.above.copyright.notic
1840c0 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 e.and.this.permission.notice.sha
1840e0 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 ll.be.included.in.all.copies.or.
184100 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 substantial.portions.of.the.Soft
184120 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 ware...THE.SOFTWARE.IS.PROVIDED.
184140 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 "AS.IS",.WITHOUT.WARRANTY.OF.ANY
184160 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 .KIND,.EXPRESS.OR.IMPLIED,.INCLU
184180 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 DING.BUT.NOT.LIMITED.TO.THE.WARR
1841a0 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 ANTIES.OF.MERCHANTABILITY,.FITNE
1841c0 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 SS.FOR.A.PARTICULAR.PURPOSE.AND.
1841e0 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 NONINFRINGEMENT..IN.NO.EVENT.SHA
184200 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 LL.THE.AUTHORS.OR.COPYRIGHT.HOLD
184220 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d ERS.BE.LIABLE.FOR.ANY.CLAIM,.DAM
184240 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 AGES.OR.OTHER.LIABILITY,.WHETHER
184260 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 .IN.AN.ACTION.OF.CONTRACT,.TORT.
184280 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 OR.OTHERWISE,.ARISING.FROM,.OUT.
1842a0 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 OF.OR.IN.CONNECTION.WITH.THE.SOF
1842c0 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e TWARE.OR.THE.USE.OR.OTHER.DEALIN
1842e0 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a GS.IN.THE.SOFTWARE..<?php.......
184300 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 3b 0a 0a 63 6c ....namespace.Composer\Spdx;..cl
184320 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 65 73 0a 7b 0a 0a 63 6f 6e 73 74 20 4c 49 43 45 4e 53 ass.SpdxLicenses.{..const.LICENS
184340 45 53 5f 46 49 4c 45 20 3d 20 27 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2e 6a 73 6f 6e 27 3b 0a ES_FILE.=.'spdx-licenses.json';.
184360 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 53 5f 46 49 4c 45 20 3d 20 27 73 70 64 78 2d ..const.EXCEPTIONS_FILE.=.'spdx-
184380 65 78 63 65 70 74 69 6f 6e 73 2e 6a 73 6f 6e 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a exceptions.json';...............
1843a0 70 72 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 private.$licenses;.....private.$
1843c0 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a licensesExpression;.............
1843e0 0a 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 ..private.$exceptions;.....priva
184400 74 65 20 24 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 70 75 62 6c 69 te.$exceptionsExpression;..publi
184420 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 c.function.__construct().{.$this
184440 2d 3e 6c 6f 61 64 4c 69 63 65 6e 73 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 45 78 63 ->loadLicenses();.$this->loadExc
184460 65 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 eptions();.}..............public
184480 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 .function.getLicenseByIdentifier
1844a0 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6b 65 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 ($identifier).{.$key.=.strtolowe
1844c0 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 r($identifier);..if.(!isset($thi
1844e0 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a s->licenses[$key])).{.return;.}.
184500 0a 6c 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6e 61 6d 65 2c 20 24 69 73 4f 73 69 .list($identifier,.$name,.$isOsi
184520 41 70 70 72 6f 76 65 64 2c 20 24 69 73 44 65 70 72 65 63 61 74 65 64 4c 69 63 65 6e 73 65 49 64 Approved,.$isDeprecatedLicenseId
184540 29 20 3d 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d 3b 0a 0a 72 65 74 75 ).=.$this->licenses[$key];..retu
184560 72 6e 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 2c 0a 24 69 73 4f 73 69 41 70 70 72 6f 76 65 64 2c rn.array(.$name,.$isOsiApproved,
184580 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 27 20 2e 20 .'https://spdx.org/licenses/'...
1845a0 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 27 2e 68 74 6d 6c 23 6c 69 63 65 6e 73 65 54 65 78 74 $identifier...'.html#licenseText
1845c0 27 2c 0a 24 69 73 44 65 70 72 65 63 61 74 65 64 4c 69 63 65 6e 73 65 49 64 2c 0a 29 3b 0a 7d 0a ',.$isDeprecatedLicenseId,.);.}.
1845e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 ......public.function.getLicense
184600 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 3b 0a 7d 0a s().{.return.$this->licenses;.}.
184620 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .............public.function.get
184640 45 78 63 65 70 74 69 6f 6e 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 ExceptionByIdentifier($identifie
184660 72 29 0a 7b 0a 24 6b 65 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 r).{.$key.=.strtolower($identifi
184680 65 72 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f er);..if.(!isset($this->exceptio
1846a0 6e 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 6c 69 73 74 28 24 69 64 ns[$key])).{.return;.}..list($id
1846c0 65 6e 74 69 66 69 65 72 2c 20 24 6e 61 6d 65 29 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 entifier,.$name).=.$this->except
1846e0 69 6f 6e 73 5b 24 6b 65 79 5d 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 ions[$key];..return.array(.$name
184700 2c 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 27 20 2e ,.'https://spdx.org/licenses/'..
184720 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 27 2e 68 74 6d 6c 23 6c 69 63 65 6e 73 65 45 78 63 .$identifier...'.html#licenseExc
184740 65 70 74 69 6f 6e 54 65 78 74 27 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 eptionText',.);.}.........public
184760 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 65 6e 74 69 66 69 65 72 42 79 4e 61 6d 65 28 24 6e .function.getIdentifierByName($n
184780 61 6d 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 20 ame).{.foreach.($this->licenses.
1847a0 61 73 20 24 6c 69 63 65 6e 73 65 44 61 74 61 29 20 7b 0a 69 66 20 28 24 6c 69 63 65 6e 73 65 44 as.$licenseData).{.if.($licenseD
1847c0 61 74 61 5b 31 5d 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 63 65 ata[1].===.$name).{.return.$lice
1847e0 6e 73 65 44 61 74 61 5b 30 5d 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d nseData[0];.}.}..foreach.($this-
184800 3e 65 78 63 65 70 74 69 6f 6e 73 20 61 73 20 24 6c 69 63 65 6e 73 65 44 61 74 61 29 20 7b 0a 69 >exceptions.as.$licenseData).{.i
184820 66 20 28 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 31 5d 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a f.($licenseData[1].===.$name).{.
184840 72 65 74 75 72 6e 20 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 30 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a return.$licenseData[0];.}.}.}...
184860 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 73 69 41 70 70 72 6f ......public.function.isOsiAppro
184880 76 65 64 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 vedByIdentifier($identifier).{.r
1848a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 eturn.$this->licenses[strtolower
1848c0 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 5b 32 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ($identifier)][2];.}.........pub
1848e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 70 72 65 63 61 74 65 64 42 79 49 64 65 6e 74 lic.function.isDeprecatedByIdent
184900 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ifier($identifier).{.return.$thi
184920 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 s->licenses[strtolower($identifi
184940 65 72 29 5d 5b 33 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 er)][3];.}.........public.functi
184960 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 69 66 20 28 69 73 5f 61 on.validate($license).{.if.(is_a
184980 72 72 61 79 28 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 rray($license)).{.$count.=.count
1849a0 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 20 21 3d 3d 20 63 6f 75 6e 74 ($license);.if.($count.!==.count
1849c0 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6c 69 63 65 6e 73 65 2c 20 27 69 73 5f 73 74 72 69 (array_filter($license,.'is_stri
1849e0 6e 67 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d ng'))).{.throw.new.\InvalidArgum
184a00 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 20 65 entException('Array.of.strings.e
184a20 78 70 65 63 74 65 64 2e 27 29 3b 0a 7d 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 63 6f 75 6e 74 20 xpected.');.}.$license.=.$count.
184a40 3e 20 31 20 3f 20 27 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 20 4f 52 20 27 2c 20 24 6c 69 63 >.1.?.'('...implode('.OR.',.$lic
184a60 65 6e 73 65 29 20 2e 20 27 29 27 20 3a 20 28 73 74 72 69 6e 67 29 20 72 65 73 65 74 28 24 6c 69 ense)...')'.:.(string).reset($li
184a80 63 65 6e 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 6c 69 63 65 6e cense);.}..if.(!is_string($licen
184aa0 73 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e se)).{.throw.new.\InvalidArgumen
184ac0 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 41 72 72 61 79 20 6f 72 20 53 74 tException(sprintf(.'Array.or.St
184ae0 72 69 6e 67 20 65 78 70 65 63 74 65 64 2c 20 25 73 20 67 69 76 65 6e 2e 27 2c 0a 67 65 74 74 79 ring.expected,.%s.given.',.getty
184b00 70 65 28 24 6c 69 63 65 6e 73 65 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 pe($license).));.}..return.$this
184b20 2d 3e 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 ->isValidLicenseString($license)
184b40 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ;.}.....public.static.function.g
184b60 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 64 69 72 6e 61 6d etResourcesDir().{.return.dirnam
184b80 65 28 5f 5f 44 49 52 5f 5f 29 20 2e 20 27 2f 72 65 73 27 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 e(__DIR__)...'/res';.}..private.
184ba0 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 4c 69 63 65 6e 73 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 function.loadLicenses().{.if.(nu
184bc0 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 29 20 7b 0a 72 65 74 75 72 6e ll.!==.$this->licenses).{.return
184be0 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 73 ;.}..$json.=.file_get_contents(s
184c00 65 6c 66 3a 3a 67 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 73 elf::getResourcesDir()...'/'...s
184c20 65 6c 66 3a 3a 4c 49 43 45 4e 53 45 53 5f 46 49 4c 45 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 elf::LICENSES_FILE);.$this->lice
184c40 6e 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 6a 73 6f 6e 5f 64 nses.=.array();..foreach.(json_d
184c60 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 20 61 73 20 24 69 64 65 6e 74 69 66 69 65 ecode($json,.true).as.$identifie
184c80 72 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 r.=>.$license).{.$this->licenses
184ca0 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 20 3d 20 61 72 72 61 [strtolower($identifier)].=.arra
184cc0 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 y($identifier,.$license[0],.$lic
184ce0 65 6e 73 65 5b 31 5d 2c 20 24 6c 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 ense[1],.$license[2]);.}.}..priv
184d00 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 45 78 63 65 70 74 69 6f 6e 73 28 29 0a 7b 0a ate.function.loadExceptions().{.
184d20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 29 20 if.(null.!==.$this->exceptions).
184d40 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f {.return;.}..$json.=.file_get_co
184d60 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 67 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 20 2e ntents(self::getResourcesDir()..
184d80 20 27 2f 27 20 2e 20 73 65 6c 66 3a 3a 45 58 43 45 50 54 49 4f 4e 53 5f 46 49 4c 45 29 3b 0a 24 .'/'...self::EXCEPTIONS_FILE);.$
184da0 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 this->exceptions.=.array();..for
184dc0 65 61 63 68 20 28 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 20 61 each.(json_decode($json,.true).a
184de0 73 20 24 69 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 s.$identifier.=>.$exception).{.$
184e00 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 this->exceptions[strtolower($ide
184e20 6e 74 69 66 69 65 72 29 5d 20 3d 20 61 72 72 61 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 ntifier)].=.array($identifier,.$
184e40 65 78 63 65 70 74 69 6f 6e 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 exception[0]);.}.}.....private.f
184e60 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 28 29 0a unction.getLicensesExpression().
184e80 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 {.if.(null.===.$this->licensesEx
184ea0 70 72 65 73 73 69 6f 6e 29 20 7b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 pression).{.$licenses.=.array_ma
184ec0 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 p('preg_quote',.array_keys($this
184ee0 2d 3e 6c 69 63 65 6e 73 65 73 29 29 3b 0a 72 73 6f 72 74 28 24 6c 69 63 65 6e 73 65 73 29 3b 0a ->licenses));.rsort($licenses);.
184f00 24 6c 69 63 65 6e 73 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6c 69 63 65 6e 73 $licenses.=.implode('|',.$licens
184f20 65 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 20 3d es);.$this->licensesExpression.=
184f40 20 24 6c 69 63 65 6e 73 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 .$licenses;.}..return.$this->lic
184f60 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 ensesExpression;.}.....private.f
184f80 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 28 unction.getExceptionsExpression(
184fa0 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f ).{.if.(null.===.$this->exceptio
184fc0 6e 73 45 78 70 72 65 73 73 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 nsExpression).{.$exceptions.=.ar
184fe0 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 ray_map('preg_quote',.array_keys
185000 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 29 29 3b 0a 72 73 6f 72 74 28 24 65 78 63 ($this->exceptions));.rsort($exc
185020 65 70 74 69 6f 6e 73 29 3b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 69 6d 70 6c 6f 64 65 28 eptions);.$exceptions.=.implode(
185040 27 7c 27 2c 20 24 65 78 63 65 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 '|',.$exceptions);.$this->except
185060 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a ionsExpression.=.$exceptions;.}.
185080 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 .return.$this->exceptionsExpress
1850a0 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ion;.}.........private.function.
1850c0 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 0a 7b isValidLicenseString($license).{
1850e0 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f .if.(isset($this->licenses[strto
185100 6c 6f 77 65 72 28 24 6c 69 63 65 6e 73 65 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 lower($license)])).{.return.true
185120 3b 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 69 63 65 6e ;.}..$licenses.=.$this->getLicen
185140 73 65 73 45 78 70 72 65 73 73 69 6f 6e 28 29 3b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 24 sesExpression();.$exceptions.=.$
185160 74 68 69 73 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 28 29 3b this->getExceptionsExpression();
185180 0a 0a 24 72 65 67 65 78 20 3d 20 3c 3c 3c 52 45 47 45 58 0a 7b 0a 28 3f 28 44 45 46 49 4e 45 29 ..$regex.=.<<<REGEX.{.(?(DEFINE)
1851a0 0a 20 20 20 20 23 20 69 64 73 74 72 69 6e 67 3a 20 31 2a 28 20 41 4c 50 48 41 20 2f 20 44 49 47 .....#.idstring:.1*(.ALPHA./.DIG
1851c0 49 54 20 2f 20 2d 20 2f 20 2e 20 29 0a 20 20 20 20 28 3f 3c 69 64 73 74 72 69 6e 67 3e 5b 5c 70 IT./.-./...).....(?<idstring>[\p
1851e0 4c 5c 70 4e 2e 2d 5d 7b 31 2c 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 69 64 3a 20 L\pN.-]{1,})......#.license-id:.
185200 74 61 6b 65 6e 20 66 72 6f 6d 20 6c 69 73 74 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 69 64 taken.from.list.....(?<licenseid
185220 3e 24 7b 6c 69 63 65 6e 73 65 73 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 65 78 63 >${licenses})......#.license-exc
185240 65 70 74 69 6f 6e 2d 69 64 3a 20 74 61 6b 65 6e 20 66 72 6f 6d 20 6c 69 73 74 0a 20 20 20 20 28 eption-id:.taken.from.list.....(
185260 3f 3c 6c 69 63 65 6e 73 65 65 78 63 65 70 74 69 6f 6e 69 64 3e 24 7b 65 78 63 65 70 74 69 6f 6e ?<licenseexceptionid>${exception
185280 73 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 72 65 66 3a 20 5b 44 6f 63 75 6d 65 6e s})......#.license-ref:.[Documen
1852a0 74 52 65 66 2d 31 2a 28 69 64 73 74 72 69 6e 67 29 3a 5d 4c 69 63 65 6e 73 65 52 65 66 2d 31 2a tRef-1*(idstring):]LicenseRef-1*
1852c0 28 69 64 73 74 72 69 6e 67 29 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 72 65 66 3e 28 3f 3a (idstring).....(?<licenseref>(?:
1852e0 44 6f 63 75 6d 65 6e 74 52 65 66 2d 28 3f 26 69 64 73 74 72 69 6e 67 29 3a 29 3f 4c 69 63 65 6e DocumentRef-(?&idstring):)?Licen
185300 73 65 52 65 66 2d 28 3f 26 69 64 73 74 72 69 6e 67 29 29 0a 0a 20 20 20 20 23 20 73 69 6d 70 6c seRef-(?&idstring))......#.simpl
185320 65 2d 65 78 70 72 65 73 73 73 69 6f 6e 3a 20 6c 69 63 65 6e 73 65 2d 69 64 20 2f 20 6c 69 63 65 e-expresssion:.license-id./.lice
185340 6e 73 65 2d 69 64 2b 20 2f 20 6c 69 63 65 6e 73 65 2d 72 65 66 0a 20 20 20 20 28 3f 3c 73 69 6d nse-id+./.license-ref.....(?<sim
185360 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 3e 28 3f 26 6c 69 63 65 6e 73 65 69 64 29 5c 2b 3f 20 ple_expression>(?&licenseid)\+?.
185380 7c 20 28 3f 26 6c 69 63 65 6e 73 65 69 64 29 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 72 65 66 29 |.(?&licenseid).|.(?&licenseref)
1853a0 29 0a 0a 20 20 20 20 23 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 3a 20 31 2a )......#.compound-expression:.1*
1853c0 28 0a 20 20 20 20 23 20 20 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 0a 20 20 (.....#...simple-expression./...
1853e0 20 20 23 20 20 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 57 49 54 48 20 6c 69 63 ..#...simple-expression.WITH.lic
185400 65 6e 73 65 2d 65 78 63 65 70 74 69 6f 6e 2d 69 64 20 2f 0a 20 20 20 20 23 20 20 20 63 6f 6d 70 ense-exception-id./.....#...comp
185420 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 41 4e 44 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 ound-expression.AND.compound-exp
185440 72 65 73 73 69 6f 6e 20 2f 0a 20 20 20 20 23 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 ression./.....#...compound-expre
185460 73 73 69 6f 6e 20 4f 52 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 ssion.OR.compound-expression....
185480 20 23 20 29 20 2f 20 28 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 29 20 29 .#.)./.(.compound-expression.).)
1854a0 0a 20 20 20 20 28 3f 3c 63 6f 6d 70 6f 75 6e 64 5f 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 28 .....(?<compound_head>.........(
1854c0 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 28 20 5c 73 2b 20 57 49 54 48 20 ?&simple_expression).(.\s+.WITH.
1854e0 5c 73 2b 20 28 3f 26 6c 69 63 65 6e 73 65 65 78 63 65 70 74 69 6f 6e 69 64 29 29 3f 0a 20 20 20 \s+.(?&licenseexceptionid))?....
185500 20 20 20 20 20 20 20 20 20 7c 20 5c 28 20 5c 73 2a 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 .........|.\(.\s*.(?&compound_ex
185520 70 72 65 73 73 69 6f 6e 29 20 5c 73 2a 20 5c 29 0a 20 20 20 20 29 0a 20 20 20 20 28 3f 3c 63 6f pression).\s*.\).....).....(?<co
185540 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 28 3f 26 63 6f mpound_expression>.........(?&co
185560 6d 70 6f 75 6e 64 5f 68 65 61 64 29 20 28 3f 3a 20 5c 73 2b 20 28 3f 3a 41 4e 44 7c 4f 52 29 20 mpound_head).(?:.\s+.(?:AND|OR).
185580 5c 73 2b 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 3f 0a 20 20 \s+.(?&compound_expression))?...
1855a0 20 20 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 65 78 70 72 65 73 73 69 6f 6e 3a 20 31 ..)......#.license-expression:.1
1855c0 2a 31 28 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 20 63 6f 6d 70 6f 75 6e 64 2d *1(simple-expression./.compound-
1855e0 65 78 70 72 65 73 73 69 6f 6e 29 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 5f 65 78 70 72 65 expression).....(?<license_expre
185600 73 73 69 6f 6e 3e 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 7c 20 ssion>(?&compound_expression).|.
185620 28 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 0a 29 20 23 20 65 6e 64 20 6f (?&simple_expression)).).#.end.o
185640 66 20 64 65 66 69 6e 65 0a 0a 5e 28 4e 4f 4e 45 20 7c 20 4e 4f 41 53 53 45 52 54 49 4f 4e 20 7c f.define..^(NONE.|.NOASSERTION.|
185660 20 28 3f 26 6c 69 63 65 6e 73 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 24 0a 7d 78 69 0a 52 45 .(?&license_expression))$.}xi.RE
185680 47 45 58 3b 0a 0a 24 6d 61 74 63 68 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 GEX;..$match.=.preg_match($regex
1856a0 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6d 61 74 63 68 29 20 ,.$license);..if.(0.===.$match).
1856c0 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d {.return.false;.}..if.(false.===
1856e0 20 24 6d 61 74 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 .$match).{.throw.new.\RuntimeExc
185700 65 70 74 69 6f 6e 28 27 52 65 67 65 78 20 66 61 69 6c 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 2f eption('Regex.failed.to.compile/
185720 72 75 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 43 6f 70 79 run.');.}..return.true;.}.}.Copy
185740 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 right.(C).2015.Composer..Permiss
185760 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 ion.is.hereby.granted,.free.of.c
185780 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 harge,.to.any.person.obtaining.a
1857a0 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 .copy.of.this.software.and.assoc
1857c0 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 iated.documentation.files.(the."
1857e0 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 Software"),.to.deal.in.the.Softw
185800 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 are.without.restriction,.includi
185820 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 ng.without.limitation.the.rights
185840 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 .to.use,.copy,.modify,.merge,.pu
185860 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 blish,.distribute,.sublicense,.a
185880 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 nd/or.sell.copies.of.the.Softwar
1858a0 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d e,.and.to.permit.persons.to.whom
1858c0 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f .the.Software.is.furnished.to.do
1858e0 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f .so,.subject.to.the.following.co
185900 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e nditions:..The.above.copyright.n
185920 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 otice.and.this.permission.notice
185940 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 .shall.be.included.in.all.copies
185960 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 .or.substantial.portions.of.the.
185980 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 Software...THE.SOFTWARE.IS.PROVI
1859a0 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 DED."AS.IS",.WITHOUT.WARRANTY.OF
1859c0 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 .ANY.KIND,.EXPRESS.OR.IMPLIED,.I
1859e0 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 NCLUDING.BUT.NOT.LIMITED.TO.THE.
185a00 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 WARRANTIES.OF.MERCHANTABILITY,.F
185a20 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 ITNESS.FOR.A.PARTICULAR.PURPOSE.
185a40 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 AND.NONINFRINGEMENT..IN.NO.EVENT
185a60 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 .SHALL.THE.AUTHORS.OR.COPYRIGHT.
185a80 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c HOLDERS.BE.LIABLE.FOR.ANY.CLAIM,
185aa0 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 .DAMAGES.OR.OTHER.LIABILITY,.WHE
185ac0 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 THER.IN.AN.ACTION.OF.CONTRACT,.T
185ae0 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a ORT.OR.OTHERWISE,.ARISING.FROM,.
185b00 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 OUT.OF.OR.IN.CONNECTION.WITH.THE
185b20 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 .SOFTWARE.OR.THE.USE.OR.OTHER.DE
185b40 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a ALINGS.IN.THE.SOFTWARE..<?php...
185b60 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 ........namespace.Composer\Semve
185b80 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 r;..use.Composer\Semver\Constrai
185ba0 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 61 74 6f 72 nt\Constraint;..class.Comparator
185bc0 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .{.........public.static.functio
185be0 6e 20 67 72 65 61 74 65 72 54 68 61 6e 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f n.greaterThan($version1,.$versio
185c00 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 n2).{.return.self::compare($vers
185c20 69 6f 6e 31 2c 20 27 3e 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ion1,.'>',.$version2);.}........
185c40 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 72 65 61 74 65 72 ..public.static.function.greater
185c60 54 68 61 6e 4f 72 45 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f ThanOrEqualTo($version1,.$versio
185c80 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 n2).{.return.self::compare($vers
185ca0 69 6f 6e 31 2c 20 27 3e 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ion1,.'>=',.$version2);.}.......
185cc0 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 73 73 54 68 ...public.static.function.lessTh
185ce0 61 6e 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 an($version1,.$version2).{.retur
185d00 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3c 27 2c 20 n.self::compare($version1,.'<',.
185d20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 $version2);.}..........public.st
185d40 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 73 73 54 68 61 6e 4f 72 45 71 75 61 6c 54 6f 28 atic.function.lessThanOrEqualTo(
185d60 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 $version1,.$version2).{.return.s
185d80 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3c 3d 27 2c 20 24 76 elf::compare($version1,.'<=',.$v
185da0 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 ersion2);.}..........public.stat
185dc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 ic.function.equalTo($version1,.$
185de0 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 version2).{.return.self::compare
185e00 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a ($version1,.'==',.$version2);.}.
185e20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
185e40 6e 6f 74 45 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 notEqualTo($version1,.$version2)
185e60 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e .{.return.self::compare($version
185e80 31 2c 20 27 21 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 1,.'!=',.$version2);.}..........
185ea0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 28 .public.static.function.compare(
185ec0 24 76 65 72 73 69 6f 6e 31 2c 20 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 72 73 69 6f 6e 32 29 $version1,.$operator,.$version2)
185ee0 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 .{.$constraint.=.new.Constraint(
185f00 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 0a 72 65 74 75 72 6e 20 24 $operator,.$version2);..return.$
185f20 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 constraint->matches(new.Constrai
185f40 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 31 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a nt('==',.$version1));.}.}.<?php.
185f60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d ..........namespace.Composer\Sem
185f80 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 ver\Constraint;..trigger_error('
185fa0 54 68 65 20 27 20 2e 20 5f 5f 43 4c 41 53 53 5f 5f 20 2e 20 27 20 61 62 73 74 72 61 63 74 20 63 The.'...__CLASS__...'.abstract.c
185fc0 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 lass.is.deprecated,.there.is.no.
185fe0 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 69 74 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 72 replacement.for.it,.it.will.be.r
186000 65 6d 6f 76 65 64 20 69 6e 20 74 68 65 20 6e 65 78 74 20 6d 61 6a 6f 72 20 76 65 72 73 69 6f 6e emoved.in.the.next.major.version
186020 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 61 62 73 74 .',.E_USER_DEPRECATED);.....abst
186040 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d ract.class.AbstractConstraint.im
186060 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a plements.ConstraintInterface.{..
186080 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 protected.$prettyString;.......p
1860a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e ublic.function.matches(Constrain
1860c0 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 69 66 20 28 24 70 72 6f tInterface.$provider).{.if.($pro
1860e0 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 74 68 69 73 29 20 7b 0a 0a 20 72 65 74 75 vider.instanceof.$this).{...retu
186100 72 6e 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 63 28 24 70 72 6f 76 69 64 65 rn.$this->matchSpecific($provide
186120 72 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f 76 69 64 65 72 2d 3e 6d 61 74 63 68 r);.}....return.$provider->match
186140 65 73 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e es($this);.}.....public.function
186160 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 72 69 6e 67 29 0a .setPrettyString($prettyString).
186180 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 {.$this->prettyString.=.$prettyS
1861a0 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 tring;.}.....public.function.get
1861c0 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 74 PrettyString().{.if.($this->pret
1861e0 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 tyString).{.return.$this->pretty
186200 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 String;.}..return.$this->__toStr
186220 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ing();.}.......}.<?php..........
186240 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 .namespace.Composer\Semver\Const
186260 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c raint;.....class.Constraint.impl
186280 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 63 6f ements.ConstraintInterface.{..co
1862a0 6e 73 74 20 4f 50 5f 45 51 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4f 50 5f 4c 54 20 3d 20 31 3b 0a nst.OP_EQ.=.0;.const.OP_LT.=.1;.
1862c0 63 6f 6e 73 74 20 4f 50 5f 4c 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4f 50 5f 47 54 20 3d 20 33 const.OP_LE.=.2;.const.OP_GT.=.3
1862e0 3b 0a 63 6f 6e 73 74 20 4f 50 5f 47 45 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 4f 50 5f 4e 45 20 3d ;.const.OP_GE.=.4;.const.OP_NE.=
186300 20 35 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 72 61 6e 73 4f .5;.......private.static.$transO
186320 70 53 74 72 20 3d 20 61 72 72 61 79 28 0a 27 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 pStr.=.array(.'='.=>.self::OP_EQ
186340 2c 0a 27 3d 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 2c 0a 27 3c 27 20 3d 3e 20 73 65 ,.'=='.=>.self::OP_EQ,.'<'.=>.se
186360 6c 66 3a 3a 4f 50 5f 4c 54 2c 0a 27 3c 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4c 45 2c 0a lf::OP_LT,.'<='.=>.self::OP_LE,.
186380 27 3e 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 47 54 2c 0a 27 3e 3d 27 20 3d 3e 20 73 65 6c 66 '>'.=>.self::OP_GT,.'>='.=>.self
1863a0 3a 3a 4f 50 5f 47 45 2c 0a 27 3c 3e 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 2c 0a 27 21 ::OP_GE,.'<>'.=>.self::OP_NE,.'!
1863c0 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ='.=>.self::OP_NE,.);.......priv
1863e0 61 74 65 20 73 74 61 74 69 63 20 24 74 72 61 6e 73 4f 70 49 6e 74 20 3d 20 61 72 72 61 79 28 0a ate.static.$transOpInt.=.array(.
186400 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3e 20 27 3d 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4c 54 self::OP_EQ.=>.'==',.self::OP_LT
186420 20 3d 3e 20 27 3c 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4c 45 20 3d 3e 20 27 3c 3d 27 2c 0a 73 65 .=>.'<',.self::OP_LE.=>.'<=',.se
186440 6c 66 3a 3a 4f 50 5f 47 54 20 3d 3e 20 27 3e 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 47 45 20 3d 3e lf::OP_GT.=>.'>',.self::OP_GE.=>
186460 20 27 3e 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3e 20 27 21 3d 27 2c 0a 29 3b 0a 0a .'>=',.self::OP_NE.=>.'!=',.);..
186480 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 65 72 61 74 6f 72 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 .protected.$operator;...protecte
1864a0 64 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 d.$version;...protected.$prettyS
1864c0 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 tring;.......public.function.mat
1864e0 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 ches(ConstraintInterface.$provid
186500 65 72 29 0a 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 er).{.if.($provider.instanceof.$
186520 74 68 69 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 53 70 65 63 69 this).{.return.$this->matchSpeci
186540 66 69 63 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f fic($provider);.}....return.$pro
186560 76 69 64 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 vider->matches($this);.}.....pub
186580 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 lic.function.setPrettyString($pr
1865a0 65 74 74 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e ettyString).{.$this->prettyStrin
1865c0 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 g.=.$prettyString;.}.....public.
1865e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 function.getPrettyString().{.if.
186600 28 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 ($this->prettyString).{.return.$
186620 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 this->prettyString;.}..return.$t
186640 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 his->__toString();.}.......publi
186660 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 70 70 6f 72 74 65 64 4f 70 c.static.function.getSupportedOp
186680 65 72 61 74 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 73 65 erators().{.return.array_keys(se
1866a0 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 lf::$transOpStr);.}..........pub
1866c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6f 70 65 72 61 74 lic.function.__construct($operat
1866e0 6f 72 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a or,.$version).{.if.(!isset(self:
186700 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b 24 6f 70 65 72 61 74 6f 72 5d 29 29 20 7b 0a 74 68 72 6f :$transOpStr[$operator])).{.thro
186720 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
186740 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 20 sprintf(.'Invalid.operator."%s".
186760 67 69 76 65 6e 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a 20 25 73 27 2c 0a 24 6f 70 given,.expected.one.of:.%s',.$op
186780 65 72 61 74 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 73 65 6c 66 3a 3a 67 65 74 53 erator,.implode(',.',.self::getS
1867a0 75 70 70 6f 72 74 65 64 4f 70 65 72 61 74 6f 72 73 28 29 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 upportedOperators()).));.}..$thi
1867c0 73 2d 3e 6f 70 65 72 61 74 6f 72 20 3d 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b s->operator.=.self::$transOpStr[
1867e0 24 6f 70 65 72 61 74 6f 72 5d 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 $operator];.$this->version.=.$ve
186800 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rsion;.}............public.funct
186820 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 61 2c 20 24 62 2c 20 24 6f 70 65 72 ion.versionCompare($a,.$b,.$oper
186840 61 74 6f 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 3d 20 66 61 6c 73 65 29 0a ator,.$compareBranches.=.false).
186860 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b 24 {.if.(!isset(self::$transOpStr[$
186880 6f 70 65 72 61 74 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 operator])).{.throw.new.\Invalid
1868a0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 ArgumentException(sprintf(.'Inva
1868c0 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 20 67 69 76 65 6e 2c 20 65 78 70 65 63 74 65 lid.operator."%s".given,.expecte
1868e0 64 20 6f 6e 65 20 6f 66 3a 20 25 73 27 2c 0a 24 6f 70 65 72 61 74 6f 72 2c 0a 69 6d 70 6c 6f 64 d.one.of:.%s',.$operator,.implod
186900 65 28 27 2c 20 27 2c 20 73 65 6c 66 3a 3a 67 65 74 53 75 70 70 6f 72 74 65 64 4f 70 65 72 61 74 e(',.',.self::getSupportedOperat
186920 6f 72 73 28 29 29 0a 29 29 3b 0a 7d 0a 0a 24 61 49 73 42 72 61 6e 63 68 20 3d 20 27 64 65 76 2d ors()).));.}..$aIsBranch.=.'dev-
186940 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 34 29 3b 0a 24 62 49 73 42 72 61 6e '.===.substr($a,.0,.4);.$bIsBran
186960 63 68 20 3d 20 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 2c 20 30 2c 20 34 29 ch.=.'dev-'.===.substr($b,.0,.4)
186980 3b 0a 0a 69 66 20 28 24 61 49 73 42 72 61 6e 63 68 20 26 26 20 24 62 49 73 42 72 61 6e 63 68 29 ;..if.($aIsBranch.&&.$bIsBranch)
1869a0 20 7b 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 6f 72 20 3d 3d 3d 20 27 3d 3d 27 20 26 26 20 .{.return.$operator.===.'=='.&&.
1869c0 24 61 20 3d 3d 3d 20 24 62 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 63 6f 6d 70 61 72 65 42 72 61 $a.===.$b;.}....if.(!$compareBra
1869e0 6e 63 68 65 73 20 26 26 20 28 24 61 49 73 42 72 61 6e 63 68 20 7c 7c 20 24 62 49 73 42 72 61 6e nches.&&.($aIsBranch.||.$bIsBran
186a00 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 76 ch)).{.return.false;.}..return.v
186a20 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 61 2c 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 ersion_compare($a,.$b,.$operator
186a40 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 );.}........public.function.matc
186a60 68 53 70 65 63 69 66 69 63 28 43 6f 6e 73 74 72 61 69 6e 74 20 24 70 72 6f 76 69 64 65 72 2c 20 hSpecific(Constraint.$provider,.
186a80 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6e 6f 45 $compareBranches.=.false).{.$noE
186aa0 71 75 61 6c 4f 70 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3d 27 2c 20 27 27 2c 20 73 65 qualOp.=.str_replace('=',.'',.se
186ac0 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d lf::$transOpInt[$this->operator]
186ae0 29 3b 0a 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 20 3d 20 73 74 72 5f 72 65 70 6c );.$providerNoEqualOp.=.str_repl
186b00 61 63 65 28 27 3d 27 2c 20 27 27 2c 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 ace('=',.'',.self::$transOpInt[$
186b20 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 29 3b 0a 0a 24 69 73 45 71 75 61 6c 4f provider->operator]);..$isEqualO
186b40 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 p.=.self::OP_EQ.===.$this->opera
186b60 74 6f 72 3b 0a 24 69 73 4e 6f 6e 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 tor;.$isNonEqualOp.=.self::OP_NE
186b80 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 64 65 .===.$this->operator;.$isProvide
186ba0 72 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3d 3d 20 24 70 72 6f 76 rEqualOp.=.self::OP_EQ.===.$prov
186bc0 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 64 65 72 4e 6f 6e 45 71 ider->operator;.$isProviderNonEq
186be0 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 ualOp.=.self::OP_NE.===.$provide
186c00 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 69 73 4e 6f 6e 45 71 75 61 r->operator;......if.($isNonEqua
186c20 6c 4f 70 20 7c 7c 20 24 69 73 50 72 6f 76 69 64 65 72 4e 6f 6e 45 71 75 61 6c 4f 70 29 20 7b 0a lOp.||.$isProviderNonEqualOp).{.
186c40 72 65 74 75 72 6e 20 21 24 69 73 45 71 75 61 6c 4f 70 20 26 26 20 21 24 69 73 50 72 6f 76 69 64 return.!$isEqualOp.&&.!$isProvid
186c60 65 72 45 71 75 61 6c 4f 70 0a 7c 7c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 erEqualOp.||.$this->versionCompa
186c80 72 65 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 74 68 69 73 2d 3e 76 65 re($provider->version,.$this->ve
186ca0 72 73 69 6f 6e 2c 20 27 21 3d 27 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 3b 0a rsion,.'!=',.$compareBranches);.
186cc0 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 21 3d 3d 20 73 }......if.($this->operator.!==.s
186ce0 65 6c 66 3a 3a 4f 50 5f 45 51 20 26 26 20 24 6e 6f 45 71 75 61 6c 4f 70 20 3d 3d 3d 20 24 70 72 elf::OP_EQ.&&.$noEqualOp.===.$pr
186d00 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a oviderNoEqualOp).{.return.true;.
186d20 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 72 }..if.($this->versionCompare($pr
186d40 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 2c ovider->version,.$this->version,
186d60 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 .self::$transOpInt[$this->operat
186d80 6f 72 5d 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 29 20 7b 0a 0a 20 0a 20 69 66 or],.$compareBranches)).{.....if
186da0 20 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 20 3d 3d 3d 20 24 74 68 69 73 2d 3e .($provider->version.===.$this->
186dc0 76 65 72 73 69 6f 6e 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 70 72 version.&&.self::$transOpInt[$pr
186de0 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e ovider->operator].===.$providerN
186e00 6f 45 71 75 61 6c 4f 70 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 oEqualOp.&&.self::$transOpInt[$t
186e20 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 21 3d 3d 20 24 6e 6f 45 71 75 61 6c 4f 70 29 20 7b his->operator].!==.$noEqualOp).{
186e40 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d .return.false;.}..return.true;.}
186e60 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.false;.}.....public.fun
186e80 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 ction.__toString().{.return.self
186ea0 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 2e ::$transOpInt[$this->operator]..
186ec0 20 27 20 27 20 2e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 .'.'...$this->version;.}.}.<?php
186ee0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 ...........namespace.Composer\Se
186f00 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 mver\Constraint;..interface.Cons
186f20 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 traintInterface.{......public.fu
186f40 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 nction.matches(ConstraintInterfa
186f60 63 65 20 24 70 72 6f 76 69 64 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ce.$provider);.....public.functi
186f80 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 on.getPrettyString();.....public
186fa0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a .function.__toString();.}.<?php.
186fc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d ..........namespace.Composer\Sem
186fe0 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6d 70 74 79 43 ver\Constraint;.....class.EmptyC
187000 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 onstraint.implements.ConstraintI
187020 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 nterface.{..protected.$prettyStr
187040 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 ing;.......public.function.match
187060 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 es(ConstraintInterface.$provider
187080 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ).{.return.true;.}.....public.fu
1870a0 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 nction.setPrettyString($prettySt
1870c0 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 ring).{.$this->prettyString.=.$p
1870e0 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rettyString;.}.....public.functi
187100 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 on.getPrettyString().{.if.($this
187120 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ->prettyString).{.return.$this->
187140 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f prettyString;.}..return.$this->_
187160 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 _toString();.}.....public.functi
187180 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 5b 5d 27 3b 0a 7d on.__toString().{.return.'[]';.}
1871a0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d .}.<?php...........namespace.Com
1871c0 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 poser\Semver\Constraint;.....cla
1871e0 73 73 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f ss.MultiConstraint.implements.Co
187200 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 nstraintInterface.{..protected.$
187220 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 constraints;...protected.$pretty
187240 53 74 72 69 6e 67 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 String;...protected.$conjunctive
187260 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 ;......public.function.__constru
187280 63 74 28 61 72 72 61 79 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 63 6f 6e 6a 75 6e 63 74 ct(array.$constraints,.$conjunct
1872a0 69 76 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 ive.=.true).{.$this->constraints
1872c0 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 .=.$constraints;.$this->conjunct
1872e0 69 76 65 20 3d 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ive.=.$conjunctive;.}.....public
187300 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 0a 7b 0a 72 65 74 .function.getConstraints().{.ret
187320 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 urn.$this->constraints;.}.....pu
187340 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6e 6a 75 6e 63 74 69 76 65 28 29 0a 7b 0a blic.function.isConjunctive().{.
187360 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a return.$this->conjunctive;.}....
187380 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 73 6a 75 6e 63 74 69 76 65 28 29 .public.function.isDisjunctive()
1873a0 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d .{.return.!$this->conjunctive;.}
1873c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 .......public.function.matches(C
1873e0 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a onstraintInterface.$provider).{.
187400 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 if.(false.===.$this->conjunctive
187420 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 ).{.foreach.($this->constraints.
187440 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e as.$constraint).{.if.($constrain
187460 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 t->matches($provider)).{.return.
187480 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 66 6f 72 65 true;.}.}..return.false;.}..fore
1874a0 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 ach.($this->constraints.as.$cons
1874c0 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 traint).{.if.(!$constraint->matc
1874e0 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a hes($provider)).{.return.false;.
187500 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 }.}..return.true;.}.....public.f
187520 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 unction.setPrettyString($prettyS
187540 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 tring).{.$this->prettyString.=.$
187560 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 prettyString;.}.....public.funct
187580 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 ion.getPrettyString().{.if.($thi
1875a0 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d s->prettyString).{.return.$this-
1875c0 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e >prettyString;.}..return.$this->
1875e0 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 __toString();.}.....public.funct
187600 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 ion.__toString().{.$constraints.
187620 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 =.array();.foreach.($this->const
187640 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 raints.as.$constraint).{.$constr
187660 61 69 6e 74 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a aints[].=.(string).$constraint;.
187680 7d 0a 0a 72 65 74 75 72 6e 20 27 5b 27 20 2e 20 69 6d 70 6c 6f 64 65 28 24 74 68 69 73 2d 3e 63 }..return.'['...implode($this->c
1876a0 6f 6e 6a 75 6e 63 74 69 76 65 20 3f 20 27 20 27 20 3a 20 27 20 7c 7c 20 27 2c 20 24 63 6f 6e 73 onjunctive.?.'.'.:.'.||.',.$cons
1876c0 74 72 61 69 6e 74 73 29 20 2e 20 27 5d 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a traints)...']';.}.}.<?php.......
1876e0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a ....namespace.Composer\Semver;..
187700 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 use.Composer\Semver\Constraint\C
187720 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 53 65 6d 76 65 72 0a 7b 0a 63 6f 6e 73 74 onstraint;..class.Semver.{.const
187740 20 53 4f 52 54 5f 41 53 43 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 44 45 53 43 20 3d .SORT_ASC.=.1;.const.SORT_DESC.=
187760 20 2d 31 3b 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 65 72 73 69 6f 6e 50 61 .-1;...private.static.$versionPa
187780 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e rser;..........public.static.fun
1877a0 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 73 74 ction.satisfies($version,.$const
1877c0 72 61 69 6e 74 73 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 76 65 raints).{.if.(null.===.self::$ve
1877e0 72 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 rsionParser).{.self::$versionPar
187800 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 24 76 ser.=.new.VersionParser();.}..$v
187820 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 ersionParser.=.self::$versionPar
187840 73 65 72 3b 0a 24 70 72 6f 76 69 64 65 72 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 ser;.$provider.=.new.Constraint(
187860 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 '==',.$versionParser->normalize(
187880 24 76 65 72 73 69 6f 6e 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 24 76 65 72 73 $version));.$constraints.=.$vers
1878a0 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e ionParser->parseConstraints($con
1878c0 73 74 72 61 69 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2d straints);..return.$constraints-
1878e0 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >matches($provider);.}..........
187900 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 64 public.static.function.satisfied
187920 42 79 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 By(array.$versions,.$constraints
187940 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 76 65 ).{.$versions.=.array_filter($ve
187960 72 73 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 65 72 73 69 6f 6e 29 20 75 73 65 20 rsions,.function.($version).use.
187980 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 72 65 74 75 72 6e 20 53 65 6d 76 65 72 3a 3a ($constraints).{.return.Semver::
1879a0 73 61 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 satisfies($version,.$constraints
1879c0 29 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 65 72 );.});..return.array_values($ver
1879e0 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 sions);.}.........public.static.
187a00 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 29 0a 7b function.sort(array.$versions).{
187a20 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 75 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 73 .return.self::usort($versions,.s
187a40 65 6c 66 3a 3a 53 4f 52 54 5f 41 53 43 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 elf::SORT_ASC);.}.........public
187a60 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 .static.function.rsort(array.$ve
187a80 72 73 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 75 73 6f 72 74 28 24 76 65 rsions).{.return.self::usort($ve
187aa0 72 73 69 6f 6e 73 2c 20 73 65 6c 66 3a 3a 53 4f 52 54 5f 44 45 53 43 29 3b 0a 7d 0a 0a 0a 0a 0a rsions,.self::SORT_DESC);.}.....
187ac0 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 6f 72 74 ...private.static.function.usort
187ae0 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 64 69 72 65 63 74 69 6f 6e 29 0a 7b 0a (array.$versions,.$direction).{.
187b00 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 if.(null.===.self::$versionParse
187b20 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 r).{.self::$versionParser.=.new.
187b40 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 VersionParser();.}..$versionPars
187b60 65 72 20 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 6e 6f 72 6d er.=.self::$versionParser;.$norm
187b80 61 6c 69 7a 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 alized.=.array();......foreach.(
187ba0 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b $versions.as.$key.=>.$version).{
187bc0 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 5b 5d 20 3d 20 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 50 .$normalized[].=.array($versionP
187be0 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 2c 20 24 6b 65 79 arser->normalize($version),.$key
187c00 29 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 2c 20 66 75 6e 63 74 69 6f );.}..usort($normalized,.functio
187c20 6e 20 28 61 72 72 61 79 20 24 6c 65 66 74 2c 20 61 72 72 61 79 20 24 72 69 67 68 74 29 20 75 73 n.(array.$left,.array.$right).us
187c40 65 20 28 24 64 69 72 65 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 6c 65 66 74 5b 30 5d 20 3d 3d e.($direction).{.if.($left[0].==
187c60 3d 20 24 72 69 67 68 74 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 =.$right[0]).{.return.0;.}..if.(
187c80 43 6f 6d 70 61 72 61 74 6f 72 3a 3a 6c 65 73 73 54 68 61 6e 28 24 6c 65 66 74 5b 30 5d 2c 20 24 Comparator::lessThan($left[0],.$
187ca0 72 69 67 68 74 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 24 64 69 72 65 63 74 69 6f 6e 3b right[0])).{.return.-$direction;
187cc0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 72 65 63 74 69 6f 6e 3b 0a 7d 29 3b 0a 0a 0a 20 24 73 .}..return.$direction;.});....$s
187ce0 6f 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 6f 72 6d 61 orted.=.array();.foreach.($norma
187d00 6c 69 7a 65 64 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 73 6f 72 74 65 64 5b 5d 20 3d 20 24 76 lized.as.$item).{.$sorted[].=.$v
187d20 65 72 73 69 6f 6e 73 5b 24 69 74 65 6d 5b 31 5d 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f ersions[$item[1]];.}..return.$so
187d40 72 74 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 rted;.}.}.<?php...........namesp
187d60 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 ace.Composer\Semver;..use.Compos
187d80 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 er\Semver\Constraint\ConstraintI
187da0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f nterface;.use.Composer\Semver\Co
187dc0 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f nstraint\EmptyConstraint;.use.Co
187de0 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f mposer\Semver\Constraint\MultiCo
187e00 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f nstraint;.use.Composer\Semver\Co
187e20 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 nstraint\Constraint;.......class
187e40 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 .VersionParser.{..............pr
187e60 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 3d 20 27 5b ivate.static.$modifierRegex.=.'[
187e80 2e 5f 2d 5d 3f 28 3f 3a 28 73 74 61 62 6c 65 7c 62 65 74 61 7c 62 7c 52 43 7c 61 6c 70 68 61 7c ._-]?(?:(stable|beta|b|RC|alpha|
187ea0 61 7c 70 61 74 63 68 7c 70 6c 7c 70 29 28 28 3f 3a 5b 2e 2d 5d 3f 5c 64 2b 29 2a 2b 29 3f 29 3f a|patch|pl|p)((?:[.-]?\d+)*+)?)?
187ec0 28 5b 2e 2d 5d 3f 64 65 76 29 3f 27 3b 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 ([.-]?dev)?';...private.static.$
187ee0 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 52 stabilities.=.array('stable',.'R
187f00 43 27 2c 20 27 62 65 74 61 27 2c 20 27 61 6c 70 68 61 27 2c 20 27 64 65 76 27 29 3b 0a 0a 0a 0a C',.'beta',.'alpha',.'dev');....
187f20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 .....public.static.function.pars
187f40 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 eStability($version).{.$version.
187f60 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 23 2e 2b 24 7d 69 27 2c 20 27 27 2c 20 24 76 =.preg_replace('{#.+$}i',.'',.$v
187f80 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 ersion);..if.('dev-'.===.substr(
187fa0 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 20 7c 7c 20 27 2d 64 65 76 27 20 3d 3d 3d 20 73 75 $version,.0,.4).||.'-dev'.===.su
187fc0 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 2d 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 bstr($version,.-4)).{.return.'de
187fe0 76 27 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 27 20 2e 20 73 65 6c 66 3a 3a 24 6d v';.}..preg_match('{'...self::$m
188000 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 28 3f 3a 5c 2b 2e 2a 29 3f 24 7d 69 27 2c 20 73 odifierRegex...'(?:\+.*)?$}i',.s
188020 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 29 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 trtolower($version),.$match);.if
188040 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 33 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 .(!empty($match[3])).{.return.'d
188060 65 76 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b ev';.}..if.(!empty($match[1])).{
188080 0a 69 66 20 28 27 62 65 74 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 20 7c 7c 20 27 62 27 .if.('beta'.===.$match[1].||.'b'
1880a0 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 27 62 65 74 61 27 3b .===.$match[1]).{.return.'beta';
1880c0 0a 7d 0a 69 66 20 28 27 61 6c 70 68 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 20 7c 7c 20 .}.if.('alpha'.===.$match[1].||.
1880e0 27 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 6c 70 'a'.===.$match[1]).{.return.'alp
188100 68 61 27 3b 0a 7d 0a 69 66 20 28 27 72 63 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b ha';.}.if.('rc'.===.$match[1]).{
188120 0a 72 65 74 75 72 6e 20 27 52 43 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 73 74 61 62 6c .return.'RC';.}.}..return.'stabl
188140 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 e';.}.......public.static.functi
188160 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 on.normalizeStability($stability
188180 29 0a 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 61 ).{.$stability.=.strtolower($sta
1881a0 62 69 6c 69 74 79 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 bility);..return.$stability.===.
1881c0 27 72 63 27 20 3f 20 27 52 43 27 20 3a 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 'rc'.?.'RC'.:.$stability;.}.....
1881e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 .......public.function.normalize
188200 28 24 76 65 72 73 69 6f 6e 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a ($version,.$fullVersion.=.null).
188220 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 76 65 72 73 69 6f 6e 29 3b 0a 69 66 20 {.$version.=.trim($version);.if.
188240 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 20 7b 0a 24 66 75 6c 6c 56 (null.===.$fullVersion).{.$fullV
188260 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 ersion.=.$version;.}....if.(preg
188280 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b 2b 29 20 2b 2b 61 73 20 2b 2b 28 5b 5e 2c _match('{^([^,\s]++).++as.++([^,
1882a0 5c 73 5d 2b 2b 29 24 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a \s]++)$}',.$version,.$match)).{.
1882c0 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 $version.=.$match[1];.}....if.(p
1882e0 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 64 65 76 2d 29 3f 28 3f 3a 6d 61 73 74 65 72 7c reg_match('{^(?:dev-)?(?:master|
188300 74 72 75 6e 6b 7c 64 65 66 61 75 6c 74 29 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 20 7b trunk|default)$}i',.$version)).{
188320 0a 72 65 74 75 72 6e 20 27 39 39 39 39 39 39 39 2d 64 65 76 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 .return.'9999999-dev';.}....if.(
188340 27 64 65 76 2d 27 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 65 'dev-'.===.strtolower(substr($ve
188360 72 73 69 6f 6e 2c 20 30 2c 20 34 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 76 2d 27 20 2e rsion,.0,.4))).{.return.'dev-'..
188380 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 34 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 .substr($version,.4);.}....if.(p
1883a0 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 2b 5d 2b 2b 29 5c 2b 5b 5e 5c 73 5d 2b reg_match('{^([^,\s+]++)\+[^\s]+
1883c0 2b 24 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 76 65 72 73 +$}',.$version,.$match)).{.$vers
1883e0 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d ion.=.$match[1];.}....if.(preg_m
188400 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 35 7d 29 28 5c 2e 5c 64 2b 2b 29 3f 28 5c 2e 5c atch('{^v?(\d{1,5})(\.\d++)?(\.\
188420 64 2b 2b 29 3f 28 5c 2e 5c 64 2b 2b 29 3f 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 d++)?(\.\d++)?'...self::$modifie
188440 72 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 rRegex...'$}i',.$version,.$match
188460 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 0a 2e 20 es)).{.$version.=.$matches[1]...
188480 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b (!empty($matches[2]).?.$matches[
1884a0 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 33 5d 2].:.'.0')...(!empty($matches[3]
1884c0 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 0a 2e 20 28 21 65 6d 70 74 ).?.$matches[3].:.'.0')...(!empt
1884e0 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 3a 20 27 y($matches[4]).?.$matches[4].:.'
188500 2e 30 27 29 3b 0a 24 69 6e 64 65 78 20 3d 20 35 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 70 72 .0');.$index.=.5;...}.elseif.(pr
188520 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 34 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b eg_match('{^v?(\d{4}(?:[.:-]?\d{
188540 32 7d 29 7b 31 2c 36 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 31 2c 33 7d 29 3f 29 27 20 2e 20 73 2}){1,6}(?:[.:-]?\d{1,3})?)'...s
188560 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 76 65 elf::$modifierRegex...'$}i',.$ve
188580 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 70 rsion,.$matches)).{.$version.=.p
1885a0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 44 7d 27 2c 20 27 2e 27 2c 20 24 6d 61 74 63 68 65 reg_replace('{\D}',.'.',.$matche
1885c0 73 5b 31 5d 29 3b 0a 24 69 6e 64 65 78 20 3d 20 32 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 s[1]);.$index.=.2;.}....if.(isse
1885e0 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 t($index)).{.if.(!empty($matches
188600 5b 24 69 6e 64 65 78 5d 29 29 20 7b 0a 69 66 20 28 27 73 74 61 62 6c 65 27 20 3d 3d 3d 20 24 6d [$index])).{.if.('stable'.===.$m
188620 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f atches[$index]).{.return.$versio
188640 6e 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 74 68 69 73 2d 3e 65 78 n;.}.$version..=.'-'...$this->ex
188660 70 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 pandStability($matches[$index]).
188680 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 29 20 ..(!empty($matches[$index.+.1]).
1886a0 3f 20 6c 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 2c 20 27 2e ?.ltrim($matches[$index.+.1],.'.
1886c0 2d 27 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 -').:.'');.}..if.(!empty($matche
1886e0 73 5b 24 69 6e 64 65 78 20 2b 20 32 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d s[$index.+.2])).{.$version..=.'-
188700 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 dev';.}..return.$version;.}....i
188720 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2e 2a 3f 29 5b 2e 2d 5d 3f 64 65 76 24 7d 69 f.(preg_match('{(.*?)[.-]?dev$}i
188740 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 ',.$version,.$match)).{.try.{.re
188760 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 turn.$this->normalizeBranch($mat
188780 63 68 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 ch[1]);.}.catch.(\Exception.$e).
1887a0 7b 0a 7d 0a 7d 0a 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 69 66 20 28 70 {.}.}..$extraMessage.=.'';.if.(p
1887c0 72 65 67 5f 6d 61 74 63 68 28 27 7b 20 2b 61 73 20 2b 27 20 2e 20 70 72 65 67 5f 71 75 6f 74 65 reg_match('{.+as.+'...preg_quote
1887e0 28 24 76 65 72 73 69 6f 6e 29 20 2e 20 27 24 7d 27 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 ($version)...'$}',.$fullVersion)
188800 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 6e 20 22 27 20 2e 20 24 66 ).{.$extraMessage.=.'.in."'...$f
188820 75 6c 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 6c 69 61 73 20 6d 75 73 74 20 ullVersion...'",.the.alias.must.
188840 62 65 20 61 6e 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 be.an.exact.version';.}.elseif.(
188860 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 20 2e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 76 65 preg_match('{^'...preg_quote($ve
188880 72 73 69 6f 6e 29 20 2e 20 27 20 2b 61 73 20 2b 7d 27 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e rsion)...'.+as.+}',.$fullVersion
1888a0 29 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 6e 20 22 27 20 2e 20 24 )).{.$extraMessage.=.'.in."'...$
1888c0 66 75 6c 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 6c 69 61 73 20 73 6f 75 72 fullVersion...'",.the.alias.sour
1888e0 63 65 20 6d 75 73 74 20 62 65 20 61 6e 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 2c 20 69 66 20 ce.must.be.an.exact.version,.if.
188900 69 74 20 69 73 20 61 20 62 72 61 6e 63 68 20 6e 61 6d 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 it.is.a.branch.name.you.should.p
188920 72 65 66 69 78 20 69 74 20 77 69 74 68 20 64 65 76 2d 27 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 refix.it.with.dev-';.}..throw.ne
188940 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 w.\UnexpectedValueException('Inv
188960 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 22 27 20 2e 20 24 76 65 72 73 69 6f alid.version.string."'...$versio
188980 6e 20 2e 20 27 22 27 20 2e 20 24 65 78 74 72 61 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a n...'"'...$extraMessage);.}.....
1889a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4e 75 6d 65 72 69 63 ....public.function.parseNumeric
1889c0 41 6c 69 61 73 50 72 65 66 69 78 28 24 62 72 61 6e 63 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f AliasPrefix($branch).{.if.(preg_
1889e0 6d 61 74 63 68 28 27 7b 5e 28 3f 50 3c 76 65 72 73 69 6f 6e 3e 28 5c 64 2b 2b 5c 5c 2e 29 2a 5c match('{^(?P<version>(\d++\\.)*\
188a00 64 2b 2b 29 28 3f 3a 5c 2e 78 29 3f 2d 64 65 76 24 7d 69 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 d++)(?:\.x)?-dev$}i',.$branch,.$
188a20 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 76 65 72 matches)).{.return.$matches['ver
188a40 73 69 6f 6e 27 5d 20 2e 20 27 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d sion']...'.';.}..return.false;.}
188a60 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 .........public.function.normali
188a80 7a 65 42 72 61 6e 63 68 28 24 6e 61 6d 65 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 74 72 69 6d 28 24 zeBranch($name).{.$name.=.trim($
188aa0 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 61 72 72 61 name);..if.(in_array($name,.arra
188ac0 79 28 27 6d 61 73 74 65 72 27 2c 20 27 74 72 75 6e 6b 27 2c 20 27 64 65 66 61 75 6c 74 27 29 29 y('master',.'trunk',.'default'))
188ae0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6e 61 6d ).{.return.$this->normalize($nam
188b00 65 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 2b 2b e);.}..if.(preg_match('{^v?(\d++
188b20 29 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b )(\.(?:\d++|[xX*]))?(\.(?:\d++|[
188b40 78 58 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 24 7d 69 27 2c 20 xX*]))?(\.(?:\d++|[xX*]))?$}i',.
188b60 24 6e 61 6d 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 $name,.$matches)).{.$version.=.'
188b80 27 3b 0a 66 6f 72 20 28 24 69 20 3d 20 31 3b 20 24 69 20 3c 20 35 3b 20 2b 2b 24 69 29 20 7b 0a ';.for.($i.=.1;.$i.<.5;.++$i).{.
188ba0 24 76 65 72 73 69 6f 6e 20 2e 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 $version..=.isset($matches[$i]).
188bc0 3f 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2a 27 2c 20 27 58 27 29 2c 20 27 ?.str_replace(array('*',.'X'),.'
188be0 78 27 2c 20 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 3a 20 27 2e 78 27 3b 0a 7d 0a 0a 72 65 74 x',.$matches[$i]).:.'.x';.}..ret
188c00 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 78 27 2c 20 27 39 39 39 39 39 39 39 27 2c 20 urn.str_replace('x',.'9999999',.
188c20 24 76 65 72 73 69 6f 6e 29 20 2e 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 64 $version)...'-dev';.}..return.'d
188c40 65 76 2d 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ev-'...$name;.}.........public.f
188c60 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 unction.parseConstraints($constr
188c80 61 69 6e 74 73 29 0a 7b 0a 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f aints).{.$prettyConstraint.=.$co
188ca0 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b nstraints;..if.(preg_match('{^([
188cc0 5e 2c 5c 73 5d 2a 3f 29 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 73 65 6c 66 3a ^,\s]*?)@('...implode('|',.self:
188ce0 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 :$stabilities)...')$}i',.$constr
188d00 61 69 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d aints,.$match)).{.$constraints.=
188d20 20 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 27 2a 27 20 3a 20 24 6d 61 74 63 68 .empty($match[1]).?.'*'.:.$match
188d40 5b 31 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 64 65 76 2d 5b [1];.}..if.(preg_match('{^(dev-[
188d60 5e 2c 5c 73 40 5d 2b 3f 7c 5b 5e 2c 5c 73 40 5d 2b 3f 5c 2e 78 2d 64 65 76 29 23 2e 2b 24 7d 69 ^,\s@]+?|[^,\s@]+?\.x-dev)#.+$}i
188d80 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e ',.$constraints,.$match)).{.$con
188da0 73 74 72 61 69 6e 74 73 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 24 6f 72 43 6f 6e 73 straints.=.$match[1];.}..$orCons
188dc0 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 7c 5c 7c 3f 5c traints.=.preg_split('{\s*\|\|?\
188de0 73 2a 7d 27 2c 20 74 72 69 6d 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 29 3b 0a 24 6f 72 47 72 s*}',.trim($constraints));.$orGr
188e00 6f 75 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 72 43 6f 6e 73 oups.=.array();.foreach.($orCons
188e20 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 24 61 6e 64 43 traints.as.$constraints).{.$andC
188e40 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 3f 3c 21 5e 7c onstraints.=.preg_split('{(?<!^|
188e60 61 73 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f 3c 21 2d 29 5b 2c 20 5d 28 3f 21 2d 29 20 2a 28 3f as|[=><.,]).*(?<!-)[,.](?!-).*(?
188e80 21 2c 7c 61 73 7c 24 29 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 69 66 20 28 63 !,|as|$)}',.$constraints);.if.(c
188ea0 6f 75 6e 74 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 3e 20 31 29 20 7b 0a 24 63 6f ount($andConstraints).>.1).{.$co
188ec0 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 nstraintObjects.=.array();.forea
188ee0 63 68 20 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 ch.($andConstraints.as.$constrai
188f00 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6f 6e 73 74 nt).{.foreach.($this->parseConst
188f20 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 61 73 20 24 70 61 72 73 65 64 43 6f 6e raint($constraint).as.$parsedCon
188f40 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 5b 5d 20 straint).{.$constraintObjects[].
188f60 3d 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 =.$parsedConstraint;.}.}.}.else.
188f80 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 {.$constraintObjects.=.$this->pa
188fa0 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 5b 30 5d rseConstraint($andConstraints[0]
188fc0 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e );.}..if.(1.===.count($constrain
188fe0 74 4f 62 6a 65 63 74 73 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 tObjects)).{.$constraint.=.$cons
189000 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 traintObjects[0];.}.else.{.$cons
189020 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 24 63 6f traint.=.new.MultiConstraint($co
189040 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 29 3b 0a 7d 0a 0a 24 6f 72 47 72 6f 75 70 73 5b 5d nstraintObjects);.}..$orGroups[]
189060 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 .=.$constraint;.}..if.(1.===.cou
189080 6e 74 28 24 6f 72 47 72 6f 75 70 73 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 nt($orGroups)).{.$constraint.=.$
1890a0 6f 72 47 72 6f 75 70 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 32 20 3d 3d 3d 20 63 6f 75 orGroups[0];.}.elseif.(2.===.cou
1890c0 6e 74 28 24 6f 72 47 72 6f 75 70 73 29 0a 0a 20 0a 20 26 26 20 24 6f 72 47 72 6f 75 70 73 5b 30 nt($orGroups).....&&.$orGroups[0
1890e0 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 0a 26 26 20 ].instanceof.MultiConstraint.&&.
189100 24 6f 72 47 72 6f 75 70 73 5b 31 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e $orGroups[1].instanceof.MultiCon
189120 73 74 72 61 69 6e 74 0a 26 26 20 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 straint.&&.2.===.count($orGroups
189140 5b 30 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 29 0a 26 26 20 32 20 3d 3d 3d 20 [0]->getConstraints()).&&.2.===.
189160 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 5b 31 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e count($orGroups[1]->getConstrain
189180 74 73 28 29 29 0a 26 26 20 28 24 61 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6f 72 47 72 6f 75 70 ts()).&&.($a.=.(string).$orGroup
1891a0 73 5b 30 5d 29 0a 26 26 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 33 29 20 3d 3d 3d 20 27 5b s[0]).&&.substr($a,.0,.3).===.'[
1891c0 3e 3d 27 20 26 26 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 41 20 3d 20 73 74 72 70 6f >='.&&.(false.!==.($posA.=.strpo
1891e0 73 28 24 61 2c 20 27 3c 27 2c 20 34 29 29 29 0a 26 26 20 28 24 62 20 3d 20 28 73 74 72 69 6e 67 s($a,.'<',.4))).&&.($b.=.(string
189200 29 20 24 6f 72 47 72 6f 75 70 73 5b 31 5d 29 0a 26 26 20 73 75 62 73 74 72 28 24 62 2c 20 30 2c ).$orGroups[1]).&&.substr($b,.0,
189220 20 33 29 20 3d 3d 3d 20 27 5b 3e 3d 27 20 26 26 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f .3).===.'[>='.&&.(false.!==.($po
189240 73 42 20 3d 20 73 74 72 70 6f 73 28 24 62 2c 20 27 3c 27 2c 20 34 29 29 29 0a 26 26 20 73 75 62 sB.=.strpos($b,.'<',.4))).&&.sub
189260 73 74 72 28 24 61 2c 20 24 70 6f 73 41 20 2b 20 32 2c 20 2d 31 29 20 3d 3d 3d 20 73 75 62 73 74 str($a,.$posA.+.2,.-1).===.subst
189280 72 28 24 62 2c 20 34 2c 20 24 70 6f 73 42 20 2d 20 35 29 0a 29 20 7b 0a 24 63 6f 6e 73 74 72 61 r($b,.4,.$posB.-.5).).{.$constra
1892a0 69 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 61 72 72 61 79 28 int.=.new.MultiConstraint(array(
1892c0 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 73 75 62 73 74 72 28 24 61 2c .new.Constraint('>=',.substr($a,
1892e0 20 34 2c 20 24 70 6f 73 41 20 2d 20 35 29 29 2c 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 .4,.$posA.-.5)),.new.Constraint(
189300 27 3c 27 2c 20 73 75 62 73 74 72 28 24 62 2c 20 24 70 6f 73 42 20 2b 20 32 2c 20 2d 31 29 29 2c '<',.substr($b,.$posB.+.2,.-1)),
189320 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 .));.}.else.{.$constraint.=.new.
189340 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 72 47 72 6f 75 70 73 2c 20 66 61 6c 73 65 MultiConstraint($orGroups,.false
189360 29 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 );.}..$constraint->setPrettyStri
189380 6e 67 28 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 ng($prettyConstraint);..return.$
1893a0 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 constraint;.}.........private.fu
1893c0 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 nction.parseConstraint($constrai
1893e0 6e 74 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b nt).{.if.(preg_match('{^([^,\s]+
189400 3f 29 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 73 65 6c 66 3a 3a 24 73 74 61 62 ?)@('...implode('|',.self::$stab
189420 69 6c 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 ilities)...')$}i',.$constraint,.
189440 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 6d 61 74 63 68 5b $match)).{.$constraint.=.$match[
189460 31 5d 3b 0a 69 66 20 28 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 73 74 61 62 6c 65 27 29 20 1];.if.($match[2].!==.'stable').
189480 7b 0a 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 32 5d {.$stabilityModifier.=.$match[2]
1894a0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 5b 78 58 2a 5d ;.}.}..if.(preg_match('{^v?[xX*]
1894c0 28 5c 2e 5b 78 58 2a 5d 29 2a 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a (\.[xX*])*$}i',.$constraint)).{.
1894e0 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 return.array(new.EmptyConstraint
189500 28 29 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 3d 20 27 76 3f 28 5c 64 2b 2b ());.}..$versionRegex.=.'v?(\d++
189520 29 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e )(?:\.(\d++))?(?:\.(\d++))?(?:\.
189540 28 5c 64 2b 2b 29 29 3f 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 (\d++))?'...self::$modifierRegex
189560 20 2e 20 27 28 3f 3a 5c 2b 5b 5e 5c 73 5d 2b 29 3f 27 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 69 ...'(?:\+[^\s]+)?';............i
189580 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7e 3e 3f 27 20 2e 20 24 76 65 72 73 69 6f 6e f.(preg_match('{^~>?'...$version
1895a0 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 Regex...'$}i',.$constraint,.$mat
1895c0 63 68 65 73 29 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 2c ches)).{.if.(substr($constraint,
1895e0 20 30 2c 20 32 29 20 3d 3d 3d 20 27 7e 3e 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e .0,.2).===.'~>').{.throw.new.\Un
189600 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e expectedValueException(.'Could.n
189620 6f 74 20 70 61 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 ot.parse.version.constraint.'...
189640 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 27 3a 20 27 20 2e 0a 27 49 6e 76 61 6c 69 64 20 6f 70 $constraint...':.'...'Invalid.op
189660 65 72 61 74 6f 72 20 22 7e 3e 22 2c 20 79 6f 75 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 74 20 erator."~>",.you.probably.meant.
189680 74 6f 20 75 73 65 20 74 68 65 20 22 7e 22 20 6f 70 65 72 61 74 6f 72 27 0a 29 3b 0a 7d 0a 0a 0a to.use.the."~".operator'.);.}...
1896a0 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 26 26 20 27 27 20 21 3d .if.(isset($matches[4]).&&.''.!=
1896c0 3d 20 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 34 3b 0a =.$matches[4]).{.$position.=.4;.
1896e0 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 20 }.elseif.(isset($matches[3]).&&.
189700 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 ''.!==.$matches[3]).{.$position.
189720 3d 20 33 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d =.3;.}.elseif.(isset($matches[2]
189740 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 ).&&.''.!==.$matches[2]).{.$posi
189760 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 tion.=.2;.}.else.{.$position.=.1
189780 3b 0a 7d 0a 0a 0a 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 ;.}....$stabilitySuffix.=.'';.if
1897a0 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 29 20 7b 0a 24 73 74 61 62 69 6c .(!empty($matches[5])).{.$stabil
1897c0 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 2d 27 20 2e 20 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 itySuffix..=.'-'...$this->expand
1897e0 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 20 2e 20 28 21 65 6d 70 74 79 Stability($matches[5])...(!empty
189800 28 24 6d 61 74 63 68 65 73 5b 36 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 36 5d 20 3a 20 27 27 ($matches[6]).?.$matches[6].:.''
189820 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 7b );.}..if.(!empty($matches[7])).{
189840 0a 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a .$stabilitySuffix..=.'-dev';.}..
189860 69 66 20 28 21 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 29 20 7b 0a 24 73 74 61 62 69 6c if.(!$stabilitySuffix).{.$stabil
189880 69 74 79 53 75 66 66 69 78 20 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 itySuffix.=.'-dev';.}..$lowVersi
1898a0 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 on.=.$this->manipulateVersionStr
1898c0 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c 20 30 29 20 2e 20 24 73 ing($matches,.$position,.0)...$s
1898e0 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 tabilitySuffix;.$lowerBound.=.ne
189900 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 3b w.Constraint('>=',.$lowVersion);
189920 0a 0a 0a 20 0a 20 24 68 69 67 68 50 6f 73 69 74 69 6f 6e 20 3d 20 6d 61 78 28 31 2c 20 24 70 6f ......$highPosition.=.max(1,.$po
189940 73 69 74 69 6f 6e 20 2d 20 31 29 3b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 sition.-.1);.$highVersion.=.$thi
189960 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 s->manipulateVersionString($matc
189980 68 65 73 2c 20 24 68 69 67 68 50 6f 73 69 74 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b hes,.$highPosition,.1)...'-dev';
1899a0 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c .$upperBound.=.new.Constraint('<
1899c0 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 ',.$highVersion);..return.array(
1899e0 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 75 70 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a .$lowerBound,.$upperBound,.);.}.
189a00 0a 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 5e 27 ...........if.(preg_match('{^\^'
189a20 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 28 24 29 7d 69 27 2c 20 24 63 6f 6e ...$versionRegex...'($)}i',.$con
189a40 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 28 27 30 27 20 straint,.$matches)).{...if.('0'.
189a60 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 7c 7c 20 27 27 20 3d 3d 3d 20 24 6d 61 74 63 68 !==.$matches[1].||.''.===.$match
189a80 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 3b 0a 7d 20 65 6c 73 65 69 66 es[2]).{.$position.=.1;.}.elseif
189aa0 20 28 27 30 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c 7c 20 27 27 20 3d 3d 3d 20 .('0'.!==.$matches[2].||.''.===.
189ac0 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 $matches[3]).{.$position.=.2;.}.
189ae0 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 0a 0a 0a 20 24 73 74 61 62 else.{.$position.=.3;.}....$stab
189b00 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 ilitySuffix.=.'';.if.(empty($mat
189b20 63 68 65 73 5b 35 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 ches[5]).&&.empty($matches[7])).
189b40 7b 0a 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a {.$stabilitySuffix..=.'-dev';.}.
189b60 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 .$lowVersion.=.$this->normalize(
189b80 73 75 62 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 24 73 74 61 62 69 6c 69 74 79 53 substr($constraint...$stabilityS
189ba0 75 66 66 69 78 2c 20 31 29 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f uffix,.1));.$lowerBound.=.new.Co
189bc0 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 nstraint('>=',.$lowVersion);....
189be0 0a 20 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 ..$highVersion.=.$this->manipula
189c00 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 teVersionString($matches,.$posit
189c20 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 ion,.1)...'-dev';.$upperBound.=.
189c40 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e new.Constraint('<',.$highVersion
189c60 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 );..return.array(.$lowerBound,.$
189c80 75 70 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 upperBound,.);.}..........if.(pr
189ca0 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 2b 2b 29 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 eg_match('{^v?(\d++)(?:\.(\d++))
189cc0 3f 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 5b 78 58 2a 5d 29 2b 2b 24 7d 27 2c 20 ?(?:\.(\d++))?(?:\.[xX*])++$}',.
189ce0 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 $constraint,.$matches)).{.if.(is
189d00 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 set($matches[3]).&&.''.!==.$matc
189d20 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 20 65 6c 73 65 69 hes[3]).{.$position.=.3;.}.elsei
189d40 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 f.(isset($matches[2]).&&.''.!==.
189d60 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 $matches[2]).{.$position.=.2;.}.
189d80 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 else.{.$position.=.1;.}..$lowVer
189da0 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 sion.=.$this->manipulateVersionS
189dc0 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 29 20 2e 20 27 2d 64 tring($matches,.$position)...'-d
189de0 65 76 27 3b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 ev';.$highVersion.=.$this->manip
189e00 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f ulateVersionString($matches,.$po
189e20 73 69 74 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 0a 69 66 20 28 24 6c 6f 77 56 65 sition,.1)...'-dev';..if.($lowVe
189e40 72 73 69 6f 6e 20 3d 3d 3d 20 27 30 2e 30 2e 30 2e 30 2d 64 65 76 27 29 20 7b 0a 72 65 74 75 72 rsion.===.'0.0.0.0-dev').{.retur
189e60 6e 20 61 72 72 61 79 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 n.array(new.Constraint('<',.$hig
189e80 68 56 65 72 73 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 hVersion));.}..return.array(.new
189ea0 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 2c 0a .Constraint('>=',.$lowVersion),.
189ec0 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e new.Constraint('<',.$highVersion
189ee0 29 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 ),.);.}..............if.(preg_ma
189f00 74 63 68 28 27 7b 5e 28 3f 50 3c 66 72 6f 6d 3e 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 tch('{^(?P<from>'...$versionRege
189f20 78 20 2e 20 27 29 20 2b 2d 20 2b 28 3f 50 3c 74 6f 3e 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 x...').+-.+(?P<to>'...$versionRe
189f40 67 65 78 20 2e 20 27 29 28 24 29 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 gex...')($)}i',.$constraint,.$ma
189f60 74 63 68 65 73 29 29 20 7b 0a 0a 20 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 tches)).{...$lowStabilitySuffix.
189f80 3d 20 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 36 5d 29 20 26 26 20 =.'';.if.(empty($matches[6]).&&.
189fa0 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 38 5d 29 29 20 7b 0a 24 6c 6f 77 53 74 61 62 69 6c empty($matches[8])).{.$lowStabil
189fc0 69 74 79 53 75 66 66 69 78 20 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 itySuffix.=.'-dev';.}..$lowVersi
189fe0 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 27 on.=.$this->normalize($matches['
18a000 66 72 6f 6d 27 5d 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 from']);.$lowerBound.=.new.Const
18a020 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 20 2e 20 24 6c 6f 77 53 74 raint('>=',.$lowVersion...$lowSt
18a040 61 62 69 6c 69 74 79 53 75 66 66 69 78 29 3b 0a 0a 24 65 6d 70 74 79 20 3d 20 66 75 6e 63 74 69 abilitySuffix);..$empty.=.functi
18a060 6f 6e 20 28 24 78 29 20 7b 0a 72 65 74 75 72 6e 20 28 24 78 20 3d 3d 3d 20 30 20 7c 7c 20 24 78 on.($x).{.return.($x.===.0.||.$x
18a080 20 3d 3d 3d 20 27 30 27 29 20 3f 20 66 61 6c 73 65 20 3a 20 65 6d 70 74 79 28 24 78 29 3b 0a 7d .===.'0').?.false.:.empty($x);.}
18a0a0 3b 0a 0a 69 66 20 28 28 21 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 31 5d 29 20 26 26 ;..if.((!$empty($matches[11]).&&
18a0c0 20 21 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 32 5d 29 29 20 7c 7c 20 21 65 6d 70 74 .!$empty($matches[12])).||.!empt
18a0e0 79 28 24 6d 61 74 63 68 65 73 5b 31 34 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 y($matches[14]).||.!empty($match
18a100 65 73 5b 31 36 5d 29 29 20 7b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d es[16])).{.$highVersion.=.$this-
18a120 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 27 74 6f 27 5d 29 3b 0a 24 75 70 70 >normalize($matches['to']);.$upp
18a140 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 3d 27 2c 20 24 erBound.=.new.Constraint('<=',.$
18a160 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 69 67 68 4d 61 74 63 highVersion);.}.else.{.$highMatc
18a180 68 20 3d 20 61 72 72 61 79 28 27 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 30 5d 2c 20 24 6d 61 74 h.=.array('',.$matches[10],.$mat
18a1a0 63 68 65 73 5b 31 31 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 32 5d 2c 20 24 6d 61 74 63 68 65 73 ches[11],.$matches[12],.$matches
18a1c0 5b 31 33 5d 29 3b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e [13]);.$highVersion.=.$this->man
18a1e0 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 68 69 67 68 4d 61 74 63 68 2c ipulateVersionString($highMatch,
18a200 20 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 31 5d 29 20 3f 20 31 20 3a 20 32 2c 20 31 .$empty($matches[11]).?.1.:.2,.1
18a220 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f )...'-dev';.$upperBound.=.new.Co
18a240 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a nstraint('<',.$highVersion);.}..
18a260 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 75 70 70 65 return.array(.$lowerBound,.$uppe
18a280 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 rBound,.);.}....if.(preg_match('
18a2a0 7b 5e 28 3c 3e 7c 21 3d 7c 3e 3d 3f 7c 3c 3d 3f 7c 3d 3d 3f 29 3f 5c 73 2a 28 2e 2a 29 7d 27 2c {^(<>|!=|>=?|<=?|==?)?\s*(.*)}',
18a2c0 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 72 79 20 7b .$constraint,.$matches)).{.try.{
18a2e0 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 .$version.=.$this->normalize($ma
18a300 74 63 68 65 73 5b 32 5d 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 73 74 61 62 69 6c 69 74 tches[2]);..if.(!empty($stabilit
18a320 79 4d 6f 64 69 66 69 65 72 29 20 26 26 20 24 74 68 69 73 2d 3e 70 61 72 73 65 53 74 61 62 69 6c yModifier).&&.$this->parseStabil
18a340 69 74 79 28 24 76 65 72 73 69 6f 6e 29 20 3d 3d 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 76 ity($version).===.'stable').{.$v
18a360 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 ersion..=.'-'...$stabilityModifi
18a380 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 3c 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 er;.}.elseif.('<'.===.$matches[1
18a3a0 5d 20 7c 7c 20 27 3e 3d 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 7b 0a 69 66 20 ].||.'>='.===.$matches[1]).{.if.
18a3c0 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2d 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 (!preg_match('/-'...self::$modif
18a3e0 69 65 72 52 65 67 65 78 20 2e 20 27 24 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 ierRegex...'$/',.strtolower($mat
18a400 63 68 65 73 5b 32 5d 29 29 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 ches[2]))).{.if.(substr($matches
18a420 5b 32 5d 2c 20 30 2c 20 34 29 20 21 3d 3d 20 27 64 65 76 2d 27 29 20 7b 0a 24 76 65 72 73 69 6f [2],.0,.4).!==.'dev-').{.$versio
18a440 6e 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 n..=.'-dev';.}.}.}..return.array
18a460 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3f 3a 20 27 (new.Constraint($matches[1].?:.'
18a480 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 =',.$version));.}.catch.(\Except
18a4a0 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 ion.$e).{.}.}..$message.=.'Could
18a4c0 20 6e 6f 74 20 70 61 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 .not.parse.version.constraint.'.
18a4e0 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 29 20 7b 0a ..$constraint;.if.(isset($e)).{.
18a500 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 3a 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 $message..=.':.'...$e->getMessag
18a520 65 28 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c e();.}..throw.new.\UnexpectedVal
18a540 75 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ueException($message);.}........
18a560 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e 69 70 75 6c 61 74 ......private.function.manipulat
18a580 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 eVersionString($matches,.$positi
18a5a0 6f 6e 2c 20 24 69 6e 63 72 65 6d 65 6e 74 20 3d 20 30 2c 20 24 70 61 64 20 3d 20 27 30 27 29 0a on,.$increment.=.0,.$pad.=.'0').
18a5c0 7b 0a 66 6f 72 20 28 24 69 20 3d 20 34 3b 20 24 69 20 3e 20 30 3b 20 2d 2d 24 69 29 20 7b 0a 69 {.for.($i.=.4;.$i.>.0;.--$i).{.i
18a5e0 66 20 28 24 69 20 3e 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 f.($i.>.$position).{.$matches[$i
18a600 5d 20 3d 20 24 70 61 64 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 20 3d 3d 3d 20 24 70 6f 73 69 ].=.$pad;.}.elseif.($i.===.$posi
18a620 74 69 6f 6e 20 26 26 20 24 69 6e 63 72 65 6d 65 6e 74 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 tion.&&.$increment).{.$matches[$
18a640 69 5d 20 2b 3d 20 24 69 6e 63 72 65 6d 65 6e 74 3b 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 i].+=.$increment;...if.($matches
18a660 5b 24 69 5d 20 3c 20 30 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3d 20 24 70 61 64 3b [$i].<.0).{.$matches[$i].=.$pad;
18a680 0a 2d 2d 24 70 6f 73 69 74 69 6f 6e 3b 0a 0a 0a 20 69 66 20 28 24 69 20 3d 3d 3d 20 31 29 20 7b .--$position;....if.($i.===.1).{
18a6a0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 .return;.}.}.}.}..return.$matche
18a6c0 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 2e s[1]...'.'...$matches[2]...'.'..
18a6e0 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 34 5d .$matches[3]...'.'...$matches[4]
18a700 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 ;.}.........private.function.exp
18a720 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 73 74 61 62 andStability($stability).{.$stab
18a740 69 6c 69 74 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a ility.=.strtolower($stability);.
18a760 0a 73 77 69 74 63 68 20 28 24 73 74 61 62 69 6c 69 74 79 29 20 7b 0a 63 61 73 65 20 27 61 27 3a .switch.($stability).{.case.'a':
18a780 0a 72 65 74 75 72 6e 20 27 61 6c 70 68 61 27 3b 0a 63 61 73 65 20 27 62 27 3a 0a 72 65 74 75 72 .return.'alpha';.case.'b':.retur
18a7a0 6e 20 27 62 65 74 61 27 3b 0a 63 61 73 65 20 27 70 27 3a 0a 63 61 73 65 20 27 70 6c 27 3a 0a 72 n.'beta';.case.'p':.case.'pl':.r
18a7c0 65 74 75 72 6e 20 27 70 61 74 63 68 27 3b 0a 63 61 73 65 20 27 72 63 27 3a 0a 72 65 74 75 72 6e eturn.'patch';.case.'rc':.return
18a7e0 20 27 52 43 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 .'RC';.default:.return.$stabilit
18a800 79 3b 0a 7d 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 36 20 43 6f 6d 70 y;.}.}.}.Copyright.(C).2016.Comp
18a820 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 oser..Permission.is.hereby.grant
18a840 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f ed,.free.of.charge,.to.any.perso
18a860 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 n.obtaining.a.copy.of.this.softw
18a880 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e are.and.associated.documentation
18a8a0 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c .files.(the."Software"),.to.deal
18a8c0 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 .in.the.Software.without.restric
18a8e0 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 tion,.including.without.limitati
18a900 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 on.the.rights.to.use,.copy,.modi
18a920 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 fy,.merge,.publish,.distribute,.
18a940 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f sublicense,.and/or.sell.copies.o
18a960 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 f.the.Software,.and.to.permit.pe
18a980 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 rsons.to.whom.the.Software.is.fu
18a9a0 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 rnished.to.do.so,.subject.to.the
18a9c0 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 .following.conditions:..The.abov
18a9e0 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
18aa00 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
18aa20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 in.all.copies.or.substantial.por
18aa40 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 tions.of.the.Software...THE.SOFT
18aa60 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
18aa80 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
18aaa0 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 OR.IMPLIED,.INCLUDING.BUT.NOT.LI
18aac0 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
18aae0 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 ANTABILITY,.FITNESS.FOR.A.PARTIC
18ab00 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 ULAR.PURPOSE.AND.NONINFRINGEMENT
18ab20 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 ..IN.NO.EVENT.SHALL.THE.AUTHORS.
18ab40 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 OR.COPYRIGHT.HOLDERS.BE.LIABLE.F
18ab60 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c OR.ANY.CLAIM,.DAMAGES.OR.OTHER.L
18ab80 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f IABILITY,.WHETHER.IN.AN.ACTION.O
18aba0 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 F.CONTRACT,.TORT.OR.OTHERWISE,.A
18abc0 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 RISING.FROM,.OUT.OF.OR.IN.CONNEC
18abe0 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 TION.WITH.THE.SOFTWARE.OR.THE.US
18ac00 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 E.OR.OTHER.DEALINGS.IN.THE.SOFTW
18ac20 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 ARE..<?php...........namespace.C
18ac40 6f 6d 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c omposer\CaBundle;..use.Psr\Log\L
18ac60 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 oggerInterface;.use.Symfony\Comp
18ac80 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 onent\Process\PhpProcess;......c
18aca0 6c 61 73 73 20 43 61 42 75 6e 64 6c 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 lass.CaBundle.{.private.static.$
18acc0 63 61 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 46 69 6c 65 56 61 caPath;.private.static.$caFileVa
18ace0 6c 69 64 69 74 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 lidity.=.array();.private.static
18ad00 20 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$useOpensslParse;..............
18ad20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .........................public.
18ad40 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 static.function.getSystemCaRootB
18ad60 75 6e 64 6c 65 50 61 74 68 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 undlePath(LoggerInterface.$logge
18ad80 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 21 3d r.=.null).{.if.(self::$caPath.!=
18ada0 3d 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 3b 0a =.null).{.return.self::$caPath;.
18adc0 7d 0a 0a 0a 20 0a 20 24 65 6e 76 43 65 72 74 46 69 6c 65 20 3d 20 67 65 74 65 6e 76 28 27 53 53 }......$envCertFile.=.getenv('SS
18ade0 4c 5f 43 45 52 54 5f 46 49 4c 45 27 29 3b 0a 69 66 20 28 24 65 6e 76 43 65 72 74 46 69 6c 65 20 L_CERT_FILE');.if.($envCertFile.
18ae00 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 65 6e 76 43 65 72 74 46 69 6c 65 29 20 26 26 20 &&.is_readable($envCertFile).&&.
18ae20 73 74 61 74 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 65 6e 76 43 65 72 74 46 static::validateCaFile($envCertF
18ae40 69 6c 65 2c 20 24 6c 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 ile,.$logger)).{.return.self::$c
18ae60 61 50 61 74 68 20 3d 20 24 65 6e 76 43 65 72 74 46 69 6c 65 3b 0a 7d 0a 0a 0a 20 0a 20 24 65 6e aPath.=.$envCertFile;.}......$en
18ae80 76 43 65 72 74 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 53 53 4c 5f 43 45 52 54 5f 44 49 52 27 vCertDir.=.getenv('SSL_CERT_DIR'
18aea0 29 3b 0a 69 66 20 28 24 65 6e 76 43 65 72 74 44 69 72 20 26 26 20 69 73 5f 64 69 72 28 24 65 6e );.if.($envCertDir.&&.is_dir($en
18aec0 76 43 65 72 74 44 69 72 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 65 6e 76 43 65 72 vCertDir).&&.is_readable($envCer
18aee0 74 44 69 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 tDir)).{.return.self::$caPath.=.
18af00 24 65 6e 76 43 65 72 74 44 69 72 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 75 72 65 64 20 3d 20 69 6e $envCertDir;.}..$configured.=.in
18af20 69 5f 67 65 74 28 27 6f 70 65 6e 73 73 6c 2e 63 61 66 69 6c 65 27 29 3b 0a 69 66 20 28 24 63 6f i_get('openssl.cafile');.if.($co
18af40 6e 66 69 67 75 72 65 64 20 26 26 20 73 74 72 6c 65 6e 28 24 63 6f 6e 66 69 67 75 72 65 64 29 20 nfigured.&&.strlen($configured).
18af60 3e 20 30 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 6f 6e 66 69 67 75 72 65 64 29 20 >.0.&&.is_readable($configured).
18af80 26 26 20 73 74 61 74 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 63 6f 6e 66 69 &&.static::validateCaFile($confi
18afa0 67 75 72 65 64 2c 20 24 6c 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a gured,.$logger)).{.return.self::
18afc0 24 63 61 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 75 72 65 64 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 $caPath.=.$configured;.}..$confi
18afe0 67 75 72 65 64 20 3d 20 69 6e 69 5f 67 65 74 28 27 6f 70 65 6e 73 73 6c 2e 63 61 70 61 74 68 27 gured.=.ini_get('openssl.capath'
18b000 29 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 75 72 65 64 20 26 26 20 69 73 5f 64 69 72 28 24 63 6f );.if.($configured.&&.is_dir($co
18b020 6e 66 69 67 75 72 65 64 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 6f 6e 66 69 67 nfigured).&&.is_readable($config
18b040 75 72 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 ured)).{.return.self::$caPath.=.
18b060 24 63 6f 6e 66 69 67 75 72 65 64 3b 0a 7d 0a 0a 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 3d $configured;.}..$caBundlePaths.=
18b080 20 61 72 72 61 79 28 0a 27 2f 65 74 63 2f 70 6b 69 2f 74 6c 73 2f 63 65 72 74 73 2f 63 61 2d 62 .array(.'/etc/pki/tls/certs/ca-b
18b0a0 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 undle.crt',...'/etc/ssl/certs/ca
18b0c0 2d 63 65 72 74 69 66 69 63 61 74 65 73 2e 63 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f -certificates.crt',...'/etc/ssl/
18b0e0 63 61 2d 62 75 6e 64 6c 65 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 ca-bundle.pem',...'/usr/local/sh
18b100 61 72 65 2f 63 65 72 74 73 2f 63 61 2d 72 6f 6f 74 2d 6e 73 73 2e 63 72 74 27 2c 20 0a 20 27 2f are/certs/ca-root-nss.crt',...'/
18b120 75 73 72 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 usr/ssl/certs/ca-bundle.crt',...
18b140 27 2f 6f 70 74 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 75 72 6c 2f 63 75 72 6c 2d 63 61 2d 62 '/opt/local/share/curl/curl-ca-b
18b160 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f undle.crt',...'/usr/local/share/
18b180 63 75 72 6c 2f 63 75 72 6c 2d 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 curl/curl-ca-bundle.crt',...'/us
18b1a0 72 2f 73 68 61 72 65 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 r/share/ssl/certs/ca-bundle.crt'
18b1c0 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 ,...'/etc/ssl/cert.pem',...'/usr
18b1e0 2f 6c 6f 63 61 6c 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 /local/etc/ssl/cert.pem',...'/us
18b200 72 2f 6c 6f 63 61 6c 2f 65 74 63 2f 6f 70 65 6e 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a r/local/etc/openssl/cert.pem',..
18b220 20 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 61 73 20 .);..foreach.($caBundlePaths.as.
18b240 24 63 61 42 75 6e 64 6c 65 29 20 7b 0a 69 66 20 28 40 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 $caBundle).{.if.(@is_readable($c
18b260 61 42 75 6e 64 6c 65 29 20 26 26 20 73 74 61 74 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 aBundle).&&.static::validateCaFi
18b280 6c 65 28 24 63 61 42 75 6e 64 6c 65 2c 20 24 6c 6f 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e le($caBundle,.$logger)).{.return
18b2a0 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 7d 0a .self::$caPath.=.$caBundle;.}.}.
18b2c0 0a 66 6f 72 65 61 63 68 20 28 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 61 73 20 24 63 61 42 .foreach.($caBundlePaths.as.$caB
18b2e0 75 6e 64 6c 65 29 20 7b 0a 24 63 61 42 75 6e 64 6c 65 20 3d 20 64 69 72 6e 61 6d 65 28 24 63 61 undle).{.$caBundle.=.dirname($ca
18b300 42 75 6e 64 6c 65 29 3b 0a 69 66 20 28 40 69 73 5f 64 69 72 28 24 63 61 42 75 6e 64 6c 65 29 20 Bundle);.if.(@is_dir($caBundle).
18b320 26 26 20 67 6c 6f 62 28 24 63 61 42 75 6e 64 6c 65 2e 27 2f 2a 27 29 29 20 7b 0a 72 65 74 75 72 &&.glob($caBundle.'/*')).{.retur
18b340 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 7d n.self::$caPath.=.$caBundle;.}.}
18b360 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 73 74 61 74 69 63 3a ..return.self::$caPath.=.static:
18b380 3a 67 65 74 42 75 6e 64 6c 65 64 43 61 42 75 6e 64 6c 65 50 61 74 68 28 29 3b 20 0a 20 7d 0a 0a :getBundledCaBundlePath();...}..
18b3a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 .......public.static.function.ge
18b3c0 74 42 75 6e 64 6c 65 64 43 61 42 75 6e 64 6c 65 50 61 74 68 28 29 0a 7b 0a 24 63 61 42 75 6e 64 tBundledCaBundlePath().{.$caBund
18b3e0 6c 65 46 69 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 72 65 73 2f 63 61 63 65 72 74 leFile.=.__DIR__.'/../res/cacert
18b400 2e 70 65 6d 27 3b 0a 0a 0a 20 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 .pem';......if.(0.===.strpos($ca
18b420 42 75 6e 64 6c 65 46 69 6c 65 2c 20 27 70 68 61 72 3a 2f 2f 27 29 29 20 7b 0a 66 69 6c 65 5f 70 BundleFile,.'phar://')).{.file_p
18b440 75 74 5f 63 6f 6e 74 65 6e 74 73 28 0a 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 20 3d ut_contents(.$tempCaBundleFile.=
18b460 20 74 65 6d 70 6e 61 6d 28 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2c 20 27 6f 70 .tempnam(sys_get_temp_dir(),.'op
18b480 65 6e 73 73 6c 2d 63 61 2d 62 75 6e 64 6c 65 2d 27 29 2c 0a 66 69 6c 65 5f 67 65 74 5f 63 6f 6e enssl-ca-bundle-'),.file_get_con
18b4a0 74 65 6e 74 73 28 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 29 0a 29 3b 0a 0a 72 65 67 69 73 74 65 tents($caBundleFile).);..registe
18b4c0 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 66 75 6e 63 74 69 6f 6e 28 29 20 75 r_shutdown_function(function().u
18b4e0 73 65 20 28 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 29 20 7b 0a 40 75 6e 6c 69 6e 6b se.($tempCaBundleFile).{.@unlink
18b500 28 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 29 3b 0a 7d 29 3b 0a 0a 24 63 61 42 75 6e ($tempCaBundleFile);.});..$caBun
18b520 64 6c 65 46 69 6c 65 20 3d 20 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a dleFile.=.$tempCaBundleFile;.}..
18b540 72 65 74 75 72 6e 20 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a return.$caBundleFile;.}.........
18b560 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 .public.static.function.validate
18b580 43 61 46 69 6c 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 CaFile($filename,.LoggerInterfac
18b5a0 65 20 24 6c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e e.$logger.=.null).{.static.$warn
18b5c0 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 61 ed.=.false;..if.(isset(self::$ca
18b5e0 46 69 6c 65 56 61 6c 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 FileValidity[$filename])).{.retu
18b600 72 6e 20 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 rn.self::$caFileValidity[$filena
18b620 6d 65 5d 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e me];.}..$contents.=.file_get_con
18b640 74 65 6e 74 73 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 73 74 61 74 tents($filename);......if.(!stat
18b660 69 63 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 69 66 20 28 ic::isOpensslParseSafe()).{.if.(
18b680 21 24 77 61 72 6e 65 64 20 26 26 20 24 6c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 2d 3e !$warned.&&.$logger).{.$logger->
18b6a0 77 61 72 6e 69 6e 67 28 73 70 72 69 6e 74 66 28 0a 27 59 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f warning(sprintf(.'Your.version.o
18b6c0 66 20 50 48 50 2c 20 25 73 2c 20 69 73 20 61 66 66 65 63 74 65 64 20 62 79 20 43 56 45 2d 32 30 f.PHP,.%s,.is.affected.by.CVE-20
18b6e0 31 33 2d 36 34 32 30 20 61 6e 64 20 63 61 6e 6e 6f 74 20 73 61 66 65 6c 79 20 70 65 72 66 6f 72 13-6420.and.cannot.safely.perfor
18b700 6d 20 63 65 72 74 69 66 69 63 61 74 65 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 77 65 20 73 74 72 m.certificate.validation,.we.str
18b720 6f 6e 67 6c 79 20 73 75 67 67 65 73 74 20 79 6f 75 20 75 70 67 72 61 64 65 2e 27 2c 0a 50 48 50 ongly.suggest.you.upgrade.',.PHP
18b740 5f 56 45 52 53 49 4f 4e 0a 29 29 3b 0a 24 77 61 72 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a _VERSION.));.$warned.=.true;.}..
18b760 24 69 73 56 61 6c 69 64 20 3d 20 21 65 6d 70 74 79 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 $isValid.=.!empty($contents);.}.
18b780 65 6c 73 65 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 28 62 6f 6f 6c 29 20 6f 70 65 6e 73 73 6c else.{.$isValid.=.(bool).openssl
18b7a0 5f 78 35 30 39 5f 70 61 72 73 65 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 _x509_parse($contents);.}..if.($
18b7c0 6c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 2d 3e 64 65 62 75 67 28 27 43 68 65 63 6b 65 logger).{.$logger->debug('Checke
18b7e0 64 20 43 41 20 66 69 6c 65 20 27 2e 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 6e 61 6d 65 29 2e d.CA.file.'.realpath($filename).
18b800 27 3a 20 27 2e 28 24 69 73 56 61 6c 69 64 20 3f 20 27 76 61 6c 69 64 27 20 3a 20 27 69 6e 76 61 ':.'.($isValid.?.'valid'.:.'inva
18b820 6c 69 64 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 lid'));.}..return.self::$caFileV
18b840 61 6c 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 20 3d 20 24 69 73 56 61 6c 69 64 3b 0a 7d alidity[$filename].=.$isValid;.}
18b860 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ..........public.static.function
18b880 20 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c .isOpensslParseSafe().{.if.(null
18b8a0 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 29 20 7b 0a 72 .!==.self::$useOpensslParse).{.r
18b8c0 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b 0a 7d 0a eturn.self::$useOpensslParse;.}.
18b8e0 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 29 20 7b 0a .if.(PHP_VERSION_ID.>=.50600).{.
18b900 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 return.self::$useOpensslParse.=.
18b920 74 72 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 0a 28 50 48 50 5f 56 45 52 53 49 true;.}..........if.(.(PHP_VERSI
18b940 4f 4e 5f 49 44 20 3c 20 35 30 34 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 ON_ID.<.50400.&&.PHP_VERSION_ID.
18b960 3e 3d 20 35 30 33 32 38 29 0a 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 >=.50328).||.(PHP_VERSION_ID.<.5
18b980 30 35 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 32 33 29 0500.&&.PHP_VERSION_ID.>=.50423)
18b9a0 0a 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 50 .||.(PHP_VERSION_ID.<.50600.&&.P
18b9c0 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 35 30 37 29 0a 29 20 7b 0a 0a 20 72 65 HP_VERSION_ID.>=.50507).).{...re
18b9e0 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 turn.self::$useOpensslParse.=.tr
18ba00 75 65 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f ue;.}..if.(defined('PHP_WINDOWS_
18ba20 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 VERSION_BUILD')).{...return.self
18ba40 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 ::$useOpensslParse.=.false;.}..$
18ba60 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 20 3d 20 66 75 6e compareDistroVersionPrefix.=.fun
18ba80 63 74 69 6f 6e 20 28 24 70 72 65 66 69 78 2c 20 24 66 69 78 65 64 56 65 72 73 69 6f 6e 29 20 7b ction.($prefix,.$fixedVersion).{
18baa0 0a 24 72 65 67 65 78 20 3d 20 27 7b 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 70 72 65 66 69 .$regex.=.'{^'.preg_quote($prefi
18bac0 78 29 2e 27 28 5b 30 2d 39 5d 2b 29 24 7d 27 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 x).'([0-9]+)$}';..if.(preg_match
18bae0 28 24 72 65 67 65 78 2c 20 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 6d 29 29 20 7b 0a 72 65 74 ($regex,.PHP_VERSION,.$m)).{.ret
18bb00 75 72 6e 20 28 28 69 6e 74 29 20 24 6d 5b 31 5d 29 20 3e 3d 20 24 66 69 78 65 64 56 65 72 73 69 urn.((int).$m[1]).>=.$fixedVersi
18bb20 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 0a 20 69 66 20 28 0a on;.}..return.false;.};....if.(.
18bb40 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 33 $compareDistroVersionPrefix('5.3
18bb60 2e 33 2d 37 2b 73 71 75 65 65 7a 65 27 2c 20 31 38 29 20 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 .3-7+squeeze',.18)...||.$compare
18bb80 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 34 2e 34 2d 31 34 2b 64 65 DistroVersionPrefix('5.4.4-14+de
18bba0 62 37 75 27 2c 20 37 29 20 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 73 b7u',.7)...||.$compareDistroVers
18bbc0 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 33 2e 31 30 2d 31 75 62 75 6e 74 75 33 2e 27 2c 20 39 29 ionPrefix('5.3.10-1ubuntu3.',.9)
18bbe0 20 0a 20 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 ...).{.return.self::$useOpensslP
18bc00 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 arse.=.true;.}....if.(!class_exi
18bc20 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 sts('Symfony\Component\Process\P
18bc40 68 70 50 72 6f 63 65 73 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 hpProcess')).{.return.self::$use
18bc60 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a OpensslParse.=.false;.}.........
18bc80 20 0a 20 0a 0a 0a 20 0a 20 24 63 65 72 74 20 3d 20 27 4c 53 30 74 4c 53 31 43 52 55 64 4a 54 69 .........$cert.=.'LS0tLS1CRUdJTi
18bca0 42 44 52 56 4a 55 53 55 5a 4a 51 30 46 55 52 53 30 74 4c 53 30 74 43 6b 31 4a 53 55 56 77 52 45 BDRVJUSUZJQ0FURS0tLS0tCk1JSUVwRE
18bcc0 4e 44 51 54 52 35 5a 30 46 33 53 55 4a 42 5a 30 6c 4b 51 55 70 36 64 54 68 79 4e 6e 55 32 5a 55 NDQTR5Z0F3SUJBZ0lKQUp6dThyNnU2ZU
18bce0 4a 6a 54 55 45 77 52 30 4e 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 4a 52 56 55 46 4e 53 55 JjTUEwR0NTcUdTSWIzRFFFQkJRVUFNSU
18bd00 68 45 54 56 46 7a 64 30 4e 52 57 55 51 4b 56 6c 46 52 52 30 56 33 53 6b 56 53 56 45 56 6a 54 55 hETVFzd0NRWUQKVlFRR0V3SkVSVEVjTU
18bd20 4a 76 52 30 45 78 56 55 56 44 51 58 64 55 56 47 30 35 65 56 70 49 53 6d 39 61 56 32 78 31 54 46 JvR0ExVUVDQXdUVG05eVpISm9aV2x1TF
18bd40 5a 6b 62 47 4d 7a 55 6d 31 5a 56 33 68 73 59 6d 70 46 55 55 31 42 4e 45 64 42 4d 56 56 46 51 6e ZkbGMzUm1ZV3hsYmpFUU1BNEdBMVVFQn
18bd60 64 33 53 41 70 54 4f 45 39 45 64 33 4a 61 63 32 4a 71 52 56 56 4e 51 6b 6c 48 51 54 46 56 52 55 d3SApTOE9Ed3Jac2JqRVVNQklHQTFVRU
18bd80 4e 6e 64 30 78 56 4d 6c 5a 79 5a 45 64 73 64 6d 4a 72 56 6e 42 69 62 6b 31 34 53 48 70 42 5a 45 Nnd0xVMlZyZEdsdmJrVnBibk14SHpBZE
18bda0 4a 6e 54 6c 5a 43 51 58 4e 4e 52 6d 73 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 43 6d 4e 35 51 6b JnTlZCQXNNRmsxaGJHbGphVzkxCmN5Qk
18bdc0 52 61 57 45 6f 77 53 55 5a 4f 62 46 6b 7a 55 6e 42 69 4d 6a 52 34 53 56 52 42 5a 6b 4a 6e 54 6c RaWEowSUZObFkzUnBiMjR4SVRBZkJnTl
18bde0 5a 43 51 55 31 4e 52 30 63 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 59 33 6b 31 65 6c 70 58 64 44 ZCQU1NR0cxaGJHbGphVzkxY3k1elpXdD
18be00 42 68 56 7a 6c 31 57 6c 64 73 64 57 4e 35 4e 57 73 4b 57 6c 52 46 63 55 31 44 5a 30 64 44 55 33 BhVzl1WldsdWN5NWsKWlRFcU1DZ0dDU3
18be20 46 48 55 30 6c 69 4d 30 52 52 52 55 70 42 55 6c 6c 69 59 7a 4e 53 62 46 70 74 52 6e 56 4d 62 56 FHU0liM0RRRUpBUlliYzNSbFptRnVMbV
18be40 5a 36 59 7a 4a 57 65 56 46 49 54 6d 78 68 4d 31 4a 77 59 6a 49 31 62 47 46 58 4e 58 70 4d 62 56 Z6YzJWeVFITmxhM1JwYjI1bGFXNXpMbV
18be60 4a 73 54 55 68 56 57 51 70 61 52 45 55 31 54 6e 70 42 64 30 31 55 51 58 68 4e 52 45 46 33 54 55 JsTUhVWQpaREU1TnpBd01UQXhNREF3TU
18be80 52 42 64 31 64 6e 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 RBd1dnQUFBQUFBQUFBQUFBQUFBQUFBQU
18bea0 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 43 6b FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCk
18bec0 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
18bee0 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU
18bf00 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 45 4b 51 55 46 42 51 55 46 42 51 56 FBQUFBQUFBQUFBQUFBQUEKQUFBQUFBQV
18bf20 68 45 56 45 55 77 54 56 52 46 65 55 39 45 52 58 68 4e 65 6d 74 36 54 6c 5a 76 64 32 64 6a 54 58 hEVEUwTVRFeU9ERXhNemt6TlZvd2djTX
18bf40 68 44 65 6b 46 4b 51 6d 64 4f 56 6b 4a 42 57 56 52 42 61 31 4a 47 54 56 4a 33 64 30 64 6e 57 55 hDekFKQmdOVkJBWVRBa1JGTVJ3d0dnWU
18bf60 52 57 55 56 46 4a 52 45 4a 4f 54 77 70 69 4d 30 70 72 59 32 31 6f 62 47 46 58 4e 48 52 57 4d 6c RWUVFJREJOTwpiM0prY21obGFXNHRWMl
18bf80 5a 36 5a 45 64 61 61 47 4a 48 56 6e 56 4e 55 6b 46 33 52 47 64 5a 52 46 5a 52 55 55 68 45 51 57 Z6ZEdaaGJHVnVNUkF3RGdZRFZRUUhEQW
18bfa0 52 4d 64 7a 52 51 51 33 52 74 65 48 56 4e 55 6c 46 33 52 57 64 5a 52 46 5a 52 55 55 74 45 51 58 RMdzRQQ3RteHVNUlF3RWdZRFZRUUtEQX
18bfc0 52 55 43 6c 70 58 64 44 42 68 56 7a 6c 31 55 6c 64 73 64 57 4e 36 52 57 5a 4e 51 6a 42 48 51 54 RUClpXdDBhVzl1UldsdWN6RWZNQjBHQT
18bfe0 46 56 52 55 4e 33 64 31 64 55 56 30 5a 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4a 52 55 35 73 59 32 FVRUN3d1dUV0ZzYVdOcGIzVnpJRU5sY2
18c000 35 52 5a 31 55 79 56 6d 70 6b 52 32 78 32 59 6d 70 46 61 45 31 43 4f 45 63 4b 51 54 46 56 52 55 5RZ1UyVmpkR2x2YmpFaE1COEcKQTFVRU
18c020 46 33 64 31 6c 69 56 30 5a 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4d 62 6b 35 73 59 54 4e 53 63 47 F3d1liV0ZzYVdOcGIzVnpMbk5sYTNScG
18c040 49 79 4e 57 78 68 56 7a 56 36 54 47 31 53 62 45 31 54 62 33 64 4c 51 56 6c 4b 53 32 39 61 53 57 IyNWxhVzV6TG1SbE1Tb3dLQVlKS29aSW
18c060 68 32 59 30 35 42 55 57 74 43 52 6d 68 30 65 67 70 6b 52 31 5a 74 57 56 63 30 64 56 70 59 54 6e h2Y05BUWtCRmh0egpkR1ZtWVc0dVpYTn
18c080 70 61 57 45 70 42 59 7a 4a 57 63 6d 52 48 62 48 5a 69 62 56 5a 77 59 6d 35 4e 64 56 70 48 56 58 paWEpBYzJWcmRHbHZibVZwYm5NdVpHVX
18c0a0 64 6e 5a 30 56 70 54 55 45 77 52 30 4e 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 46 52 56 55 dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVU
18c0c0 46 42 4e 45 6c 43 43 6b 52 33 51 58 64 6e 5a 30 56 4c 51 57 39 4a 51 6b 46 52 52 45 52 42 5a 6a FBNElCCkR3QXdnZ0VLQW9JQkFRRERBZj
18c0e0 4e 6f 62 44 64 4b 57 54 42 59 59 30 5a 75 61 58 6c 46 53 6e 42 54 55 30 52 78 62 6a 42 50 63 55 NobDdKWTBYY0ZuaXlFSnBTU0RxbjBPcU
18c100 4a 79 4e 6c 46 51 4e 6a 56 31 63 30 70 51 55 6e 51 76 4f 46 42 68 52 47 39 78 51 6e 55 4b 64 30 JyNlFQNjV1c0pQUnQvOFBhRG9xQnUKd0
18c120 56 5a 56 43 39 4f 59 53 73 32 5a 6e 4e 6e 55 47 70 44 4d 48 56 4c 4f 55 52 61 5a 31 64 6e 4d 6e VZVC9OYSs2ZnNnUGpDMHVLOURaZ1dnMn
18c140 52 49 56 31 64 76 59 57 35 54 59 6d 78 42 54 57 39 36 4e 56 42 49 4e 6c 6f 72 55 7a 52 54 53 46 RIV1dvYW5TYmxBTW96NVBINlorUzRTSF
18c160 4a 61 4e 32 55 79 5a 45 52 4a 61 6c 42 71 5a 47 68 71 61 41 6f 77 62 55 78 6e 4d 6c 56 4e 54 7a JaN2UyZERJalBqZGhqaAowbUxnMlVNTz
18c180 56 35 63 44 42 57 4e 7a 6b 33 52 32 64 7a 4f 57 78 4f 64 44 5a 4b 55 6d 5a 49 4f 44 46 4e 54 6a V5cDBWNzk3R2dzOWxOdDZKUmZIODFNTj
18c1a0 4a 76 59 6c 68 58 63 7a 52 4f 64 48 70 30 54 45 31 31 52 44 5a 6c 5a 33 46 77 63 6a 68 6b 52 47 JvYlhXczROdHp0TE11RDZlZ3FwcjhkRG
18c1c0 4a 79 4d 7a 52 68 54 33 4d 34 43 6e 42 72 5a 48 56 70 4e 56 56 68 64 31 52 61 61 33 4e 35 4e 58 JyMzRhT3M4CnBrZHVpNVVhd1Raa3N5NX
18c1e0 42 4d 55 45 68 78 4e 57 4e 4e 61 45 5a 48 62 54 41 32 64 6a 59 31 51 30 78 76 4d 46 59 79 55 47 BMUEhxNWNNaEZHbTA2djY1Q0xvMFYyUG
18c200 51 35 4b 30 74 42 62 32 74 51 63 6c 42 6a 54 6a 56 4c 54 45 74 6c 59 6e 6f 33 62 55 78 77 61 7a Q5K0tBb2tQclBjTjVLTEtlYno3bUxwaz
18c220 59 4b 55 30 31 6c 52 56 68 50 53 31 41 30 61 57 52 46 63 58 68 35 55 54 64 50 4e 32 5a 43 64 55 YKU01lRVhPS1A0aWRFcXh5UTdPN2ZCdU
18c240 68 4e 5a 57 52 7a 55 57 68 31 4b 33 42 79 57 54 4e 7a 61 54 4e 43 56 58 6c 4c 5a 6c 46 30 55 44 hNZWRzUWh1K3ByWTNzaTNCVXlLZlF0UD
18c260 56 44 57 6d 35 59 4d 6d 4a 77 4d 48 64 4c 53 48 68 59 4d 54 4a 45 57 41 6f 78 62 6d 5a 47 53 58 VDWm5YMmJwMHdLSHhYMTJEWAoxbmZGSX
18c280 51 35 52 47 4a 48 64 6b 68 55 59 33 6c 50 64 55 34 72 62 6c 70 4d 55 45 4a 74 4d 33 5a 58 65 47 Q5RGJHdkhUY3lPdU4rblpMUEJtM3ZXeG
18c2a0 35 30 65 55 6c 4a 64 6c 5a 42 5a 30 31 43 51 55 46 48 61 6c 46 71 51 6b 46 4e 51 57 74 48 51 54 50eUlJdlZBZ01CQUFHalFqQkFNQWtHQT
18c2c0 46 56 5a 45 56 33 55 55 4e 4e 51 55 46 33 43 6b 56 52 57 55 70 5a 53 56 70 4a 51 56 6c 69 4e 46 FVZEV3UUNNQUF3CkVRWUpZSVpJQVliNF
18c2e0 46 6e 52 55 4a 43 51 56 46 45 51 57 64 6c 51 55 31 42 63 30 64 42 4d 56 56 6b 52 48 64 52 52 55 FnRUJCQVFEQWdlQU1Bc0dBMVVkRHdRRU
18c300 46 33 53 55 5a 76 52 45 46 55 51 6d 64 4f 56 6b 68 54 56 55 56 45 52 45 46 4c 51 6d 64 6e 63 6b F3SUZvREFUQmdOVkhTVUVEREFLQmdnck
18c320 4a 6e 52 55 59 4b 51 6c 46 6a 52 45 46 71 51 55 35 43 5a 32 74 78 61 47 74 70 52 7a 6c 33 4d 45 JnRUYKQlFjREFqQU5CZ2txaGtpRzl3ME
18c340 4a 42 55 56 56 47 51 55 46 50 51 30 46 52 52 55 46 48 4d 47 5a 61 57 56 6c 44 56 47 4a 6b 61 6a JBUVVGQUFPQ0FRRUFHMGZaWVlDVGJkaj
18c360 46 59 57 57 4d 72 4d 56 4e 75 62 32 46 51 55 69 74 32 53 54 68 44 4f 45 4e 68 52 41 6f 34 4b 7a FYWWMrMVNub2FQUit2SThDOENhRAo4Kz
18c380 42 56 57 57 68 6b 62 6e 6c 56 4e 47 64 6e 59 54 42 43 51 57 4e 45 63 6c 6b 35 5a 54 6b 30 5a 55 BVWWhkbnlVNGdnYTBCQWNEclk5ZTk0ZU
18c3a0 56 42 64 54 5a 61 63 58 6c 6a 52 6a 5a 47 61 6b 78 78 57 46 68 6b 51 57 4a 76 63 48 42 58 62 32 VBdTZacXljRjZGakxxWFhkQWJvcHBXb2
18c3c0 4e 79 4e 6c 51 32 52 30 51 78 65 44 4d 7a 51 32 74 73 43 6c 5a 42 63 6e 70 48 4c 30 74 34 55 57 NyNlQ2R0QxeDMzQ2tsClZBcnpHL0t4UW
18c3e0 39 6f 52 30 51 79 53 6d 56 78 61 32 68 4a 54 57 78 45 62 32 31 34 53 45 38 33 61 32 45 7a 4f 53 9oR0QySmVxa2hJTWxEb214SE83a2EzOS
18c400 74 50 59 54 68 70 4d 6e 5a 58 54 46 5a 35 61 6c 55 34 51 56 70 32 56 30 31 42 63 6e 56 49 59 54 tPYThpMnZXTFZ5alU4QVp2V01BcnVIYT
18c420 52 46 52 55 35 35 52 7a 63 4b 62 46 63 79 51 57 46 6e 59 55 5a 4c 52 6b 4e 79 4f 56 52 75 57 46 RFRU55RzcKbFcyQWFnYUZLRkNyOVRuWF
18c440 52 6d 63 6d 52 34 52 31 5a 46 59 6e 59 33 53 31 5a 52 4e 6d 4a 6b 61 47 63 31 63 44 56 54 61 6e RmcmR4R1ZFYnY3S1ZRNmJkaGc1cDVTan
18c460 42 58 53 44 45 72 54 58 45 77 4d 33 56 53 4d 31 70 59 55 45 4a 5a 5a 48 6c 57 4f 44 4d 78 4f 51 BXSDErTXEwM3VSM1pYUEJZZHlWODMxOQ
18c480 70 76 4d 47 78 57 61 6a 46 4c 52 6b 6b 79 52 45 4e 4d 4c 32 78 70 56 32 6c 7a 53 6c 4a 76 62 32 pvMGxWajFLRkkyRENML2xpV2lzSlJvb2
18c4a0 59 72 4d 57 4e 53 4d 7a 56 44 64 47 51 77 64 31 6c 43 59 33 42 43 4e 6c 52 61 63 32 78 4e 59 30 YrMWNSMzVDdGQwd1lCY3BCNlRac2xNY0
18c4c0 39 51 62 44 63 32 5a 48 64 4c 64 30 70 6e 5a 55 70 76 4d 6c 46 6e 43 6c 70 7a 5a 6d 31 6a 4d 6e 9QbDc2ZHdLd0pnZUpvMlFnClpzZm1jMn
18c4e0 5a 44 4d 53 39 78 54 32 78 4f 64 55 35 78 4c 7a 42 55 65 6e 70 72 56 6b 64 32 4f 45 56 55 56 44 ZDMS9xT2xOdU5xLzBUenprVkd2OEVUVD
18c500 4e 44 5a 32 46 56 4b 31 56 59 5a 54 52 59 54 31 5a 32 61 32 4e 6a 5a 57 4a 4b 62 6a 4a 6b 5a 7a NDZ2FVK1VYZTRYT1Z2a2NjZWJKbjJkZz
18c520 30 39 43 69 30 74 4c 53 30 74 52 55 35 45 49 45 4e 46 55 6c 52 4a 52 6b 6c 44 51 56 52 46 4c 53 09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS
18c540 30 74 4c 53 30 4b 27 3b 0a 24 73 63 72 69 70 74 20 3d 20 3c 3c 3c 27 45 4f 54 27 0a 0a 65 72 72 0tLS0K';.$script.=.<<<'EOT'..err
18c560 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 2d 31 29 3b 0a 24 69 6e 66 6f 20 3d 20 6f 70 65 6e 73 73 or_reporting(-1);.$info.=.openss
18c580 6c 5f 78 35 30 39 5f 70 61 72 73 65 28 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 27 25 73 27 29 l_x509_parse(base64_decode('%s')
18c5a0 29 3b 0a 76 61 72 5f 64 75 6d 70 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 69 6e 66 6f 5b 27 );.var_dump(PHP_VERSION,.$info['
18c5c0 69 73 73 75 65 72 27 5d 5b 27 65 6d 61 69 6c 41 64 64 72 65 73 73 27 5d 2c 20 24 69 6e 66 6f 5b issuer']['emailAddress'],.$info[
18c5e0 27 76 61 6c 69 64 46 72 6f 6d 5f 74 69 6d 65 5f 74 27 5d 29 3b 0a 0a 45 4f 54 3b 0a 24 73 63 72 'validFrom_time_t']);..EOT;.$scr
18c600 69 70 74 20 3d 20 27 3c 27 2e 22 3f 70 68 70 5c 6e 22 2e 73 70 72 69 6e 74 66 28 24 73 63 72 69 ipt.=.'<'."?php\n".sprintf($scri
18c620 70 74 2c 20 24 63 65 72 74 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 pt,.$cert);..try.{.$process.=.ne
18c640 77 20 50 68 70 50 72 6f 63 65 73 73 28 24 73 63 72 69 70 74 29 3b 0a 24 70 72 6f 63 65 73 73 2d w.PhpProcess($script);.$process-
18c660 3e 6d 75 73 74 52 75 6e 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 >mustRun();.}.catch.(\Exception.
18c680 24 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 $e).{.....return.self::$useOpens
18c6a0 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 slParse.=.false;.}..$output.=.pr
18c6c0 65 67 5f 73 70 6c 69 74 28 27 7b 5c 72 3f 5c 6e 7d 27 2c 20 74 72 69 6d 28 24 70 72 6f 63 65 73 eg_split('{\r?\n}',.trim($proces
18c6e0 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 29 29 3b 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d s->getOutput()));.$errorOutput.=
18c700 20 74 72 69 6d 28 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 .trim($process->getErrorOutput()
18c720 29 3b 0a 0a 69 66 20 28 0a 63 6f 75 6e 74 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 33 0a 26 26 );..if.(.count($output).===.3.&&
18c740 20 24 6f 75 74 70 75 74 5b 30 5d 20 3d 3d 3d 20 73 70 72 69 6e 74 66 28 27 73 74 72 69 6e 67 28 .$output[0].===.sprintf('string(
18c760 25 64 29 20 22 25 73 22 27 2c 20 73 74 72 6c 65 6e 28 50 48 50 5f 56 45 52 53 49 4f 4e 29 2c 20 %d)."%s"',.strlen(PHP_VERSION),.
18c780 50 48 50 5f 56 45 52 53 49 4f 4e 29 0a 26 26 20 24 6f 75 74 70 75 74 5b 31 5d 20 3d 3d 3d 20 27 PHP_VERSION).&&.$output[1].===.'
18c7a0 73 74 72 69 6e 67 28 32 37 29 20 22 73 74 65 66 61 6e 2e 65 73 73 65 72 40 73 65 6b 74 69 6f 6e string(27)."stefan.esser@sektion
18c7c0 65 69 6e 73 2e 64 65 22 27 0a 26 26 20 24 6f 75 74 70 75 74 5b 32 5d 20 3d 3d 3d 20 27 69 6e 74 eins.de"'.&&.$output[2].===.'int
18c7e0 28 2d 31 29 27 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 6f 70 65 6e 73 73 6c 5f 78 35 (-1)'.&&.preg_match('{openssl_x5
18c800 30 39 5f 70 61 72 73 65 5c 28 5c 29 3a 20 69 6c 6c 65 67 61 6c 20 28 3f 3a 41 53 4e 31 20 64 61 09_parse\(\):.illegal.(?:ASN1.da
18c820 74 61 20 74 79 70 65 20 66 6f 72 7c 6c 65 6e 67 74 68 20 69 6e 29 20 74 69 6d 65 73 74 61 6d 70 ta.type.for|length.in).timestamp
18c840 20 69 6e 20 2d 20 6f 6e 20 6c 69 6e 65 20 5c 64 2b 7d 27 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 .in.-.on.line.\d+}',.$errorOutpu
18c860 74 29 0a 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 t).).{...return.self::$useOpenss
18c880 6c 50 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 lParse.=.true;.}..return.self::$
18c8a0 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 useOpensslParse.=.false;.}.....p
18c8c0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a ublic.static.function.reset().{.
18c8e0 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 20 3d 20 61 72 72 61 79 28 29 3b self::$caFileValidity.=.array();
18c900 0a 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 6e 75 6c 6c 3b 0a 73 65 6c 66 3a 3a 24 75 73 .self::$caPath.=.null;.self::$us
18c920 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 4d 49 54 20 4c 69 eOpensslParse.=.null;.}.}.MIT.Li
18c940 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 37 20 43 6f 6d 70 6f 73 cense..Copyright.(c).2017.Compos
18c960 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 er..Permission.is.hereby.granted
18c980 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 ,.free.of.charge,.to.any.person.
18c9a0 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 obtaining.a.copy.of.this.softwar
18c9c0 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 e.and.associated.documentation.f
18c9e0 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 iles.(the."Software"),.to.deal.i
18ca00 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 n.the.Software.without.restricti
18ca20 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e on,.including.without.limitation
18ca40 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 .the.rights.to.use,.copy,.modify
18ca60 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 ,.merge,.publish,.distribute,.su
18ca80 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 blicense,.and/or.sell.copies.of.
18caa0 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 the.Software,.and.to.permit.pers
18cac0 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 66 75 72 6e ons.to.whom.the.Software.is.furn
18cae0 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 ished.to.do.so,.subject.to.the.f
18cb00 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 ollowing.conditions:..The.above.
18cb20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 copyright.notice.and.this.permis
18cb40 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e sion.notice.shall.be.included.in
18cb60 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 .all.copies.or.substantial.porti
18cb80 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 ons.of.the.Software...THE.SOFTWA
18cba0 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 RE.IS.PROVIDED."AS.IS",.WITHOUT.
18cbc0 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 WARRANTY.OF.ANY.KIND,.EXPRESS.OR
18cbe0 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 .IMPLIED,.INCLUDING.BUT.NOT.LIMI
18cc00 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e TED.TO.THE.WARRANTIES.OF.MERCHAN
18cc20 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c TABILITY,.FITNESS.FOR.A.PARTICUL
18cc40 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 AR.PURPOSE.AND.NONINFRINGEMENT..
18cc60 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 IN.NO.EVENT.SHALL.THE.AUTHORS.OR
18cc80 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 .COPYRIGHT.HOLDERS.BE.LIABLE.FOR
18cca0 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 .ANY.CLAIM,.DAMAGES.OR.OTHER.LIA
18ccc0 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 BILITY,.WHETHER.IN.AN.ACTION.OF.
18cce0 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 CONTRACT,.TORT.OR.OTHERWISE,.ARI
18cd00 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 SING.FROM,.OUT.OF.OR.IN.CONNECTI
18cd20 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 ON.WITH.THE.SOFTWARE.OR.THE.USE.
18cd40 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 OR.OTHER.DEALINGS.IN.THE.SOFTWAR
18cd60 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d E..<?php...........namespace.Com
18cd80 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 poser\XdebugHandler;.....class.P
18cda0 68 70 43 6f 6e 66 69 67 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 hpConfig.{......public.function.
18cdc0 75 73 65 4f 72 69 67 69 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e useOriginal().{.$this->getDataAn
18cde0 64 52 65 73 65 74 28 29 3b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a dReset();.return.array();.}.....
18ce00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 53 74 61 6e 64 61 72 64 28 29 0a ..public.function.useStandard().
18ce20 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e 64 52 {.if.($data.=.$this->getDataAndR
18ce40 65 73 65 74 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 2d 6e 27 2c 20 27 2d 63 eset()).{.return.array('-n',.'-c
18ce60 27 2c 20 24 64 61 74 61 5b 27 74 6d 70 49 6e 69 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 ',.$data['tmpIni']);.}..return.a
18ce80 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rray();.}.......public.function.
18cea0 75 73 65 50 65 72 73 69 73 74 65 6e 74 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 24 74 usePersistent().{.if.($data.=.$t
18cec0 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 29 20 7b 0a 50 72 6f 63 65 73 his->getDataAndReset()).{.Proces
18cee0 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 52 43 27 2c 20 24 64 61 74 61 5b 27 74 6d 70 49 6e 69 s::setEnv('PHPRC',.$data['tmpIni
18cf00 27 5d 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 ']);.Process::setEnv('PHP_INI_SC
18cf20 41 4e 5f 44 49 52 27 2c 20 27 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b AN_DIR',.'');.}..return.array();
18cf40 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 .}.......private.function.getDat
18cf60 61 41 6e 64 52 65 73 65 74 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 58 64 65 62 75 67 aAndReset().{.if.($data.=.Xdebug
18cf80 48 61 6e 64 6c 65 72 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 29 20 7b Handler::getRestartSettings()).{
18cfa0 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 52 43 27 2c 20 24 64 61 74 61 5b .Process::setEnv('PHPRC',.$data[
18cfc0 27 70 68 70 72 63 27 5d 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 5f 'phprc']);.Process::setEnv('PHP_
18cfe0 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 2c 20 24 64 61 74 61 5b 27 73 63 61 6e 44 69 72 27 5d 29 INI_SCAN_DIR',.$data['scanDir'])
18d000 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ;.}..return.$data;.}.}.<?php....
18d020 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 .......namespace.Composer\Xdebug
18d040 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 0a 7b Handler;.........class.Process.{
18d060 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ...........public.static.functio
18d080 6e 20 61 64 64 43 6f 6c 6f 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 20 24 61 72 67 73 2c 20 24 63 n.addColorOption(array.$args,.$c
18d0a0 6f 6c 6f 72 4f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 0a olorOption).{.if.(!$colorOption.
18d0c0 7c 7c 20 69 6e 5f 61 72 72 61 79 28 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 2c 20 24 61 72 67 73 29 ||.in_array($colorOption,.$args)
18d0e0 0a 7c 7c 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 2d 2d 28 5b 61 2d 7a 5d 2b 24 29 7c 28 .||.!preg_match('/^--([a-z]+$)|(
18d100 5e 2d 2d 5b 61 2d 7a 5d 2b 3d 29 2f 27 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 2c 20 24 6d 61 ^--[a-z]+=)/',.$colorOption,.$ma
18d120 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 69 tches)).{.return.$args;.}..if.(i
18d140 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 sset($matches[2])).{...if.(false
18d160 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 6d 61 74 .!==.($index.=.array_search($mat
18d180 63 68 65 73 5b 32 5d 2e 27 61 75 74 6f 27 2c 20 24 61 72 67 73 29 29 29 20 7b 0a 24 61 72 67 73 ches[2].'auto',.$args))).{.$args
18d1a0 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 72 65 74 75 72 6e 20 [$index].=.$colorOption;.return.
18d1c0 24 61 72 67 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 67 72 65 70 28 27 2f 5e 27 2e $args;.}.elseif.(preg_grep('/^'.
18d1e0 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 2f 27 2c 20 24 61 72 67 73 29 29 20 7b 0a 72 65 74 75 72 $matches[2].'/',.$args)).{.retur
18d200 6e 20 24 61 72 67 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 27 2d n.$args;.}.}.elseif.(in_array('-
18d220 2d 6e 6f 2d 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 61 72 67 73 29 29 20 7b 0a 72 65 74 -no-'.$matches[1],.$args)).{.ret
18d240 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 69 6e urn.$args;.}..if.(false.!==.($in
18d260 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 27 2d 2d 27 2c 20 24 61 72 67 73 29 29 dex.=.array_search('--',.$args))
18d280 29 20 7b 0a 0a 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 61 72 67 73 2c 20 24 69 6e 64 65 78 ).{...array_splice($args,.$index
18d2a0 2c 20 30 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 72 ,.0,.$colorOption);.}.else.{.$ar
18d2c0 67 73 5b 5d 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 gs[].=.$colorOption;.}..return.$
18d2e0 61 72 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 args;.}..............public.stat
18d300 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 61 72 67 2c 20 24 6d 65 74 61 20 3d ic.function.escape($arg,.$meta.=
18d320 20 74 72 75 65 2c 20 24 6d 6f 64 75 6c 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 64 .true,.$module.=.false).{.if.(!d
18d340 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c efined('PHP_WINDOWS_VERSION_BUIL
18d360 44 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 27 D')).{.return."'".str_replace("'
18d380 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 29 2e 22 27 22 3b 0a 7d 0a 0a 24 71 75 6f 74 65 ",."'\\''",.$arg)."'";.}..$quote
18d3a0 20 3d 20 73 74 72 70 62 72 6b 28 24 61 72 67 2c 20 22 20 5c 74 22 29 20 21 3d 3d 20 66 61 6c 73 .=.strpbrk($arg,.".\t").!==.fals
18d3c0 65 20 7c 7c 20 24 61 72 67 20 3d 3d 3d 20 27 27 3b 0a 0a 24 61 72 67 20 3d 20 70 72 65 67 5f 72 e.||.$arg.===.'';..$arg.=.preg_r
18d3e0 65 70 6c 61 63 65 28 27 2f 28 5c 5c 5c 5c 2a 29 22 2f 27 2c 20 27 24 31 24 31 5c 5c 22 27 2c 20 eplace('/(\\\\*)"/',.'$1$1\\"',.
18d400 24 61 72 67 2c 20 2d 31 2c 20 24 64 71 75 6f 74 65 73 29 3b 0a 0a 69 66 20 28 24 6d 65 74 61 29 $arg,.-1,.$dquotes);..if.($meta)
18d420 20 7b 0a 24 6d 65 74 61 20 3d 20 24 64 71 75 6f 74 65 73 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 .{.$meta.=.$dquotes.||.preg_matc
18d440 68 28 27 2f 25 5b 5e 25 5d 2b 25 2f 27 2c 20 24 61 72 67 29 3b 0a 0a 69 66 20 28 21 24 6d 65 74 h('/%[^%]+%/',.$arg);..if.(!$met
18d460 61 29 20 7b 0a 24 71 75 6f 74 65 20 3d 20 24 71 75 6f 74 65 20 7c 7c 20 73 74 72 70 62 72 6b 28 a).{.$quote.=.$quote.||.strpbrk(
18d480 24 61 72 67 2c 20 27 5e 26 7c 3c 3e 28 29 27 29 20 21 3d 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c $arg,.'^&|<>()').!==.false;.}.el
18d4a0 73 65 69 66 20 28 24 6d 6f 64 75 6c 65 20 26 26 20 21 24 64 71 75 6f 74 65 73 20 26 26 20 24 71 seif.($module.&&.!$dquotes.&&.$q
18d4c0 75 6f 74 65 29 20 7b 0a 24 6d 65 74 61 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 uote).{.$meta.=.false;.}.}..if.(
18d4e0 24 71 75 6f 74 65 29 20 7b 0a 24 61 72 67 20 3d 20 27 22 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 $quote).{.$arg.=.'"'.preg_replac
18d500 65 28 27 2f 28 5c 5c 5c 5c 2a 29 24 2f 27 2c 20 27 24 31 24 31 27 2c 20 24 61 72 67 29 2e 27 22 e('/(\\\\*)$/',.'$1$1',.$arg).'"
18d520 27 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 74 61 29 20 7b 0a 24 61 72 67 20 3d 20 70 72 65 67 5f 72 ';.}..if.($meta).{.$arg.=.preg_r
18d540 65 70 6c 61 63 65 28 27 2f 28 5b 22 5e 26 7c 3c 3e 28 29 25 5d 29 2f 27 2c 20 27 5e 24 31 27 2c eplace('/(["^&|<>()%])/',.'^$1',
18d560 20 24 61 72 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .$arg);.}..return.$arg;.}.......
18d580 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 .....public.static.function.supp
18d5a0 6f 72 74 73 43 6f 6c 6f 72 28 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 ortsColor($output).{.if.(defined
18d5c0 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b ('PHP_WINDOWS_VERSION_BUILD')).{
18d5e0 0a 72 65 74 75 72 6e 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 61 70 69 5f 77 .return.(function_exists('sapi_w
18d600 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 27 29 0a 26 26 20 73 61 70 69 5f 77 indows_vt100_support').&&.sapi_w
18d620 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 28 24 6f 75 74 70 75 74 29 29 0a 7c indows_vt100_support($output)).|
18d640 7c 20 66 61 6c 73 65 20 21 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 0a 7c 7c |.false.!==.getenv('ANSICON').||
18d660 20 27 4f 4e 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d 75 41 4e 53 49 27 29 0a 7c .'ON'.===.getenv('ConEmuANSI').|
18d680 7c 20 27 78 74 65 72 6d 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 27 29 3b 0a 7d 0a |.'xterm'.===.getenv('TERM');.}.
18d6a0 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 74 72 65 61 6d 5f 69 73 61 .if.(function_exists('stream_isa
18d6c0 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 65 61 6d 5f 69 73 61 74 74 79 28 24 6f tty')).{.return.stream_isatty($o
18d6e0 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 utput);.}.elseif.(function_exist
18d700 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 6f 73 69 s('posix_isatty')).{.return.posi
18d720 78 5f 69 73 61 74 74 79 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 73 74 61 74 20 3d 20 66 73 x_isatty($output);.}..$stat.=.fs
18d740 74 61 74 28 24 6f 75 74 70 75 74 29 3b 0a 0a 20 72 65 74 75 72 6e 20 24 73 74 61 74 20 3f 20 30 tat($output);...return.$stat.?.0
18d760 30 32 30 30 30 30 20 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 27 5d 20 26 20 30 31 37 30 020000.===.($stat['mode'].&.0170
18d780 30 30 30 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 000).:.false;.}..........public.
18d7a0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 24 6e 61 6d 65 2c 20 24 76 static.function.setEnv($name,.$v
18d7c0 61 6c 75 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 6e 73 65 74 20 3d 20 66 61 6c 73 65 20 3d alue.=.false).{.$unset.=.false.=
18d7e0 3d 3d 20 24 76 61 6c 75 65 3b 0a 0a 69 66 20 28 21 70 75 74 65 6e 76 28 24 75 6e 73 65 74 20 3f ==.$value;..if.(!putenv($unset.?
18d800 20 24 6e 61 6d 65 20 3a 20 24 6e 61 6d 65 2e 27 3d 27 2e 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 .$name.:.$name.'='.$value)).{.re
18d820 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 75 6e 73 65 74 29 20 7b 0a 75 6e 73 turn.false;.}..if.($unset).{.uns
18d840 65 74 28 24 5f 53 45 52 56 45 52 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 5f et($_SERVER[$name]);.}.else.{.$_
18d860 53 45 52 56 45 52 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 72 65 74 75 72 6e SERVER[$name].=.$value;.}.return
18d880 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 .true;.}.}.<?php...........names
18d8a0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 pace.Composer\XdebugHandler;..us
18d8c0 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 e.Psr\Log\LoggerInterface;.use.P
18d8e0 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 sr\Log\LogLevel;......class.Stat
18d900 75 73 0a 7b 0a 63 6f 6e 73 74 20 45 4e 56 5f 52 45 53 54 41 52 54 20 3d 20 27 58 44 45 42 55 47 us.{.const.ENV_RESTART.=.'XDEBUG
18d920 5f 48 41 4e 44 4c 45 52 5f 52 45 53 54 41 52 54 27 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 20 3d _HANDLER_RESTART';.const.CHECK.=
18d940 20 27 43 68 65 63 6b 27 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 45 72 72 6f 72 27 3b .'Check';.const.ERROR.=.'Error';
18d960 0a 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 49 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 4e 4f 52 45 .const.INFO.=.'Info';.const.NORE
18d980 53 54 41 52 54 20 3d 20 27 4e 6f 52 65 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 START.=.'NoRestart';.const.RESTA
18d9a0 52 54 20 3d 20 27 52 65 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 49 4e 47 RT.=.'Restart';.const.RESTARTING
18d9c0 20 3d 20 27 52 65 73 74 61 72 74 69 6e 67 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 45 44 .=.'Restarting';.const.RESTARTED
18d9e0 20 3d 20 27 52 65 73 74 61 72 74 65 64 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b .=.'Restarted';..private.$debug;
18da00 0a 70 72 69 76 61 74 65 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 .private.$envAllowXdebug;.privat
18da20 65 20 24 6c 6f 61 64 65 64 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 3b 0a 70 72 69 76 e.$loaded;.private.$logger;.priv
18da40 61 74 65 20 24 74 69 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ate.$time;........public.functio
18da60 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2c 20 24 n.__construct($envAllowXdebug,.$
18da80 64 65 62 75 67 29 0a 7b 0a 24 73 74 61 72 74 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 45 debug).{.$start.=.getenv(self::E
18daa0 4e 56 5f 52 45 53 54 41 52 54 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c NV_RESTART);.Process::setEnv(sel
18dac0 66 3a 3a 45 4e 56 5f 52 45 53 54 41 52 54 29 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 20 3d 20 24 f::ENV_RESTART);.$this->time.=.$
18dae0 73 74 61 72 74 20 3f 20 72 6f 75 6e 64 28 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d start.?.round((microtime(true).-
18db00 20 24 73 74 61 72 74 29 20 2a 20 31 30 30 30 29 20 3a 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e .$start).*.1000).:.0;..$this->en
18db20 76 41 6c 6c 6f 77 58 64 65 62 75 67 20 3d 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a vAllowXdebug.=.$envAllowXdebug;.
18db40 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 $this->debug.=.$debug;.}.....pub
18db60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 lic.function.setLogger(LoggerInt
18db80 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 erface.$logger).{.$this->logger.
18dba0 3d 20 24 6c 6f 67 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 =.$logger;.}........public.funct
18dbc0 69 6f 6e 20 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 24 74 68 ion.report($op,.$data).{.if.($th
18dbe0 69 73 2d 3e 6c 6f 67 67 65 72 20 7c 7c 20 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 63 61 is->logger.||.$this->debug).{.ca
18dc00 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 70 6f 72 ll_user_func(array($this,.'repor
18dc20 74 27 2e 24 6f 70 29 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 t'.$op),.$data);.}.}........priv
18dc40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 28 24 74 65 78 74 2c 20 24 6c 65 76 65 ate.function.output($text,.$leve
18dc60 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 29 20 7b l.=.null).{.if.($this->logger).{
18dc80 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 6c 65 76 65 6c 20 3f 3a 20 4c 6f .$this->logger->log($level.?:.Lo
18dca0 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 gLevel::DEBUG,.$text);.}..if.($t
18dcc0 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 70 72 69 6e 74 66 28 27 78 64 65 62 75 67 2d 68 61 6e his->debug).{.printf('xdebug-han
18dce0 64 6c 65 72 5b 25 64 5d 20 25 73 25 73 27 2c 20 67 65 74 6d 79 70 69 64 28 29 2c 20 24 74 65 78 dler[%d].%s%s',.getmypid(),.$tex
18dd00 74 2c 20 50 48 50 5f 45 4f 4c 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 t,.PHP_EOL);.}.}..private.functi
18dd20 6f 6e 20 72 65 70 6f 72 74 43 68 65 63 6b 28 24 6c 6f 61 64 65 64 29 0a 7b 0a 24 74 68 69 73 2d on.reportCheck($loaded).{.$this-
18dd40 3e 6c 6f 61 64 65 64 20 3d 20 24 6c 6f 61 64 65 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 >loaded.=.$loaded;.$this->output
18dd60 28 27 43 68 65 63 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 ('Checking.'.$this->envAllowXdeb
18dd80 75 67 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 45 ug);.}..private.function.reportE
18dda0 72 72 6f 72 28 24 65 72 72 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 73 70 72 rror($error).{.$this->output(spr
18ddc0 69 6e 74 66 28 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 65 72 72 6f 72 29 2c intf('No.restart.(%s)',.$error),
18dde0 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 .LogLevel::WARNING);.}..private.
18de00 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 49 6e 66 6f 28 24 69 6e 66 6f 29 0a 7b 0a 24 74 68 function.reportInfo($info).{.$th
18de20 69 73 2d 3e 6f 75 74 70 75 74 28 24 69 6e 66 6f 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 is->output($info);.}..private.fu
18de40 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 4e 6f 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 74 68 69 73 nction.reportNoRestart().{.$this
18de60 2d 3e 6f 75 74 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 ->output($this->getLoadedMessage
18de80 28 29 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 24 74 65 78 74 ());..if.($this->loaded).{.$text
18dea0 20 3d 20 73 70 72 69 6e 74 66 28 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 74 .=.sprintf('No.restart.(%s)',.$t
18dec0 68 69 73 2d 3e 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 69 66 20 28 21 67 65 74 65 6e 76 his->getEnvAllow());.if.(!getenv
18dee0 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 20 7b 0a 24 74 65 78 74 ($this->envAllowXdebug)).{.$text
18df00 20 2e 3d 20 27 20 41 6c 6c 6f 77 65 64 20 62 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 3b 0a 7d ..=.'.Allowed.by.application';.}
18df20 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 .$this->output($text);.}.}..priv
18df40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 ate.function.reportRestart().{.$
18df60 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 this->output($this->getLoadedMes
18df80 73 61 67 65 28 29 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c 66 3a 3a 45 sage());.Process::setEnv(self::E
18dfa0 4e 56 5f 52 45 53 54 41 52 54 2c 20 28 73 74 72 69 6e 67 29 20 6d 69 63 72 6f 74 69 6d 65 28 74 NV_RESTART,.(string).microtime(t
18dfc0 72 75 65 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 rue));.}..private.function.repor
18dfe0 74 52 65 73 74 61 72 74 65 64 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 24 74 68 69 73 2d 3e tRestarted().{.$loaded.=.$this->
18e000 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 getLoadedMessage();.$text.=.spri
18e020 6e 74 66 28 27 52 65 73 74 61 72 74 65 64 20 28 25 64 20 6d 73 29 2e 20 25 73 27 2c 20 24 74 68 ntf('Restarted.(%d.ms)..%s',.$th
18e040 69 73 2d 3e 74 69 6d 65 2c 20 24 6c 6f 61 64 65 64 29 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 is->time,.$loaded);.$level.=.$th
18e060 69 73 2d 3e 6c 6f 61 64 65 64 20 3f 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3a is->loaded.?.LogLevel::WARNING.:
18e080 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 2c 20 24 6c 65 76 .null;.$this->output($text,.$lev
18e0a0 65 6c 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 el);.}..private.function.reportR
18e0c0 65 73 74 61 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 70 estarting($command).{.$text.=.sp
18e0e0 72 69 6e 74 66 28 27 50 72 6f 63 65 73 73 20 72 65 73 74 61 72 74 69 6e 67 20 28 25 73 29 27 2c rintf('Process.restarting.(%s)',
18e100 20 24 74 68 69 73 2d 3e 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 24 74 68 69 73 2d 3e 6f .$this->getEnvAllow());.$this->o
18e120 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 3d 20 27 52 75 6e 6e 69 6e 67 20 27 utput($text);.$text.=.'Running.'
18e140 2e 24 63 6f 6d 6d 61 6e 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b .$command;.$this->output($text);
18e160 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 .}.......private.function.getEnv
18e180 41 6c 6c 6f 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 Allow().{.return.$this->envAllow
18e1a0 58 64 65 62 75 67 2e 27 3d 27 2e 67 65 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f Xdebug.'='.getenv($this->envAllo
18e1c0 77 58 64 65 62 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 wXdebug);.}.......private.functi
18e1e0 6f 6e 20 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 on.getLoadedMessage().{.$loaded.
18e200 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 20 3f 20 73 70 72 69 6e 74 66 28 27 6c 6f 61 64 65 =.$this->loaded.?.sprintf('loade
18e220 64 20 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 3a 20 27 6e 6f 74 20 6c d.(%s)',.$this->loaded).:.'not.l
18e240 6f 61 64 65 64 27 3b 0a 72 65 74 75 72 6e 20 27 54 68 65 20 78 64 65 62 75 67 20 65 78 74 65 6e oaded';.return.'The.xdebug.exten
18e260 73 69 6f 6e 20 69 73 20 27 2e 24 6c 6f 61 64 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a sion.is.'.$loaded;.}.}.<?php....
18e280 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 .......namespace.Composer\Xdebug
18e2a0 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 Handler;..use.Psr\Log\LoggerInte
18e2c0 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 0a 7b rface;.....class.XdebugHandler.{
18e2e0 0a 63 6f 6e 73 74 20 53 55 46 46 49 58 5f 41 4c 4c 4f 57 20 3d 20 27 5f 41 4c 4c 4f 57 5f 58 44 .const.SUFFIX_ALLOW.=.'_ALLOW_XD
18e300 45 42 55 47 27 3b 0a 63 6f 6e 73 74 20 53 55 46 46 49 58 5f 49 4e 49 53 20 3d 20 27 5f 4f 52 49 EBUG';.const.SUFFIX_INIS.=.'_ORI
18e320 47 49 4e 41 4c 5f 49 4e 49 53 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 49 44 20 3d 20 GINAL_INIS';.const.RESTART_ID.=.
18e340 27 69 6e 74 65 72 6e 61 6c 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 'internal';.const.RESTART_SETTIN
18e360 47 53 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 53 45 54 54 49 4e 47 53 27 3b 0a GS.=.'XDEBUG_HANDLER_SETTINGS';.
18e380 63 6f 6e 73 74 20 44 45 42 55 47 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 44 45 const.DEBUG.=.'XDEBUG_HANDLER_DE
18e3a0 42 55 47 27 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 6d 70 49 6e 69 3b 0a 0a 70 72 69 76 BUG';...protected.$tmpIni;..priv
18e3c0 61 74 65 20 73 74 61 74 69 63 20 24 69 6e 52 65 73 74 61 72 74 3b 0a 70 72 69 76 61 74 65 20 73 ate.static.$inRestart;.private.s
18e3e0 74 61 74 69 63 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 6b 69 tatic.$name;.private.static.$ski
18e400 70 70 65 64 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6c 69 3b 0a 70 72 69 76 61 74 65 20 24 63 6f pped;..private.$cli;.private.$co
18e420 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 lorOption;.private.$debug;.priva
18e440 74 65 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 te.$envAllowXdebug;.private.$env
18e460 4f 72 69 67 69 6e 61 6c 49 6e 69 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 64 3b 0a 70 OriginalInis;.private.$loaded;.p
18e480 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 rivate.$script;..private.$status
18e4a0 57 72 69 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 Writer;.............public.funct
18e4c0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 6e 76 50 72 65 66 69 78 2c 20 24 63 6f 6c ion.__construct($envPrefix,.$col
18e4e0 6f 72 4f 70 74 69 6f 6e 20 3d 20 27 27 29 0a 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 orOption.=.'').{.if.(!is_string(
18e500 24 65 6e 76 50 72 65 66 69 78 29 20 7c 7c 20 65 6d 70 74 79 28 24 65 6e 76 50 72 65 66 69 78 29 $envPrefix).||.empty($envPrefix)
18e520 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 29 20 7b 0a .||.!is_string($colorOption)).{.
18e540 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 throw.new.\RuntimeException('Inv
18e560 61 6c 69 64 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 70 61 72 61 6d 65 74 65 72 27 29 3b 0a 7d 0a alid.constructor.parameter');.}.
18e580 0a 73 65 6c 66 3a 3a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 24 65 6e 76 50 72 .self::$name.=.strtoupper($envPr
18e5a0 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 20 3d 20 73 efix);.$this->envAllowXdebug.=.s
18e5c0 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 5f 41 4c 4c 4f 57 3b 0a 24 elf::$name.self::SUFFIX_ALLOW;.$
18e5e0 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 20 3d 20 73 65 6c 66 3a 3a 24 6e this->envOriginalInis.=.self::$n
18e600 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 5f 49 4e 49 53 3b 0a 0a 24 74 68 69 73 2d 3e 63 ame.self::SUFFIX_INIS;..$this->c
18e620 6f 6c 6f 72 4f 70 74 69 6f 6e 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 olorOption.=.$colorOption;..if.(
18e640 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 24 65 extension_loaded('xdebug')).{.$e
18e660 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 78 xt.=.new.\ReflectionExtension('x
18e680 64 65 62 75 67 27 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 20 3d 20 24 65 78 74 2d 3e 67 debug');.$this->loaded.=.$ext->g
18e6a0 65 74 56 65 72 73 69 6f 6e 28 29 20 3f 3a 20 27 75 6e 6b 6e 6f 77 6e 27 3b 0a 7d 0a 0a 69 66 20 etVersion().?:.'unknown';.}..if.
18e6c0 28 24 74 68 69 73 2d 3e 63 6c 69 20 3d 20 50 48 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 ($this->cli.=.PHP_SAPI.===.'cli'
18e6e0 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a ).{.$this->debug.=.getenv(self::
18e700 44 45 42 55 47 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 57 72 69 74 65 72 20 3d DEBUG);.}..$this->statusWriter.=
18e720 20 6e 65 77 20 53 74 61 74 75 73 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 .new.Status($this->envAllowXdebu
18e740 67 2c 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 64 65 62 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a g,.(bool).$this->debug);.}......
18e760 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 ...public.function.setLogger(Log
18e780 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 gerInterface.$logger).{.$this->s
18e7a0 74 61 74 75 73 57 72 69 74 65 72 2d 3e 73 65 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 29 3b tatusWriter->setLogger($logger);
18e7c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
18e7e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 69 6e 53 63 72 69 70 74 28 24 73 63 72 69 70 74 29 0a function.setMainScript($script).
18e800 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 73 63 72 69 70 74 3b 0a 72 65 74 75 72 {.$this->script.=.$script;.retur
18e820 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this;.}.........public.functi
18e840 6f 6e 20 63 68 65 63 6b 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 on.check().{.$this->notify(Statu
18e860 73 3a 3a 43 48 45 43 4b 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 3b 0a 24 65 6e 76 41 72 s::CHECK,.$this->loaded);.$envAr
18e880 67 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 74 65 6e gs.=.explode('|',.(string).geten
18e8a0 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 3b 0a 0a 69 66 20 28 v($this->envAllowXdebug));..if.(
18e8c0 65 6d 70 74 79 28 24 65 6e 76 41 72 67 73 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 71 empty($envArgs[0]).&&.$this->req
18e8e0 75 69 72 65 73 52 65 73 74 61 72 74 28 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 uiresRestart((bool).$this->loade
18e900 64 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 52 45 d)).{...$this->notify(Status::RE
18e920 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 52 65 73 74 61 START);..if.($this->prepareResta
18e940 72 74 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d rt()).{.$command.=.$this->getCom
18e960 6d 61 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 52 45 mand();.$this->notify(Status::RE
18e980 53 54 41 52 54 49 4e 47 2c 20 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 72 65 73 74 STARTING,.$command);.$this->rest
18e9a0 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 art($command);.}.return;.}..if.(
18e9c0 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 49 44 20 3d 3d 3d 20 24 65 6e 76 41 72 67 73 5b 30 5d self::RESTART_ID.===.$envArgs[0]
18e9e0 20 26 26 20 63 6f 75 6e 74 28 24 65 6e 76 41 72 67 73 29 20 3d 3d 3d 20 35 29 20 7b 0a 0a 20 24 .&&.count($envArgs).===.5).{...$
18ea00 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 52 45 53 54 41 52 54 45 44 29 3b this->notify(Status::RESTARTED);
18ea20 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f ..Process::setEnv($this->envAllo
18ea40 77 58 64 65 62 75 67 29 3b 0a 73 65 6c 66 3a 3a 24 69 6e 52 65 73 74 61 72 74 20 3d 20 74 72 75 wXdebug);.self::$inRestart.=.tru
18ea60 65 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 0a 20 73 65 6c 66 e;..if.(!$this->loaded).{...self
18ea80 3a 3a 24 73 6b 69 70 70 65 64 20 3d 20 24 65 6e 76 41 72 67 73 5b 31 5d 3b 0a 7d 0a 0a 0a 20 24 ::$skipped.=.$envArgs[1];.}....$
18eaa0 74 68 69 73 2d 3e 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 24 65 6e 76 this->setEnvRestartSettings($env
18eac0 41 72 67 73 29 3b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 Args);.return;.}..$this->notify(
18eae0 53 74 61 74 75 73 3a 3a 4e 4f 52 45 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 73 65 74 74 69 6e Status::NORESTART);..if.($settin
18eb00 67 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 29 gs.=.self::getRestartSettings())
18eb20 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 79 6e 63 53 65 74 74 69 6e 67 73 28 24 73 65 74 74 69 6e .{...$this->syncSettings($settin
18eb40 67 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 gs);.}.}..........public.static.
18eb60 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 0a 7b 0a 69 66 20 28 function.getAllIniFiles().{.if.(
18eb80 21 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 29 29 20 7b 0a 24 65 6e 76 20 3d 20 67 65 !empty(self::$name)).{.$env.=.ge
18eba0 74 65 6e 76 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 5f 49 4e tenv(self::$name.self::SUFFIX_IN
18ebc0 49 53 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 65 6e 76 29 20 7b 0a 72 65 74 75 IS);..if.(false.!==.$env).{.retu
18ebe0 72 6e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 65 6e 76 29 rn.explode(PATH_SEPARATOR,.$env)
18ec00 3b 0a 7d 0a 7d 0a 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 28 73 74 72 69 6e 67 29 20 70 ;.}.}..$paths.=.array((string).p
18ec20 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 29 3b 0a 0a 69 66 20 28 24 73 63 61 hp_ini_loaded_file());..if.($sca
18ec40 6e 6e 65 64 20 3d 20 70 68 70 5f 69 6e 69 5f 73 63 61 6e 6e 65 64 5f 66 69 6c 65 73 28 29 29 20 nned.=.php_ini_scanned_files()).
18ec60 7b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 74 68 73 2c 20 61 {.$paths.=.array_merge($paths,.a
18ec80 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 73 rray_map('trim',.explode(',',.$s
18eca0 63 61 6e 6e 65 64 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 73 3b 0a 7d 0a 0a canned)));.}..return.$paths;.}..
18ecc0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ........public.static.function.g
18ece0 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 0a 7b 0a 24 65 6e 76 41 72 67 73 20 3d etRestartSettings().{.$envArgs.=
18ed00 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 74 65 6e 76 28 73 65 .explode('|',.(string).getenv(se
18ed20 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 29 29 3b 0a 0a 69 66 20 28 63 6f 75 lf::RESTART_SETTINGS));..if.(cou
18ed40 6e 74 28 24 65 6e 76 41 72 67 73 29 20 21 3d 3d 20 36 0a 7c 7c 20 28 21 73 65 6c 66 3a 3a 24 69 nt($envArgs).!==.6.||.(!self::$i
18ed60 6e 52 65 73 74 61 72 74 20 26 26 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 nRestart.&&.php_ini_loaded_file(
18ed80 29 20 21 3d 3d 20 24 65 6e 76 41 72 67 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a ).!==.$envArgs[0])).{.return;.}.
18eda0 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 74 6d 70 49 6e 69 27 20 3d 3e 20 24 65 6e 76 41 .return.array(.'tmpIni'.=>.$envA
18edc0 72 67 73 5b 30 5d 2c 0a 27 73 63 61 6e 6e 65 64 49 6e 69 73 27 20 3d 3e 20 28 62 6f 6f 6c 29 20 rgs[0],.'scannedInis'.=>.(bool).
18ede0 24 65 6e 76 41 72 67 73 5b 31 5d 2c 0a 27 73 63 61 6e 44 69 72 27 20 3d 3e 20 27 2a 27 20 3d 3d $envArgs[1],.'scanDir'.=>.'*'.==
18ee00 3d 20 24 65 6e 76 41 72 67 73 5b 32 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 72 67 73 =.$envArgs[2].?.false.:.$envArgs
18ee20 5b 32 5d 2c 0a 27 70 68 70 72 63 27 20 3d 3e 20 27 2a 27 20 3d 3d 3d 20 24 65 6e 76 41 72 67 73 [2],.'phprc'.=>.'*'.===.$envArgs
18ee40 5b 33 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 27 69 6e 69 73 [3].?.false.:.$envArgs[3],.'inis
18ee60 27 20 3d 3e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 65 6e '.=>.explode(PATH_SEPARATOR,.$en
18ee80 76 41 72 67 73 5b 34 5d 29 2c 0a 27 73 6b 69 70 70 65 64 27 20 3d 3e 20 24 65 6e 76 41 72 67 73 vArgs[4]),.'skipped'.=>.$envArgs
18eea0 5b 35 5d 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 [5],.);.}.......public.static.fu
18eec0 6e 63 74 69 6f 6e 20 67 65 74 53 6b 69 70 70 65 64 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 nction.getSkippedVersion().{.ret
18eee0 75 72 6e 20 28 73 74 72 69 6e 67 29 20 73 65 6c 66 3a 3a 24 73 6b 69 70 70 65 64 3b 0a 7d 0a 0a urn.(string).self::$skipped;.}..
18ef00 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 .......protected.function.requir
18ef20 65 73 52 65 73 74 61 72 74 28 24 69 73 4c 6f 61 64 65 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 69 esRestart($isLoaded).{.return.$i
18ef40 73 4c 6f 61 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 sLoaded;.}.......protected.funct
18ef60 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 ion.restart($command).{.$this->d
18ef80 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 oRestart($command);.}.......priv
18efa0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 ate.function.doRestart($command)
18efc0 0a 7b 0a 70 61 73 73 74 68 72 75 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 65 78 69 74 43 6f 64 65 29 .{.passthru($command,.$exitCode)
18efe0 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 27 52 ;.$this->notify(Status::INFO,.'R
18f000 65 73 74 61 72 74 65 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 65 64 20 27 2e 24 65 78 69 74 43 estarted.process.exited.'.$exitC
18f020 6f 64 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 3d 3d 20 27 32 27 29 ode);..if.($this->debug.===.'2')
18f040 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 27 .{.$this->notify(Status::INFO,.'
18f060 54 65 6d 70 20 69 6e 69 20 73 61 76 65 64 3a 20 27 2e 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 29 Temp.ini.saved:.'.$this->tmpIni)
18f080 3b 0a 7d 20 65 6c 73 65 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 ;.}.else.{.@unlink($this->tmpIni
18f0a0 29 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a );.}..exit($exitCode);.}........
18f0c0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65 52 65 73 74 ....private.function.prepareRest
18f0e0 61 72 74 28 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 27 27 3b 0a 24 69 6e 69 46 69 6c 65 73 20 3d art().{.$error.=.'';.$iniFiles.=
18f100 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 3b 0a 24 73 63 61 6e 6e 65 .self::getAllIniFiles();.$scanne
18f120 64 49 6e 69 73 20 3d 20 63 6f 75 6e 74 28 24 69 6e 69 46 69 6c 65 73 29 20 3e 20 31 3b 0a 0a 69 dInis.=.count($iniFiles).>.1;..i
18f140 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 69 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 73 75 f.(!$this->cli).{.$error.=.'Unsu
18f160 70 70 6f 72 74 65 64 20 53 41 50 49 3a 20 27 2e 50 48 50 5f 53 41 50 49 3b 0a 7d 20 65 6c 73 65 pported.SAPI:.'.PHP_SAPI;.}.else
18f180 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 65 if.(!defined('PHP_BINARY')).{.$e
18f1a0 72 72 6f 72 20 3d 20 27 50 48 50 20 76 65 72 73 69 6f 6e 20 69 73 20 74 6f 6f 20 6f 6c 64 3a 20 rror.=.'PHP.version.is.too.old:.
18f1c0 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d '.PHP_VERSION;.}.elseif.(!$this-
18f1e0 3e 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 >checkMainScript()).{.$error.=.'
18f200 55 6e 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 20 6d 61 69 6e 20 73 63 72 69 70 74 3a 20 27 2e Unable.to.access.main.script:.'.
18f220 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d $this->script;.}.elseif.(!$this-
18f240 3e 77 72 69 74 65 54 6d 70 49 6e 69 28 24 69 6e 69 46 69 6c 65 73 29 29 20 7b 0a 24 65 72 72 6f >writeTmpIni($iniFiles)).{.$erro
18f260 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 74 65 6d 70 6f 72 61 72 79 20 r.=.'Unable.to.create.temporary.
18f280 69 6e 69 20 66 69 6c 65 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 73 65 74 ini.file';.}.elseif.(!$this->set
18f2a0 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 20 24 69 6e 69 46 69 Environment($scannedInis,.$iniFi
18f2c0 6c 65 73 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 73 65 74 20 les)).{.$error.=.'Unable.to.set.
18f2e0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 27 3b 0a 7d 0a 0a 69 66 20 28 24 environment.variables';.}..if.($
18f300 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 45 error).{.$this->notify(Status::E
18f320 52 52 4f 52 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 RROR,.$error);.}..return.empty($
18f340 65 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 error);.}.........private.functi
18f360 6f 6e 20 77 72 69 74 65 54 6d 70 49 6e 69 28 61 72 72 61 79 20 24 69 6e 69 46 69 6c 65 73 29 0a on.writeTmpIni(array.$iniFiles).
18f380 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 20 3d 20 74 65 6d 70 6e 61 6d 28 73 {.if.(!$this->tmpIni.=.tempnam(s
18f3a0 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2c 20 27 27 29 29 20 7b 0a 72 65 74 75 72 6e ys_get_temp_dir(),.'')).{.return
18f3c0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 46 69 6c 65 73 .false;.}....if.(empty($iniFiles
18f3e0 5b 30 5d 29 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 69 6e 69 46 69 6c 65 73 29 3b 0a [0])).{.array_shift($iniFiles);.
18f400 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 27 27 3b 0a 24 72 65 67 65 78 20 3d 20 27 2f 5e 5c 73 }..$content.=.'';.$regex.=.'/^\s
18f420 2a 28 7a 65 6e 64 5f 65 78 74 65 6e 73 69 6f 6e 5c 73 2a 3d 2e 2a 78 64 65 62 75 67 2e 2a 29 24 *(zend_extension\s*=.*xdebug.*)$
18f440 2f 6d 69 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 69 46 69 6c 65 73 20 61 73 20 24 66 69 /mi';..foreach.($iniFiles.as.$fi
18f460 6c 65 29 20 7b 0a 24 64 61 74 61 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 24 72 65 67 65 le).{.$data.=.preg_replace($rege
18f480 78 2c 20 27 3b 24 31 27 2c 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c x,.';$1',.file_get_contents($fil
18f4a0 65 29 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 64 61 74 61 2e 50 48 50 5f 45 4f 4c 3b 0a e));.$content..=.$data.PHP_EOL;.
18f4c0 7d 0a 0a 0a 20 69 66 20 28 24 63 6f 6e 66 69 67 20 3d 20 70 61 72 73 65 5f 69 6e 69 5f 73 74 72 }....if.($config.=.parse_ini_str
18f4e0 69 6e 67 28 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 69 6e 69 5f 67 ing($content)).{.$loaded.=.ini_g
18f500 65 74 5f 61 6c 6c 28 6e 75 6c 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d et_all(null,.false);.$content..=
18f520 20 24 74 68 69 73 2d 3e 6d 65 72 67 65 4c 6f 61 64 65 64 43 6f 6e 66 69 67 28 24 6c 6f 61 64 65 .$this->mergeLoadedConfig($loade
18f540 64 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 27 6f d,.$config);.}....$content..=.'o
18f560 70 63 61 63 68 65 2e 65 6e 61 62 6c 65 5f 63 6c 69 3d 30 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 72 pcache.enable_cli=0'.PHP_EOL;..r
18f580 65 74 75 72 6e 20 40 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e eturn.@file_put_contents($this->
18f5a0 74 6d 70 49 6e 69 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 tmpIni,.$content);.}.......priva
18f5c0 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 24 61 72 67 73 te.function.getCommand().{.$args
18f5e0 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 2c .=.array_slice($_SERVER['argv'],
18f600 20 31 29 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 53 54 44 4f 55 54 27 29 20 26 26 20 50 .1);..if.(defined('STDOUT').&&.P
18f620 72 6f 63 65 73 73 3a 3a 73 75 70 70 6f 72 74 73 43 6f 6c 6f 72 28 53 54 44 4f 55 54 29 29 20 7b rocess::supportsColor(STDOUT)).{
18f640 0a 24 61 72 67 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 61 64 64 43 6f 6c 6f 72 4f 70 74 69 6f 6e .$args.=.Process::addColorOption
18f660 28 24 61 72 67 73 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a ($args,.$this->colorOption);.}..
18f680 24 65 78 65 63 75 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 50 48 50 5f 42 49 4e 41 52 59 2c 20 $executable.=.array(PHP_BINARY,.
18f6a0 27 2d 6e 27 2c 20 27 2d 63 27 2c 20 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 2c 20 24 74 68 69 73 '-n',.'-c',.$this->tmpIni,.$this
18f6c0 2d 3e 73 63 72 69 70 74 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 ->script);.$args.=.array_merge($
18f6e0 65 78 65 63 75 74 61 62 6c 65 2c 20 24 61 72 67 73 29 3b 0a 0a 24 63 6d 64 20 3d 20 50 72 6f 63 executable,.$args);..$cmd.=.Proc
18f700 65 73 73 3a 3a 65 73 63 61 70 65 28 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 67 73 29 2c 20 ess::escape(array_shift($args),.
18f720 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 20 61 73 20 24 true,.true);.foreach.($args.as.$
18f740 61 72 67 29 20 7b 0a 24 63 6d 64 20 2e 3d 20 27 20 27 2e 50 72 6f 63 65 73 73 3a 3a 65 73 63 61 arg).{.$cmd..=.'.'.Process::esca
18f760 70 65 28 24 61 72 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d 0a 0a 0a 0a 0a pe($arg);.}..return.$cmd;.}.....
18f780 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 69 72 .......private.function.setEnvir
18f7a0 6f 6e 6d 65 6e 74 28 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 20 61 72 72 61 79 20 24 69 6e 69 46 onment($scannedInis,.array.$iniF
18f7c0 69 6c 65 73 29 0a 7b 0a 24 73 63 61 6e 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 49 iles).{.$scanDir.=.getenv('PHP_I
18f7e0 4e 49 5f 53 43 41 4e 5f 44 49 52 27 29 3b 0a 24 70 68 70 72 63 20 3d 20 67 65 74 65 6e 76 28 27 NI_SCAN_DIR');.$phprc.=.getenv('
18f800 50 48 50 52 43 27 29 3b 0a 0a 0a 20 69 66 20 28 21 70 75 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 PHPRC');....if.(!putenv($this->e
18f820 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 2e 27 3d 27 2e 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f nvOriginalInis.'='.implode(PATH_
18f840 53 45 50 41 52 41 54 4f 52 2c 20 24 69 6e 69 46 69 6c 65 73 29 29 29 20 7b 0a 72 65 74 75 72 6e SEPARATOR,.$iniFiles))).{.return
18f860 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 65 6e 76 41 72 67 73 20 3d 20 61 72 72 61 79 28 0a 73 .false;.}....$envArgs.=.array(.s
18f880 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 49 44 2c 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 2c 0a elf::RESTART_ID,.$this->loaded,.
18f8a0 28 69 6e 74 29 20 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 0a 66 61 6c 73 65 20 3d 3d 3d 20 24 73 (int).$scannedInis,.false.===.$s
18f8c0 63 61 6e 44 69 72 20 3f 20 27 2a 27 20 3a 20 24 73 63 61 6e 44 69 72 2c 0a 66 61 6c 73 65 20 3d canDir.?.'*'.:.$scanDir,.false.=
18f8e0 3d 3d 20 24 70 68 70 72 63 20 3f 20 27 2a 27 20 3a 20 24 70 68 70 72 63 2c 0a 29 3b 0a 0a 72 65 ==.$phprc.?.'*'.:.$phprc,.);..re
18f900 74 75 72 6e 20 70 75 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 turn.putenv($this->envAllowXdebu
18f920 67 2e 27 3d 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 65 6e 76 41 72 67 73 29 29 3b 0a 7d g.'='.implode('|',.$envArgs));.}
18f940 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 28 ........private.function.notify(
18f960 24 6f 70 2c 20 24 64 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 $op,.$data.=.null).{.$this->stat
18f980 75 73 57 72 69 74 65 72 2d 3e 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 61 74 61 29 3b 0a 7d 0a usWriter->report($op,.$data);.}.
18f9a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 4c .........private.function.mergeL
18f9c0 6f 61 64 65 64 43 6f 6e 66 69 67 28 61 72 72 61 79 20 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 2c oadedConfig(array.$loadedConfig,
18f9e0 20 61 72 72 61 79 20 24 69 6e 69 43 6f 6e 66 69 67 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 .array.$iniConfig).{.$content.=.
18fa00 27 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 20 61 73 20 24 '';..foreach.($loadedConfig.as.$
18fa20 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 5f 73 74 72 69 name.=>.$value).{...if.(!is_stri
18fa40 6e 67 28 24 76 61 6c 75 65 29 20 7c 7c 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 78 64 65 ng($value).||.strpos($name,.'xde
18fa60 62 75 67 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 bug').===.0).{.continue;.}..if.(
18fa80 21 69 73 73 65 74 28 24 69 6e 69 43 6f 6e 66 69 67 5b 24 6e 61 6d 65 5d 29 20 7c 7c 20 24 69 6e !isset($iniConfig[$name]).||.$in
18faa0 69 43 6f 6e 66 69 67 5b 24 6e 61 6d 65 5d 20 21 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 24 iConfig[$name].!==.$value).{...$
18fac0 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 6e 61 6d 65 2e 27 3d 22 27 2e 61 64 64 63 73 6c 61 73 68 65 content..=.$name.'="'.addcslashe
18fae0 73 28 24 76 61 6c 75 65 2c 20 27 5c 5c 22 27 29 2e 27 22 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a s($value,.'\\"').'"'.PHP_EOL;.}.
18fb00 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 }..return.$content;.}.......priv
18fb20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 0a 7b ate.function.checkMainScript().{
18fb40 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 20 7b 0a 0a .if.(null.!==.$this->script).{..
18fb60 20 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 .return.file_exists($this->scrip
18fb80 74 29 20 7c 7c 20 27 2d 2d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 0a t).||.'--'.===.$this->script;.}.
18fba0 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d .if.(file_exists($this->script.=
18fbc0 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 .$_SERVER['argv'][0])).{.return.
18fbe0 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6f 70 74 69 6f 6e 73 20 3d 20 50 48 50 5f 56 45 52 53 49 4f true;.}....$options.=.PHP_VERSIO
18fc00 4e 5f 49 44 20 3e 3d 20 35 30 33 30 36 20 3f 20 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f N_ID.>=.50306.?.DEBUG_BACKTRACE_
18fc20 49 47 4e 4f 52 45 5f 41 52 47 53 20 3a 20 66 61 6c 73 65 3b 0a 24 74 72 61 63 65 20 3d 20 64 65 IGNORE_ARGS.:.false;.$trace.=.de
18fc40 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 28 24 bug_backtrace($options);..if.(($
18fc60 6d 61 69 6e 20 3d 20 65 6e 64 28 24 74 72 61 63 65 29 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 main.=.end($trace)).&&.isset($ma
18fc80 69 6e 5b 27 66 69 6c 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 in['file'])).{.return.file_exist
18fca0 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 6d 61 69 6e 5b 27 66 69 6c 65 27 5d 29 s($this->script.=.$main['file'])
18fcc0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ;.}..return.false;.}.......priva
18fce0 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 te.function.setEnvRestartSetting
18fd00 73 28 24 65 6e 76 41 72 67 73 29 0a 7b 0a 24 73 65 74 74 69 6e 67 73 20 3d 20 61 72 72 61 79 28 s($envArgs).{.$settings.=.array(
18fd20 0a 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 2c 0a 24 65 6e 76 41 72 67 73 .php_ini_loaded_file(),.$envArgs
18fd40 5b 32 5d 2c 0a 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 24 65 6e 76 41 72 67 73 5b 34 5d 2c 0a 67 [2],.$envArgs[3],.$envArgs[4],.g
18fd60 65 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 2c 0a 73 etenv($this->envOriginalInis),.s
18fd80 65 6c 66 3a 3a 24 73 6b 69 70 70 65 64 2c 0a 29 3b 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 elf::$skipped,.);..Process::setE
18fda0 6e 76 28 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 2c 20 69 6d 70 6c 6f nv(self::RESTART_SETTINGS,.implo
18fdc0 64 65 28 27 7c 27 2c 20 24 73 65 74 74 69 6e 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 de('|',.$settings));.}.......pri
18fde0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 53 65 74 74 69 6e 67 73 28 61 72 72 61 79 vate.function.syncSettings(array
18fe00 20 24 73 65 74 74 69 6e 67 73 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 67 65 74 65 .$settings).{.if.(false.===.gete
18fe20 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 29 20 7b 0a 0a 20 nv($this->envOriginalInis)).{...
18fe40 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e Process::setEnv($this->envOrigin
18fe60 61 6c 49 6e 69 73 2c 20 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 alInis,.implode(PATH_SEPARATOR,.
18fe80 24 73 65 74 74 69 6e 67 73 5b 27 69 6e 69 73 27 5d 29 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 $settings['inis']));.}..self::$s
18fea0 6b 69 70 70 65 64 20 3d 20 24 73 65 74 74 69 6e 67 73 5b 27 73 6b 69 70 70 65 64 27 5d 3b 0a 24 kipped.=.$settings['skipped'];.$
18fec0 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 27 50 72 6f 63 this->notify(Status::INFO,.'Proc
18fee0 65 73 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 72 65 73 74 61 72 74 ess.called.with.existing.restart
18ff00 20 73 65 74 74 69 6e 67 73 27 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 .settings');.}.}.Copyright.(c).2
18ff20 30 31 32 20 50 48 50 20 46 72 61 6d 65 77 6f 72 6b 20 49 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 012.PHP.Framework.Interoperabili
18ff40 74 79 20 47 72 6f 75 70 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 ty.Group..Permission.is.hereby.g
18ff60 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 ranted,.free.of.charge,.to.any.p
18ff80 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 20 0a 6f 66 20 74 68 69 73 20 erson.obtaining.a.copy..of.this.
18ffa0 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 software.and.associated.document
18ffc0 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f ation.files.(the."Software"),.to
18ffe0 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 .deal.in.the.Software.without.re
190000 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d striction,.including.without.lim
190020 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 itation.the.rights..to.use,.copy
190040 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 ,.modify,.merge,.publish,.distri
190060 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 0a 63 bute,.sublicense,.and/or.sell..c
190080 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 opies.of.the.Software,.and.to.pe
1900a0 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 rmit.persons.to.whom.the.Softwar
1900c0 65 20 69 73 20 0a 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 e.is..furnished.to.do.so,.subjec
1900e0 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a t.to.the.following.conditions:..
190100 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 The.above.copyright.notice.and.t
190120 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 his.permission.notice.shall.be.i
190140 6e 63 6c 75 64 65 64 20 69 6e 20 0a 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 ncluded.in..all.copies.or.substa
190160 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a ntial.portions.of.the.Software..
190180 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 .THE.SOFTWARE.IS.PROVIDED."AS.IS
1901a0 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c ",.WITHOUT.WARRANTY.OF.ANY.KIND,
1901c0 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 .EXPRESS.OR.IMPLIED,.INCLUDING.B
1901e0 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 UT.NOT.LIMITED.TO.THE.WARRANTIES
190200 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 .OF.MERCHANTABILITY,.FITNESS.FOR
190220 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 .A.PARTICULAR.PURPOSE.AND.NONINF
190240 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 RINGEMENT..IN.NO.EVENT.SHALL.THE
190260 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 .AUTHORS.OR.COPYRIGHT.HOLDERS.BE
190280 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f .LIABLE.FOR.ANY.CLAIM,.DAMAGES.O
1902a0 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e R.OTHER.LIABILITY,.WHETHER.IN.AN
1902c0 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 .ACTION.OF.CONTRACT,.TORT.OR.OTH
1902e0 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 ERWISE,.ARISING.FROM,.OUT.OF.OR.
190300 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 IN.CONNECTION.WITH.THE.SOFTWARE.
190320 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a OR.THE.USE.OR.OTHER.DEALINGS.IN.
190340 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 THE.SOFTWARE..<?php..namespace.P
190360 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 sr\Log;.........abstract.class.A
190380 62 73 74 72 61 63 74 4c 6f 67 67 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 6f 67 67 65 72 49 bstractLogger.implements.LoggerI
1903a0 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 nterface.{.........public.functi
1903c0 6f 6e 20 65 6d 65 72 67 65 6e 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f on.emergency($message,.array.$co
1903e0 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f ntext.=.array()).{.$this->log(Lo
190400 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f gLevel::EMERGENCY,.$message,.$co
190420 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ntext);.}.............public.fun
190440 63 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e ction.alert($message,.array.$con
190460 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 text.=.array()).{.$this->log(Log
190480 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 Level::ALERT,.$message,.$context
1904a0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 );.}............public.function.
1904c0 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 critical($message,.array.$contex
1904e0 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 t.=.array()).{.$this->log(LogLev
190500 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 el::CRITICAL,.$message,.$context
190520 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 );.}...........public.function.e
190540 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 rror($message,.array.$context.=.
190560 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a array()).{.$this->log(LogLevel::
190580 45 52 52 4f 52 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a ERROR,.$message,.$context);.}...
1905a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e ..........public.function.warnin
1905c0 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 g($message,.array.$context.=.arr
1905e0 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 ay()).{.$this->log(LogLevel::WAR
190600 4e 49 4e 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a NING,.$message,.$context);.}....
190620 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 ......public.function.notice($me
190640 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 ssage,.array.$context.=.array())
190660 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 .{.$this->log(LogLevel::NOTICE,.
190680 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $message,.$context);.}..........
1906a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c ..public.function.info($message,
1906c0 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 .array.$context.=.array()).{.$th
1906e0 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 is->log(LogLevel::INFO,.$message
190700 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ,.$context);.}..........public.f
190720 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 unction.debug($message,.array.$c
190740 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c ontext.=.array()).{.$this->log(L
190760 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 ogLevel::DEBUG,.$message,.$conte
190780 78 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f xt);.}.}.<?php..namespace.Psr\Lo
1907a0 67 3b 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 g;..class.InvalidArgumentExcepti
1907c0 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 on.extends.\InvalidArgumentExcep
1907e0 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f tion.{.}.<?php..namespace.Psr\Lo
190800 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 4c 65 76 65 6c 0a 7b 0a 63 6f 6e 73 74 20 45 4d g;.....class.LogLevel.{.const.EM
190820 45 52 47 45 4e 43 59 20 3d 20 27 65 6d 65 72 67 65 6e 63 79 27 3b 0a 63 6f 6e 73 74 20 41 4c 45 ERGENCY.=.'emergency';.const.ALE
190840 52 54 20 3d 20 27 61 6c 65 72 74 27 3b 0a 63 6f 6e 73 74 20 43 52 49 54 49 43 41 4c 20 3d 20 27 RT.=.'alert';.const.CRITICAL.=.'
190860 63 72 69 74 69 63 61 6c 27 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 65 72 72 6f 72 27 critical';.const.ERROR.=.'error'
190880 3b 0a 63 6f 6e 73 74 20 57 41 52 4e 49 4e 47 20 3d 20 27 77 61 72 6e 69 6e 67 27 3b 0a 63 6f 6e ;.const.WARNING.=.'warning';.con
1908a0 73 74 20 4e 4f 54 49 43 45 20 3d 20 27 6e 6f 74 69 63 65 27 3b 0a 63 6f 6e 73 74 20 49 4e 46 4f st.NOTICE.=.'notice';.const.INFO
1908c0 20 3d 20 27 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 44 45 42 55 47 20 3d 20 27 64 65 62 75 67 27 .=.'info';.const.DEBUG.=.'debug'
1908e0 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a ;.}.<?php..namespace.Psr\Log;...
190900 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 ..interface.LoggerAwareInterface
190920 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 .{........public.function.setLog
190940 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 3b 0a 7d 0a ger(LoggerInterface.$logger);.}.
190960 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 74 72 <?php..namespace.Psr\Log;.....tr
190980 61 69 74 20 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 ait.LoggerAwareTrait.{......prot
1909a0 65 63 74 65 64 20 24 6c 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ected.$logger;.......public.func
1909c0 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 tion.setLogger(LoggerInterface.$
1909e0 6c 6f 67 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 3d 20 24 6c 6f 67 67 65 logger).{.$this->logger.=.$logge
190a00 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b r;.}.}.<?php..namespace.Psr\Log;
190a20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 65 .................interface.Logge
190a40 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rInterface.{.........public.func
190a60 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 tion.emergency($message,.array.$
190a80 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a context.=.array());.............
190aa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 public.function.alert($message,.
190ac0 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a array.$context.=.array());......
190ae0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 ......public.function.critical($
190b00 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 message,.array.$context.=.array(
190b20 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 ));...........public.function.er
190b40 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 ror($message,.array.$context.=.a
190b60 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rray());.............public.func
190b80 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f tion.warning($message,.array.$co
190ba0 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ntext.=.array());..........publi
190bc0 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 c.function.notice($message,.arra
190be0 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a y.$context.=.array());..........
190c00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c ..public.function.info($message,
190c20 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a .array.$context.=.array());.....
190c40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 .....public.function.debug($mess
190c60 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a age,.array.$context.=.array());.
190c80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c ..........public.function.log($l
190ca0 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d evel,.$message,.array.$context.=
190cc0 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 .array());.}.<?php..namespace.Ps
190ce0 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 54 72 61 69 r\Log;..........trait.LoggerTrai
190d00 74 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 t.{.........public.function.emer
190d20 67 65 6e 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d gency($message,.array.$context.=
190d40 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a .array()).{.$this->log(LogLevel:
190d60 3a 45 4d 45 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b :EMERGENCY,.$message,.$context);
190d80 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 .}.............public.function.a
190da0 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 lert($message,.array.$context.=.
190dc0 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a array()).{.$this->log(LogLevel::
190de0 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a ALERT,.$message,.$context);.}...
190e00 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 .........public.function.critica
190e20 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 l($message,.array.$context.=.arr
190e40 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 ay()).{.$this->log(LogLevel::CRI
190e60 54 49 43 41 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a TICAL,.$message,.$context);.}...
190e80 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d ........public.function.error($m
190ea0 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 essage,.array.$context.=.array()
190ec0 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 ).{.$this->log(LogLevel::ERROR,.
190ee0 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $message,.$context);.}..........
190f00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 ...public.function.warning($mess
190f20 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b age,.array.$context.=.array()).{
190f40 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 .$this->log(LogLevel::WARNING,.$
190f60 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 message,.$context);.}..........p
190f80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 ublic.function.notice($message,.
190fa0 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$context.=.array()).{.$thi
190fc0 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 s->log(LogLevel::NOTICE,.$messag
190fe0 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 e,.$context);.}............publi
191000 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 c.function.info($message,.array.
191020 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 $context.=.array()).{.$this->log
191040 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 (LogLevel::INFO,.$message,.$cont
191060 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ext);.}..........public.function
191080 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 .debug($message,.array.$context.
1910a0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c =.array()).{.$this->log(LogLevel
1910c0 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a ::DEBUG,.$message,.$context);.}.
1910e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ..........abstract.public.functi
191100 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 on.log($level,.$message,.array.$
191120 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d context.=.array());.}.<?php..nam
191140 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e espace.Psr\Log;..........class.N
191160 75 6c 6c 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 ullLogger.extends.AbstractLogger
191180 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 .{..........public.function.log(
1911a0 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 $level,.$message,.array.$context
1911c0 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 .=.array()).{...}.}.<?php..names
1911e0 70 61 63 65 20 50 73 72 5c 4c 6f 67 5c 54 65 73 74 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c pace.Psr\Log\Test;..use.Psr\Log\
191200 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 LoggerInterface;.use.Psr\Log\Log
191220 4c 65 76 65 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4c 6f 67 Level;........abstract.class.Log
191240 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 20 65 78 74 65 6e 64 73 20 5c 50 48 50 55 6e 69 gerInterfaceTest.extends.\PHPUni
191260 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 43 61 73 65 0a 7b 0a 0a 0a 0a 61 62 73 74 72 61 t_Framework_TestCase.{....abstra
191280 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a ct.public.function.getLogger();.
1912a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ..........abstract.public.functi
1912c0 6f 6e 20 67 65 74 4c 6f 67 73 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 on.getLogs();..public.function.t
1912e0 65 73 74 49 6d 70 6c 65 6d 65 6e 74 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 49 estImplements().{.$this->assertI
191300 6e 73 74 61 6e 63 65 4f 66 28 27 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 nstanceOf('Psr\Log\LoggerInterfa
191320 63 65 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a ce',.$this->getLogger());.}.....
191340 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 4c 6f 67 73 41 74 41 6c 6c 4c 65 76 public.function.testLogsAtAllLev
191360 65 6c 73 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 els($level,.$message).{.$logger.
191380 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 7b =.$this->getLogger();.$logger->{
1913a0 24 6c 65 76 65 6c 7d 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d $level}($message,.array('user'.=
1913c0 3e 20 27 42 6f 62 27 29 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 >.'Bob'));.$logger->log($level,.
1913e0 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 29 $message,.array('user'.=>.'Bob')
191400 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 0a 24 6c 65 76 65 6c 2e 27 20 );..$expected.=.array(.$level.'.
191420 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 message.of.level.'.$level.'.with
191440 20 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 24 6c 65 76 65 6c 2e 27 20 6d 65 73 73 61 67 65 .context:.Bob',.$level.'.message
191460 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 20 63 6f 6e 74 65 78 .of.level.'.$level.'.with.contex
191480 74 3a 20 42 6f 62 27 2c 0a 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 t:.Bob',.);.$this->assertEquals(
1914a0 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a $expected,.$this->getLogs());.}.
1914c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 4c 65 76 65 6c 73 41 6e .public.function.provideLevelsAn
1914e0 64 4d 65 73 73 61 67 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 4c 6f 67 4c dMessages().{.return.array(.LogL
191500 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 evel::EMERGENCY.=>.array(LogLeve
191520 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 l::EMERGENCY,.'message.of.level.
191540 65 6d 65 72 67 65 6e 63 79 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 emergency.with.context:.{user}')
191560 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 ,.LogLevel::ALERT.=>.array(LogLe
191580 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 61 6c vel::ALERT,.'message.of.level.al
1915a0 65 72 74 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c ert.with.context:.{user}'),.LogL
1915c0 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c evel::CRITICAL.=>.array(LogLevel
1915e0 3a 3a 43 52 49 54 49 43 41 4c 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 63 72 ::CRITICAL,.'message.of.level.cr
191600 69 74 69 63 61 6c 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c itical.with.context:.{user}'),.L
191620 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c ogLevel::ERROR.=>.array(LogLevel
191640 3a 3a 45 52 52 4f 52 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 65 72 72 6f 72 ::ERROR,.'message.of.level.error
191660 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 .with.context:.{user}'),.LogLeve
191680 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 l::WARNING.=>.array(LogLevel::WA
1916a0 52 4e 49 4e 47 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 77 61 72 6e 69 6e 67 RNING,.'message.of.level.warning
1916c0 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 .with.context:.{user}'),.LogLeve
1916e0 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 l::NOTICE.=>.array(LogLevel::NOT
191700 49 43 45 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 6e 6f 74 69 63 65 20 77 69 ICE,.'message.of.level.notice.wi
191720 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a th.context:.{user}'),.LogLevel::
191740 49 4e 46 4f 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 27 6d INFO.=>.array(LogLevel::INFO,.'m
191760 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 69 6e 66 6f 20 77 69 74 68 20 63 6f 6e 74 65 78 essage.of.level.info.with.contex
191780 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 t:.{user}'),.LogLevel::DEBUG.=>.
1917a0 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 27 6d 65 73 73 61 67 65 20 array(LogLevel::DEBUG,.'message.
1917c0 6f 66 20 6c 65 76 65 6c 20 64 65 62 75 67 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 of.level.debug.with.context:.{us
1917e0 65 72 7d 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 er}'),.);.}.....public.function.
191800 74 65 73 74 54 68 72 6f 77 73 4f 6e 49 6e 76 61 6c 69 64 4c 65 76 65 6c 28 29 0a 7b 0a 24 6c 6f testThrowsOnInvalidLevel().{.$lo
191820 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 gger.=.$this->getLogger();.$logg
191840 65 72 2d 3e 6c 6f 67 28 27 69 6e 76 61 6c 69 64 20 6c 65 76 65 6c 27 2c 20 27 46 6f 6f 27 29 3b er->log('invalid.level',.'Foo');
191860 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 52 .}..public.function.testContextR
191880 65 70 6c 61 63 65 6d 65 6e 74 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e eplacement().{.$logger.=.$this->
1918a0 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 69 6e 66 6f 28 27 7b 4d 65 73 getLogger();.$logger->info('{Mes
1918c0 73 61 67 65 20 7b 6e 6f 74 68 69 6e 67 7d 20 7b 75 73 65 72 7d 20 7b 66 6f 6f 2e 62 61 72 7d 20 sage.{nothing}.{user}.{foo.bar}.
1918e0 61 7d 27 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 2c 20 27 66 6f 6f a}',.array('user'.=>.'Bob',.'foo
191900 2e 62 61 72 27 20 3d 3e 20 27 42 61 72 27 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 .bar'.=>.'Bar'));..$expected.=.a
191920 72 72 61 79 28 27 69 6e 66 6f 20 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 69 6e 67 7d 20 42 6f rray('info.{Message.{nothing}.Bo
191940 62 20 42 61 72 20 61 7d 27 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 b.Bar.a}');.$this->assertEquals(
191960 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a $expected,.$this->getLogs());.}.
191980 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 4f 62 6a 65 63 74 43 61 73 74 54 .public.function.testObjectCastT
1919a0 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 oString().{.if.(method_exists($t
1919c0 68 69 73 2c 20 27 63 72 65 61 74 65 50 61 72 74 69 61 6c 4d 6f 63 6b 27 29 29 20 7b 0a 24 64 75 his,.'createPartialMock')).{.$du
1919e0 6d 6d 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 72 74 69 61 6c 4d 6f 63 6b 28 27 mmy.=.$this->createPartialMock('
191a00 50 73 72 5c 4c 6f 67 5c 54 65 73 74 5c 44 75 6d 6d 79 54 65 73 74 27 2c 20 61 72 72 61 79 28 27 Psr\Log\Test\DummyTest',.array('
191a20 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 75 6d 6d 79 20 3d __toString'));.}.else.{.$dummy.=
191a40 20 24 74 68 69 73 2d 3e 67 65 74 4d 6f 63 6b 28 27 50 73 72 5c 4c 6f 67 5c 54 65 73 74 5c 44 75 .$this->getMock('Psr\Log\Test\Du
191a60 6d 6d 79 54 65 73 74 27 2c 20 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a mmyTest',.array('__toString'));.
191a80 7d 0a 24 64 75 6d 6d 79 2d 3e 65 78 70 65 63 74 73 28 24 74 68 69 73 2d 3e 6f 6e 63 65 28 29 29 }.$dummy->expects($this->once())
191aa0 0a 2d 3e 6d 65 74 68 6f 64 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 0a 2d 3e 77 69 6c 6c 28 24 .->method('__toString').->will($
191ac0 74 68 69 73 2d 3e 72 65 74 75 72 6e 56 61 6c 75 65 28 27 44 55 4d 4d 59 27 29 29 3b 0a 0a 24 74 this->returnValue('DUMMY'));..$t
191ae0 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e 77 61 72 6e 69 6e 67 28 24 64 75 6d 6d 79 his->getLogger()->warning($dummy
191b00 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 77 61 72 6e 69 6e 67 20 44 );..$expected.=.array('warning.D
191b20 55 4d 4d 59 27 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 UMMY');.$this->assertEquals($exp
191b40 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 ected,.$this->getLogs());.}..pub
191b60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 43 61 6e 43 6f 6e 74 61 lic.function.testContextCanConta
191b80 69 6e 41 6e 79 74 68 69 6e 67 28 29 0a 7b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 inAnything().{.$context.=.array(
191ba0 0a 27 62 6f 6f 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 27 6e 75 6c 6c 27 20 3d 3e 20 6e 75 6c 6c 2c .'bool'.=>.true,.'null'.=>.null,
191bc0 0a 27 73 74 72 69 6e 67 27 20 3d 3e 20 27 46 6f 6f 27 2c 0a 27 69 6e 74 27 20 3d 3e 20 30 2c 0a .'string'.=>.'Foo',.'int'.=>.0,.
191be0 27 66 6c 6f 61 74 27 20 3d 3e 20 30 2e 35 2c 0a 27 6e 65 73 74 65 64 27 20 3d 3e 20 61 72 72 61 'float'.=>.0.5,.'nested'.=>.arra
191c00 79 28 27 77 69 74 68 20 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 44 75 6d 6d 79 54 65 73 74 y('with.object'.=>.new.DummyTest
191c20 29 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 2c 0a 27 72 ),.'object'.=>.new.\DateTime,.'r
191c40 65 73 6f 75 72 63 65 27 20 3d 3e 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 esource'.=>.fopen('php://memory'
191c60 2c 20 27 72 27 29 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e ,.'r'),.);..$this->getLogger()->
191c80 77 61 72 6e 69 6e 67 28 27 43 72 61 7a 79 20 63 6f 6e 74 65 78 74 20 64 61 74 61 27 2c 20 24 63 warning('Crazy.context.data',.$c
191ca0 6f 6e 74 65 78 74 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 77 61 72 ontext);..$expected.=.array('war
191cc0 6e 69 6e 67 20 43 72 61 7a 79 20 63 6f 6e 74 65 78 74 20 64 61 74 61 27 29 3b 0a 24 74 68 69 73 ning.Crazy.context.data');.$this
191ce0 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d ->assertEquals($expected,.$this-
191d00 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 >getLogs());.}..public.function.
191d20 74 65 73 74 43 6f 6e 74 65 78 74 45 78 63 65 70 74 69 6f 6e 4b 65 79 43 61 6e 42 65 45 78 63 65 testContextExceptionKeyCanBeExce
191d40 70 74 69 6f 6e 4f 72 4f 74 68 65 72 56 61 6c 75 65 73 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d ptionOrOtherValues().{.$logger.=
191d60 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 77 61 .$this->getLogger();.$logger->wa
191d80 72 6e 69 6e 67 28 27 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 65 27 2c 20 61 72 72 61 79 28 27 65 rning('Random.message',.array('e
191da0 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 27 6f 6f 70 73 27 29 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e xception'.=>.'oops'));.$logger->
191dc0 63 72 69 74 69 63 61 6c 28 27 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 2c 20 critical('Uncaught.Exception!',.
191de0 61 72 72 61 79 28 27 65 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 6e 65 77 20 5c 4c 6f 67 69 63 45 array('exception'.=>.new.\LogicE
191e00 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 27 29 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d xception('Fail')));..$expected.=
191e20 20 61 72 72 61 79 28 0a 27 77 61 72 6e 69 6e 67 20 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 65 27 .array(.'warning.Random.message'
191e40 2c 0a 27 63 72 69 74 69 63 61 6c 20 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 ,.'critical.Uncaught.Exception!'
191e60 0a 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 .);.$this->assertEquals($expecte
191e80 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 7d 0a 0a 63 6c 61 73 73 d,.$this->getLogs());.}.}..class
191ea0 20 44 75 6d 6d 79 54 65 73 74 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 .DummyTest.{.public.function.__t
191ec0 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 72 65 71 75 69 72 65 oString().{.}.}.<?php....require
191ee0 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c _once.__DIR__...'/composer/autol
191f00 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 3b 0a 0a 72 65 74 75 72 6e 20 43 6f 6d 70 6f 73 65 72 41 oad_real.php';..return.ComposerA
191f20 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 33 34 34 33 31 utoloaderInitComposerPhar1534431
191f40 34 33 32 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 432::getLoader();.<?php....$vend
191f60 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f orDir.=.dirname(dirname(__FILE__
191f80 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 ));.$baseDir.=.dirname($vendorDi
191fa0 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 r);..return.array(.);.<?php....$
191fc0 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 vendorDir.=.dirname(dirname(__FI
191fe0 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 LE__));.$baseDir.=.dirname($vend
192000 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 53 79 6d 66 6f 6e 79 5c orDir);..return.array(.'Symfony\
192020 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 \Polyfill\\Mbstring\\'.=>.array(
192040 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d $vendorDir...'/symfony/polyfill-
192060 6d 62 73 74 72 69 6e 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c mbstring'),.'Symfony\\Polyfill\\
192080 43 74 79 70 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 Ctype\\'.=>.array($vendorDir...'
1920a0 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 29 2c 0a 27 53 79 6d 66 /symfony/polyfill-ctype'),.'Symf
1920c0 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d 3e 20 61 72 ony\\Component\\Process\\'.=>.ar
1920e0 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 ray($vendorDir...'/symfony/proce
192100 73 73 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e 64 65 ss'),.'Symfony\\Component\\Finde
192120 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d r\\'.=>.array($vendorDir...'/sym
192140 66 6f 6e 79 2f 66 69 6e 64 65 72 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 fony/finder'),.'Symfony\\Compone
192160 6e 74 5c 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 nt\\Filesystem\\'.=>.array($vend
192180 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 27 29 2c 0a orDir...'/symfony/filesystem'),.
1921a0 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 27 20 3d 3e 'Symfony\\Component\\Debug\\'.=>
1921c0 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 .array($vendorDir...'/symfony/de
1921e0 62 75 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 bug'),.'Symfony\\Component\\Cons
192200 6f 6c 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 ole\\'.=>.array($vendorDir...'/s
192220 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 29 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 72 55 74 69 ymfony/console'),.'Seld\\PharUti
192240 6c 73 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 65 ls\\'.=>.array($vendorDir...'/se
192260 6c 64 2f 70 68 61 72 2d 75 74 69 6c 73 2f 73 72 63 27 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e ld/phar-utils/src'),.'Seld\\Json
192280 4c 69 6e 74 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f Lint\\'.=>.array($vendorDir...'/
1922a0 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 27 seld/jsonlint/src/Seld/JsonLint'
1922c0 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 ),.'Psr\\Log\\'.=>.array($vendor
1922e0 44 69 72 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 27 29 2c 0a 27 4a 73 6f 6e Dir...'/psr/log/Psr/Log'),.'Json
192300 53 63 68 65 6d 61 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 Schema\\'.=>.array($vendorDir...
192320 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f '/justinrainbow/json-schema/src/
192340 4a 73 6f 6e 53 63 68 65 6d 61 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 62 75 67 48 JsonSchema'),.'Composer\\XdebugH
192360 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 andler\\'.=>.array($vendorDir...
192380 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 27 29 2c '/composer/xdebug-handler/src'),
1923a0 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 .'Composer\\Spdx\\'.=>.array($ve
1923c0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 ndorDir...'/composer/spdx-licens
1923e0 65 73 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 20 3d es/src'),.'Composer\\Semver\\'.=
192400 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f >.array($vendorDir...'/composer/
192420 73 65 6d 76 65 72 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 43 61 42 75 6e 64 6c semver/src'),.'Composer\\CaBundl
192440 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d e\\'.=>.array($vendorDir...'/com
192460 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 poser/ca-bundle/src'),.'Composer
192480 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 62 61 73 65 44 69 72 20 2e 20 27 2f 73 72 63 2f 43 6f \\'.=>.array($baseDir...'/src/Co
1924a0 6d 70 6f 73 65 72 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f 72 44 69 72 mposer'),.);.<?php....$vendorDir
1924c0 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 .=.dirname(dirname(__FILE__));.$
1924e0 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a baseDir.=.dirname($vendorDir);..
192500 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f return.array(.);.<?php....$vendo
192520 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 rDir.=.dirname(dirname(__FILE__)
192540 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 );.$baseDir.=.dirname($vendorDir
192560 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 33 32 30 63 64 65 32 32 66 36 36 64 64 );..return.array(.'320cde22f66dd
192580 34 66 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 4f5d3fd621d3e88b98f'.=>.$vendorD
1925a0 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f 62 6f ir...'/symfony/polyfill-ctype/bo
1925c0 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 38 31 31 62 66 61 35 otstrap.php',.'0e6d7bf4a5811bfa5
1925e0 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e cf40c5ccd6fae6a'.=>.$vendorDir..
192600 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 62 6f 6f .'/symfony/polyfill-mbstring/boo
192620 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 63 6c 61 73 73 20 43 tstrap.php',.);.<?php....class.C
192640 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 omposerAutoloaderInitComposerPha
192660 72 31 35 33 34 34 33 31 34 33 32 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f r1534431432.{.private.static.$lo
192680 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f ader;..public.static.function.lo
1926a0 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 27 43 6f 6d adClassLoader($class).{.if.('Com
1926c0 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d 3d 20 poser\Autoload\ClassLoader'.===.
1926e0 24 63 6c 61 73 73 29 20 7b 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 43 6c $class).{.require.__DIR__...'/Cl
192700 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 assLoader.php';.}.}..public.stat
192720 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 ic.function.getLoader().{.if.(nu
192740 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 ll.!==.self::$loader).{.return.s
192760 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 elf::$loader;.}..spl_autoload_re
192780 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 gister(array('ComposerAutoloader
1927a0 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 33 34 34 33 31 34 33 32 27 2c 20 27 6c 6f InitComposerPhar1534431432',.'lo
1927c0 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 73 65 adClassLoader'),.true,.true);.se
1927e0 6c 66 3a 3a 24 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 43 6f 6d lf::$loader.=.$loader.=.new.\Com
192800 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 73 70 poser\Autoload\ClassLoader();.sp
192820 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d l_autoload_unregister(array('Com
192840 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 poserAutoloaderInitComposerPhar1
192860 35 33 34 34 33 31 34 33 32 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 29 3b 534431432',.'loadClassLoader'));
192880 0a 0a 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e ..$useStaticLoader.=.PHP_VERSION
1928a0 5f 49 44 20 3e 3d 20 35 30 36 30 30 20 26 26 20 21 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 _ID.>=.50600.&&.!defined('HHVM_V
1928c0 45 52 53 49 4f 4e 27 29 20 26 26 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 7a ERSION').&&.(!function_exists('z
1928e0 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 27 29 20 7c 7c 20 21 7a 65 end_loader_file_encoded').||.!ze
192900 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 69 66 20 28 24 nd_loader_file_encoded());.if.($
192920 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 useStaticLoader).{.require_once.
192940 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 27 __DIR__...'/autoload_static.php'
192960 3b 0a 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f ;..call_user_func(\Composer\Auto
192980 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 load\ComposerStaticInitComposerP
1929a0 68 61 72 31 35 33 34 34 33 31 34 33 32 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 24 6c har1534431432::getInitializer($l
1929c0 6f 61 64 65 72 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 oader));.}.else.{.$map.=.require
1929e0 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 .__DIR__...'/autoload_namespaces
192a00 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 .php';.foreach.($map.as.$namespa
192a20 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d ce.=>.$path).{.$loader->set($nam
192a40 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 espace,.$path);.}..$map.=.requir
192a60 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 e.__DIR__...'/autoload_psr4.php'
192a80 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e ;.foreach.($map.as.$namespace.=>
192aa0 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 6d 65 .$path).{.$loader->setPsr4($name
192ac0 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 space,.$path);.}..$classMap.=.re
192ae0 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 quire.__DIR__...'/autoload_class
192b00 6d 61 70 2e 70 68 70 27 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 6c 6f 61 64 map.php';.if.($classMap).{.$load
192b20 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 7d 0a er->addClassMap($classMap);.}.}.
192b40 0a 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 .$loader->register(true);..if.($
192b60 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 useStaticLoader).{.$includeFiles
192b80 20 3d 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 .=.Composer\Autoload\ComposerSta
192ba0 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 33 34 34 33 31 34 33 32 3a 3a 24 ticInitComposerPhar1534431432::$
192bc0 66 69 6c 65 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 files;.}.else.{.$includeFiles.=.
192be0 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c require.__DIR__...'/autoload_fil
192c00 65 73 2e 70 68 70 27 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 es.php';.}.foreach.($includeFile
192c20 73 20 61 73 20 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 66 69 6c 65 29 20 7b s.as.$fileIdentifier.=>.$file).{
192c40 0a 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 33 34 .composerRequireComposerPhar1534
192c60 34 33 31 34 33 32 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 3b 0a 431432($fileIdentifier,.$file);.
192c80 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e }..return.$loader;.}.}..function
192ca0 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 33 34 .composerRequireComposerPhar1534
192cc0 34 33 31 34 33 32 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 0a 7b 431432($fileIdentifier,.$file).{
192ce0 0a 69 66 20 28 65 6d 70 74 79 28 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f .if.(empty($GLOBALS['__composer_
192d00 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 autoload_files'][$fileIdentifier
192d20 5d 29 29 20 7b 0a 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 ])).{.require.$file;..$GLOBALS['
192d40 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 24 66 69 6c __composer_autoload_files'][$fil
192d60 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a eIdentifier].=.true;.}.}.<?php..
192d80 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a ..namespace.Composer\Autoload;..
192da0 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 class.ComposerStaticInitComposer
192dc0 50 68 61 72 31 35 33 34 34 33 31 34 33 32 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 Phar1534431432.{.public.static.$
192de0 66 69 6c 65 73 20 3d 20 61 72 72 61 79 20 28 0a 27 33 32 30 63 64 65 32 32 66 36 36 64 64 34 66 files.=.array.(.'320cde22f66dd4f
192e00 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 5d3fd621d3e88b98f'.=>.__DIR__...
192e20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 '/..'...'/symfony/polyfill-ctype
192e40 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 38 31 31 62 /bootstrap.php',.'0e6d7bf4a5811b
192e60 66 61 35 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e fa5cf40c5ccd6fae6a'.=>.__DIR__..
192e80 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 .'/..'...'/symfony/polyfill-mbst
192ea0 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 ring/bootstrap.php',.);..public.
192ec0 73 74 61 74 69 63 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 72 61 static.$prefixLengthsPsr4.=.arra
192ee0 79 20 28 0a 27 53 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f y.(.'S'.=>..array.(.'Symfony\\Po
192f00 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 32 36 2c 0a 27 53 79 6d 66 lyfill\\Mbstring\\'.=>.26,.'Symf
192f20 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 32 33 2c 0a 27 ony\\Polyfill\\Ctype\\'.=>.23,.'
192f40 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d Symfony\\Component\\Process\\'.=
192f60 3e 20 32 36 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e 64 65 >.26,.'Symfony\\Component\\Finde
192f80 72 5c 5c 27 20 3d 3e 20 32 35 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c r\\'.=>.25,.'Symfony\\Component\
192fa0 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 32 39 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c \Filesystem\\'.=>.29,.'Symfony\\
192fc0 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 27 20 3d 3e 20 32 34 2c 0a 27 53 79 6d 66 Component\\Debug\\'.=>.24,.'Symf
192fe0 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 32 36 ony\\Component\\Console\\'.=>.26
193000 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 31 35 2c 0a 27 53 65 ,.'Seld\\PharUtils\\'.=>.15,.'Se
193020 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 31 34 2c 0a 29 2c 0a 27 50 27 20 3d 3e ld\\JsonLint\\'.=>.14,.),.'P'.=>
193040 20 0a 61 72 72 61 79 20 28 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 38 2c 0a 29 2c 0a ..array.(.'Psr\\Log\\'.=>.8,.),.
193060 27 4a 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d 'J'.=>..array.(.'JsonSchema\\'.=
193080 3e 20 31 31 2c 0a 29 2c 0a 27 43 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 43 6f 6d 70 6f 73 >.11,.),.'C'.=>..array.(.'Compos
1930a0 65 72 5c 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 32 33 2c 0a 27 43 6f 6d er\\XdebugHandler\\'.=>.23,.'Com
1930c0 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 31 34 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c poser\\Spdx\\'.=>.14,.'Composer\
1930e0 5c 53 65 6d 76 65 72 5c 5c 27 20 3d 3e 20 31 36 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 43 61 42 \Semver\\'.=>.16,.'Composer\\CaB
193100 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 31 38 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 27 20 3d 3e 20 undle\\'.=>.18,.'Composer\\'.=>.
193120 39 2c 0a 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 70 72 65 66 69 78 44 9,.),.);..public.static.$prefixD
193140 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 irsPsr4.=.array.(.'Symfony\\Poly
193160 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 fill\\Mbstring\\'.=>..array.(.0.
193180 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 =>.__DIR__...'/..'...'/symfony/p
1931a0 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c olyfill-mbstring',.),.'Symfony\\
1931c0 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 Polyfill\\Ctype\\'.=>..array.(.0
1931e0 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f .=>.__DIR__...'/..'...'/symfony/
193200 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f polyfill-ctype',.),.'Symfony\\Co
193220 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a mponent\\Process\\'.=>..array.(.
193240 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 0.=>.__DIR__...'/..'...'/symfony
193260 2f 70 72 6f 63 65 73 73 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e /process',.),.'Symfony\\Componen
193280 74 5c 5c 46 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f t\\Finder\\'.=>..array.(.0.=>.__
1932a0 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 DIR__...'/..'...'/symfony/finder
1932c0 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6c 65 73 ',.),.'Symfony\\Component\\Files
1932e0 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f ystem\\'.=>..array.(.0.=>.__DIR_
193300 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d _...'/..'...'/symfony/filesystem
193320 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 ',.),.'Symfony\\Component\\Debug
193340 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 \\'.=>..array.(.0.=>.__DIR__...'
193360 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 27 2c 0a 29 2c 0a 27 53 79 6d /..'...'/symfony/debug',.),.'Sym
193380 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 0a fony\\Component\\Console\\'.=>..
1933a0 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 array.(.0.=>.__DIR__...'/..'...'
1933c0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 /symfony/console',.),.'Seld\\Pha
1933e0 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 rUtils\\'.=>..array.(.0.=>.__DIR
193400 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 65 6c 64 2f 70 68 61 72 2d 75 74 69 6c 73 2f 73 __...'/..'...'/seld/phar-utils/s
193420 72 63 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 0a 61 rc',.),.'Seld\\JsonLint\\'.=>..a
193440 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f rray.(.0.=>.__DIR__...'/..'...'/
193460 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 27 seld/jsonlint/src/Seld/JsonLint'
193480 2c 0a 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 ,.),.'Psr\\Log\\'.=>..array.(.0.
1934a0 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 =>.__DIR__...'/..'...'/psr/log/P
1934c0 73 72 2f 4c 6f 67 27 2c 0a 29 2c 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d 3e 20 0a 61 sr/Log',.),.'JsonSchema\\'.=>..a
1934e0 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f rray.(.0.=>.__DIR__...'/..'...'/
193500 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 justinrainbow/json-schema/src/Js
193520 6f 6e 53 63 68 65 6d 61 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 62 75 67 48 onSchema',.),.'Composer\\XdebugH
193540 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 andler\\'.=>..array.(.0.=>.__DIR
193560 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 __...'/..'...'/composer/xdebug-h
193580 61 6e 64 6c 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c andler/src',.),.'Composer\\Spdx\
1935a0 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f \'.=>..array.(.0.=>.__DIR__...'/
1935c0 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 73 ..'...'/composer/spdx-licenses/s
1935e0 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 20 3d 3e 20 rc',.),.'Composer\\Semver\\'.=>.
193600 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 .array.(.0.=>.__DIR__...'/..'...
193620 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 '/composer/semver/src',.),.'Comp
193640 6f 73 65 72 5c 5c 43 61 42 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 oser\\CaBundle\\'.=>..array.(.0.
193660 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f =>.__DIR__...'/..'...'/composer/
193680 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 27 20 ca-bundle/src',.),.'Composer\\'.
1936a0 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f =>..array.(.0.=>.__DIR__...'/../
1936c0 2e 2e 27 20 2e 20 27 2f 73 72 63 2f 43 6f 6d 70 6f 73 65 72 27 2c 0a 29 2c 0a 29 3b 0a 0a 70 75 ..'...'/src/Composer',.),.);..pu
1936e0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 69 blic.static.function.getInitiali
193700 7a 65 72 28 43 6c 61 73 73 4c 6f 61 64 65 72 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 72 65 74 75 72 zer(ClassLoader.$loader).{.retur
193720 6e 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 n.\Closure::bind(function.().use
193740 20 28 24 6c 6f 61 64 65 72 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 4c 65 6e 67 .($loader).{.$loader->prefixLeng
193760 74 68 73 50 73 72 34 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 thsPsr4.=.ComposerStaticInitComp
193780 6f 73 65 72 50 68 61 72 31 35 33 34 34 33 31 34 33 32 3a 3a 24 70 72 65 66 69 78 4c 65 6e 67 74 oserPhar1534431432::$prefixLengt
1937a0 68 73 50 73 72 34 3b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 hsPsr4;.$loader->prefixDirsPsr4.
1937c0 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 =.ComposerStaticInitComposerPhar
1937e0 31 35 33 34 34 33 31 34 33 32 3a 3a 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 0a 7d 2c 1534431432::$prefixDirsPsr4;..},
193800 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 63 6c 61 73 73 29 3b 0a 7d 0a 7d 0a .null,.ClassLoader::class);.}.}.
193820 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
193840 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ser\Autoload;...................
193860 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 0a ...........class.ClassLoader.{..
193880 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 .private.$prefixLengthsPsr4.=.ar
1938a0 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 3d ray();.private.$prefixDirsPsr4.=
1938c0 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 .array();.private.$fallbackDirsP
1938e0 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 sr4.=.array();....private.$prefi
193900 78 65 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c xesPsr0.=.array();.private.$fall
193920 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 backDirsPsr0.=.array();..private
193940 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 .$useIncludePath.=.false;.privat
193960 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 e.$classMap.=.array();.private.$
193980 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 70 classMapAuthoritative.=.false;.p
1939a0 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 rivate.$missingClasses.=.array()
1939c0 3b 0a 70 72 69 76 61 74 65 20 24 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 70 75 62 6c 69 63 20 66 ;.private.$apcuPrefix;..public.f
1939e0 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 7b 0a 69 66 20 28 21 65 6d 70 unction.getPrefixes().{.if.(!emp
193a00 74 79 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 ty($this->prefixesPsr0)).{.retur
193a20 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 n.call_user_func_array('array_me
193a40 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 3b 0a 7d 0a 0a 72 rge',.$this->prefixesPsr0);.}..r
193a60 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f eturn.array();.}..public.functio
193a80 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 n.getPrefixesPsr4().{.return.$th
193aa0 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 is->prefixDirsPsr4;.}..public.fu
193ac0 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 7b 0a 72 65 74 75 72 nction.getFallbackDirs().{.retur
193ae0 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 7d 0a 0a 70 75 n.$this->fallbackDirsPsr0;.}..pu
193b00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 blic.function.getFallbackDirsPsr
193b20 34 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 4().{.return.$this->fallbackDirs
193b40 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 Psr4;.}..public.function.getClas
193b60 73 4d 61 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 3b sMap().{.return.$this->classMap;
193b80 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d .}.....public.function.addClassM
193ba0 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d ap(array.$classMap).{.if.($this-
193bc0 3e 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 61 >classMap).{.$this->classMap.=.a
193be0 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 6c 61 rray_merge($this->classMap,.$cla
193c00 73 73 4d 61 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 ssMap);.}.else.{.$this->classMap
193c20 20 3d 20 24 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .=.$classMap;.}.}..........publi
193c40 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c 20 c.function.add($prefix,.$paths,.
193c60 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 69 78 $prepend.=.false).{.if.(!$prefix
193c80 29 20 7b 0a 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ).{.if.($prepend).{.$this->fallb
193ca0 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 72 61 ackDirsPsr0.=.array_merge(.(arra
193cc0 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 y).$paths,.$this->fallbackDirsPs
193ce0 72 30 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 r0.);.}.else.{.$this->fallbackDi
193d00 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 66 61 6c rsPsr0.=.array_merge(.$this->fal
193d20 6c 62 61 63 6b 44 69 72 73 50 73 72 30 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 29 3b lbackDirsPsr0,.(array).$paths.);
193d40 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 20 3d 20 24 70 72 65 66 69 78 5b .}..return;.}..$first.=.$prefix[
193d60 30 5d 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 0];.if.(!isset($this->prefixesPs
193d80 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 r0[$first][$prefix])).{.$this->p
193da0 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 refixesPsr0[$first][$prefix].=.(
193dc0 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 70 array).$paths;..return;.}.if.($p
193de0 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 repend).{.$this->prefixesPsr0[$f
193e00 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 irst][$prefix].=.array_merge(.(a
193e20 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 rray).$paths,.$this->prefixesPsr
193e40 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 0[$first][$prefix].);.}.else.{.$
193e60 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 this->prefixesPsr0[$first][$pref
193e80 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 ix].=.array_merge(.$this->prefix
193ea0 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 28 61 72 72 61 79 29 esPsr0[$first][$prefix],.(array)
193ec0 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$paths.);.}.}............public
193ee0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 .function.addPsr4($prefix,.$path
193f00 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 s,.$prepend.=.false).{.if.(!$pre
193f20 66 69 78 29 20 7b 0a 0a 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e fix).{...if.($prepend).{.$this->
193f40 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a fallbackDirsPsr4.=.array_merge(.
193f60 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 (array).$paths,.$this->fallbackD
193f80 69 72 73 50 73 72 34 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 irsPsr4.);.}.else.{.$this->fallb
193fa0 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 ackDirsPsr4.=.array_merge(.$this
193fc0 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 ->fallbackDirsPsr4,.(array).$pat
193fe0 68 73 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e hs.);.}.}.elseif.(!isset($this->
194000 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 0a 20 24 6c prefixDirsPsr4[$prefix])).{...$l
194020 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 27 5c 5c ength.=.strlen($prefix);.if.('\\
194040 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 74 68 '.!==.$prefix[$length.-.1]).{.th
194060 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
194080 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 74 n("A.non-empty.PSR-4.prefix.must
1940a0 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2e .end.with.a.namespace.separator.
1940c0 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 ");.}.$this->prefixLengthsPsr4[$
1940e0 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 24 prefix[0]][$prefix].=.$length;.$
194100 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 this->prefixDirsPsr4[$prefix].=.
194120 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 70 65 (array).$paths;.}.elseif.($prepe
194140 6e 64 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 nd).{...$this->prefixDirsPsr4[$p
194160 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 72 61 79 29 20 24 70 refix].=.array_merge(.(array).$p
194180 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 aths,.$this->prefixDirsPsr4[$pre
1941a0 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 fix].);.}.else.{...$this->prefix
1941c0 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 DirsPsr4[$prefix].=.array_merge(
1941e0 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 2c .$this->prefixDirsPsr4[$prefix],
194200 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .(array).$paths.);.}.}.........p
194220 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 ublic.function.set($prefix,.$pat
194240 68 73 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c hs).{.if.(!$prefix).{.$this->fal
194260 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a lbackDirsPsr0.=.(array).$paths;.
194280 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 70 72 }.else.{.$this->prefixesPsr0[$pr
1942a0 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 efix[0]][$prefix].=.(array).$pat
1942c0 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f hs;.}.}...........public.functio
1942e0 6e 20 73 65 74 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 7b 0a 69 66 20 n.setPsr4($prefix,.$paths).{.if.
194300 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 (!$prefix).{.$this->fallbackDirs
194320 50 73 72 34 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a Psr4.=.(array).$paths;.}.else.{.
194340 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 27 $length.=.strlen($prefix);.if.('
194360 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a \\'.!==.$prefix[$length.-.1]).{.
194380 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
1943a0 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 ion("A.non-empty.PSR-4.prefix.mu
1943c0 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f st.end.with.a.namespace.separato
1943e0 72 2e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 r.");.}.$this->prefixLengthsPsr4
194400 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b [$prefix[0]][$prefix].=.$length;
194420 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 .$this->prefixDirsPsr4[$prefix].
194440 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c =.(array).$paths;.}.}.......publ
194460 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 24 75 ic.function.setUseIncludePath($u
194480 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 seIncludePath).{.$this->useInclu
1944a0 64 65 50 61 74 68 20 3d 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a dePath.=.$useIncludePath;.}.....
1944c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 ...public.function.getUseInclude
1944e0 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 Path().{.return.$this->useInclud
194500 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ePath;.}........public.function.
194520 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d setClassMapAuthoritative($classM
194540 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d apAuthoritative).{.$this->classM
194560 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f apAuthoritative.=.$classMapAutho
194580 72 69 74 61 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ritative;.}.......public.functio
1945a0 6e 20 69 73 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a 7b 0a 72 65 n.isClassMapAuthoritative().{.re
1945c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 turn.$this->classMapAuthoritativ
1945e0 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 e;.}.......public.function.setAp
194600 63 75 50 72 65 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 cuPrefix($apcuPrefix).{.$this->a
194620 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 61 70 63 pcuPrefix.=.function_exists('apc
194640 75 5f 66 65 74 63 68 27 29 20 26 26 20 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 u_fetch').&&.ini_get('apc.enable
194660 64 27 29 20 3f 20 24 61 70 63 75 50 72 65 66 69 78 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a d').?.$apcuPrefix.:.null;.}.....
194680 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 63 75 50 72 65 66 69 78 28 ..public.function.getApcuPrefix(
1946a0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 3b 0a 7d 0a ).{.return.$this->apcuPrefix;.}.
1946c0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 ......public.function.register($
1946e0 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f prepend.=.false).{.spl_autoload_
194700 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 register(array($this,.'loadClass
194720 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 '),.true,.$prepend);.}.....publi
194740 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 72 65 67 69 73 74 65 72 28 29 0a 7b 0a 73 70 6c 5f 61 75 c.function.unregister().{.spl_au
194760 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 toload_unregister(array($this,.'
194780 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 loadClass'));.}........public.fu
1947a0 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 24 nction.loadClass($class).{.if.($
1947c0 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 file.=.$this->findFile($class)).
1947e0 7b 0a 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 {.includeFile($file);..return.tr
194800 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ue;.}.}.........public.function.
194820 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 findFile($class).{...if.(isset($
194840 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 72 65 74 75 72 this->classMap[$class])).{.retur
194860 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 3b 0a 7d 0a 69 66 20 n.$this->classMap[$class];.}.if.
194880 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 7c 7c ($this->classMapAuthoritative.||
1948a0 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c .isset($this->missingClasses[$cl
1948c0 61 73 73 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c ass])).{.return.false;.}.if.(nul
1948e0 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 24 66 69 6c 65 l.!==.$this->apcuPrefix).{.$file
194900 20 3d 20 61 70 63 75 5f 66 65 74 63 68 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e .=.apcu_fetch($this->apcuPrefix.
194920 24 63 6c 61 73 73 2c 20 24 68 69 74 29 3b 0a 69 66 20 28 24 68 69 74 29 20 7b 0a 72 65 74 75 72 $class,.$hit);.if.($hit).{.retur
194940 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e n.$file;.}.}..$file.=.$this->fin
194960 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 70 68 70 dFileWithExtension($class,.'.php
194980 27 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 20 26 26 20 64 65 ');....if.(false.===.$file.&&.de
1949a0 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 66 69 6c 65 20 3d fined('HHVM_VERSION')).{.$file.=
1949c0 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 .$this->findFileWithExtension($c
1949e0 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 lass,.'.hh');.}..if.(null.!==.$t
194a00 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 61 70 63 75 5f 61 64 64 28 24 74 68 69 his->apcuPrefix).{.apcu_add($thi
194a20 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a s->apcuPrefix.$class,.$file);.}.
194a40 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d .if.(false.===.$file).{...$this-
194a60 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a >missingClasses[$class].=.true;.
194a80 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 }..return.$file;.}..private.func
194aa0 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 tion.findFileWithExtension($clas
194ac0 73 2c 20 24 65 78 74 29 0a 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 20 3d 20 s,.$ext).{...$logicalPathPsr4.=.
194ae0 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 strtr($class,.'\\',.DIRECTORY_SE
194b00 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 PARATOR)...$ext;..$first.=.$clas
194b20 73 5b 30 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e s[0];.if.(isset($this->prefixLen
194b40 67 74 68 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 24 73 75 62 50 61 74 68 20 3d 20 gthsPsr4[$first])).{.$subPath.=.
194b60 24 63 6c 61 73 73 3b 0a 77 68 69 6c 65 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6c 61 73 74 50 6f $class;.while.(false.!==.$lastPo
194b80 73 20 3d 20 73 74 72 72 70 6f 73 28 24 73 75 62 50 61 74 68 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 s.=.strrpos($subPath,.'\\')).{.$
194ba0 73 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 74 68 2c 20 30 2c 20 24 6c subPath.=.substr($subPath,.0,.$l
194bc0 61 73 74 50 6f 73 29 3b 0a 24 73 65 61 72 63 68 20 3d 20 24 73 75 62 50 61 74 68 20 2e 20 27 5c astPos);.$search.=.$subPath...'\
194be0 5c 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 \';.if.(isset($this->prefixDirsP
194c00 73 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 24 70 61 74 68 45 6e 64 20 3d 20 44 49 52 45 sr4[$search])).{.$pathEnd.=.DIRE
194c20 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 CTORY_SEPARATOR...substr($logica
194c40 6c 50 61 74 68 50 73 72 34 2c 20 24 6c 61 73 74 50 6f 73 20 2b 20 31 29 3b 0a 66 6f 72 65 61 63 lPathPsr4,.$lastPos.+.1);.foreac
194c60 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 h.($this->prefixDirsPsr4[$search
194c80 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 ].as.$dir).{.if.(file_exists($fi
194ca0 6c 65 20 3d 20 24 64 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 le.=.$dir...$pathEnd)).{.return.
194cc0 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 $file;.}.}.}.}.}....foreach.($th
194ce0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 73 20 24 64 69 72 29 20 7b 0a is->fallbackDirsPsr4.as.$dir).{.
194d00 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 if.(file_exists($file.=.$dir...D
194d20 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 IRECTORY_SEPARATOR...$logicalPat
194d40 68 50 73 72 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 0a 20 69 hPsr4)).{.return.$file;.}.}....i
194d60 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 f.(false.!==.$pos.=.strrpos($cla
194d80 73 73 2c 20 27 5c 5c 27 29 29 20 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 ss,.'\\')).{...$logicalPathPsr0.
194da0 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 30 2c 20 24 70 =.substr($logicalPathPsr4,.0,.$p
194dc0 6f 73 20 2b 20 31 29 0a 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 os.+.1)...strtr(substr($logicalP
194de0 61 74 68 50 73 72 34 2c 20 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f athPsr4,.$pos.+.1),.'_',.DIRECTO
194e00 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6c 6f 67 69 63 RY_SEPARATOR);.}.else.{...$logic
194e20 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5f 27 2c 20 alPathPsr0.=.strtr($class,.'_',.
194e40 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 7d 0a 0a DIRECTORY_SEPARATOR)...$ext;.}..
194e60 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 if.(isset($this->prefixesPsr0[$f
194e80 69 72 73 74 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 irst])).{.foreach.($this->prefix
194ea0 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 64 69 esPsr0[$first].as.$prefix.=>.$di
194ec0 72 73 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 rs).{.if.(0.===.strpos($class,.$
194ee0 70 72 65 66 69 78 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 prefix)).{.foreach.($dirs.as.$di
194f00 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 r).{.if.(file_exists($file.=.$di
194f20 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 r...DIRECTORY_SEPARATOR...$logic
194f40 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d alPathPsr0)).{.return.$file;.}.}
194f60 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 .}.}.}....foreach.($this->fallba
194f80 63 6b 44 69 72 73 50 73 72 30 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 ckDirsPsr0.as.$dir).{.if.(file_e
194fa0 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 xists($file.=.$dir...DIRECTORY_S
194fc0 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a EPARATOR...$logicalPathPsr0)).{.
194fe0 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e return.$file;.}.}....if.($this->
195000 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 69 6c 65 20 3d 20 73 74 72 65 61 6d useIncludePath.&&.$file.=.stream
195020 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 24 6c 6f 67 69 63 61 6c 50 61 _resolve_include_path($logicalPa
195040 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 thPsr0)).{.return.$file;.}..retu
195060 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 63 rn.false;.}.}.......function.inc
195080 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b ludeFile($file).{.include.$file;
1950a0 0a 7d 0a 23 23 0a 23 23 20 42 75 6e 64 6c 65 20 6f 66 20 43 41 20 52 6f 6f 74 20 43 65 72 74 69 .}.##.##.Bundle.of.CA.Root.Certi
1950c0 66 69 63 61 74 65 73 0a 23 23 0a 23 23 20 43 65 72 74 69 66 69 63 61 74 65 20 64 61 74 61 20 66 ficates.##.##.Certificate.data.f
1950e0 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 20 61 73 20 6f 66 3a 20 57 65 64 20 4a 75 6e 20 32 30 20 30 33 rom.Mozilla.as.of:.Wed.Jun.20.03
195100 3a 31 32 3a 30 36 20 32 30 31 38 20 47 4d 54 0a 23 23 0a 23 23 20 54 68 69 73 20 69 73 20 61 20 :12:06.2018.GMT.##.##.This.is.a.
195120 62 75 6e 64 6c 65 20 6f 66 20 58 2e 35 30 39 20 63 65 72 74 69 66 69 63 61 74 65 73 20 6f 66 20 bundle.of.X.509.certificates.of.
195140 70 75 62 6c 69 63 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 69 65 73 0a 23 public.Certificate.Authorities.#
195160 23 20 28 43 41 29 2e 20 54 68 65 73 65 20 77 65 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 #.(CA)..These.were.automatically
195180 20 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 27 73 20 72 6f 6f 74 20 63 .extracted.from.Mozilla's.root.c
1951a0 65 72 74 69 66 69 63 61 74 65 73 0a 23 23 20 66 69 6c 65 20 28 63 65 72 74 64 61 74 61 2e 74 78 ertificates.##.file.(certdata.tx
1951c0 74 29 2e 20 20 54 68 69 73 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 t)...This.file.can.be.found.in.t
1951e0 68 65 20 6d 6f 7a 69 6c 6c 61 20 73 6f 75 72 63 65 20 74 72 65 65 3a 0a 23 23 20 68 74 74 70 73 he.mozilla.source.tree:.##.https
195200 3a 2f 2f 68 67 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 72 65 6c 65 61 73 65 73 2f 6d 6f 7a 69 6c ://hg.mozilla.org/releases/mozil
195220 6c 61 2d 72 65 6c 65 61 73 65 2f 72 61 77 2d 66 69 6c 65 2f 64 65 66 61 75 6c 74 2f 73 65 63 75 la-release/raw-file/default/secu
195240 72 69 74 79 2f 6e 73 73 2f 6c 69 62 2f 63 6b 66 77 2f 62 75 69 6c 74 69 6e 73 2f 63 65 72 74 64 rity/nss/lib/ckfw/builtins/certd
195260 61 74 61 2e 74 78 74 0a 23 23 0a 23 23 20 49 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 63 65 ata.txt.##.##.It.contains.the.ce
195280 72 74 69 66 69 63 61 74 65 73 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 74 20 61 6e 64 20 74 68 65 rtificates.in.PEM.format.and.the
1952a0 72 65 66 6f 72 65 0a 23 23 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 6c 79 20 75 73 65 64 20 77 refore.##.can.be.directly.used.w
1952c0 69 74 68 20 63 75 72 6c 20 2f 20 6c 69 62 63 75 72 6c 20 2f 20 70 68 70 5f 63 75 72 6c 2c 20 6f ith.curl./.libcurl./.php_curl,.o
1952e0 72 20 77 69 74 68 0a 23 23 20 61 6e 20 41 70 61 63 68 65 2b 6d 6f 64 5f 73 73 6c 20 77 65 62 73 r.with.##.an.Apache+mod_ssl.webs
195300 65 72 76 65 72 20 66 6f 72 20 53 53 4c 20 63 6c 69 65 6e 74 20 61 75 74 68 65 6e 74 69 63 61 74 erver.for.SSL.client.authenticat
195320 69 6f 6e 2e 0a 23 23 20 4a 75 73 74 20 63 6f 6e 66 69 67 75 72 65 20 74 68 69 73 20 66 69 6c 65 ion..##.Just.configure.this.file
195340 20 61 73 20 74 68 65 20 53 53 4c 43 41 43 65 72 74 69 66 69 63 61 74 65 46 69 6c 65 2e 0a 23 23 .as.the.SSLCACertificateFile..##
195360 0a 23 23 20 43 6f 6e 76 65 72 73 69 6f 6e 20 64 6f 6e 65 20 77 69 74 68 20 6d 6b 2d 63 61 2d 62 .##.Conversion.done.with.mk-ca-b
195380 75 6e 64 6c 65 2e 70 6c 20 76 65 72 73 69 6f 6e 20 31 2e 32 37 2e 0a 23 23 20 53 48 41 32 35 36 undle.pl.version.1.27..##.SHA256
1953a0 3a 20 63 38 30 66 35 37 31 64 39 66 34 65 62 63 61 34 61 39 31 65 30 61 64 33 61 35 34 36 66 32 :.c80f571d9f4ebca4a91e0ad3a546f2
1953c0 36 33 31 35 33 64 37 31 61 66 66 66 63 38 34 35 63 36 66 38 66 35 32 63 65 39 64 31 61 32 65 38 63153d71afffc845c6f8f52ce9d1a2e8
1953e0 65 63 0a 23 23 0a 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d ec.##...GlobalSign.Root.CA.=====
195400 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
195420 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 54 43 43 41 6c 32 67 41 77 49 42 41 67 49 4c 42 41 CATE-----.MIIDdTCCAl2gAwIBAgILBA
195440 41 41 41 41 41 42 46 55 74 61 77 35 51 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 AAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQ
195460 41 77 56 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 55 78 0a 47 54 41 58 42 67 4e 56 42 AwVzELMAkGA1UEBhMCQkUx.GTAXBgNVB
195480 41 6f 54 45 45 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 67 62 6e 59 74 63 32 45 78 45 44 41 4f 42 AoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOB
1954a0 67 4e 56 42 41 73 54 42 31 4a 76 62 33 51 67 51 30 45 78 47 7a 41 5a 42 67 4e 56 42 41 4d 54 45 gNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTE
1954c0 6b 64 73 0a 62 32 4a 68 62 46 4e 70 5a 32 34 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 35 kds.b2JhbFNpZ24gUm9vdCBDQTAeFw05
1954e0 4f 44 41 35 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 79 4f 44 41 78 4d 6a 67 78 4d 6a 41 77 ODA5MDExMjAwMDBaFw0yODAxMjgxMjAw
195500 4d 44 42 61 4d 46 63 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b 4a 46 4d 52 6b 77 46 77 59 MDBaMFcxCzAJBgNV.BAYTAkJFMRkwFwY
195520 44 56 51 51 4b 45 78 42 48 62 47 39 69 59 57 78 54 61 57 64 75 49 47 35 32 4c 58 4e 68 4d 52 41 DVQQKExBHbG9iYWxTaWduIG52LXNhMRA
195540 77 44 67 59 44 56 51 51 4c 45 77 64 53 62 32 39 30 49 45 4e 42 4d 52 73 77 47 51 59 44 0a 56 51 wDgYDVQQLEwdSb290IENBMRswGQYD.VQ
195560 51 44 45 78 4a 48 62 47 39 69 59 57 78 54 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 77 67 67 QDExJHbG9iYWxTaWduIFJvb3QgQ0Ewgg
195580 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 EiMA0GCSqGSIb3DQEBAQUAA4IBDwAwgg
1955a0 45 4b 41 6f 49 42 41 51 44 61 0a 44 75 61 5a 6a 63 36 6a 34 30 2b 4b 66 76 76 78 69 34 4d 6c 61 EKAoIBAQDa.DuaZjc6j40+Kfvvxi4Mla
1955c0 2b 70 49 48 2f 45 71 73 4c 6d 56 45 51 53 39 38 47 50 52 34 6d 64 6d 7a 78 7a 64 7a 78 74 49 4b +pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK
1955e0 2b 36 4e 69 59 36 61 72 79 6d 41 5a 61 76 70 78 79 30 53 79 36 73 63 0a 54 48 41 48 6f 54 30 4b +6NiY6arymAZavpxy0Sy6sc.THAHoT0K
195600 4d 4d 30 56 6a 55 2f 34 33 64 53 4d 55 42 55 63 37 31 44 75 78 43 37 33 2f 4f 6c 53 38 70 46 39 MM0VjU/43dSMUBUc71DuxC73/OlS8pF9
195620 34 47 33 56 4e 54 43 4f 58 6b 4e 7a 38 6b 48 70 31 57 72 6a 73 6f 6b 36 56 6a 6b 34 62 77 59 38 4G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8
195640 69 47 6c 62 0a 4b 6b 33 46 70 31 53 34 62 49 6e 4d 6d 2f 6b 38 79 75 58 39 69 66 55 53 50 4a 4a iGlb.Kk3Fp1S4bInMm/k8yuX9ifUSPJJ
195660 34 6c 74 62 63 64 47 36 54 52 47 48 52 6a 63 64 47 73 6e 55 4f 68 75 67 5a 69 74 56 74 62 4e 56 4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV
195680 34 46 70 57 69 36 63 67 4b 4f 4f 76 79 4a 42 4e 50 0a 63 31 53 54 45 34 55 36 47 37 77 65 4e 4c 4FpWi6cgKOOvyJBNP.c1STE4U6G7weNL
1956a0 57 4c 42 59 79 35 64 34 75 78 32 78 38 67 6b 61 73 4a 55 32 36 51 7a 6e 73 33 64 4c 6c 77 52 35 WLBYy5d4ux2x8gkasJU26Qzns3dLlwR5
1956c0 45 69 55 57 4d 57 65 61 36 78 72 6b 45 6d 43 4d 67 5a 4b 39 46 47 71 6b 6a 57 5a 43 72 58 0a 67 EiUWMWea6xrkEmCMgZK9FGqkjWZCrX.g
1956e0 7a 54 2f 4c 43 72 42 62 42 6c 44 53 67 65 46 35 39 4e 38 39 69 46 6f 37 2b 72 79 55 70 39 2f 6b zT/LCrBbBlDSgeF59N89iFo7+ryUp9/k
195700 35 44 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEA
195720 77 49 42 42 6a 41 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 wIBBjAPBgNV.HRMBAf8EBTADAQH/MB0G
195740 41 31 55 64 44 67 51 57 42 42 52 67 65 32 59 61 52 51 32 58 79 6f 6c 51 4c 33 30 45 7a 54 53 6f A1UdDgQWBBRge2YaRQ2XyolQL30EzTSo
195760 2f 2f 7a 39 53 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 0a 41 41 4f 43 41 51 45 //z9SzANBgkqhkiG9w0BAQUF.AAOCAQE
195780 41 31 6e 50 6e 66 45 39 32 30 49 32 2f 37 4c 71 69 76 6a 54 46 4b 44 4b 31 66 50 78 73 6e 43 77 A1nPnfE920I2/7LqivjTFKDK1fPxsnCw
1957a0 72 76 51 6d 65 55 37 39 72 58 71 6f 52 53 4c 62 6c 43 4b 4f 7a 79 6a 31 68 54 64 4e 47 43 62 4d rvQmeU79rXqoRSLblCKOzyj1hTdNGCbM
1957c0 2b 77 36 44 6a 0a 59 31 55 62 38 72 72 76 72 54 6e 68 51 37 6b 34 6f 2b 59 76 69 69 59 37 37 36 +w6Dj.Y1Ub8rrvrTnhQ7k4o+YviiY776
1957e0 42 51 56 76 6e 47 43 76 30 34 7a 63 51 4c 63 46 47 55 6c 35 67 45 33 38 4e 66 6c 4e 55 56 79 52 BQVvnGCv04zcQLcFGUl5gE38NflNUVyR
195800 52 42 6e 4d 52 64 64 57 51 56 44 66 39 56 4d 4f 79 47 0a 6a 2f 38 4e 37 79 79 35 59 30 62 32 71 RBnMRddWQVDf9VMOyG.j/8N7yy5Y0b2q
195820 76 7a 66 76 47 6e 39 4c 68 4a 49 5a 4a 72 67 6c 66 43 6d 37 79 6d 50 41 62 45 56 74 51 77 64 70 vzfvGn9LhJIZJrglfCm7ymPAbEVtQwdp
195840 66 35 70 4c 47 6b 6b 65 42 36 7a 70 78 78 78 59 75 37 4b 79 4a 65 73 46 31 32 4b 77 76 68 48 0a f5pLGkkeB6zpxxxYu7KyJesF12KwvhH.
195860 68 6d 34 71 78 46 59 78 6c 64 42 6e 69 59 55 72 2b 57 79 6d 58 55 61 64 44 4b 71 43 35 4a 6c 52 hm4qxFYxldBniYUr+WymXUadDKqC5JlR
195880 33 58 43 33 32 31 59 39 59 65 52 71 34 56 7a 57 39 76 34 39 33 6b 48 4d 42 36 35 6a 55 72 39 54 3XC321Y9YeRq4VzW9v493kHMB65jUr9T
1958a0 55 2f 51 72 36 63 66 39 74 76 65 43 0a 58 34 58 53 51 52 6a 62 67 62 4d 45 48 4d 55 66 70 49 42 U/Qr6cf9tveC.X4XSQRjbgbMEHMUfpIB
1958c0 76 46 53 44 4a 33 67 79 49 43 68 33 57 5a 6c 58 69 2f 45 6a 4a 4b 53 5a 70 34 41 3d 3d 0a 2d 2d vFSDJ3gyICh3WZlXi/EjJKSZp4A==.--
1958e0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 ---END.CERTIFICATE-----..GlobalS
195900 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ign.Root.CA.-.R2.===============
195920 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
195940 2d 2d 2d 2d 0a 4d 49 49 44 75 6a 43 43 41 71 4b 67 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 ----.MIIDujCCAqKgAwIBAgILBAAAAAA
195960 42 44 34 59 6d 35 67 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 54 44 45 BD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDE
195980 67 4d 42 34 47 41 31 55 45 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 32 6c 6e 62 69 42 53 62 32 gMB4GA1UECxMXR2xv.YmFsU2lnbiBSb2
1959a0 39 30 49 45 4e 42 49 43 30 67 55 6a 49 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 64 73 62 32 90IENBIC0gUjIxEzARBgNVBAoTCkdsb2
1959c0 4a 68 62 46 4e 70 5a 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 62 32 4a 68 0a 62 JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh.b
1959e0 46 4e 70 5a 32 34 77 48 68 63 4e 4d 44 59 78 4d 6a 45 31 4d 44 67 77 4d 44 41 77 57 68 63 4e 4d FNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNM
195a00 6a 45 78 4d 6a 45 31 4d 44 67 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 56 51 51 4c 45 jExMjE1MDgwMDAwWjBMMSAwHgYDVQQLE
195a20 78 64 48 62 47 39 69 59 57 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 53 xdHbG9iYWxT.aWduIFJvb3QgQ0EgLSBS
195a40 4d 6a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 6a 45 54 MjETMBEGA1UEChMKR2xvYmFsU2lnbjET
195a60 4d 42 45 47 41 31 55 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 0a 62 6a 43 43 41 53 49 MBEGA1UEAxMKR2xvYmFsU2ln.bjCCASI
195a80 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f wDQYJKoZIhvcNAQEBBQADggEPADCCAQo
195aa0 43 67 67 45 42 41 4b 62 50 4a 41 36 2b 4c 6d 38 6f 6d 55 56 43 78 4b 73 2b 49 56 53 62 43 39 4e CggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N
195ac0 2f 68 48 44 36 0a 45 72 50 4c 76 34 64 66 78 6e 2b 47 30 37 49 77 58 4e 62 39 72 66 46 37 33 4f /hHD6.ErPLv4dfxn+G07IwXNb9rfF73O
195ae0 58 34 59 4a 59 4a 6b 68 44 31 30 46 50 65 2b 33 74 2b 63 34 69 73 55 6f 68 37 53 71 62 4b 53 61 X4YJYJkhD10FPe+3t+c4isUoh7SqbKSa
195b00 5a 65 71 4b 65 4d 57 68 47 38 65 6f 4c 72 76 6f 7a 70 0a 73 36 79 57 4a 51 65 58 53 70 6b 71 42 ZeqKeMWhG8eoLrvozp.s6yWJQeXSpkqB
195b20 79 2b 30 48 6e 65 2f 69 67 2b 31 41 6e 77 62 6c 72 6a 46 75 54 6f 73 76 4e 59 53 75 65 74 5a 66 y+0Hne/ig+1AnwblrjFuTosvNYSuetZf
195b40 65 4c 51 42 6f 5a 66 58 6b 6c 71 74 54 6c 65 69 44 54 73 76 48 67 4d 43 4a 69 45 62 4b 6a 4e 0a eLQBoZfXklqtTleiDTsvHgMCJiEbKjN.
195b60 53 37 53 67 66 51 78 35 54 66 43 34 4c 63 73 68 79 74 56 73 57 33 33 68 6f 43 6d 45 6f 66 6e 54 S7SgfQx5TfC4LcshytVsW33hoCmEofnT
195b80 6c 45 6e 4c 4a 47 4b 52 49 4c 7a 64 43 39 58 5a 7a 50 6e 71 4a 77 6f 72 63 35 48 47 6e 52 75 73 lEnLJGKRILzdC9XZzPnqJworc5HGnRus
195ba0 79 4d 76 6f 34 4b 44 30 4c 35 43 4c 0a 54 66 75 77 4e 68 76 32 47 58 71 46 34 47 33 79 59 52 4f yMvo4KD0L5CL.TfuwNhv2GXqF4G3yYRO
195bc0 49 58 4a 2f 67 6b 77 70 52 6c 34 70 61 7a 71 2b 72 31 66 65 71 43 61 70 67 76 64 7a 5a 58 39 39 IXJ/gkwpRl4pazq+r1feqCapgvdzZX99
195be0 79 71 57 41 54 58 67 41 42 79 55 72 36 50 36 54 71 42 77 4d 68 41 6f 36 43 0a 79 67 50 43 6d 34 yqWATXgAByUr6P6TqBwMhAo6C.ygPCm4
195c00 38 43 41 77 45 41 41 61 4f 42 6e 44 43 42 6d 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 8CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBA
195c20 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 MCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBg
195c40 4e 56 48 51 34 45 0a 46 67 51 55 6d 2b 49 48 56 32 63 63 48 73 42 71 42 74 35 5a 74 4a 6f 74 33 NVHQ4E.FgQUm+IHV2ccHsBqBt5ZtJot3
195c60 39 77 5a 68 69 34 77 4e 67 59 44 56 52 30 66 42 43 38 77 4c 54 41 72 6f 43 6d 67 4a 34 59 6c 61 9wZhi4wNgYDVR0fBC8wLTAroCmgJ4Yla
195c80 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 6e 62 47 39 69 0a 59 57 78 7a 61 57 64 75 4c 6d 35 6c HR0cDovL2NybC5nbG9i.YWxzaWduLm5l
195ca0 64 43 39 79 62 32 39 30 4c 58 49 79 4c 6d 4e 79 62 44 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 dC9yb290LXIyLmNybDAfBgNVHSMEGDAW
195cc0 67 42 53 62 34 67 64 58 5a 78 77 65 77 47 6f 47 33 6c 6d 30 6d 69 33 66 33 42 6d 47 4c 6a 41 4e gBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
195ce0 0a 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6d 59 46 54 68 78 78 .BgkqhkiG9w0BAQUFAAOCAQEAmYFThxx
195d00 6f 6c 34 61 52 37 4f 42 4b 75 45 51 4c 71 34 47 73 4a 30 2f 57 77 62 67 63 51 33 69 7a 44 4a 72 ol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr
195d20 38 36 69 77 38 62 6d 45 62 54 55 73 70 0a 39 5a 38 46 48 53 62 42 75 4f 6d 44 41 47 4a 46 74 71 86iw8bmEbTUsp.9Z8FHSbBuOmDAGJFtq
195d40 6b 49 6b 37 6d 70 4d 30 73 59 6d 73 4c 34 68 34 68 4f 32 39 31 78 4e 42 72 42 56 4e 70 47 50 2b kIk7mpM0sYmsL4h4hO291xNBrBVNpGP+
195d60 44 54 4b 71 74 74 56 43 4c 31 4f 6d 4c 4e 49 47 2b 36 4b 59 6e 58 33 5a 48 75 0a 30 31 79 69 50 DTKqttVCL1OmLNIG+6KYnX3ZHu.01yiP
195d80 71 46 62 51 66 58 66 35 57 52 44 4c 65 6e 56 4f 61 76 53 6f 74 2b 33 69 39 44 41 67 42 6b 63 52 qFbQfXf5WRDLenVOavSot+3i9DAgBkcR
195da0 63 41 74 6a 4f 6a 34 4c 61 52 30 56 6b 6e 46 42 62 56 50 46 64 35 75 52 48 67 35 68 36 68 2b 75 cAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u
195dc0 2f 4e 35 47 4a 47 37 0a 39 47 2b 64 77 66 43 4d 4e 59 78 64 41 66 76 44 62 62 6e 76 52 47 31 35 /N5GJG7.9G+dwfCMNYxdAfvDbbnvRG15
195de0 52 6a 46 2b 43 76 36 70 67 73 48 2f 37 36 74 75 49 4d 52 51 79 56 2b 64 54 5a 73 58 6a 41 7a 6c RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzl
195e00 41 63 6d 67 51 57 70 7a 55 2f 71 6c 55 4c 52 75 4a 51 2f 37 0a 54 42 6a 30 2f 56 4c 5a 6a 6d 6d AcmgQWpzU/qlULRuJQ/7.TBj0/VLZjmm
195e20 78 36 42 45 50 33 6f 6a 59 2b 78 31 4a 39 36 72 65 6c 63 38 67 65 4d 4a 67 45 74 73 6c 51 49 78 x6BEP3ojY+x1J96relc8geMJgEtslQIx
195e40 71 2f 48 35 43 4f 45 42 6b 45 76 65 65 67 65 47 54 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 q/H5COEBkEveegeGTLg==.-----END.C
195e60 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 73 69 67 6e 20 43 6c 61 73 73 20 ERTIFICATE-----..Verisign.Class.
195e80 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 3.Public.Primary.Certification.A
195ea0 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d uthority.-.G3.==================
195ec0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
195ee0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
195f00 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 47 6a 43 43 41 77 49 43 45 51 43 62 66 67 5a 4a 6f 7a 35 69 75 E-----.MIIEGjCCAwICEQCbfgZJoz5iu
195f20 64 58 75 6b 45 68 78 4b 65 39 58 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d dXukEhxKe9XMA0GCSqGSIb3DQEBBQUAM
195f40 49 48 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 58 4d 42 55 47 41 31 55 45 IHKMQswCQYDVQQGEwJV.UzEXMBUGA1UE
195f60 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 7a 41 64 42 67 4e 56 ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV
195f80 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e 30 49 45 35 6c 64 48 64 76 BAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
195fa0 0a 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 78 4f 54 6b 35 49 46 5a .cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZ
195fc0 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 lcmlTaWduLCBJbmMuIC0gRm9yIGF1dGh
195fe0 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 52 54 42 44 42 67 4e 56 42 41 vcml6ZWQgdXNl.IG9ubHkxRTBDBgNVBA
196000 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 44 4d 67 55 48 56 69 62 47 MTPFZlcmlTaWduIENsYXNzIDMgUHVibG
196020 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 ljIFByaW1hcnkgQ2VydGlmaWNh.dGlvb
196040 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 41 65 46 77 30 35 4f 54 45 77 4d iBBdXRob3JpdHkgLSBHMzAeFw05OTEwM
196060 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4e 6a 41 33 4d 54 59 79 4d 7a 55 35 4e 54 6c 61 4d DEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaM
196080 49 48 4b 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 58 4d 42 55 47 41 31 55 45 IHKMQsw.CQYDVQQGEwJVUzEXMBUGA1UE
1960a0 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 7a 41 64 42 67 4e 56 ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV
1960c0 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 0a 64 58 4e 30 49 45 35 6c 64 48 64 BAsTFlZlcmlTaWduIFRy.dXN0IE5ldHd
1960e0 76 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 78 4f 54 6b 35 49 46 5a vcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZ
196100 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 lcmlTaWduLCBJbmMuIC0gRm9yIGF1dGh
196120 76 0a 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 52 54 42 44 42 67 4e 56 42 41 v.cml6ZWQgdXNlIG9ubHkxRTBDBgNVBA
196140 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 44 4d 67 55 48 56 69 62 47 MTPFZlcmlTaWduIENsYXNzIDMgUHVibG
196160 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 0a 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 ljIFByaW1hcnkg.Q2VydGlmaWNhdGlvb
196180 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b iBBdXRob3JpdHkgLSBHMzCCASIwDQYJK
1961a0 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 42 oZIhvcNAQEBBQADggEPADCCAQoC.ggEB
1961c0 41 4d 75 36 6e 46 4c 38 65 42 38 61 48 6d 38 62 4e 33 4f 39 2b 4d 6c 72 6c 42 49 77 54 2f 41 32 AMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2
1961e0 52 2f 58 51 6b 51 72 31 46 38 69 6c 59 63 45 57 51 45 33 37 69 6d 47 51 35 58 59 67 77 52 45 47 R/XQkQr1F8ilYcEWQE37imGQ5XYgwREG
196200 66 61 73 73 62 71 62 31 0a 45 55 47 4f 2b 69 32 74 4b 6d 46 5a 70 47 63 6d 54 4e 44 6f 76 46 4a fassbqb1.EUGO+i2tKmFZpGcmTNDovFJ
196220 62 63 43 41 45 57 4e 46 36 79 61 52 70 76 49 4d 58 5a 4b 30 46 69 37 7a 51 57 4d 36 4e 6a 50 58 bcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPX
196240 72 38 45 4a 4a 43 35 32 58 4a 32 63 79 62 75 47 75 6b 78 55 63 0a 63 4c 77 67 54 53 38 59 33 70 r8EJJC52XJ2cybuGukxUc.cLwgTS8Y3p
196260 4b 49 36 47 79 46 56 78 45 61 36 58 37 6a 4a 68 46 55 6f 6b 57 57 56 59 50 4b 4d 49 6e 6f 33 4e KI6GyFVxEa6X7jJhFUokWWVYPKMIno3N
196280 69 6a 37 53 71 41 50 33 39 35 5a 56 63 2b 46 53 42 6d 43 43 2b 56 6b 37 2b 71 52 79 2b 6f 52 70 ij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRp
1962a0 66 77 0a 45 75 4c 2b 77 67 6f 72 55 65 5a 32 35 72 64 47 74 2b 49 4e 70 73 79 6f 77 30 78 5a 56 fw.EuL+wgorUeZ25rdGt+INpsyow0xZV
1962c0 59 6e 6d 36 46 4e 63 48 4f 71 64 38 47 49 57 43 36 66 4a 58 77 7a 77 33 73 4a 32 7a 71 2f 33 61 Ynm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3a
1962e0 76 4c 36 51 61 61 69 4d 78 54 4a 35 58 70 6a 0a 30 35 35 69 4e 39 57 46 5a 5a 34 4f 35 6c 4d 6b vL6QaaiMxTJ5Xpj.055iN9WFZZ4O5lMk
196300 64 42 74 65 48 52 4a 54 57 38 63 73 35 34 4e 4a 4f 78 57 75 69 6d 69 35 56 35 63 43 41 77 45 41 dBteHRJTW8cs54NJOxWuimi5V5cCAwEA
196320 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 0a 45 52 53 ATANBgkqhkiG9w0BAQUFAAOCAQEA.ERS
196340 57 77 61 75 53 43 50 63 2f 4c 38 6d 79 2f 75 52 61 6e 32 54 65 32 79 46 50 68 70 6b 30 64 6a 5a WwauSCPc/L8my/uRan2Te2yFPhpk0djZ
196360 58 33 64 41 56 4c 38 57 74 66 78 55 66 4e 32 4a 7a 50 74 54 6e 58 38 34 58 41 39 73 31 2b 69 76 X3dAVL8WtfxUfN2JzPtTnX84XA9s1+iv
196380 62 72 6d 41 4a 58 78 35 66 0a 6a 32 36 37 43 7a 33 71 57 68 4d 65 44 47 42 76 74 63 43 31 49 79 brmAJXx5f.j267Cz3qWhMeDGBvtcC1Iy
1963a0 49 75 42 77 76 4c 71 58 54 4c 52 37 73 64 77 64 65 6c 61 38 77 76 30 6b 4c 39 53 64 32 6e 69 63 IuBwvLqXTLR7sdwdela8wv0kL9Sd2nic
1963c0 39 54 75 74 6f 41 57 69 69 2f 67 74 2f 34 75 68 4d 64 55 49 61 43 0a 2f 59 34 77 6a 79 6c 47 73 9TutoAWii/gt/4uhMdUIaC./Y4wjylGs
1963e0 42 34 39 4e 64 6f 34 59 68 59 59 53 71 33 6d 74 6c 46 73 33 71 39 69 36 77 48 51 48 69 54 2b 65 B49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+e
196400 6f 38 53 47 68 4a 6f 75 50 74 6d 6d 52 51 55 52 56 79 75 35 36 35 70 46 34 45 72 57 6a 66 4a 58 o8SGhJouPtmmRQURVyu565pF4ErWjfJX
196420 69 72 30 0a 78 75 4b 68 58 46 53 62 70 6c 51 41 7a 2f 44 78 77 63 65 59 4d 42 6f 37 4e 68 62 62 ir0.xuKhXFSbplQAz/DxwceYMBo7Nhbb
196440 6f 32 37 71 2f 61 32 79 77 74 72 76 41 6b 63 54 69 73 44 78 73 7a 47 74 54 78 7a 68 54 35 79 76 o27q/a2ywtrvAkcTisDxszGtTxzhT5yv
196460 44 77 79 64 39 33 67 4e 32 50 51 31 56 6f 44 61 0a 74 32 30 58 6a 35 30 65 67 57 54 68 2f 73 56 Dwyd93gN2PQ1VoDa.t20Xj50egWTh/sV
196480 46 75 71 31 72 75 51 70 36 54 6b 39 4c 68 4f 35 4c 38 58 33 64 45 51 3d 3d 0a 2d 2d 2d 2d 2d 45 Fuq1ruQp6Tk9LhO5L8X3dEQ==.-----E
1964a0 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 2e 6e 65 74 ND.CERTIFICATE-----..Entrust.net
1964c0 20 50 72 65 6d 69 75 6d 20 32 30 34 38 20 53 65 63 75 72 65 20 53 65 72 76 65 72 20 43 41 0a 3d .Premium.2048.Secure.Server.CA.=
1964e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
196500 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
196520 2d 2d 2d 2d 0a 4d 49 49 45 4b 6a 43 43 41 78 4b 67 41 77 49 42 41 67 49 45 4f 47 50 65 2b 44 41 ----.MIIEKjCCAxKgAwIBAgIEOGPe+DA
196540 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 74 44 45 55 4d 42 49 47 41 31 55 NBgkqhkiG9w0BAQUFADCBtDEUMBIGA1U
196560 45 43 68 4d 4c 52 57 35 30 63 6e 56 7a 64 43 35 75 0a 5a 58 51 78 51 44 41 2b 42 67 4e 56 42 41 EChMLRW50cnVzdC5u.ZXQxQDA+BgNVBA
196580 73 55 4e 33 64 33 64 79 35 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 55 46 4e 66 4d 6a sUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMj
1965a0 41 30 4f 43 42 70 62 6d 4e 76 63 6e 41 75 49 47 4a 35 49 48 4a 6c 5a 69 34 67 4b 47 78 70 0a 62 A0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp.b
1965c0 57 6c 30 63 79 42 73 61 57 46 69 4c 69 6b 78 4a 54 41 6a 42 67 4e 56 42 41 73 54 48 43 68 6a 4b Wl0cyBsaWFiLikxJTAjBgNVBAsTHChjK
1965e0 53 41 78 4f 54 6b 35 49 45 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 49 45 78 70 62 57 6c 30 5a SAxOTk5IEVudHJ1c3QubmV0IExpbWl0Z
196600 57 51 78 4d 7a 41 78 42 67 4e 56 0a 42 41 4d 54 4b 6b 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 WQxMzAxBgNV.BAMTKkVudHJ1c3QubmV0
196620 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
196640 49 43 67 79 4d 44 51 34 4b 54 41 65 46 77 30 35 4f 54 45 79 4d 6a 51 78 0a 4e 7a 55 77 4e 54 46 ICgyMDQ4KTAeFw05OTEyMjQx.NzUwNTF
196660 61 46 77 30 79 4f 54 41 33 4d 6a 51 78 4e 44 45 31 4d 54 4a 61 4d 49 47 30 4d 52 51 77 45 67 59 aFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgY
196680 44 56 51 51 4b 45 77 74 46 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 44 46 41 4d 44 34 47 41 31 55 DVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1U
1966a0 45 43 78 51 33 0a 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 30 4e 51 55 31 ECxQ3.d3d3LmVudHJ1c3QubmV0L0NQU1
1966c0 38 79 4d 44 51 34 49 47 6c 75 59 32 39 79 63 43 34 67 59 6e 6b 67 63 6d 56 6d 4c 69 41 6f 62 47 8yMDQ4IGluY29ycC4gYnkgcmVmLiAobG
1966e0 6c 74 61 58 52 7a 49 47 78 70 59 57 49 75 4b 54 45 6c 0a 4d 43 4d 47 41 31 55 45 43 78 4d 63 4b ltaXRzIGxpYWIuKTEl.MCMGA1UECxMcK
196700 47 4d 70 49 44 45 35 4f 54 6b 67 52 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 67 54 47 6c 74 61 GMpIDE5OTkgRW50cnVzdC5uZXQgTGlta
196720 58 52 6c 5a 44 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 63 6e 56 7a 64 43 35 75 0a XRlZDEzMDEGA1UEAxMqRW50cnVzdC5u.
196740 5a 58 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
196760 64 48 6b 67 4b 44 49 77 4e 44 67 70 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 dHkgKDIwNDgpMIIBIjANBgkqhkiG9w0B
196780 41 51 45 46 41 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 72 55 31 4c 71 52 4b AQEFAAOCAQ8A.MIIBCgKCAQEArU1LqRK
1967a0 47 73 75 71 6a 49 41 63 56 46 6d 51 71 4b 30 76 52 76 77 74 4b 54 59 37 74 67 48 61 6c 5a 37 64 GsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d
1967c0 34 51 4d 42 7a 51 73 68 6f 77 4e 74 54 4b 39 31 65 75 48 61 59 4e 5a 4f 4c 0a 47 70 31 38 45 7a 4QMBzQshowNtTK91euHaYNZOL.Gp18Ez
1967e0 6f 4f 48 31 75 33 48 73 2f 6c 4a 42 51 65 73 59 47 70 6a 58 32 34 7a 47 74 4c 41 2f 45 43 44 4e oOH1u3Hs/lJBQesYGpjX24zGtLA/ECDN
196800 79 72 70 55 41 6b 41 48 39 30 6c 4b 47 64 43 43 6d 7a 69 41 76 31 68 33 65 64 56 63 33 6b 77 33 yrpUAkAH90lKGdCCmziAv1h3edVc3kw3
196820 37 58 61 6d 53 72 0a 68 52 53 47 6c 56 75 58 4d 6c 42 76 50 63 69 36 5a 67 7a 6a 2f 4c 32 34 53 7XamSr.hRSGlVuXMlBvPci6Zgzj/L24S
196840 63 46 32 69 55 6b 5a 2f 63 43 6f 76 59 6d 6a 5a 79 2f 47 6e 37 78 78 47 57 43 34 4c 65 6b 73 79 cF2iUkZ/cCovYmjZy/Gn7xxGWC4Leksy
196860 5a 42 32 5a 6e 75 55 34 71 39 34 31 6d 56 54 58 54 7a 57 0a 6e 4c 4c 50 4b 51 50 35 4c 36 52 51 ZB2ZnuU4q941mVTXTzW.nLLPKQP5L6RQ
196880 73 74 52 49 7a 67 55 79 56 59 72 39 73 6d 52 4d 44 75 53 59 42 33 58 62 66 39 2b 35 43 46 56 67 stRIzgUyVYr9smRMDuSYB3Xbf9+5CFVg
1968a0 68 54 41 70 2b 58 74 49 70 47 6d 47 34 7a 55 2f 48 6f 5a 64 65 6e 6f 56 76 65 38 41 6a 68 55 69 hTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
1968c0 0a 56 42 63 41 6b 43 61 54 76 41 35 4a 61 4a 47 2f 2b 45 66 54 6e 5a 56 43 77 51 35 4e 33 32 38 .VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328
1968e0 6d 7a 38 4d 59 49 57 4a 6d 51 33 44 57 31 63 41 48 34 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDA
196900 4f 42 67 4e 56 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 OBgNVHQ8BAf8E.BAMCAQYwDwYDVR0TAQ
196920 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 56 65 53 42 30 52 H/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0R
196940 47 41 76 74 69 4a 75 51 69 6a 4d 66 6d 68 4a 41 6b 57 75 58 41 77 44 51 59 4a 0a 4b 6f 5a 49 68 GAvtiJuQijMfmhJAkWuXAwDQYJ.KoZIh
196960 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 75 62 6a 31 61 62 4d 4f 64 54 6d 58 78 36 65 vcNAQEFBQADggEBADubj1abMOdTmXx6e
196980 61 64 4e 6c 39 63 5a 6c 5a 44 37 42 68 2f 4b 4d 33 78 47 59 34 2b 57 5a 69 54 36 51 42 73 68 4a adNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ
1969a0 38 72 6d 63 6e 50 79 0a 54 2f 34 78 6d 66 33 49 44 45 78 6f 55 38 61 41 67 68 4f 59 2b 72 61 74 8rmcnPy.T/4xmf3IDExoU8aAghOY+rat
1969c0 32 6c 30 39 38 63 35 75 39 68 55 52 6c 49 49 4d 37 6a 2b 56 72 78 47 72 44 39 63 76 33 68 38 44 2l098c5u9hURlIIM7j+VrxGrD9cv3h8D
1969e0 6a 31 63 73 48 73 6d 37 6d 68 70 45 6c 65 73 59 54 36 59 66 0a 7a 58 31 58 45 43 2b 62 42 41 6c j1csHsm7mhpElesYT6Yf.zX1XEC+bBAl
196a00 61 68 4c 56 75 32 42 30 36 34 64 61 65 30 57 78 35 58 6e 6b 63 46 4d 58 6a 30 45 79 54 4f 32 55 ahLVu2B064dae0Wx5XnkcFMXj0EyTO2U
196a20 38 37 64 38 39 76 71 62 6c 6c 52 72 44 74 52 6e 44 76 56 35 62 75 2f 38 6a 37 32 67 5a 79 78 4b 87d89vqbllRrDtRnDvV5bu/8j72gZyxK
196a40 54 0a 4a 31 77 44 4c 57 38 77 30 42 36 32 47 71 7a 65 57 76 66 52 71 71 67 6e 70 76 35 35 67 63 T.J1wDLW8w0B62GqzeWvfRqqgnpv55gc
196a60 52 35 6d 54 4e 58 75 68 4b 77 71 65 42 43 62 4a 50 4b 56 74 37 2b 62 59 51 4c 43 49 74 2b 6a 65 R5mTNXuhKwqeBCbJPKVt7+bYQLCIt+je
196a80 72 58 6d 43 48 47 38 2b 63 38 65 53 39 65 0a 6e 4e 46 4d 46 59 33 68 37 43 49 33 7a 4a 70 44 43 rXmCHG8+c8eS9e.nNFMFY3h7CI3zJpDC
196aa0 35 66 63 67 4a 43 4e 73 32 65 62 62 30 67 49 46 56 62 50 76 2f 45 72 66 46 36 61 64 75 6c 5a 6b 5fcgJCNs2ebb0gIFVbPv/ErfF6adulZk
196ac0 4d 56 38 67 7a 55 52 5a 56 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 MV8gzURZVE=.-----END.CERTIFICATE
196ae0 2d 2d 2d 2d 2d 0a 0a 42 61 6c 74 69 6d 6f 72 65 20 43 79 62 65 72 54 72 75 73 74 20 52 6f 6f 74 -----..Baltimore.CyberTrust.Root
196b00 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d .=========================.-----
196b20 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 BEGIN.CERTIFICATE-----.MIIDdzCCA
196b40 6c 2b 67 41 77 49 42 41 67 49 45 41 67 41 41 75 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 l+gAwIBAgIEAgAAuTANBgkqhkiG9w0BA
196b60 51 55 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a 52 54 45 53 4d 42 41 47 41 QUFADBaMQswCQYDVQQGEwJJRTESMBAGA
196b80 31 55 45 0a 43 68 4d 4a 51 6d 46 73 64 47 6c 74 62 33 4a 6c 4d 52 4d 77 45 51 59 44 56 51 51 4c 1UE.ChMJQmFsdGltb3JlMRMwEQYDVQQL
196ba0 45 77 70 44 65 57 4a 6c 63 6c 52 79 64 58 4e 30 4d 53 49 77 49 41 59 44 56 51 51 44 45 78 6c 43 EwpDeWJlclRydXN0MSIwIAYDVQQDExlC
196bc0 59 57 78 30 61 57 31 76 63 6d 55 67 51 33 6c 69 0a 5a 58 4a 55 63 6e 56 7a 64 43 42 53 62 32 39 YWx0aW1vcmUgQ3li.ZXJUcnVzdCBSb29
196be0 30 4d 42 34 58 44 54 41 77 4d 44 55 78 4d 6a 45 34 4e 44 59 77 4d 46 6f 58 44 54 49 31 4d 44 55 0MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDU
196c00 78 4d 6a 49 7a 4e 54 6b 77 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 53 55 xMjIzNTkwMFowWjELMAkGA1UEBhMC.SU
196c20 55 78 45 6a 41 51 42 67 4e 56 42 41 6f 54 43 55 4a 68 62 48 52 70 62 57 39 79 5a 54 45 54 4d 42 UxEjAQBgNVBAoTCUJhbHRpbW9yZTETMB
196c40 45 47 41 31 55 45 43 78 4d 4b 51 33 6c 69 5a 58 4a 55 63 6e 56 7a 64 44 45 69 4d 43 41 47 41 31 EGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1
196c60 55 45 41 78 4d 5a 51 6d 46 73 0a 64 47 6c 74 62 33 4a 6c 49 45 4e 35 59 6d 56 79 56 48 4a 31 63 UEAxMZQmFs.dGltb3JlIEN5YmVyVHJ1c
196c80 33 51 67 55 6d 39 76 64 44 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBB
196ca0 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 4d 45 0a 75 79 4b 72 6d 44 31 58 QADggEPADCCAQoCggEBAKME.uyKrmD1X
196cc0 36 43 5a 79 6d 72 56 35 31 43 6e 69 34 65 69 56 67 4c 47 77 34 31 75 4f 4b 79 6d 61 5a 4e 2b 68 6CZymrV51Cni4eiVgLGw41uOKymaZN+h
196ce0 58 65 32 77 43 51 56 74 32 79 67 75 7a 6d 4b 69 59 76 36 30 69 4e 6f 53 36 7a 6a 72 49 5a 33 41 Xe2wCQVt2yguzmKiYv60iNoS6zjrIZ3A
196d00 51 53 73 42 0a 55 6e 75 49 64 39 4d 63 6a 38 65 36 75 59 69 31 61 67 6e 6e 63 2b 67 52 51 4b 66 QSsB.UnuId9Mcj8e6uYi1agnnc+gRQKf
196d20 52 7a 4d 70 69 6a 53 33 6c 6a 77 75 6d 55 4e 4b 6f 55 4d 4d 6f 36 76 57 72 4a 59 65 4b 6d 70 59 RzMpijS3ljwumUNKoUMMo6vWrJYeKmpY
196d40 63 71 57 65 34 50 77 7a 56 39 2f 6c 53 45 79 2f 43 0a 47 39 56 77 63 50 43 50 77 42 4c 4b 42 73 cqWe4PwzV9/lSEy/C.G9VwcPCPwBLKBs
196d60 75 61 34 64 6e 4b 4d 33 70 33 31 76 6a 73 75 66 46 6f 52 45 4a 49 45 39 4c 41 77 71 53 75 58 6d ua4dnKM3p31vjsufFoREJIE9LAwqSuXm
196d80 44 2b 74 71 59 46 2f 4c 54 64 42 31 6b 43 31 46 6b 59 6d 47 50 31 70 57 50 67 6b 41 78 39 0a 58 D+tqYF/LTdB1kC1FkYmGP1pWPgkAx9.X
196da0 62 49 47 65 76 4f 46 36 75 76 55 41 36 35 65 68 44 35 66 2f 78 58 74 61 62 7a 35 4f 54 5a 79 64 bIGevOF6uvUA65ehD5f/xXtabz5OTZyd
196dc0 63 39 33 55 6b 33 7a 79 5a 41 73 75 54 33 6c 79 53 4e 54 50 78 38 6b 6d 43 46 63 42 35 6b 70 76 c93Uk3zyZAsuT3lySNTPx8kmCFcB5kpv
196de0 63 59 36 37 4f 64 75 68 6a 70 72 0a 6c 33 52 6a 4d 37 31 6f 47 44 48 77 65 49 31 32 76 2f 79 65 cY67Oduhjpr.l3RjM71oGDHweI12v/ye
196e00 6a 6c 30 71 68 71 64 4e 6b 4e 77 6e 47 6a 6b 43 41 77 45 41 41 61 4e 46 4d 45 4d 77 48 51 59 44 jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYD
196e20 56 52 30 4f 42 42 59 45 46 4f 57 64 57 54 43 43 52 31 6a 4d 72 50 6f 49 0a 56 44 61 47 65 7a 71 VR0OBBYEFOWdWTCCR1jMrPoI.VDaGezq
196e40 31 42 45 33 77 4d 42 49 47 41 31 55 64 45 77 45 42 2f 77 51 49 4d 41 59 42 41 66 38 43 41 51 4d 1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQM
196e60 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 53 49 62 wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb
196e80 33 44 51 45 42 0a 42 51 55 41 41 34 49 42 41 51 43 46 44 46 32 4f 35 47 39 52 61 45 49 46 6f 4e 3DQEB.BQUAA4IBAQCFDF2O5G9RaEIFoN
196ea0 32 37 54 79 63 6c 68 41 4f 39 39 32 54 39 4c 64 63 77 34 36 51 51 46 2b 76 61 4b 53 6d 32 65 54 27TyclhAO992T9Ldcw46QQF+vaKSm2eT
196ec0 39 32 39 68 6b 54 49 37 67 51 43 76 6c 59 70 4e 52 68 0a 63 4c 30 45 59 57 6f 53 69 68 66 56 43 929hkTI7gQCvlYpNRh.cL0EYWoSihfVC
196ee0 72 33 46 76 44 42 38 31 75 6b 4d 4a 59 32 47 51 45 2f 73 7a 4b 4e 2b 4f 4d 59 33 45 55 2f 74 33 r3FvDB81ukMJY2GQE/szKN+OMY3EU/t3
196f00 57 67 78 6a 6b 7a 53 73 77 46 30 37 72 35 31 58 67 64 49 47 6e 39 77 2f 78 5a 63 68 4d 42 35 0a WgxjkzSswF07r51XgdIGn9w/xZchMB5.
196f20 68 62 67 46 2f 58 2b 2b 5a 52 47 6a 44 38 41 43 74 50 68 53 4e 7a 6b 45 31 61 6b 78 65 68 69 2f hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/
196f40 6f 43 72 30 45 70 6e 33 6f 30 57 43 34 7a 78 65 39 5a 32 65 74 63 69 65 66 43 37 49 70 4a 35 4f oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5O
196f60 43 42 52 4c 62 66 31 77 62 57 73 61 0a 59 37 31 6b 35 68 2b 33 7a 76 44 79 6e 79 36 37 47 37 66 CBRLbf1wbWsa.Y71k5h+3zvDyny67G7f
196f80 79 55 49 68 7a 6b 73 4c 69 34 78 61 4e 6d 6a 49 43 71 34 34 59 33 65 6b 51 45 65 35 2b 4e 61 75 yUIhzksLi4xaNmjICq44Y3ekQEe5+Nau
196fa0 51 72 7a 34 77 6c 48 72 51 4d 7a 32 6e 5a 51 2f 31 2f 49 36 65 59 73 39 48 0a 52 43 77 42 58 62 Qrz4wlHrQMz2nZQ/1/I6eYs9H.RCwBXb
196fc0 73 64 74 54 4c 53 52 39 49 34 4c 74 44 2b 67 64 77 79 61 68 36 31 37 6a 7a 56 2f 4f 65 42 48 52 sdtTLSR9I4LtD+gdwyah617jzV/OeBHR
196fe0 6e 44 4a 45 4c 71 59 7a 6d 70 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d nDJELqYzmp.-----END.CERTIFICATE-
197000 2d 2d 2d 2d 0a 0a 41 64 64 54 72 75 73 74 20 45 78 74 65 72 6e 61 6c 20 52 6f 6f 74 0a 3d 3d 3d ----..AddTrust.External.Root.===
197020 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
197040 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4e 6a 43 43 41 78 36 67 41 77 49 42 ERTIFICATE-----.MIIENjCCAx6gAwIB
197060 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 76 4d 51 73 77 AgIBATANBgkqhkiG9w0BAQUFADBvMQsw
197080 43 51 59 44 56 51 51 47 45 77 4a 54 52 54 45 55 4d 42 49 47 41 31 55 45 43 68 4d 4c 0a 51 57 52 CQYDVQQGEwJTRTEUMBIGA1UEChML.QWR
1970a0 6b 56 48 4a 31 63 33 51 67 51 55 49 78 4a 6a 41 6b 42 67 4e 56 42 41 73 54 48 55 46 6b 5a 46 52 kVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFR
1970c0 79 64 58 4e 30 49 45 56 34 64 47 56 79 62 6d 46 73 49 46 52 55 55 43 42 4f 5a 58 52 33 62 33 4a ydXN0IEV4dGVybmFsIFRUUCBOZXR3b3J
1970e0 72 4d 53 49 77 49 41 59 44 0a 56 51 51 44 45 78 6c 42 5a 47 52 55 63 6e 56 7a 64 43 42 46 65 48 rMSIwIAYD.VQQDExlBZGRUcnVzdCBFeH
197100 52 6c 63 6d 35 68 62 43 42 44 51 53 42 53 62 32 39 30 4d 42 34 58 44 54 41 77 4d 44 55 7a 4d 44 Rlcm5hbCBDQSBSb290MB4XDTAwMDUzMD
197120 45 77 4e 44 67 7a 4f 46 6f 58 44 54 49 77 4d 44 55 7a 4d 44 45 77 0a 4e 44 67 7a 4f 46 6f 77 62 EwNDgzOFoXDTIwMDUzMDEw.NDgzOFowb
197140 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 55 30 55 78 46 44 41 53 42 67 4e 56 42 41 6f 54 43 zELMAkGA1UEBhMCU0UxFDASBgNVBAoTC
197160 30 46 6b 5a 46 52 79 64 58 4e 30 49 45 46 43 4d 53 59 77 4a 41 59 44 56 51 51 4c 45 78 31 42 5a 0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZ
197180 47 52 55 0a 63 6e 56 7a 64 43 42 46 65 48 52 6c 63 6d 35 68 62 43 42 55 56 46 41 67 54 6d 56 30 GRU.cnVzdCBFeHRlcm5hbCBUVFAgTmV0
1971a0 64 32 39 79 61 7a 45 69 4d 43 41 47 41 31 55 45 41 78 4d 5a 51 57 52 6b 56 48 4a 31 63 33 51 67 d29yazEiMCAGA1UEAxMZQWRkVHJ1c3Qg
1971c0 52 58 68 30 5a 58 4a 75 59 57 77 67 51 30 45 67 0a 55 6d 39 76 64 44 43 43 41 53 49 77 44 51 59 RXh0ZXJuYWwgQ0Eg.Um9vdDCCASIwDQY
1971e0 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 JKoZIhvcNAQEBBQADggEPADCCAQoCggE
197200 42 41 4c 66 33 47 6a 50 6d 38 67 41 45 4c 54 6e 67 54 6c 76 74 48 37 78 73 44 38 32 31 0a 2b 69 BALf3GjPm8gAELTngTlvtH7xsD821.+i
197220 4f 32 7a 74 36 62 45 54 4f 58 70 43 6c 4d 66 5a 4f 66 76 55 71 38 6b 2b 30 44 47 75 4f 50 7a 2b O2zt6bETOXpClMfZOfvUq8k+0DGuOPz+
197240 56 74 55 46 72 57 6c 79 6d 55 57 6f 43 77 53 58 72 62 4c 70 58 39 75 4d 71 2f 4e 7a 67 74 48 6a VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj
197260 36 52 51 61 31 77 56 73 66 77 0a 54 7a 2f 6f 4d 70 35 30 79 73 69 51 56 4f 6e 47 58 77 39 34 6e 6RQa1wVsfw.Tz/oMp50ysiQVOnGXw94n
197280 5a 70 41 50 41 36 73 59 61 70 65 46 49 2b 65 68 36 46 71 55 4e 7a 58 6d 6b 36 76 42 62 4f 6d 63 ZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmc
1972a0 5a 53 63 63 62 4e 51 59 41 72 48 45 35 30 34 42 34 59 43 71 4f 6d 6f 0a 61 53 59 59 6b 4b 74 4d ZSccbNQYArHE504B4YCqOmo.aSYYkKtM
1972c0 73 45 38 6a 71 7a 70 50 68 4e 6a 66 7a 70 2f 68 61 57 2b 37 31 30 4c 58 61 30 54 6b 78 36 33 75 sE8jqzpPhNjfzp/haW+710LXa0Tkx63u
1972e0 62 55 46 66 63 6c 70 78 43 44 65 7a 65 57 57 6b 57 61 43 55 4e 2f 63 41 4c 77 33 43 6b 6e 4c 61 bUFfclpxCDezeWWkWaCUN/cALw3CknLa
197300 30 44 68 79 0a 32 78 53 6f 52 63 52 64 4b 6e 32 33 74 4e 62 45 37 71 7a 4e 45 30 53 33 79 53 76 0Dhy.2xSoRcRdKn23tNbE7qzNE0S3ySv
197320 64 51 77 41 6c 2b 6d 47 35 61 57 70 59 49 78 47 33 70 7a 4f 50 56 6e 56 5a 39 63 30 70 31 30 61 dQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a
197340 33 43 69 74 6c 74 74 4e 43 62 78 57 79 75 48 76 37 0a 37 2b 6c 64 55 39 55 30 57 69 63 43 41 77 3CitlttNCbxWyuHv7.7+ldU9U0WicCAw
197360 45 41 41 61 4f 42 33 44 43 42 32 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 72 62 32 59 65 6a EAAaOB3DCB2TAdBgNVHQ4EFgQUrb2Yej
197380 53 30 4a 76 66 36 78 43 5a 55 37 77 4f 39 34 43 54 4c 56 42 6f 77 43 77 59 44 56 52 30 50 0a 42 S0Jvf6xCZU7wO94CTLVBowCwYDVR0P.B
1973a0 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 67 AQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wg
1973c0 5a 6b 47 41 31 55 64 49 77 53 42 6b 54 43 42 6a 6f 41 55 72 62 32 59 65 6a 53 30 4a 76 66 36 78 ZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6x
1973e0 43 5a 55 37 77 4f 39 34 43 54 4c 0a 56 42 71 68 63 36 52 78 4d 47 38 78 43 7a 41 4a 42 67 4e 56 CZU7wO94CTL.VBqhc6RxMG8xCzAJBgNV
197400 42 41 59 54 41 6c 4e 46 4d 52 51 77 45 67 59 44 56 51 51 4b 45 77 74 42 5a 47 52 55 63 6e 56 7a BAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVz
197420 64 43 42 42 51 6a 45 6d 4d 43 51 47 41 31 55 45 43 78 4d 64 51 57 52 6b 0a 56 48 4a 31 63 33 51 dCBBQjEmMCQGA1UECxMdQWRk.VHJ1c3Q
197440 67 52 58 68 30 5a 58 4a 75 59 57 77 67 56 46 52 51 49 45 35 6c 64 48 64 76 63 6d 73 78 49 6a 41 gRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjA
197460 67 42 67 4e 56 42 41 4d 54 47 55 46 6b 5a 46 52 79 64 58 4e 30 49 45 56 34 64 47 56 79 62 6d 46 gBgNVBAMTGUFkZFRydXN0IEV4dGVybmF
197480 73 49 45 4e 42 0a 49 46 4a 76 62 33 53 43 41 51 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 sIENB.IFJvb3SCAQEwDQYJKoZIhvcNAQ
1974a0 45 46 42 51 41 44 67 67 45 42 41 4c 43 62 34 49 55 6c 77 74 59 6a 34 67 2b 57 42 70 4b 64 51 5a EFBQADggEBALCb4IUlwtYj4g+WBpKdQZ
1974c0 69 63 32 59 52 35 67 64 6b 65 57 78 51 48 49 7a 5a 6c 0a 6a 37 44 59 64 37 75 73 51 57 78 48 59 ic2YR5gdkeWxQHIzZl.j7DYd7usQWxHY
1974e0 49 4e 52 73 50 6b 79 50 65 66 38 39 69 59 54 78 34 41 57 70 62 39 61 2f 49 66 50 65 48 6d 4a 49 INRsPkyPef89iYTx4AWpb9a/IfPeHmJI
197500 5a 72 69 54 41 63 4b 68 6a 57 38 38 74 35 52 78 4e 4b 57 74 39 78 2b 54 75 35 77 2f 52 77 35 0a ZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5.
197520 36 77 77 43 55 52 51 74 6a 72 30 57 34 4d 48 66 52 6e 58 6e 4a 4b 33 73 39 45 4b 30 68 5a 4e 77 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNw
197540 45 47 65 36 6e 51 59 31 53 68 6a 54 4b 33 72 4d 55 55 4b 68 65 6d 50 52 35 72 75 68 78 53 76 43 EGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
197560 4e 72 34 54 44 65 61 39 59 33 35 35 0a 65 36 63 4a 44 55 43 72 61 74 32 50 69 73 50 32 39 6f 77 Nr4TDea9Y355.e6cJDUCrat2PisP29ow
197580 61 51 67 56 52 31 45 58 31 6e 36 64 69 49 57 67 56 49 45 4d 38 6d 65 64 38 76 53 54 59 71 5a 45 aQgVR1EX1n6diIWgVIEM8med8vSTYqZE
1975a0 58 63 34 67 2f 56 68 73 78 4f 42 69 30 63 51 2b 61 7a 63 67 4f 6e 6f 34 75 0a 47 2b 47 4d 6d 49 Xc4g/VhsxOBi0cQ+azcgOno4u.G+GMmI
1975c0 50 4c 48 7a 48 78 52 45 7a 47 42 48 4e 4a 64 6d 41 50 78 2f 69 39 46 34 42 72 4c 75 6e 4d 54 41 PLHzHxREzGBHNJdmAPx/i9F4BrLunMTA
1975e0 35 61 6d 6e 6b 50 49 41 6f 75 31 5a 35 6a 4a 68 35 56 6b 70 54 59 67 68 64 61 65 39 43 38 78 34 5amnkPIAou1Z5jJh5VkpTYghdae9C8x4
197600 39 4f 68 67 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 9OhgQ=.-----END.CERTIFICATE-----
197620 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 ..Entrust.Root.Certification.Aut
197640 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d hority.=========================
197660 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
197680 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 6b 54 43 43 41 33 6d 67 41 77 49 42 41 67 49 45 52 57 74 51 TE-----.MIIEkTCCA3mgAwIBAgIERWtQ
1976a0 56 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 73 44 45 4c 4d 41 6b 47 VDANBgkqhkiG9w0BAQUFADCBsDELMAkG
1976c0 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 6f 54 44 55 56 75 64 48 4a A1UEBhMCVVMxFjAUBgNV.BAoTDUVudHJ
1976e0 31 63 33 51 73 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 48 64 33 64 79 35 1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5
197700 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 55 46 4d 67 61 58 4d 67 61 57 35 6a 62 33 4a lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3J
197720 77 0a 62 33 4a 68 64 47 56 6b 49 47 4a 35 49 48 4a 6c 5a 6d 56 79 5a 57 35 6a 5a 54 45 66 4d 42 w.b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB
197740 30 47 41 31 55 45 43 78 4d 57 4b 47 4d 70 49 44 49 77 4d 44 59 67 52 57 35 30 63 6e 56 7a 64 43 0GA1UECxMWKGMpIDIwMDYgRW50cnVzdC
197760 77 67 53 57 35 6a 4c 6a 45 74 4d 43 73 47 0a 41 31 55 45 41 78 4d 6b 52 57 35 30 63 6e 56 7a 64 wgSW5jLjEtMCsG.A1UEAxMkRW50cnVzd
197780 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 CBSb290IENlcnRpZmljYXRpb24gQXV0a
1977a0 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 32 4d 54 45 79 4e 7a 49 77 4d 6a 4d 30 0a 4d 6c 6f 58 G9yaXR5MB4XDTA2MTEyNzIwMjM0.MloX
1977c0 44 54 49 32 4d 54 45 79 4e 7a 49 77 4e 54 4d 30 4d 6c 6f 77 67 62 41 78 43 7a 41 4a 42 67 4e 56 DTI2MTEyNzIwNTM0MlowgbAxCzAJBgNV
1977e0 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 46 62 6e 52 79 64 58 4e 30 BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0
197800 4c 43 42 4a 62 6d 4d 75 0a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 42 33 64 33 63 75 5a 57 35 LCBJbmMu.MTkwNwYDVQQLEzB3d3cuZW5
197820 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 51 31 42 54 49 47 6c 7a 49 47 6c 75 59 32 39 79 63 47 39 0cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9
197840 79 59 58 52 6c 5a 43 42 69 65 53 42 79 5a 57 5a 6c 63 6d 56 75 0a 59 32 55 78 48 7a 41 64 42 67 yYXRlZCBieSByZWZlcmVu.Y2UxHzAdBg
197860 4e 56 42 41 73 54 46 69 68 6a 4b 53 41 79 4d 44 41 32 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 NVBAsTFihjKSAyMDA2IEVudHJ1c3QsIE
197880 6c 75 59 79 34 78 4c 54 41 72 42 67 4e 56 42 41 4d 54 4a 45 56 75 64 48 4a 31 63 33 51 67 55 6d luYy4xLTArBgNVBAMTJEVudHJ1c3QgUm
1978a0 39 76 0a 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 9v.dCBDZXJ0aWZpY2F0aW9uIEF1dGhvc
1978c0 6d 6c 30 65 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 ml0eTCCASIwDQYJKoZIhvcNAQEBBQADg
1978e0 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4c 61 56 74 6b 4e 43 2b 73 5a 74 4b 6d 39 49 gEPADCCAQoCggEB.ALaVtkNC+sZtKm9I
197900 33 35 52 4d 4f 56 63 46 37 73 4e 35 45 55 46 6f 4e 75 33 73 2f 70 6f 42 6a 36 45 34 4b 50 7a 33 35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3
197920 45 45 5a 6d 4c 6b 30 65 47 72 45 61 54 73 62 52 77 4a 57 49 73 4d 6e 2f 4d 59 73 7a 0a 41 39 75 EEZmLk0eGrEaTsbRwJWIsMn/MYsz.A9u
197940 33 67 33 73 2b 49 49 52 65 37 62 4a 57 4b 4b 66 34 34 4c 6c 41 63 54 66 46 79 30 63 4f 6c 79 70 3g3s+IIRe7bJWKKf44LlAcTfFy0cOlyp
197960 6f 77 43 4b 56 59 68 58 62 52 39 6e 31 30 43 76 2f 67 6b 76 4a 72 54 37 65 54 4e 75 51 67 46 41 owCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA
197980 2f 43 59 71 45 41 4f 77 77 0a 43 6a 30 59 7a 66 76 39 4b 6c 6d 61 49 35 55 58 4c 45 57 65 48 32 /CYqEAOww.Cj0Yzfv9KlmaI5UXLEWeH2
1979a0 35 44 65 57 30 4d 58 4a 6a 2b 53 4b 66 46 49 30 64 63 58 76 31 75 35 78 36 30 39 6d 68 46 30 59 5DeW0MXJj+SKfFI0dcXv1u5x609mhF0Y
1979c0 61 44 57 36 4b 4b 6a 62 48 6a 4b 59 44 2b 4a 58 47 49 72 62 36 38 0a 6a 36 78 53 6c 6b 75 71 55 aDW6KKjbHjKYD+JXGIrb68.j6xSlkuqU
1979e0 59 33 6b 45 7a 45 5a 36 45 35 4e 6e 39 75 73 73 32 72 56 76 44 6c 55 63 63 70 36 65 6e 2b 51 33 Y3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3
197a00 58 30 64 67 4e 6d 42 75 31 6b 6d 77 68 48 2b 35 70 50 69 39 34 44 6b 5a 66 73 30 4e 77 34 70 67 X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pg
197a20 48 42 4e 0a 72 7a 69 47 4c 70 35 2f 56 36 2b 65 46 36 37 72 48 4d 73 6f 49 56 2b 32 48 4e 6a 6e HBN.rziGLp5/V6+eF67rHMsoIV+2HNjn
197a40 6f 67 51 69 2b 64 50 61 32 4d 73 43 41 77 45 41 41 61 4f 42 73 44 43 42 72 54 41 4f 42 67 4e 56 ogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNV
197a60 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 HQ8BAf8EBAMCAQYw.DwYDVR0TAQH/BAU
197a80 77 41 77 45 42 2f 7a 41 72 42 67 4e 56 48 52 41 45 4a 44 41 69 67 41 38 79 4d 44 41 32 4d 54 45 wAwEB/zArBgNVHRAEJDAigA8yMDA2MTE
197aa0 79 4e 7a 49 77 4d 6a 4d 30 4d 6c 71 42 44 7a 49 77 4d 6a 59 78 4d 54 49 33 4d 6a 41 31 0a 4d 7a yNzIwMjM0MlqBDzIwMjYxMTI3MjA1.Mz
197ac0 51 79 57 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 6f 6b 4f 52 6e 70 4b 5a 54 67 4d QyWjAfBgNVHSMEGDAWgBRokORnpKZTgM
197ae0 65 47 5a 71 54 78 39 30 74 44 2b 34 53 39 62 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 61 4a eGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJ
197b00 44 6b 5a 36 53 6d 55 34 44 48 0a 68 6d 61 6b 38 66 64 4c 51 2f 75 45 76 57 30 77 48 51 59 4a 4b DkZ6SmU4DH.hmak8fdLQ/uEvW0wHQYJK
197b20 6f 5a 49 68 76 5a 39 42 30 45 41 42 42 41 77 44 68 73 49 56 6a 63 75 4d 54 6f 30 4c 6a 41 44 41 oZIhvZ9B0EABBAwDhsIVjcuMTo0LjADA
197b40 67 53 51 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 0a 41 34 49 42 41 51 43 54 gSQMA0GCSqGSIb3DQEBBQUA.A4IBAQCT
197b60 31 44 43 77 31 77 4d 67 4b 74 44 35 59 2b 69 52 44 41 55 67 71 56 38 5a 79 6e 74 79 54 74 53 78 1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx
197b80 32 39 43 57 2b 31 52 61 47 53 77 4d 43 50 65 79 76 49 57 6f 6e 58 39 74 4f 31 4b 7a 4b 74 76 6e 29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn
197ba0 31 49 53 4d 0a 59 2f 59 50 79 79 59 42 6b 56 42 73 39 46 38 55 34 70 4e 30 77 42 4f 65 4d 44 70 1ISM.Y/YPyyYBkVBs9F8U4pN0wBOeMDp
197bc0 51 34 37 52 67 78 52 7a 77 49 6b 53 4e 63 55 65 73 79 42 72 4a 36 5a 75 61 41 47 41 54 2f 33 42 Q47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B
197be0 2b 58 78 46 4e 53 52 75 7a 46 56 4a 37 79 56 54 61 0a 76 35 32 56 72 32 75 61 32 4a 37 70 38 65 +XxFNSRuzFVJ7yVTa.v52Vr2ua2J7p8e
197c00 52 44 6a 65 49 52 52 44 71 2f 72 37 32 44 51 6e 4e 53 69 36 71 37 70 79 6e 50 39 57 51 63 43 6b RDjeIRRDq/r72DQnNSi6q7pynP9WQcCk
197c20 33 52 76 4b 71 73 6e 79 72 51 2f 33 39 2f 32 6e 33 71 73 65 30 77 4a 63 47 45 32 6a 54 53 0a 57 3RvKqsnyrQ/39/2n3qse0wJcGE2jTS.W
197c40 33 69 44 56 75 79 63 4e 73 4d 6d 34 68 48 32 5a 30 6b 64 6b 71 75 4d 2b 2b 76 2f 65 75 36 46 53 3iDVuycNsMm4hH2Z0kdkquM++v/eu6FS
197c60 71 64 51 67 50 43 6e 58 45 71 55 4c 6c 38 46 6d 54 78 53 51 65 44 4e 74 47 50 50 41 55 4f 36 6e qdQgPCnXEqULl8FmTxSQeDNtGPPAUO6n
197c80 49 50 63 6a 32 41 37 38 31 71 30 0a 74 48 75 75 32 67 75 51 4f 48 58 76 67 52 31 6d 30 76 64 58 IPcj2A781q0.tHuu2guQOHXvgR1m0vdX
197ca0 63 44 61 7a 76 2f 77 6f 72 33 45 6c 68 56 73 54 2f 68 35 2f 57 72 51 38 0a 2d 2d 2d 2d 2d 45 4e cDazv/wor3ElhVsT/h5/WrQ8.-----EN
197cc0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 20 47 6c 6f D.CERTIFICATE-----..GeoTrust.Glo
197ce0 62 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 bal.CA.==================.-----B
197d00 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 56 44 43 43 41 6a EGIN.CERTIFICATE-----.MIIDVDCCAj
197d20 79 67 41 77 49 42 41 67 49 44 41 6a 52 57 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 ygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQ
197d40 55 41 4d 45 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 UAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQ
197d60 51 4b 0a 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 52 73 77 47 51 59 44 56 QK.Ew1HZW9UcnVzdCBJbmMuMRswGQYDV
197d80 51 51 44 45 78 4a 48 5a 57 39 55 63 6e 56 7a 64 43 42 48 62 47 39 69 59 57 77 67 51 30 45 77 48 QQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwH
197da0 68 63 4e 4d 44 49 77 4e 54 49 78 4d 44 51 77 0a 4d 44 41 77 57 68 63 4e 4d 6a 49 77 4e 54 49 78 hcNMDIwNTIxMDQw.MDAwWhcNMjIwNTIx
197dc0 4d 44 51 77 4d 44 41 77 57 6a 42 43 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 57 MDQwMDAwWjBCMQswCQYDVQQGEwJVUzEW
197de0 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 35 6a 0a 4c 6a 45 MBQGA1UEChMNR2VvVHJ1c3QgSW5j.LjE
197e00 62 4d 42 6b 47 41 31 55 45 41 78 4d 53 52 32 56 76 56 48 4a 31 63 33 51 67 52 32 78 76 59 6d 46 bMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmF
197e20 73 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f sIENBMIIBIjANBgkqhkiG9w0BAQEFAAO
197e40 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 41 32 73 77 59 59 7a 44 39 39 42 63 6a 47 6c CAQ8AMIIB.CgKCAQEA2swYYzD99BcjGl
197e60 5a 2b 57 39 38 38 62 44 6a 6b 63 62 64 34 6b 64 53 38 6f 64 68 4d 2b 4b 68 44 74 67 50 70 54 53 Z+W988bDjkcbd4kdS8odhM+KhDtgPpTS
197e80 45 48 43 49 6a 61 57 43 39 6d 4f 53 6d 39 42 58 69 4c 6e 54 6a 6f 0a 42 62 64 71 66 6e 47 6b 35 EHCIjaWC9mOSm9BXiLnTjo.BbdqfnGk5
197ea0 73 52 67 70 72 44 76 67 4f 53 4a 4b 41 2b 65 4a 64 62 74 67 2f 4f 74 70 70 48 48 6d 4d 6c 43 47 sRgprDvgOSJKA+eJdbtg/OtppHHmMlCG
197ec0 44 55 55 6e 61 32 59 52 70 49 75 54 38 72 78 68 30 50 42 46 70 56 58 4c 56 44 76 69 53 32 41 65 DUUna2YRpIuT8rxh0PBFpVXLVDviS2Ae
197ee0 6c 65 74 0a 38 75 35 66 61 39 49 41 6a 62 6b 55 2b 42 51 56 4e 64 6e 41 52 71 4e 37 63 73 69 52 let.8u5fa9IAjbkU+BQVNdnARqN7csiR
197f00 76 38 6c 56 4b 38 33 51 6c 7a 36 63 4a 6d 54 4d 33 38 36 44 47 58 48 4b 54 75 62 55 31 58 75 70 v8lVK83Qlz6cJmTM386DGXHKTubU1Xup
197f20 47 63 31 56 33 73 6a 73 30 6c 34 34 55 2b 56 63 0a 54 34 77 74 2f 6c 41 6a 4e 76 78 6d 35 73 75 Gc1V3sjs0l44U+Vc.T4wt/lAjNvxm5su
197f40 4f 70 44 6b 5a 41 4c 65 56 41 6a 6d 52 43 77 37 2b 4f 43 37 52 48 51 57 61 39 6b 30 2b 62 77 38 OpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8
197f60 48 48 61 38 73 48 6f 39 67 4f 65 4c 36 4e 6c 4d 54 4f 64 52 65 4a 69 76 62 50 61 67 55 0a 76 54 HHa8sHo9gOeL6NlMTOdReJivbPagU.vT
197f80 4c 72 47 41 4d 6f 55 67 52 78 35 61 73 7a 50 65 45 34 75 77 63 32 68 47 4b 63 65 65 6f 57 4d 50 LrGAMoUgRx5aszPeE4uwc2hGKceeoWMP
197fa0 52 66 77 43 76 6f 63 57 76 6b 2b 51 49 44 41 51 41 42 6f 31 4d 77 55 54 41 50 42 67 4e 56 48 52 RfwCvocWvk+QIDAQABo1MwUTAPBgNVHR
197fc0 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 41 65 MBAf8EBTAD.AQH/MB0GA1UdDgQWBBTAe
197fe0 70 68 6f 6a 59 6e 37 71 77 56 6b 44 42 46 39 71 6e 31 6c 75 4d 72 4d 54 6a 41 66 42 67 4e 56 48 phojYn7qwVkDBF9qn1luMrMTjAfBgNVH
198000 53 4d 45 47 44 41 57 67 42 54 41 65 70 68 6f 6a 59 6e 37 71 77 56 6b 0a 44 42 46 39 71 6e 31 6c SMEGDAWgBTAephojYn7qwVk.DBF9qn1l
198020 75 4d 72 4d 54 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEA
198040 4e 65 4d 70 61 75 55 76 58 56 53 4f 4b 56 43 55 6e 35 6b 61 46 4f 53 50 65 43 70 69 6c 4b 49 6e NeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
198060 5a 35 37 51 0a 7a 78 70 65 52 2b 6e 42 73 71 54 50 33 55 45 61 42 55 36 62 53 2b 35 4b 62 31 56 Z57Q.zxpeR+nBsqTP3UEaBU6bS+5Kb1V
198080 53 73 79 53 68 4e 77 72 72 5a 48 59 71 4c 69 7a 7a 2f 54 74 31 6b 4c 2f 36 63 64 6a 48 50 54 66 SsyShNwrrZHYqLizz/Tt1kL/6cdjHPTf
1980a0 53 74 51 57 56 59 72 6d 6d 33 6f 6b 39 4e 6e 73 34 0a 64 30 69 58 72 4b 59 67 6a 79 36 6d 79 51 StQWVYrmm3ok9Nns4.d0iXrKYgjy6myQ
1980c0 7a 43 73 70 6c 46 41 4d 66 4f 45 56 45 69 49 75 43 6c 36 72 59 56 53 41 6c 6b 36 6c 35 50 64 50 zCsplFAMfOEVEiIuCl6rYVSAlk6l5PdP
1980e0 63 46 50 73 65 4b 55 67 7a 62 46 62 53 39 62 5a 76 6c 78 72 46 55 61 4b 6e 6a 61 5a 43 32 0a 6d cFPseKUgzbFbS9bZvlxrFUaKnjaZC2.m
198100 71 55 50 75 4c 6b 2f 49 48 32 75 53 72 57 34 6e 4f 51 64 74 71 76 6d 6c 4b 58 42 78 34 4f 74 32 qUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2
198120 2f 55 6e 68 77 34 45 62 4e 58 2f 33 61 42 64 37 59 64 53 74 79 73 56 41 71 34 35 70 6d 70 30 36 /Unhw4EbNX/3aBd7YdStysVAq45pmp06
198140 64 72 45 35 37 78 4e 4e 42 36 70 0a 58 45 30 7a 58 35 49 4a 4c 34 68 6d 58 58 65 58 78 78 31 32 drE57xNNB6p.XE0zX5IJL4hmXXeXxx12
198160 45 36 6e 56 35 66 45 57 43 52 45 31 31 61 7a 62 4a 48 46 77 4c 4a 68 57 43 39 6b 58 74 4e 48 6a E6nV5fEWCRE11azbJHFwLJhWC9kXtNHj
198180 55 53 74 65 64 65 6a 56 30 4e 78 50 4e 4f 33 43 42 57 61 41 6f 63 76 6d 0a 4d 77 3d 3d 0a 2d 2d UStedejV0NxPNO3CBWaAocvm.Mw==.--
1981a0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 ---END.CERTIFICATE-----..GeoTrus
1981c0 74 20 55 6e 69 76 65 72 73 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d t.Universal.CA.=================
1981e0 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
198200 0a 4d 49 49 46 61 44 43 43 41 31 43 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 .MIIFaDCCA1CgAwIBAgIBATANBgkqhki
198220 47 39 77 30 42 41 51 55 46 41 44 42 46 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 G9w0BAQUFADBFMQswCQYDVQQGEwJVUzE
198240 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 35 6a 4c 6a WMBQGA1UEChMN.R2VvVHJ1c3QgSW5jLj
198260 45 65 4d 42 77 47 41 31 55 45 41 78 4d 56 52 32 56 76 56 48 4a 31 63 33 51 67 56 57 35 70 64 6d EeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdm
198280 56 79 63 32 46 73 49 45 4e 42 4d 42 34 58 44 54 41 30 4d 44 4d 77 4e 44 41 31 0a 4d 44 41 77 4d Vyc2FsIENBMB4XDTA0MDMwNDA1.MDAwM
1982a0 46 6f 58 44 54 49 35 4d 44 4d 77 4e 44 41 31 4d 44 41 77 4d 46 6f 77 52 54 45 4c 4d 41 6b 47 41 FoXDTI5MDMwNDA1MDAwMFowRTELMAkGA
1982c0 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 64 6c 62 31 52 79 64 1UEBhMCVVMxFjAUBgNVBAoTDUdlb1Ryd
1982e0 58 4e 30 49 45 6c 75 0a 59 79 34 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 55 64 6c 62 31 52 79 XN0IElu.Yy4xHjAcBgNVBAMTFUdlb1Ry
198300 64 58 4e 30 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 44 51 54 43 43 41 69 49 77 44 51 59 4a dXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJ
198320 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 0a 41 44 43 43 41 67 6f 43 67 67 49 KoZIhvcNAQEBBQADggIP.ADCCAgoCggI
198340 42 41 4b 59 56 56 61 43 6a 78 75 41 66 6a 4a 30 68 55 4e 66 42 76 69 74 62 74 61 53 65 6f 64 6c BAKYVVaCjxuAfjJ0hUNfBvitbtaSeodl
198360 79 57 4c 30 41 47 30 79 2f 59 63 6b 55 48 55 57 43 71 38 59 64 67 4e 59 39 36 78 43 63 4f 71 39 yWL0AG0y/YckUHUWCq8YdgNY96xCcOq9
198380 74 0a 4a 50 69 38 63 51 47 65 42 76 56 38 58 78 37 42 44 6c 58 4b 67 35 70 5a 4d 4b 34 5a 79 7a t.JPi8cQGeBvV8Xx7BDlXKg5pZMK4Zyz
1983a0 42 49 6c 65 30 69 4e 34 33 30 53 70 70 79 5a 6a 36 74 6c 63 44 67 46 67 44 67 45 42 38 72 4d 51 BIle0iN430SppyZj6tlcDgFgDgEB8rMQ
1983c0 37 58 6c 46 54 54 51 6a 4f 67 4e 42 30 65 0a 52 58 62 64 54 38 6f 59 4e 2b 79 46 46 58 6f 5a 43 7XlFTTQjOgNB0e.RXbdT8oYN+yFFXoZC
1983e0 50 7a 56 78 35 7a 77 38 71 6b 75 45 4b 6d 53 35 6a 31 59 50 61 6b 57 61 44 77 76 64 53 45 59 66 PzVx5zw8qkuEKmS5j1YPakWaDwvdSEYf
198400 79 68 33 70 65 46 68 46 37 65 6d 36 66 67 65 6d 64 74 7a 62 76 51 4b 6f 69 46 73 0a 37 74 71 71 yh3peFhF7em6fgemdtzbvQKoiFs.7tqq
198420 68 5a 4a 6d 72 2f 5a 36 61 34 4c 61 75 69 49 49 4e 51 2f 50 51 76 45 31 2b 6d 72 75 66 69 73 6c hZJmr/Z6a4LauiIINQ/PQvE1+mrufisl
198440 7a 44 6f 52 35 47 32 76 63 37 4a 32 48 61 33 51 73 6e 68 6e 47 71 51 35 48 46 45 4c 5a 31 61 44 zDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD
198460 2f 54 68 64 44 63 37 64 0a 38 4c 73 72 6c 68 2f 65 65 7a 4a 53 2f 52 32 37 74 51 61 68 73 69 46 /ThdDc7d.8Lsrlh/eezJS/R27tQahsiF
198480 65 70 64 61 56 61 48 2f 77 6d 5a 37 63 52 51 67 2b 35 39 49 4a 44 54 57 55 33 59 42 4f 55 35 66 epdaVaH/wmZ7cRQg+59IJDTWU3YBOU5f
1984a0 58 74 51 6c 45 49 47 51 57 46 77 4d 43 54 46 4d 4e 61 4e 37 56 0a 71 6e 4a 4e 6b 32 32 43 44 74 XtQlEIGQWFwMCTFMNaN7V.qnJNk22CDt
1984c0 75 63 76 63 2b 30 38 31 78 64 56 48 70 70 43 5a 62 57 32 78 48 42 6a 58 57 6f 74 4d 38 35 79 4d ucvc+081xdVHppCZbW2xHBjXWotM85yM
1984e0 34 38 76 43 52 38 35 6d 4c 4b 34 62 31 39 70 37 31 58 5a 51 76 6b 2f 69 58 74 74 6d 6b 51 33 43 48vCR85mLK4b19p71XZQvk/iXttmkQ3C
198500 67 61 0a 52 72 30 42 48 64 43 58 74 65 47 59 4f 38 41 33 5a 4e 59 39 6c 4f 34 4c 34 66 55 6f 72 ga.Rr0BHdCXteGYO8A3ZNY9lO4L4fUor
198520 67 74 57 76 33 47 4c 49 79 6c 42 6a 6f 62 46 53 31 4a 37 32 48 47 72 48 34 6f 56 70 6a 75 44 57 gtWv3GLIylBjobFS1J72HGrH4oVpjuDW
198540 74 64 59 41 56 48 47 54 45 48 5a 66 39 68 42 0a 5a 33 4b 69 4b 4e 39 67 67 36 6d 65 79 48 76 38 tdYAVHGTEHZf9hB.Z3KiKN9gg6meyHv8
198560 55 33 4e 79 57 66 57 54 65 68 64 32 44 73 37 33 35 56 7a 5a 43 31 55 30 6f 71 70 62 74 57 70 55 U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU
198580 35 78 50 4b 56 2b 79 58 62 66 52 65 42 69 39 46 69 31 6a 55 49 78 61 53 35 42 5a 75 0a 4b 47 4e 5xPKV+yXbfReBi9Fi1jUIxaS5BZu.KGN
1985a0 5a 4d 4e 39 51 41 5a 78 6a 69 52 71 66 32 78 65 55 67 6e 41 33 77 79 53 65 6d 6b 66 57 57 73 70 ZMN9QAZxjiRqf2xeUgnA3wySemkfWWsp
1985c0 4f 71 47 6d 4a 63 68 2b 52 62 4e 74 2b 6e 68 75 74 78 78 39 7a 33 53 78 50 47 57 58 39 66 35 4e OqGmJch+RbNt+nhutxx9z3SxPGWX9f5N
1985e0 41 45 43 37 53 38 4f 30 38 0a 6e 69 34 6f 50 6d 6b 6d 4d 38 56 37 41 67 4d 42 41 41 47 6a 59 7a AEC7S8O08.ni4oPmkmM8V7AgMBAAGjYz
198600 42 68 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 BhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR
198620 30 4f 42 42 59 45 46 4e 71 37 4c 71 71 77 44 4c 69 49 4a 6c 46 30 0a 58 47 30 44 30 38 44 59 6a 0OBBYEFNq7LqqwDLiIJlF0.XG0D08DYj
198640 33 72 57 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 71 37 4c 71 71 77 44 4c 69 49 4a 3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJ
198660 6c 46 30 58 47 30 44 30 38 44 59 6a 33 72 57 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 lF0XG0D08DYj3rWMA4GA1UdDwEB/wQEA
198680 77 49 42 0a 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 41 wIB.hjANBgkqhkiG9w0BAQUFAAOCAgEA
1986a0 4d 58 6a 6d 78 37 58 66 75 4a 52 41 79 58 48 45 71 44 58 73 52 68 33 43 68 66 4d 6f 57 49 61 77 MXjmx7XfuJRAyXHEqDXsRh3ChfMoWIaw
1986c0 43 2f 79 4f 73 6a 6d 50 52 46 57 72 5a 49 52 63 0a 61 61 6e 51 6d 6a 67 38 2b 75 55 66 4e 65 56 C/yOsjmPRFWrZIRc.aanQmjg8+uUfNeV
1986e0 45 34 34 42 35 6c 47 69 6b 75 38 53 66 50 65 45 30 7a 54 42 47 69 31 51 72 6c 61 58 76 39 7a 2b E44B5lGiku8SfPeE0zTBGi1QrlaXv9z+
198700 5a 68 50 30 31 35 73 38 78 78 74 78 71 76 36 66 58 49 77 6a 68 6d 46 37 44 57 67 68 32 0a 71 61 ZhP015s8xxtxqv6fXIwjhmF7DWgh2.qa
198720 61 76 64 79 2b 33 59 4c 31 45 52 6d 72 76 6c 2f 39 7a 6c 63 47 4f 36 4a 50 37 2f 54 47 33 37 46 avdy+3YL1ERmrvl/9zlcGO6JP7/TG37F
198740 63 52 45 55 57 62 4d 50 45 61 69 44 6e 42 54 7a 79 6e 41 4e 58 48 2f 4b 74 74 67 43 4a 77 70 51 cREUWbMPEaiDnBTzynANXH/KttgCJwpQ
198760 7a 67 58 51 51 70 41 76 76 4c 0a 6f 4a 48 52 66 4e 62 44 66 6c 44 56 6e 56 69 2b 51 54 6a 72 75 zgXQQpAvvL.oJHRfNbDflDVnVi+QTjru
198780 58 55 38 46 64 6d 62 79 55 71 44 57 63 44 61 55 2f 30 7a 75 7a 59 59 6d 34 55 50 46 64 33 75 4c XU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uL
1987a0 61 78 32 6b 37 6e 5a 41 59 31 49 45 4b 6a 37 39 54 69 47 38 64 73 4b 0a 78 72 32 45 6f 79 4e 42 ax2k7nZAY1IEKj79TiG8dsK.xr2EoyNB
1987c0 33 74 5a 33 62 34 58 55 68 52 78 51 34 4b 35 52 69 72 71 4e 50 6e 62 69 75 63 6f 6e 38 6c 2b 66 3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f
1987e0 37 32 35 5a 44 51 62 59 4b 78 65 6b 30 6e 78 72 75 31 38 55 47 6b 69 50 47 6b 7a 6e 73 30 63 63 725ZDQbYKxek0nxru18UGkiPGkzns0cc
198800 6a 6b 78 46 0a 4b 79 44 75 53 4e 2f 6e 33 51 6d 4f 47 4b 6a 61 51 49 32 53 4a 68 46 54 59 58 4e jkxF.KyDuSN/n3QmOGKjaQI2SJhFTYXN
198820 64 36 37 33 6e 78 45 30 70 4e 32 48 72 72 44 6b 74 5a 79 34 57 31 76 55 41 67 34 57 68 7a 48 39 d673nxE0pN2HrrDktZy4W1vUAg4WhzH9
198840 32 78 48 33 6b 74 30 74 6d 37 77 4e 46 59 47 6d 32 0a 44 46 4b 57 6b 6f 52 65 70 71 4f 31 70 44 2xH3kt0tm7wNFYGm2.DFKWkoRepqO1pD
198860 34 72 32 63 7a 59 47 30 65 71 38 6b 54 61 54 2f 6b 44 36 50 41 55 79 7a 2f 7a 67 39 37 51 77 56 4r2czYG0eq8kTaT/kD6PAUyz/zg97QwV
198880 54 6a 74 2b 67 4b 4e 30 32 4c 49 46 6b 44 4d 42 6d 68 4c 4d 69 39 45 52 2f 66 72 73 6c 4b 0a 78 Tjt+gKN02LIFkDMBmhLMi9ER/frslK.x
1988a0 66 4d 6e 5a 6d 61 47 72 47 69 52 2f 39 6e 6d 55 78 77 50 69 31 78 70 5a 51 6f 6d 79 42 34 30 77 fMnZmaGrGiR/9nmUxwPi1xpZQomyB40w
1988c0 31 31 52 65 39 65 70 6e 41 61 68 4e 74 33 56 69 5a 53 38 32 65 51 74 44 46 34 4a 62 41 69 58 66 11Re9epnAahNt3ViZS82eQtDF4JbAiXf
1988e0 4b 4d 39 66 4a 50 2f 50 36 45 55 0a 70 38 2b 31 58 65 76 62 32 78 7a 45 64 74 2b 49 75 62 31 46 KM9fJP/P6EU.p8+1Xevb2xzEdt+Iub1F
198900 42 5a 55 62 72 76 78 47 61 6b 79 76 53 4f 50 4f 72 67 2f 53 66 75 76 6d 62 4a 78 50 67 57 70 36 BZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6
198920 5a 4b 79 37 50 74 58 6e 79 33 59 75 78 61 64 49 77 56 79 51 44 38 76 49 0a 50 2f 72 6d 4d 75 47 ZKy7PtXny3YuxadIwVyQD8vI.P/rmMuG
198940 4e 47 32 2b 6b 35 6f 37 59 2b 53 6c 49 69 73 35 7a 2f 69 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 NG2+k5o7Y+SlIis5z/iw=.-----END.C
198960 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 20 55 6e 69 76 65 72 ERTIFICATE-----..GeoTrust.Univer
198980 73 61 6c 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d sal.CA.2.=======================
1989a0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1989c0 46 62 44 43 43 41 31 53 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 FbDCCA1SgAwIBAgIBATANBgkqhkiG9w0
1989e0 42 41 51 55 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 57 4d 42 51 BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQ
198a00 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 35 6a 4c 6a 45 67 4d 42 GA1UEChMN.R2VvVHJ1c3QgSW5jLjEgMB
198a20 34 47 41 31 55 45 41 78 4d 58 52 32 56 76 56 48 4a 31 63 33 51 67 56 57 35 70 64 6d 56 79 63 32 4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2
198a40 46 73 49 45 4e 42 49 44 49 77 48 68 63 4e 4d 44 51 77 4d 7a 41 30 0a 4d 44 55 77 4d 44 41 77 57 FsIENBIDIwHhcNMDQwMzA0.MDUwMDAwW
198a60 68 63 4e 4d 6a 6b 77 4d 7a 41 30 4d 44 55 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 hcNMjkwMzA0MDUwMDAwWjBHMQswCQYDV
198a80 51 51 47 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 QQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c
198aa0 33 51 67 0a 53 57 35 6a 4c 6a 45 67 4d 42 34 47 41 31 55 45 41 78 4d 58 52 32 56 76 56 48 4a 31 3Qg.SW5jLjEgMB4GA1UEAxMXR2VvVHJ1
198ac0 63 33 51 67 56 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 49 44 49 77 67 67 49 69 4d 41 30 47 c3QgVW5pdmVyc2FsIENBIDIwggIiMA0G
198ae0 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 0a 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 CSqGSIb3DQEBAQUA.A4ICDwAwggIKAoI
198b00 43 41 51 43 7a 56 46 4c 42 79 54 37 79 32 64 79 78 55 78 70 5a 4b 65 65 78 77 30 55 6f 35 64 66 CAQCzVFLByT7y2dyxUxpZKeexw0Uo5df
198b20 52 37 63 58 46 53 36 47 71 64 48 74 58 72 30 6f 6d 2f 4e 6a 31 58 71 64 75 47 64 74 30 0a 44 45 R7cXFS6GqdHtXr0om/Nj1XqduGdt0.DE
198b40 38 31 57 7a 49 4c 41 65 50 62 36 33 70 33 4e 65 71 71 57 75 44 57 36 4b 46 58 6c 50 43 51 6f 33 81WzILAePb63p3NeqqWuDW6KFXlPCQo3
198b60 52 57 6c 45 51 77 41 78 35 63 54 69 75 46 4a 6e 53 43 65 67 78 32 6f 47 39 4e 7a 6b 45 74 6f 42 RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoB
198b80 55 47 46 46 2b 33 51 73 31 37 0a 6a 31 68 68 4e 4e 77 71 43 50 6b 75 77 77 47 6d 49 6b 51 63 54 UGFF+3Qs17.j1hhNNwqCPkuwwGmIkQcT
198ba0 41 65 43 35 6c 76 4f 30 45 70 38 42 4e 4d 5a 63 79 66 77 71 70 68 2f 4c 71 39 4f 36 34 63 65 4a AeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJ
198bc0 48 64 71 58 62 62 6f 57 30 57 36 33 4d 4f 68 42 57 39 57 6a 6f 38 51 0a 4a 71 56 4a 77 79 37 58 HdqXbboW0W63MOhBW9Wjo8Q.JqVJwy7X
198be0 51 59 63 69 34 45 2b 47 79 6d 43 31 36 71 46 6a 77 41 47 58 45 48 6d 39 41 44 77 53 62 53 73 56 QYci4E+GymC16qFjwAGXEHm9ADwSbSsV
198c00 73 61 78 4c 73 65 34 59 75 55 36 57 33 4e 78 32 2f 7a 75 2b 7a 31 38 44 77 50 77 37 36 4c 35 47 saxLse4YuU6W3Nx2/zu+z18DwPw76L5G
198c20 47 2f 2f 61 0a 51 4d 4a 53 39 2f 37 6a 4f 76 64 71 64 7a 58 51 32 6f 33 72 58 68 68 71 4d 63 63 G//a.QMJS9/7jOvdqdzXQ2o3rXhhqMcc
198c40 65 75 6a 77 62 4b 4e 5a 72 56 4d 61 71 57 39 65 69 4c 42 73 5a 7a 4b 49 43 39 70 74 5a 76 54 64 eujwbKNZrVMaqW9eiLBsZzKIC9ptZvTd
198c60 72 68 72 56 74 67 72 72 59 36 73 6c 57 76 4b 6b 32 0a 57 50 30 2b 47 66 50 74 44 43 61 70 6b 7a rhrVtgrrY6slWvKk2.WP0+GfPtDCapkz
198c80 6a 34 54 38 46 64 49 67 62 51 6c 2b 72 68 72 63 5a 56 34 49 45 72 4b 49 4d 36 2b 76 52 37 49 56 j4T8FdIgbQl+rhrcZV4IErKIM6+vR7IV
198ca0 45 41 76 6c 49 34 7a 73 31 6d 65 61 6a 30 67 56 62 69 30 49 4d 4a 52 31 46 62 55 47 72 50 0a 32 EAvlI4zs1meaj0gVbi0IMJR1FbUGrP.2
198cc0 30 67 61 58 54 37 33 79 2f 5a 6c 39 32 7a 78 6c 66 67 43 4f 7a 4a 57 67 6a 6c 36 57 37 30 76 69 0gaXT73y/Zl92zxlfgCOzJWgjl6W70vi
198ce0 52 75 2f 6f 62 54 6f 2f 33 2b 4e 6a 4e 38 44 38 57 42 4f 57 42 46 4d 36 36 4d 2f 45 43 75 44 6d Ru/obTo/3+NjN8D8WBOWBFM66M/ECuDm
198d00 67 46 7a 32 5a 52 74 68 41 41 6e 0a 5a 71 7a 77 63 45 41 4a 51 70 4b 74 54 35 4d 4e 59 51 6c 52 gFz2ZRthAAn.ZqzwcEAJQpKtT5MNYQlR
198d20 4a 4e 69 53 31 51 75 55 59 62 4b 48 73 75 33 2f 6d 6a 58 2f 68 56 54 4b 37 55 52 44 72 42 73 38 JNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8
198d40 46 6d 74 49 53 67 6f 63 51 49 67 66 6b 73 49 4c 41 41 58 2f 38 73 67 43 0a 53 71 53 71 71 63 79 FmtISgocQIgfksILAAX/8sgC.SqSqqcy
198d60 5a 6c 70 77 76 57 4f 42 39 34 62 36 37 42 39 78 66 42 48 4a 63 4d 54 54 44 37 46 38 74 34 44 31 ZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1
198d80 6b 6b 43 4c 6d 30 65 79 34 4c 74 31 5a 72 74 6d 68 4e 37 39 55 4e 64 78 7a 4d 6b 2b 4d 42 42 34 kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4
198da0 7a 73 73 6c 47 0a 38 64 68 63 79 46 56 51 79 57 69 39 71 4c 6f 32 43 51 49 44 41 51 41 42 6f 32 zsslG.8dhcyFVQyWi9qLo2CQIDAQABo2
198dc0 4d 77 59 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1
198de0 55 64 44 67 51 57 42 42 52 32 38 31 58 68 2b 71 51 32 0a 2b 2f 43 66 58 47 4a 78 37 54 7a 30 52 UdDgQWBBR281Xh+qQ2.+/CfXGJx7Tz0R
198e00 7a 67 51 4b 7a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 32 38 31 58 68 2b 71 51 32 2b zgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+
198e20 2f 43 66 58 47 4a 78 37 54 7a 30 52 7a 67 51 4b 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 0a /CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E.
198e40 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 BAMCAYYwDQYJKoZIhvcNAQEFBQADggIB
198e60 41 47 62 42 78 69 50 7a 32 65 41 75 62 6c 2f 6f 7a 36 36 77 73 43 56 4e 4b 2f 67 37 57 4a 74 41 AGbBxiPz2eAubl/oz66wsCVNK/g7WJtA
198e80 4a 44 64 61 79 36 73 57 53 66 2b 7a 0a 64 58 6b 7a 6f 53 39 74 63 42 63 30 6b 66 35 6e 66 6f 2f JDday6sWSf+z.dXkzoS9tcBc0kf5nfo/
198ea0 73 6d 2b 56 65 67 71 6c 56 48 79 2f 63 31 46 45 48 45 76 36 73 46 6a 34 73 4e 63 5a 6a 2f 4e 77 sm+VegqlVHy/c1FEHEv6sFj4sNcZj/Nw
198ec0 51 36 77 32 6a 71 74 42 38 7a 4e 48 51 4c 31 45 75 78 42 52 61 33 75 67 5a 0a 34 54 37 47 7a 4b Q6w2jqtB8zNHQL1EuxBRa3ugZ.4T7GzK
198ee0 51 70 35 79 36 45 71 67 59 77 65 48 5a 55 63 79 69 59 57 54 6a 67 41 41 31 69 30 30 4a 39 49 5a Qp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ
198f00 2b 75 50 54 71 4d 31 66 70 33 44 52 67 72 46 67 35 66 4e 75 48 38 4b 72 55 77 4a 4d 2f 67 59 77 +uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYw
198f20 78 37 57 42 72 2b 0a 6d 62 70 43 45 72 47 52 39 48 78 6f 34 73 6a 6f 72 79 7a 71 79 58 36 75 75 x7WBr+.mbpCErGR9Hxo4sjoryzqyX6uu
198f40 79 6f 39 44 52 58 63 4e 4a 57 32 47 48 53 6f 61 67 2f 48 74 50 51 54 78 4f 52 62 37 51 72 53 70 yo9DRXcNJW2GHSoag/HtPQTxORb7QrSp
198f60 4a 64 4d 4b 75 30 76 62 42 4b 4a 50 66 45 6e 63 4b 70 71 0a 41 31 49 68 6e 30 43 6f 5a 31 44 79 JdMKu0vbBKJPfEncKpq.A1Ihn0CoZ1Dy
198f80 38 31 6f 66 33 39 38 6a 39 74 78 34 54 75 61 59 54 31 55 36 55 2b 50 76 38 76 53 66 78 33 7a 59 81of398j9tx4TuaYT1U6U+Pv8vSfx3zY
198fa0 57 4b 38 70 49 70 65 34 34 4c 32 52 4c 72 42 32 37 46 63 52 7a 2b 38 70 52 50 50 70 68 58 70 67 WK8pIpe44L2RLrB27FcRz+8pRPPphXpg
198fc0 0a 59 2b 52 64 4d 34 6b 58 32 54 47 71 32 74 62 7a 47 44 56 79 7a 34 63 72 4c 32 4d 6a 68 46 32 .Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2
198fe0 45 6a 44 39 58 6f 49 6a 38 6d 5a 45 6f 4a 6d 6d 5a 31 49 2b 58 52 4c 36 4f 31 55 69 78 70 43 67 EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCg
199000 70 38 52 57 30 34 65 57 65 33 66 69 50 0a 70 6d 38 6d 31 77 6b 38 4f 68 77 52 44 71 5a 73 4e 2f p8RW04eWe3fiP.pm8m1wk8OhwRDqZsN/
199020 65 74 52 49 63 73 4b 4d 66 59 64 49 4b 7a 30 47 39 4b 56 37 73 31 4b 53 65 67 69 2b 67 68 70 34 etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4
199040 64 6b 4e 6c 33 4d 32 42 61 73 78 37 49 6e 51 4a 4a 56 4f 43 69 4e 55 57 37 64 0a 46 47 64 54 62 dkNl3M2Basx7InQJJVOCiNUW7d.FGdTb
199060 48 46 63 4a 6f 52 4e 64 56 71 32 66 6d 42 57 71 55 32 74 2b 35 73 65 6c 2f 4d 4e 32 64 4b 58 56 HFcJoRNdVq2fmBWqU2t+5sel/MN2dKXV
199080 48 66 61 50 52 4b 33 34 42 37 76 43 41 61 73 2b 59 57 48 36 61 4c 63 72 33 34 59 45 6f 50 39 56 HfaPRK34B7vCAas+YWH6aLcr34YEoP9V
1990a0 68 64 42 4c 74 55 70 0a 67 6e 32 5a 39 44 48 32 63 61 6e 50 4c 41 45 6e 70 51 57 35 71 72 4a 49 hdBLtUp.gn2Z9DH2canPLAEnpQW5qrJI
1990c0 54 69 72 76 6e 35 4e 53 55 5a 55 38 55 6e 4f 4f 56 6b 77 58 51 4d 41 4a 4b 4f 53 4c 61 6b 68 54 Tirvn5NSUZU8UnOOVkwXQMAJKOSLakhT
1990e0 32 2b 7a 4e 56 56 58 78 78 76 6a 70 6f 69 78 4d 70 74 45 6d 0a 58 33 36 76 57 6b 7a 61 48 36 62 2+zNVVXxxvjpoixMptEm.X36vWkzaH6b
199100 79 48 43 78 2b 72 67 49 57 30 6c 62 51 4c 31 64 54 52 2b 69 53 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 yHCx+rgIW0lbQL1dTR+iS.-----END.C
199120 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 69 73 61 20 65 43 6f 6d 6d 65 72 63 65 20 ERTIFICATE-----..Visa.eCommerce.
199140 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 Root.===================.-----BE
199160 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6f 6a 43 43 41 6f 71 GIN.CERTIFICATE-----.MIIDojCCAoq
199180 67 41 77 49 42 41 67 49 51 45 34 59 31 54 52 30 2f 42 76 4c 42 2b 57 55 46 31 5a 41 63 59 6a 41 gAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjA
1991a0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 72 4d 51 73 77 43 51 59 44 56 51 51 NBgkqhkiG9w0BAQUFADBrMQswCQYDVQQ
1991c0 47 0a 45 77 4a 56 55 7a 45 4e 4d 41 73 47 41 31 55 45 43 68 4d 45 56 6b 6c 54 51 54 45 76 4d 43 G.EwJVUzENMAsGA1UEChMEVklTQTEvMC
1991e0 30 47 41 31 55 45 43 78 4d 6d 56 6d 6c 7a 59 53 42 4a 62 6e 52 6c 63 6d 35 68 64 47 6c 76 62 6d 0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbm
199200 46 73 49 46 4e 6c 63 6e 5a 70 59 32 55 67 0a 51 58 4e 7a 62 32 4e 70 59 58 52 70 62 32 34 78 48 FsIFNlcnZpY2Ug.QXNzb2NpYXRpb24xH
199220 44 41 61 42 67 4e 56 42 41 4d 54 45 31 5a 70 63 32 45 67 5a 55 4e 76 62 57 31 6c 63 6d 4e 6c 49 DAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlI
199240 46 4a 76 62 33 51 77 48 68 63 4e 4d 44 49 77 4e 6a 49 32 4d 44 49 78 4f 44 4d 32 0a 57 68 63 4e FJvb3QwHhcNMDIwNjI2MDIxODM2.WhcN
199260 4d 6a 49 77 4e 6a 49 30 4d 44 41 78 4e 6a 45 79 57 6a 42 72 4d 51 73 77 43 51 59 44 56 51 51 47 MjIwNjI0MDAxNjEyWjBrMQswCQYDVQQG
199280 45 77 4a 56 55 7a 45 4e 4d 41 73 47 41 31 55 45 43 68 4d 45 56 6b 6c 54 51 54 45 76 4d 43 30 47 EwJVUzENMAsGA1UEChMEVklTQTEvMC0G
1992a0 41 31 55 45 43 78 4d 6d 0a 56 6d 6c 7a 59 53 42 4a 62 6e 52 6c 63 6d 35 68 64 47 6c 76 62 6d 46 A1UECxMm.VmlzYSBJbnRlcm5hdGlvbmF
1992c0 73 49 46 4e 6c 63 6e 5a 70 59 32 55 67 51 58 4e 7a 62 32 4e 70 59 58 52 70 62 32 34 78 48 44 41 sIFNlcnZpY2UgQXNzb2NpYXRpb24xHDA
1992e0 61 42 67 4e 56 42 41 4d 54 45 31 5a 70 63 32 45 67 5a 55 4e 76 0a 62 57 31 6c 63 6d 4e 6c 49 46 aBgNVBAMTE1Zpc2EgZUNv.bW1lcmNlIF
199300 4a 76 62 33 51 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 Jvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4
199320 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 76 56 39 35 57 48 6d 36 68 32 6d 43 78 6c 43 IBDwAwggEKAoIBAQCvV95WHm6h2mCxlC
199340 66 4c 0a 46 39 73 48 50 34 43 46 54 38 69 63 74 74 44 30 62 30 2f 50 6d 64 6a 68 32 38 4a 49 58 fL.F9sHP4CFT8icttD0b0/Pmdjh28JIX
199360 44 71 73 4f 54 50 48 48 32 71 4c 4a 6a 30 72 4e 66 56 49 73 5a 48 42 41 6b 34 45 6c 70 46 37 73 DqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7s
199380 44 50 77 73 52 52 4f 45 57 2b 31 51 4b 38 62 0a 52 61 56 4b 37 33 36 32 72 50 4b 67 48 31 67 2f DPwsRROEW+1QK8b.RaVK7362rPKgH1g/
1993a0 45 6b 5a 67 50 49 32 68 34 48 33 50 56 7a 34 7a 48 76 74 48 38 61 6f 56 6c 77 64 56 5a 71 57 31 EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1
1993c0 4c 53 37 59 67 46 6d 79 70 77 32 33 52 75 77 68 59 2f 38 31 71 36 55 43 7a 79 72 30 0a 54 50 35 LS7YgFmypw23RuwhY/81q6UCzyr0.TP5
1993e0 37 39 5a 52 64 68 45 32 6f 38 6d 43 50 32 77 34 6c 50 4a 39 7a 63 63 2b 55 33 30 72 71 32 39 39 79ZRdhE2o8mCP2w4lPJ9zcc+U30rq299
199400 79 4f 49 7a 7a 6c 72 33 78 46 37 7a 53 75 6a 74 46 57 73 61 6e 39 73 59 58 69 77 47 64 2f 42 6d yOIzzlr3xF7zSujtFWsan9sYXiwGd/Bm
199420 6f 4b 6f 4d 57 75 44 70 49 0a 2f 6b 34 2b 6f 4b 73 47 47 65 6c 54 38 34 41 54 42 2b 30 74 76 7a oKoMWuDpI./k4+oKsGGelT84ATB+0tvz
199440 38 4b 50 46 55 67 4f 53 77 73 41 47 6c 30 6c 55 71 38 49 4c 4b 70 65 65 55 59 69 5a 47 6f 33 42 8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3B
199460 78 4e 37 37 74 2b 4e 77 74 64 2f 6a 6d 6c 69 46 4b 4d 41 47 7a 73 0a 47 48 78 42 76 66 61 4c 64 xN77t+Nwtd/jmliFKMAGzs.GHxBvfaLd
199480 58 65 36 59 4a 32 45 35 2f 34 74 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 Xe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdE
1994a0 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 wEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDA
1994c0 67 45 47 0a 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 56 4f 49 4d 50 50 79 77 2f 63 44 4d 65 gEG.MB0GA1UdDgQWBBQVOIMPPyw/cDMe
1994e0 7a 55 62 2b 42 34 77 67 34 4e 66 44 74 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 zUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF
199500 41 41 4f 43 41 51 45 41 58 2f 46 42 66 58 78 63 0a 43 4c 6b 72 34 4e 57 53 52 2f 70 6e 58 4b 55 AAOCAQEAX/FBfXxc.CLkr4NWSR/pnXKU
199520 54 77 77 4d 68 6d 79 74 4d 69 55 62 50 57 55 33 4a 2f 71 56 41 74 6d 50 4e 33 58 45 6f 6c 57 63 TwwMhmytMiUbPWU3J/qVAtmPN3XEolWc
199540 52 7a 43 53 73 30 30 52 73 63 61 34 42 49 47 73 44 6f 6f 38 59 74 79 6b 36 66 65 55 57 0a 59 46 RzCSs00Rsca4BIGsDoo8Ytyk6feUW.YF
199560 4e 34 50 4d 43 76 46 59 50 33 6a 31 49 7a 4a 4c 31 6b 6b 35 66 75 69 2f 66 62 47 4b 68 74 63 62 N4PMCvFYP3j1IzJL1kk5fui/fbGKhtcb
199580 50 33 4c 42 66 51 64 43 56 70 39 2f 35 72 50 4a 53 2b 54 55 74 42 6a 45 37 69 63 39 44 6a 6b 43 P3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkC
1995a0 4a 7a 51 38 33 7a 37 2b 70 7a 0a 7a 6b 57 4b 73 4b 5a 4a 2f 30 78 39 6e 58 47 49 78 48 59 64 6b JzQ83z7+pz.zkWKsKZJ/0x9nXGIxHYdk
1995c0 46 73 64 37 76 33 4d 39 2b 37 39 59 4b 57 78 65 68 5a 78 30 52 62 51 66 42 49 38 62 47 6d 58 32 Fsd7v3M9+79YKWxehZx0RbQfBI8bGmX2
1995e0 36 35 66 4f 5a 70 77 4c 77 55 38 47 55 59 45 6d 53 41 32 30 47 42 75 0a 59 51 61 37 46 6b 4b 4d 65fOZpwLwU8GUYEmSA20GBu.YQa7FkKM
199600 63 50 63 77 2b 2b 44 62 5a 71 4d 41 41 62 33 6d 4c 4e 71 52 58 36 42 47 69 30 31 71 6e 44 30 39 cPcw++DbZqMAAb3mLNqRX6BGi01qnD09
199620 33 51 56 47 2f 6e 61 2f 6f 41 6f 38 35 41 44 6d 4a 37 66 2f 68 43 33 65 75 69 49 6e 6c 68 42 78 3QVG/na/oAo85ADmJ7f/hC3euiInlhBx
199640 36 79 4c 74 0a 33 39 38 7a 6e 4d 2f 6a 72 61 36 4f 31 49 37 6d 54 31 47 76 46 70 4c 67 58 50 59 6yLt.398znM/jra6O1I7mT1GvFpLgXPY
199660 48 44 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a HDw==.-----END.CERTIFICATE-----.
199680 0a 43 6f 6d 6f 64 6f 20 41 41 41 20 53 65 72 76 69 63 65 73 20 72 6f 6f 74 0a 3d 3d 3d 3d 3d 3d .Comodo.AAA.Services.root.======
1996a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1996c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 6a 43 43 41 78 71 67 41 77 49 42 41 RTIFICATE-----.MIIEMjCCAxqgAwIBA
1996e0 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 37 4d 51 73 77 43 gIBATANBgkqhkiG9w0BAQUFADB7MQswC
199700 51 59 44 56 51 51 47 45 77 4a 48 51 6a 45 62 4d 42 6b 47 41 31 55 45 43 41 77 53 0a 52 33 4a 6c QYDVQQGEwJHQjEbMBkGA1UECAwS.R3Jl
199720 59 58 52 6c 63 69 42 4e 59 57 35 6a 61 47 56 7a 64 47 56 79 4d 52 41 77 44 67 59 44 56 51 51 48 YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH
199740 44 41 64 54 59 57 78 6d 62 33 4a 6b 4d 52 6f 77 47 41 59 44 56 51 51 4b 44 42 46 44 62 32 31 76 DAdTYWxmb3JkMRowGAYDVQQKDBFDb21v
199760 5a 47 38 67 51 30 45 67 0a 54 47 6c 74 61 58 52 6c 5a 44 45 68 4d 42 38 47 41 31 55 45 41 77 77 ZG8gQ0Eg.TGltaXRlZDEhMB8GA1UEAww
199780 59 51 55 46 42 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 YQUFBIENlcnRpZmljYXRlIFNlcnZpY2V
1997a0 7a 4d 42 34 58 44 54 41 30 4d 44 45 77 4d 54 41 77 4d 44 41 77 0a 4d 46 6f 58 44 54 49 34 4d 54 zMB4XDTA0MDEwMTAwMDAw.MFoXDTI4MT
1997c0 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 65 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 IzMTIzNTk1OVowezELMAkGA1UEBhMCR0
1997e0 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 4d 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2
199800 68 6c 0a 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 55 32 46 73 5a 6d 39 79 5a hl.c3RlcjEQMA4GA1UEBwwHU2FsZm9yZ
199820 44 45 61 4d 42 67 47 41 31 55 45 43 67 77 52 51 32 39 74 62 32 52 76 49 45 4e 42 49 45 78 70 62 DEaMBgGA1UECgwRQ29tb2RvIENBIExpb
199840 57 6c 30 5a 57 51 78 49 54 41 66 42 67 4e 56 0a 42 41 4d 4d 47 45 46 42 51 53 42 44 5a 58 4a 30 Wl0ZWQxITAfBgNV.BAMMGEFBQSBDZXJ0
199860 61 57 5a 70 59 32 46 30 5a 53 42 54 5a 58 4a 32 61 57 4e 6c 63 7a 43 43 41 53 49 77 44 51 59 4a aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJ
199880 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 KoZIhvcNAQEBBQADggEPADCCAQoC.ggE
1998a0 42 41 4c 35 41 6e 66 52 75 34 65 70 32 68 78 78 4e 52 55 53 4f 76 6b 62 49 67 77 61 64 77 53 72 BAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr
1998c0 2b 47 42 2b 4f 35 41 4c 36 38 36 74 64 55 49 6f 57 4d 51 75 61 42 74 44 46 63 43 4c 4e 53 53 31 +GB+O5AL686tdUIoWMQuaBtDFcCLNSS1
1998e0 55 59 38 79 32 62 6d 68 47 0a 43 31 50 71 79 30 77 6b 77 4c 78 79 54 75 72 78 46 61 37 30 56 4a UY8y2bmhG.C1Pqy0wkwLxyTurxFa70VJ
199900 6f 53 43 73 4e 36 73 6a 4e 67 34 74 71 4a 56 66 4d 69 57 50 50 65 33 4d 2f 76 67 34 61 69 6a 4a oSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJ
199920 52 50 6e 32 6a 79 6d 4a 42 47 68 43 66 48 64 72 2f 6a 7a 44 55 73 0a 69 31 34 48 5a 47 57 43 77 RPn2jymJBGhCfHdr/jzDUs.i14HZGWCw
199940 45 69 77 71 4a 48 35 59 5a 39 32 49 46 43 6f 6b 63 64 6d 74 65 74 34 59 67 4e 57 38 49 6f 61 45 EiwqJH5YZ92IFCokcdmtet4YgNW8IoaE
199960 2b 6f 78 6f 78 36 67 6d 66 30 34 39 76 59 6e 4d 6c 68 76 42 2f 56 72 75 50 73 55 4b 36 2b 33 71 +oxox6gmf049vYnMlhvB/VruPsUK6+3q
199980 73 7a 57 0a 59 31 39 7a 6a 4e 6f 46 6d 61 67 34 71 4d 73 58 65 44 5a 52 72 4f 6d 65 39 48 67 36 szW.Y19zjNoFmag4qMsXeDZRrOme9Hg6
1999a0 6a 63 38 50 32 55 4c 69 6d 41 79 72 4c 35 38 4f 41 64 37 76 6e 35 6c 4a 38 53 33 66 72 48 52 4e jc8P2ULimAyrL58OAd7vn5lJ8S3frHRN
1999c0 47 35 69 31 52 38 58 6c 4b 64 48 35 6b 42 6a 48 0a 59 70 79 2b 67 38 63 6d 65 7a 36 4b 4a 63 66 G5i1R8XlKdH5kBjH.Ypy+g8cmez6KJcf
1999e0 41 33 5a 33 6d 4e 57 67 51 49 4a 32 50 32 4e 37 53 77 34 53 63 44 56 37 6f 4c 38 6b 43 41 77 45 A3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwE
199a00 41 41 61 4f 42 77 44 43 42 76 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 42 45 4b 0a 49 7a AAaOBwDCBvTAdBgNVHQ4EFgQUoBEK.Iz
199a20 36 57 38 51 66 73 34 71 38 70 37 34 4b 6c 66 39 41 77 70 4c 51 77 44 67 59 44 56 52 30 50 41 51 6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQ
199a40 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 H/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf
199a60 38 77 65 77 59 44 56 52 30 66 0a 42 48 51 77 63 6a 41 34 6f 44 61 67 4e 49 59 79 61 48 52 30 63 8wewYDVR0f.BHQwcjA4oDagNIYyaHR0c
199a80 44 6f 76 4c 32 4e 79 62 43 35 6a 62 32 31 76 5a 47 39 6a 59 53 35 6a 62 32 30 76 51 55 46 42 51 DovL2NybC5jb21vZG9jYS5jb20vQUFBQ
199aa0 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 56 54 5a 58 4a 32 61 57 4e 6c 0a 63 79 35 6a 63 6d 77 77 2VydGlmaWNhdGVTZXJ2aWNl.cy5jcmww
199ac0 4e 71 41 30 6f 44 4b 47 4d 47 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 59 32 39 74 62 32 52 76 NqA0oDKGMGh0dHA6Ly9jcmwuY29tb2Rv
199ae0 4c 6d 35 6c 64 43 39 42 51 55 46 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 56 4e 6c 63 6e 5a 70 Lm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZp
199b00 59 32 56 7a 0a 4c 6d 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f Y2Vz.LmNybDANBgkqhkiG9w0BAQUFAAO
199b20 43 41 51 45 41 43 46 62 38 41 76 43 62 36 50 2b 6b 2b 74 5a 37 78 6b 53 41 7a 6b 2f 45 78 66 59 CAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfY
199b40 41 57 4d 79 6d 74 72 77 55 53 57 67 45 64 75 6a 6d 0a 37 6c 33 73 41 67 39 67 31 6f 31 51 47 45 AWMymtrwUSWgEdujm.7l3sAg9g1o1QGE
199b60 38 6d 54 67 48 6a 35 72 43 6c 37 72 2b 38 64 46 52 42 76 2f 33 38 45 72 6a 48 54 31 72 30 69 57 8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iW
199b80 41 46 66 32 43 33 42 55 72 7a 39 76 48 43 76 38 53 35 64 49 61 32 4c 58 31 72 7a 4e 4c 7a 0a 52 AFf2C3BUrz9vHCv8S5dIa2LX1rzNLz.R
199ba0 74 30 76 78 75 42 71 77 38 4d 30 41 79 78 39 6c 74 31 61 77 67 36 6e 43 70 6e 42 42 59 75 72 44 t0vxuBqw8M0Ayx9lt1awg6nCpnBBYurD
199bc0 43 2f 7a 58 44 72 50 62 44 64 56 43 59 66 65 55 30 42 73 57 4f 2f 38 74 71 74 6c 62 67 54 32 47 C/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G
199be0 39 77 38 34 46 6f 56 78 70 37 5a 0a 38 56 6c 49 4d 43 46 6c 41 32 7a 73 36 53 46 7a 37 4a 73 44 9w84FoVxp7Z.8VlIMCFlA2zs6SFz7JsD
199c00 6f 65 41 33 72 61 41 56 47 49 2f 36 75 67 4c 4f 70 79 79 70 45 42 4d 73 31 4f 55 49 4a 71 73 69 oeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
199c20 6c 32 44 34 6b 46 35 30 31 4b 4b 61 55 37 33 79 71 57 6a 67 6f 6d 37 43 0a 31 32 79 78 6f 77 2b l2D4kF501KKaU73yqWjgom7C.12yxow+
199c40 65 76 2b 74 6f 35 31 62 79 72 76 4c 6a 4b 7a 67 36 43 59 47 31 61 34 58 58 76 69 33 74 50 78 71 ev+to51byrvLjKzg6CYG1a4XXvi3tPxq
199c60 33 73 6d 50 69 39 57 49 73 67 74 52 71 41 45 46 51 38 54 6d 44 6e 35 58 70 4e 70 61 59 62 67 3d 3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg=
199c80 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f =.-----END.CERTIFICATE-----..Quo
199ca0 56 61 64 69 73 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d Vadis.Root.CA.================.-
199cc0 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 30 ----BEGIN.CERTIFICATE-----.MIIF0
199ce0 44 43 43 42 4c 69 67 41 77 49 42 41 67 49 45 4f 72 5a 51 69 7a 41 4e 42 67 6b 71 68 6b 69 47 39 DCCBLigAwIBAgIEOrZQizANBgkqhkiG9
199d00 77 30 42 41 51 55 46 41 44 42 2f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 43 54 54 45 5a 4d w0BAQUFADB/MQswCQYDVQQGEwJCTTEZM
199d20 42 63 47 41 31 55 45 0a 43 68 4d 51 55 58 56 76 56 6d 46 6b 61 58 4d 67 54 47 6c 74 61 58 52 6c BcGA1UE.ChMQUXVvVmFkaXMgTGltaXRl
199d40 5a 44 45 6c 4d 43 4d 47 41 31 55 45 43 78 4d 63 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 ZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZp
199d60 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 75 4d 43 77 47 41 31 55 Y2F0aW9uIEF1dGhvcml0.eTEuMCwGA1U
199d80 45 41 78 4d 6c 55 58 56 76 56 6d 46 6b 61 58 4d 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a EAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZ
199da0 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4d 54 41 pY2F0aW9uIEF1dGhvcml0eTAeFw0wMTA
199dc0 7a 0a 4d 54 6b 78 4f 44 4d 7a 4d 7a 4e 61 46 77 30 79 4d 54 41 7a 4d 54 63 78 4f 44 4d 7a 4d 7a z.MTkxODMzMzNaFw0yMTAzMTcxODMzMz
199de0 4e 61 4d 48 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 44 56 51 NaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQ
199e00 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 0a 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 QKExBRdW9WYWRp.cyBMaW1pdGVkMSUwI
199e20 77 59 44 56 51 51 4c 45 78 78 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 wYDVQQLExxSb290IENlcnRpZmljYXRpb
199e40 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 53 34 77 4c 41 59 44 56 51 51 44 0a 45 79 56 52 24gQXV0aG9yaXR5MS4wLAYDVQQD.EyVR
199e60 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 dW9WYWRpcyBSb290IENlcnRpZmljYXRp
199e80 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 b24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
199ea0 39 77 30 42 41 51 45 46 0a 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 76 32 47 9w0BAQEF.AAOCAQ8AMIIBCgKCAQEAv2G
199ec0 31 6c 56 4f 36 56 2f 7a 36 38 6d 63 4c 4f 68 72 66 45 59 42 6b 6c 62 54 52 76 4d 31 36 7a 2f 59 1lVO6V/z68mcLOhrfEYBklbTRvM16z/Y
199ee0 70 6c 69 34 6b 56 45 41 6b 4f 50 63 61 68 64 78 59 54 4d 75 6b 0a 4a 30 4b 58 30 4a 2b 44 69 73 pli4kVEAkOPcahdxYTMuk.J0KX0J+Dis
199f00 50 6b 42 67 4e 62 41 4b 56 52 48 6e 41 45 64 4f 4c 42 31 44 71 72 31 36 30 37 42 78 67 46 6a 76 PkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv
199f20 32 44 72 4f 70 6d 32 52 67 62 61 49 72 31 56 78 71 59 75 76 58 74 64 6a 31 38 32 64 36 55 61 6a 2DrOpm2RgbaIr1VxqYuvXtdj182d6Uaj
199f40 74 4c 0a 46 38 48 56 6a 37 31 6c 4f 44 71 56 30 44 31 56 4e 6b 37 66 65 56 63 78 4b 68 37 59 57 tL.F8HVj71lODqV0D1VNk7feVcxKh7YW
199f60 57 56 4a 57 43 43 59 66 71 74 66 66 70 2f 70 31 6b 33 73 67 33 53 70 78 32 7a 59 37 69 6c 4b 68 WVJWCCYfqtffp/p1k3sg3Spx2zY7ilKh
199f80 53 6f 47 46 50 6c 55 35 74 50 61 5a 51 65 4c 0a 59 7a 63 53 31 39 44 73 77 33 73 67 51 55 53 6a SoGFPlU5tPaZQeL.YzcS19Dsw3sgQUSj
199fa0 37 63 75 67 46 2b 46 78 5a 63 34 64 5a 6a 48 33 64 67 45 5a 79 48 30 44 57 4c 61 56 53 52 32 6d 7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2m
199fc0 45 69 62 6f 78 67 78 32 34 4f 4e 6d 79 2b 70 64 70 69 62 75 35 63 78 66 76 57 65 6e 0a 41 53 63 Eiboxgx24ONmy+pdpibu5cxfvWen.ASc
199fe0 4f 6f 73 70 55 78 62 46 36 6c 52 31 78 48 6b 6f 70 69 67 50 63 61 6b 58 42 70 42 6c 65 62 7a 62 OospUxbF6lR1xHkopigPcakXBpBlebzb
19a000 4e 77 36 4b 77 74 2f 35 63 4f 4f 4a 53 76 50 68 45 51 2b 61 51 75 77 49 44 41 51 41 42 6f 34 49 Nw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4I
19a020 43 55 6a 43 43 41 6b 34 77 0a 50 51 59 49 4b 77 59 42 42 51 55 48 41 51 45 45 4d 54 41 76 4d 43 CUjCCAk4w.PQYIKwYBBQUHAQEEMTAvMC
19a040 30 47 43 43 73 47 41 51 55 46 42 7a 41 42 68 69 46 6f 64 48 52 77 63 7a 6f 76 4c 32 39 6a 63 33 0GCCsGAQUFBzABhiFodHRwczovL29jc3
19a060 41 75 63 58 56 76 64 6d 46 6b 61 58 4e 76 5a 6d 5a 7a 61 47 39 79 0a 5a 53 35 6a 62 32 30 77 44 AucXVvdmFkaXNvZmZzaG9y.ZS5jb20wD
19a080 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 43 41 52 6f 47 41 31 55 64 49 wYDVR0TAQH/BAUwAwEB/zCCARoGA1UdI
19a0a0 41 53 43 41 52 45 77 67 67 45 4e 4d 49 49 42 43 51 59 4a 4b 77 59 42 42 41 47 2b 57 41 41 42 4d ASCAREwggENMIIBCQYJKwYBBAG+WAABM
19a0c0 49 48 37 0a 4d 49 48 55 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 43 42 78 78 71 42 78 46 4a 6c IH7.MIHUBggrBgEFBQcCAjCBxxqBxFJl
19a0e0 62 47 6c 68 62 6d 4e 6c 49 47 39 75 49 48 52 6f 5a 53 42 52 64 57 39 57 59 57 52 70 63 79 42 53 bGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBS
19a100 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4a 35 49 47 46 75 65 53 42 b290IENlcnRpZmlj.YXRlIGJ5IGFueSB
19a120 77 59 58 4a 30 65 53 42 68 63 33 4e 31 62 57 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 wYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2U
19a140 67 62 32 59 67 64 47 68 6c 49 48 52 6f 5a 57 34 67 59 58 42 77 62 47 6c 6a 59 57 4a 73 0a 5a 53 gb2YgdGhlIHRoZW4gYXBwbGljYWJs.ZS
19a160 42 7a 64 47 46 75 5a 47 46 79 5a 43 42 30 5a 58 4a 74 63 79 42 68 62 6d 51 67 59 32 39 75 5a 47 BzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZG
19a180 6c 30 61 57 39 75 63 79 42 76 5a 69 42 31 63 32 55 73 49 47 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 l0aW9ucyBvZiB1c2UsIGNlcnRpZmljYX
19a1a0 52 70 62 32 34 67 63 48 4a 68 0a 59 33 52 70 59 32 56 7a 4c 43 42 68 62 6d 51 67 64 47 68 6c 49 Rpb24gcHJh.Y3RpY2VzLCBhbmQgdGhlI
19a1c0 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 42 76 62 FF1b1ZhZGlzIENlcnRpZmljYXRlIFBvb
19a1e0 47 6c 6a 65 53 34 77 49 67 59 49 4b 77 59 42 42 51 55 48 41 67 45 57 0a 46 6d 68 30 64 48 41 36 GljeS4wIgYIKwYBBQUHAgEW.Fmh0dHA6
19a200 4c 79 39 33 64 33 63 75 63 58 56 76 64 6d 46 6b 61 58 4d 75 59 6d 30 77 48 51 59 44 56 52 30 4f Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0O
19a220 42 42 59 45 46 49 74 4c 62 65 33 54 4b 62 6b 47 47 65 77 35 4f 61 6e 77 6c 34 52 71 79 2b 2f 66 BBYEFItLbe3TKbkGGew5Oanwl4Rqy+/f
19a240 4d 49 47 75 0a 42 67 4e 56 48 53 4d 45 67 61 59 77 67 61 4f 41 46 49 74 4c 62 65 33 54 4b 62 6b MIGu.BgNVHSMEgaYwgaOAFItLbe3TKbk
19a260 47 47 65 77 35 4f 61 6e 77 6c 34 52 71 79 2b 2f 66 6f 59 47 45 70 49 47 42 4d 48 38 78 43 7a 41 GGew5Oanwl4Rqy+/foYGEpIGBMH8xCzA
19a280 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 0a 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 JBgNVBAYTAkJNMRkw.FwYDVQQKExBRdW
19a2a0 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 77 59 44 56 51 51 4c 45 78 9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLEx
19a2c0 78 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 xSb290IENlcnRpZmljYXRpb24gQXV0.a
19a2e0 47 39 79 61 58 52 35 4d 53 34 77 4c 41 59 44 56 51 51 44 45 79 56 52 64 57 39 57 59 57 52 70 63 G9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpc
19a300 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 yBSb290IENlcnRpZmljYXRpb24gQXV0a
19a320 47 39 79 61 58 52 35 67 67 51 36 0a 74 6c 43 4c 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 G9yaXR5ggQ6.tlCLMA4GA1UdDwEB/wQE
19a340 41 77 49 42 42 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 AwIBBjANBgkqhkiG9w0BAQUFAAOCAQEA
19a360 69 74 51 55 74 66 37 30 6d 70 4b 6e 47 64 53 6b 66 6e 49 59 6a 39 6c 6f 0a 66 46 49 6b 33 57 64 itQUtf70mpKnGdSkfnIYj9lo.fFIk3Wd
19a380 76 4f 58 72 45 71 6c 34 39 34 6c 69 77 54 58 43 59 68 47 48 6f 47 2b 4e 70 47 41 37 4f 2b 30 64 vOXrEql494liwTXCYhGHoG+NpGA7O+0d
19a3a0 51 6f 45 37 2f 38 43 51 66 76 62 4c 4f 39 53 66 38 37 43 39 54 71 6e 4e 37 41 7a 31 30 62 75 59 QoE7/8CQfvbLO9Sf87C9TqnN7Az10buY
19a3c0 57 6e 75 75 6c 0a 4c 73 53 2f 56 69 64 51 4b 32 4b 36 76 6b 73 63 50 46 56 63 51 52 30 6b 76 6f Wnuul.LsS/VidQK2K6vkscPFVcQR0kvo
19a3e0 49 67 52 31 33 56 52 48 35 36 46 6d 6a 66 66 55 31 52 63 48 68 58 48 54 4d 65 2f 51 4b 5a 6e 41 IgR13VRH56FmjffU1RcHhXHTMe/QKZnA
19a400 7a 4e 43 67 56 50 78 37 75 4f 70 48 58 36 53 6d 32 78 0a 67 49 34 4a 56 72 6d 63 47 6d 44 2b 58 zNCgVPx7uOpHX6Sm2x.gI4JVrmcGmD+X
19a420 63 48 58 65 74 77 52 65 4e 44 57 58 63 47 33 31 61 30 79 6d 51 4d 36 69 73 78 55 4a 54 6b 78 67 cHXetwReNDWXcG31a0ymQM6isxUJTkxg
19a440 58 73 54 49 6c 47 36 52 6d 79 68 75 35 37 36 42 47 78 4a 4a 6e 53 50 30 6e 50 72 7a 44 43 69 0a XsTIlG6Rmyhu576BGxJJnSP0nPrzDCi.
19a460 35 75 70 5a 49 6f 66 34 6c 2f 55 4f 2f 65 72 4d 6b 71 51 57 78 46 49 59 36 69 48 4f 73 66 48 6d 5upZIof4l/UO/erMkqQWxFIY6iHOsfHm
19a480 68 49 48 6c 75 71 6d 47 4b 50 4a 44 57 6c 30 53 6e 61 77 65 32 61 6a 6c 43 6d 71 6e 66 36 43 48 hIHluqmGKPJDWl0Snawe2ajlCmqnf6CH
19a4a0 4b 63 2f 79 69 55 33 55 37 4d 58 69 0a 35 6e 72 51 4e 69 4f 4b 53 6e 51 32 2b 51 3d 3d 0a 2d 2d Kc/yiU3U7MXi.5nrQNiOKSnQ2+Q==.--
19a4c0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 ---END.CERTIFICATE-----..QuoVadi
19a4e0 73 20 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d s.Root.CA.2.==================.-
19a500 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 74 ----BEGIN.CERTIFICATE-----.MIIFt
19a520 7a 43 43 41 35 2b 67 41 77 49 42 41 67 49 43 42 51 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 zCCA5+gAwIBAgICBQkwDQYJKoZIhvcNA
19a540 51 45 46 42 51 41 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 QEFBQAwRTELMAkGA1UEBhMCQk0xGTAXB
19a560 67 4e 56 42 41 6f 54 0a 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 gNVBAoT.EFF1b1ZhZGlzIExpbWl0ZWQx
19a580 47 7a 41 5a 42 67 4e 56 42 41 4d 54 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 GzAZBgNVBAMTElF1b1ZhZGlzIFJvb3Qg
19a5a0 51 30 45 67 4d 6a 41 65 46 77 30 77 4e 6a 45 78 4d 6a 51 78 0a 4f 44 49 33 4d 44 42 61 46 77 30 Q0EgMjAeFw0wNjExMjQx.ODI3MDBaFw0
19a5c0 7a 4d 54 45 78 4d 6a 51 78 4f 44 49 7a 4d 7a 4e 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 zMTExMjQxODIzMzNaMEUxCzAJBgNVBAY
19a5e0 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 TAkJNMRkwFwYDVQQKExBRdW9WYWRpcyB
19a600 4d 0a 61 57 31 70 64 47 56 6b 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 M.aW1pdGVkMRswGQYDVQQDExJRdW9WYW
19a620 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 RpcyBSb290IENBIDIwggIiMA0GCSqGSI
19a640 62 33 44 51 45 42 41 51 55 41 41 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 61 47 b3DQEBAQUAA4IC.DwAwggIKAoICAQCaG
19a660 4d 70 4c 6c 41 30 41 4c 61 38 44 4b 59 72 77 44 34 48 49 72 6b 77 5a 68 52 30 49 6e 36 73 70 52 MpLlA0ALa8DKYrwD4HIrkwZhR0In6spR
19a680 49 58 7a 4c 34 47 74 4d 68 36 51 52 72 2b 6a 68 69 59 61 48 76 35 2b 48 42 67 36 0a 58 4a 78 67 IXzL4GtMh6QRr+jhiYaHv5+HBg6.XJxg
19a6a0 46 79 6f 36 64 49 4d 7a 4d 48 31 68 56 42 48 4c 37 61 76 67 35 74 4b 69 66 76 56 72 62 78 69 33 Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3
19a6c0 43 67 73 74 2f 65 6b 2b 37 77 72 47 73 78 44 70 33 4d 4a 47 46 2f 68 64 2f 61 54 61 2f 35 35 4a Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J
19a6e0 57 70 7a 6d 4d 2b 59 6b 0a 6c 76 63 2f 75 6c 73 72 48 48 6f 31 77 74 5a 6e 2f 71 74 6d 55 49 74 WpzmM+Yk.lvc/ulsrHHo1wtZn/qtmUIt
19a700 74 4b 47 41 72 37 39 64 67 77 38 65 54 76 49 30 32 6b 66 4e 2f 2b 4e 73 52 45 38 53 63 64 33 62 tKGAr79dgw8eTvI02kfN/+NsRE8Scd3b
19a720 42 72 72 63 43 61 6f 46 36 71 55 57 44 34 67 58 6d 75 56 62 42 0a 6c 44 65 50 53 48 46 6a 49 75 BrrcCaoF6qUWD4gXmuVbB.lDePSHFjIu
19a740 77 58 5a 51 65 56 69 6b 76 66 6a 38 5a 61 43 75 57 77 34 31 39 65 61 78 47 72 44 50 6d 46 36 30 wXZQeVikvfj8ZaCuWw419eaxGrDPmF60
19a760 54 70 2b 41 52 7a 38 75 6e 2b 58 4a 69 4d 39 58 4f 76 61 37 52 2b 7a 64 52 63 41 69 74 4d 4f 65 Tp+ARz8un+XJiM9XOva7R+zdRcAitMOe
19a780 47 79 0a 6c 5a 55 74 51 6f 66 58 31 62 4f 51 51 37 64 73 45 2f 48 65 33 66 62 45 2b 49 6b 2f 30 Gy.lZUtQofX1bOQQ7dsE/He3fbE+Ik/0
19a7a0 58 58 31 6b 73 4f 52 31 59 71 49 30 4a 44 73 33 47 33 65 69 63 4a 6c 63 5a 61 4c 44 51 50 39 6e XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9n
19a7c0 4c 39 62 46 71 79 53 32 2b 72 2b 65 58 79 74 0a 36 36 2f 33 46 73 76 62 7a 53 55 72 35 52 2f 37 L9bFqyS2+r+eXyt.66/3FsvbzSUr5R/7
19a7e0 6d 70 2f 69 55 63 77 36 55 77 78 49 35 67 36 39 79 62 52 32 42 6c 4c 6d 45 52 4f 46 63 6d 4d 44 mp/iUcw6UwxI5g69ybR2BlLmEROFcmMD
19a800 42 4f 41 45 4e 69 73 67 47 51 4c 6f 64 4b 63 66 74 73 6c 57 5a 76 42 31 4a 64 78 6e 0a 77 51 35 BOAENisgGQLodKcftslWZvB1Jdxn.wQ5
19a820 68 59 49 69 7a 50 74 47 6f 2f 4b 50 61 48 62 44 52 73 53 4e 55 33 30 52 32 62 65 31 42 32 4d 47 hYIizPtGo/KPaHbDRsSNU30R2be1B2MG
19a840 79 49 72 5a 54 48 4e 38 31 48 64 79 68 64 79 6f 78 35 43 33 31 35 65 58 62 79 4f 44 2f 35 59 44 yIrZTHN81Hdyhdyox5C315eXbyOD/5YD
19a860 58 43 32 4f 67 2f 7a 4f 68 0a 44 37 6f 73 46 52 58 71 6c 37 50 53 6f 72 57 2b 38 6f 79 57 48 68 XC2Og/zOh.D7osFRXql7PSorW+8oyWHh
19a880 71 50 48 57 79 6b 59 54 65 35 68 6e 4d 7a 31 35 65 57 6e 69 4e 39 67 71 52 4d 67 65 4b 68 30 62 qPHWykYTe5hnMz15eWniN9gqRMgeKh0b
19a8a0 70 6e 58 35 55 48 6f 79 63 52 37 68 59 51 65 37 78 46 53 6b 79 79 0a 42 4e 4b 72 37 39 58 39 44 pnX5UHoycR7hYQe7xFSkyy.BNKr79X9D
19a8c0 46 48 4f 55 47 6f 49 4d 66 6d 52 32 67 79 50 5a 46 77 44 77 7a 71 4c 49 44 39 75 6a 57 63 39 4f FHOUGoIMfmR2gyPZFwDwzqLID9ujWc9O
19a8e0 74 62 2b 66 56 75 49 79 56 37 37 7a 47 48 63 69 7a 4e 33 30 30 51 79 4e 51 6c 69 42 4a 49 57 45 tb+fVuIyV77zGHcizN300QyNQliBJIWE
19a900 4e 69 65 0a 4a 30 66 37 4f 79 48 6a 2b 4f 73 64 57 77 49 44 41 51 41 42 6f 34 47 77 4d 49 47 74 Nie.J0f7OyHj+OsdWwIDAQABo4GwMIGt
19a920 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0P
19a940 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 0a 44 67 51 57 42 42 51 61 68 47 4b 38 53 45 77 BAQDAgEGMB0GA1Ud.DgQWBBQahGK8SEw
19a960 7a 4a 51 54 55 37 74 44 32 41 38 51 5a 52 74 47 55 61 7a 42 75 42 67 4e 56 48 53 4d 45 5a 7a 42 zJQTU7tD2A8QZRtGUazBuBgNVHSMEZzB
19a980 6c 67 42 51 61 68 47 4b 38 53 45 77 7a 4a 51 54 55 37 74 44 32 41 38 51 5a 52 74 47 55 0a 61 36 lgBQahGK8SEwzJQTU7tD2A8QZRtGU.a6
19a9a0 46 4a 70 45 63 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBg
19a9c0 4e 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a NVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGz
19a9e0 41 5a 42 67 4e 56 42 41 4d 54 0a 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 AZBgNVBAMT.ElF1b1ZhZGlzIFJvb3QgQ
19aa00 30 45 67 4d 6f 49 43 42 51 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 0EgMoICBQkwDQYJKoZIhvcNAQEFBQADg
19aa20 67 49 42 41 44 34 4b 46 6b 32 66 42 6c 75 6f 72 6e 46 64 4c 77 55 76 0a 5a 2b 59 54 52 59 50 45 gIBAD4KFk2fBluornFdLwUv.Z+YTRYPE
19aa40 4e 76 62 7a 77 43 59 4d 44 62 56 48 5a 46 33 34 74 48 4c 4a 52 71 55 44 47 43 64 56 69 58 68 39 NvbzwCYMDbVHZF34tHLJRqUDGCdViXh9
19aa60 64 75 71 57 4e 49 41 58 49 4e 7a 6e 67 2f 69 4e 2f 41 65 34 32 6c 39 4e 4c 6d 65 79 68 50 33 5a duqWNIAXINzng/iN/Ae42l9NLmeyhP3Z
19aa80 52 50 78 33 0a 55 49 48 6d 66 4c 54 4a 44 51 74 79 55 2f 68 32 42 77 64 42 52 35 59 4d 2b 2b 43 RPx3.UIHmfLTJDQtyU/h2BwdBR5YM++C
19aaa0 43 4a 70 4e 56 6a 50 34 69 48 32 42 6c 66 46 2f 6e 4a 72 50 33 4d 70 43 59 55 4e 51 33 63 56 58 CJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX
19aac0 32 6b 69 46 34 39 35 56 35 2b 76 67 74 4a 6f 64 6d 0a 56 6a 42 33 70 6a 64 34 4d 31 49 51 57 4b 2kiF495V5+vgtJodm.VjB3pjd4M1IQWK
19aae0 34 2f 59 59 37 79 61 72 48 76 47 48 35 4b 57 57 50 4b 6a 61 4a 57 31 61 63 76 76 46 59 66 7a 7a 4/YY7yarHvGH5KWWPKjaJW1acvvFYfzz
19ab00 6e 42 34 76 73 4b 71 42 55 73 66 55 31 36 59 38 5a 73 6c 30 51 38 30 6d 2f 44 53 68 63 4b 0a 2b nB4vsKqBUsfU16Y8Zsl0Q80m/DShcK.+
19ab20 4a 44 53 56 36 49 5a 55 61 55 74 6c 30 48 61 42 30 2b 70 55 4e 71 51 6a 5a 52 47 34 54 37 77 6c JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wl
19ab40 50 30 51 41 44 6a 31 4f 2b 68 41 34 62 52 75 56 68 6f 67 7a 47 39 59 6a 65 30 75 52 59 2f 57 36 P0QADj1O+hA4bRuVhogzG9Yje0uRY/W6
19ab60 5a 4d 2f 35 37 45 73 33 7a 72 57 0a 49 6f 7a 63 68 4c 73 69 62 39 44 34 35 4d 59 35 36 51 53 49 ZM/57Es3zrW.IozchLsib9D45MY56QSI
19ab80 50 4d 4f 36 36 31 56 36 62 59 43 5a 4a 50 56 73 41 66 76 34 6c 37 43 55 57 2b 76 39 30 6d 2f 78 PMO661V6bYCZJPVsAfv4l7CUW+v90m/x
19aba0 64 32 67 4e 4e 57 51 6a 72 4c 68 56 6f 51 50 52 54 55 49 5a 33 50 68 31 0a 57 56 61 6a 2b 61 68 d2gNNWQjrLhVoQPRTUIZ3Ph1.WVaj+ah
19abc0 4a 65 66 69 76 44 72 6b 52 6f 48 79 33 61 75 30 30 30 4c 59 6d 59 6a 67 61 68 77 7a 34 36 50 30 JefivDrkRoHy3au000LYmYjgahwz46P0
19abe0 75 30 35 42 2f 42 35 45 71 48 64 5a 2b 58 49 57 44 6d 62 41 34 43 44 2f 70 58 76 6b 31 42 2b 54 u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+T
19ac00 4a 59 6d 35 58 0a 66 36 64 51 6c 66 65 36 79 4a 76 6d 6a 71 49 42 78 64 5a 6d 76 33 6c 68 38 7a JYm5X.f6dQlfe6yJvmjqIBxdZmv3lh8z
19ac20 77 63 34 62 6d 43 58 46 32 67 77 2b 6e 59 53 4c 30 5a 6f 68 45 55 47 57 36 79 68 68 74 6f 50 6b wc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPk
19ac40 67 33 47 6f 69 33 58 5a 5a 65 6e 4d 66 76 4a 32 49 49 0a 34 70 45 5a 58 4e 4c 78 49 64 32 36 46 g3Goi3XZZenMfvJ2II.4pEZXNLxId26F
19ac60 30 4b 43 6c 33 47 42 55 7a 47 70 6e 2f 5a 39 59 72 39 79 34 61 4f 54 48 63 79 4b 4a 6c 6f 4a 4f 0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJO
19ac80 4e 44 4f 31 77 32 41 46 72 52 34 70 54 71 48 54 49 32 4b 70 64 56 47 6c 2f 49 73 45 4c 6d 38 0a NDO1w2AFrR4pTqHTI2KpdVGl/IsELm8.
19aca0 56 43 4c 41 41 56 42 70 51 35 37 30 73 75 39 74 2b 4f 7a 61 38 65 4f 78 37 39 2b 52 6a 31 51 71 VCLAAVBpQ570su9t+Oza8eOx79+Rj1Qq
19acc0 43 79 58 42 4a 68 6e 45 55 68 41 46 5a 64 57 43 45 4f 72 43 4d 63 30 75 0a 2d 2d 2d 2d 2d 45 4e CyXBJhnEUhAFZdWCEOrCMc0u.-----EN
19ace0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f D.CERTIFICATE-----..QuoVadis.Roo
19ad00 74 20 43 41 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 t.CA.3.==================.-----B
19ad20 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 6e 54 43 43 42 49 EGIN.CERTIFICATE-----.MIIGnTCCBI
19ad40 57 67 41 77 49 42 41 67 49 43 42 63 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 WgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQ
19ad60 41 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 AwRTELMAkGA1UEBhMCQk0xGTAXBgNVBA
19ad80 6f 54 0a 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 oT.EFF1b1ZhZGlzIExpbWl0ZWQxGzAZB
19ada0 67 4e 56 42 41 4d 54 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d gNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgM
19adc0 7a 41 65 46 77 30 77 4e 6a 45 78 4d 6a 51 78 0a 4f 54 45 78 4d 6a 4e 61 46 77 30 7a 4d 54 45 78 zAeFw0wNjExMjQx.OTExMjNaFw0zMTEx
19ade0 4d 6a 51 78 4f 54 41 32 4e 44 52 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e MjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJN
19ae00 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 0a 61 57 31 MRkwFwYDVQQKExBRdW9WYWRpcyBM.aW1
19ae20 70 64 47 56 6b 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 52 70 63 79 42 pdGVkMRswGQYDVQQDExJRdW9WYWRpcyB
19ae40 53 62 32 39 30 49 45 4e 42 49 44 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 Sb290IENBIDMwggIiMA0GCSqGSIb3DQE
19ae60 42 41 51 55 41 41 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4d 56 30 49 57 56 4a BAQUAA4IC.DwAwggIKAoICAQDMV0IWVJ
19ae80 7a 6d 6d 4e 50 54 54 65 37 2b 37 63 65 66 51 7a 6c 4b 5a 62 50 6f 46 6f 67 30 32 77 31 5a 6b 58 zmmNPTTe7+7cefQzlKZbPoFog02w1ZkX
19aea0 54 50 6b 72 67 45 51 4b 30 43 53 7a 47 72 76 49 32 52 61 4e 67 67 0a 44 68 6f 42 34 68 70 37 54 TPkrgEQK0CSzGrvI2RaNgg.DhoB4hp7T
19aec0 68 64 64 34 6f 71 33 50 35 6b 61 7a 65 74 68 71 38 4a 6c 70 68 2b 33 74 37 32 33 6a 2f 7a 39 63 hdd4oq3P5kazethq8Jlph+3t723j/z9c
19aee0 49 38 4c 6f 47 65 2b 41 61 4a 5a 7a 33 48 6d 44 79 6c 32 2f 37 46 57 65 55 55 72 48 35 35 36 56 I8LoGe+AaJZz3HmDyl2/7FWeUUrH556V
19af00 4f 69 6a 0a 4b 54 56 6f 70 41 46 50 44 36 51 75 4e 2b 38 62 76 2b 4f 50 45 4b 68 79 71 31 68 58 Oij.KTVopAFPD6QuN+8bv+OPEKhyq1hX
19af20 35 31 53 47 79 4d 6e 7a 57 39 6f 73 32 6c 32 4f 62 6a 79 6a 50 74 72 37 67 75 58 64 38 6c 79 79 51SGyMnzW9os2l2ObjyjPtr7guXd8lyy
19af40 42 54 4e 76 69 6a 62 4f 30 42 4e 4f 2f 37 39 4b 0a 44 44 52 4d 70 73 4d 68 76 56 41 45 56 65 75 BTNvijbO0BNO/79K.DDRMpsMhvVAEVeu
19af60 78 75 35 33 37 52 52 35 6b 46 64 35 56 41 59 77 43 64 72 58 4c 6f 54 39 43 61 62 77 76 76 57 68 xu537RR5kFd5VAYwCdrXLoT9CabwvvWh
19af80 44 46 6c 61 4a 4b 6a 64 68 6b 66 32 6d 72 6b 37 41 79 78 52 6c 6c 44 64 4c 6b 67 62 76 0a 42 4e DFlaJKjdhkf2mrk7AyxRllDdLkgbv.BN
19afa0 44 49 6e 49 6a 62 43 33 75 42 72 37 45 39 4b 73 52 6c 4f 6e 69 32 37 74 79 41 73 64 4c 54 6d 5a DInIjbC3uBr7E9KsRlOni27tyAsdLTmZ
19afc0 77 36 37 6d 74 61 61 37 4f 4e 74 39 58 4f 6e 4d 4b 2b 70 55 73 76 46 72 47 65 61 44 73 47 62 36 w67mtaa7ONt9XOnMK+pUsvFrGeaDsGb6
19afe0 35 39 6e 2f 6a 65 37 4d 77 70 0a 70 35 69 6a 4a 55 4d 76 37 2f 46 66 4a 75 47 49 54 66 68 65 62 59n/je7Mwp.p5ijJUMv7/FfJuGITfheb
19b000 74 66 5a 46 47 34 5a 4d 32 6d 6e 4f 34 53 4a 6b 38 52 54 56 52 4f 68 55 58 68 41 2b 4c 6a 4a 6f tfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJo
19b020 75 35 37 75 6c 4a 43 67 35 34 55 37 51 56 53 57 6c 6c 57 70 35 66 38 0a 6e 54 38 4b 4b 64 6a 63 u57ulJCg54U7QVSWllWp5f8.nT8KKdjc
19b040 54 35 45 4f 45 37 7a 65 6c 61 54 66 69 35 6d 2b 72 4a 73 7a 69 4f 2b 31 67 61 38 62 78 69 4a 54 T5EOE7zelaTfi5m+rJsziO+1ga8bxiJT
19b060 79 50 62 48 37 70 63 55 73 4d 56 38 65 46 4c 49 38 4d 35 75 64 32 43 45 70 75 6b 71 64 69 44 74 yPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
19b080 57 41 45 58 0a 4d 4a 50 70 47 6f 76 67 63 32 50 5a 61 70 4b 55 53 55 36 30 72 55 71 46 78 4b 4d WAEX.MJPpGovgc2PZapKUSU60rUqFxKM
19b0a0 69 4d 50 77 4a 37 57 67 69 63 36 61 49 44 46 55 68 57 4d 58 68 4f 70 38 71 33 63 72 68 6b 4f 44 iMPwJ7Wgic6aIDFUhWMXhOp8q3crhkOD
19b0c0 5a 63 36 74 73 67 4c 6a 6f 43 32 53 54 6f 4a 79 4d 0a 47 66 2b 7a 30 67 7a 73 6b 53 61 48 69 72 Zc6tsgLjoC2SToJyM.Gf+z0gzskSaHir
19b0e0 4f 69 34 58 43 50 4c 41 72 6c 7a 57 31 6f 55 65 76 61 50 77 56 2f 69 7a 4c 6d 45 31 78 72 2f 6c Oi4XCPLArlzW1oUevaPwV/izLmE1xr/l
19b100 39 41 34 69 4c 49 74 4c 52 6b 54 39 61 36 66 55 67 2b 71 47 6b 4d 31 37 75 47 63 63 6c 7a 0a 75 9A4iLItLRkT9a6fUg+qGkM17uGcclz.u
19b120 44 38 37 6e 53 56 4c 32 76 39 41 36 77 49 44 41 51 41 42 6f 34 49 42 6c 54 43 43 41 5a 45 77 44 D87nSVL2v9A6wIDAQABo4IBlTCCAZEwD
19b140 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 42 34 51 59 44 56 52 30 67 42 wYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gB
19b160 49 48 5a 4d 49 48 57 4d 49 48 54 0a 42 67 6b 72 42 67 45 45 41 62 35 59 41 41 4d 77 67 63 55 77 IHZMIHWMIHT.BgkrBgEEAb5YAAMwgcUw
19b180 67 5a 4d 47 43 43 73 47 41 51 55 46 42 77 49 43 4d 49 47 47 47 6f 47 44 51 57 35 35 49 48 56 7a gZMGCCsGAQUFBwICMIGGGoGDQW55IHVz
19b1a0 5a 53 42 76 5a 69 42 30 61 47 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4e ZSBvZiB0aGlzIENlcnRpZmlj.YXRlIGN
19b1c0 76 62 6e 4e 30 61 58 52 31 64 47 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 67 62 32 59 vbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2Y
19b1e0 67 64 47 68 6c 49 46 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 79 42 gdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyB
19b200 44 5a 58 4a 30 0a 61 57 5a 70 59 32 46 30 5a 53 42 51 62 32 78 70 59 33 6b 67 4c 79 42 44 5a 58 DZXJ0.aWZpY2F0ZSBQb2xpY3kgLyBDZX
19b220 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 46 42 79 59 57 4e 30 61 57 4e 6c 49 46 4e 30 59 58 J0aWZpY2F0aW9uIFByYWN0aWNlIFN0YX
19b240 52 6c 62 57 56 75 64 43 34 77 4c 51 59 49 4b 77 59 42 0a 42 51 55 48 41 67 45 57 49 57 68 30 64 RlbWVudC4wLQYIKwYB.BQUHAgEWIWh0d
19b260 48 41 36 4c 79 39 33 64 33 63 75 63 58 56 76 64 6d 46 6b 61 58 4e 6e 62 47 39 69 59 57 77 75 59 HA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY
19b280 32 39 74 4c 32 4e 77 63 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 0a 29tL2NwczALBgNVHQ8EBAMCAQYwHQYD.
19b2a0 56 52 30 4f 42 42 59 45 46 50 4c 41 45 2b 43 43 51 7a 37 37 37 69 39 6e 4d 70 59 31 58 4e 75 34 VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4
19b2c0 79 77 4c 51 4d 47 34 47 41 31 55 64 49 77 52 6e 4d 47 57 41 46 50 4c 41 45 2b 43 43 51 7a 37 37 ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz77
19b2e0 37 69 39 6e 4d 70 59 31 58 4e 75 34 0a 79 77 4c 51 6f 55 6d 6b 52 7a 42 46 4d 51 73 77 43 51 59 7i9nMpY1XNu4.ywLQoUmkRzBFMQswCQY
19b300 44 56 51 51 47 45 77 4a 43 54 54 45 5a 4d 42 63 47 41 31 55 45 43 68 4d 51 55 58 56 76 56 6d 46 DVQQGEwJCTTEZMBcGA1UEChMQUXVvVmF
19b320 6b 61 58 4d 67 54 47 6c 74 61 58 52 6c 5a 44 45 62 4d 42 6b 47 41 31 55 45 0a 41 78 4d 53 55 58 kaXMgTGltaXRlZDEbMBkGA1UE.AxMSUX
19b340 56 76 56 6d 46 6b 61 58 4d 67 55 6d 39 76 64 43 42 44 51 53 41 7a 67 67 49 46 78 6a 41 4e 42 67 VvVmFkaXMgUm9vdCBDQSAzggIFxjANBg
19b360 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 41 54 36 32 67 4c 45 7a 36 77 50 kqhkiG9w0BAQUFAAOCAgEAT62gLEz6wP
19b380 4a 76 39 32 5a 56 0a 71 79 4d 30 37 75 63 70 32 73 4e 62 74 72 43 44 32 64 44 51 34 69 48 37 38 Jv92ZV.qyM07ucp2sNbtrCD2dDQ4iH78
19b3a0 32 43 6e 4f 31 31 67 55 79 65 69 6d 2f 59 49 49 69 72 6e 76 36 42 79 35 5a 77 6b 61 6a 47 78 6b 2CnO11gUyeim/YIIirnv6By5ZwkajGxk
19b3c0 48 6f 6e 32 34 51 52 69 53 65 6d 64 31 6f 34 31 37 2b 73 0a 68 76 7a 75 58 59 4f 38 42 73 62 52 Hon24QRiSemd1o417+s.hvzuXYO8BsbR
19b3e0 64 32 73 50 62 53 51 76 53 33 70 73 70 77 65 57 79 75 4f 45 6e 36 32 49 69 78 32 72 46 6f 31 62 d2sPbSQvS3pspweWyuOEn62Iix2rFo1b
19b400 5a 68 66 5a 46 76 53 4c 67 4e 4c 64 2b 4c 4a 32 77 2f 77 34 45 36 6f 4d 33 6b 4a 70 4b 32 37 7a ZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
19b420 0a 50 4f 75 41 4a 39 76 31 70 6b 51 4e 6e 31 70 56 57 51 76 56 44 56 4a 49 78 61 36 66 38 69 2b .POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+
19b440 41 78 65 6f 79 55 44 55 53 6c 79 37 42 34 66 2f 78 49 34 68 52 4f 4a 2f 79 5a 6c 5a 32 35 77 39 AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9
19b460 52 6c 36 56 53 44 45 31 4a 55 5a 55 32 0a 50 62 2b 69 53 77 77 51 48 59 61 5a 54 4b 72 7a 63 68 Rl6VSDE1JUZU2.Pb+iSwwQHYaZTKrzch
19b480 47 54 35 4f 72 32 6d 39 71 6f 58 61 64 4e 74 35 34 43 72 6e 4d 41 79 4e 6f 6a 41 2b 6a 35 36 68 GT5Or2m9qoXadNt54CrnMAyNojA+j56h
19b4a0 6c 30 59 67 43 55 79 79 49 67 76 70 53 6e 57 62 57 43 61 72 36 5a 65 58 71 70 0a 38 6b 6f 6b 55 l0YgCUyyIgvpSnWbWCar6ZeXqp.8kokU
19b4c0 76 64 30 2f 62 70 4f 35 71 67 64 41 6d 36 78 44 59 42 45 77 61 37 54 49 7a 64 66 75 34 56 38 4b vd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K
19b4e0 35 49 75 36 48 36 6c 69 39 32 5a 34 62 38 6e 62 79 31 64 71 6e 75 48 2f 67 72 64 53 2f 79 4f 39 5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9
19b500 53 62 6b 62 6e 42 43 0a 62 6a 50 73 4d 5a 35 37 6b 38 48 6b 79 57 6b 61 50 63 42 72 54 69 4a 74 SbkbnBC.bjPsMZ57k8HkyWkaPcBrTiJt
19b520 37 71 74 59 54 63 62 51 51 63 45 72 36 6b 38 53 68 31 37 72 52 64 68 73 39 5a 67 43 30 36 44 59 7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DY
19b540 56 59 6f 47 6d 52 6d 69 6f 48 66 52 4d 4a 36 73 7a 48 58 75 0a 67 2f 57 77 59 6a 6e 50 62 46 66 VYoGmRmioHfRMJ6szHXu.g/WwYjnPbFf
19b560 69 54 4e 4b 52 43 77 35 31 4b 42 75 61 76 2f 30 61 51 2f 48 4b 64 2f 73 37 6a 32 47 34 61 53 67 iTNKRCw51KBuav/0aQ/HKd/s7j2G4aSg
19b580 57 51 67 52 65 63 43 6f 63 49 64 69 50 34 62 30 6a 57 79 31 30 51 4a 4c 5a 59 78 6b 4e 63 39 31 WQgRecCocIdiP4b0jWy10QJLZYxkNc91
19b5a0 70 0a 76 47 4a 48 76 4f 42 30 4b 37 4c 72 66 62 35 42 47 37 58 41 52 73 57 68 49 73 74 66 54 73 p.vGJHvOB0K7Lrfb5BG7XARsWhIstfTs
19b5c0 45 6f 6b 74 34 59 75 74 55 71 4b 4c 73 52 69 78 65 54 6d 4a 6c 67 6c 46 77 6a 7a 31 6f 6e 6c 31 Eokt4YutUqKLsRixeTmJlglFwjz1onl1
19b5e0 34 4c 42 51 61 54 4e 78 34 37 61 54 62 72 0a 71 5a 35 68 48 59 38 79 32 6f 34 4d 31 6e 51 2b 65 4LBQaTNx47aTbr.qZ5hHY8y2o4M1nQ+e
19b600 77 6b 6b 32 67 46 33 52 38 51 37 7a 54 53 4d 6d 66 58 4b 34 53 56 68 4d 37 4a 5a 47 2b 4a 75 31 wkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1
19b620 7a 64 58 74 67 32 70 45 74 6f 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 zdXtg2pEto=.-----END.CERTIFICATE
19b640 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f -----..Security.Communication.Ro
19b660 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ot.CA.==========================
19b680 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
19b6a0 0a 4d 49 49 44 57 6a 43 43 41 6b 4b 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 .MIIDWjCCAkKgAwIBAgIBADANBgkqhki
19b6c0 47 39 77 30 42 41 51 55 46 41 44 42 51 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 G9w0BAQUFADBQMQswCQYDVQQGEwJKUDE
19b6e0 59 4d 42 59 47 41 31 55 45 43 68 4d 50 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d YMBYGA1UEChMP.U0VDT00gVHJ1c3Qubm
19b700 56 30 4d 53 63 77 4a 51 59 44 56 51 51 4c 45 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 V0MScwJQYDVQQLEx5TZWN1cml0eSBDb2
19b720 31 74 64 57 35 70 59 32 46 30 61 57 39 75 49 46 4a 76 62 33 52 44 51 54 45 77 0a 48 68 63 4e 4d 1tdW5pY2F0aW9uIFJvb3RDQTEw.HhcNM
19b740 44 4d 77 4f 54 4d 77 4d 44 51 79 4d 44 51 35 57 68 63 4e 4d 6a 4d 77 4f 54 4d 77 4d 44 51 79 4d DMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyM
19b760 44 51 35 57 6a 42 51 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 59 4d 42 59 47 41 DQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA
19b780 31 55 45 43 68 4d 50 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d 56 30 4d 53 63 77 1UEChMP.U0VDT00gVHJ1c3QubmV0MScw
19b7a0 4a 51 59 44 56 51 51 4c 45 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 31 74 64 57 35 70 JQYDVQQLEx5TZWN1cml0eSBDb21tdW5p
19b7c0 59 32 46 30 61 57 39 75 49 46 4a 76 62 33 52 44 51 54 45 77 0a 67 67 45 69 4d 41 30 47 43 53 71 Y2F0aW9uIFJvb3RDQTEw.ggEiMA0GCSq
19b7e0 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 GSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC
19b800 7a 73 2f 35 2f 30 32 32 78 37 78 5a 38 56 36 55 4d 62 58 61 4b 4c 30 75 2f 5a 50 74 4d 37 6f 72 zs/5/022x7xZ8V6UMbXaKL0u/ZPtM7or
19b820 77 0a 38 79 6c 38 39 66 2f 75 4b 75 44 70 36 62 70 62 5a 43 4b 61 6d 6d 38 73 4f 69 5a 70 55 51 w.8yl89f/uKuDp6bpbZCKamm8sOiZpUQ
19b840 57 5a 4a 74 7a 56 48 47 70 78 78 70 70 39 48 70 33 64 66 47 7a 47 6a 47 64 6e 53 6a 37 34 63 62 WZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cb
19b860 41 5a 4a 36 6b 4a 44 4b 61 56 76 30 75 4d 0a 44 50 70 56 6d 44 76 59 36 43 4b 68 53 33 45 34 65 AZJ6kJDKaVv0uM.DPpVmDvY6CKhS3E4e
19b880 61 79 58 6b 6d 6d 7a 69 58 37 71 49 57 67 47 6d 42 53 57 68 39 4a 68 4e 72 78 74 4a 31 61 65 56 ayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV
19b8a0 2b 37 41 77 46 62 39 4d 73 2b 6b 32 59 37 43 49 39 65 4e 71 50 50 59 4a 61 79 58 0a 35 48 41 34 +7AwFb9Ms+k2Y7CI9eNqPPYJayX.5HA4
19b8c0 39 4c 59 36 74 4a 30 37 6c 79 5a 44 6f 36 47 38 53 56 6c 79 54 43 4d 77 68 77 46 59 39 6b 36 2b 9LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+
19b8e0 48 47 68 57 5a 71 2f 4e 51 56 33 49 73 30 30 71 56 55 61 72 48 39 6f 65 34 6b 41 39 32 38 31 39 HGhWZq/NQV3Is00qVUarH9oe4kA92819
19b900 75 5a 4b 41 6e 44 66 64 0a 44 4a 5a 6b 6e 64 77 69 39 32 53 4c 33 32 48 65 46 5a 52 53 46 61 42 uZKAnDfd.DJZkndwi92SL32HeFZRSFaB
19b920 39 55 73 6c 4c 71 43 48 4a 78 72 48 74 79 38 4f 56 59 4e 45 50 38 4b 74 77 2b 4e 2f 4c 54 58 37 9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7
19b940 73 31 76 71 72 32 62 31 2f 56 50 4b 6c 36 58 6e 36 32 64 5a 32 0a 4a 43 68 7a 41 67 4d 42 41 41 s1vqr2b1/VPKl6Xn62dZ2.JChzAgMBAA
19b960 47 6a 50 7a 41 39 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 67 63 30 6d 5a 61 4e 79 46 57 32 GjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2
19b980 58 6a 6d 79 67 76 56 35 2b 39 4d 37 77 48 53 44 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQ
19b9a0 59 77 0a 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 Yw.DwYDVR0TAQH/BAUwAwEB/zANBgkqh
19b9c0 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 61 45 43 70 71 4c 76 6b 54 31 31 35 73 kiG9w0BAQUFAAOCAQEAaECpqLvkT115s
19b9e0 77 57 31 46 37 4e 67 45 2b 76 47 6b 6c 33 67 0a 30 64 4e 71 2f 76 75 2b 6d 32 32 2f 78 77 56 74 wW1F7NgE+vGkl3g.0dNq/vu+m22/xwVt
19ba00 57 53 44 45 48 50 43 33 32 6f 52 59 41 6d 50 36 53 42 62 76 54 36 55 4c 39 30 71 59 38 6a 2b 65 WSDEHPC32oRYAmP6SBbvT6UL90qY8j+e
19ba20 47 36 31 48 61 32 50 4f 43 45 66 72 55 6a 39 34 6e 4b 39 4e 72 76 6a 56 54 38 2b 61 0a 6d 43 6f G61Ha2POCEfrUj94nK9NrvjVT8+a.mCo
19ba40 51 51 54 6c 53 78 4e 33 5a 6d 77 37 76 6b 77 47 75 73 69 37 4b 61 45 49 6b 51 6d 79 77 73 7a 6f QQTlSxN3Zmw7vkwGusi7KaEIkQmywszo
19ba60 2b 7a 65 6e 61 53 4d 51 56 79 2b 6e 35 42 77 2b 53 55 45 6d 4b 33 54 47 58 58 38 6e 70 4e 36 6f +zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o
19ba80 37 57 57 57 58 6c 44 4c 4a 0a 73 35 38 2b 4f 6d 4a 59 78 55 6d 74 59 67 35 78 70 54 4b 71 4c 38 7WWWXlDLJ.s58+OmJYxUmtYg5xpTKqL8
19baa0 61 4a 64 6b 4e 41 45 78 4e 6e 50 61 4a 55 4a 52 44 4c 38 54 72 79 32 66 72 62 53 56 61 37 70 76 aJdkNAExNnPaJUJRDL8Try2frbSVa7pv
19bac0 36 6e 51 54 58 44 34 49 68 68 79 59 6a 48 33 7a 59 51 49 70 68 5a 0a 36 72 42 4b 2b 31 59 57 63 6nQTXD4IhhyYjH3zYQIphZ.6rBK+1YWc
19bae0 32 36 73 54 66 63 69 6f 55 2b 74 48 58 6f 74 52 53 66 6c 4d 4d 46 65 38 74 6f 54 79 79 56 43 55 26sTfcioU+tHXotRSflMMFe8toTyyVCU
19bb00 5a 56 48 41 34 78 73 49 63 78 30 51 75 31 54 2f 7a 4f 4c 6a 77 39 58 41 52 59 76 7a 36 62 75 79 ZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buy
19bb20 58 41 69 0a 46 4c 33 39 76 6d 77 4c 41 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 XAi.FL39vmwLAw==.-----END.CERTIF
19bb40 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 6f 6e 65 72 61 20 43 6c 61 73 73 20 32 20 52 6f 6f 74 20 ICATE-----..Sonera.Class.2.Root.
19bb60 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 CA.======================.-----B
19bb80 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 49 44 43 43 41 67 EGIN.CERTIFICATE-----.MIIDIDCCAg
19bba0 69 67 41 77 49 42 41 67 49 42 48 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 igAwIBAgIBHTANBgkqhkiG9w0BAQUFAD
19bbc0 41 35 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 47 53 54 45 50 4d 41 30 47 41 31 55 45 43 68 A5MQswCQYDVQQGEwJGSTEPMA0GA1UECh
19bbe0 4d 47 0a 55 32 39 75 5a 58 4a 68 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 54 62 32 35 6c 63 MG.U29uZXJhMRkwFwYDVQQDExBTb25lc
19bc00 6d 45 67 51 32 78 68 63 33 4d 79 49 45 4e 42 4d 42 34 58 44 54 41 78 4d 44 51 77 4e 6a 41 33 4d mEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3M
19bc20 6a 6b 30 4d 46 6f 58 44 54 49 78 4d 44 51 77 0a 4e 6a 41 33 4d 6a 6b 30 4d 46 6f 77 4f 54 45 4c jk0MFoXDTIxMDQw.NjA3Mjk0MFowOTEL
19bc40 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6b 6b 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6c 4e 76 MAkGA1UEBhMCRkkxDzANBgNVBAoTBlNv
19bc60 62 6d 56 79 59 54 45 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 55 32 39 75 5a 58 4a 68 0a 49 45 4e bmVyYTEZMBcGA1UEAxMQU29uZXJh.IEN
19bc80 73 59 58 4e 7a 4d 69 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 sYXNzMiBDQTCCASIwDQYJKoZIhvcNAQE
19bca0 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4a 41 58 53 6a 57 64 79 76 41 BBQADggEPADCCAQoCggEBAJAXSjWdyvA
19bcc0 4e 6c 73 64 45 2b 68 59 33 0a 2f 45 69 39 76 58 2b 41 4c 54 55 37 34 57 2b 6f 5a 36 6d 2f 41 78 NlsdE+hY3./Ei9vX+ALTU74W+oZ6m/Ax
19bce0 78 4e 6a 47 38 79 52 39 56 42 61 4b 51 54 42 4d 45 31 44 4a 71 45 51 2f 78 63 48 66 2b 4a 73 2b xNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+
19bd00 67 58 47 4d 32 52 58 2f 75 4a 34 2b 71 2f 54 6c 31 38 47 79 62 54 0a 64 58 6e 74 35 6f 54 6a 56 gXGM2RX/uJ4+q/Tl18GybT.dXnt5oTjV
19bd20 2b 57 74 4b 63 54 30 4f 69 6a 6e 70 58 75 45 4e 6d 6d 7a 2f 56 35 32 76 61 4d 74 6d 64 4f 51 54 +WtKcT0OijnpXuENmmz/V52vaMtmdOQT
19bd40 69 4d 6f 66 52 68 6a 38 56 51 37 4a 70 31 32 57 35 64 43 73 76 2b 75 38 45 37 73 33 54 6d 56 54 iMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVT
19bd60 6f 4d 47 0a 66 2b 64 4a 51 4d 6a 46 41 62 4a 55 57 6d 59 64 50 66 7a 35 36 54 77 4b 6e 6f 47 34 oMG.f+dJQMjFAbJUWmYdPfz56TwKnoG4
19bd80 63 50 41 42 69 2b 51 6a 56 48 7a 49 72 76 69 51 48 67 43 57 63 74 52 55 7a 32 45 6a 76 4f 72 37 cPABi+QjVHzIrviQHgCWctRUz2EjvOr7
19bda0 6e 51 4b 56 30 62 61 35 63 54 70 70 43 44 38 50 0a 74 4f 46 43 78 34 6a 31 50 35 69 6f 70 37 6f nQKV0ba5cTppCD8P.tOFCx4j1P5iop7o
19bdc0 63 34 48 46 78 37 31 68 58 67 56 42 36 58 47 74 30 52 67 36 44 41 35 6a 44 6a 71 68 75 38 6e 59 c4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nY
19bde0 79 62 69 65 44 77 6e 50 7a 33 42 6a 6f 74 4a 50 71 64 55 52 72 42 47 41 67 63 56 65 48 0a 6e 66 ybieDwnPz3BjotJPqdURrBGAgcVeH.nf
19be00 4f 2b 6f 4a 41 6a 50 59 6f 6b 34 64 6f 68 32 38 4d 43 41 77 45 41 41 61 4d 7a 4d 44 45 77 44 77 O+oJAjPYok4doh28MCAwEAAaMzMDEwDw
19be20 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 52 42 67 4e 56 48 51 34 45 43 67 YDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECg
19be40 51 49 53 71 43 71 57 49 54 54 0a 58 6a 77 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d QISqCqWITT.XjwwCwYDVR0PBAQDAgEGM
19be60 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 42 61 7a 6f 66 35 46 A0GCSqGSIb3DQEBBQUAA4IBAQBazof5F
19be80 6e 49 56 56 30 73 64 32 5a 76 6e 6f 69 59 77 37 4a 4e 6e 33 39 59 74 0a 30 6a 53 76 39 7a 69 6c nIVV0sd2ZvnoiYw7JNn39Yt.0jSv9zil
19bea0 7a 71 73 57 75 61 73 76 66 44 58 4c 72 4e 41 50 74 45 77 72 2f 49 44 76 61 34 79 52 58 7a 5a 32 zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ2
19bec0 39 39 75 7a 47 78 6e 71 39 4c 49 52 2f 57 46 78 52 4c 38 6f 73 7a 6f 64 76 37 4e 44 36 4a 2b 2f 99uzGxnq9LIR/WFxRL8oszodv7ND6J+/
19bee0 33 44 45 49 0a 63 62 43 64 6a 64 59 30 52 7a 4b 51 78 6d 55 6b 39 36 42 4b 66 41 52 7a 6a 7a 6c 3DEI.cbCdjdY0RzKQxmUk96BKfARzjzl
19bf00 76 46 34 78 79 74 62 31 4c 79 48 72 34 65 34 50 44 4b 45 36 63 43 65 70 6e 50 37 4a 6e 42 42 76 vF4xytb1LyHr4e4PDKE6cCepnP7JnBBv
19bf20 44 46 4e 72 34 35 30 6b 6b 6b 64 41 64 61 76 70 68 0a 4f 65 39 72 35 79 46 31 42 67 66 59 45 72 DFNr450kkkdAdavph.Oe9r5yF1BgfYEr
19bf40 51 68 49 48 42 43 63 59 48 61 50 4a 6f 32 76 71 5a 62 44 57 70 73 6d 68 2b 52 65 2f 6e 35 37 30 QhIHBCcYHaPJo2vqZbDWpsmh+Re/n570
19bf60 4b 36 54 6b 36 65 7a 41 79 4e 6c 4e 7a 5a 52 5a 78 65 37 45 4a 51 59 36 37 30 58 63 53 78 0a 45 K6Tk6ezAyNlNzZRZxe7EJQY670XcSx.E
19bf80 74 7a 4b 4f 36 67 75 6e 52 52 61 42 58 57 33 37 4e 64 6a 34 72 6f 31 74 67 51 49 6b 65 6a 61 6e tzKO6gunRRaBXW37Ndj4ro1tgQIkejan
19bfa0 5a 7a 32 5a 72 55 59 72 41 71 6d 56 43 59 30 4d 39 49 62 77 64 52 2f 47 6a 71 4f 43 36 6f 79 62 Zz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oyb
19bfc0 74 76 38 54 79 57 66 32 54 4c 48 0a 6c 6c 70 77 72 4e 39 4d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 tv8TyWf2TLH.llpwrN9M.-----END.CE
19bfe0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 58 52 61 6d 70 20 47 6c 6f 62 61 6c 20 43 41 20 RTIFICATE-----..XRamp.Global.CA.
19c000 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 Root.====================.-----B
19c020 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 44 43 43 41 78 EGIN.CERTIFICATE-----.MIIEMDCCAx
19c040 69 67 41 77 49 42 41 67 49 51 55 4a 52 73 37 42 6a 71 31 5a 78 4e 31 5a 66 76 64 59 2b 67 72 54 igAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grT
19c060 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 ANBgkqhkiG9w0BAQUFADCBgjELMAkGA1
19c080 55 45 0a 42 68 4d 43 56 56 4d 78 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 UE.BhMCVVMxHjAcBgNVBAsTFXd3dy54c
19c0a0 6d 46 74 63 48 4e 6c 59 33 56 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 mFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEC
19c0c0 68 4d 62 57 46 4a 68 62 58 41 67 55 32 56 6a 0a 64 58 4a 70 64 48 6b 67 55 32 56 79 64 6d 6c 6a hMbWFJhbXAgU2Vj.dXJpdHkgU2Vydmlj
19c0e0 5a 58 4d 67 53 57 35 6a 4d 53 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 ZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBH
19c100 62 47 39 69 59 57 77 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 bG9iYWwgQ2VydGlmaWNhdGlvbiBB.dXR
19c120 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 51 78 4d 54 41 78 4d 54 63 78 4e 44 41 30 57 68 63 ob3JpdHkwHhcNMDQxMTAxMTcxNDA0Whc
19c140 4e 4d 7a 55 77 4d 54 41 78 4d 44 55 7a 4e 7a 45 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 NMzUwMTAxMDUzNzE5WjCBgjELMAkGA1U
19c160 45 42 68 4d 43 56 56 4d 78 0a 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 6d EBhMCVVMx.HjAcBgNVBAsTFXd3dy54cm
19c180 46 74 63 48 4e 6c 59 33 56 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 68 FtcHNlY3VyaXR5LmNvbTEkMCIGA1UECh
19c1a0 4d 62 57 46 4a 68 62 58 41 67 55 32 56 6a 64 58 4a 70 64 48 6b 67 0a 55 32 56 79 64 6d 6c 6a 5a MbWFJhbXAgU2VjdXJpdHkg.U2VydmljZ
19c1c0 58 4d 67 53 57 35 6a 4d 53 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 62 XMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHb
19c1e0 47 39 69 59 57 77 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 G9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob
19c200 33 4a 70 0a 64 48 6b 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 3Jp.dHkwggEiMA0GCSqGSIb3DQEBAQUA
19c220 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 59 4a 42 36 39 46 62 53 36 33 38 65 4d A4IBDwAwggEKAoIBAQCYJB69FbS638eM
19c240 70 53 65 32 4f 41 74 70 38 37 5a 4f 71 43 77 75 0a 49 52 31 63 52 4e 38 68 58 58 34 6a 64 50 35 pSe2OAtp87ZOqCwu.IR1cRN8hXX4jdP5
19c260 65 66 72 52 4b 74 36 61 74 48 36 37 67 42 68 62 69 6d 31 76 5a 5a 33 52 72 58 59 43 50 4b 5a 32 efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2
19c280 47 47 39 6d 63 44 5a 68 74 64 68 41 6f 57 4f 52 6c 73 48 39 4b 6d 48 6d 66 34 4d 4d 78 0a 66 6f GG9mcDZhtdhAoWORlsH9KmHmf4MMx.fo
19c2a0 41 72 74 59 7a 41 51 44 73 52 68 74 44 4c 6f 6f 59 32 59 4b 54 56 4d 49 4a 74 32 57 37 51 44 78 ArtYzAQDsRhtDLooY2YKTVMIJt2W7QDx
19c2c0 49 45 4d 35 64 66 54 32 46 61 38 4f 54 35 6b 61 76 6e 48 54 75 38 36 4d 2f 30 61 79 30 30 66 4f IEM5dfT2Fa8OT5kavnHTu86M/0ay00fO
19c2e0 4a 49 59 52 79 4f 38 32 46 45 0a 7a 47 2b 67 53 71 6d 55 73 45 33 61 35 36 6b 30 65 6e 49 34 71 JIYRyO82FE.zG+gSqmUsE3a56k0enI4q
19c300 45 48 4d 50 4a 51 52 66 65 76 49 70 6f 79 33 68 73 76 4b 4d 7a 76 5a 50 54 65 4c 2b 33 6f 2b 68 EHMPJQRfevIpoy3hsvKMzvZPTeL+3o+h
19c320 69 7a 6e 63 39 63 4b 56 36 78 6b 6d 78 6e 72 39 41 38 45 43 49 71 73 0a 41 78 63 5a 5a 50 52 61 iznc9cKV6xkmxnr9A8ECIqs.AxcZZPRa
19c340 4a 53 4b 4e 4e 43 79 79 39 6d 67 64 45 6d 33 54 69 68 34 55 32 73 53 50 70 75 49 6a 68 64 56 36 JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6
19c360 44 62 31 71 34 4f 6e 73 37 42 65 37 51 68 74 6e 71 69 58 74 52 59 4d 68 2f 4d 48 4a 66 4e 56 69 Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
19c380 50 76 72 79 0a 78 53 33 54 2f 64 52 6c 41 67 4d 42 41 41 47 6a 67 5a 38 77 67 5a 77 77 45 77 59 Pvry.xS3T/dRlAgMBAAGjgZ8wgZwwEwY
19c3a0 4a 4b 77 59 42 42 41 47 43 4e 78 51 43 42 41 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 JKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0
19c3c0 50 42 41 51 44 41 67 47 47 4d 41 38 47 41 31 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 PBAQDAgGGMA8GA1Ud.EwEB/wQFMAMBAf
19c3e0 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4d 5a 50 6f 6a 30 47 59 34 51 4a 6e 4d 35 69 35 41 8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5A
19c400 53 73 6a 56 79 31 36 62 59 62 4d 44 59 47 41 31 55 64 48 77 51 76 4d 43 30 77 4b 36 41 70 0a 6f SsjVy16bYbMDYGA1UdHwQvMC0wK6Ap.o
19c420 43 65 47 4a 57 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 65 48 4a 68 62 58 42 7a 5a 57 4e 31 63 CeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1c
19c440 6d 6c 30 65 53 35 6a 62 32 30 76 57 45 64 44 51 53 35 6a 63 6d 77 77 45 41 59 4a 4b 77 59 42 42 ml0eS5jb20vWEdDQS5jcmwwEAYJKwYBB
19c460 41 47 43 4e 78 55 42 42 41 4d 43 0a 41 51 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 AGCNxUBBAMC.AQEwDQYJKoZIhvcNAQEF
19c480 42 51 41 44 67 67 45 42 41 4a 45 56 4f 51 4d 42 47 32 66 37 53 68 7a 35 43 6d 42 62 6f 64 70 4e BQADggEBAJEVOQMBG2f7Shz5CmBbodpN
19c4a0 6c 32 4c 35 4a 46 4d 6e 31 34 4a 6b 54 70 41 75 77 30 6b 62 4b 35 72 63 0a 2f 4b 68 34 5a 7a 58 l2L5JFMn14JkTpAuw0kbK5rc./Kh4ZzX
19c4c0 78 48 66 41 52 76 62 64 49 34 78 44 32 44 64 38 2f 30 73 6d 32 71 6c 57 6b 53 4c 6f 43 32 39 35 xHfARvbdI4xD2Dd8/0sm2qlWkSLoC295
19c4e0 5a 4c 68 56 62 4f 35 30 57 66 55 66 58 4e 2b 70 66 54 58 59 53 4e 72 73 66 31 36 47 42 42 45 59 ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEY
19c500 67 6f 79 78 74 0a 71 5a 34 42 66 6a 38 70 7a 67 43 54 33 2f 33 4a 6b 6e 4f 4a 69 57 53 65 35 79 goyxt.qZ4Bfj8pzgCT3/3JknOJiWSe5y
19c520 76 6b 48 4a 45 73 30 72 6e 4f 66 63 35 76 4d 5a 6e 54 35 72 37 53 48 70 44 77 43 52 52 35 58 43 vkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XC
19c540 4f 72 54 64 4c 61 49 52 39 4e 6d 58 6d 64 34 63 38 6e 0a 6e 78 43 62 48 49 67 4e 73 49 70 6b 51 OrTdLaIR9NmXmd4c8n.nxCbHIgNsIpkQ
19c560 54 47 34 44 6d 79 51 4a 4b 53 62 58 48 47 50 75 72 74 2b 48 42 76 62 61 6f 41 50 49 62 7a 70 32 TG4DmyQJKSbXHGPurt+HBvbaoAPIbzp2
19c580 36 61 33 51 50 53 79 69 36 6d 78 35 4f 2b 61 47 74 41 39 61 5a 6e 75 71 43 69 6a 34 54 79 7a 0a 6a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz.
19c5a0 38 4c 49 52 6e 4d 39 38 51 4f 62 64 35 30 4e 39 6f 74 67 36 74 61 6d 4e 38 6a 53 5a 78 4e 51 51 8LIRnM98QObd50N9otg6tamN8jSZxNQQ
19c5c0 34 51 62 39 43 59 51 51 4f 2b 37 45 54 50 54 73 4a 33 78 43 77 6e 52 38 67 6f 6f 4a 79 62 51 44 4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQD
19c5e0 4a 62 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a Jbw=.-----END.CERTIFICATE-----..
19c600 47 6f 20 44 61 64 64 79 20 43 6c 61 73 73 20 32 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Go.Daddy.Class.2.CA.============
19c620 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
19c640 2d 2d 2d 0a 4d 49 49 45 41 44 43 43 41 75 69 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 ---.MIIEADCCAuigAwIBAgIBADANBgkq
19c660 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 hkiG9w0BAQUFADBjMQswCQYDVQQGEwJV
19c680 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 0a 56 47 68 6c 49 45 64 76 49 45 52 68 5a 47 52 UzEhMB8GA1UEChMY.VGhlIEdvIERhZGR
19c6a0 35 49 45 64 79 62 33 56 77 4c 43 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 4c 45 79 68 5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyh
19c6c0 48 62 79 42 45 59 57 52 6b 65 53 42 44 62 47 46 7a 63 79 41 79 49 45 4e 6c 63 6e 52 70 0a 5a 6d HbyBEYWRkeSBDbGFzcyAyIENlcnRp.Zm
19c6e0 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 30 4d 44 ljYXRpb24gQXV0aG9yaXR5MB4XDTA0MD
19c700 59 79 4f 54 45 33 4d 44 59 79 4d 46 6f 58 44 54 4d 30 4d 44 59 79 4f 54 45 33 4d 44 59 79 4d 46 YyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMF
19c720 6f 77 59 7a 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 56 56 4d 78 49 54 41 66 42 67 4e 56 42 owYzELMAkG.A1UEBhMCVVMxITAfBgNVB
19c740 41 6f 54 47 46 52 6f 5a 53 42 48 62 79 42 45 59 57 52 6b 65 53 42 48 63 6d 39 31 63 43 77 67 53 AoTGFRoZSBHbyBEYWRkeSBHcm91cCwgS
19c760 57 35 6a 4c 6a 45 78 4d 43 38 47 41 31 55 45 43 78 4d 6f 52 32 38 67 0a 52 47 46 6b 5a 48 6b 67 W5jLjExMC8GA1UECxMoR28g.RGFkZHkg
19c780 51 32 78 68 63 33 4d 67 4d 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 Q2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1
19c7a0 64 47 68 76 63 6d 6c 30 65 54 43 43 41 53 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 dGhvcml0eTCCASAwDQYJKoZIhvcNAQEB
19c7c0 42 51 41 44 0a 67 67 45 4e 41 44 43 43 41 51 67 43 67 67 45 42 41 4e 36 64 31 2b 70 58 47 45 6d BQAD.ggENADCCAQgCggEBAN6d1+pXGEm
19c7e0 68 57 2b 76 58 58 30 69 47 36 72 37 64 2f 2b 54 76 5a 78 7a 30 5a 57 69 7a 56 33 47 67 58 6e 65 hW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne
19c800 37 37 5a 74 4a 36 58 43 41 50 56 59 59 59 77 68 76 0a 32 76 4c 4d 30 44 39 2f 41 6c 51 69 56 42 77ZtJ6XCAPVYYYwhv.2vLM0D9/AlQiVB
19c820 44 59 73 6f 48 55 77 48 55 39 53 33 2f 48 64 38 4d 2b 65 4b 73 61 41 37 55 67 61 79 39 71 4b 37 DYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7
19c840 48 46 69 48 37 45 75 78 36 77 77 64 68 46 4a 32 2b 71 4e 31 6a 33 68 79 62 58 32 43 33 32 0a 71 HFiH7Eux6wwdhFJ2+qN1j3hybX2C32.q
19c860 52 65 33 48 33 49 32 54 71 59 58 50 32 57 59 6b 74 73 71 62 6c 32 69 2f 6f 6a 67 43 39 35 2f 35 Re3H3I2TqYXP2WYktsqbl2i/ojgC95/5
19c880 59 30 56 34 65 76 4c 4f 74 58 69 45 71 49 54 4c 64 69 4f 72 31 38 53 50 61 41 49 42 51 69 32 58 Y0V4evLOtXiEqITLdiOr18SPaAIBQi2X
19c8a0 4b 56 6c 4f 41 52 46 6d 52 36 6a 0a 59 47 42 30 78 55 47 6c 63 6d 49 62 59 73 55 66 62 31 38 61 KVlOARFmR6j.YGB0xUGlcmIbYsUfb18a
19c8c0 51 72 34 43 55 57 57 6f 72 69 4d 59 61 76 78 34 41 36 6c 4e 66 34 44 44 2b 71 74 61 2f 4b 46 41 Qr4CUWWoriMYavx4A6lNf4DD+qta/KFA
19c8e0 70 4d 6f 5a 46 76 36 79 79 4f 39 65 63 77 33 75 64 37 32 61 39 6e 6d 59 0a 76 4c 45 48 5a 36 49 pMoZFv6yyO9ecw3ud72a9nmY.vLEHZ6I
19c900 56 44 64 32 67 57 4d 5a 45 65 77 6f 2b 59 69 68 66 75 6b 45 48 55 31 6a 50 45 58 34 34 64 4d 58 VDd2gWMZEewo+YihfukEHU1jPEX44dMX
19c920 34 2f 37 56 70 6b 49 2b 45 64 4f 71 58 47 36 38 43 41 51 4f 6a 67 63 41 77 67 62 30 77 48 51 59 4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQY
19c940 44 56 52 30 4f 0a 42 42 59 45 46 4e 4c 45 73 4e 4b 52 31 45 77 52 63 62 4e 68 79 7a 32 68 2f 74 DVR0O.BBYEFNLEsNKR1EwRcbNhyz2h/t
19c960 32 6f 61 74 54 6a 4d 49 47 4e 42 67 4e 56 48 53 4d 45 67 59 55 77 67 59 4b 41 46 4e 4c 45 73 4e 2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsN
19c980 4b 52 31 45 77 52 63 62 4e 68 79 7a 32 68 2f 74 32 6f 0a 61 74 54 6a 6f 57 65 6b 5a 54 42 6a 4d KR1EwRcbNhyz2h/t2o.atTjoWekZTBjM
19c9a0 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 56 QswCQYDVQQGEwJVUzEhMB8GA1UEChMYV
19c9c0 47 68 6c 49 45 64 76 49 45 52 68 5a 47 52 35 49 45 64 79 62 33 56 77 4c 43 42 4a 62 6d 4d 75 0a GhlIEdvIERhZGR5IEdyb3VwLCBJbmMu.
19c9e0 4d 54 45 77 4c 77 59 44 56 51 51 4c 45 79 68 48 62 79 42 45 59 57 52 6b 65 53 42 44 62 47 46 7a MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFz
19ca00 63 79 41 79 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 cyAyIENlcnRpZmljYXRpb24gQXV0aG9y
19ca20 61 58 52 35 67 67 45 41 4d 41 77 47 0a 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 aXR5ggEAMAwG.A1UdEwQFMAMBAf8wDQY
19ca40 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 4a 4c 38 37 4c 4b 50 70 48 JKoZIhvcNAQEFBQADggEBADJL87LKPpH
19ca60 38 45 73 61 68 42 34 79 4f 64 36 41 7a 42 68 52 63 6b 42 34 59 39 77 69 6d 0a 50 51 6f 5a 2b 59 8EsahB4yOd6AzBhRckB4Y9wim.PQoZ+Y
19ca80 65 41 45 57 35 70 35 4a 59 58 4d 50 38 30 6b 57 4e 79 4f 4f 37 4d 48 41 47 6a 48 5a 51 6f 70 44 eAEW5p5JYXMP80kWNyOO7MHAGjHZQopD
19caa0 48 32 65 73 52 55 31 2f 62 6c 4d 56 67 44 6f 73 7a 4f 59 74 75 55 52 58 4f 31 76 30 58 4a 4a 4c H2esRU1/blMVgDoszOYtuURXO1v0XJJL
19cac0 58 56 67 67 4b 74 0a 49 33 6c 70 6a 62 69 32 54 63 37 50 54 4d 6f 7a 49 2b 67 63 69 4b 71 64 69 XVggKt.I3lpjbi2Tc7PTMozI+gciKqdi
19cae0 30 46 75 46 73 6b 67 35 59 6d 65 7a 54 76 61 63 50 64 2b 6d 53 59 67 46 46 51 6c 71 32 35 7a 68 0FuFskg5YmezTvacPd+mSYgFFQlq25zh
19cb00 65 61 62 49 5a 30 4b 62 49 49 4f 71 50 6a 43 44 50 6f 51 0a 48 6d 79 57 37 34 63 4e 78 41 39 68 eabIZ0KbIIOqPjCDPoQ.HmyW74cNxA9h
19cb20 69 36 33 75 67 79 75 56 2b 49 36 53 68 48 49 35 36 79 44 71 67 2b 32 44 7a 5a 64 75 43 4c 7a 72 i63ugyuV+I6ShHI56yDqg+2DzZduCLzr
19cb40 54 69 61 32 63 79 76 6b 30 2f 5a 4d 2f 69 5a 78 34 6d 45 52 64 45 72 2f 56 78 71 48 44 33 56 49 Tia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
19cb60 0a 4c 73 39 52 61 52 65 67 41 68 4a 68 6c 64 58 52 51 4c 49 51 54 4f 37 45 72 42 42 44 70 71 57 .Ls9RaRegAhJhldXRQLIQTO7ErBBDpqW
19cb80 65 43 74 57 56 59 70 6f 4e 7a 34 69 43 78 54 49 4d 35 43 75 66 52 65 59 4e 6e 79 69 63 73 62 6b eCtWVYpoNz4iCxTIM5CufReYNnyicsbk
19cba0 71 57 6c 65 74 4e 77 2b 76 48 58 2f 62 0a 76 5a 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 qWletNw+vHX/b.vZ8=.-----END.CERT
19cbc0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 43 6c 61 73 73 20 32 20 IFICATE-----..Starfield.Class.2.
19cbe0 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 CA.====================.-----BEG
19cc00 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 44 7a 43 43 41 76 65 67 IN.CERTIFICATE-----.MIIEDzCCAveg
19cc20 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6f AwIBAgIBADANBgkqhkiG9w0BAQUFADBo
19cc40 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 MQswCQYDVQQGEwJVUzElMCMGA1UEChMc
19cc60 0a 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 .U3RhcmZpZWxkIFRlY2hub2xvZ2llcyw
19cc80 67 53 57 35 6a 4c 6a 45 79 4d 44 41 47 41 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 gSW5jLjEyMDAGA1UECxMpU3RhcmZpZWx
19cca0 6b 49 45 4e 73 59 58 4e 7a 49 44 49 67 0a 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 kIENsYXNzIDIg.Q2VydGlmaWNhdGlvbi
19ccc0 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 51 77 4e 6a 49 35 4d 54 63 7a 4f 54 BBdXRob3JpdHkwHhcNMDQwNjI5MTczOT
19cce0 45 32 57 68 63 4e 4d 7a 51 77 4e 6a 49 35 4d 54 63 7a 4f 54 45 32 57 6a 42 6f 0a 4d 51 73 77 43 E2WhcNMzQwNjI5MTczOTE2WjBo.MQswC
19cd00 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 55 33 52 68 63 QYDVQQGEwJVUzElMCMGA1UEChMcU3Rhc
19cd20 6d 5a 70 5a 57 78 6b 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 67 53 57 35 6a 4c mZpZWxkIFRlY2hub2xvZ2llcywgSW5jL
19cd40 6a 45 79 4d 44 41 47 0a 41 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 45 4e 73 jEyMDAG.A1UECxMpU3RhcmZpZWxkIENs
19cd60 59 58 4e 7a 49 44 49 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f YXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRo
19cd80 62 33 4a 70 64 48 6b 77 67 67 45 67 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 41 51 55 b3JpdHkwggEgMA0GCSqG.SIb3DQEBAQU
19cda0 41 41 34 49 42 44 51 41 77 67 67 45 49 41 6f 49 42 41 51 43 33 4d 73 6a 2b 36 58 47 6d 42 49 57 AA4IBDQAwggEIAoIBAQC3Msj+6XGmBIW
19cdc0 74 44 42 46 6b 33 38 35 4e 37 38 67 44 47 49 63 2f 6f 61 76 37 50 4b 61 66 38 4d 4f 68 32 74 54 tDBFk385N78gDGIc/oav7PKaf8MOh2tT
19cde0 59 0a 62 69 74 54 6b 50 73 6b 70 44 36 45 38 4a 37 6f 58 2b 7a 6c 4a 30 54 31 4b 4b 59 2f 65 39 Y.bitTkPskpD6E8J7oX+zlJ0T1KKY/e9
19ce00 37 67 4b 76 44 49 72 31 4d 76 6e 73 6f 46 41 5a 4d 65 6a 32 59 63 4f 61 64 4e 2b 6c 71 32 63 77 7gKvDIr1MvnsoFAZMej2YcOadN+lq2cw
19ce20 51 6c 5a 75 74 33 66 2b 64 5a 78 6b 71 5a 0a 4a 52 52 55 36 79 62 48 38 33 38 5a 31 54 42 77 6a QlZut3f+dZxkqZ.JRRU6ybH838Z1TBwj
19ce40 36 2b 77 52 69 72 2f 72 65 73 70 37 64 65 66 71 67 53 48 6f 39 54 35 69 61 55 30 58 39 74 44 6b 6+wRir/resp7defqgSHo9T5iaU0X9tDk
19ce60 59 49 32 32 57 59 38 73 62 69 35 67 76 32 63 4f 6a 34 51 79 44 76 76 42 6d 56 6d 0a 65 70 73 5a YI22WY8sbi5gv2cOj4QyDvvBmVm.epsZ
19ce80 47 44 33 2f 63 56 45 38 4d 43 35 66 76 6a 31 33 63 37 4a 64 42 6d 7a 44 49 31 61 61 4b 34 55 6d GD3/cVE8MC5fvj13c7JdBmzDI1aaK4Um
19cea0 6b 68 79 6e 41 72 50 6b 50 77 32 76 43 48 6d 43 75 44 59 39 36 70 7a 54 4e 62 4f 38 61 63 72 31 khynArPkPw2vCHmCuDY96pzTNbO8acr1
19cec0 7a 4a 33 6f 2f 57 53 4e 0a 46 34 41 7a 62 6c 35 4b 58 5a 6e 4a 48 6f 65 30 6e 52 72 41 31 57 34 zJ3o/WSN.F4Azbl5KXZnJHoe0nRrA1W4
19cee0 54 4e 53 4e 65 33 35 74 66 50 65 2f 57 39 33 62 43 36 6a 36 37 65 41 30 63 51 6d 64 72 42 4e 6a TNSNe35tfPe/W93bC6j67eA0cQmdrBNj
19cf00 34 31 74 70 76 69 2f 4a 45 6f 41 47 72 41 67 45 44 6f 34 48 46 0a 4d 49 48 43 4d 42 30 47 41 31 41tpvi/JEoAGrAgEDo4HF.MIHCMB0GA1
19cf20 55 64 44 67 51 57 42 42 53 2f 58 37 66 52 7a 74 30 66 68 76 52 62 56 61 7a 63 31 78 44 43 44 71 UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDq
19cf40 6d 49 35 7a 43 42 6b 67 59 44 56 52 30 6a 42 49 47 4b 4d 49 47 48 67 42 53 2f 58 37 66 52 7a 74 mI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt
19cf60 30 66 0a 68 76 52 62 56 61 7a 63 31 78 44 43 44 71 6d 49 35 36 46 73 70 47 6f 77 61 44 45 4c 4d 0f.hvRbVazc1xDCDqmI56FspGowaDELM
19cf80 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 AkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0Y
19cfa0 58 4a 6d 61 57 56 73 5a 43 42 55 5a 57 4e 6f 0a 62 6d 39 73 62 32 64 70 5a 58 4d 73 49 45 6c 75 XJmaWVsZCBUZWNo.bm9sb2dpZXMsIElu
19cfc0 59 79 34 78 4d 6a 41 77 42 67 4e 56 42 41 73 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 44 Yy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
19cfe0 62 47 46 7a 63 79 41 79 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 0a 51 58 56 bGFzcyAyIENlcnRpZmljYXRpb24g.QXV
19d000 30 61 47 39 79 61 58 52 35 67 67 45 41 4d 41 77 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8
19d020 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 41 57 64 50 34 69 wDQYJKoZIhvcNAQEFBQADggEBAAWdP4i
19d040 64 30 63 6b 61 56 61 47 73 0a 61 66 50 7a 57 64 71 62 41 59 63 61 54 31 65 70 6f 58 6b 4a 4b 74 d0ckaVaGs.afPzWdqbAYcaT1epoXkJKt
19d060 76 33 4c 37 49 65 7a 4d 64 65 61 74 69 44 68 36 47 58 37 30 6b 31 50 6e 63 47 51 56 68 69 76 34 v3L7IezMdeatiDh6GX70k1PncGQVhiv4
19d080 35 59 75 41 70 6e 50 2b 79 7a 33 53 46 6d 48 38 6c 55 2b 6e 4c 4d 0a 50 55 78 41 32 49 47 76 64 5YuApnP+yz3SFmH8lU+nLM.PUxA2IGvd
19d0a0 35 36 44 65 72 75 69 78 2f 55 30 46 34 37 5a 45 55 44 30 2f 43 77 71 54 52 56 2f 70 32 4a 64 4c 56Deruix/U0F47ZEUD0/CwqTRV/p2JdL
19d0c0 69 58 54 41 41 73 67 47 68 31 6f 2b 52 65 34 39 4c 32 4c 37 53 68 5a 33 55 30 57 69 78 65 44 79 iXTAAsgGh1o+Re49L2L7ShZ3U0WixeDy
19d0e0 4c 4a 6c 0a 78 79 31 36 70 61 71 38 55 34 5a 74 33 56 65 6b 79 76 67 67 51 51 74 6f 38 50 54 37 LJl.xy16paq8U4Zt3VekyvggQQto8PT7
19d100 64 4c 35 57 58 58 70 35 39 66 6b 64 68 65 4d 74 6c 62 37 31 63 5a 42 44 7a 49 30 66 6d 67 41 4b dL5WXXp59fkdheMtlb71cZBDzI0fmgAK
19d120 68 79 6e 70 56 53 4a 59 41 43 50 71 34 78 4a 44 0a 4b 56 74 48 43 4e 32 4d 51 57 70 6c 42 71 6a hynpVSJYACPq4xJD.KVtHCN2MQWplBqj
19d140 6c 49 61 70 42 74 4a 55 68 6c 62 6c 39 30 54 53 72 45 39 61 74 76 4e 7a 69 50 54 6e 4e 76 54 35 lIapBtJUhlbl90TSrE9atvNziPTnNvT5
19d160 31 63 4b 45 59 57 51 50 4a 49 72 53 50 6e 4e 56 65 4b 74 65 6c 74 74 51 4b 62 66 69 33 0a 51 42 1cKEYWQPJIrSPnNVeKtelttQKbfi3.QB
19d180 46 47 6d 68 39 35 44 6d 4b 2f 44 35 66 73 34 43 38 66 46 35 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 FGmh95DmK/D5fs4C8fF5Q=.-----END.
19d1a0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 61 69 77 61 6e 20 47 52 43 41 0a 3d 3d CERTIFICATE-----..Taiwan.GRCA.==
19d1c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
19d1e0 2d 2d 2d 2d 2d 0a 4d 49 49 46 63 6a 43 43 41 31 71 67 41 77 49 42 41 67 49 51 48 35 31 5a 57 74 -----.MIIFcjCCA1qgAwIBAgIQH51ZWt
19d200 63 76 77 67 5a 45 70 59 41 49 61 65 4e 65 39 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 cvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQ
19d220 55 46 41 44 41 2f 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 77 4d 43 34 47 41 UFADA/MQswCQYDVQQG.EwJUVzEwMC4GA
19d240 31 55 45 43 67 77 6e 52 32 39 32 5a 58 4a 75 62 57 56 75 64 43 42 53 62 32 39 30 49 45 4e 6c 63 1UECgwnR292ZXJubWVudCBSb290IENlc
19d260 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 0a nRpZmljYXRpb24gQXV0aG9yaXR5MB4X.
19d280 44 54 41 79 4d 54 49 77 4e 54 45 7a 4d 6a 4d 7a 4d 31 6f 58 44 54 4d 79 4d 54 49 77 4e 54 45 7a DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEz
19d2a0 4d 6a 4d 7a 4d 31 6f 77 50 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 63 78 4d 44 41 75 MjMzM1owPzELMAkGA1UEBhMCVFcxMDAu
19d2c0 42 67 4e 56 42 41 6f 4d 4a 30 64 76 0a 64 6d 56 79 62 6d 31 6c 62 6e 51 67 55 6d 39 76 64 43 42 BgNVBAoMJ0dv.dmVybm1lbnQgUm9vdCB
19d2e0 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 43 DZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTC
19d300 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 CAiIwDQYJKoZIhvcNAQEBBQAD.ggIPAD
19d320 43 43 41 67 6f 43 67 67 49 42 41 4a 6f 6c 75 4f 7a 4d 6f 6e 57 6f 65 2f 66 4f 57 31 6d 4b 79 64 CCAgoCggIBAJoluOzMonWoe/fOW1mKyd
19d340 47 47 45 67 68 55 37 4a 7a 79 35 30 62 32 69 50 4e 38 36 61 58 66 54 45 63 32 70 42 73 42 48 48 GGEghU7Jzy50b2iPN86aXfTEc2pBsBHH
19d360 38 65 56 34 71 4e 0a 77 38 58 52 49 65 50 61 4a 44 39 49 4b 2f 75 66 4c 71 47 55 35 79 77 63 6b 8eV4qN.w8XRIePaJD9IK/ufLqGU5ywck
19d380 39 47 2f 47 77 47 48 55 35 6e 4f 70 2f 55 4b 49 58 5a 33 2f 36 6d 33 78 6e 4f 55 54 30 62 33 45 9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3E
19d3a0 45 6b 33 2b 71 68 5a 53 56 31 71 67 51 64 57 38 6f 72 35 0a 42 74 44 33 63 43 4a 4e 74 4c 64 42 Ek3+qhZSV1qgQdW8or5.BtD3cCJNtLdB
19d3c0 75 54 4b 34 73 66 43 78 77 35 77 2f 63 50 31 54 33 59 47 71 32 47 4e 34 39 74 68 54 62 71 47 73 uTK4sfCxw5w/cP1T3YGq2GN49thTbqGs
19d3e0 61 6f 51 6b 63 6c 53 47 78 74 4b 79 79 68 77 4f 65 59 48 57 74 58 42 69 43 41 45 75 54 6b 38 4f aoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
19d400 0a 31 52 47 76 71 61 2f 6c 6d 72 2f 63 7a 49 64 74 4a 75 54 4a 56 36 4c 37 6c 76 6e 4d 34 54 39 .1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9
19d420 54 6a 47 78 4d 66 70 74 54 43 41 74 73 46 2f 74 6e 79 4d 4b 74 73 63 32 41 74 4a 66 63 64 67 45 TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgE
19d440 57 46 65 6c 71 31 36 54 68 65 45 66 4f 0a 68 74 58 37 4d 66 50 36 4d 62 34 30 71 69 6a 37 63 45 WFelq16TheEfO.htX7MfP6Mb40qij7cE
19d460 77 64 53 63 65 76 4c 4a 31 74 5a 71 61 32 6a 57 52 2b 74 53 42 71 6e 54 75 42 74 6f 39 41 41 47 wdScevLJ1tZqa2jWR+tSBqnTuBto9AAG
19d480 64 4c 69 59 61 34 7a 47 58 2b 46 56 50 70 42 4d 48 57 58 78 31 45 31 77 6f 76 0a 4a 35 70 47 66 dLiYa4zGX+FVPpBMHWXx1E1wov.J5pGf
19d4a0 61 45 4e 64 61 31 55 68 68 58 63 53 54 76 78 6c 73 34 50 6d 36 44 73 6f 33 70 64 76 74 55 71 64 aENda1UhhXcSTvxls4Pm6Dso3pdvtUqd
19d4c0 55 4c 6c 65 39 36 6c 74 71 71 76 4b 4b 79 73 6b 4b 77 34 74 39 56 6f 4e 53 5a 36 33 50 63 37 38 ULle96ltqqvKKyskKw4t9VoNSZ63Pc78
19d4e0 2f 31 46 6d 39 47 37 0a 51 33 68 75 62 2f 46 43 56 47 71 59 38 41 32 74 6c 2b 6c 53 58 75 6e 56 /1Fm9G7.Q3hub/FCVGqY8A2tl+lSXunV
19d500 61 6e 4c 65 61 76 63 62 59 42 54 30 70 65 53 32 63 57 65 71 48 2b 72 69 54 63 46 43 51 50 35 6e anLeavcbYBT0peS2cWeqH+riTcFCQP5n
19d520 52 68 63 34 4c 30 63 2f 63 5a 79 75 35 53 48 4b 59 53 31 74 0a 42 36 69 45 66 43 33 75 55 53 58 Rhc4L0c/cZyu5SHKYS1t.B6iEfC3uUSX
19d540 78 59 35 43 65 2f 65 46 58 69 47 76 76 69 69 4e 74 73 65 61 39 50 36 33 52 50 5a 59 4c 68 59 33 xY5Ce/eFXiGvviiNtsea9P63RPZYLhY3
19d560 4e 61 79 65 37 74 77 57 62 37 4c 75 52 71 51 6f 48 45 67 4b 58 54 69 43 51 38 50 38 4e 48 75 4a Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJ
19d580 42 0a 4f 39 4e 41 4f 75 65 4e 58 64 70 6d 35 41 4b 77 42 31 4b 59 58 41 36 4f 4d 35 7a 43 70 70 B.O9NAOueNXdpm5AKwB1KYXA6OM5zCpp
19d5a0 58 37 56 52 6c 75 54 49 36 75 53 77 2b 39 77 54 68 4e 58 6f 2b 45 48 57 62 4e 78 57 43 57 74 46 X7VRluTI6uSw+9wThNXo+EHWbNxWCWtF
19d5c0 4a 61 42 59 6d 4f 6c 58 71 59 77 5a 45 38 0a 6c 53 4f 79 44 76 52 35 74 4d 6c 38 77 55 6f 68 41 JaBYmOlXqYwZE8.lSOyDvR5tMl8wUohA
19d5e0 67 4d 42 41 41 47 6a 61 6a 42 6f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4d 7a 4f 2f 4d 4b gMBAAGjajBoMB0GA1UdDgQWBBTMzO/MK
19d600 57 43 6b 4f 37 47 53 74 6a 7a 36 4d 6d 4b 50 72 43 55 56 4f 7a 41 4d 42 67 4e 56 0a 48 52 4d 45 WCkO7GStjz6MmKPrCUVOzAMBgNV.HRME
19d620 42 54 41 44 41 51 48 2f 4d 44 6b 47 42 47 63 71 42 77 41 45 4d 54 41 76 4d 43 30 43 41 51 41 77 BTADAQH/MDkGBGcqBwAEMTAvMC0CAQAw
19d640 43 51 59 46 4b 77 34 44 41 68 6f 46 41 44 41 48 42 67 56 6e 4b 67 4d 41 41 41 51 55 41 35 76 77 CQYFKw4DAhoFADAHBgVnKgMAAAQUA5vw
19d660 49 68 50 2f 6c 53 67 32 0a 30 39 79 65 77 44 4c 37 4d 54 71 4b 55 57 55 77 44 51 59 4a 4b 6f 5a IhP/lSg2.09yewDL7MTqKUWUwDQYJKoZ
19d680 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 45 43 41 53 76 6f 6d 79 63 35 65 4d 4e 31 IhvcNAQEFBQADggIBAECASvomyc5eMN1
19d6a0 50 68 6e 52 32 57 50 57 75 73 34 4d 7a 65 4b 52 36 64 42 63 5a 0a 54 75 6c 53 74 62 6e 67 43 6e PhnR2WPWus4MzeKR6dBcZ.TulStbngCn
19d6c0 52 69 71 6d 6a 4b 65 4b 42 4d 6d 6f 34 73 49 79 37 56 61 68 49 6b 76 39 52 6f 30 34 72 51 32 4a RiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2J
19d6e0 79 66 74 42 38 4d 33 6a 68 2b 56 7a 6a 38 6a 65 4a 50 58 67 79 66 71 7a 76 53 2f 33 57 58 79 36 yftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6
19d700 54 6a 0a 5a 77 6a 2f 35 63 41 57 74 55 67 42 66 65 6e 35 43 76 38 62 35 57 70 70 76 33 67 68 71 Tj.Zwj/5cAWtUgBfen5Cv8b5Wppv3ghq
19d720 4d 4b 6e 49 36 6d 47 71 33 5a 57 36 41 34 4d 39 68 50 64 4b 6d 61 4b 5a 45 6b 39 47 68 69 48 6b MKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHk
19d740 41 53 66 51 6c 4b 33 54 38 76 2b 52 30 46 32 0a 4e 65 2f 2f 41 48 59 32 52 54 4b 62 78 6b 61 46 ASfQlK3T8v+R0F2.Ne//AHY2RTKbxkaF
19d760 58 65 49 6b 73 42 37 6a 53 4a 61 59 56 30 65 55 56 58 6f 50 51 62 46 45 4a 50 50 42 2f 68 70 72 XeIksB7jSJaYV0eUVXoPQbFEJPPB/hpr
19d780 76 34 6a 39 77 61 62 61 6b 32 42 65 67 55 71 5a 49 4a 78 49 5a 68 6d 31 41 48 6c 55 0a 44 37 67 v4j9wabak2BegUqZIJxIZhm1AHlU.D7g
19d7a0 73 4c 30 75 38 71 56 31 62 59 48 2b 4d 68 36 58 67 55 6d 4d 71 76 74 67 37 68 55 41 56 2f 68 36 sL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h6
19d7c0 32 5a 54 2f 46 53 39 70 2b 74 58 6f 31 4b 61 4d 75 65 70 68 67 49 71 50 30 66 53 64 4f 4c 65 71 2ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq
19d7e0 30 64 44 7a 70 44 36 51 7a 0a 44 78 41 52 76 42 4d 42 31 75 55 4f 30 37 2b 31 45 71 4c 68 52 53 0dDzpD6Qz.DxARvBMB1uUO07+1EqLhRS
19d800 50 41 7a 41 68 75 59 62 65 4a 71 34 50 6a 4a 42 37 6d 58 51 66 6e 48 79 41 2b 7a 32 66 49 35 36 PAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56
19d820 77 77 62 53 64 4c 61 47 35 4c 4b 6c 77 43 43 44 54 62 2b 48 62 6b 0a 5a 36 4d 6d 6e 44 2b 69 4d wwbSdLaG5LKlwCCDTb+Hbk.Z6MmnD+iM
19d840 73 4a 4b 78 59 45 59 4d 52 42 57 71 6f 54 76 4c 51 72 2f 75 42 39 33 30 72 2b 6c 57 4b 42 69 35 sJKxYEYMRBWqoTvLQr/uB930r+lWKBi5
19d860 4e 64 4c 6b 58 57 4e 69 59 43 59 66 6d 33 4c 55 30 35 65 72 2f 61 79 6c 34 57 58 75 64 70 56 42 NdLkXWNiYCYfm3LU05er/ayl4WXudpVB
19d880 72 6b 6b 0a 37 74 66 47 4f 42 35 6a 47 78 49 37 6c 65 46 59 72 50 4c 66 68 4e 56 66 6d 53 38 4e rkk.7tfGOB5jGxI7leFYrPLfhNVfmS8N
19d8a0 56 56 76 6d 4f 4e 73 75 50 33 4c 70 53 49 58 4c 75 79 6b 54 6a 78 34 34 56 62 6e 7a 73 73 51 77 VVvmONsuP3LpSIXLuykTjx44VbnzssQw
19d8c0 6d 53 4e 4f 58 66 4a 49 6f 52 49 4d 33 42 4b 51 0a 43 5a 42 55 6b 51 4d 38 52 2b 58 56 79 57 58 mSNOXfJIoRIM3BKQ.CZBUkQM8R+XVyWX
19d8e0 67 74 30 74 39 37 45 66 54 73 77 73 2b 72 5a 37 51 64 41 41 4f 36 37 31 52 72 63 44 65 4c 4d 44 gt0t97EfTsws+rZ7QdAAO671RrcDeLMD
19d900 44 61 76 37 76 33 41 75 6e 2b 6b 62 66 59 4e 75 63 70 6c 6c 51 64 53 4e 70 63 35 4f 79 0a 2b 66 Dav7v3Aun+kbfYNucpllQdSNpc5Oy.+f
19d920 77 43 30 30 66 6d 63 63 34 51 41 75 34 6e 6a 49 54 2f 72 45 55 4e 45 31 79 44 4d 75 41 6c 70 59 wC00fmcc4QAu4njIT/rEUNE1yDMuAlpY
19d940 59 73 66 50 51 53 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d YsfPQS.-----END.CERTIFICATE-----
19d960 0a 0a 44 69 67 69 43 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 43 41 0a 3d 3d ..DigiCert.Assured.ID.Root.CA.==
19d980 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
19d9a0 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 74 7a 43 43 41 70 EGIN.CERTIFICATE-----.MIIDtzCCAp
19d9c0 2b 67 41 77 49 42 41 67 49 51 44 4f 66 67 35 52 66 59 52 76 36 50 35 57 44 38 47 2f 41 77 4f 54 +gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOT
19d9e0 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6c 4d 51 73 77 43 51 59 44 56 51 ANBgkqhkiG9w0BAQUFADBlMQswCQYDVQ
19da00 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 QG.EwJVUzEVMBMGA1UEChMMRGlnaUNlc
19da20 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 nQgSW5jMRkwFwYDVQQLExB3d3cuZGlna
19da40 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 WNlcnQuY29tMSQw.IgYDVQQDExtEaWdp
19da60 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 51 30 45 77 Q2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
19da80 48 68 63 4e 4d 44 59 78 4d 54 45 77 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 45 78 0a 4d 54 45 HhcNMDYxMTEwMDAwMDAwWhcNMzEx.MTE
19daa0 77 4d 44 41 77 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 wMDAwMDAwWjBlMQswCQYDVQQGEwJVUzE
19dac0 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b VMBMGA1UEChMMRGlnaUNlcnQgSW5jMRk
19dae0 77 46 77 59 44 56 51 51 4c 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 wFwYDVQQL.ExB3d3cuZGlnaWNlcnQuY2
19db00 39 74 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 9tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3
19db20 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 51 30 45 77 0a 67 67 45 69 4d 41 30 47 43 N1cmVkIElEIFJvb3QgQ0Ew.ggEiMA0GC
19db40 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 SqGSIb3DQEBAQUAA4IBDwAwggEKAoIBA
19db60 51 43 74 44 68 58 4f 35 45 4f 41 58 4c 47 48 38 37 64 67 2b 58 45 53 70 61 37 63 4a 70 53 49 71 QCtDhXO5EOAXLGH87dg+XESpa7cJpSIq
19db80 76 54 4f 0a 39 53 41 35 4b 46 68 67 44 50 69 41 32 71 6b 56 6c 54 4a 68 50 4c 57 78 4b 49 53 4b vTO.9SA5KFhgDPiA2qkVlTJhPLWxKISK
19dba0 69 74 79 66 43 67 79 44 46 33 71 50 6b 4b 79 4b 35 33 6c 54 58 44 47 45 4b 76 59 50 6d 44 49 32 ityfCgyDF3qPkKyK53lTXDGEKvYPmDI2
19dbc0 64 73 7a 65 33 54 79 6f 6f 75 39 71 2b 79 48 79 0a 55 6d 48 66 6e 79 44 58 48 2b 4b 78 32 66 34 dsze3Tyoou9q+yHy.UmHfnyDXH+Kx2f4
19dbe0 59 5a 4e 49 53 57 31 2f 35 57 42 67 31 76 45 66 4e 6f 54 62 35 61 33 2f 55 73 44 67 2b 77 52 76 YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRv
19dc00 44 6a 44 50 5a 32 43 38 59 2f 69 67 50 73 36 65 44 31 73 4e 75 52 4d 42 68 4e 5a 59 57 0a 2f 6c DjDPZ2C8Y/igPs6eD1sNuRMBhNZYW./l
19dc20 6d 63 69 33 5a 74 31 2f 47 69 53 77 30 72 2f 77 74 79 32 70 35 67 30 49 36 51 4e 63 5a 34 56 59 mci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VY
19dc40 63 67 6f 63 2f 6c 62 51 72 49 53 58 77 78 6d 44 4e 73 49 75 6d 48 30 44 4a 61 6f 72 6f 54 67 68 cgoc/lbQrISXwxmDNsIumH0DJaoroTgh
19dc60 48 74 4f 52 65 64 6d 54 70 79 0a 6f 65 62 36 70 4e 6e 56 46 7a 46 31 72 6f 56 39 49 71 34 2f 41 HtORedmTpy.oeb6pNnVFzF1roV9Iq4/A
19dc80 55 61 47 39 69 68 35 79 4c 48 61 35 46 63 58 78 48 34 63 44 72 43 30 6b 71 5a 57 73 37 32 79 6c UaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl
19dca0 2b 32 71 70 2f 43 33 78 61 67 2f 6c 52 62 51 2f 36 47 57 36 77 68 66 0a 47 48 64 50 41 67 4d 42 +2qp/C3xag/lRbQ/6GW6whf.GHdPAgMB
19dcc0 41 41 47 6a 59 7a 42 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 50 AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAP
19dce0 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
19dd00 42 42 52 46 0a 36 36 4b 76 39 4a 4c 4c 67 6a 45 74 55 59 75 6e 70 79 47 64 38 32 33 49 44 7a 41 BBRF.66Kv9JLLgjEtUYunpyGd823IDzA
19dd20 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 46 36 36 4b 76 39 4a 4c 4c 67 6a 45 74 55 59 75 fBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYu
19dd40 6e 70 79 47 64 38 32 33 49 44 7a 41 4e 42 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 npyGd823IDzANBgkq.hkiG9w0BAQUFAA
19dd60 4f 43 41 51 45 41 6f 67 36 38 33 2b 4c 74 38 4f 4e 79 63 33 70 6b 6c 4c 2f 33 63 6d 62 59 4d 75 OCAQEAog683+Lt8ONyc3pklL/3cmbYMu
19dd80 52 43 64 57 4b 75 68 2b 76 79 31 64 6e 65 56 72 4f 66 7a 4d 34 55 4b 4c 6b 4e 6c 32 42 63 0a 45 RCdWKuh+vy1dneVrOfzM4UKLkNl2Bc.E
19dda0 6b 78 59 35 4e 4d 39 67 30 6c 46 57 4a 63 31 61 52 71 6f 52 2b 70 57 78 6e 6d 72 45 74 68 6e 67 kxY5NM9g0lFWJc1aRqoR+pWxnmrEthng
19ddc0 59 54 66 66 77 6b 38 6c 4f 61 34 4a 69 77 67 76 54 32 7a 4b 49 6e 33 58 2f 38 69 34 70 65 45 48 YTffwk8lOa4JiwgvT2zKIn3X/8i4peEH
19dde0 2b 6c 6c 37 34 66 67 33 38 46 6e 0a 53 62 4e 64 36 37 49 4a 4b 75 73 6d 37 58 69 2b 66 54 38 72 +ll74fg38Fn.SbNd67IJKusm7Xi+fT8r
19de00 38 37 63 6d 4e 57 31 66 69 51 47 32 53 56 75 66 41 51 57 62 71 7a 30 6c 77 63 79 32 66 38 4c 78 87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lx
19de20 62 34 62 47 2b 6d 52 6f 36 34 45 74 6c 4f 74 43 74 2f 71 4d 48 74 31 69 0a 38 62 35 51 5a 37 64 b4bG+mRo64EtlOtCt/qMHt1i.8b5QZ7d
19de40 73 76 66 50 78 48 32 73 4d 4e 67 63 57 66 7a 64 38 71 56 74 74 65 76 45 53 52 6d 43 44 31 79 63 svfPxH2sMNgcWfzd8qVttevESRmCD1yc
19de60 45 76 6b 76 4f 6c 37 37 44 5a 79 70 6f 45 64 2b 41 35 77 77 7a 5a 72 38 54 44 52 52 75 38 33 38 EvkvOl77DZypoEd+A5wwzZr8TDRRu838
19de80 66 59 78 41 65 0a 2b 6f 30 62 4a 57 31 73 6a 36 57 33 59 51 47 78 30 71 4d 6d 6f 52 42 78 6e 61 fYxAe.+o0bJW1sj6W3YQGx0qMmoRBxna
19dea0 33 69 77 2f 6e 44 6d 56 47 33 4b 77 63 49 7a 69 37 6d 55 4c 4b 6e 2b 67 70 46 4c 36 4c 77 38 67 3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g
19dec0 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 ==.-----END.CERTIFICATE-----..Di
19dee0 67 69 43 65 72 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d giCert.Global.Root.CA.==========
19df00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
19df20 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 72 7a 43 43 41 70 65 67 41 77 49 42 41 67 49 51 43 44 CATE-----.MIIDrzCCApegAwIBAgIQCD
19df40 76 67 56 70 42 43 52 72 47 68 64 57 72 4a 57 5a 48 48 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 vgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w
19df60 30 42 41 51 55 46 41 44 42 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 0BAQUFADBhMQswCQYDVQQG.EwJVUzEVM
19df80 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 BMGA1UEChMMRGlnaUNlcnQgSW5jMRkwF
19dfa0 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d wYDVQQLExB3d3cuZGlnaWNlcnQuY29tM
19dfc0 53 41 77 0a 48 67 59 44 56 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 SAw.HgYDVQQDExdEaWdpQ2VydCBHbG9i
19dfe0 59 57 77 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 77 4e 6a 45 78 4d 54 41 77 4d 44 41 77 YWwgUm9vdCBDQTAeFw0wNjExMTAwMDAw
19e000 4d 44 42 61 46 77 30 7a 4d 54 45 78 4d 54 41 77 0a 4d 44 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 MDBaFw0zMTExMTAw.MDAwMDBaMGExCzA
19e020 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 JBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWd
19e040 70 51 32 56 79 64 43 42 4a 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 pQ2VydCBJbmMxGTAXBgNVBAsTEHd3.dy
19e060 35 6b 61 57 64 70 59 32 56 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0
19e080 52 70 5a 32 6c 44 5a 58 4a 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 4e 42 4d 49 RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMI
19e0a0 49 42 49 6a 41 4e 42 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d IBIjANBgkq.hkiG9w0BAQEFAAOCAQ8AM
19e0c0 49 49 42 43 67 4b 43 41 51 45 41 34 6a 76 68 45 58 4c 65 71 4b 54 54 6f 31 65 71 55 4b 4b 50 43 IIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC
19e0e0 33 65 51 79 61 4b 6c 37 68 4c 4f 6c 6c 73 42 43 53 44 4d 41 5a 4f 6e 0a 54 6a 43 33 55 2f 64 44 3eQyaKl7hLOllsBCSDMAZOn.TjC3U/dD
19e100 78 47 6b 41 56 35 33 69 6a 53 4c 64 68 77 5a 41 41 49 45 4a 7a 73 34 62 67 37 2f 66 7a 54 74 78 xGkAV53ijSLdhwZAAIEJzs4bg7/fzTtx
19e120 52 75 4c 57 5a 73 63 46 73 33 59 6e 46 6f 39 37 6e 68 36 56 66 65 36 33 53 4b 4d 49 32 74 61 76 RuLWZscFs3YnFo97nh6Vfe63SKMI2tav
19e140 65 67 77 35 0a 42 6d 56 2f 53 6c 30 66 76 42 66 34 71 37 37 75 4b 4e 64 30 66 33 70 34 6d 56 6d egw5.BmV/Sl0fvBf4q77uKNd0f3p4mVm
19e160 46 61 47 35 63 49 7a 4a 4c 76 30 37 41 36 46 70 74 34 33 43 2f 64 78 43 2f 2f 41 48 32 68 64 6d FaG5cIzJLv07A6Fpt43C/dxC//AH2hdm
19e180 6f 52 42 42 59 4d 71 6c 31 47 4e 58 52 6f 72 35 48 0a 34 69 64 71 39 4a 6f 7a 2b 45 6b 49 59 49 oRBBYMql1GNXRor5H.4idq9Joz+EkIYI
19e1a0 76 55 58 37 51 36 68 4c 2b 68 71 6b 70 4d 66 54 37 50 54 31 39 73 64 6c 36 67 53 7a 65 52 6e 74 vUX7Q6hL+hqkpMfT7PT19sdl6gSzeRnt
19e1c0 77 69 35 6d 33 4f 46 42 71 4f 61 73 76 2b 7a 62 4d 55 5a 42 66 48 57 79 6d 65 4d 72 2f 79 0a 37 wi5m3OFBqOasv+zbMUZBfHWymeMr/y.7
19e1e0 76 72 54 43 30 4c 55 71 37 64 42 4d 74 6f 4d 31 4f 2f 34 67 64 57 37 6a 56 67 2f 74 52 76 6f 53 vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoS
19e200 53 69 69 63 4e 6f 78 42 4e 33 33 73 68 62 79 54 41 70 4f 42 36 6a 74 53 6a 31 65 74 58 2b 6a 6b SiicNoxBN33shbyTApOB6jtSj1etX+jk
19e220 4d 4f 76 4a 77 49 44 41 51 41 42 0a 6f 32 4d 77 59 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 MOvJwIDAQAB.o2MwYTAOBgNVHQ8BAf8E
19e240 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAd
19e260 42 67 4e 56 48 51 34 45 46 67 51 55 41 39 35 51 4e 56 62 52 54 4c 74 6d 0a 38 4b 50 69 47 78 76 BgNVHQ4EFgQUA95QNVbRTLtm.8KPiGxv
19e280 44 6c 37 49 39 30 56 55 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 41 39 35 51 4e 56 62 Dl7I90VUwHwYDVR0jBBgwFoAUA95QNVb
19e2a0 52 54 4c 74 6d 38 4b 50 69 47 78 76 44 6c 37 49 39 30 56 55 77 44 51 59 4a 4b 6f 5a 49 68 76 63 RTLtm8KPiGxvDl7I90VUwDQYJKoZIhvc
19e2c0 4e 41 51 45 46 0a 42 51 41 44 67 67 45 42 41 4d 75 63 4e 36 70 49 45 78 49 4b 2b 74 31 45 6e 45 NAQEF.BQADggEBAMucN6pIExIK+t1EnE
19e2e0 39 53 73 50 54 66 72 67 54 31 65 58 6b 49 6f 79 51 59 2f 45 73 72 68 4d 41 74 75 64 58 48 2f 76 9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/v
19e300 54 42 48 31 6a 4c 75 47 32 63 65 6e 54 6e 6d 43 6d 72 0a 45 62 58 6a 63 4b 43 68 7a 55 79 49 6d TBH1jLuG2cenTnmCmr.EbXjcKChzUyIm
19e320 5a 4f 4d 6b 58 44 69 71 77 38 63 76 70 4f 70 2f 32 50 56 35 41 64 67 30 36 4f 2f 6e 56 73 4a 38 ZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8
19e340 64 57 4f 34 31 50 30 6a 6d 50 36 50 36 66 62 74 47 62 66 59 6d 62 57 30 57 35 42 6a 66 49 74 0a dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt.
19e360 74 65 70 33 53 70 2b 64 57 4f 49 72 57 63 42 41 49 2b 30 74 4b 49 4a 46 50 6e 6c 55 6b 69 61 59 tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY
19e380 34 49 42 49 71 44 66 76 38 4e 5a 35 59 42 62 65 72 4f 67 4f 7a 57 36 73 52 42 63 34 4c 30 6e 61 4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na
19e3a0 34 55 55 2b 4b 72 6b 32 55 38 38 36 0a 55 41 62 33 4c 75 6a 45 56 30 6c 73 59 53 45 59 31 51 53 4UU+Krk2U886.UAb3LujEV0lsYSEY1QS
19e3c0 74 65 44 77 73 4f 6f 42 72 70 2b 75 76 46 52 54 70 32 49 6e 42 75 54 68 73 34 70 46 73 69 76 39 teDwsOoBrp+uvFRTp2InBuThs4pFsiv9
19e3e0 6b 75 58 63 6c 56 7a 44 41 47 79 53 6a 34 64 7a 70 33 30 64 38 74 62 51 6b 0a 43 41 55 77 37 43 kuXclVzDAGySj4dzp30d8tbQk.CAUw7C
19e400 32 39 43 37 39 46 76 31 43 35 71 66 50 72 6d 41 45 53 72 63 69 49 78 70 67 30 58 34 30 4b 50 4d 29C79Fv1C5qfPrmAESrciIxpg0X40KPM
19e420 62 70 31 5a 57 56 62 64 34 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d bp1ZWVbd4=.-----END.CERTIFICATE-
19e440 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 48 69 67 68 20 41 73 73 75 72 61 6e 63 65 20 45 56 ----..DigiCert.High.Assurance.EV
19e460 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.CA.=======================
19e480 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
19e4a0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 78 54 43 43 41 71 32 67 41 77 49 42 41 67 49 51 41 71 78 63 TE-----.MIIDxTCCAq2gAwIBAgIQAqxc
19e4c0 4a 6d 6f 4c 51 4a 75 50 43 33 6e 79 72 6b 59 6c 64 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 JmoLQJuPC3nyrkYldzANBgkqhkiG9w0B
19e4e0 41 51 55 46 41 44 42 73 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d AQUFADBsMQswCQYDVQQG.EwJVUzEVMBM
19e500 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 GA1UEChMMRGlnaUNlcnQgSW5jMRkwFwY
19e520 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 73 DVQQLExB3d3cuZGlnaWNlcnQuY29tMSs
19e540 77 0a 4b 51 59 44 56 51 51 44 45 79 4a 45 61 57 64 70 51 32 56 79 64 43 42 49 61 57 64 6f 49 45 w.KQYDVQQDEyJEaWdpQ2VydCBIaWdoIE
19e560 46 7a 63 33 56 79 59 57 35 6a 5a 53 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 44 54 Fzc3VyYW5jZSBFViBSb290IENBMB4XDT
19e580 41 32 4d 54 45 78 4d 44 41 77 4d 44 41 77 0a 4d 46 6f 58 44 54 4d 78 4d 54 45 78 4d 44 41 77 4d A2MTExMDAwMDAw.MFoXDTMxMTExMDAwM
19e5a0 44 41 77 4d 46 6f 77 62 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 54 41 54 42 DAwMFowbDELMAkGA1UEBhMCVVMxFTATB
19e5c0 67 4e 56 42 41 6f 54 44 45 52 70 5a 32 6c 44 5a 58 4a 30 49 45 6c 75 59 7a 45 5a 0a 4d 42 63 47 gNVBAoTDERpZ2lDZXJ0IEluYzEZ.MBcG
19e5e0 41 31 55 45 43 78 4d 51 64 33 64 33 4c 6d 52 70 5a 32 6c 6a 5a 58 4a 30 4c 6d 4e 76 62 54 45 72 A1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEr
19e600 4d 43 6b 47 41 31 55 45 41 78 4d 69 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 47 6c 6e 61 43 42 42 MCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBB
19e620 63 33 4e 31 63 6d 46 75 0a 59 32 55 67 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 53 49 c3N1cmFu.Y2UgRVYgUm9vdCBDQTCCASI
19e640 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f wDQYJKoZIhvcNAQEBBQADggEPADCCAQo
19e660 43 67 67 45 42 41 4d 62 4d 35 58 50 6d 2b 39 53 37 35 53 30 74 0a 4d 71 62 66 35 59 45 2f 79 63 CggEBAMbM5XPm+9S75S0t.Mqbf5YE/yc
19e680 30 6c 53 62 5a 78 4b 73 50 56 6c 44 52 6e 6f 67 6f 63 73 46 39 70 70 6b 43 78 78 4c 65 79 6a 39 0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9
19e6a0 43 59 70 4b 6c 42 57 54 72 54 33 4a 54 57 50 4e 74 30 4f 4b 52 4b 7a 45 30 6c 67 76 64 4b 70 56 CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpV
19e6c0 4d 53 0a 4f 4f 37 7a 53 57 31 78 6b 58 35 6a 74 71 75 6d 58 38 4f 6b 68 50 68 50 59 6c 47 2b 2b MS.OO7zSW1xkX5jtqumX8OkhPhPYlG++
19e6e0 4d 58 73 32 7a 69 53 34 77 62 6c 43 4a 45 4d 78 43 68 42 56 66 76 4c 57 6f 6b 56 66 6e 48 6f 4e MXs2ziS4wblCJEMxChBVfvLWokVfnHoN
19e700 62 39 4e 63 67 6b 39 76 6a 6f 34 55 46 74 33 0a 4d 52 75 4e 73 38 63 6b 52 5a 71 6e 72 47 30 41 b9Ncgk9vjo4UFt3.MRuNs8ckRZqnrG0A
19e720 46 46 6f 45 74 37 6f 54 36 31 45 4b 6d 45 46 42 49 6b 35 6c 59 59 65 42 51 56 43 6d 65 56 79 4a FFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ
19e740 33 68 6c 4b 56 39 55 75 35 6c 30 63 55 79 78 2b 6d 4d 30 61 42 68 61 6b 61 48 50 51 0a 4e 41 51 3hlKV9Uu5l0cUyx+mM0aBhakaHPQ.NAQ
19e760 54 58 4b 46 78 30 31 70 38 56 64 74 65 5a 4f 45 33 68 7a 42 57 42 4f 55 52 74 43 6d 41 45 76 46 TXKFx01p8VdteZOE3hzBWBOURtCmAEvF
19e780 35 4f 59 69 69 41 68 46 38 4a 32 61 33 69 4c 64 34 38 73 6f 4b 71 44 69 72 43 6d 54 43 76 32 5a 5OYiiAhF8J2a3iLd48soKqDirCmTCv2Z
19e7a0 64 6c 59 54 42 6f 53 55 65 0a 68 31 30 61 55 41 73 67 45 73 78 42 75 32 34 4c 55 54 69 34 53 38 dlYTBoSUe.h10aUAsgEsxBu24LUTi4S8
19e7c0 73 43 41 77 45 41 41 61 4e 6a 4d 47 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAg
19e7e0 47 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 0a 41 66 38 77 48 51 59 44 56 GGMA8GA1UdEwEB/wQFMAMB.Af8wHQYDV
19e800 52 30 4f 42 42 59 45 46 4c 45 2b 77 32 6b 44 2b 4c 39 48 41 64 53 59 4a 68 6f 49 41 75 39 6a 5a R0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZ
19e820 43 76 44 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4c 45 2b 77 32 6b 44 2b 4c 39 48 41 CvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HA
19e840 64 53 59 0a 4a 68 6f 49 41 75 39 6a 5a 43 76 44 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 dSY.JhoIAu9jZCvDMA0GCSqGSIb3DQEB
19e860 42 51 55 41 41 34 49 42 41 51 41 63 47 67 61 58 33 4e 65 63 6e 7a 79 49 5a 67 59 49 56 79 48 62 BQUAA4IBAQAcGgaX3NecnzyIZgYIVyHb
19e880 49 55 66 34 4b 6d 65 71 76 78 67 79 64 6b 41 51 0a 56 38 47 4b 38 33 72 5a 45 57 57 4f 4e 66 71 IUf4KmeqvxgydkAQ.V8GK83rZEWWONfq
19e8a0 65 2f 45 57 31 6e 74 6c 4d 4d 55 75 34 6b 65 68 44 4c 49 36 7a 65 4d 37 62 34 31 4e 35 63 64 62 e/EW1ntlMMUu4kehDLI6zeM7b41N5cdb
19e8c0 6c 49 5a 51 42 32 6c 57 48 6d 69 52 6b 39 6f 70 6d 7a 4e 36 63 4e 38 32 6f 4e 4c 46 70 0a 6d 79 lIZQB2lWHmiRk9opmzN6cN82oNLFp.my
19e8e0 50 49 6e 6e 67 69 4b 33 42 44 34 31 56 48 4d 57 45 5a 37 31 6a 46 68 53 39 4f 4d 50 61 67 4d 52 PInngiK3BD41VHMWEZ71jFhS9OMPagMR
19e900 59 6a 79 4f 66 69 5a 52 59 7a 79 37 38 61 47 36 41 39 2b 4d 70 65 69 7a 47 4c 59 41 69 4a 4c 51 YjyOfiZRYzy78aG6A9+MpeizGLYAiJLQ
19e920 77 47 58 46 4b 33 78 50 6b 4b 0a 6d 4e 45 56 58 35 38 53 76 6e 77 32 59 7a 69 39 52 4b 52 2f 35 wGXFK3xPkK.mNEVX58Svnw2Yzi9RKR/5
19e940 43 59 72 43 73 53 58 61 51 33 70 6a 4f 4c 41 45 46 65 34 79 48 59 53 6b 56 58 79 53 47 6e 59 76 CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYv
19e960 43 6f 43 57 77 39 45 31 43 41 78 32 2f 53 36 63 43 5a 64 6b 47 43 65 0a 76 45 73 58 43 53 2b 30 CoCWw9E1CAx2/S6cCZdkGCe.vEsXCS+0
19e980 79 78 35 44 61 4d 6b 48 4a 38 48 53 58 50 66 71 49 62 6c 6f 45 70 77 38 6e 4c 2b 65 2f 49 42 63 yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBc
19e9a0 6d 32 50 4e 37 45 65 71 4a 53 64 6e 6f 44 66 7a 41 49 4a 39 56 4e 65 70 2b 4f 6b 75 45 36 4e 33 m2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N3
19e9c0 36 42 39 4b 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 6B9K.-----END.CERTIFICATE-----..
19e9e0 43 65 72 74 70 6c 75 73 20 43 6c 61 73 73 20 32 20 50 72 69 6d 61 72 79 20 43 41 0a 3d 3d 3d 3d Certplus.Class.2.Primary.CA.====
19ea00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
19ea20 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6b 6a 43 43 41 6e 71 67 IN.CERTIFICATE-----.MIIDkjCCAnqg
19ea40 41 77 49 42 41 67 49 52 41 49 57 39 53 2f 50 59 32 75 4e 70 39 70 54 58 58 38 4f 6c 52 43 4d 77 AwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMw
19ea60 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 50 54 45 4c 4d 41 6b 47 41 31 55 45 DQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
19ea80 0a 42 68 4d 43 52 6c 49 78 45 54 41 50 42 67 4e 56 42 41 6f 54 43 45 4e 6c 63 6e 52 77 62 48 56 .BhMCRlIxETAPBgNVBAoTCENlcnRwbHV
19eaa0 7a 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 44 62 47 46 7a 63 79 41 79 49 46 42 79 61 57 31 zMRswGQYDVQQDExJDbGFzcyAyIFByaW1
19eac0 68 63 6e 6b 67 51 30 45 77 48 68 63 4e 0a 4f 54 6b 77 4e 7a 41 33 4d 54 63 77 4e 54 41 77 57 68 hcnkgQ0EwHhcN.OTkwNzA3MTcwNTAwWh
19eae0 63 4e 4d 54 6b 77 4e 7a 41 32 4d 6a 4d 31 4f 54 55 35 57 6a 41 39 4d 51 73 77 43 51 59 44 56 51 cNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQ
19eb00 51 47 45 77 4a 47 55 6a 45 52 4d 41 38 47 41 31 55 45 43 68 4d 49 51 32 56 79 0a 64 48 42 73 64 QGEwJGUjERMA8GA1UEChMIQ2Vy.dHBsd
19eb20 58 4d 78 47 7a 41 5a 42 67 4e 56 42 41 4d 54 45 6b 4e 73 59 58 4e 7a 49 44 49 67 55 48 4a 70 62 XMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpb
19eb40 57 46 79 65 53 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 WFyeSBDQTCCASIwDQYJKoZIhvcNAQEBB
19eb60 51 41 44 67 67 45 50 0a 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 78 51 6c 74 41 53 2b 44 58 53 QADggEP.ADCCAQoCggEBANxQltAS+DXS
19eb80 43 48 68 36 74 6c 4a 77 2f 57 2f 75 7a 37 6b 52 79 31 31 33 34 65 7a 70 66 67 53 4e 31 73 78 76 CHh6tlJw/W/uz7kRy1134ezpfgSN1sxv
19eba0 63 30 4e 58 59 4b 77 7a 43 6b 54 73 41 31 38 63 67 43 53 52 0a 35 61 69 52 56 68 4b 43 39 2b 41 c0NXYKwzCkTsA18cgCSR.5aiRVhKC9+A
19ebc0 72 39 4e 75 75 59 53 36 4a 45 49 31 72 62 4c 71 7a 41 72 33 56 4e 73 56 49 4e 79 50 69 38 46 6f r9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo
19ebe0 33 55 6a 4d 58 45 75 4c 52 59 45 32 2b 4c 30 45 52 34 2f 59 58 4a 51 79 4c 6b 63 41 62 6d 58 75 3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXu
19ec00 5a 0a 56 67 32 76 37 74 4b 38 52 31 66 6a 65 55 6c 37 4e 49 6b 6e 4a 49 54 65 73 65 7a 70 57 45 Z.Vg2v7tK8R1fjeUl7NIknJITesezpWE
19ec20 37 2b 54 74 39 61 76 6b 47 74 72 41 6a 46 47 41 37 76 30 6c 50 75 62 4e 43 64 45 67 45 54 6a 64 7+Tt9avkGtrAjFGA7v0lPubNCdEgETjd
19ec40 79 41 59 76 65 56 71 55 53 49 53 6e 46 4f 0a 59 46 57 65 32 79 4d 5a 65 56 59 48 44 44 39 6a 43 yAYveVqUSISnFO.YFWe2yMZeVYHDD9jC
19ec60 31 79 77 34 72 35 2b 46 66 79 55 4d 31 68 42 4f 48 54 45 34 59 2b 4c 33 79 61 73 48 37 57 4c 4f 1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO
19ec80 37 64 44 57 57 75 77 4a 4b 5a 74 6b 49 76 45 63 75 70 64 4d 35 69 33 79 39 35 65 0a 65 2b 2b 55 7dDWWuwJKZtkIvEcupdM5i3y95e.e++U
19eca0 38 52 73 2b 79 73 6b 68 77 63 57 59 41 71 71 69 39 6c 74 33 6d 2f 56 2b 6c 6c 55 30 48 47 64 70 8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdp
19ecc0 77 50 46 43 34 30 65 73 2f 43 67 63 5a 6c 55 43 41 77 45 41 41 61 4f 42 6a 44 43 42 69 54 41 50 wPFC40es/CgcZlUCAwEAAaOBjDCBiTAP
19ece0 42 67 4e 56 48 52 4d 45 0a 43 44 41 47 41 51 48 2f 41 67 45 4b 4d 41 73 47 41 31 55 64 44 77 51 BgNVHRME.CDAGAQH/AgEKMAsGA1UdDwQ
19ed00 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 34 33 4d 74 33 38 73 4f 4b 41 7a EAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAz
19ed20 65 33 62 4f 6b 79 6e 6d 34 6a 72 76 6f 4d 49 6b 77 45 51 59 4a 0a 59 49 5a 49 41 59 62 34 51 67 e3bOkynm4jrvoMIkwEQYJ.YIZIAYb4Qg
19ed40 45 42 42 41 51 44 41 67 45 47 4d 44 63 47 41 31 55 64 48 77 51 77 4d 43 34 77 4c 4b 41 71 6f 43 EBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoC
19ed60 69 47 4a 6d 68 30 64 48 41 36 4c 79 39 33 64 33 63 75 59 32 56 79 64 48 42 73 64 58 4d 75 59 32 iGJmh0dHA6Ly93d3cuY2VydHBsdXMuY2
19ed80 39 74 0a 4c 30 4e 53 54 43 39 6a 62 47 46 7a 63 7a 49 75 59 33 4a 73 4d 41 30 47 43 53 71 47 53 9t.L0NSTC9jbGFzczIuY3JsMA0GCSqGS
19eda0 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 43 6e 56 4d 2b 49 52 42 6e 4c 33 39 52 2f 41 Ib3DQEBBQUAA4IBAQCnVM+IRBnL39R/A
19edc0 4e 39 57 4d 32 4b 31 39 31 45 42 6b 4f 76 44 0a 50 39 47 49 52 4f 6b 6b 58 65 2f 6e 46 4c 30 67 N9WM2K191EBkOvD.P9GIROkkXe/nFL0g
19ede0 74 35 6f 38 41 50 35 74 6e 39 75 51 33 4e 66 30 59 74 61 4c 63 46 33 6e 35 51 52 49 71 57 68 38 t5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8
19ee00 79 66 46 43 38 32 78 2f 78 58 70 38 48 56 47 49 75 74 49 4b 50 69 64 64 33 69 31 52 0a 54 74 4d yfFC82x/xXp8HVGIutIKPidd3i1R.TtM
19ee20 54 5a 47 6e 6b 4c 75 50 54 35 35 73 4a 6d 61 62 67 6c 5a 76 4f 47 74 64 2f 76 6a 7a 4f 55 72 4d TZGnkLuPT55sJmabglZvOGtd/vjzOUrM
19ee40 52 46 63 45 50 46 38 30 44 75 35 77 6c 46 62 71 69 64 6f 6e 38 42 76 45 59 30 4a 4e 4c 44 6e 79 RFcEPF80Du5wlFbqidon8BvEY0JNLDny
19ee60 43 74 36 58 30 39 6c 2f 2b 0a 37 55 43 6d 6e 59 52 30 4f 62 6e 63 48 6f 55 57 32 69 6b 62 68 69 Ct6X09l/+.7UCmnYR0ObncHoUW2ikbhi
19ee80 4d 41 79 62 75 4a 66 6d 36 41 69 42 34 76 46 4c 51 44 4a 4b 67 79 62 77 4f 61 52 79 77 77 76 6c MAybuJfm6AiB4vFLQDJKgybwOaRywwvl
19eea0 62 47 70 30 49 43 63 42 76 71 51 4e 69 36 42 51 4e 77 42 36 53 57 0a 2f 2f 31 49 4d 77 72 68 33 bGp0ICcBvqQNi6BQNwB6SW.//1IMwrh3
19eec0 4b 57 42 6b 4a 74 4e 33 58 33 6e 35 37 4c 4e 58 4d 68 71 6c 66 69 6c 39 6f 33 45 58 58 67 49 76 KWBkJtN3X3n57LNXMhqlfil9o3EXXgIv
19eee0 6e 73 47 31 6b 6e 50 47 54 5a 51 49 79 34 49 35 70 34 46 54 55 63 59 31 52 62 70 73 64 61 32 45 nsG1knPGTZQIy4I5p4FTUcY1Rbpsda2E
19ef00 4e 57 37 0a 6c 37 2b 69 6a 72 52 55 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 NW7.l7+ijrRU.-----END.CERTIFICAT
19ef20 45 2d 2d 2d 2d 2d 0a 0a 44 53 54 20 52 6f 6f 74 20 43 41 20 58 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d E-----..DST.Root.CA.X3.=========
19ef40 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
19ef60 2d 0a 4d 49 49 44 53 6a 43 43 41 6a 4b 67 41 77 49 42 41 67 49 51 52 4b 2b 77 67 4e 61 6a 4a 37 -.MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7
19ef80 71 4a 4d 44 6d 47 4c 76 68 41 61 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 qJMDmGLvhAazANBgkqhkiG9w0BAQUFAD
19efa0 41 2f 4d 53 51 77 49 67 59 44 56 51 51 4b 0a 45 78 74 45 61 57 64 70 64 47 46 73 49 46 4e 70 5a A/MSQwIgYDVQQK.ExtEaWdpdGFsIFNpZ
19efc0 32 35 68 64 48 56 79 5a 53 42 55 63 6e 56 7a 64 43 42 44 62 79 34 78 46 7a 41 56 42 67 4e 56 42 25hdHVyZSBUcnVzdCBDby4xFzAVBgNVB
19efe0 41 4d 54 44 6b 52 54 56 43 42 53 62 32 39 30 49 45 4e 42 49 46 67 7a 4d 42 34 58 0a 44 54 41 77 AMTDkRTVCBSb290IENBIFgzMB4X.DTAw
19f000 4d 44 6b 7a 4d 44 49 78 4d 54 49 78 4f 56 6f 58 44 54 49 78 4d 44 6b 7a 4d 44 45 30 4d 44 45 78 MDkzMDIxMTIxOVoXDTIxMDkzMDE0MDEx
19f020 4e 56 6f 77 50 7a 45 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 52 47 6c 6e 61 58 52 68 62 43 42 54 NVowPzEkMCIGA1UEChMbRGlnaXRhbCBT
19f040 61 57 64 75 59 58 52 31 0a 63 6d 55 67 56 48 4a 31 63 33 51 67 51 32 38 75 4d 52 63 77 46 51 59 aWduYXR1.cmUgVHJ1c3QgQ28uMRcwFQY
19f060 44 56 51 51 44 45 77 35 45 55 31 51 67 55 6d 39 76 64 43 42 44 51 53 42 59 4d 7a 43 43 41 53 49 DVQQDEw5EU1QgUm9vdCBDQSBYMzCCASI
19f080 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 45 50 41 44 43 43 41 51 wDQYJKoZIhvcNAQEBBQAD.ggEPADCCAQ
19f0a0 6f 43 67 67 45 42 41 4e 2b 76 36 5a 64 51 43 49 4e 58 74 4d 78 69 5a 66 61 51 67 75 7a 48 30 79 oCggEBAN+v6ZdQCINXtMxiZfaQguzH0y
19f0c0 78 72 4d 4d 70 62 37 4e 6e 44 66 63 64 41 77 52 67 55 69 2b 44 6f 4d 33 5a 4a 4b 75 4d 2f 49 55 xrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IU
19f0e0 6d 54 0a 72 45 34 4f 72 7a 35 49 79 32 58 75 2f 4e 4d 68 44 32 58 53 4b 74 6b 79 6a 34 7a 6c 39 mT.rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl9
19f100 33 65 77 45 6e 75 31 6c 63 43 4a 6f 36 6d 36 37 58 4d 75 65 67 77 47 4d 6f 4f 69 66 6f 6f 55 4d 3ewEnu1lcCJo6m67XMuegwGMoOifooUM
19f120 4d 30 52 6f 4f 45 71 4f 4c 6c 35 43 6a 48 39 0a 55 4c 32 41 5a 64 2b 33 55 57 4f 44 79 4f 4b 49 M0RoOEqOLl5CjH9.UL2AZd+3UWODyOKI
19f140 59 65 70 4c 59 59 48 73 55 6d 75 35 6f 75 4a 4c 47 69 69 66 53 4b 4f 65 44 4e 6f 4a 6a 6a 34 58 YepLYYHsUmu5ouJLGiifSKOeDNoJjj4X
19f160 4c 68 37 64 49 4e 39 62 78 69 71 4b 71 79 36 39 63 4b 33 46 43 78 6f 6c 6b 48 52 79 0a 78 58 74 Lh7dIN9bxiqKqy69cK3FCxolkHRy.xXt
19f180 71 71 7a 54 57 4d 49 6e 2f 35 57 67 54 65 31 51 4c 79 4e 61 75 37 46 71 63 6b 68 34 39 5a 4c 4f qqzTWMIn/5WgTe1QLyNau7Fqckh49ZLO
19f1a0 4d 78 74 2b 2f 79 55 46 77 37 42 5a 79 31 53 62 73 4f 46 55 35 51 39 44 38 2f 52 68 63 51 50 47 Mxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPG
19f1c0 58 36 39 57 61 6d 34 30 64 0a 75 74 6f 6c 75 63 62 59 33 38 45 56 41 6a 71 72 32 6d 37 78 50 69 X69Wam40d.utolucbY38EVAjqr2m7xPi
19f1e0 37 31 58 41 69 63 50 4e 61 44 61 65 51 51 6d 78 6b 71 74 69 6c 58 34 2b 55 39 6d 35 2f 77 41 6c 71XAicPNaDaeQQmxkqtilX4+U9m5/wAl
19f200 30 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 0a 41 51 48 2f 42 41 55 77 41 0CAwEAAaNCMEAwDwYDVR0T.AQH/BAUwA
19f220 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 wEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDV
19f240 52 30 4f 42 42 59 45 46 4d 53 6e 73 61 52 37 4c 48 48 36 32 2b 46 4c 6b 48 58 2f 78 42 56 67 68 R0OBBYEFMSnsaR7LHH62+FLkHX/xBVgh
19f260 59 6b 51 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 43 6a YkQ.MA0GCSqGSIb3DQEBBQUAA4IBAQCj
19f280 47 69 79 62 46 77 42 63 71 52 37 75 4b 47 59 33 4f 72 2b 44 78 7a 39 4c 77 77 6d 67 6c 53 42 64 GiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd
19f2a0 34 39 6c 5a 52 4e 49 2b 44 54 36 39 69 6b 75 67 0a 64 42 2f 4f 45 49 4b 63 64 42 6f 64 66 70 67 49lZRNI+DT69ikug.dB/OEIKcdBodfpg
19f2c0 61 33 63 73 54 53 37 4d 67 52 4f 53 52 36 63 7a 38 66 61 58 62 61 75 58 2b 35 76 33 67 54 74 32 a3csTS7MgROSR6cz8faXbauX+5v3gTt2
19f2e0 33 41 44 71 31 63 45 6d 76 38 75 58 72 41 76 48 52 41 6f 73 5a 79 35 51 36 58 6b 6a 45 0a 47 42 3ADq1cEmv8uXrAvHRAosZy5Q6XkjE.GB
19f300 35 59 47 56 38 65 41 6c 72 77 44 50 47 78 72 61 6e 63 57 59 61 4c 62 75 6d 52 39 59 62 4b 2b 72 5YGV8eAlrwDPGxrancWYaLbumR9YbK+r
19f320 6c 6d 4d 36 70 5a 57 38 37 69 70 78 5a 7a 52 38 73 72 7a 4a 6d 77 4e 30 6a 50 34 31 5a 4c 39 63 lmM6pZW87ipxZzR8srzJmwN0jP41ZL9c
19f340 38 50 44 48 49 79 68 38 62 77 0a 52 4c 74 54 63 6d 31 44 39 53 5a 49 6d 6c 4a 6e 74 31 69 72 2f 8PDHIyh8bw.RLtTcm1D9SZImlJnt1ir/
19f360 6d 64 32 63 58 6a 62 44 61 4a 57 46 42 4d 35 4a 44 47 46 6f 71 67 43 57 6a 42 48 34 64 31 51 42 md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB
19f380 37 77 43 43 5a 41 41 36 32 52 6a 59 4a 73 57 76 49 6a 4a 45 75 62 53 0a 66 5a 47 4c 2b 54 30 79 7wCCZAA62RjYJsWvIjJEubS.fZGL+T0y
19f3a0 6a 57 57 30 36 58 79 78 56 33 62 71 78 62 59 6f 4f 62 38 56 5a 52 7a 49 39 6e 65 57 61 67 71 4e jWW06XyxV3bqxbYoOb8VZRzI9neWagqN
19f3c0 64 77 76 59 6b 51 73 45 6a 67 66 62 4b 62 59 4b 37 70 32 43 4e 54 55 51 0a 2d 2d 2d 2d 2d 45 4e dwvYkQsEjgfbKbYK7p2CNTUQ.-----EN
19f3e0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 53 69 67 6e 20 47 6f D.CERTIFICATE-----..SwissSign.Go
19f400 6c 64 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ld.CA.-.G2.=====================
19f420 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
19f440 49 46 75 6a 43 43 41 36 4b 67 41 77 49 42 41 67 49 4a 41 4c 74 41 48 45 50 31 58 6b 2b 77 4d 41 IFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA
19f460 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBA
19f480 59 54 41 6b 4e 49 4d 52 55 77 0a 45 77 59 44 56 51 51 4b 45 77 78 54 64 32 6c 7a 63 31 4e 70 5a YTAkNIMRUw.EwYDVQQKEwxTd2lzc1NpZ
19f4a0 32 34 67 51 55 63 78 48 7a 41 64 42 67 4e 56 42 41 4d 54 46 6c 4e 33 61 58 4e 7a 55 32 6c 6e 62 24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnb
19f4c0 69 42 48 62 32 78 6b 49 45 4e 42 49 43 30 67 52 7a 49 77 48 68 63 4e 0a 4d 44 59 78 4d 44 49 31 iBHb2xkIENBIC0gRzIwHhcN.MDYxMDI1
19f4e0 4d 44 67 7a 4d 44 4d 31 57 68 63 4e 4d 7a 59 78 4d 44 49 31 4d 44 67 7a 4d 44 4d 31 57 6a 42 46 MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF
19f500 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 53 44 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d MQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
19f520 55 33 64 70 0a 63 33 4e 54 61 57 64 75 49 45 46 48 4d 52 38 77 48 51 59 44 56 51 51 44 45 78 5a U3dp.c3NTaWduIEFHMR8wHQYDVQQDExZ
19f540 54 64 32 6c 7a 63 31 4e 70 5a 32 34 67 52 32 39 73 5a 43 42 44 51 53 41 74 49 45 63 79 4d 49 49 Td2lzc1NpZ24gR29sZCBDQSAtIEcyMII
19f560 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 CIjANBgkqhkiG9w0B.AQEFAAOCAg8AMI
19f580 49 43 43 67 4b 43 41 67 45 41 72 2b 54 75 66 6f 73 6b 44 68 4a 75 71 56 41 74 46 6b 51 37 6b 70 ICCgKCAgEAr+TufoskDhJuqVAtFkQ7kp
19f5a0 4a 63 79 72 68 64 68 4a 4a 43 45 79 71 38 5a 56 65 43 51 44 35 58 4a 4d 31 51 69 79 55 71 0a 74 JcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq.t
19f5c0 32 2f 38 37 36 4c 51 77 42 38 43 4a 45 6f 54 6c 6f 38 6a 45 2b 59 6f 57 41 43 6a 52 38 63 47 70 2/876LQwB8CJEoTlo8jE+YoWACjR8cGp
19f5e0 34 51 6a 4b 37 75 39 6c 69 74 2f 56 63 79 4c 77 56 63 66 44 6d 4a 6c 44 39 30 39 56 6f 70 7a 32 4QjK7u9lit/VcyLwVcfDmJlD909Vopz2
19f600 71 35 2b 62 62 71 42 48 48 35 43 0a 6a 43 41 31 32 55 4e 4e 68 50 71 45 32 31 49 73 38 77 34 6e q5+bbqBHH5C.jCA12UNNhPqE21Is8w4n
19f620 64 77 74 72 76 78 45 76 63 6e 69 66 4c 74 67 2b 35 68 67 33 57 69 70 79 2b 64 70 69 6b 4a 4b 56 dwtrvxEvcnifLtg+5hg3Wipy+dpikJKV
19f640 79 68 2b 63 36 62 4d 38 4b 38 76 7a 41 52 4f 2f 57 73 2f 42 74 51 70 67 0a 76 64 32 31 6d 57 52 yh+c6bM8K8vzARO/Ws/BtQpg.vd21mWR
19f660 54 75 4b 43 57 73 32 2f 69 4a 6e 65 52 6a 4f 42 69 45 41 4b 66 4e 41 2b 6b 31 5a 49 7a 55 64 36 TuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6
19f680 2b 6a 62 71 45 65 6d 41 38 61 74 75 66 4b 2b 7a 65 33 67 45 2f 62 6b 33 6c 55 49 62 4c 74 4b 2f +jbqEemA8atufK+ze3gE/bk3lUIbLtK/
19f6a0 74 52 45 44 46 0a 79 6c 71 4d 32 74 49 72 66 4b 6a 75 76 71 62 6c 43 71 6f 4f 70 64 38 46 55 72 tREDF.ylqM2tIrfKjuvqblCqoOpd8FUr
19f6c0 64 56 78 79 4a 64 4d 6d 71 58 6c 32 4d 54 32 38 6e 62 65 54 5a 37 68 54 70 4b 78 56 4b 4a 2b 53 dVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+S
19f6e0 54 6e 6e 58 65 70 67 76 39 56 48 4b 56 78 61 53 76 52 0a 41 69 54 79 73 79 62 55 61 39 6f 45 56 TnnXepgv9VHKVxaSvR.AiTysybUa9oEV
19f700 65 58 42 43 73 64 74 4d 44 65 51 4b 75 53 65 46 44 4e 65 46 68 64 56 78 56 75 31 79 7a 53 4a 6b eXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJk
19f720 76 47 64 4a 6f 2b 68 42 39 54 47 73 6e 68 51 32 77 77 4d 43 33 77 4c 6a 45 48 58 75 65 6e 64 0a vGdJo+hB9TGsnhQ2wwMC3wLjEHXuend.
19f740 6a 49 6a 33 6f 30 32 79 4d 73 7a 59 46 39 72 4e 74 38 35 6d 6e 64 54 39 58 76 2b 39 6c 7a 34 70 jIj3o02yMszYF9rNt85mndT9Xv+9lz4p
19f760 64 65 64 2b 70 32 4a 59 72 79 55 30 70 55 48 48 50 62 77 4e 55 4d 6f 44 41 77 38 49 57 68 2b 56 ded+p2JYryU0pUHHPbwNUMoDAw8IWh+V
19f780 63 33 68 69 76 36 39 79 46 47 6b 4f 0a 70 65 55 44 44 6e 69 4f 4a 69 68 43 38 41 63 4c 59 69 41 c3hiv69yFGkO.peUDDniOJihC8AcLYiA
19f7a0 51 5a 7a 6c 47 2b 71 6b 44 7a 41 51 34 65 6d 62 76 49 49 4f 31 6a 45 70 57 6a 70 45 41 2f 49 35 QZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5
19f7c0 63 67 74 36 49 6f 4d 50 69 61 47 35 39 6a 65 38 38 33 57 58 30 58 61 78 52 0a 37 79 53 41 72 71 cgt6IoMPiaG59je883WX0XaxR.7ySArq
19f7e0 70 57 6c 32 2f 35 72 58 33 61 59 54 2b 59 64 7a 79 6c 6b 62 59 63 6a 43 62 61 5a 61 49 4a 62 63 pWl2/5rX3aYT+YdzylkbYcjCbaZaIJbc
19f800 48 69 56 4f 4f 35 79 6b 78 4d 67 49 39 33 65 32 43 61 48 74 2b 32 38 6b 67 65 44 72 70 4f 56 47 HiVOO5ykxMgI93e2CaHt+28kgeDrpOVG
19f820 32 59 34 4f 47 69 0a 47 71 4a 33 55 4d 2f 45 59 35 4c 73 52 78 6d 64 36 2b 5a 72 7a 73 45 43 41 2Y4OGi.GqJ3UM/EY5LsRxmd6+ZrzsECA
19f840 77 45 41 41 61 4f 42 72 44 43 42 71 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 wEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCA
19f860 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 64 42 67 4e 56 QYwDwYDVR0TAQH/BAUw.AwEB/zAdBgNV
19f880 48 51 34 45 46 67 51 55 57 79 56 37 6c 71 52 6c 55 58 36 34 4f 66 50 41 65 47 5a 65 36 44 72 6e HQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn
19f8a0 38 4f 34 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 57 79 56 37 6c 71 52 6c 55 58 36 34 8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
19f8c0 0a 4f 66 50 41 65 47 5a 65 36 44 72 6e 38 4f 34 77 52 67 59 44 56 52 30 67 42 44 38 77 50 54 41 .OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA
19f8e0 37 42 67 6c 67 68 58 51 42 57 51 45 43 41 51 45 77 4c 6a 41 73 42 67 67 72 42 67 45 46 42 51 63 7BglghXQBWQECAQEwLjAsBggrBgEFBQc
19f900 43 41 52 59 67 61 48 52 30 63 44 6f 76 0a 4c 33 4a 6c 63 47 39 7a 61 58 52 76 63 6e 6b 75 63 33 CARYgaHR0cDov.L3JlcG9zaXRvcnkuc3
19f920 64 70 63 33 4e 7a 61 57 64 75 4c 6d 4e 76 62 53 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQ
19f940 45 46 42 51 41 44 67 67 49 42 41 43 65 36 34 35 52 38 38 61 37 41 33 68 66 6d 0a 35 64 6a 56 39 EFBQADggIBACe645R88a7A3hfm.5djV9
19f960 56 53 77 67 2f 53 37 7a 56 34 46 65 30 2b 66 64 57 61 76 50 4f 68 57 66 76 78 79 65 44 67 44 32 VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2
19f980 53 74 69 47 77 43 35 2b 4f 6c 67 7a 63 7a 4f 55 59 72 48 55 44 46 75 34 55 70 2b 47 43 39 70 57 StiGwC5+OlgzczOUYrHUDFu4Up+GC9pW
19f9a0 62 59 39 5a 49 45 72 0a 34 34 4f 45 35 69 4b 48 6a 6e 33 67 37 67 4b 5a 59 62 67 65 39 4c 67 72 bY9ZIEr.44OE5iKHjn3g7gKZYbge9Lgr
19f9c0 69 42 49 57 68 4d 49 78 6b 7a 69 57 4d 61 61 35 4f 31 4d 2f 77 79 53 54 56 6c 74 70 6b 75 7a 46 iBIWhMIxkziWMaa5O1M/wySTVltpkuzF
19f9e0 77 62 73 34 41 4f 50 73 46 36 6d 34 33 4d 64 38 41 59 4f 66 0a 4d 6b 65 36 55 69 49 30 48 54 4a wbs4AOPsF6m43Md8AYOf.Mke6UiI0HTJ
19fa00 36 43 56 61 6e 66 43 55 32 71 54 31 4c 32 73 43 43 62 77 71 37 45 73 69 48 53 79 63 52 2b 52 34 6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4
19fa20 74 78 35 4d 2f 6e 74 74 66 4a 6d 74 53 32 53 36 4b 38 52 54 47 52 49 30 56 71 62 65 2f 76 64 36 tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6
19fa40 6d 0a 47 75 36 75 4c 66 74 49 64 78 66 2b 75 2b 79 76 47 50 55 71 55 66 41 35 68 4a 65 56 62 47 m.Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG
19fa60 34 62 77 79 76 45 64 47 42 35 4a 62 41 4b 4a 39 2f 66 58 74 49 35 7a 30 56 39 51 6b 76 66 73 79 4bwyvEdGB5JbAKJ9/fXtI5z0V9Qkvfsy
19fa80 77 65 78 63 5a 64 79 6c 55 36 6f 4a 78 70 0a 6d 6f 2f 61 37 37 4b 77 50 4a 2b 48 62 42 49 72 5a wexcZdylU6oJxp.mo/a77KwPJ+HbBIrZ
19faa0 58 41 56 55 6a 45 61 4a 4d 39 76 4d 53 4e 51 48 34 78 50 6a 79 50 44 64 45 46 6a 48 46 57 6f 46 XAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoF
19fac0 4e 30 2b 34 46 46 51 7a 2f 45 62 4d 46 59 4f 6b 72 43 43 68 64 69 44 79 79 4a 6b 0a 76 43 32 34 N0+4FFQz/EbMFYOkrCChdiDyyJk.vC24
19fae0 4a 64 56 55 6f 72 67 47 36 71 32 53 70 43 53 67 77 59 61 31 53 68 4e 71 52 38 38 75 43 31 61 56 JdVUorgG6q2SpCSgwYa1ShNqR88uC1aV
19fb00 56 4d 76 4f 6d 74 74 71 74 4b 61 79 32 30 45 49 68 69 64 33 39 32 71 67 51 6d 77 4c 4f 4d 37 58 VMvOmttqtKay20EIhid392qgQmwLOM7X
19fb20 64 56 41 79 6b 73 4c 66 0a 4b 7a 41 69 53 4e 44 56 51 54 67 6c 58 61 54 70 58 5a 2f 47 6c 48 58 dVAyksLf.KzAiSNDVQTglXaTpXZ/GlHX
19fb40 51 52 66 30 77 6c 30 4f 50 6b 4b 73 4b 78 34 5a 7a 59 45 70 70 4c 64 36 6c 65 4e 63 47 32 6d 71 QRf0wl0OPkKsKx4ZzYEppLd6leNcG2mq
19fb60 65 53 7a 35 33 4f 69 41 54 49 67 48 51 76 32 69 65 59 32 42 72 0a 4e 55 30 4c 62 62 71 68 50 63 eSz53OiATIgHQv2ieY2Br.NU0LbbqhPc
19fb80 43 54 34 48 38 6a 73 31 57 74 63 69 56 4f 52 76 6e 53 46 75 2b 77 5a 4d 45 42 6e 75 6e 4b 6f 47 CT4H8js1WtciVORvnSFu+wZMEBnunKoG
19fba0 71 59 44 73 2f 59 59 50 49 76 53 62 6a 6b 51 75 45 34 4e 52 62 30 79 47 35 50 39 34 46 57 36 4c qYDs/YYPIvSbjkQuE4NRb0yG5P94FW6L
19fbc0 71 6a 0a 76 69 4f 76 72 76 31 76 41 2b 41 43 4f 7a 42 32 2b 68 74 74 51 63 38 42 73 65 6d 34 79 qj.viOvrv1vA+ACOzB2+httQc8Bsem4y
19fbe0 57 62 30 32 79 62 7a 4f 71 52 30 38 6b 6b 6b 57 38 6d 77 30 46 66 42 2b 6a 35 36 34 5a 66 4a 0a Wb02ybzOqR08kkkW8mw0FfB+j564ZfJ.
19fc00 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 -----END.CERTIFICATE-----..Swiss
19fc20 53 69 67 6e 20 53 69 6c 76 65 72 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Sign.Silver.CA.-.G2.============
19fc40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
19fc60 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 76 54 43 43 41 36 57 67 41 77 49 42 41 67 49 49 54 78 76 ATE-----.MIIFvTCCA6WgAwIBAgIITxv
19fc80 55 4c 31 53 37 4c 30 73 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 UL1S7L0swDQYJKoZIhvcNAQEFBQAwRzE
19fca0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 67 78 46 54 41 54 0a 42 67 4e 56 42 41 6f 54 44 46 LMAkGA1UEBhMCQ0gxFTAT.BgNVBAoTDF
19fcc0 4e 33 61 58 4e 7a 55 32 6c 6e 62 69 42 42 52 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 55 33 N3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3
19fce0 64 70 63 33 4e 54 61 57 64 75 49 46 4e 70 62 48 5a 6c 63 69 42 44 51 53 41 74 49 45 63 79 4d 42 dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB
19fd00 34 58 0a 44 54 41 32 4d 54 41 79 4e 54 41 34 4d 7a 49 30 4e 6c 6f 58 44 54 4d 32 4d 54 41 79 4e 4X.DTA2MTAyNTA4MzI0NloXDTM2MTAyN
19fd20 54 41 34 4d 7a 49 30 4e 6c 6f 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 67 78 46 TA4MzI0NlowRzELMAkGA1UEBhMCQ0gxF
19fd40 54 41 54 42 67 4e 56 42 41 6f 54 44 46 4e 33 0a 61 58 4e 7a 55 32 6c 6e 62 69 42 42 52 7a 45 68 TATBgNVBAoTDFN3.aXNzU2lnbiBBRzEh
19fd60 4d 42 38 47 41 31 55 45 41 78 4d 59 55 33 64 70 63 33 4e 54 61 57 64 75 49 46 4e 70 62 48 5a 6c MB8GA1UEAxMYU3dpc3NTaWduIFNpbHZl
19fd80 63 69 42 44 51 53 41 74 49 45 63 79 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 ciBDQSAtIEcyMIICIjANBgkqhkiG.9w0
19fda0 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 78 50 47 48 66 39 4e BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N
19fdc0 34 4d 66 63 34 79 66 6a 44 6d 55 4f 38 78 2f 65 38 4e 2b 64 4f 63 62 70 4c 6a 36 56 7a 48 56 78 4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVx
19fde0 75 6d 4b 34 44 56 36 34 34 0a 4e 30 4d 76 46 7a 30 66 79 4d 35 6f 45 4d 46 34 72 68 6b 44 4b 78 umK4DV644.N0MvFz0fyM5oEMF4rhkDKx
19fe00 44 36 4c 48 6d 44 39 75 69 35 61 4c 6c 56 38 67 52 45 70 7a 6e 35 2f 41 53 4c 48 76 47 69 54 53 D6LHmD9ui5aLlV8gREpzn5/ASLHvGiTS
19fe20 66 35 59 58 75 36 74 2b 57 69 45 37 62 72 59 54 37 51 62 4e 48 6d 0a 2b 2f 70 65 37 52 32 30 6e f5YXu6t+WiE7brYT7QbNHm.+/pe7R20n
19fe40 71 41 31 57 36 47 53 79 2f 42 4a 6b 76 36 46 43 67 55 2b 35 74 6b 4c 34 6b 2b 37 33 4a 55 33 2f qA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/
19fe60 4a 48 70 4d 6a 55 69 30 52 38 36 54 69 65 46 6e 62 41 56 6c 44 4c 61 59 51 31 48 54 57 42 43 72 JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCr
19fe80 70 4a 48 0a 36 49 4e 61 55 46 6a 70 69 6f 75 35 58 61 48 63 33 5a 6c 4b 48 7a 5a 6e 75 30 6a 6b pJH.6INaUFjpiou5XaHc3ZlKHzZnu0jk
19fea0 67 37 59 33 36 30 67 36 72 77 39 6e 6a 78 63 48 36 41 54 4b 37 32 6f 78 68 39 54 41 74 76 6d 55 g7Y360g6rw9njxcH6ATK72oxh9TAtvmU
19fec0 63 58 74 6e 5a 4c 69 32 6b 55 70 43 65 32 55 75 0a 4d 47 6f 4d 39 5a 44 75 6c 65 62 79 7a 59 4c cXtnZLi2kUpCe2Uu.MGoM9ZDulebyzYL
19fee0 73 32 61 46 4b 37 50 61 79 53 2b 56 46 68 65 5a 74 65 4a 4d 45 4c 70 79 43 62 54 61 70 78 44 46 s2aFK7PayS+VFheZteJMELpyCbTapxDF
19ff00 6b 48 34 61 44 43 79 72 30 4e 51 70 34 79 56 58 50 51 62 42 48 36 54 43 66 6d 62 35 68 0a 71 41 kH4aDCyr0NQp4yVXPQbBH6TCfmb5h.qA
19ff20 61 45 75 53 68 36 58 7a 6a 5a 47 36 6b 34 73 49 4e 2f 63 38 48 44 4f 30 67 71 67 67 38 68 6d 37 aEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7
19ff40 6a 4d 71 44 58 44 68 42 75 44 73 7a 36 2b 70 4a 56 70 41 54 71 4a 41 48 67 45 32 63 6e 30 6d 52 jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mR
19ff60 6d 72 56 6e 35 62 69 34 59 35 0a 46 5a 47 6b 45 43 77 4a 4d 6f 42 67 73 35 50 41 4b 72 59 59 43 mrVn5bi4Y5.FZGkECwJMoBgs5PAKrYYC
19ff80 35 31 2b 6a 55 6e 79 45 45 70 2f 2b 64 56 47 4c 78 6d 53 6f 35 6d 6e 4a 71 79 37 6a 44 7a 6d 44 51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmD
19ffa0 72 78 48 42 39 78 7a 55 66 46 77 5a 43 38 49 2b 62 52 48 48 54 42 73 0a 52 4f 6f 70 4e 34 57 53 rxHB9xzUfFwZC8I+bRHHTBs.ROopN4WS
19ffc0 61 47 61 38 67 7a 6a 2b 65 7a 6b 75 30 31 44 77 48 2f 74 65 59 4c 61 70 70 76 6f 6e 51 66 47 62 aGa8gzj+ezku01DwH/teYLappvonQfGb
19ffe0 47 48 4c 79 39 59 52 30 53 73 6c 6e 78 46 53 75 53 47 54 66 6a 4e 46 75 73 42 33 68 42 34 38 49 GHLy9YR0SslnxFSuSGTfjNFusB3hB48I
1a0000 48 70 6d 63 0a 63 65 6c 4d 32 4b 58 33 52 78 49 66 64 4e 46 52 6e 6f 62 7a 77 71 49 6a 51 41 74 Hpmc.celM2KX3RxIfdNFRnobzwqIjQAt
1a0020 7a 32 30 75 6d 35 33 4d 47 6a 4d 47 67 36 63 46 5a 72 45 62 36 35 69 2f 34 7a 33 47 63 52 6d 32 z20um53MGjMGg6cFZrEb65i/4z3GcRm2
1a0040 35 78 42 57 4e 4f 48 6b 44 52 55 6a 76 78 46 33 58 0a 43 4f 36 48 4f 53 4b 47 73 67 30 50 57 45 5xBWNOHkDRUjvxF3X.CO6HOSKGsg0PWE
1a0060 50 33 63 61 6c 49 4c 76 33 71 31 68 38 43 41 77 45 41 41 61 4f 42 72 44 43 42 71 54 41 4f 42 67 P3calILv3q1h8CAwEAAaOBrDCBqTAOBg
1a0080 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 NVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/.B
1a00a0 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 46 36 44 4e 77 65 52 42 74 AUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBt
1a00c0 6a 70 62 4f 38 74 46 6e 62 30 63 77 70 6a 36 68 6c 67 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 jpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwF
1a00e0 6f 41 55 46 36 44 4e 77 65 52 42 0a 74 6a 70 62 4f 38 74 46 6e 62 30 63 77 70 6a 36 68 6c 67 77 oAUF6DNweRB.tjpbO8tFnb0cwpj6hlgw
1a0100 52 67 59 44 56 52 30 67 42 44 38 77 50 54 41 37 42 67 6c 67 68 58 51 42 57 51 45 44 41 51 45 77 RgYDVR0gBD8wPTA7BglghXQBWQEDAQEw
1a0120 4c 6a 41 73 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 67 61 48 52 30 0a 63 44 6f 76 4c 33 4a LjAsBggrBgEFBQcCARYgaHR0.cDovL3J
1a0140 6c 63 47 39 7a 61 58 52 76 63 6e 6b 75 63 33 64 70 63 33 4e 7a 61 57 64 75 4c 6d 4e 76 62 53 38 lcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8
1a0160 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 48 50 47 67 65 41 wDQYJKoZIhvcNAQEFBQADggIBAHPGgeA
1a0180 6e 30 69 30 50 0a 34 4a 55 77 34 70 70 42 66 31 41 73 58 31 39 69 59 61 6d 47 61 6d 6b 59 44 48 n0i0P.4JUw4ppBf1AsX19iYamGamkYDH
1a01a0 52 4a 31 6c 32 45 36 6b 46 53 47 47 39 59 72 56 42 57 49 47 72 47 76 53 68 70 57 4a 48 63 6b 52 RJ1l2E6kFSGG9YrVBWIGrGvShpWJHckR
1a01c0 45 31 71 54 6f 64 76 42 71 6c 59 4a 37 59 48 33 39 46 0a 6b 57 6e 5a 66 72 74 34 63 73 45 47 44 E1qTodvBqlYJ7YH39F.kWnZfrt4csEGD
1a01e0 79 72 4f 6a 34 56 77 59 61 79 67 7a 51 75 34 4f 53 6c 57 68 44 4a 4f 68 72 73 39 78 43 72 5a 31 yrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1
1a0200 78 39 79 37 76 35 52 6f 53 4a 42 73 58 45 43 59 78 71 43 73 47 4b 72 58 6c 63 53 48 39 2f 4c 0a x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L.
1a0220 33 58 57 67 77 46 31 35 6b 49 77 62 34 46 44 6d 33 6a 48 2b 6d 48 74 77 58 36 57 51 32 4b 33 34 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34
1a0240 41 72 5a 76 30 32 44 64 51 45 73 69 78 54 32 74 4f 6e 71 66 47 68 70 48 6b 58 6b 7a 75 6f 4c 63 ArZv02DdQEsixT2tOnqfGhpHkXkzuoLc
1a0260 4d 6d 6b 44 6c 6d 34 66 53 2f 42 78 0a 2f 75 4e 6e 63 71 43 78 76 31 79 4c 35 50 71 5a 49 73 65 MmkDlm4fS/Bx./uNncqCxv1yL5PqZIse
1a0280 45 75 52 75 4e 49 35 63 2f 37 53 58 67 7a 32 57 37 39 57 45 45 37 39 30 65 73 6c 70 42 49 6c 71 EuRuNI5c/7SXgz2W79WEE790eslpBIlq
1a02a0 68 6e 31 30 73 36 46 76 4a 62 61 6b 4d 44 48 69 71 59 4d 5a 57 6a 77 46 61 0a 44 47 69 38 61 52 hn10s6FvJbakMDHiqYMZWjwFa.DGi8aR
1a02c0 6c 35 78 42 39 2b 6c 77 57 2f 78 65 6b 6b 55 56 37 55 31 55 74 54 37 64 6b 6a 57 6a 59 44 5a 61 l5xB9+lwW/xekkUV7U1UtT7dkjWjYDZa
1a02e0 50 42 41 36 31 42 4d 50 4e 47 47 34 57 51 72 32 57 31 31 62 48 6b 46 6c 74 34 64 52 32 58 65 6d PBA61BMPNGG4WQr2W11bHkFlt4dR2Xem
1a0300 31 5a 71 53 71 50 0a 65 39 37 44 68 34 6b 51 6d 55 6c 7a 65 4d 67 39 76 56 45 31 64 43 72 56 38 1ZqSqP.e97Dh4kQmUlzeMg9vVE1dCrV8
1a0320 58 35 70 47 79 71 37 4f 37 30 6c 75 4a 70 61 50 58 4a 68 6b 47 61 48 37 67 7a 57 54 64 51 52 64 X5pGyq7O70luJpaPXJhkGaH7gzWTdQRd
1a0340 41 74 71 2f 67 73 44 2f 4b 4e 56 56 34 6e 2b 53 73 75 75 0a 57 78 63 46 79 50 4b 4e 49 7a 46 54 Atq/gsD/KNVV4n+Ssuu.WxcFyPKNIzFT
1a0360 4f 4e 49 74 61 6a 2b 43 75 59 30 49 61 76 64 65 51 58 52 75 77 78 46 2b 42 36 77 70 59 4a 45 2f ONItaj+CuY0IavdeQXRuwxF+B6wpYJE/
1a0380 4f 4d 70 58 45 41 32 39 4d 43 2f 48 70 65 5a 42 6f 4e 71 75 42 59 65 61 6f 4b 52 6c 62 45 77 4a OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
1a03a0 0a 44 49 6d 36 75 4e 4f 35 77 4a 4f 4b 4d 50 71 4e 35 5a 70 72 46 51 46 4f 5a 36 72 61 59 6c 59 .DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY
1a03c0 2b 68 41 68 6d 30 73 51 32 66 61 63 2b 45 50 79 49 34 4e 53 41 35 51 43 39 71 76 4e 4f 42 71 4e +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN
1a03e0 36 61 76 6c 69 63 75 4d 4a 54 2b 75 62 0a 44 67 45 6a 38 5a 2b 37 66 4e 7a 63 62 42 47 58 4a 62 6avlicuMJT+ub.DgEj8Z+7fNzcbBGXJb
1a0400 4c 79 74 47 4d 55 30 67 59 71 5a 34 79 44 39 63 37 71 42 39 69 61 61 68 37 73 35 41 71 37 4b 6b LytGMU0gYqZ4yD9c7qB9iaah7s5Aq7Kk
1a0420 7a 72 43 57 41 35 7a 73 70 69 32 43 35 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 zrCWA5zspi2C5u.-----END.CERTIFIC
1a0440 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 ATE-----..GeoTrust.Primary.Certi
1a0460 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d fication.Authority.=============
1a0480 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1a04a0 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 66 44 43 43 -BEGIN.CERTIFICATE-----.MIIDfDCC
1a04c0 41 6d 53 67 41 77 49 42 41 67 49 51 47 4b 79 31 61 76 31 70 74 68 55 36 59 32 79 76 32 76 72 45 AmSgAwIBAgIQGKy1av1pthU6Y2yv2vrE
1a04e0 6f 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 oTANBgkqhkiG9w0BAQUFADBYMQswCQYD
1a0500 56 51 51 47 0a 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a VQQG.EwJVUzEWMBQGA1UEChMNR2VvVHJ
1a0520 31 63 33 51 67 53 57 35 6a 4c 6a 45 78 4d 43 38 47 41 31 55 45 41 78 4d 6f 52 32 56 76 56 48 4a 1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ
1a0540 31 63 33 51 67 55 48 4a 70 62 57 46 79 65 53 42 44 0a 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 1c3QgUHJpbWFyeSBD.ZXJ0aWZpY2F0aW
1a0560 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4e 6a 45 78 4d 6a 63 77 4d 44 9uIEF1dGhvcml0eTAeFw0wNjExMjcwMD
1a0580 41 77 4d 44 42 61 46 77 30 7a 4e 6a 41 33 4d 54 59 79 4d 7a 55 35 4e 54 6c 61 4d 46 67 78 0a 43 AwMDBaFw0zNjA3MTYyMzU5NTlaMFgx.C
1a05a0 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a zAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZ
1a05c0 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 5a W9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZ
1a05e0 57 39 55 63 6e 56 7a 64 43 42 51 0a 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a W9UcnVzdCBQ.cmltYXJ5IENlcnRpZmlj
1a0600 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 YXRpb24gQXV0aG9yaXR5MIIBIjANBgkq
1a0620 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 hkiG9w0BAQEFAAOCAQ8AMIIB.CgKCAQE
1a0640 41 76 72 67 56 65 2f 2f 55 66 48 31 6e 72 59 4e 6b 65 38 68 43 55 79 33 66 39 6f 51 49 49 47 48 AvrgVe//UfH1nrYNke8hCUy3f9oQIIGH
1a0660 57 41 56 6c 71 6e 45 51 52 72 2b 39 32 2f 5a 56 2b 7a 6d 45 77 75 33 71 44 58 77 4b 39 41 57 62 WAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWb
1a0680 4b 37 68 57 4e 0a 62 36 45 77 6e 4c 32 68 68 5a 36 55 4f 76 4e 57 69 41 41 78 7a 39 6a 75 61 70 K7hWN.b6EwnL2hhZ6UOvNWiAAxz9juap
1a06a0 59 43 32 65 30 44 6a 50 74 31 62 65 66 71 75 46 55 57 42 52 61 61 39 4f 42 65 73 59 6a 41 5a 49 YC2e0DjPt1befquFUWBRaa9OBesYjAZI
1a06c0 56 63 46 55 32 49 78 37 65 36 34 48 58 70 72 51 55 39 0a 6e 63 65 4a 53 4f 43 37 4b 4d 67 44 34 VcFU2Ix7e64HXprQU9.nceJSOC7KMgD4
1a06e0 54 43 54 5a 46 35 53 77 46 6c 77 49 6a 56 58 69 49 72 78 6c 51 71 44 31 37 77 78 63 77 45 30 37 TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07
1a0700 65 39 47 63 65 42 72 41 71 67 31 63 6d 75 58 6d 32 62 67 79 78 78 35 58 39 67 61 42 47 67 65 0a e9GceBrAqg1cmuXm2bgyxx5X9gaBGge.
1a0720 52 77 4c 6d 6e 57 44 69 4e 70 63 42 33 38 34 31 6b 74 2b 2b 5a 38 64 74 64 31 6b 37 6a 35 33 57 RwLmnWDiNpcB3841kt++Z8dtd1k7j53W
1a0740 6b 42 57 55 76 45 49 30 45 4d 45 35 2b 62 45 6e 50 6e 37 57 69 6e 58 46 73 71 2b 57 30 36 4c 65 kBWUvEI0EME5+bEnPn7WinXFsq+W06Le
1a0760 6d 2b 53 59 76 6e 33 68 36 59 47 74 0a 74 6d 2f 38 31 77 37 61 34 44 53 77 44 52 70 33 35 2b 4d m+SYvn3h6YGt.tm/81w7a4DSwDRp35+M
1a0780 49 6d 4f 39 59 2b 70 79 45 74 7a 61 76 77 74 2b 73 30 76 51 51 42 6e 42 78 4e 51 49 44 41 51 41 ImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQA
1a07a0 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 Bo0IwQDAPBgNVHRMBAf8EBTAD.AQH/MA
1a07c0 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFg
1a07e0 51 55 4c 4e 56 51 51 5a 63 56 69 2f 43 50 4e 6d 46 62 53 76 74 72 32 5a 6e 4a 4d 35 49 77 44 51 QULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQ
1a0800 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 46 70 77 66 79 7a 64 74 YJKoZI.hvcNAQEFBQADggEBAFpwfyzdt
1a0820 7a 52 50 39 59 5a 52 71 53 61 2b 53 37 69 71 38 58 45 4e 33 47 48 48 6f 4f 6f 30 48 6e 70 33 44 zRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3D
1a0840 77 51 31 36 43 65 50 62 4a 43 2f 6b 52 59 6b 52 6a 35 4b 0a 54 73 34 72 46 74 55 4c 55 68 33 38 wQ16CePbJC/kRYkRj5K.Ts4rFtULUh38
1a0860 48 32 65 69 41 6b 55 78 54 38 37 7a 2b 67 4f 6e 65 5a 31 54 61 74 6e 61 59 7a 72 34 67 4e 66 54 H2eiAkUxT87z+gOneZ1TatnaYzr4gNfT
1a0880 6d 65 47 6c 34 62 37 55 56 58 47 59 4e 54 71 2b 6b 2b 71 75 72 55 4b 79 6b 47 2f 67 2f 43 46 4e meGl4b7UVXGYNTq+k+qurUKykG/g/CFN
1a08a0 0a 4e 57 4d 7a 69 55 6e 57 6d 30 37 4b 78 2b 64 4f 43 51 44 33 32 73 66 76 6d 57 4b 5a 64 37 61 .NWMziUnWm07Kx+dOCQD32sfvmWKZd7a
1a08c0 56 49 6c 36 4b 6f 4b 76 30 75 48 69 59 79 6a 67 5a 6d 63 6c 79 6e 6e 6a 4e 53 36 79 76 47 61 42 VIl6KoKv0uHiYyjgZmclynnjNS6yvGaB
1a08e0 7a 45 69 33 38 77 6b 47 36 67 5a 48 61 0a 46 6c 6f 78 74 2f 6d 30 63 59 41 53 53 4a 6c 79 63 31 zEi38wkG6gZHa.Floxt/m0cYASSJlyc1
1a0900 70 5a 55 38 46 6a 55 6a 50 74 70 38 6e 53 4f 51 4a 77 2b 75 43 78 51 6d 59 70 71 70 74 52 37 54 pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7T
1a0920 42 55 49 68 52 66 32 61 73 64 77 65 53 55 38 50 6a 31 4b 2f 66 71 79 6e 68 47 0a 31 72 69 52 2f BUIhRf2asdweSU8Pj1K/fqynhG.1riR/
1a0940 61 59 4e 4b 78 6f 55 41 54 36 41 38 45 4b 67 6c 51 64 65 62 63 33 4d 53 36 52 46 6a 61 73 53 36 aYNKxoUAT6A8EKglQdebc3MS6RFjasS6
1a0960 4c 50 65 57 75 57 67 66 4f 67 50 49 68 31 61 36 56 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 LPeWuWgfOgPIh1a6Vk=.-----END.CER
1a0980 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f TIFICATE-----..thawte.Primary.Ro
1a09a0 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d ot.CA.======================.---
1a09c0 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 49 44 43 --BEGIN.CERTIFICATE-----.MIIEIDC
1a09e0 43 41 77 69 67 41 77 49 42 41 67 49 51 4e 45 37 56 56 79 44 56 37 65 78 4a 39 43 2f 4f 4e 39 73 CAwigAwIBAgIQNE7VVyDV7exJ9C/ON9s
1a0a00 72 62 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 71 54 45 4c 4d 41 6b rbTANBgkqhkiG9w0BAQUFADCBqTELMAk
1a0a20 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 GA1UE.BhMCVVMxFTATBgNVBAoTDHRoYX
1a0a40 64 30 5a 53 77 67 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 d0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydG
1a0a60 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 lmaWNhdGlvbiBTZXJ2.aWNlcyBEaXZpc
1a0a80 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 59 67 64 2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgd
1a0aa0 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 0a Ghhd3RlLCBJbmMuIC0gRm9yIGF1dGhv.
1a0ac0 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 54 cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
1a0ae0 46 6e 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 77 FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0Ew
1a0b00 48 68 63 4e 4d 44 59 78 4d 54 45 33 0a 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 HhcNMDYxMTE3.MDAwMDAwWhcNMzYwNzE
1a0b20 32 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 71 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVM
1a0b40 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 0a 53 57 35 6a 4c 6a xFTATBgNVBAoTDHRoYXd0ZSwg.SW5jLj
1a0b60 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 EoMCYGA1UECxMfQ2VydGlmaWNhdGlvbi
1a0b80 42 54 5a 58 4a 32 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 BTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1
1a0ba0 55 45 43 78 4d 76 0a 4b 47 4d 70 49 44 49 77 4d 44 59 67 64 47 68 68 64 33 52 6c 4c 43 42 4a 62 UECxMv.KGMpIDIwMDYgdGhhd3RlLCBJb
1a0bc0 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 mMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlI
1a0be0 47 39 75 62 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 54 0a 46 6e 52 6f 59 58 64 30 5a 53 42 51 G9ubHkxHzAdBgNVBAMT.FnRoYXd0ZSBQ
1a0c00 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 cmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
1a0c20 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 73 SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
1a0c40 0a 6f 50 44 37 67 46 6e 55 6e 4d 65 6b 7a 35 32 68 57 58 4d 4a 45 45 55 4d 44 53 78 75 61 50 46 .oPD7gFnUnMekz52hWXMJEEUMDSxuaPF
1a0c60 73 57 30 68 6f 53 56 6b 33 2f 41 73 7a 47 63 4a 33 66 38 77 51 4c 5a 55 30 48 4f 62 72 54 51 6d sW0hoSVk3/AszGcJ3f8wQLZU0HObrTQm
1a0c80 6e 48 4e 4b 34 79 5a 63 32 41 72 65 4a 0a 31 43 52 66 42 73 44 4d 52 4a 53 55 6a 51 4a 69 62 2b nHNK4yZc2AreJ.1CRfBsDMRJSUjQJib+
1a0ca0 74 61 33 52 47 4e 4b 4a 70 63 68 4a 41 51 65 67 32 39 64 47 59 76 61 6a 69 67 34 74 56 55 52 4f ta3RGNKJpchJAQeg29dGYvajig4tVURO
1a0cc0 73 64 42 35 38 48 75 6d 2f 75 36 66 31 4f 43 79 6e 31 50 6f 53 67 41 66 47 63 0a 71 2f 67 63 66 sdB58Hum/u6f1OCyn1PoSgAfGc.q/gcf
1a0ce0 6f 6d 6b 36 4b 48 59 63 57 55 4e 6f 31 46 37 37 72 7a 53 49 6d 41 4e 75 56 75 64 33 37 72 38 55 omk6KHYcWUNo1F77rzSImANuVud37r8U
1a0d00 56 73 4c 72 35 69 79 36 53 37 70 42 4f 68 69 68 39 34 72 79 4e 64 4f 77 55 78 6b 48 74 33 50 68 VsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph
1a0d20 31 69 36 53 6b 2f 4b 0a 61 41 63 64 48 4a 31 4b 78 74 55 76 6b 63 78 38 63 58 49 63 78 63 42 6e 1i6Sk/K.aAcdHJ1KxtUvkcx8cXIcxcBn
1a0d40 36 7a 4c 39 79 5a 4a 63 6c 4e 71 46 77 4a 75 2f 55 33 30 72 43 66 53 4d 6e 5a 45 66 6c 32 70 53 6zL9yZJclNqFwJu/U30rCfSMnZEfl2pS
1a0d60 79 39 34 4a 4e 71 52 33 32 48 75 48 55 45 54 56 50 6d 34 70 0a 61 66 73 35 53 53 59 65 43 61 57 y94JNqR32HuHUETVPm4p.afs5SSYeCaW
1a0d80 41 65 30 41 74 36 2b 67 6e 68 63 6e 2b 59 66 31 2b 35 6e 79 58 48 64 57 64 41 67 4d 42 41 41 47 Ae0At6+gnhcn+Yf1+5nyXHdWdAgMBAAG
1a0da0 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgY
1a0dc0 44 0a 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 D.VR0PAQH/BAQDAgEGMB0GA1UdDgQWBB
1a0de0 52 37 57 30 58 50 72 38 37 4c 65 76 30 78 6b 68 70 71 74 76 4e 47 36 31 64 49 55 44 41 4e 42 67 R7W0XPr87Lev0xkhpqtvNG61dIUDANBg
1a0e00 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 0a 41 41 4f 43 41 51 45 41 65 52 48 41 53 37 4f 52 74 kqhkiG9w0BAQUF.AAOCAQEAeRHAS7ORt
1a0e20 76 7a 77 36 57 66 55 44 57 35 46 76 6c 58 6f 6b 39 4c 4f 41 7a 2f 74 32 69 57 77 48 56 66 4c 48 vzw6WfUDW5FvlXok9LOAz/t2iWwHVfLH
1a0e40 6a 70 32 6f 45 7a 73 55 48 62 6f 5a 48 49 4d 70 4b 6e 78 75 49 76 57 31 6f 65 45 0a 75 7a 4c 6c jp2oEzsUHboZHIMpKnxuIvW1oeE.uzLl
1a0e60 51 52 48 41 64 39 6d 7a 59 4a 33 72 47 39 58 52 62 6b 52 45 71 61 59 42 37 46 56 69 48 58 65 34 QRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4
1a0e80 58 49 35 49 53 58 79 63 4f 31 63 52 72 4b 31 7a 4e 34 34 76 65 46 79 51 61 45 66 5a 59 47 44 6d XI5ISXycO1cRrK1zN44veFyQaEfZYGDm
1a0ea0 2f 41 63 39 49 69 41 58 0a 78 50 63 57 36 63 54 59 63 76 6e 49 63 33 7a 66 46 69 38 56 71 54 37 /Ac9IiAX.xPcW6cTYcvnIc3zfFi8VqT7
1a0ec0 39 61 69 65 32 6f 65 74 61 75 70 67 66 31 65 4e 4e 5a 41 71 64 45 38 68 68 75 76 55 35 48 49 65 9aie2oetaupgf1eNNZAqdE8hhuvU5HIe
1a0ee0 36 75 4c 31 37 49 6e 2f 32 2f 71 78 41 65 65 57 73 45 47 38 39 0a 6a 78 74 35 64 6f 76 45 4e 37 6uL17In/2/qxAeeWsEG89.jxt5dovEN7
1a0f00 4d 68 47 49 54 6c 4e 67 44 72 59 79 43 5a 75 65 6e 2b 4d 77 53 37 51 63 6a 42 41 76 6c 45 59 79 MhGITlNgDrYyCZuen+MwS7QcjBAvlEYy
1a0f20 43 65 67 63 35 43 30 39 59 2f 4c 48 62 54 59 35 78 5a 33 59 2b 6d 34 51 36 67 4c 6b 48 33 4c 70 Cegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3Lp
1a0f40 56 48 0a 7a 37 7a 39 4d 2f 50 32 43 32 46 2b 66 70 45 72 67 55 66 43 4a 7a 44 75 70 78 42 64 4e VH.z7z9M/P2C2F+fpErgUfCJzDupxBdN
1a0f60 34 39 63 4f 53 76 6b 42 50 42 37 6a 56 61 4d 61 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 49cOSvkBPB7jVaMaA==.-----END.CER
1a0f80 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 43 6c 61 73 73 20 33 20 TIFICATE-----..VeriSign.Class.3.
1a0fa0 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 Public.Primary.Certification.Aut
1a0fc0 68 6f 72 69 74 79 20 2d 20 47 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d hority.-.G5.====================
1a0fe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a1000 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1a1020 2d 2d 2d 2d 0a 4d 49 49 45 30 7a 43 43 41 37 75 67 41 77 49 42 41 67 49 51 47 4e 72 52 6e 69 5a ----.MIIE0zCCA7ugAwIBAgIQGNrRniZ
1a1040 39 36 4c 74 4b 49 56 6a 4e 7a 47 73 37 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 96LtKIVjNzGs7SjANBgkqhkiG9w0BAQU
1a1060 46 41 44 43 42 79 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 FADCByjELMAkGA1UE.BhMCVVMxFzAVBg
1a1080 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 NVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQ
1a10a0 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 0a 5a YDVQQLExZWZXJpU2lnbiBUcnVzdCBO.Z
1a10c0 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e XR3b3JrMTowOAYDVQQLEzEoYykgMjAwN
1a10e0 69 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 iBWZXJpU2lnbiwgSW5jLiAtIEZvciBhd
1a1100 58 52 6f 62 33 4a 70 65 6d 56 6b 0a 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 XRob3JpemVk.IHVzZSBvbmx5MUUwQwYD
1a1120 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 VQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1
1a1140 59 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 YmxpYyBQcmltYXJ5IENlcnRp.ZmljYXR
1a1160 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 48 68 63 4e 4d 44 59 pb24gQXV0aG9yaXR5IC0gRzUwHhcNMDY
1a1180 78 4d 54 41 34 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 32 4d 6a 4d 31 4f 54 55 xMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU
1a11a0 35 57 6a 43 42 0a 79 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 5WjCB.yjELMAkGA1UEBhMCVVMxFzAVBg
1a11c0 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 NVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQ
1a11e0 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 0a 62 69 42 55 63 6e 56 7a 64 43 42 4f 5a YDVQQLExZWZXJpU2ln.biBUcnVzdCBOZ
1a1200 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e XR3b3JrMTowOAYDVQQLEzEoYykgMjAwN
1a1220 69 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 0a iBWZXJpU2lnbiwgSW5jLiAtIEZvciBh.
1a1240 64 58 52 6f 62 33 4a 70 65 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 dXRob3JpemVkIHVzZSBvbmx5MUUwQwYD
1a1260 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 VQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1
1a1280 59 6d 78 70 59 79 42 51 63 6d 6c 74 0a 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 YmxpYyBQcmlt.YXJ5IENlcnRpZmljYXR
1a12a0 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 67 67 45 69 4d 41 30 pb24gQXV0aG9yaXR5IC0gRzUwggEiMA0
1a12c0 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 0a 67 67 45 4b 41 6f GCSqGSIb3DQEBAQUAA4IBDwAw.ggEKAo
1a12e0 49 42 41 51 43 76 4a 41 67 49 4b 58 6f 31 6e 6d 41 4d 71 75 64 4c 4f 30 37 63 66 4c 77 38 52 52 IBAQCvJAgIKXo1nmAMqudLO07cfLw8RR
1a1300 79 37 4b 2b 44 2b 4b 51 4c 35 56 77 69 6a 5a 49 55 56 4a 2f 58 78 72 63 67 78 69 56 30 69 36 43 y7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6C
1a1320 71 71 70 6b 4b 7a 0a 6a 2f 69 35 56 62 65 78 74 30 75 7a 2f 6f 39 2b 42 31 66 73 37 30 50 62 5a qqpkKz.j/i5Vbext0uz/o9+B1fs70PbZ
1a1340 6d 49 56 59 63 39 67 44 61 54 59 33 76 6a 67 77 32 49 49 50 56 51 54 36 30 6e 4b 57 56 53 46 4a mIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJ
1a1360 75 55 72 6a 78 75 66 36 2f 57 68 6b 63 49 7a 53 64 68 44 0a 59 32 70 53 53 39 4b 50 36 48 42 52 uUrjxuf6/WhkcIzSdhD.Y2pSS9KP6HBR
1a1380 54 64 47 4a 61 58 76 48 63 50 61 7a 33 42 4a 30 32 33 74 64 53 31 62 54 6c 72 38 56 64 36 47 77 TdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw
1a13a0 39 4b 49 6c 38 71 38 63 6b 6d 63 59 35 66 51 47 42 4f 2b 51 75 65 51 41 35 4e 30 36 74 52 6e 2f 9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
1a13c0 0a 41 72 72 30 50 4f 37 67 69 2b 73 33 69 2b 7a 30 31 36 7a 79 39 76 41 39 72 39 31 31 6b 54 4d .Arr0PO7gi+s3i+z016zy9vA9r911kTM
1a13e0 5a 48 52 78 41 79 33 51 6b 47 53 47 54 32 52 54 2b 72 43 70 53 78 34 2f 56 42 45 6e 6b 6a 57 4e ZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWN
1a1400 48 69 44 78 70 67 38 76 2b 52 37 30 72 0a 66 6b 2f 46 6c 61 34 4f 6e 64 54 52 51 38 42 6e 63 2b HiDxpg8v+R70r.fk/Fla4OndTRQ8Bnc+
1a1420 4d 55 43 48 37 6c 50 35 39 7a 75 44 4d 4b 7a 31 30 2f 4e 49 65 57 69 75 35 54 36 43 55 56 41 67 MUCH7lP59zuDMKz10/NIeWiu5T6CUVAg
1a1440 4d 42 41 41 47 6a 67 62 49 77 67 61 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 77 41 MBAAGjgbIwga8wDwYDVR0TAQH/.BAUwA
1a1460 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b wEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIK
1a1480 77 59 42 42 51 55 48 41 51 77 45 59 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 wYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJa
1a14a0 57 31 68 5a 32 55 76 0a 5a 32 6c 6d 4d 43 45 77 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 W1hZ2Uv.Z2lmMCEwHzAHBgUrDgMCGgQU
1a14c0 6a 2b 58 54 47 6f 61 73 6a 59 35 72 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a j+XTGoasjY5rw8+AatRIGCx7GS4wJRYj
1a14e0 61 48 52 30 63 44 6f 76 4c 32 78 76 5a 32 38 75 64 6d 56 79 0a 61 58 4e 70 5a 32 34 75 59 32 39 aHR0cDovL2xvZ28udmVy.aXNpZ24uY29
1a1500 74 4c 33 5a 7a 62 47 39 6e 62 79 35 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 48 2f tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/
1a1520 54 5a 61 66 43 33 65 79 37 38 44 41 4a 38 30 4d 35 2b 67 4b 76 4d 7a 45 7a 4d 41 30 47 43 53 71 TZafC3ey78DAJ80M5+gKvMzEzMA0GCSq
1a1540 47 0a 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 43 54 4a 45 6f 77 58 32 4c 50 32 42 G.SIb3DQEBBQUAA4IBAQCTJEowX2LP2B
1a1560 71 59 4c 7a 33 71 33 4a 6b 74 76 58 66 32 70 58 6b 69 4f 4f 7a 45 70 36 42 34 45 71 31 69 44 6b qYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDk
1a1580 56 77 5a 4d 58 6e 6c 32 59 74 6d 41 6c 2b 0a 58 36 2f 57 7a 43 68 6c 38 67 47 71 43 42 70 48 33 VwZMXnl2YtmAl+.X6/WzChl8gGqCBpH3
1a15a0 76 6e 35 66 4a 4a 61 43 47 6b 67 44 64 6b 2b 62 57 34 38 44 57 37 59 35 67 61 52 51 42 69 35 2b vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+
1a15c0 4d 48 74 33 39 74 42 71 75 43 57 49 4d 6e 4e 5a 42 55 34 67 63 6d 55 37 71 4b 45 0a 4b 51 73 54 MHt39tBquCWIMnNZBU4gcmU7qKE.KQsT
1a15e0 62 34 37 62 44 4e 30 6c 41 74 75 6b 69 78 6c 45 30 6b 46 36 42 57 6c 4b 57 45 39 67 79 6e 36 43 b47bDN0lAtukixlE0kF6BWlKWE9gyn6C
1a1600 61 67 73 43 71 69 55 58 4f 62 58 62 66 2b 65 45 5a 53 71 56 69 72 32 47 33 6c 36 42 46 6f 4d 74 agsCqiUXObXbf+eEZSqVir2G3l6BFoMt
1a1620 45 4d 7a 65 2f 61 69 43 0a 4b 6d 30 6f 48 77 30 4c 78 4f 58 6e 47 69 59 5a 34 66 51 52 62 78 43 EMze/aiC.Km0oHw0LxOXnGiYZ4fQRbxC
1a1640 31 6c 66 7a 6e 51 67 55 79 32 38 36 64 55 56 34 6f 74 70 36 46 30 31 76 76 70 58 31 46 51 48 4b 1lfznQgUy286dUV4otp6F01vvpX1FQHK
1a1660 4f 74 77 35 72 44 67 62 37 4d 7a 56 49 63 62 69 64 4a 34 76 45 0a 5a 56 38 4e 68 6e 61 63 52 48 Otw5rDgb7MzVIcbidJ4vE.ZV8NhnacRH
1a1680 72 32 6c 56 7a 32 58 54 49 49 4d 36 52 55 74 68 67 2f 61 46 7a 79 51 6b 71 46 4f 46 53 44 58 39 r2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9
1a16a0 48 6f 4c 50 4b 73 45 64 61 6f 37 57 4e 71 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 HoLPKsEdao7WNq.-----END.CERTIFIC
1a16c0 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 65 54 72 75 73 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d ATE-----..SecureTrust.CA.=======
1a16e0 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1a1700 2d 2d 2d 0a 4d 49 49 44 75 44 43 43 41 71 43 67 41 77 49 42 41 67 49 51 44 50 43 4f 58 41 67 57 ---.MIIDuDCCAqCgAwIBAgIQDPCOXAgW
1a1720 70 61 31 43 66 2f 44 72 4a 78 68 5a 30 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 pa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUF
1a1740 41 44 42 49 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 42 34 47 41 31 55 ADBIMQswCQYDVQQG.EwJVUzEgMB4GA1U
1a1760 45 43 68 4d 58 55 32 56 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 EChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXR
1a1780 70 62 32 34 78 46 7a 41 56 42 67 4e 56 42 41 4d 54 44 6c 4e 6c 59 33 56 79 5a 56 52 79 0a 64 58 pb24xFzAVBgNVBAMTDlNlY3VyZVRy.dX
1a17a0 4e 30 49 45 4e 42 4d 42 34 58 44 54 41 32 4d 54 45 77 4e 7a 45 35 4d 7a 45 78 4f 46 6f 58 44 54 N0IENBMB4XDTA2MTEwNzE5MzExOFoXDT
1a17c0 49 35 4d 54 49 7a 4d 54 45 35 4e 44 41 31 4e 56 6f 77 53 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 I5MTIzMTE5NDA1NVowSDELMAkGA1UEBh
1a17e0 4d 43 56 56 4d 78 49 44 41 65 0a 42 67 4e 56 42 41 6f 54 46 31 4e 6c 59 33 56 79 5a 56 52 79 64 MCVVMxIDAe.BgNVBAoTF1NlY3VyZVRyd
1a1800 58 4e 30 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 39 75 4d 52 63 77 46 51 59 44 56 51 51 44 45 XN0IENvcnBvcmF0aW9uMRcwFQYDVQQDE
1a1820 77 35 54 5a 57 4e 31 63 6d 56 55 63 6e 56 7a 64 43 42 44 51 54 43 43 0a 41 53 49 77 44 51 59 4a w5TZWN1cmVUcnVzdCBDQTCC.ASIwDQYJ
1a1840 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 KoZIhvcNAQEBBQADggEPADCCAQoCggEB
1a1860 41 4b 75 6b 67 65 57 56 7a 66 58 32 46 49 37 43 54 38 72 55 34 6e 69 56 57 4a 78 42 34 51 32 5a AKukgeWVzfX2FI7CT8rU4niVWJxB4Q2Z
1a1880 51 43 51 58 0a 4f 5a 45 7a 5a 75 6d 2b 34 59 4f 76 59 6c 79 4a 30 66 77 6b 57 32 47 7a 34 42 45 QCQX.OZEzZum+4YOvYlyJ0fwkW2Gz4BE
1a18a0 52 51 52 77 64 62 76 43 34 75 2f 6a 65 70 34 47 36 70 6b 6a 47 6e 78 32 39 76 6f 36 70 51 54 36 RQRwdbvC4u/jep4G6pkjGnx29vo6pQT6
1a18c0 34 6c 4f 30 70 47 74 53 4f 30 67 4d 64 41 2b 39 74 0a 44 57 63 63 56 39 63 47 72 63 72 49 39 66 4lO0pGtSO0gMdA+9t.DWccV9cGrcrI9f
1a18e0 34 4f 72 32 59 6c 53 41 53 57 43 31 32 6a 75 68 62 44 43 45 2f 52 52 76 67 55 58 50 4c 49 58 67 4Or2YlSASWC12juhbDCE/RRvgUXPLIXg
1a1900 47 5a 62 66 32 49 7a 49 61 6f 77 57 38 78 51 6d 78 53 50 6d 6a 4c 38 78 6b 30 33 37 75 48 0a 47 GZbf2IzIaowW8xQmxSPmjL8xk037uH.G
1a1920 46 61 41 4a 73 54 51 33 4d 42 76 33 39 36 67 77 70 45 57 6f 47 51 52 53 30 53 38 48 76 62 6e 2b FaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+
1a1940 6d 50 65 5a 71 78 32 70 48 47 6a 37 44 61 55 61 48 70 33 70 4c 48 6e 44 69 2b 42 65 75 4b 31 63 mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1c
1a1960 6f 62 76 6f 6d 75 4c 38 41 2f 62 0a 30 31 6b 2f 75 6e 4b 38 52 43 53 63 34 33 4f 7a 39 36 39 58 obvomuL8A/b.01k/unK8RCSc43Oz969X
1a1980 4c 30 49 6d 6e 61 6c 30 75 67 42 53 38 6b 76 4e 55 33 78 48 43 7a 61 46 44 6d 61 70 43 4a 63 57 L0Imnal0ugBS8kvNU3xHCzaFDmapCJcW
1a19a0 4e 46 66 42 5a 76 65 41 34 2b 31 77 56 4d 65 54 34 43 34 6f 46 56 6d 48 0a 75 72 73 43 41 77 45 NFfBZveA4+1wVMeT4C4oFVmH.ursCAwE
1a19c0 41 41 61 4f 42 6e 54 43 42 6d 6a 41 54 42 67 6b 72 42 67 45 45 41 59 49 33 46 41 49 45 42 68 34 AAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4
1a19e0 45 41 45 4d 41 51 54 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0
1a1a00 54 41 51 48 2f 0a 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 51 6a TAQH/.BAUwAwEB/zAdBgNVHQ4EFgQUQj
1a1a20 4b 32 46 76 6f 45 2f 66 35 64 53 33 72 44 2f 66 64 4d 51 42 31 61 51 36 38 77 4e 41 59 44 56 52 K2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR
1a1a40 30 66 42 43 30 77 4b 7a 41 70 6f 43 65 67 4a 59 59 6a 0a 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 0fBC0wKzApoCegJYYj.aHR0cDovL2Nyb
1a1a60 43 35 7a 5a 57 4e 31 63 6d 56 30 63 6e 56 7a 64 43 35 6a 62 32 30 76 55 31 52 44 51 53 35 6a 63 C5zZWN1cmV0cnVzdC5jb20vU1RDQS5jc
1a1a80 6d 77 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 0a mwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ.
1a1aa0 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 44 74 54 30 72 68 57 44 70 53 KoZIhvcNAQEFBQADggEBADDtT0rhWDpS
1a1ac0 63 6c 75 31 70 71 4e 6c 47 4b 61 37 55 54 74 33 36 5a 33 71 30 35 39 63 34 45 56 6c 65 77 33 4b clu1pqNlGKa7UTt36Z3q059c4EVlew3K
1a1ae0 57 2b 4a 77 55 4c 4b 55 42 52 53 75 0a 53 63 65 4e 51 51 63 53 63 35 52 2b 44 43 4d 68 2f 62 77 W+JwULKUBRSu.SceNQQcSc5R+DCMh/bw
1a1b00 51 66 32 41 51 57 6e 4c 31 6d 41 36 73 37 4c 6c 2f 33 58 70 76 58 64 4d 63 39 50 2b 49 42 57 6c Qf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWl
1a1b20 43 71 51 56 78 79 4c 65 73 4a 75 67 75 74 49 78 71 2f 33 48 63 75 4c 48 66 0a 6d 62 78 38 49 56 CqQVxyLesJugutIxq/3HcuLHf.mbx8IV
1a1b40 51 72 35 46 69 69 75 31 63 70 72 70 36 70 6f 78 6b 6d 44 35 6b 75 43 4c 44 76 2f 57 6e 50 6d 52 Qr5Fiiu1cprp6poxkmD5kuCLDv/WnPmR
1a1b60 6f 4a 6a 65 4f 6e 6e 79 76 4a 4e 6a 52 37 4a 4c 4e 34 54 4a 55 58 70 41 59 6d 48 72 5a 6b 55 6a oJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUj
1a1b80 5a 66 59 47 66 5a 0a 6e 4d 55 46 64 41 76 6e 5a 79 50 53 43 50 79 49 36 61 36 4c 66 2b 45 77 39 ZfYGfZ.nMUFdAvnZyPSCPyI6a6Lf+Ew9
1a1ba0 44 64 2b 2f 63 59 79 32 69 32 65 52 44 41 77 62 4f 34 48 33 74 49 30 2f 4e 4c 2f 51 50 5a 4c 39 Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9
1a1bc0 47 5a 47 42 6c 53 6d 38 6a 49 4b 59 79 59 77 61 35 76 52 0a 33 49 74 48 75 75 47 35 31 57 4c 51 GZGBlSm8jIKYyYwa5vR.3ItHuuG51WLQ
1a1be0 6f 71 44 30 5a 77 56 34 4b 57 4d 61 62 77 54 57 2b 4d 5a 4d 6f 35 71 78 4e 37 53 4e 35 53 68 4c oqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShL
1a1c00 48 5a 34 73 77 72 68 6f 76 4f 30 43 37 6a 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 HZ4swrhovO0C7jE=.-----END.CERTIF
1a1c20 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 65 20 47 6c 6f 62 61 6c 20 43 41 0a 3d 3d 3d ICATE-----..Secure.Global.CA.===
1a1c40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1a1c60 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 76 44 43 43 41 71 53 67 41 77 49 42 41 67 49 51 42 31 CATE-----.MIIDvDCCAqSgAwIBAgIQB1
1a1c80 59 69 70 4f 6a 55 69 6f 6c 4e 39 42 50 49 38 50 6a 71 70 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 YipOjUiolN9BPI8PjqpTANBgkqhkiG9w
1a1ca0 30 42 41 51 55 46 41 44 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 0BAQUFADBKMQswCQYDVQQG.EwJVUzEgM
1a1cc0 42 34 47 41 31 55 45 43 68 4d 58 55 32 56 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 B4GA1UEChMXU2VjdXJlVHJ1c3QgQ29yc
1a1ce0 47 39 79 59 58 52 70 62 32 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 46 4e 6c 59 33 56 79 5a G9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZ
1a1d00 53 42 48 0a 62 47 39 69 59 57 77 67 51 30 45 77 48 68 63 4e 4d 44 59 78 4d 54 41 33 4d 54 6b 30 SBH.bG9iYWwgQ0EwHhcNMDYxMTA3MTk0
1a1d20 4d 6a 49 34 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 54 6b 31 4d 6a 41 32 57 6a 42 4b 4d 51 73 77 MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQsw
1a1d40 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 67 0a 4d 42 34 47 41 31 55 45 43 68 4d 58 55 32 56 CQYDVQQGEwJVUzEg.MB4GA1UEChMXU2V
1a1d60 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 47 54 41 jdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTA
1a1d80 58 42 67 4e 56 42 41 4d 54 45 46 4e 6c 59 33 56 79 5a 53 42 48 62 47 39 69 59 57 77 67 0a 51 30 XBgNVBAMTEFNlY3VyZSBHbG9iYWwg.Q0
1a1da0 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDw
1a1dc0 41 77 67 67 45 4b 41 6f 49 42 41 51 43 76 4e 53 37 59 72 47 78 56 61 51 5a 78 35 52 4e 6f 4a 4c AwggEKAoIBAQCvNS7YrGxVaQZx5RNoJL
1a1de0 4e 50 32 4d 77 68 52 2f 6a 78 0a 59 44 69 4a 69 51 50 70 76 65 70 65 52 6c 4d 4a 33 46 7a 31 57 NP2MwhR/jx.YDiJiQPpvepeRlMJ3Fz1W
1a1e00 75 6a 33 52 53 6f 43 36 7a 46 68 31 79 6b 7a 54 4d 37 48 66 41 6f 33 66 67 2b 36 4d 70 6a 68 48 uj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhH
1a1e20 5a 65 76 6a 38 66 63 79 54 69 57 38 39 73 61 2f 46 48 74 61 4d 62 51 0a 62 71 52 38 4a 4e 47 75 Zevj8fcyTiW89sa/FHtaMbQ.bqR8JNGu
1a1e40 51 73 69 57 55 47 4d 75 34 50 35 31 2f 70 69 6e 58 30 6b 75 6c 65 4d 35 4d 32 53 4f 48 71 52 66 QsiWUGMu4P51/pinX0kuleM5M2SOHqRf
1a1e60 6b 4e 4a 6e 50 4c 4c 5a 2f 6b 47 35 56 61 63 4a 6a 6e 49 46 48 6f 76 64 52 49 57 43 51 74 42 4a kNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJ
1a1e80 77 42 31 67 0a 38 4e 45 58 4c 4a 58 72 39 71 58 42 6b 71 50 46 77 71 63 49 59 41 31 67 42 42 43 wB1g.8NEXLJXr9qXBkqPFwqcIYA1gBBC
1a1ea0 57 65 5a 34 57 4e 4f 61 70 74 76 6f 6c 52 54 6e 49 48 6d 58 35 6b 2f 57 71 38 56 4c 63 6d 5a 67 WeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg
1a1ec0 39 70 59 59 61 44 44 55 7a 2b 6b 75 6c 42 41 59 56 0a 48 44 47 41 37 36 6f 59 61 38 4a 37 31 39 9pYYaDDUz+kulBAYV.HDGA76oYa8J719
1a1ee0 72 4f 2b 54 4d 67 31 66 57 39 61 6a 4d 74 67 51 54 37 73 46 7a 55 6e 4b 50 69 58 42 33 6a 71 55 rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqU
1a1f00 4a 31 58 6e 76 55 64 2b 38 35 56 4c 72 4a 43 68 67 62 45 70 6c 4a 4c 34 68 4c 2f 56 42 69 0a 30 J1XnvUd+85VLrJChgbEplJL4hL/VBi.0
1a1f20 58 50 6e 6a 33 70 44 41 67 4d 42 41 41 47 6a 67 5a 30 77 67 5a 6f 77 45 77 59 4a 4b 77 59 42 42 XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBB
1a1f40 41 47 43 4e 78 51 43 42 41 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 50 42 41 51 44 41 AGCNxQCBAYeBABDAEEwCwYDVR0PBAQDA
1a1f60 67 47 47 4d 41 38 47 41 31 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 gGGMA8GA1Ud.EwEB/wQFMAMBAf8wHQYD
1a1f80 56 52 30 4f 42 42 59 45 46 4b 39 45 42 4d 4a 42 66 6b 69 44 32 30 34 35 41 75 7a 73 68 48 72 6d VR0OBBYEFK9EBMJBfkiD2045AuzshHrm
1a1fa0 7a 73 6d 6b 4d 44 51 47 41 31 55 64 48 77 51 74 4d 43 73 77 4b 61 41 6e 0a 6f 43 57 47 49 32 68 zsmkMDQGA1UdHwQtMCswKaAn.oCWGI2h
1a1fc0 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 63 32 56 6a 64 58 4a 6c 64 48 4a 31 63 33 51 75 59 32 39 0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29
1a1fe0 74 4c 31 4e 48 51 30 45 75 59 33 4a 73 4d 42 41 47 43 53 73 47 41 51 51 42 67 6a 63 56 41 51 51 tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQ
1a2000 44 41 67 45 41 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 DAgEA.MA0GCSqGSIb3DQEBBQUAA4IBAQ
1a2020 42 6a 47 67 68 41 66 61 52 65 55 77 31 33 32 48 71 75 48 77 30 4c 55 52 59 44 37 78 68 38 79 4f BjGghAfaReUw132HquHw0LURYD7xh8yO
1a2040 4f 76 61 6c 69 54 46 47 43 52 73 6f 54 63 69 45 36 2b 0a 4f 59 6f 36 38 2b 61 43 69 56 30 42 4e OvaliTFGCRsoTciE6+.OYo68+aCiV0BN
1a2060 37 4f 72 4a 4b 51 56 44 70 49 31 57 6b 70 45 58 6b 35 58 2b 6e 58 4f 48 30 6a 4f 5a 76 51 38 51 7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8Q
1a2080 43 61 53 6d 47 77 62 37 69 52 47 44 42 65 7a 55 71 58 62 70 5a 47 52 7a 7a 66 54 62 2b 63 6e 0a CaSmGwb7iRGDBezUqXbpZGRzzfTb+cn.
1a20a0 43 44 70 4f 47 52 38 36 70 31 68 63 46 38 39 35 50 34 76 6b 70 39 4d 6d 49 35 30 6d 44 31 68 70 CDpOGR86p1hcF895P4vkp9MmI50mD1hp
1a20c0 2f 45 64 2b 73 74 43 4e 69 35 4f 2f 4b 55 39 44 61 58 52 32 5a 30 76 50 42 34 7a 6d 41 76 65 31 /Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve1
1a20e0 34 62 52 44 74 55 73 74 46 4a 2f 35 0a 33 43 59 4e 76 36 5a 48 64 41 62 59 69 4e 45 36 4b 54 43 4bRDtUstFJ/5.3CYNv6ZHdAbYiNE6KTC
1a2100 45 7a 74 49 35 67 47 49 62 71 4d 64 58 53 62 78 71 56 56 46 6e 46 55 71 2b 4e 51 66 6b 31 58 57 EztI5gGIbqMdXSbxqVVFnFUq+NQfk1XW
1a2120 59 4e 33 6b 77 46 4e 73 70 6e 57 7a 46 61 63 78 48 56 61 49 77 39 38 78 63 0a 66 38 4c 44 6d 42 YN3kwFNspnWzFacxHVaIw98xc.f8LDmB
1a2140 78 72 54 68 61 41 36 33 70 34 5a 55 57 69 41 42 71 76 44 41 31 56 5a 44 52 49 75 4a 4b 35 38 62 xrThaA63p4ZUWiABqvDA1VZDRIuJK58b
1a2160 52 51 4b 66 4a 50 49 78 2f 61 62 4b 77 66 52 4f 48 64 49 33 68 52 57 38 63 57 0a 2d 2d 2d 2d 2d RQKfJPIx/abKwfROHdI3hRW8cW.-----
1a2180 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 43 65 72 END.CERTIFICATE-----..COMODO.Cer
1a21a0 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tification.Authority.===========
1a21c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1a21e0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 48 54 43 43 41 77 57 67 41 77 49 42 ERTIFICATE-----.MIIEHTCCAwWgAwIB
1a2200 41 67 49 51 54 6f 45 74 69 6f 4a 6c 34 41 73 43 37 6a 34 31 41 6b 62 6c 50 54 41 4e 42 67 6b 71 AgIQToEtioJl4AsC7j41AkblPTANBgkq
1a2220 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 67 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d hkiG9w0BAQUFADCBgTELMAkGA1UE.BhM
1a2240 43 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 CR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWF
1a2260 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 uY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9
1a2280 79 5a 44 45 61 4d 42 67 47 0a 41 31 55 45 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 yZDEaMBgG.A1UEChMRQ09NT0RPIENBIE
1a22a0 78 70 62 57 6c 30 5a 57 51 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 4e 50 54 55 39 45 54 79 xpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETy
1a22c0 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 0a 64 47 68 76 63 6d 6c 30 65 BDZXJ0aWZpY2F0aW9uIEF1.dGhvcml0e
1a22e0 54 41 65 46 77 30 77 4e 6a 45 79 4d 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 79 4f 54 45 79 4d TAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyM
1a2300 7a 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 42 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 48 51 zEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQ
1a2320 6a 45 62 0a 4d 42 6b 47 41 31 55 45 43 42 4d 53 52 33 4a 6c 59 58 52 6c 63 69 42 4e 59 57 35 6a jEb.MBkGA1UECBMSR3JlYXRlciBNYW5j
1a2340 61 47 56 7a 64 47 56 79 4d 52 41 77 44 67 59 44 56 51 51 48 45 77 64 54 59 57 78 6d 62 33 4a 6b aGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk
1a2360 4d 52 6f 77 47 41 59 44 56 51 51 4b 45 78 46 44 0a 54 30 31 50 52 45 38 67 51 30 45 67 54 47 6c MRowGAYDVQQKExFD.T01PRE8gQ0EgTGl
1a2380 74 61 58 52 6c 5a 44 45 6e 4d 43 55 47 41 31 55 45 41 78 4d 65 51 30 39 4e 54 30 52 50 49 45 4e taXRlZDEnMCUGA1UEAxMeQ09NT0RPIEN
1a23a0 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 0a 4d 49 lcnRpZmljYXRpb24gQXV0aG9yaXR5.MI
1a23c0 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 IBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMI
1a23e0 49 42 43 67 4b 43 41 51 45 41 30 45 43 4c 69 33 4c 6a 6b 52 76 33 55 63 45 62 56 41 53 59 30 36 IBCgKCAQEA0ECLi3LjkRv3UcEbVASY06
1a2400 6d 2f 77 65 61 4b 58 54 75 48 0a 2b 37 75 49 7a 67 33 6a 4c 7a 38 47 6c 76 43 69 4b 56 43 5a 72 m/weaKXTuH.+7uIzg3jLz8GlvCiKVCZr
1a2420 74 73 37 6f 56 65 77 64 46 46 78 7a 65 31 43 6b 55 31 42 2f 71 6e 49 32 47 71 47 64 30 53 37 57 ts7oVewdFFxze1CkU1B/qnI2GqGd0S7W
1a2440 57 61 58 55 46 36 30 31 43 78 77 52 4d 2f 61 4e 35 56 43 61 54 77 77 0a 78 48 47 7a 55 76 41 68 WaXUF601CxwRM/aN5VCaTww.xHGzUvAh
1a2460 54 61 48 59 75 6a 6c 38 48 4a 36 6a 4a 4a 33 79 67 78 61 59 71 68 5a 38 51 35 73 56 57 37 65 75 TaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7eu
1a2480 4e 4a 48 2b 31 47 49 6d 47 45 61 61 50 2b 76 42 2b 66 47 51 56 2b 75 73 65 67 32 4c 32 33 49 77 NJH+1GImGEaaP+vB+fGQV+useg2L23Iw
1a24a0 61 6d 62 56 0a 34 45 61 6a 63 4e 78 6f 32 66 38 45 53 49 6c 33 33 72 58 70 2b 32 64 74 51 65 6d ambV.4EajcNxo2f8ESIl33rXp+2dtQem
1a24c0 38 4f 62 30 79 32 57 49 43 38 62 47 6f 50 57 34 33 6e 4f 49 76 34 74 4f 69 4a 6f 76 47 75 46 56 8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFV
1a24e0 44 69 4f 45 6a 50 71 58 53 4a 44 6c 71 52 36 73 41 0a 31 4b 47 7a 71 53 58 2b 44 54 2b 6e 48 62 DiOEjPqXSJDlqR6sA.1KGzqSX+DT+nHb
1a2500 72 54 55 63 45 4c 70 4e 71 73 4f 4f 39 56 55 43 51 46 5a 55 61 54 4e 45 38 74 6a 61 33 47 31 43 rTUcELpNqsOO9VUCQFZUaTNE8tja3G1C
1a2520 45 5a 30 6f 37 4b 42 57 46 78 42 33 4e 48 35 59 6f 5a 45 72 30 45 54 63 35 4f 6e 4b 56 49 0a 72 EZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI.r
1a2540 4c 73 6d 39 77 49 44 41 51 41 42 6f 34 47 4f 4d 49 47 4c 4d 42 30 47 41 31 55 64 44 67 51 57 42 Lsm9wIDAQABo4GOMIGLMB0GA1UdDgQWB
1a2560 42 51 4c 57 4f 57 4c 78 6b 77 56 4e 36 52 41 71 54 43 70 49 62 35 48 4e 6c 70 57 2f 7a 41 4f 42 BQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOB
1a2580 67 4e 56 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f gNVHQ8BAf8E.BAMCAQYwDwYDVR0TAQH/
1a25a0 42 41 55 77 41 77 45 42 2f 7a 42 4a 42 67 4e 56 48 52 38 45 51 6a 42 41 4d 44 36 67 50 4b 41 36 BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6
1a25c0 68 6a 68 6f 64 48 52 77 4f 69 38 76 59 33 4a 73 4c 6d 4e 76 62 57 39 6b 0a 62 32 4e 68 4c 6d 4e hjhodHRwOi8vY3JsLmNvbW9k.b2NhLmN
1a25e0 76 62 53 39 44 54 30 31 50 52 45 39 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 51 58 56 vbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV
1a2600 30 61 47 39 79 61 58 52 35 4c 6d 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 0aG9yaXR5LmNybDANBgkqhkiG9w0BAQU
1a2620 46 41 41 4f 43 0a 41 51 45 41 50 70 69 65 6d 2f 59 62 36 64 63 35 74 33 69 75 48 58 49 59 53 64 FAAOC.AQEAPpiem/Yb6dc5t3iuHXIYSd
1a2640 4f 48 35 45 4f 43 36 7a 2f 4a 71 76 57 6f 74 65 39 56 66 43 46 53 5a 66 6e 56 44 65 46 73 39 44 OH5EOC6z/JqvWote9VfCFSZfnVDeFs9D
1a2660 36 4d 6b 33 4f 52 4c 67 4c 45 54 67 64 78 62 38 43 50 0a 4f 47 45 49 71 42 36 42 43 73 41 76 49 6Mk3ORLgLETgdxb8CP.OGEIqB6BCsAvI
1a2680 43 39 42 69 35 48 63 53 45 57 38 38 63 62 65 75 6e 5a 72 4d 38 67 41 4c 54 46 47 54 4f 33 6e 6e C9Bi5HcSEW88cbeunZrM8gALTFGTO3nn
1a26a0 63 2b 49 6c 50 38 7a 77 46 62 6f 4a 49 59 6d 75 4e 67 34 4f 4e 38 71 61 39 30 53 7a 4d 63 2f 0a c+IlP8zwFboJIYmuNg4ON8qa90SzMc/.
1a26c0 52 78 64 4d 6f 73 49 47 6c 67 6e 57 32 2f 34 2f 50 45 5a 42 33 31 6a 69 56 67 38 38 4f 38 45 63 RxdMosIGlgnW2/4/PEZB31jiVg88O8Ec
1a26e0 6b 7a 58 5a 4f 46 4b 73 37 73 6a 73 4c 6a 42 4f 6c 44 57 30 4a 42 39 4c 65 47 6e 61 38 67 49 34 kzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4
1a2700 7a 4a 56 53 6b 2f 42 77 4a 56 6d 63 0a 49 47 66 45 37 76 6d 4c 56 32 48 30 6b 6e 5a 39 50 34 53 zJVSk/BwJVmc.IGfE7vmLV2H0knZ9P4S
1a2720 4e 56 62 66 6f 35 61 7a 56 38 66 55 5a 56 71 5a 61 2b 35 41 63 72 35 50 72 35 52 7a 55 5a 35 64 NVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5d
1a2740 64 42 41 36 2b 43 34 4f 6d 46 34 4f 35 4d 42 4b 67 78 54 4d 56 42 62 6b 4e 0a 2b 38 63 46 64 75 dBA6+C4OmF4O5MBKgxTMVBbkN.+8cFdu
1a2760 50 59 53 6f 33 38 4e 42 65 6a 78 69 45 6f 76 6a 42 46 4d 52 37 48 65 4c 35 59 59 54 69 73 4f 2b PYSo38NBejxiEovjBFMR7HeL5YYTisO+
1a2780 49 42 5a 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d IBZQ==.-----END.CERTIFICATE-----
1a27a0 0a 0a 4e 65 74 77 6f 72 6b 20 53 6f 6c 75 74 69 6f 6e 73 20 43 65 72 74 69 66 69 63 61 74 65 20 ..Network.Solutions.Certificate.
1a27c0 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Authority.======================
1a27e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1a2800 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 35 6a 43 43 41 73 36 67 41 77 49 42 41 67 TIFICATE-----.MIID5jCCAs6gAwIBAg
1a2820 49 51 56 38 73 7a 62 38 4a 63 46 75 5a 48 46 68 66 6a 6b 44 46 6f 34 44 41 4e 42 67 6b 71 68 6b IQV8szb8JcFuZHFhfjkDFo4DANBgkqhk
1a2840 69 47 39 77 30 42 41 51 55 46 41 44 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 iG9w0BAQUFADBiMQswCQYDVQQG.EwJVU
1a2860 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 54 6d 56 30 64 32 39 79 61 79 42 54 62 32 78 31 64 zEhMB8GA1UEChMYTmV0d29yayBTb2x1d
1a2880 47 6c 76 62 6e 4d 67 54 43 35 4d 4c 6b 4d 75 4d 54 41 77 4c 67 59 44 56 51 51 44 45 79 64 4f 5a GlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZ
1a28a0 58 52 33 62 33 4a 72 0a 49 46 4e 76 62 48 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 61 57 5a 70 XR3b3Jr.IFNvbHV0aW9ucyBDZXJ0aWZp
1a28c0 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 59 78 4d 6a 41 78 Y2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAx
1a28e0 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 0a 4d 6a 4d 31 4f 54 55 35 57 6a 42 MDAwMDAwWhcNMjkxMjMx.MjM1OTU5WjB
1a2900 69 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d iMQswCQYDVQQGEwJVUzEhMB8GA1UEChM
1a2920 59 54 6d 56 30 64 32 39 79 61 79 42 54 62 32 78 31 64 47 6c 76 62 6e 4d 67 54 43 35 4d 4c 6b 4d YTmV0d29yayBTb2x1dGlvbnMgTC5MLkM
1a2940 75 0a 4d 54 41 77 4c 67 59 44 56 51 51 44 45 79 64 4f 5a 58 52 33 62 33 4a 72 49 46 4e 76 62 48 u.MTAwLgYDVQQDEydOZXR3b3JrIFNvbH
1a2960 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 V0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3
1a2980 4a 70 64 48 6b 77 67 67 45 69 4d 41 30 47 0a 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 JpdHkwggEiMA0G.CSqGSIb3DQEBAQUAA
1a29a0 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 6b 76 48 36 53 4d 47 33 47 32 49 34 72 43 4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC
1a29c0 37 78 47 7a 75 41 6e 6c 74 37 65 2b 66 6f 53 30 7a 77 7a 63 37 4d 45 4c 37 78 78 0a 6a 4f 57 66 7xGzuAnlt7e+foS0zwzc7MEL7xx.jOWf
1a29e0 74 69 4a 67 50 6c 39 64 7a 67 6e 2f 67 67 77 62 6d 6c 46 51 47 69 61 4a 33 64 56 68 58 52 6e 63 tiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRnc
1a2a00 45 67 38 74 43 71 4a 44 58 52 66 51 4e 4a 49 67 36 6e 50 50 4f 43 77 47 4a 67 6c 36 63 76 66 36 Eg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6
1a2a20 55 44 4c 34 77 70 50 54 0a 61 61 49 6a 7a 6b 47 78 7a 4f 54 56 48 7a 62 52 69 6a 72 34 6a 47 50 UDL4wpPT.aaIjzkGxzOTVHzbRijr4jGP
1a2a40 69 46 46 6c 70 37 51 33 54 66 32 76 6f 75 41 50 6c 54 32 72 6c 6d 47 4e 70 53 41 57 2b 4c 76 38 iFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8
1a2a60 7a 74 75 6d 58 57 57 6e 34 5a 78 6d 75 6b 32 47 57 52 42 58 54 0a 63 72 41 2f 76 47 70 39 37 45 ztumXWWn4Zxmuk2GWRBXT.crA/vGp97E
1a2a80 68 2f 6a 63 4f 72 71 6e 45 72 55 32 6c 42 55 7a 53 31 73 4c 6e 46 42 67 72 45 73 45 58 31 51 56 h/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV
1a2aa0 31 75 69 55 56 37 50 54 73 6d 6a 48 54 43 35 64 4c 52 66 62 49 52 31 50 74 59 4d 69 4b 61 67 4d 1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagM
1a2ac0 6e 63 0a 2f 51 7a 70 66 31 34 44 6c 38 34 37 41 42 53 48 4a 33 41 34 71 59 35 75 73 79 64 32 6d nc./Qzpf14Dl847ABSHJ3A4qY5usyd2m
1a2ae0 46 48 67 42 65 4d 68 71 78 72 56 68 53 49 38 4b 62 57 61 46 73 57 41 71 50 53 37 61 7a 43 50 4c FHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL
1a2b00 30 59 43 6f 72 45 4d 49 75 44 54 41 67 4d 42 0a 41 41 47 6a 67 5a 63 77 67 5a 51 77 48 51 59 44 0YCorEMIuDTAgMB.AAGjgZcwgZQwHQYD
1a2b20 56 52 30 4f 42 42 59 45 46 43 45 77 79 66 73 41 31 30 36 59 32 6f 65 71 4b 74 43 6e 4c 72 46 41 VR0OBBYEFCEwyfsA106Y2oeqKtCnLrFA
1a2b40 4d 61 64 4d 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 0a 42 67 4e MadMMA4GA1UdDwEB/wQEAwIBBjAP.BgN
1a2b60 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 46 49 47 41 31 55 64 48 77 52 4c 4d 45 6b VHRMBAf8EBTADAQH/MFIGA1UdHwRLMEk
1a2b80 77 52 36 42 46 6f 45 4f 47 51 57 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 62 6d 56 30 63 32 39 wR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29
1a2ba0 73 63 33 4e 73 4c 6d 4e 76 0a 62 53 39 4f 5a 58 52 33 62 33 4a 72 55 32 39 73 64 58 52 70 62 32 sc3NsLmNv.bS9OZXR3b3JrU29sdXRpb2
1a2bc0 35 7a 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 56 42 64 58 52 6f 62 33 4a 70 64 48 6b 75 59 33 5zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3
1a2be0 4a 73 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 0a 41 34 49 42 41 51 43 37 72 JsMA0GCSqGSIb3DQEBBQUA.A4IBAQC7r
1a2c00 6b 76 6e 74 31 66 72 66 36 6f 74 74 33 4e 48 68 57 72 42 35 4b 55 64 35 4f 63 38 36 66 52 5a 5a kvnt1frf6ott3NHhWrB5KUd5Oc86fRZZ
1a2c20 58 65 31 65 6c 74 61 6a 53 55 32 34 48 71 58 4c 6a 6a 41 56 32 43 44 6d 41 61 44 6e 37 6c 32 65 Xe1eltajSU24HqXLjjAV2CDmAaDn7l2e
1a2c40 6d 35 51 0a 34 4c 71 49 4c 50 78 46 7a 42 69 77 6d 5a 56 52 44 75 77 64 75 49 6a 2f 68 31 41 63 m5Q.4LqILPxFzBiwmZVRDuwduIj/h1Ac
1a2c60 67 73 4c 6a 34 44 4b 41 76 36 41 4c 52 38 6a 44 4d 65 2b 5a 5a 7a 4b 41 54 78 63 68 65 51 78 70 gsLj4DKAv6ALR8jDMe+ZZzKATxcheQxp
1a2c80 58 4e 35 65 4e 4b 34 43 74 53 62 71 55 4e 39 2f 0a 47 47 55 73 79 66 4a 6a 34 61 6b 48 2f 6e 78 XN5eNK4CtSbqUN9/.GGUsyfJj4akH/nx
1a2ca0 78 48 32 73 7a 4a 47 6f 65 42 66 63 46 61 4d 42 71 45 73 73 75 58 6d 48 4c 72 69 6a 54 66 73 4b xH2szJGoeBfcFaMBqEssuXmHLrijTfsK
1a2cc0 30 5a 70 45 6d 58 7a 77 75 4a 46 2f 4c 57 41 2f 72 4b 4f 79 76 45 5a 62 7a 33 48 74 76 0a 77 4b 0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv.wK
1a2ce0 65 49 38 6c 4e 33 73 32 42 65 72 71 34 6f 32 6a 55 73 62 7a 52 46 30 79 62 68 33 75 78 62 54 79 eI8lN3s2Berq4o2jUsbzRF0ybh3uxbTy
1a2d00 64 72 46 6e 79 39 52 41 51 59 67 72 4f 4a 65 52 63 51 63 54 31 36 6f 68 5a 4f 39 51 48 4e 70 47 drFny9RAQYgrOJeRcQcT16ohZO9QHNpG
1a2d20 78 6c 61 4b 46 4a 64 6c 78 44 0a 79 64 69 38 4e 6d 64 73 70 5a 53 31 31 4d 79 35 76 57 6f 31 56 xlaKFJdlxD.ydi8NmdspZS11My5vWo1V
1a2d40 69 48 65 32 4d 50 72 2b 38 75 6b 59 45 79 77 56 61 43 67 65 31 65 79 0a 2d 2d 2d 2d 2d 45 4e 44 iHe2MPr+8ukYEywVaCge1ey.-----END
1a2d60 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 45 43 43 20 43 65 .CERTIFICATE-----..COMODO.ECC.Ce
1a2d80 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rtification.Authority.==========
1a2da0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1a2dc0 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 69 54 43 43 41 67 2b GIN.CERTIFICATE-----.MIICiTCCAg+
1a2de0 67 41 77 49 42 41 67 49 51 48 30 65 76 71 6d 49 41 63 46 42 55 54 41 47 65 6d 32 4f 5a 4b 6a 41 gAwIBAgIQH0evqmIAcFBUTAGem2OZKjA
1a2e00 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d KBggqhkjOPQQDAzCBhTELMAkGA1UEBhM
1a2e20 43 0a 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 C.R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTW
1a2e40 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d FuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm
1a2e60 39 79 5a 44 45 61 4d 42 67 47 41 31 55 45 0a 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 9yZDEaMBgGA1UE.ChMRQ09NT0RPIENBI
1a2e80 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 ExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ET
1a2ea0 79 42 46 51 30 4d 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f yBFQ0MgQ2VydGlmaWNhdGlvbiBB.dXRo
1a2ec0 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 67 77 4d 7a 41 32 4d 44 41 77 4d 44 41 77 57 68 63 4e b3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcN
1a2ee0 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 MzgwMTE4MjM1OTU5WjCBhTELMAkGA1UE
1a2f00 42 68 4d 43 52 30 49 78 0a 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 BhMCR0Ix.GzAZBgNVBAgTEkdyZWF0ZXI
1a2f20 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 gTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2F
1a2f40 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 41 31 55 45 43 68 4d 52 0a 51 30 39 4e 54 30 52 50 49 45 sZm9yZDEaMBgGA1UEChMR.Q09NT0RPIE
1a2f60 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 NBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU
1a2f80 39 45 54 79 42 46 51 30 4d 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdX
1a2fa0 52 6f 0a 62 33 4a 70 64 48 6b 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 Ro.b3JpdHkwdjAQBgcqhkjOPQIBBgUrg
1a2fc0 51 51 41 49 67 4e 69 41 41 51 44 52 33 73 76 64 63 6d 43 46 59 58 37 64 65 53 52 46 74 53 72 59 QQAIgNiAAQDR3svdcmCFYX7deSRFtSrY
1a2fe0 70 6e 31 50 6c 49 4c 42 73 35 42 41 48 2b 58 0a 34 51 6f 6b 50 42 30 42 42 4f 34 39 30 6f 30 4a pn1PlILBs5BAH+X.4QokPB0BBO490o0J
1a3000 6c 77 7a 67 64 65 54 36 2b 33 65 4b 4b 76 55 44 59 45 73 32 69 78 59 6a 46 71 30 4a 63 66 52 4b lwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK
1a3020 39 43 68 51 74 50 36 49 48 47 34 2f 62 43 38 76 43 56 6c 62 70 56 73 4c 4d 35 6e 69 0a 77 7a 32 9ChQtP6IHG4/bC8vCVlbpVsLM5ni.wz2
1a3040 4a 2b 57 6f 73 37 37 4c 54 42 75 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR
1a3060 31 63 61 63 5a 53 42 6d 38 6e 5a 33 71 51 55 66 66 6c 4d 52 49 64 35 6e 54 65 54 41 4f 42 67 4e 1cacZSBm8nZ3qQUfflMRId5nTeTAOBgN
1a3080 56 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 VHQ8BAf8E.BAMCAQYwDwYDVR0TAQH/BA
1a30a0 55 77 41 77 45 42 2f 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a UwAwEB/zAKBggqhkjOPQQDAwNoADBlAj
1a30c0 45 41 37 77 4e 62 65 71 79 33 65 41 70 79 74 34 6a 66 2f 37 56 47 0a 46 41 6b 4b 2b 71 44 6d 66 EA7wNbeqy3eApyt4jf/7VG.FAkK+qDmf
1a30e0 51 6a 47 47 6f 65 39 47 4b 68 7a 76 53 62 4b 59 41 79 64 7a 70 6d 66 7a 31 77 50 4d 4f 47 2b 46 QjGGoe9GKhzvSbKYAydzpmfz1wPMOG+F
1a3100 44 48 71 41 6a 41 55 39 4a 4d 38 53 61 63 7a 65 70 42 47 52 37 4e 6a 66 52 4f 62 54 72 64 76 47 DHqAjAU9JM8SaczepBGR7NjfRObTrdvG
1a3120 44 65 41 0a 55 2f 37 64 49 4f 41 31 6d 6a 62 52 78 77 47 35 35 74 7a 64 38 2f 38 64 4c 44 6f 57 DeA.U/7dIOA1mjbRxwG55tzd8/8dLDoW
1a3140 56 39 6d 53 4f 64 59 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d V9mSOdY=.-----END.CERTIFICATE---
1a3160 2d 2d 0a 0a 4f 49 53 54 45 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 41 --..OISTE.WISeKey.Global.Root.GA
1a3180 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .CA.============================
1a31a0 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1a31c0 4d 49 49 44 38 54 43 43 41 74 6d 67 41 77 49 42 41 67 49 51 51 54 31 79 78 2f 52 72 48 34 46 44 MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FD
1a31e0 66 66 48 53 4b 46 54 66 6d 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 ffHSKFTfmjANBgkqhkiG9w0BAQUFADCB
1a3200 69 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 51 30 67 78 45 44 41 4f 42 67 4e 56 42 41 6f ijELMAkGA1UE.BhMCQ0gxEDAOBgNVBAo
1a3220 54 42 31 64 4a 55 32 56 4c 5a 58 6b 78 47 7a 41 5a 42 67 4e 56 42 41 73 54 45 6b 4e 76 63 48 6c TB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHl
1a3240 79 61 57 64 6f 64 43 41 6f 59 79 6b 67 4d 6a 41 77 4e 54 45 69 4d 43 41 47 0a 41 31 55 45 43 78 yaWdodCAoYykgMjAwNTEiMCAG.A1UECx
1a3260 4d 5a 54 30 6c 54 56 45 55 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e MZT0lTVEUgRm91bmRhdGlvbiBFbmRvcn
1a3280 4e 6c 5a 44 45 6f 4d 43 59 47 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 NlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZU
1a32a0 74 6c 65 53 42 48 0a 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 51 53 42 44 51 54 41 65 46 tleSBH.bG9iYWwgUm9vdCBHQSBDQTAeF
1a32c0 77 30 77 4e 54 45 79 4d 54 45 78 4e 6a 41 7a 4e 44 52 61 46 77 30 7a 4e 7a 45 79 4d 54 45 78 4e w0wNTEyMTExNjAzNDRaFw0zNzEyMTExN
1a32e0 6a 41 35 4e 54 46 61 4d 49 47 4b 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 44 53 44 45 51 jA5NTFaMIGKMQswCQYD.VQQGEwJDSDEQ
1a3300 4d 41 34 47 41 31 55 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 62 4d 42 6b 47 41 31 55 45 MA4GA1UEChMHV0lTZUtleTEbMBkGA1UE
1a3320 43 78 4d 53 51 32 39 77 65 58 4a 70 5a 32 68 30 49 43 68 6a 4b 53 41 79 4d 44 41 31 4d 53 49 77 CxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
1a3340 0a 49 41 59 44 56 51 51 4c 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 39 .IAYDVQQLExlPSVNURSBGb3VuZGF0aW9
1a3360 75 49 45 56 75 5a 47 39 79 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 4e uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVN
1a3380 55 52 53 42 58 53 56 4e 6c 53 32 56 35 0a 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 URSBXSVNlS2V5.IEdsb2JhbCBSb290IE
1a33a0 64 42 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 dBIENBMIIBIjANBgkqhkiG9w0BAQEFAA
1a33c0 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 79 30 2b 7a 41 4a 73 39 0a 4e 74 33 35 30 OCAQ8AMIIBCgKCAQEAy0+zAJs9.Nt350
1a33e0 55 6c 71 61 78 42 4a 48 2b 7a 59 4b 37 4c 47 2b 44 4b 42 4b 55 4f 56 54 4a 6f 5a 49 79 45 56 52 UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVR
1a3400 64 37 6a 79 42 78 52 56 56 75 75 6b 2b 67 33 2f 79 74 72 36 64 54 71 76 69 72 64 71 46 45 72 31 d7jyBxRVVuuk+g3/ytr6dTqvirdqFEr1
1a3420 32 62 44 59 56 78 67 0a 41 73 6a 31 7a 6e 4a 37 4f 37 6a 79 54 6d 55 49 6d 73 32 6b 61 68 6e 42 2bDYVxg.Asj1znJ7O7jyTmUIms2kahnB
1a3440 41 62 74 7a 70 74 66 32 77 39 33 4e 76 4b 53 4c 74 5a 6c 68 75 41 47 69 6f 39 52 4e 31 41 55 39 Abtzptf2w93NvKSLtZlhuAGio9RN1AU9
1a3460 6b 61 33 34 74 41 68 78 5a 4b 39 77 38 52 78 72 66 76 62 44 0a 64 35 30 6b 63 33 76 6b 44 49 7a ka34tAhxZK9w8RxrfvbD.d50kc3vkDIz
1a3480 68 32 54 62 68 6d 59 73 46 6d 51 76 74 52 54 45 4a 79 73 49 41 32 2f 64 79 6f 4a 61 71 6c 59 66 h2TbhmYsFmQvtRTEJysIA2/dyoJaqlYf
1a34a0 51 6a 73 65 32 59 58 4d 4e 64 6d 61 4d 33 42 75 30 59 36 4b 66 66 35 4d 54 4d 50 47 68 4a 39 76 Qjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9v
1a34c0 5a 0a 2f 79 78 56 69 4a 47 67 34 45 38 48 73 43 68 57 6a 42 67 62 6c 30 53 4f 69 64 33 67 46 32 Z./yxViJGg4E8HsChWjBgbl0SOid3gF2
1a34e0 37 6e 4b 75 2b 50 4f 51 6f 78 68 49 4c 59 51 42 52 4a 4c 6e 70 42 35 4b 66 2b 34 32 54 4d 77 56 7nKu+POQoxhILYQBRJLnpB5Kf+42TMwV
1a3500 6c 78 53 79 77 68 70 31 74 39 34 42 33 52 0a 4c 6f 47 62 77 39 68 6f 39 37 32 57 47 36 78 77 73 lxSywhp1t94B3R.LoGbw9ho972WG6xws
1a3520 52 59 55 43 39 74 67 75 53 59 42 42 51 49 44 41 51 41 42 6f 31 45 77 54 7a 41 4c 42 67 4e 56 48 RYUC9tguSYBBQIDAQABo1EwTzALBgNVH
1a3540 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 Q8EBAMCAYYwDwYDVR0TAQH/BAUw.AwEB
1a3560 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 73 77 4e 2b 72 6a 61 38 73 48 6e 52 33 4a 51 6d /zAdBgNVHQ4EFgQUswN+rja8sHnR3JQm
1a3580 74 68 47 2b 49 62 4a 70 68 70 51 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 thG+IbJphpQwEAYJKwYBBAGCNxUBBAMC
1a35a0 41 51 41 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 45 75 AQAwDQYJ.KoZIhvcNAQEFBQADggEBAEu
1a35c0 68 2f 77 75 48 62 72 50 35 77 55 4f 78 53 50 4d 6f 77 42 30 75 79 51 6c 42 2b 70 51 41 48 4b 53 h/wuHbrP5wUOxSPMowB0uyQlB+pQAHKS
1a35e0 6b 71 30 6c 50 6a 7a 30 65 37 30 31 76 76 62 79 6b 39 76 49 6d 0a 4d 4d 6b 51 79 68 32 49 2b 33 kq0lPjz0e701vvbyk9vIm.MMkQyh2I+3
1a3600 51 5a 48 34 56 46 76 62 42 73 55 66 6b 32 66 74 76 31 54 44 49 36 51 55 39 62 52 38 2f 6f 43 79 QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy
1a3620 32 32 78 42 6d 64 64 4d 56 48 78 6a 74 71 44 36 77 55 32 7a 7a 30 63 35 79 70 42 64 38 41 33 48 22xBmddMVHxjtqD6wU2zz0c5ypBd8A3H
1a3640 52 34 0a 2b 76 67 31 59 46 6b 43 45 78 68 38 76 50 74 4e 73 43 42 74 51 37 74 67 4d 48 70 6e 4d R4.+vg1YFkCExh8vPtNsCBtQ7tgMHpnM
1a3660 31 7a 46 6d 64 48 34 4c 54 6c 53 63 2f 75 4d 71 70 63 6c 58 48 4c 5a 43 42 36 72 54 6a 7a 6a 67 1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjg
1a3680 54 47 66 41 36 62 37 77 50 34 70 69 46 58 61 0a 68 4e 56 51 41 37 62 69 68 4b 4f 6d 4e 71 6f 52 TGfA6b7wP4piFXa.hNVQA7bihKOmNqoR
1a36a0 4f 67 48 68 47 45 76 57 52 47 69 7a 50 66 6c 54 64 49 53 7a 52 70 46 47 6c 67 43 33 67 43 79 32 OgHhGEvWRGizPflTdISzRpFGlgC3gCy2
1a36c0 34 65 4d 51 34 74 75 69 35 79 69 50 41 5a 5a 69 46 6a 34 41 34 78 79 6c 4e 6f 45 59 0a 6f 6b 78 4eMQ4tui5yiPAZZiFj4A4xylNoEY.okx
1a36e0 53 64 73 41 52 6f 32 37 6d 48 62 72 6a 57 72 34 32 55 38 55 2b 64 59 2b 47 61 53 6c 59 55 37 57 SdsARo27mHbrjWr42U8U+dY+GaSlYU7W
1a3700 63 75 32 2b 66 58 4d 55 59 37 4e 30 76 34 5a 6a 4a 2f 4c 37 66 43 67 30 3d 0a 2d 2d 2d 2d 2d 45 cu2+fXMUY7N0v4ZjJ/L7fCg0=.-----E
1a3720 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 67 6e 61 0a 3d 3d ND.CERTIFICATE-----..Certigna.==
1a3740 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1a3760 2d 2d 0a 4d 49 49 44 71 44 43 43 41 70 43 67 41 77 49 42 41 67 49 4a 41 50 37 63 34 77 45 50 79 --.MIIDqDCCApCgAwIBAgIJAP7c4wEPy
1a3780 55 6a 2f 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 44 51 78 43 7a 41 4a 42 Uj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJB
1a37a0 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 49 77 0a 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 gNVBAYTAkZSMRIw.EAYDVQQKDAlEaGlt
1a37c0 65 57 39 30 61 58 4d 78 45 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 70 5a 32 35 68 eW90aXMxETAPBgNVBAMMCENlcnRpZ25h
1a37e0 4d 42 34 58 44 54 41 33 4d 44 59 79 4f 54 45 31 4d 54 4d 77 4e 56 6f 58 44 54 49 33 0a 4d 44 59 MB4XDTA3MDYyOTE1MTMwNVoXDTI3.MDY
1a3800 79 4f 54 45 31 4d 54 4d 77 4e 56 6f 77 4e 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 yOTE1MTMwNVowNDELMAkGA1UEBhMCRlI
1a3820 78 45 6a 41 51 42 67 4e 56 42 41 6f 4d 43 55 52 6f 61 57 31 35 62 33 52 70 63 7a 45 52 4d 41 38 xEjAQBgNVBAoMCURoaW15b3RpczERMA8
1a3840 47 41 31 55 45 41 77 77 49 0a 51 32 56 79 64 47 6c 6e 62 6d 45 77 67 67 45 69 4d 41 30 47 43 53 GA1UEAwwI.Q2VydGlnbmEwggEiMA0GCS
1a3860 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 qGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQ
1a3880 44 49 61 50 48 4a 31 74 61 7a 4e 48 55 6d 67 68 37 73 74 4c 37 71 0a 58 4f 45 6d 37 52 46 48 59 DIaPHJ1tazNHUmgh7stL7q.XOEm7RFHY
1a38a0 65 47 69 66 42 5a 34 51 43 48 6b 59 4a 35 61 79 47 50 68 78 4c 47 57 6b 76 38 59 62 57 6b 6a 34 eGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4
1a38c0 53 74 69 39 39 33 69 4e 69 2b 52 42 37 6c 49 7a 77 37 73 65 62 59 73 35 7a 52 4c 63 41 67 6c 6f Sti993iNi+RB7lIzw7sebYs5zRLcAglo
1a38e0 7a 79 48 0a 47 78 6e 79 67 51 63 50 4f 4a 41 5a 30 78 48 2b 68 72 54 79 30 56 34 65 48 70 62 4e zyH.GxnygQcPOJAZ0xH+hrTy0V4eHpbN
1a3900 67 47 7a 4f 4f 7a 47 54 74 76 4b 67 30 4b 6d 56 45 6e 32 6c 6d 73 78 72 79 49 52 57 69 6a 4f 70 gGzOOzGTtvKg0KmVEn2lmsxryIRWijOp
1a3920 35 79 49 56 55 78 62 77 7a 42 66 73 56 31 2f 70 0a 6f 67 71 59 43 64 37 6a 58 35 78 76 33 45 6a 5yIVUxbwzBfsV1/p.ogqYCd7jX5xv3Ej
1a3940 6a 68 51 73 56 57 71 61 36 6e 36 78 49 34 77 6d 79 39 2f 51 79 33 6c 34 30 76 68 78 34 58 55 4a jhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJ
1a3960 62 7a 67 34 69 6a 30 32 51 31 33 30 79 47 4c 4d 4c 4c 47 71 2f 6a 6a 38 55 45 59 6b 67 0a 44 6e bzg4ij02Q130yGLMLLGq/jj8UEYkg.Dn
1a3980 63 55 74 54 32 55 43 49 66 33 4a 52 37 56 73 6d 41 41 37 47 38 71 4b 43 56 75 4b 6a 34 59 59 78 cUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYx
1a39a0 63 6c 50 7a 35 45 49 42 62 32 4a 73 67 6c 72 67 56 4b 74 4f 64 6a 4c 50 4f 4d 46 6c 4e 2b 58 50 clPz5EIBb2JsglrgVKtOdjLPOMFlN+XP
1a39c0 73 52 47 67 6a 42 52 6d 4b 66 0a 49 72 6a 78 77 6f 31 70 33 50 6f 36 57 41 62 66 41 67 4d 42 41 sRGgjBRmKf.Irjxwo1p3Po6WAbfAgMBA
1a39e0 41 47 6a 67 62 77 77 67 62 6b 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f AGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/
1a3a00 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 47 75 33 2b 51 54 6d 51 0a 74 43 52 5a 76 67 48 79 zAdBgNVHQ4EFgQUGu3+QTmQ.tCRZvgHy
1a3a20 55 74 56 46 39 6c 6f 35 33 42 45 77 5a 41 59 44 56 52 30 6a 42 46 30 77 57 34 41 55 47 75 33 2b UtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+
1a3a40 51 54 6d 51 74 43 52 5a 76 67 48 79 55 74 56 46 39 6c 6f 35 33 42 47 68 4f 4b 51 32 4d 44 51 78 QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQx
1a3a60 43 7a 41 4a 0a 42 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b 44 41 6c CzAJ.BgNVBAYTAkZSMRIwEAYDVQQKDAl
1a3a80 45 61 47 6c 74 65 57 39 30 61 58 4d 78 45 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 EaGlteW90aXMxETAPBgNVBAMMCENlcnR
1a3aa0 70 5a 32 35 68 67 67 6b 41 2f 74 7a 6a 41 51 2f 4a 0a 53 50 38 77 44 67 59 44 56 52 30 50 41 51 pZ25hggkA/tzjAQ/J.SP8wDgYDVR0PAQ
1a3ac0 48 2f 42 41 51 44 41 67 45 47 4d 42 45 47 43 57 43 47 53 41 47 47 2b 45 49 42 41 51 51 45 41 77 H/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAw
1a3ae0 49 41 42 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 0a 68 IABzANBgkqhkiG9w0BAQUFAAOCAQEA.h
1a3b00 51 4d 65 6b 6e 48 32 51 71 2f 68 6f 32 47 65 36 2f 50 41 44 2f 4b 6c 31 4e 71 56 35 74 61 2b 61 QMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+a
1a3b20 44 59 39 66 6d 34 66 54 49 72 76 30 51 38 68 62 56 36 6c 55 6d 50 4f 45 76 6a 76 4b 74 70 76 36 DY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6
1a3b40 7a 66 2b 45 77 4c 48 79 7a 73 2b 0a 49 6d 76 61 59 53 35 2f 31 48 49 39 33 54 44 68 48 6b 78 41 zf+EwLHyzs+.ImvaYS5/1HI93TDhHkxA
1a3b60 47 59 77 50 31 35 7a 52 67 7a 42 37 6d 46 6e 63 66 63 61 35 44 43 6c 4d 6f 54 4f 69 36 32 63 36 GYwP15zRgzB7mFncfca5DClMoTOi62c6
1a3b80 5a 59 54 54 6c 75 4c 74 64 6b 56 77 6a 37 55 72 33 76 6b 6a 31 6b 6c 75 0a 50 42 53 31 78 70 38 ZYTTluLtdkVwj7Ur3vkj1klu.PBS1xp8
1a3ba0 31 48 6c 44 51 77 59 39 71 63 45 51 43 59 73 75 75 48 57 68 42 70 36 70 58 36 46 4f 71 42 39 49 1HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9I
1a3bc0 47 39 74 55 55 42 67 75 52 41 33 55 73 62 48 4b 31 59 5a 57 61 44 59 75 35 44 65 66 31 33 31 54 G9tUUBguRA3UsbHK1YZWaDYu5Def131T
1a3be0 4e 33 75 62 59 0a 31 67 6b 49 6c 32 50 6c 77 53 36 77 74 30 51 6d 77 43 62 41 72 31 55 77 6e 6a N3ubY.1gkIl2PlwS6wt0QmwCbAr1Uwnj
1a3c00 76 56 4e 69 6f 5a 42 50 52 63 48 76 2f 50 4c 4c 66 2f 30 50 32 48 51 42 48 56 45 53 4f 37 53 4d vVNioZBPRcHv/PLLf/0P2HQBHVESO7SM
1a3c20 41 68 71 61 51 6f 4c 66 30 56 2b 4c 42 4f 4b 2f 51 77 0a 57 79 48 38 45 5a 45 30 76 6b 48 76 65 AhqaQoLf0V+LBOK/Qw.WyH8EZE0vkHve
1a3c40 35 32 58 64 66 2b 58 6c 63 43 57 57 43 2f 71 75 30 62 58 75 2b 54 5a 4c 67 3d 3d 0a 2d 2d 2d 2d 52Xdf+XlcCWWC/qu0bXu+TZLg==.----
1a3c60 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 65 75 74 73 63 68 65 20 -END.CERTIFICATE-----..Deutsche.
1a3c80 54 65 6c 65 6b 6f 6d 20 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Telekom.Root.CA.2.==============
1a3ca0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1a3cc0 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6e 7a 43 43 41 6f 65 67 41 77 49 42 41 67 49 42 4a 6a 41 ATE-----.MIIDnzCCAoegAwIBAgIBJjA
1a3ce0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 78 4d 51 73 77 43 51 59 44 56 51 51 NBgkqhkiG9w0BAQUFADBxMQswCQYDVQQ
1a3d00 47 45 77 4a 45 52 54 45 63 4d 42 6f 47 41 31 55 45 43 68 4d 54 0a 52 47 56 31 64 48 4e 6a 61 47 GEwJERTEcMBoGA1UEChMT.RGV1dHNjaG
1a3d20 55 67 56 47 56 73 5a 57 74 76 62 53 42 42 52 7a 45 66 4d 42 30 47 41 31 55 45 43 78 4d 57 56 43 UgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC
1a3d40 31 55 5a 57 78 6c 55 32 56 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 6c 63 6a 45 6a 4d 43 1UZWxlU2VjIFRydXN0IENlbnRlcjEjMC
1a3d60 45 47 0a 41 31 55 45 41 78 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 EG.A1UEAxMaRGV1dHNjaGUgVGVsZWtvb
1a3d80 53 42 53 62 32 39 30 49 45 4e 42 49 44 49 77 48 68 63 4e 4f 54 6b 77 4e 7a 41 35 4d 54 49 78 4d SBSb290IENBIDIwHhcNOTkwNzA5MTIxM
1a3da0 54 41 77 57 68 63 4e 4d 54 6b 77 4e 7a 41 35 0a 4d 6a 4d 31 4f 54 41 77 57 6a 42 78 4d 51 73 77 TAwWhcNMTkwNzA5.MjM1OTAwWjBxMQsw
1a3dc0 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 45 63 4d 42 6f 47 41 31 55 45 43 68 4d 54 52 47 56 31 CQYDVQQGEwJERTEcMBoGA1UEChMTRGV1
1a3de0 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 53 42 42 52 7a 45 66 4d 42 30 47 0a 41 31 55 dHNjaGUgVGVsZWtvbSBBRzEfMB0G.A1U
1a3e00 45 43 78 4d 57 56 43 31 55 5a 57 78 6c 55 32 56 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 ECxMWVC1UZWxlU2VjIFRydXN0IENlbnR
1a3e20 6c 63 6a 45 6a 4d 43 45 47 41 31 55 45 41 78 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 lcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGV
1a3e40 73 5a 57 74 76 62 53 42 53 0a 62 32 39 30 49 45 4e 42 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 sZWtvbSBS.b290IENBIDIwggEiMA0GCS
1a3e60 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 qGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQ
1a3e80 43 72 43 36 4d 31 34 49 73 70 46 4c 45 55 68 61 38 38 45 4f 51 35 0a 62 7a 56 64 53 71 37 64 36 CrC6M14IspFLEUha88EOQ5.bzVdSq7d6
1a3ea0 6d 47 4e 6c 55 6e 30 62 32 53 6a 47 6d 42 6d 70 4b 6c 41 49 6f 54 5a 31 4b 58 6c 65 4a 4d 4f 61 mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOa
1a3ec0 41 47 74 75 55 31 63 4f 73 37 54 75 4b 68 43 51 4e 2f 50 6f 37 71 43 57 57 71 53 47 36 77 63 6d AGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcm
1a3ee0 74 6f 49 0a 4b 79 55 6e 2b 57 6b 6a 52 2f 48 67 36 79 78 36 6d 2f 55 54 41 74 42 2b 4e 48 7a 43 toI.KyUn+WkjR/Hg6yx6m/UTAtB+NHzC
1a3f00 6e 6a 77 41 57 61 76 31 32 67 7a 31 4d 6a 77 72 72 46 44 61 31 73 50 65 67 35 54 4b 71 41 79 5a njwAWav12gz1MjwrrFDa1sPeg5TKqAyZ
1a3f20 4d 67 34 49 53 46 5a 62 61 76 76 61 34 56 68 59 0a 41 55 6c 66 63 6b 45 38 46 51 59 42 6a 6c 32 Mg4ISFZbavva4VhY.AUlfckE8FQYBjl2
1a3f40 74 71 72 69 54 74 4d 32 65 36 36 66 6f 61 69 31 53 4e 4e 73 36 37 31 78 31 55 64 72 62 38 7a 48 tqriTtM2e66foai1SNNs671x1Udrb8zH
1a3f60 35 37 6e 47 59 4d 73 52 55 46 55 51 4d 2b 5a 74 56 37 61 33 66 47 41 69 67 6f 34 61 4b 0a 53 65 57nGYMsRUFUQM+ZtV7a3fGAigo4aK.Se
1a3f80 35 54 42 59 38 5a 54 4e 58 65 57 48 6d 62 30 6d 6f 63 51 71 76 46 31 61 66 50 61 41 2b 57 35 4f 5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5O
1a3fa0 46 68 6d 48 5a 68 79 4a 46 38 31 6a 34 41 34 70 46 51 68 2b 47 64 43 75 61 74 6c 39 49 64 78 6a FhmHZhyJF81j4A4pFQh+GdCuatl9Idxj
1a3fc0 70 39 79 37 7a 61 41 7a 54 56 0a 6a 6c 73 42 39 57 6f 48 74 78 61 32 62 6b 70 2f 41 67 4d 42 41 p9y7zaAzTV.jlsB9WoHtxa2bkp/AgMBA
1a3fe0 41 47 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 78 77 33 6b 62 75 76 56 54 31 AGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1
1a4000 78 66 67 69 58 6f 74 46 32 77 4b 73 79 75 64 4d 7a 41 50 42 67 4e 56 0a 48 52 4d 45 43 44 41 47 xfgiXotF2wKsyudMzAPBgNV.HRMECDAG
1a4020 41 51 48 2f 41 67 45 46 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e AQH/AgEFMA4GA1UdDwEB/wQEAwIBBjAN
1a4040 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6c 47 52 5a 72 54 6c 6b BgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk
1a4060 35 79 6e 72 0a 45 2f 35 61 77 34 73 54 56 38 67 45 4a 50 42 30 64 38 42 67 34 32 66 37 36 59 6d 5ynr.E/5aw4sTV8gEJPB0d8Bg42f76Ym
1a4080 6d 67 37 2b 57 67 6e 78 75 31 4d 4d 39 37 35 36 41 62 72 73 70 74 4a 68 36 73 54 74 55 36 7a 6b mg7+Wgnxu1MM9756AbrsptJh6sTtU6zk
1a40a0 58 52 33 34 61 6a 67 76 38 48 7a 46 5a 4d 51 53 79 0a 7a 68 66 7a 4c 4d 64 69 4e 6c 58 69 49 74 XR34ajgv8HzFZMQSy.zhfzLMdiNlXiIt
1a40c0 69 4a 56 62 53 59 53 4b 70 6b 2b 74 59 63 4e 74 68 45 65 46 70 61 49 7a 70 58 6c 2f 56 36 4d 45 iJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME
1a40e0 2b 75 6e 32 70 4d 53 79 75 4f 6f 41 50 6a 50 75 43 70 31 4e 4a 37 30 72 4f 6f 34 6e 49 38 0a 72 +un2pMSyuOoAPjPuCp1NJ70rOo4nI8.r
1a4100 5a 37 2f 67 46 6e 6b 6d 30 57 30 39 6a 75 77 7a 54 6b 5a 6d 44 4c 6c 36 69 46 68 6b 4f 51 78 49 Z7/gFnkm0W09juwzTkZmDLl6iFhkOQxI
1a4120 59 34 30 73 66 63 76 4e 55 71 46 45 4e 72 6e 69 6a 63 68 76 6c 6c 6a 34 50 4b 46 69 44 46 54 31 Y40sfcvNUqFENrnijchvllj4PKFiDFT1
1a4140 46 51 55 68 58 42 35 39 43 34 47 0a 64 79 64 31 4c 78 2b 34 69 76 6e 2b 78 62 72 59 4e 75 53 44 FQUhXB59C4G.dyd1Lx+4ivn+xbrYNuSD
1a4160 37 4f 64 6c 74 37 39 6a 57 76 4e 47 72 34 47 55 4e 39 52 42 6a 4e 59 6a 31 68 37 50 39 57 67 62 7Odlt79jWvNGr4GUN9RBjNYj1h7P9Wgb
1a4180 52 47 4f 69 57 72 71 6e 4e 56 6d 68 35 58 41 46 6d 77 34 6a 56 35 6d 55 0a 43 6d 32 36 4f 57 4d RGOiWrqnNVmh5XAFmw4jV5mU.Cm26OWM
1a41a0 6f 68 70 4c 7a 47 49 54 59 2b 39 48 50 42 56 5a 6b 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 ohpLzGITY+9HPBVZkVw==.-----END.C
1a41c0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 79 62 65 72 74 72 75 73 74 20 47 6c 6f 62 ERTIFICATE-----..Cybertrust.Glob
1a41e0 61 6c 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d al.Root.======================.-
1a4200 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6f ----BEGIN.CERTIFICATE-----.MIIDo
1a4220 54 43 43 41 6f 6d 67 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 44 34 57 71 4c 55 67 77 44 TCCAomgAwIBAgILBAAAAAABD4WqLUgwD
1a4240 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 QYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEC
1a4260 68 4d 50 51 33 6c 69 0a 5a 58 4a 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 hMPQ3li.ZXJ0cnVzdCwgSW5jMR8wHQYD
1a4280 56 51 51 44 45 78 5a 44 65 57 4a 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 VQQDExZDeWJlcnRydXN0IEdsb2JhbCBS
1a42a0 62 32 39 30 4d 42 34 58 44 54 41 32 4d 54 49 78 4e 54 41 34 0a 4d 44 41 77 4d 46 6f 58 44 54 49 b290MB4XDTA2MTIxNTA4.MDAwMFoXDTI
1a42c0 78 4d 54 49 78 4e 54 41 34 4d 44 41 77 4d 46 6f 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 68 4d xMTIxNTA4MDAwMFowOzEYMBYGA1UEChM
1a42e0 50 51 33 6c 69 5a 58 4a 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 56 51 51 PQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQ
1a4300 44 0a 45 78 5a 44 65 57 4a 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 D.ExZDeWJlcnRydXN0IEdsb2JhbCBSb2
1a4320 39 30 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 90MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ
1a4340 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 0a 2b 4d 69 38 76 52 52 51 5a 68 50 2f 38 4e 4e 35 37 8AMIIBCgKCAQEA.+Mi8vRRQZhP/8NN57
1a4360 43 50 79 74 78 72 48 6a 6f 58 78 45 6e 4f 6d 47 61 6f 51 32 35 79 69 5a 58 52 61 64 7a 35 52 66 CPytxrHjoXxEnOmGaoQ25yiZXRadz5Rf
1a4380 56 62 32 33 43 4f 32 31 4f 31 66 57 4c 45 33 54 64 56 4a 44 6d 37 31 61 6f 66 57 0a 30 6f 7a 53 Vb23CO21O1fWLE3TdVJDm71aofW.0ozS
1a43a0 4a 38 62 69 2f 7a 61 66 6d 47 57 67 45 30 37 47 4b 6d 53 62 31 5a 41 53 7a 78 51 47 39 44 76 6a J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj
1a43c0 31 43 69 2b 36 41 37 34 71 30 35 49 6c 47 32 4f 6c 54 45 51 58 4f 32 69 4c 62 33 56 4f 6d 32 79 1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y
1a43e0 48 4c 74 67 77 45 5a 4c 0a 41 66 56 4a 72 6e 35 47 69 74 42 30 6a 61 45 4d 41 73 37 75 2f 4f 65 HLtgwEZL.AfVJrn5GitB0jaEMAs7u/Oe
1a4400 50 75 47 74 6d 38 33 39 45 41 4c 39 6d 4a 52 51 72 33 52 41 77 48 51 65 57 50 30 33 32 61 37 69 PuGtm839EAL9mJRQr3RAwHQeWP032a7i
1a4420 50 74 33 73 4d 70 54 6a 72 33 6b 66 62 31 56 30 35 2f 49 69 6e 0a 38 39 63 71 64 50 48 6f 57 71 Pt3sMpTjr3kfb1V05/Iin.89cqdPHoWq
1a4440 49 37 6e 31 43 36 70 6f 78 46 4e 63 4a 51 5a 5a 58 63 59 34 4c 76 33 62 39 33 54 5a 78 69 79 57 I7n1C6poxFNcJQZZXcY4Lv3b93TZxiyW
1a4460 4e 7a 46 74 41 70 44 30 6d 70 53 50 43 7a 71 72 64 73 78 61 63 77 4f 55 42 64 72 73 54 69 58 53 NzFtApD0mpSPCzqrdsxacwOUBdrsTiXS
1a4480 5a 54 0a 38 4d 34 63 49 77 68 68 71 4a 51 5a 75 67 52 69 51 4f 77 66 4f 48 42 33 45 67 5a 78 70 ZT.8M4cIwhhqJQZugRiQOwfOHB3EgZxp
1a44a0 7a 41 59 58 53 55 6e 70 51 49 44 41 51 41 42 6f 34 47 6c 4d 49 47 69 4d 41 34 47 41 31 55 64 44 zAYXSUnpQIDAQABo4GlMIGiMA4GA1UdD
1a44c0 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 0a 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 wEB/wQEAwIBBjAP.BgNVHRMBAf8EBTAD
1a44e0 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 32 43 48 73 4e 65 73 79 73 49 45 79 47 AQH/MB0GA1UdDgQWBBS2CHsNesysIEyG
1a4500 56 6a 4a 65 7a 36 74 75 68 53 31 77 56 7a 41 2f 42 67 4e 56 48 52 38 45 4f 44 41 32 0a 4d 44 53 VjJez6tuhS1wVzA/BgNVHR8EODA2.MDS
1a4520 67 4d 71 41 77 68 69 35 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4d 69 35 77 64 57 4a 73 61 57 4d gMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWM
1a4540 74 64 48 4a 31 63 33 51 75 59 32 39 74 4c 32 4e 79 62 43 39 6a 64 43 39 6a 64 48 4a 76 62 33 51 tdHJ1c3QuY29tL2NybC9jdC9jdHJvb3Q
1a4560 75 59 33 4a 73 4d 42 38 47 0a 41 31 55 64 49 77 51 59 4d 42 61 41 46 4c 59 49 65 77 31 36 7a 4b uY3JsMB8G.A1UdIwQYMBaAFLYIew16zK
1a4580 77 67 54 49 5a 57 4d 6c 37 50 71 32 36 46 4c 58 42 58 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 wgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQ
1a45a0 45 42 42 51 55 41 41 34 49 42 41 51 42 57 37 77 6f 6a 6f 46 52 4f 0a 6c 5a 66 4a 2b 49 6e 61 52 EBBQUAA4IBAQBW7wojoFRO.lZfJ+InaR
1a45c0 63 48 55 6f 77 41 6c 39 42 38 54 71 37 65 6a 68 56 68 70 77 6a 43 74 32 42 57 4b 4c 65 50 4a 7a cHUowAl9B8Tq7ejhVhpwjCt2BWKLePJz
1a45e0 59 46 61 2b 48 4d 6a 57 71 64 38 42 66 50 39 49 6a 73 4f 30 51 62 45 32 7a 5a 4d 63 77 53 4f 35 YFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5
1a4600 62 41 69 0a 35 4d 58 7a 4c 71 58 5a 49 2b 4f 34 54 6b 6f 67 70 32 34 43 4a 4a 38 69 59 47 64 37 bAi.5MXzLqXZI+O4Tkogp24CJJ8iYGd7
1a4620 69 78 31 79 43 63 55 78 58 4f 6c 35 6e 34 42 48 50 61 32 68 43 77 63 55 50 55 66 2f 41 32 6b 61 ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2ka
1a4640 44 41 74 45 35 32 4d 6c 70 33 2b 79 79 62 68 32 0a 68 4f 30 6a 39 6e 30 48 71 30 56 2b 30 39 2b DAtE52Mlp3+yybh2.hO0j9n0Hq0V+09+
1a4660 7a 76 2b 6d 4b 74 73 32 6f 6f 6d 63 72 55 74 57 33 5a 66 41 35 54 47 4f 67 6b 58 6d 54 55 67 39 zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9
1a4680 55 33 59 4f 37 6e 39 47 50 70 31 4e 7a 77 38 76 2f 4d 4f 78 38 42 4c 6a 59 52 42 2b 54 0a 58 33 U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T.X3
1a46a0 45 4a 49 72 64 75 50 75 6f 63 41 30 36 64 47 69 42 68 2b 34 45 33 37 46 37 38 43 6b 57 72 31 2b EJIrduPuocA06dGiBh+4E37F78CkWr1+
1a46c0 63 58 56 64 43 67 36 6d 43 62 70 76 62 6a 6a 46 73 70 77 67 5a 67 46 4a 30 74 6c 30 79 70 6b 78 cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkx
1a46e0 57 64 59 63 51 42 58 30 6a 57 0a 57 4c 31 57 4d 52 4a 4f 45 63 67 68 34 4c 4d 52 6b 57 58 62 74 WdYcQBX0jW.WL1WMRJOEcgh4LMRkWXbt
1a4700 4b 61 49 4f 4d 35 56 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d KaIOM5V.-----END.CERTIFICATE----
1a4720 2d 0a 0a 65 50 4b 49 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f -..ePKI.Root.Certification.Autho
1a4740 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rity.===========================
1a4760 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1a4780 2d 2d 0a 4d 49 49 46 73 44 43 43 41 35 69 67 41 77 49 42 41 67 49 51 46 63 69 39 5a 55 64 63 72 --.MIIFsDCCA5igAwIBAgIQFci9ZUdcr
1a47a0 37 69 58 41 46 37 6b 42 74 4b 38 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFA
1a47c0 44 42 65 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 6a 4d 43 45 47 41 31 55 45 DBeMQswCQYDVQQG.EwJUVzEjMCEGA1UE
1a47e0 43 67 77 61 51 32 68 31 62 6d 64 6f 64 32 45 67 56 47 56 73 5a 57 4e 76 62 53 42 44 62 79 34 73 CgwaQ2h1bmdod2EgVGVsZWNvbSBDby4s
1a4800 49 45 78 30 5a 43 34 78 4b 6a 41 6f 42 67 4e 56 42 41 73 4d 49 57 56 51 53 30 6b 67 0a 55 6d 39 IEx0ZC4xKjAoBgNVBAsMIWVQS0kg.Um9
1a4820 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml
1a4840 30 65 54 41 65 46 77 30 77 4e 44 45 79 4d 6a 41 77 4d 6a 4d 78 4d 6a 64 61 46 77 30 7a 4e 44 45 0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDE
1a4860 79 4d 6a 41 77 4d 6a 4d 78 0a 4d 6a 64 61 4d 46 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c yMjAwMjMx.MjdaMF4xCzAJBgNVBAYTAl
1a4880 52 58 4d 53 4d 77 49 51 59 44 56 51 51 4b 44 42 70 44 61 48 56 75 5a 32 68 33 59 53 42 55 5a 57 RXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZW
1a48a0 78 6c 59 32 39 74 49 45 4e 76 4c 69 77 67 54 48 52 6b 4c 6a 45 71 0a 4d 43 67 47 41 31 55 45 43 xlY29tIENvLiwgTHRkLjEq.MCgGA1UEC
1a48c0 77 77 68 5a 56 42 4c 53 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 wwhZVBLSSBSb290IENlcnRpZmljYXRpb
1a48e0 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 24gQXV0aG9yaXR5MIICIjANBgkqhkiG9
1a4900 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 34 53 55 50 w0B.AQEFAAOCAg8AMIICCgKCAgEA4SUP
1a4920 37 6f 33 62 69 44 4e 31 5a 38 32 74 48 33 30 36 54 6d 32 64 30 79 38 55 38 32 4e 30 79 77 45 68 7o3biDN1Z82tH306Tm2d0y8U82N0ywEh
1a4940 61 6a 66 71 68 46 41 48 53 79 5a 62 43 55 4e 73 0a 49 5a 35 71 79 4e 55 44 39 57 42 70 6a 38 7a ajfqhFAHSyZbCUNs.IZ5qyNUD9WBpj8z
1a4960 77 49 75 51 66 35 2f 64 71 49 6a 47 33 4c 42 58 79 34 50 34 41 61 6b 50 2f 68 32 58 47 74 52 72 wIuQf5/dqIjG3LBXy4P4AakP/h2XGtRr
1a4980 42 70 30 78 74 49 6e 41 68 69 6a 48 79 6c 33 53 4a 43 52 49 6d 48 4a 37 4b 32 52 4b 69 0a 6c 54 Bp0xtInAhijHyl3SJCRImHJ7K2RKi.lT
1a49a0 7a 61 36 57 65 2f 43 4b 42 6b 34 39 5a 43 74 30 58 76 6c 2f 54 32 39 64 65 31 53 68 55 43 57 48 za6We/CKBk49ZCt0Xvl/T29de1ShUCWH
1a49c0 32 59 57 45 74 67 76 4d 33 58 44 5a 6f 54 4d 31 50 52 59 66 6c 36 31 64 64 34 73 35 6f 7a 39 77 2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9w
1a49e0 43 47 7a 68 31 4e 6c 44 69 76 0a 71 4f 78 34 55 58 43 4b 58 42 43 44 55 53 48 33 45 54 30 30 68 CGzh1NlDiv.qOx4UXCKXBCDUSH3ET00h
1a4a00 6c 37 6c 53 4d 32 58 67 59 49 31 54 42 6e 73 5a 66 5a 72 78 51 57 68 37 6b 63 54 31 72 4d 68 4a l7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ
1a4a20 35 51 51 43 74 6b 6b 4f 37 71 2b 52 42 4e 47 4d 44 2b 58 50 4e 6a 58 0a 31 32 72 75 4f 7a 6a 6a 5QQCtkkO7q+RBNGMD+XPNjX.12ruOzjj
1a4a40 4b 39 53 58 44 72 6b 62 35 77 64 4a 66 7a 63 71 2b 58 64 34 7a 31 54 74 57 30 61 64 6f 34 41 4f K9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AO
1a4a60 6b 55 50 42 31 6c 74 66 46 4c 71 66 70 6f 30 6b 52 30 42 5a 76 33 49 34 73 6a 5a 73 4e 2f 2b 5a kUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z
1a4a80 30 56 30 4f 0a 57 51 71 72 61 66 66 41 73 67 52 46 65 6c 51 41 72 72 35 54 39 72 58 6e 34 66 67 0V0O.WQqraffAsgRFelQArr5T9rXn4fg
1a4aa0 38 6f 7a 48 53 71 66 34 68 55 6d 54 46 70 6d 66 77 64 51 63 47 6c 42 53 42 56 63 59 6e 35 41 47 8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AG
1a4ac0 50 46 38 46 71 63 64 65 2b 53 2f 75 55 57 48 31 2b 0a 45 54 4f 78 51 76 64 69 62 42 6a 57 7a 77 PF8Fqcde+S/uUWH1+.ETOxQvdibBjWzw
1a4ae0 6c 6f 50 6e 39 73 39 68 36 50 59 71 32 6c 59 39 73 4a 70 78 38 69 51 6b 45 65 62 35 6d 4b 50 74 loPn9s9h6PYq2lY9sJpx8iQkEeb5mKPt
1a4b00 66 35 50 30 42 36 65 62 43 6c 41 5a 4c 53 6e 54 30 49 46 61 55 51 41 53 32 7a 4d 6e 61 6f 0a 6c f5P0B6ebClAZLSnT0IFaUQAS2zMnao.l
1a4b20 51 32 7a 65 70 72 37 42 78 42 34 45 57 2f 68 6a 38 65 36 44 79 55 61 64 43 72 6c 48 4a 68 42 6d Q2zepr7BxB4EW/hj8e6DyUadCrlHJhBm
1a4b40 64 38 68 68 2b 69 56 42 6d 6f 4b 73 32 70 48 64 6d 58 32 4f 73 2b 50 59 68 63 5a 65 77 6f 6f 7a d8hh+iVBmoKs2pHdmX2Os+PYhcZewooz
1a4b60 52 72 53 67 78 34 68 78 79 79 2f 0a 76 76 39 68 61 4c 64 6e 47 37 74 34 54 59 33 4f 5a 2b 58 6b RrSgx4hxyy/.vv9haLdnG7t4TY3OZ+Xk
1a4b80 77 59 36 33 49 32 62 69 6e 5a 42 31 4e 4a 69 70 4e 69 75 4b 6d 70 53 35 6e 65 7a 4d 69 72 48 34 wY63I2binZB1NJipNiuKmpS5nezMirH4
1a4ba0 4a 59 6c 63 57 72 59 76 6a 42 39 74 65 53 53 6e 55 6d 6a 44 68 44 58 69 0a 5a 6f 31 6a 44 69 56 JYlcWrYvjB9teSSnUmjDhDXi.Zo1jDiV
1a4bc0 4e 31 52 6d 79 35 6e 6b 33 70 79 4b 64 56 44 45 43 41 77 45 41 41 61 4e 71 4d 47 67 77 48 51 59 N1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQY
1a4be0 44 56 52 30 4f 42 42 59 45 46 42 34 4d 39 37 5a 6e 38 75 47 53 4a 67 6c 46 77 46 55 35 4c 6e 63 DVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc
1a4c00 2f 51 6b 71 69 0a 4d 41 77 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 4f 51 59 45 5a 79 /Qkqi.MAwGA1UdEwQFMAMBAf8wOQYEZy
1a4c20 6f 48 41 41 51 78 4d 43 38 77 4c 51 49 42 41 44 41 4a 42 67 55 72 44 67 4d 43 47 67 55 41 4d 41 oHAAQxMC8wLQIBADAJBgUrDgMCGgUAMA
1a4c40 63 47 42 57 63 71 41 77 41 41 42 42 52 46 73 4d 4c 48 0a 43 6c 5a 38 37 6c 74 34 44 4a 58 35 47 cGBWcqAwAABBRFsMLH.ClZ87lt4DJX5G
1a4c60 46 50 42 70 68 7a 59 45 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 FPBphzYEDANBgkqhkiG9w0BAQUFAAOCA
1a4c80 67 45 41 43 62 4f 44 55 31 6b 42 50 70 56 4a 75 66 47 42 75 76 6c 32 49 43 4f 31 4a 32 42 30 0a gEACbODU1kBPpVJufGBuvl2ICO1J2B0.
1a4ca0 31 47 71 5a 4e 46 35 73 41 46 50 5a 6e 2f 4b 6d 73 53 51 48 52 47 6f 71 78 71 57 4f 65 42 4c 6f 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLo
1a4cc0 52 39 6c 59 47 78 4d 71 58 6e 6d 62 6e 77 6f 71 5a 36 59 6c 50 77 5a 70 56 6e 50 44 69 6d 5a 49 R9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI
1a4ce0 2b 79 6d 42 56 33 51 47 79 70 7a 71 0a 4b 4f 67 34 5a 79 59 72 38 64 57 31 50 32 57 54 2b 44 5a +ymBV3QGypzq.KOg4ZyYr8dW1P2WT+DZ
1a4d00 64 6a 6f 32 4e 51 43 43 48 47 65 72 76 4a 38 41 39 74 44 6b 50 4a 58 74 6f 55 48 52 56 6e 41 78 djo2NQCCHGervJ8A9tDkPJXtoUHRVnAx
1a4d20 5a 66 56 6f 39 51 5a 51 6c 55 67 6a 67 52 79 77 56 4d 52 6e 56 76 77 64 56 0a 78 72 73 53 74 5a ZfVo9QZQlUgjgRywVMRnVvwdV.xrsStZ
1a4d40 66 30 58 34 4f 46 75 6e 48 42 32 57 79 42 45 58 59 4b 43 72 43 2f 67 70 66 33 36 6a 33 36 2b 75 f0X4OFunHB2WyBEXYKCrC/gpf36j36+u
1a4d60 77 74 71 53 69 55 4f 31 62 64 30 6c 45 75 72 73 43 39 43 42 57 4d 64 31 49 30 6c 74 61 62 72 4e wtqSiUO1bd0lEursC9CBWMd1I0ltabrN
1a4d80 4d 64 6a 6d 45 50 0a 4e 58 75 62 72 6a 6c 70 43 32 4a 67 51 43 41 32 6a 36 2f 37 4e 75 34 74 43 MdjmEP.NXubrjlpC2JgQCA2j6/7Nu4tC
1a4da0 45 6f 64 75 4c 2b 62 58 50 6a 71 70 52 75 67 63 36 62 59 2b 47 37 67 4d 77 52 66 61 4b 6f 6e 68 EoduL+bXPjqpRugc6bY+G7gMwRfaKonh
1a4dc0 2b 33 5a 77 5a 43 63 37 62 33 6a 61 6a 57 76 59 39 2b 72 0a 47 4e 6d 36 35 75 6c 4b 36 6c 43 4b +3ZwZCc7b3jajWvY9+r.GNm65ulK6lCK
1a4de0 44 32 47 54 48 75 49 74 47 65 49 77 6c 44 57 53 58 51 36 32 42 36 38 5a 67 49 39 48 6b 46 46 4c D2GTHuItGeIwlDWSXQ62B68ZgI9HkFFL
1a4e00 4c 6b 33 64 68 65 4c 53 43 6c 49 4b 46 35 72 38 47 72 42 51 41 75 55 42 6f 32 4d 33 49 55 78 45 Lk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
1a4e20 0a 78 4a 74 52 6d 52 45 4f 63 35 77 47 6a 31 51 75 70 79 68 65 52 44 6d 48 56 69 30 33 76 59 56 .xJtRmREOc5wGj1QupyheRDmHVi03vYV
1a4e40 45 6c 4f 45 4d 53 79 79 63 77 35 4b 46 4e 47 48 4c 44 37 69 62 53 6b 4e 53 2f 6a 51 36 66 62 6a ElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbj
1a4e60 70 4b 64 78 32 71 63 67 77 2b 42 52 78 0a 67 4d 59 65 4e 6b 68 30 49 6b 46 63 68 34 4c 6f 47 48 pKdx2qcgw+BRx.gMYeNkh0IkFch4LoGH
1a4e80 47 4c 51 59 6c 45 35 33 35 59 57 36 69 34 6a 52 50 70 70 32 7a 44 52 2b 32 7a 47 70 31 69 72 6f GLQYlE535YW6i4jRPpp2zDR+2zGp1iro
1a4ea0 32 43 36 70 53 65 33 56 6b 51 77 36 33 64 34 6b 33 6a 4d 64 58 48 37 4f 6a 79 0a 73 50 36 53 48 2C6pSe3VkQw63d4k3jMdXH7Ojy.sP6SH
1a4ec0 68 59 4b 47 76 7a 5a 38 2f 67 6e 74 73 6d 2b 48 62 52 73 5a 4a 42 2f 39 4f 54 45 57 39 63 33 72 hYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3r
1a4ee0 6b 49 4f 33 61 51 61 62 33 79 49 56 4d 55 57 62 75 46 36 61 43 37 34 4f 72 38 4e 70 44 79 4a 4f kIO3aQab3yIVMUWbuF6aC74Or8NpDyJO
1a4f00 33 69 6e 54 6d 4f 44 0a 42 43 45 49 5a 34 33 79 67 6b 6e 51 57 2f 32 78 7a 51 2b 44 68 4e 51 2b 3inTmOD.BCEIZ43ygknQW/2xzQ+DhNQ+
1a4f20 49 49 58 33 53 6a 30 72 6e 50 30 71 43 67 6c 4e 36 6f 48 34 45 5a 77 3d 0a 2d 2d 2d 2d 2d 45 4e IIX3Sj0rnP0qCglN6oH4EZw=.-----EN
1a4f40 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 63 65 72 74 53 49 47 4e 20 52 4f 4f D.CERTIFICATE-----..certSIGN.ROO
1a4f60 54 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e T.CA.================.-----BEGIN
1a4f80 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4f 44 43 43 41 69 43 67 41 77 .CERTIFICATE-----.MIIDODCCAiCgAw
1a4fa0 49 42 41 67 49 47 49 41 59 46 46 6e 41 43 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 IBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQ
1a4fc0 55 41 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 0a 56 UAMDsxCzAJBgNVBAYTAlJPMREwDwYD.V
1a4fe0 51 51 4b 45 77 68 6a 5a 58 4a 30 55 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 43 78 4d 51 59 QQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY
1a5000 32 56 79 64 46 4e 4a 52 30 34 67 55 6b 39 50 56 43 42 44 51 54 41 65 46 77 30 77 4e 6a 41 33 4d 2VydFNJR04gUk9PVCBDQTAeFw0wNjA3M
1a5020 44 51 78 4e 7a 49 77 4d 44 52 61 0a 46 77 30 7a 4d 54 41 33 4d 44 51 78 4e 7a 49 77 4d 44 52 61 DQxNzIwMDRa.Fw0zMTA3MDQxNzIwMDRa
1a5040 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 56 51 51 4b MDsxCzAJBgNVBAYTAlJPMREwDwYDVQQK
1a5060 45 77 68 6a 5a 58 4a 30 55 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 0a 43 78 4d 51 59 32 56 EwhjZXJ0U0lHTjEZMBcGA1UE.CxMQY2V
1a5080 79 64 46 4e 4a 52 30 34 67 55 6b 39 50 56 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a ydFNJR04gUk9PVCBDQTCCASIwDQYJKoZ
1a50a0 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c 63 IhvcNAQEBBQADggEPADCCAQoCggEBALc
1a50c0 7a 75 58 37 49 0a 4a 55 71 4f 74 64 75 30 4b 42 75 71 56 35 44 6f 30 53 4c 54 5a 4c 72 54 6b 2b zuX7I.JUqOtdu0KBuqV5Do0SLTZLrTk+
1a50e0 6a 55 72 49 5a 68 51 47 70 67 56 32 68 55 68 45 32 38 61 6c 51 43 42 66 2f 66 6d 35 6f 71 72 6c jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl
1a5100 30 48 6a 30 72 44 4b 48 2f 76 2b 79 76 36 65 66 48 48 0a 72 66 41 51 55 79 53 51 69 32 62 4a 71 0Hj0rDKH/v+yv6efHH.rfAQUySQi2bJq
1a5120 49 69 72 72 31 71 6a 41 4f 6d 2b 75 6b 62 75 57 33 4e 37 4c 42 65 43 67 56 35 69 4c 4b 45 43 5a Iirr1qjAOm+ukbuW3N7LBeCgV5iLKECZ
1a5140 62 4f 39 78 53 73 41 66 73 54 38 41 7a 4e 58 44 65 33 69 2b 73 35 64 52 64 59 34 7a 54 57 32 0a bO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2.
1a5160 73 73 48 51 6e 49 46 4b 71 75 53 79 41 56 77 64 6a 31 2b 5a 78 4c 47 74 32 34 67 68 36 35 41 49 ssHQnIFKquSyAVwdj1+ZxLGt24gh65AI
1a5180 67 6f 44 7a 4d 4b 4e 44 35 70 43 43 72 6c 55 6f 53 65 31 62 31 36 6b 51 4f 41 37 2b 6a 30 78 62 goDzMKND5pCCrlUoSe1b16kQOA7+j0xb
1a51a0 6d 30 62 71 51 66 57 77 43 48 54 44 0a 30 49 67 7a 74 6e 7a 58 64 4e 2f 63 68 4e 46 44 44 6e 55 m0bqQfWwCHTD.0IgztnzXdN/chNFDDnU
1a51c0 35 6f 53 56 41 4b 4f 70 34 79 77 34 73 4c 6a 6d 64 6a 49 74 75 46 68 77 76 4a 6f 49 51 34 75 4e 5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uN
1a51e0 6c 6c 41 6f 45 77 46 37 33 58 56 76 34 45 4f 4c 51 75 6e 70 4c 2b 39 34 33 0a 41 41 41 61 57 79 llAoEwF73XVv4EOLQunpL+943.AAAaWy
1a5200 6a 6a 30 70 78 7a 50 6a 4b 48 6d 4b 48 4a 55 53 2f 58 33 71 77 7a 73 30 38 43 41 77 45 41 41 61 jj0pxzPjKHmKHJUS/X3qwzs08CAwEAAa
1a5220 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBg
1a5240 4e 56 48 51 38 42 0a 41 66 38 45 42 41 4d 43 41 63 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 NVHQ8B.Af8EBAMCAcYwHQYDVR0OBBYEF
1a5260 4f 43 4d 6d 39 73 6c 53 62 50 78 66 49 62 57 73 6b 4b 48 43 39 42 72 6f 4e 6e 6b 4d 41 30 47 43 OCMm9slSbPxfIbWskKHC9BroNnkMA0GC
1a5280 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 0a 41 51 41 2b 30 68 79 4a 4c 6a 58 38 SqGSIb3DQEBBQUAA4IB.AQA+0hyJLjX8
1a52a0 2b 48 58 64 35 6e 39 6c 69 50 52 79 54 4d 6b 73 31 7a 4a 4f 38 39 30 5a 65 55 65 39 6a 6a 74 62 +HXd5n9liPRyTMks1zJO890ZeUe9jjtb
1a52c0 6b 77 39 51 53 53 51 54 61 78 51 47 63 75 38 4a 30 36 47 68 34 30 43 45 79 65 63 59 4d 6e 51 38 kw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
1a52e0 0a 53 47 34 50 6e 30 76 55 39 78 37 54 6b 34 5a 6b 56 4a 64 6a 63 6c 44 56 56 63 2f 36 49 4a 4d .SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJM
1a5300 43 6f 70 76 44 49 35 4e 4f 46 6c 56 32 6f 48 42 35 62 63 30 68 48 38 38 76 4c 62 77 5a 34 34 67 CopvDI5NOFlV2oHB5bc0hH88vLbwZ44g
1a5320 78 2b 46 6b 61 67 51 6e 49 6c 36 5a 30 0a 78 32 44 45 57 38 78 58 6a 72 4a 31 2f 52 73 43 43 64 x+FkagQnIl6Z0.x2DEW8xXjrJ1/RsCCd
1a5340 74 5a 62 33 4b 54 61 66 63 78 51 64 61 49 4f 4c 2b 48 73 72 30 57 65 66 6d 71 35 4c 36 49 4a 64 tZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd
1a5360 31 68 4a 79 4d 63 74 54 45 48 42 44 61 30 47 70 43 39 6f 48 52 78 55 49 6c 74 0a 76 42 54 6a 44 1hJyMctTEHBDa0GpC9oHRxUIlt.vBTjD
1a5380 34 61 75 38 61 73 2b 78 36 41 4a 7a 4b 4e 49 30 65 44 62 5a 4f 65 53 74 63 2b 76 63 6b 4e 77 69 4au8as+x6AJzKNI0eDbZOeStc+vckNwi
1a53a0 2f 6e 44 68 44 77 54 71 6e 36 53 6d 31 64 54 6b 2f 70 77 77 70 45 4f 4d 66 6d 62 5a 31 33 70 6c /nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pl
1a53c0 6a 68 65 58 37 4e 7a 0a 54 6f 67 56 5a 39 36 65 64 68 42 69 49 4c 35 56 61 5a 56 44 41 44 6c 4e jheX7Nz.TogVZ96edhBiIL5VaZVDADlN
1a53e0 39 75 36 77 57 6b 35 4a 52 46 52 59 58 30 4b 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 9u6wWk5JRFRYX0KD.-----END.CERTIF
1a5400 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 ICATE-----..GeoTrust.Primary.Cer
1a5420 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d tification.Authority.-.G3.======
1a5440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a5460 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1a5480 2d 2d 2d 0a 4d 49 49 44 2f 6a 43 43 41 75 61 67 41 77 49 42 41 67 49 51 46 61 78 75 6c 42 6d 79 ---.MIID/jCCAuagAwIBAgIQFaxulBmy
1a54a0 65 55 74 42 39 69 65 70 77 78 67 50 48 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 eUtB9iepwxgPHzANBgkqhkiG9w0BAQsF
1a54c0 41 44 43 42 6d 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e ADCBmDELMAkGA1UE.BhMCVVMxFjAUBgN
1a54e0 56 42 41 6f 54 44 55 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e VBAoTDUdlb1RydXN0IEluYy4xOTA3BgN
1a5500 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 34 49 45 64 6c 62 31 52 79 64 58 4e 30 0a 49 45 VBAsTMChjKSAyMDA4IEdlb1RydXN0.IE
1a5520 6c 75 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 luYy4gLSBGb3IgYXV0aG9yaXplZCB1c2
1a5540 55 67 62 32 35 73 65 54 45 32 4d 44 51 47 41 31 55 45 41 78 4d 74 52 32 56 76 56 48 4a 31 63 33 Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3
1a5560 51 67 55 48 4a 70 62 57 46 79 0a 65 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 QgUHJpbWFy.eSBDZXJ0aWZpY2F0aW9uI
1a5580 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 49 45 63 7a 4d 42 34 58 44 54 41 34 4d 44 51 77 4d EF1dGhvcml0eSAtIEczMB4XDTA4MDQwM
1a55a0 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 33 4d 54 49 77 4d 54 49 7a 0a 4e 54 6b 31 4f 56 6f 77 jAwMDAwMFoXDTM3MTIwMTIz.NTk1OVow
1a55c0 67 5a 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b gZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
1a55e0 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 54 6b 77 4e 77 59 44 56 51 51 4c Ew1HZW9UcnVzdCBJbmMuMTkwNwYDVQQL
1a5600 45 7a 41 6f 0a 59 79 6b 67 4d 6a 41 77 4f 43 42 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d EzAo.YykgMjAwOCBHZW9UcnVzdCBJbmM
1a5620 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 uIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9
1a5640 75 62 48 6b 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 0a 4c 55 64 6c 62 31 52 79 64 58 4e 30 49 46 ubHkxNjA0BgNVBAMT.LUdlb1RydXN0IF
1a5660 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 ByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdX
1a5680 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 Rob3JpdHkgLSBHMzCCASIwDQYJKoZI.h
1a56a0 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 7a 69 58 vcNAQEBBQADggEPADCCAQoCggEBANziX
1a56c0 6d 4a 59 48 54 4e 58 4f 54 49 7a 2b 75 76 4c 68 34 79 6e 31 45 72 64 42 6f 6a 71 5a 49 34 78 6d mJYHTNXOTIz+uvLh4yn1ErdBojqZI4xm
1a56e0 4b 55 34 6b 42 36 59 7a 79 35 6a 0a 4b 2f 42 47 76 45 53 79 69 61 48 41 4b 41 78 4a 63 43 47 56 KU4kB6Yzy5j.K/BGvESyiaHAKAxJcCGV
1a5700 6e 32 54 41 70 70 4d 53 41 6d 55 6d 68 73 61 6c 69 66 44 36 31 34 53 67 63 4b 39 50 47 70 63 2f n2TAppMSAmUmhsalifD614SgcK9PGpc/
1a5720 42 6b 54 56 79 65 74 79 45 48 33 6b 4d 53 6a 37 48 47 48 6d 4b 41 64 45 0a 63 35 49 69 61 61 63 BkTVyetyEH3kMSj7HGHmKAdE.c5Iiaac
1a5740 44 69 47 79 64 59 38 68 53 32 70 67 6e 35 77 68 4d 63 44 36 30 79 52 4c 42 78 57 65 44 58 54 50 DiGydY8hS2pgn5whMcD60yRLBxWeDXTP
1a5760 7a 41 78 48 73 61 74 42 54 34 74 47 36 4e 6d 43 55 67 4c 74 68 59 32 78 62 46 33 37 66 51 4a 51 zAxHsatBT4tG6NmCUgLthY2xbF37fQJQ
1a5780 65 71 77 33 43 0a 49 53 68 77 69 50 2f 57 4a 6d 78 73 59 41 51 6c 54 6c 56 2b 66 65 2b 2f 6c 45 eqw3C.IShwiP/WJmxsYAQlTlV+fe+/lE
1a57a0 6a 65 74 78 33 64 63 49 30 46 58 34 69 6c 6d 2f 4c 43 37 75 72 52 51 45 46 74 59 6a 67 64 56 67 jetx3dcI0FX4ilm/LC7urRQEFtYjgdVg
1a57c0 62 46 41 30 64 52 49 42 6e 38 65 78 41 4c 44 6d 4b 75 0a 64 6c 57 2f 58 33 65 2b 50 6b 6b 42 55 bFA0dRIBn8exALDmKu.dlW/X3e+PkkBU
1a57e0 7a 32 59 4a 51 4e 32 4a 46 6f 64 74 4e 75 4a 36 6e 6e 6c 74 72 4d 37 50 37 70 4d 4b 45 46 2f 42 z2YJQN2JFodtNuJ6nnltrM7P7pMKEF/B
1a5800 71 78 71 6a 73 48 51 39 67 55 64 66 65 5a 43 68 75 4f 6c 31 55 63 43 41 77 45 41 41 61 4e 43 0a qxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC.
1a5820 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
1a5840 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4d 52 35 HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5
1a5860 79 6f 36 68 54 67 4d 64 48 4e 78 72 0a 32 7a 46 62 6c 44 34 2f 4d 48 38 74 4d 41 30 47 43 53 71 yo6hTgMdHNxr.2zFblD4/MH8tMA0GCSq
1a5880 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 74 78 52 50 50 56 6f 42 37 65 6e 69 GSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni
1a58a0 39 6e 36 34 73 6d 65 66 76 32 74 2b 55 58 67 6c 70 70 2b 64 75 61 49 79 39 0a 63 72 35 48 71 51 9n64smefv2t+UXglpp+duaIy9.cr5HqQ
1a58c0 36 58 45 72 68 4b 38 57 54 54 4f 64 38 6c 4e 4e 54 42 7a 55 36 42 38 41 38 45 78 43 53 7a 4e 4a 6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJ
1a58e0 62 47 70 71 6f 77 33 32 68 68 63 39 66 35 6a 6f 57 4a 37 77 35 65 6c 53 68 4b 4b 69 65 50 45 49 bGpqow32hhc9f5joWJ7w5elShKKiePEI
1a5900 34 75 66 49 62 45 0a 41 70 37 61 44 48 64 6c 44 6b 51 4e 6b 76 33 39 73 78 59 32 2b 68 45 4e 48 4ufIbE.Ap7aDHdlDkQNkv39sxY2+hENH
1a5920 59 77 4f 42 34 6c 71 4b 56 62 33 63 76 54 64 46 5a 78 33 4e 57 5a 58 71 78 4e 54 32 49 37 42 51 YwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQ
1a5940 4d 58 58 45 78 5a 61 63 73 65 33 61 51 48 45 65 72 47 44 0a 41 57 68 39 6a 55 47 68 6c 42 6a 42 MXXExZacse3aQHEerGD.AWh9jUGhlBjB
1a5960 4a 56 7a 38 38 50 36 44 41 6f 64 38 44 51 33 50 4c 67 68 63 53 6b 41 4e 50 75 79 42 59 65 59 6b JVz88P6DAod8DQ3PLghcSkANPuyBYeYk
1a5980 32 38 72 67 44 69 30 48 73 6a 35 57 33 49 33 31 51 59 55 48 53 4a 73 4d 43 38 74 4a 50 33 33 73 28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
1a59a0 0a 74 2f 33 4c 6a 57 65 4a 47 71 76 74 75 78 36 6a 41 41 67 49 46 79 71 43 58 44 46 64 52 6f 6f .t/3LjWeJGqvtux6jAAgIFyqCXDFdRoo
1a59c0 74 44 34 61 62 64 4e 6c 46 2b 39 52 41 73 58 71 71 61 43 32 47 73 70 6b 69 34 63 45 72 78 35 7a tD4abdNlF+9RAsXqqaC2Gspki4cErx5z
1a59e0 34 38 31 2b 6f 67 68 4c 72 47 52 45 74 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 481+oghLrGREt.-----END.CERTIFICA
1a5a00 54 45 2d 2d 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 20 TE-----..thawte.Primary.Root.CA.
1a5a20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -.G2.===========================
1a5a40 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1a5a60 43 69 44 43 43 41 67 32 67 41 77 49 42 41 67 49 51 4e 66 77 6d 58 4e 6d 45 54 38 6b 39 4a 6a 31 CiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1
1a5a80 58 6d 36 37 58 56 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 68 44 45 4c 4d 41 6b Xm67XVjAKBggqhkjOPQQDAzCBhDELMAk
1a5aa0 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 GA1UEBhMC.VVMxFTATBgNVBAoTDHRoYX
1a5ac0 64 30 5a 53 77 67 53 57 35 6a 4c 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 d0ZSwgSW5jLjE4MDYGA1UECxMvKGMpID
1a5ae0 49 77 4d 44 63 67 64 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 0a 49 43 30 67 52 6d 39 79 49 IwMDcgdGhhd3RlLCBJbmMu.IC0gRm9yI
1a5b00 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 GF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiB
1a5b20 67 4e 56 42 41 4d 54 47 33 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 gNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb
1a5b40 33 51 67 0a 51 30 45 67 4c 53 42 48 4d 6a 41 65 46 77 30 77 4e 7a 45 78 4d 44 55 77 4d 44 41 77 3Qg.Q0EgLSBHMjAeFw0wNzExMDUwMDAw
1a5b60 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 67 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 45 4d 51 73 77 MDBaFw0zODAxMTgyMzU5NTlaMIGEMQsw
1a5b80 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 0a 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 CQYDVQQGEwJVUzEV.MBMGA1UEChMMdGh
1a5ba0 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 4d 54 67 77 4e 67 59 44 56 51 51 4c 45 79 38 6f 59 79 6b hd3RlLCBJbmMuMTgwNgYDVQQLEy8oYyk
1a5bc0 67 4d 6a 41 77 4e 79 42 30 61 47 46 33 64 47 55 73 49 45 6c 75 59 79 34 67 4c 53 42 47 0a 62 33 gMjAwNyB0aGF3dGUsIEluYy4gLSBG.b3
1a5be0 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 IgYXV0aG9yaXplZCB1c2Ugb25seTEkMC
1a5c00 49 47 41 31 55 45 41 78 4d 62 64 47 68 68 64 33 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d IGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm
1a5c20 39 76 64 43 42 44 51 53 41 74 0a 49 45 63 79 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 41 9vdCBDQSAt.IEcyMHYwEAYHKoZIzj0CA
1a5c40 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 6f 74 57 63 67 6e 75 56 6e 66 46 53 65 49 66 2b 69 QYFK4EEACIDYgAEotWcgnuVnfFSeIf+i
1a5c60 68 61 2f 42 65 62 66 6f 77 4a 50 44 51 66 47 41 46 47 36 44 41 4a 53 0a 4c 53 4b 6b 51 6a 6e 45 ha/BebfowJPDQfGAFG6DAJS.LSKkQjnE
1a5c80 2f 6f 2f 71 79 63 47 2b 31 45 33 2f 6e 33 71 65 34 72 46 38 6d 71 32 6e 68 67 6c 7a 68 39 48 6e /o/qycG+1E3/n3qe4rF8mq2nhglzh9Hn
1a5ca0 6d 75 4e 36 70 61 70 75 2b 37 71 7a 63 4d 42 6e 69 4b 49 31 31 4b 4f 61 73 66 32 74 77 75 38 78 muN6papu+7qzcMBniKI11KOasf2twu8x
1a5cc0 2b 71 69 35 0a 38 2f 73 49 78 70 48 52 2b 79 6d 56 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d +qi5.8/sIxpHR+ymVo0IwQDAPBgNVHRM
1a5ce0 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 BAf8EBTADAQH/MA4GA1UdDwEB/wQEAwI
1a5d00 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 0a 6d 74 67 41 4d 41 44 6e 61 33 2b 46 47 4f BBjAdBgNVHQ4EFgQU.mtgAMADna3+FGO
1a5d20 36 4c 74 73 36 4b 44 50 67 52 34 62 73 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 51 6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQ
1a5d40 41 77 5a 67 49 78 41 4e 33 34 34 46 64 48 57 36 66 6d 43 73 4f 39 39 59 43 4b 6c 7a 55 4e 0a 47 AwZgIxAN344FdHW6fmCsO99YCKlzUN.G
1a5d60 34 6b 38 56 49 5a 33 4b 4d 71 68 39 48 6e 65 74 65 59 34 73 50 42 6c 63 49 78 2f 41 6c 54 43 76 4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv
1a5d80 2f 2f 59 6f 54 37 5a 7a 77 49 78 41 4d 53 4e 6c 50 7a 63 55 39 4c 63 6e 58 67 57 48 78 55 7a 49 //YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI
1a5da0 31 4e 53 34 31 6f 78 58 5a 33 4b 0a 72 72 30 54 4b 55 51 4e 4a 31 75 6f 35 32 69 63 45 76 64 59 1NS41oxXZ3K.rr0TKUQNJ1uo52icEvdY
1a5dc0 50 79 35 79 41 6c 65 6a 6a 36 45 55 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 Py5yAlejj6EULg==.-----END.CERTIF
1a5de0 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 ICATE-----..thawte.Primary.Root.
1a5e00 43 41 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CA.-.G3.========================
1a5e20 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1a5e40 4d 49 49 45 4b 6a 43 43 41 78 4b 67 41 77 49 42 41 67 49 51 59 41 47 58 74 30 61 6e 36 72 53 30 MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0
1a5e60 6d 74 5a 4c 4c 2f 65 51 2b 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB
1a5e80 72 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f rjELMAkGA1UE.BhMCVVMxFTATBgNVBAo
1a5ea0 54 44 48 52 6f 59 58 64 30 5a 53 77 67 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d TDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxM
1a5ec0 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 fQ2VydGlmaWNhdGlvbiBTZXJ2.aWNlcy
1a5ee0 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 BEaXZpc2lvbjE4MDYGA1UECxMvKGMpID
1a5f00 49 77 4d 44 67 67 64 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 IwMDggdGhhd3RlLCBJbmMuIC0gRm9yIG
1a5f20 46 31 64 47 68 76 0a 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 F1dGhv.cml6ZWQgdXNlIG9ubHkxJDAiB
1a5f40 67 4e 56 42 41 4d 54 47 33 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 gNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb
1a5f60 33 51 67 51 30 45 67 4c 53 42 48 4d 7a 41 65 46 77 30 77 0a 4f 44 41 30 4d 44 49 77 4d 44 41 77 3QgQ0EgLSBHMzAeFw0w.ODA0MDIwMDAw
1a5f80 4d 44 42 61 46 77 30 7a 4e 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 75 4d 51 73 77 MDBaFw0zNzEyMDEyMzU5NTlaMIGuMQsw
1a5fa0 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 68 CQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
1a5fc0 0a 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 4c 45 78 39 44 5a 58 4a .d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ
1a5fe0 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 52 70 64 6d 6c 0aWZpY2F0aW9uIFNlcnZpY2VzIERpdml
1a6000 7a 61 57 39 75 4d 54 67 77 4e 67 59 44 0a 56 51 51 4c 45 79 38 6f 59 79 6b 67 4d 6a 41 77 4f 43 zaW9uMTgwNgYD.VQQLEy8oYykgMjAwOC
1a6020 42 30 61 47 46 33 64 47 55 73 49 45 6c 75 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 B0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG
1a6040 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 49 47 0a 41 31 55 45 41 9yaXplZCB1c2Ugb25seTEkMCIG.A1UEA
1a6060 78 4d 62 64 47 68 68 64 33 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d 39 76 64 43 42 44 51 xMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQ
1a6080 53 41 74 49 45 63 7a 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 SAtIEczMIIBIjANBgkqhkiG9w0BAQEFA
1a60a0 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 73 72 38 6e 4c 50 76 62 32 46 76 64 AOCAQ8A.MIIBCgKCAQEAsr8nLPvb2Fvd
1a60c0 65 48 73 62 6e 6e 64 6d 67 63 73 2b 76 48 79 75 38 36 59 6e 6d 6a 53 6a 61 44 46 78 4f 44 4e 69 eHsbnndmgcs+vHyu86YnmjSjaDFxODNi
1a60e0 35 50 4e 78 5a 6e 6d 78 71 57 57 6a 70 59 76 56 6a 32 41 74 0a 50 30 4c 4d 71 6d 73 79 77 43 50 5PNxZnmxqWWjpYvVj2At.P0LMqmsywCP
1a6100 4c 4c 45 48 64 35 4e 2f 38 59 5a 7a 69 63 37 49 69 6c 52 46 44 47 46 2f 45 74 68 39 58 62 41 6f LLEHd5N/8YZzic7IilRFDGF/Eth9XbAo
1a6120 46 57 43 4c 49 4e 6b 77 36 66 4b 58 52 7a 34 61 76 69 4b 64 45 41 68 4e 30 63 58 4d 4b 51 6c 6b FWCLINkw6fKXRz4aviKdEAhN0cXMKQlk
1a6140 43 0a 2b 42 73 55 61 30 4c 66 62 31 2b 36 61 34 4b 69 6e 56 76 6e 53 72 30 65 41 58 4c 62 53 33 C.+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3
1a6160 54 6f 4f 33 39 2f 66 52 38 45 74 43 61 62 34 4c 52 61 72 45 63 39 56 62 6a 58 73 43 5a 53 4b 41 ToO39/fR8EtCab4LRarEc9VbjXsCZSKA
1a6180 45 78 51 47 62 59 32 53 53 39 39 69 72 59 0a 37 43 46 4a 58 4a 76 32 65 75 6c 2f 56 54 56 2b 6c ExQGbY2SS99irY.7CFJXJv2eul/VTV+l
1a61a0 6d 75 4e 6b 35 4d 6e 79 35 4b 37 36 71 78 41 77 4a 2f 43 2b 49 44 50 58 66 52 61 33 4d 35 30 68 muNk5Mny5K76qxAwJ/C+IDPXfRa3M50h
1a61c0 71 59 2b 62 41 74 54 79 72 32 53 7a 68 6b 47 63 75 59 4d 58 44 68 70 78 77 54 57 0a 76 47 7a 4f qY+bAtTyr2SzhkGcuYMXDhpxwTW.vGzO
1a61e0 57 2f 62 33 61 4a 7a 63 4a 52 56 49 69 4b 48 70 71 66 69 59 6e 4f 44 7a 31 54 45 6f 59 52 46 73 W/b3aJzcJRVIiKHpqfiYnODz1TEoYRFs
1a6200 5a 35 61 4e 4f 5a 6e 4c 77 6b 55 6b 4f 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 Z5aNOZnLwkUkOQIDAQABo0IwQDAPBgNV
1a6220 48 52 4d 42 41 66 38 45 0a 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 HRMBAf8E.BTADAQH/MA4GA1UdDwEB/wQ
1a6240 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 72 57 79 71 6c 47 43 63 37 65 54 EAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT
1a6260 2f 2b 6a 34 4b 64 43 74 6a 41 2f 65 32 57 62 38 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 /+j4KdCtjA/e2Wb8wDQYJ.KoZIhvcNAQ
1a6280 45 4c 42 51 41 44 67 67 45 42 41 42 70 41 32 4a 56 6c 72 41 6d 53 69 63 59 35 39 42 44 6c 71 51 ELBQADggEBABpA2JVlrAmSicY59BDlqQ
1a62a0 35 6d 55 31 31 34 33 76 6f 6b 6b 62 76 6e 52 46 48 66 78 68 59 30 43 75 39 71 52 46 48 71 4b 77 5mU1143vokkbvnRFHfxhY0Cu9qRFHqKw
1a62c0 65 4b 0a 41 33 72 44 36 7a 38 4b 4c 46 49 57 6f 43 74 44 75 53 57 51 50 33 43 70 4d 79 56 74 52 eK.A3rD6z8KLFIWoCtDuSWQP3CpMyVtR
1a62e0 52 6f 6f 4f 79 66 50 71 73 4d 70 51 68 76 66 4f 30 7a 41 4d 7a 52 62 51 59 69 2f 61 79 74 6c 72 RooOyfPqsMpQhvfO0zAMzRbQYi/aytlr
1a6300 79 6a 76 73 76 58 44 71 6d 62 4f 65 31 62 75 0a 74 38 6a 4c 5a 38 48 4a 6e 42 6f 59 75 4d 54 44 yjvsvXDqmbOe1bu.t8jLZ8HJnBoYuMTD
1a6320 53 51 50 78 59 41 35 51 7a 55 62 46 38 33 64 35 39 37 59 56 34 44 6a 62 78 79 38 6f 6f 41 77 2f SQPxYA5QzUbF83d597YV4Djbxy8ooAw/
1a6340 64 79 5a 30 32 53 55 53 32 6a 48 61 47 68 37 63 4b 55 47 52 49 6a 78 70 70 37 73 43 0a 38 72 5a dyZ02SUS2jHaGh7cKUGRIjxpp7sC.8rZ
1a6360 63 4a 77 4f 4a 39 41 62 71 6d 2b 52 79 67 75 4f 68 43 63 48 70 41 42 6e 54 50 74 52 77 61 37 70 cJwOJ9Abqm+RyguOhCcHpABnTPtRwa7p
1a6380 78 70 71 70 59 72 76 53 37 36 57 79 32 37 34 66 4d 6d 37 76 2f 4f 65 5a 57 59 64 4d 4b 70 38 52 xpqpYrvS76Wy274fMm7v/OeZWYdMKp8R
1a63a0 63 54 47 42 37 42 58 63 6d 0a 65 72 2f 59 42 31 49 73 59 76 64 77 59 39 6b 35 76 47 38 63 77 6e cTGB7BXcm.er/YB1IsYvdwY9k5vG8cwn
1a63c0 6e 63 64 69 6d 76 7a 73 55 73 5a 41 52 65 69 44 5a 75 4d 64 52 41 47 6d 49 30 4e 6a 38 31 41 61 ncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa
1a63e0 36 73 59 36 41 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 6sY6A=.-----END.CERTIFICATE-----
1a6400 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e ..GeoTrust.Primary.Certification
1a6420 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Authority.-.G2.================
1a6440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d =============================.--
1a6460 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 72 6a ---BEGIN.CERTIFICATE-----.MIICrj
1a6480 43 43 41 6a 57 67 41 77 49 42 41 67 49 51 50 4c 4c 30 53 41 6f 41 34 76 37 72 4a 44 74 65 59 44 CCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD
1a64a0 37 44 61 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 6d 44 45 4c 4d 41 6b 47 41 31 7DazAKBggqhkjOPQQDAzCBmDELMAkGA1
1a64c0 55 45 42 68 4d 43 0a 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 64 6c 62 31 52 79 64 UEBhMC.VVMxFjAUBgNVBAoTDUdlb1Ryd
1a64e0 58 4e 30 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d XN0IEluYy4xOTA3BgNVBAsTMChjKSAyM
1a6500 44 41 33 49 45 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 0a 59 79 34 67 4c 53 42 47 62 33 49 67 DA3IEdlb1RydXN0IElu.Yy4gLSBGb3Ig
1a6520 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 32 4d 44 51 47 YXV0aG9yaXplZCB1c2Ugb25seTE2MDQG
1a6540 41 31 55 45 41 78 4d 74 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 62 57 46 79 65 53 42 44 A1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
1a6560 0a 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 .ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSA
1a6580 74 49 45 63 79 4d 42 34 58 44 54 41 33 4d 54 45 77 4e 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d tIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM
1a65a0 34 4d 44 45 78 4f 44 49 7a 4e 54 6b 31 0a 4f 56 6f 77 67 5a 67 78 43 7a 41 4a 42 67 4e 56 42 41 4MDExODIzNTk1.OVowgZgxCzAJBgNVBA
1a65c0 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 YTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdC
1a65e0 42 4a 62 6d 4d 75 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 6b 67 0a 4d 6a 41 77 4e BJbmMuMTkwNwYDVQQLEzAoYykg.MjAwN
1a6600 79 42 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 yBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1d
1a6620 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4e 6a 41 30 42 67 4e 56 42 Ghvcml6ZWQgdXNlIG9ubHkxNjA0BgNVB
1a6640 41 4d 54 4c 55 64 6c 0a 62 31 52 79 64 58 4e 30 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 AMTLUdl.b1RydXN0IFByaW1hcnkgQ2Vy
1a6660 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 dGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH
1a6680 4d 6a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 0a 42 53 75 42 42 41 41 69 41 32 49 MjB2MBAGByqGSM49AgEG.BSuBBAAiA2I
1a66a0 41 42 42 57 78 36 50 30 44 46 55 50 6c 72 4f 75 48 4e 78 46 69 37 39 4b 44 4e 6c 4a 39 52 56 63 ABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVc
1a66c0 4c 53 6f 31 37 56 44 73 36 62 6c 38 56 41 73 42 51 70 73 38 6c 4c 33 33 4b 53 4c 6a 48 55 47 4d LSo17VDs6bl8VAsBQps8lL33KSLjHUGM
1a66e0 63 0a 4b 69 45 49 66 4a 6f 32 32 41 76 2b 30 53 62 46 57 44 45 77 4b 43 58 7a 58 56 32 6a 75 4c c.KiEIfJo22Av+0SbFWDEwKCXzXV2juL
1a6700 61 6c 74 4a 4c 74 62 43 79 66 36 39 31 44 69 61 49 38 53 30 69 52 48 56 44 73 4a 74 2f 57 59 43 altJLtbCyf691DiaI8S0iRHVDsJt/WYC
1a6720 36 39 49 61 4e 43 4d 45 41 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 69IaNCMEAwDwYD.VR0TAQH/BAUwAwEB/
1a6740 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OB
1a6760 42 59 45 46 42 56 66 4e 56 64 52 56 66 73 6c 73 71 30 44 61 66 77 42 6f 2f 71 2b 0a 45 56 58 56 BYEFBVfNVdRVfslsq0DafwBo/q+.EVXV
1a6780 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 53 57 57 61 62 6f MAoGCCqGSM49BAMDA2cAMGQCMGSWWabo
1a67a0 43 64 36 4c 75 76 70 61 69 49 6a 77 48 35 48 54 52 71 6a 79 53 6b 77 43 59 2f 74 73 58 7a 6a 62 Cd6LuvpaiIjwH5HTRqjySkwCY/tsXzjb
1a67c0 4c 6b 47 54 71 51 37 6d 0a 6e 64 77 78 48 4c 4b 67 70 78 67 63 65 65 48 48 4e 67 49 77 4f 6c 61 LkGTqQ7m.ndwxHLKgpxgceeHHNgIwOla
1a67e0 76 6d 6e 52 73 39 76 75 44 34 44 50 54 43 46 2b 68 6e 4d 4a 62 6e 30 62 57 74 73 75 52 42 6d 4f vmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmO
1a6800 69 42 75 63 7a 72 44 36 6f 67 52 4c 51 79 37 72 51 6b 67 75 32 0a 6e 70 61 71 42 41 2b 4b 0a 2d iBuczrD6ogRLQy7rQkgu2.npaqBA+K.-
1a6820 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 ----END.CERTIFICATE-----..VeriSi
1a6840 67 6e 20 55 6e 69 76 65 72 73 61 6c 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 gn.Universal.Root.Certification.
1a6860 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Authority.======================
1a6880 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
1a68a0 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 75 54 43 43 41 36 EGIN.CERTIFICATE-----.MIIEuTCCA6
1a68c0 47 67 41 77 49 42 41 67 49 51 51 42 72 45 5a 43 47 7a 45 79 45 44 44 72 76 6b 45 68 72 46 48 54 GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHT
1a68e0 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 76 54 45 4c 4d 41 6b 47 41 31 ANBgkqhkiG9w0BAQsFADCBvTELMAkGA1
1a6900 55 45 0a 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 UE.BhMCVVMxFzAVBgNVBAoTDlZlcmlTa
1a6920 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 WduLCBJbmMuMR8wHQYDVQQLExZWZXJpU
1a6940 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 0a 5a 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 2lnbiBUcnVzdCBO.ZXR3b3JrMTowOAYD
1a6960 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4f 43 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 VQQLEzEoYykgMjAwOCBWZXJpU2lnbiwg
1a6980 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 65 6d 56 6b 0a 49 48 56 SW5jLiAtIEZvciBhdXRob3JpemVk.IHV
1a69a0 7a 5a 53 42 76 62 6d 78 35 4d 54 67 77 4e 67 59 44 56 51 51 44 45 79 39 57 5a 58 4a 70 55 32 6c zZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2l
1a69c0 6e 62 69 42 56 62 6d 6c 32 5a 58 4a 7a 59 57 77 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a nbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZ
1a69e0 70 59 32 46 30 61 57 39 75 0a 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4f 44 pY2F0aW9u.IEF1dGhvcml0eTAeFw0wOD
1a6a00 41 30 4d 44 49 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4e 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 A0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NT
1a6a20 6c 61 4d 49 47 39 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 58 4d 42 55 47 41 laMIG9MQswCQYDVQQGEwJV.UzEXMBUGA
1a6a40 31 55 45 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 7a 41 64 42 1UEChMOVmVyaVNpZ24sIEluYy4xHzAdB
1a6a60 67 4e 56 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e 30 49 45 35 6c 64 gNVBAsTFlZlcmlTaWduIFRydXN0IE5ld
1a6a80 48 64 76 0a 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 79 4d 44 41 34 Hdv.cmsxOjA4BgNVBAsTMShjKSAyMDA4
1a6aa0 49 46 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1
1a6ac0 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 4f 44 41 32 42 67 4e dGhvcml6ZWQgdXNl.IG9ubHkxODA2BgN
1a6ae0 56 42 41 4d 54 4c 31 5a 6c 63 6d 6c 54 61 57 64 75 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 VBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCB
1a6b00 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 47 Sb290IENlcnRpZmljYXRpb24gQXV0.aG
1a6b20 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAA
1a6b40 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 78 32 45 33 58 72 45 42 4e 4e 74 69 31 78 OCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1x
1a6b60 57 62 2f 31 68 61 6a 43 4d 6a 0a 31 6d 43 4f 6b 64 65 51 6d 49 4e 36 35 6c 67 5a 4f 49 7a 46 39 Wb/1hajCMj.1mCOkdeQmIN65lgZOIzF9
1a6b80 75 56 6b 68 62 53 69 63 66 76 74 76 62 6e 61 7a 55 30 41 74 4d 67 74 63 36 58 48 61 58 47 56 48 uVkhbSicfvtvbnazU0AtMgtc6XHaXGVH
1a6ba0 7a 6b 38 73 6b 51 48 6e 4f 67 4f 2b 6b 31 4b 78 43 48 66 4b 57 47 50 0a 4d 69 4a 68 67 73 57 48 zk8skQHnOgO+k1KxCHfKWGP.MiJhgsWH
1a6bc0 48 32 36 4d 66 46 38 57 49 46 46 45 30 58 42 50 56 2b 72 6a 48 4f 50 4d 65 65 35 59 32 41 37 43 H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7C
1a6be0 73 30 57 54 77 43 7a 6e 6d 68 63 72 65 77 41 33 65 6b 45 7a 65 4f 45 7a 34 76 4d 51 47 6e 2b 48 s0WTwCznmhcrewA3ekEzeOEz4vMQGn+H
1a6c00 4c 4c 37 32 0a 39 66 64 43 34 75 57 2f 68 32 4b 4a 58 77 42 4c 33 38 58 64 35 48 56 45 4d 6b 45 LL72.9fdC4uW/h2KJXwBL38Xd5HVEMkE
1a6c20 36 48 6e 46 75 61 63 73 4c 64 55 59 49 30 63 72 53 4b 35 58 51 7a 2f 75 35 51 47 74 6b 6a 46 64 6HnFuacsLdUYI0crSK5XQz/u5QGtkjFd
1a6c40 4e 2f 42 4d 52 65 59 54 74 58 6c 54 32 4e 4a 38 49 0a 41 66 4d 51 4a 51 59 58 53 74 72 78 48 58 N/BMReYTtXlT2NJ8I.AfMQJQYXStrxHX
1a6c60 70 6d 61 35 68 67 5a 71 54 5a 37 39 49 75 67 76 48 77 37 77 6e 71 52 4d 6b 56 61 75 49 44 62 6a pma5hgZqTZ79IugvHw7wnqRMkVauIDbj
1a6c80 50 54 72 4a 39 56 41 4d 66 32 43 47 71 55 75 56 2f 63 34 44 50 78 68 47 44 35 57 79 63 52 0a 74 PTrJ9VAMf2CGqUuV/c4DPxhGD5WycR.t
1a6ca0 50 77 57 38 72 74 57 61 6f 41 6c 6a 51 49 44 41 51 41 42 6f 34 47 79 4d 49 47 76 4d 41 38 47 41 PwW8rtWaoAljQIDAQABo4GyMIGvMA8GA
1a6cc0 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/B
1a6ce0 41 51 44 41 67 45 47 4d 47 30 47 0a 43 43 73 47 41 51 55 46 42 77 45 4d 42 47 45 77 58 36 46 64 AQDAgEGMG0G.CCsGAQUFBwEMBGEwX6Fd
1a6d00 6f 46 73 77 57 54 42 58 4d 46 55 57 43 57 6c 74 59 57 64 6c 4c 32 64 70 5a 6a 41 68 4d 42 38 77 oFswWTBXMFUWCWltYWdlL2dpZjAhMB8w
1a6d20 42 77 59 46 4b 77 34 44 41 68 6f 45 46 49 2f 6c 30 78 71 47 72 49 32 4f 0a 61 38 50 50 67 47 72 BwYFKw4DAhoEFI/l0xqGrI2O.a8PPgGr
1a6d40 55 53 42 67 73 65 78 6b 75 4d 43 55 57 49 32 68 30 64 48 41 36 4c 79 39 73 62 32 64 76 4c 6e 5a USBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZ
1a6d60 6c 63 6d 6c 7a 61 57 64 75 4c 6d 4e 76 62 53 39 32 63 32 78 76 5a 32 38 75 5a 32 6c 6d 4d 42 30 lcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0
1a6d80 47 41 31 55 64 0a 44 67 51 57 42 42 53 32 64 2f 70 70 53 45 65 66 55 78 4c 56 77 75 6f 48 4d 6e GA1Ud.DgQWBBS2d/ppSEefUxLVwuoHMn
1a6da0 59 48 30 5a 63 48 47 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 YH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQ
1a6dc0 45 41 53 76 6a 34 73 41 50 6d 4c 47 64 37 35 4a 52 33 0a 59 38 78 75 54 50 6c 39 44 67 33 63 79 EASvj4sAPmLGd75JR3.Y8xuTPl9Dg3cy
1a6de0 4c 6b 31 75 58 42 50 59 2f 6f 6b 2b 6d 79 44 6a 45 65 64 4f 32 50 7a 6d 76 6c 32 4d 70 57 52 73 Lk1uXBPY/ok+myDjEedO2Pzmvl2MpWRs
1a6e00 58 65 38 72 4a 71 2b 73 65 51 78 49 63 61 42 6c 56 5a 61 44 72 48 43 31 4c 47 6d 57 61 7a 78 0a Xe8rJq+seQxIcaBlVZaDrHC1LGmWazx.
1a6e20 59 38 75 34 54 42 31 5a 6b 45 72 76 6b 42 59 6f 48 31 71 75 45 50 75 42 55 44 67 4d 62 4d 7a 78 Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzx
1a6e40 50 63 50 31 59 2b 4f 7a 34 79 48 4a 4a 44 6e 70 2f 52 56 6d 52 76 51 62 45 64 42 4e 63 36 4e 39 PcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9
1a6e60 52 76 6b 39 37 61 68 66 59 74 54 78 0a 50 2f 6a 67 64 46 63 72 47 4a 32 42 74 4d 51 6f 32 70 53 Rvk97ahfYtTx.P/jgdFcrGJ2BtMQo2pS
1a6e80 58 70 58 44 72 72 42 32 2b 42 78 48 77 31 64 76 64 35 59 7a 77 31 54 4b 77 67 2b 5a 58 34 6f 2b XpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+
1a6ea0 2f 76 71 47 71 76 7a 30 64 74 64 51 34 36 74 65 77 58 44 70 50 61 6a 2b 50 0a 77 47 5a 73 59 36 /vqGqvz0dtdQ46tewXDpPaj+P.wGZsY6
1a6ec0 72 70 32 61 51 57 39 49 48 52 6c 52 51 4f 66 63 32 56 4e 4e 6e 53 6a 33 42 7a 67 58 75 63 66 72 rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr
1a6ee0 32 59 59 64 68 46 68 35 69 51 78 65 75 47 4d 4d 59 31 76 2f 44 2f 77 31 57 49 67 30 76 76 42 5a 2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZ
1a6f00 49 47 63 66 4b 34 0a 6d 4a 4f 33 37 4d 32 43 59 66 45 34 35 6b 2b 58 6d 43 70 61 6a 51 3d 3d 0a IGcfK4.mJO37M2CYfE45k+XmCpajQ==.
1a6f20 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 -----END.CERTIFICATE-----..VeriS
1a6f40 69 67 6e 20 43 6c 61 73 73 20 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 ign.Class.3.Public.Primary.Certi
1a6f60 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 34 0a 3d 3d 3d 3d 3d 3d 3d 3d fication.Authority.-.G4.========
1a6f80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a6fa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1a6fc0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 68 44 43 43 41 77 71 67 41 77 49 CERTIFICATE-----.MIIDhDCCAwqgAwI
1a6fe0 42 41 67 49 51 4c 34 44 2b 49 34 77 4f 49 67 39 49 5a 78 49 6f 6b 59 65 73 73 7a 41 4b 42 67 67 BAgIQL4D+I4wOIg9IZxIokYesszAKBgg
1a7000 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 79 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 qhkjOPQQDAzCByjELMAkGA1UEBhMC.VV
1a7020 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d MxFzAVBgNVBAoTDlZlcmlTaWduLCBJbm
1a7040 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e MuMR8wHQYDVQQLExZWZXJpU2lnbiBUcn
1a7060 56 7a 64 43 42 4f 5a 58 52 33 0a 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 VzdCBOZXR3.b3JrMTowOAYDVQQLEzEoY
1a7080 79 6b 67 4d 6a 41 77 4e 79 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 ykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtI
1a70a0 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 65 6d 56 6b 49 48 56 7a 0a 5a 53 42 76 62 6d 78 35 EZvciBhdXRob3JpemVkIHVz.ZSBvbmx5
1a70c0 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFz
1a70e0 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
1a7100 5a 6d 6c 6a 0a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 Zmlj.YXRpb24gQXV0aG9yaXR5IC0gRzQ
1a7120 77 48 68 63 4e 4d 44 63 78 4d 54 41 31 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 wHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE
1a7140 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 79 6a 45 4c 0a 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4MjM1OTU5WjCByjEL.MAkGA1UEBhMCVV
1a7160 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d MxFzAVBgNVBAoTDlZlcmlTaWduLCBJbm
1a7180 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 0a 63 MuMR8wHQYDVQQLExZWZXJpU2lnbiBU.c
1a71a0 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 nVzdCBOZXR3b3JrMTowOAYDVQQLEzEoY
1a71c0 79 6b 67 4d 6a 41 77 4e 79 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 ykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtI
1a71e0 45 5a 76 63 69 42 68 64 58 52 6f 0a 62 33 4a 70 65 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 EZvciBhdXRo.b3JpemVkIHVzZSBvbmx5
1a7200 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFz
1a7220 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 0a 49 45 4e 6c 63 6e 52 cyAzIFB1YmxpYyBQcmltYXJ5.IENlcnR
1a7240 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 pZmljYXRpb24gQXV0aG9yaXR5IC0gRzQ
1a7260 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 53 wdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAS
1a7280 6e 56 6e 70 38 0a 55 74 70 6b 6d 77 34 74 58 4e 68 65 72 4a 49 39 2f 67 48 6d 47 55 6f 39 46 41 nVnp8.Utpkmw4tXNherJI9/gHmGUo9FA
1a72a0 4e 4c 2b 6d 41 6e 49 4e 6d 44 69 57 6e 36 56 4d 61 61 47 46 35 56 4b 6d 54 65 42 76 61 4e 53 6a NL+mAnINmDiWn6VMaaGF5VKmTeBvaNSj
1a72c0 75 74 45 44 78 6c 50 5a 43 49 42 49 6e 67 4d 47 47 7a 0a 72 6c 30 42 70 33 76 65 66 4c 4b 2b 79 utEDxlPZCIBIngMGGz.rl0Bp3vefLK+y
1a72e0 6d 56 68 41 49 61 75 32 6f 39 37 30 49 6d 74 54 52 31 5a 6d 6b 47 78 76 45 65 41 33 4a 35 69 77 mVhAIau2o970ImtTR1ZmkGxvEeA3J5iw
1a7300 2f 6d 6a 67 62 49 77 67 61 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a /mjgbIwga8wDwYDVR0TAQH/BAUwAwEB.
1a7320 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b 77 59 42 /zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYB
1a7340 42 51 55 48 41 51 77 45 59 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 57 31 68 BQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1h
1a7360 5a 32 55 76 5a 32 6c 6d 4d 43 45 77 0a 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 6a 2b 58 Z2UvZ2lmMCEw.HzAHBgUrDgMCGgQUj+X
1a7380 54 47 6f 61 73 6a 59 35 72 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a 61 48 52 TGoasjY5rw8+AatRIGCx7GS4wJRYjaHR
1a73a0 30 63 44 6f 76 4c 32 78 76 5a 32 38 75 64 6d 56 79 61 58 4e 70 5a 32 34 75 0a 59 32 39 74 4c 33 0cDovL2xvZ28udmVyaXNpZ24u.Y29tL3
1a73c0 5a 7a 62 47 39 6e 62 79 35 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4c 4d 57 6b 66 ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf
1a73e0 33 75 70 6d 37 6b 74 53 35 4a 6a 34 64 34 67 59 44 73 35 62 47 31 4d 41 6f 47 43 43 71 47 53 4d 3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM
1a7400 34 39 42 41 4d 44 0a 41 32 67 41 4d 47 55 43 4d 47 59 68 44 42 67 6d 59 46 6f 34 65 31 5a 43 34 49BAMD.A2gAMGUCMGYhDBgmYFo4e1ZC4
1a7420 4b 66 38 4e 6f 52 52 6b 53 41 73 64 6b 31 44 50 63 51 64 68 43 50 51 72 4e 5a 38 4e 51 62 4f 7a Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOz
1a7440 57 6d 39 6b 41 33 62 62 45 68 43 48 51 36 71 51 67 49 78 0a 41 4a 77 39 53 44 6b 6a 4f 56 67 61 Wm9kA3bbEhCHQ6qQgIx.AJw9SDkjOVga
1a7460 46 52 4a 5a 61 70 37 76 31 56 6d 79 48 56 49 73 6d 58 48 4e 78 79 6e 66 47 79 70 68 65 33 48 52 FRJZap7v1VmyHVIsmXHNxynfGyphe3HR
1a7480 33 76 50 41 35 51 30 36 53 71 6f 74 70 39 69 47 4b 74 30 75 45 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 3vPA5Q06Sqotp9iGKt0uEA==.-----EN
1a74a0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4e 65 74 4c 6f 63 6b 20 41 72 61 6e D.CERTIFICATE-----..NetLock.Aran
1a74c0 79 20 28 43 6c 61 73 73 20 47 6f 6c 64 29 20 46 c5 91 74 61 6e c3 ba 73 c3 ad 74 76 c3 a1 6e 79 y.(Class.Gold).F..tan..s..tv..ny
1a74e0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .===============================
1a7500 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1a7520 2d 2d 2d 2d 2d 0a 4d 49 49 45 46 54 43 43 41 76 32 67 41 77 49 42 41 67 49 47 53 55 45 73 35 41 -----.MIIEFTCCAv2gAwIBAgIGSUEs5A
1a7540 41 51 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 6e 4d 51 73 77 43 51 AQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQ
1a7560 59 44 56 51 51 47 45 77 4a 49 56 54 45 52 4d 41 38 47 0a 41 31 55 45 42 77 77 49 51 6e 56 6b 59 YDVQQGEwJIVTERMA8G.A1UEBwwIQnVkY
1a7580 58 42 6c 63 33 51 78 46 54 41 54 42 67 4e 56 42 41 6f 4d 44 45 35 6c 64 45 78 76 59 32 73 67 53 XBlc3QxFTATBgNVBAoMDE5ldExvY2sgS
1a75a0 32 5a 30 4c 6a 45 33 4d 44 55 47 41 31 55 45 43 77 77 75 56 47 46 75 77 37 70 7a 77 36 31 30 0a 2Z0LjE3MDUGA1UECwwuVGFuw7pzw610.
1a75c0 64 73 4f 68 62 6e 6c 72 61 57 46 6b 77 37 4e 72 49 43 68 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0
1a75e0 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4b 54 45 31 4d 44 4d 47 41 31 55 45 41 77 77 73 aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwws
1a7600 54 6d 56 30 54 47 39 6a 61 79 42 42 0a 63 6d 46 75 65 53 41 6f 51 32 78 68 63 33 4d 67 52 32 39 TmV0TG9jayBB.cmFueSAoQ2xhc3MgR29
1a7620 73 5a 43 6b 67 52 73 57 52 64 47 46 75 77 37 70 7a 77 36 31 30 64 73 4f 68 62 6e 6b 77 48 68 63 sZCkgRsWRdGFuw7pzw610dsOhbnkwHhc
1a7640 4e 4d 44 67 78 4d 6a 45 78 4d 54 55 77 4f 44 49 78 57 68 63 4e 4d 6a 67 78 0a 4d 6a 41 32 4d 54 NMDgxMjExMTUwODIxWhcNMjgx.MjA2MT
1a7660 55 77 4f 44 49 78 57 6a 43 42 70 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 46 55 78 45 54 UwODIxWjCBpzELMAkGA1UEBhMCSFUxET
1a7680 41 50 42 67 4e 56 42 41 63 4d 43 45 4a 31 5a 47 46 77 5a 58 4e 30 4d 52 55 77 45 77 59 44 56 51 APBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQ
1a76a0 51 4b 44 41 78 4f 0a 5a 58 52 4d 62 32 4e 72 49 45 74 6d 64 43 34 78 4e 7a 41 31 42 67 4e 56 42 QKDAxO.ZXRMb2NrIEtmdC4xNzA1BgNVB
1a76c0 41 73 4d 4c 6c 52 68 62 73 4f 36 63 38 4f 74 64 48 62 44 6f 57 35 35 61 32 6c 68 5a 4d 4f 7a 61 AsMLlRhbsO6c8OtdHbDoW55a2lhZMOza
1a76e0 79 41 6f 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 54 5a 58 4a 32 61 57 4e 6c yAoQ2VydGlmaWNhdGlv.biBTZXJ2aWNl
1a7700 63 79 6b 78 4e 54 41 7a 42 67 4e 56 42 41 4d 4d 4c 45 35 6c 64 45 78 76 59 32 73 67 51 58 4a 68 cykxNTAzBgNVBAMMLE5ldExvY2sgQXJh
1a7720 62 6e 6b 67 4b 45 4e 73 59 58 4e 7a 49 45 64 76 62 47 51 70 49 45 62 46 6b 58 52 68 62 73 4f 36 bnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
1a7740 0a 63 38 4f 74 64 48 62 44 6f 57 35 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 .c8OtdHbDoW55MIIBIjANBgkqhkiG9w0
1a7760 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 78 43 52 65 63 37 35 BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75
1a7780 4c 62 52 54 44 6f 66 54 6a 6c 35 42 75 0a 30 6a 42 46 48 6a 7a 75 5a 39 6c 6b 34 42 71 4b 66 38 LbRTDofTjl5Bu.0jBFHjzuZ9lk4BqKf8
1a77a0 6f 77 79 6f 50 6a 49 4d 48 6a 39 44 72 54 6c 46 38 61 66 46 74 74 76 7a 42 50 68 43 66 32 6e 78 owyoPjIMHj9DrTlF8afFttvzBPhCf2nx
1a77c0 39 4a 76 4d 61 5a 43 70 44 79 44 2f 56 2f 51 34 51 33 59 31 47 4c 65 71 56 77 0a 2f 48 70 59 7a 9JvMaZCpDyD/V/Q4Q3Y1GLeqVw./HpYz
1a77e0 59 36 62 37 63 4e 47 62 49 52 77 58 64 72 7a 41 5a 41 6a 2f 45 34 77 71 58 37 68 4a 32 50 6e 37 Y6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7
1a7800 57 51 38 6f 4c 6a 4a 4d 32 50 2b 46 70 44 2f 73 4c 6a 39 31 36 6a 41 77 4a 52 44 43 37 62 56 57 WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVW
1a7820 61 61 65 56 74 41 6b 0a 48 33 42 35 72 39 73 35 56 41 31 6c 64 64 6b 56 51 5a 51 42 72 31 37 73 aaeVtAk.H3B5r9s5VA1lddkVQZQBr17s
1a7840 39 6f 33 78 2f 36 31 6b 2f 69 43 61 31 31 7a 72 2f 71 59 66 43 47 53 6a 69 33 5a 56 72 52 34 37 9o3x/61k/iCa11zr/qYfCGSji3ZVrR47
1a7860 4b 47 41 75 68 79 58 6f 71 71 38 66 78 6d 52 47 49 4c 64 77 0a 66 7a 7a 65 53 4e 75 57 55 37 63 KGAuhyXoqq8fxmRGILdw.fzzeSNuWU7c
1a7880 35 64 2b 51 61 34 73 63 57 68 48 61 58 57 79 2b 37 47 52 57 46 2b 47 6d 46 39 5a 6d 6e 71 66 49 5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI
1a78a0 30 70 36 6d 32 70 67 50 38 62 34 59 39 56 48 78 32 42 4a 74 72 2b 55 42 64 41 44 54 48 4c 70 6c 0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl
1a78c0 31 0a 6e 65 57 49 41 36 70 4e 2b 41 50 53 51 6e 62 41 47 77 49 44 41 4b 69 4c 6f 30 55 77 51 7a 1.neWIA6pN+APSQnbAGwIDAKiLo0UwQz
1a78e0 41 53 42 67 4e 56 48 52 4d 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 45 4d 41 34 47 41 31 ASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1
1a7900 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 0a 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 7a UdDwEB/wQEAwIB.BjAdBgNVHQ4EFgQUz
1a7920 50 70 6e 6b 2f 43 32 75 4e 43 6c 77 42 37 7a 55 2f 32 4d 55 39 2b 44 31 35 59 77 44 51 59 4a 4b Ppnk/C2uNClwB7zU/2MU9+D15YwDQYJK
1a7940 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 4b 74 2f 37 68 77 57 0a 71 5a 77 38 oZIhvcNAQELBQADggEBAKt/7hwW.qZw8
1a7960 55 51 43 67 77 42 45 49 42 61 65 5a 35 6d 38 42 69 46 52 68 62 76 47 35 47 4b 31 4b 72 66 36 42 UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6B
1a7980 51 43 4f 55 4c 2f 74 31 66 43 38 6f 53 32 49 6b 67 59 49 4c 39 57 48 78 48 47 36 34 59 54 6a 72 QCOUL/t1fC8oS2IkgYIL9WHxHG64YTjr
1a79a0 67 66 70 69 6f 54 74 61 0a 59 74 4f 55 5a 63 54 68 35 6d 32 43 2b 43 38 6c 63 4c 49 68 4a 73 46 gfpioTta.YtOUZcTh5m2C+C8lcLIhJsF
1a79c0 79 55 52 2b 4d 4c 4d 4f 45 6b 4d 4e 61 6a 37 72 50 39 4b 64 6c 70 65 75 59 30 66 73 46 73 6b 5a yUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ
1a79e0 31 46 53 4e 71 62 34 56 6a 4d 49 44 77 31 5a 34 66 4b 52 7a 43 0a 62 4c 42 51 57 56 32 51 57 7a 1FSNqb4VjMIDw1Z4fKRzC.bLBQWV2QWz
1a7a00 75 6f 44 54 44 50 76 33 31 2f 7a 76 47 64 67 37 33 4a 52 6d 34 67 70 76 6c 68 55 62 6f 68 4c 33 uoDTDPv31/zvGdg73JRm4gpvlhUbohL3
1a7a20 75 2b 70 52 56 6a 6f 64 53 56 68 2f 47 65 75 66 4f 4a 38 7a 32 46 75 4c 6a 62 76 72 57 35 4b 66 u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kf
1a7a40 6e 61 0a 4e 77 55 41 53 5a 51 44 68 45 54 6e 76 30 4d 78 7a 33 57 4c 4a 64 48 30 70 6d 54 31 6b na.NwUASZQDhETnv0Mxz3WLJdH0pmT1k
1a7a60 76 61 72 42 65 73 39 36 61 55 4c 4e 6d 4c 61 7a 41 5a 66 4e 6f 75 32 58 6a 47 34 4b 76 74 65 39 varBes96aULNmLazAZfNou2XjG4Kvte9
1a7a80 6e 48 66 52 43 61 65 78 4f 59 4e 6b 62 51 75 0a 64 5a 57 41 55 57 70 4c 4d 4b 61 77 59 71 47 54 nHfRCaexOYNkbQu.dZWAUWpLMKawYqGT
1a7aa0 38 5a 76 59 7a 73 52 6a 64 54 39 5a 52 37 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 8ZvYzsRjdT9ZR7E=.-----END.CERTIF
1a7ac0 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 ICATE-----..Staat.der.Nederlande
1a7ae0 6e 20 52 6f 6f 74 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.Root.CA.-.G2.=================
1a7b00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1a7b20 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 79 6a 43 43 41 37 4b 67 41 77 49 42 41 67 TIFICATE-----.MIIFyjCCA7KgAwIBAg
1a7b40 49 45 41 4a 69 57 6a 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 IEAJiWjDANBgkqhkiG9w0BAQsFADBaMQ
1a7b60 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 swCQYDVQQGEwJOTDEeMBwGA1UE.CgwVU
1a7b80 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 73 77 4b 3RhYXQgZGVyIE5lZGVybGFuZGVuMSswK
1a7ba0 51 59 44 56 51 51 44 44 43 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 QYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsY
1a7bc0 57 35 6b 5a 57 34 67 0a 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 34 W5kZW4g.Um9vdCBDQSAtIEcyMB4XDTA4
1a7be0 4d 44 4d 79 4e 6a 45 78 4d 54 67 78 4e 31 6f 58 44 54 49 77 4d 44 4d 79 4e 54 45 78 4d 44 4d 78 MDMyNjExMTgxN1oXDTIwMDMyNTExMDMx
1a7c00 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a 41 63 42 67 4e MFowWjELMAkGA1UEBhMC.TkwxHjAcBgN
1a7c20 56 42 41 6f 4d 46 56 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d 78 68 62 6d 52 VBAoMFVN0YWF0IGRlciBOZWRlcmxhbmR
1a7c40 6c 62 6a 45 72 4d 43 6b 47 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 lbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5
1a7c60 6c 0a 5a 47 56 79 62 47 46 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 6a l.ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMj
1a7c80 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 CCAiIwDQYJKoZIhvcNAQEBBQADggIPAD
1a7ca0 43 43 41 67 6f 43 67 67 49 42 41 4d 56 5a 0a 35 32 39 31 71 6a 35 4c 6e 4c 57 34 72 4a 34 4c 35 CCAgoCggIBAMVZ.5291qj5LnLW4rJ4L5
1a7cc0 50 6e 5a 79 71 74 64 6a 37 55 35 45 49 4c 58 72 31 48 67 4f 2b 45 41 53 47 72 50 32 75 45 47 51 PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQ
1a7ce0 78 47 5a 71 68 51 6c 45 71 30 69 36 41 42 74 51 38 53 70 75 4f 55 66 69 55 74 6e 0a 76 57 46 49 xGZqhQlEq0i6ABtQ8SpuOUfiUtn.vWFI
1a7d00 37 2f 33 53 34 47 43 49 35 62 6b 59 59 43 6a 44 64 79 75 74 73 44 65 71 4e 39 35 6b 57 53 70 47 7/3S4GCI5bkYYCjDdyutsDeqN95kWSpG
1a7d20 56 2b 52 4c 75 66 67 33 66 4e 55 32 35 34 44 42 74 76 50 55 5a 35 75 57 36 4d 37 58 78 67 70 54 V+RLufg3fNU254DBtvPUZ5uW6M7XxgpT
1a7d40 30 47 74 4a 6c 76 4f 6a 0a 43 77 56 33 53 50 63 6c 35 58 43 73 4d 42 51 67 4a 65 4e 2f 64 56 72 0GtJlvOj.CwV3SPcl5XCsMBQgJeN/dVr
1a7d60 6c 53 50 68 4f 65 77 4d 48 42 50 71 43 59 59 64 75 38 44 76 45 70 4d 66 51 39 58 51 2b 70 56 30 lSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0
1a7d80 61 43 50 4b 62 4a 64 4c 32 72 41 51 6d 50 6c 55 36 59 69 69 6c 0a 65 37 49 77 72 2f 67 33 77 74 aCPKbJdL2rAQmPlU6Yiil.e7Iwr/g3wt
1a7da0 47 36 31 6a 6a 39 39 4f 39 4a 4d 44 65 5a 4a 69 46 49 68 51 47 70 35 52 62 6e 33 4a 42 56 33 77 G61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w
1a7dc0 2f 6f 4f 4d 32 5a 4e 79 46 50 58 66 55 69 62 32 72 46 45 68 5a 67 46 31 58 79 5a 57 61 6d 70 7a /oOM2ZNyFPXfUib2rFEhZgF1XyZWampz
1a7de0 43 52 0a 4f 4d 45 34 48 59 59 45 68 4c 6f 61 4a 58 68 65 6e 61 2f 4d 55 47 44 57 45 34 64 53 37 CR.OME4HYYEhLoaJXhena/MUGDWE4dS7
1a7e00 57 4d 66 62 57 56 39 77 68 55 59 64 4d 72 68 66 6d 51 70 6a 48 4c 59 46 68 4e 39 43 30 6c 4b 38 WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8
1a7e20 53 67 62 49 48 52 72 78 54 33 64 73 4b 70 49 0a 43 54 30 75 67 70 54 4e 47 6d 58 5a 4b 34 69 61 SgbIHRrxT3dsKpI.CT0ugpTNGmXZK4ia
1a7e40 6d 62 77 59 66 70 2f 75 66 57 5a 38 50 72 32 55 75 49 48 4f 7a 5a 67 77 65 4d 46 76 5a 39 43 2b mbwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+
1a7e60 58 2b 42 6f 37 64 37 69 73 63 6b 73 57 58 69 53 71 74 38 72 59 47 50 79 35 56 36 35 0a 34 38 72 X+Bo7d7iscksWXiSqt8rYGPy5V65.48r
1a7e80 36 66 31 43 47 50 71 49 30 47 41 77 4a 61 43 67 52 48 4f 54 68 75 56 77 2b 52 37 6f 79 50 78 6a 6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxj
1a7ea0 4d 57 34 54 31 38 32 74 30 78 48 4a 30 34 65 4f 4c 6f 45 71 39 6a 57 59 76 36 71 30 31 32 69 44 MW4T182t0xHJ04eOLoEq9jWYv6q012iD
1a7ec0 54 69 49 4a 68 38 42 49 69 0a 74 72 7a 51 31 61 54 73 72 31 53 49 4a 53 51 38 70 32 32 78 63 69 TiIJh8BIi.trzQ1aTsr1SIJSQ8p22xci
1a7ee0 6b 2f 50 6c 65 6d 66 31 57 76 62 69 62 47 2f 75 66 4d 51 46 78 52 52 49 45 4b 65 4e 35 4b 7a 6c k/Plemf1WvbibG/ufMQFxRRIEKeN5Kzl
1a7f00 57 2f 48 64 58 5a 74 31 62 76 38 48 62 2f 43 33 6d 31 72 37 33 37 0a 71 57 6d 52 52 70 64 6f 67 W/HdXZt1bv8Hb/C3m1r737.qWmRRpdog
1a7f20 42 51 32 48 62 4e 2f 75 79 6d 59 4e 71 55 67 2b 6f 4a 67 59 6a 4f 6b 37 4e 61 36 42 36 64 75 78 BQ2HbN/uymYNqUg+oJgYjOk7Na6B6dux
1a7f40 63 38 55 70 75 66 57 6b 6a 54 59 67 66 58 38 48 56 32 71 58 42 37 32 6f 30 30 37 75 50 63 35 41 c8UpufWkjTYgfX8HV2qXB72o007uPc5A
1a7f60 67 4d 42 0a 41 41 47 6a 67 5a 63 77 67 5a 51 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 gMB.AAGjgZcwgZQwDwYDVR0TAQH/BAUw
1a7f80 41 77 45 42 2f 7a 42 53 42 67 4e 56 48 53 41 45 53 7a 42 4a 4d 45 63 47 42 46 55 64 49 41 41 77 AwEB/zBSBgNVHSAESzBJMEcGBFUdIAAw
1a7fa0 50 7a 41 39 42 67 67 72 42 67 45 46 42 51 63 43 0a 41 52 59 78 61 48 52 30 63 44 6f 76 4c 33 64 PzA9BggrBgEFBQcC.ARYxaHR0cDovL3d
1a7fc0 33 64 79 35 77 61 32 6c 76 64 6d 56 79 61 47 56 70 5a 43 35 75 62 43 39 77 62 32 78 70 59 32 6c 3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2l
1a7fe0 6c 63 79 39 79 62 32 39 30 4c 58 42 76 62 47 6c 6a 65 53 31 48 4d 6a 41 4f 42 67 4e 56 0a 48 51 lcy9yb290LXBvbGljeS1HMjAOBgNV.HQ
1a8000 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 46 6f 4d 6f 8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMo
1a8020 63 56 48 59 6e 69 74 66 47 73 4e 69 67 30 6a 51 74 38 59 6f 6a 72 4d 41 30 47 43 53 71 47 53 49 cVHYnitfGsNig0jQt8YojrMA0GCSqGSI
1a8040 62 33 44 51 45 42 43 77 55 41 0a 41 34 49 43 41 51 43 6f 51 55 70 6e 4b 70 4b 42 67 6c 42 75 34 b3DQEBCwUA.A4ICAQCoQUpnKpKBglBu4
1a8060 64 66 59 73 7a 6b 37 38 77 49 56 43 56 42 52 37 79 32 39 4a 48 75 49 68 6a 76 35 74 4c 79 53 43 dfYszk78wIVCVBR7y29JHuIhjv5tLySC
1a8080 5a 61 35 39 73 43 72 49 32 41 47 65 59 77 52 54 6c 48 53 65 59 41 7a 0a 2b 35 31 49 76 75 78 42 Za59sCrI2AGeYwRTlHSeYAz.+51IvuxB
1a80a0 51 34 45 66 66 6b 64 41 48 4f 56 36 43 4d 71 71 69 33 57 74 46 4d 54 43 36 47 59 38 67 67 65 6e Q4EffkdAHOV6CMqqi3WtFMTC6GY8ggen
1a80c0 35 69 65 43 57 78 6a 6d 44 32 37 5a 55 44 36 4b 51 68 67 70 78 72 52 57 2f 46 59 51 6f 41 55 58 5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUX
1a80e0 76 51 77 6a 0a 66 2f 53 54 37 5a 77 61 55 62 37 64 52 55 47 2f 6b 53 53 30 48 34 7a 70 58 38 39 vQwj.f/ST7ZwaUb7dRUG/kSS0H4zpX89
1a8100 37 49 5a 6d 66 6c 5a 38 35 4f 6b 59 63 62 50 6e 4e 65 35 79 51 7a 53 69 70 78 36 6c 56 75 36 78 7IZmflZ85OkYcbPnNe5yQzSipx6lVu6x
1a8120 69 4e 47 49 31 45 30 73 55 4f 6c 57 44 75 59 61 4e 0a 6b 71 62 47 39 41 63 6c 56 4d 77 57 56 78 iNGI1E0sUOlWDuYaN.kqbG9AclVMwWVx
1a8140 4a 4b 67 6e 6a 49 46 4e 6b 58 67 69 59 74 58 53 41 66 65 61 37 2b 31 48 41 57 46 70 57 44 32 44 JKgnjIFNkXgiYtXSAfea7+1HAWFpWD2D
1a8160 55 35 2f 31 4a 64 64 52 77 57 78 52 4e 56 7a 30 66 4d 64 57 56 53 53 74 37 77 73 4b 66 6b 0a 43 U5/1JddRwWxRNVz0fMdWVSSt7wsKfk.C
1a8180 70 59 4c 2b 36 33 43 34 69 57 45 73 74 33 6b 76 58 35 5a 62 4a 76 77 38 4e 6a 6e 79 76 4c 70 6c pYL+63C4iWEst3kvX5ZbJvw8NjnyvLpl
1a81a0 7a 68 2b 69 62 37 4d 2b 7a 6b 58 59 54 39 79 32 7a 71 52 32 47 55 42 47 52 32 74 55 4b 52 58 43 zh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXC
1a81c0 6e 78 4c 76 4a 78 78 63 79 70 46 0a 55 52 6d 46 7a 49 37 39 52 36 64 30 6c 52 32 6f 30 61 39 4f nxLvJxxcypF.URmFzI79R6d0lR2o0a9O
1a81e0 46 37 46 70 4a 73 4b 71 65 46 64 62 78 55 32 6e 35 5a 34 46 46 35 54 4b 73 6c 2b 67 53 52 69 4e F7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiN
1a8200 4e 4f 6b 6d 62 45 67 65 71 6d 69 53 42 65 47 43 63 31 71 62 33 41 64 62 0a 43 47 31 39 6e 64 65 NOkmbEgeqmiSBeGCc1qb3Adb.CG19nde
1a8220 4e 49 64 6e 38 46 43 43 71 77 6b 58 66 50 2b 63 41 73 6c 48 6b 77 76 67 46 75 58 6b 61 6a 44 54 NIdn8FCCqwkXfP+cAslHkwvgFuXkajDT
1a8240 7a 6e 6c 76 6b 4e 31 74 72 53 74 38 73 56 34 70 41 57 6a 61 36 33 58 56 45 43 44 64 43 63 41 7a znlvkN1trSt8sV4pAWja63XVECDdCcAz
1a8260 2b 33 46 34 68 0a 6f 4b 4f 4b 77 4a 43 63 61 4e 70 51 35 6b 55 51 52 33 69 32 54 74 4a 6c 79 63 +3F4h.oKOKwJCcaNpQ5kUQR3i2TtJlyc
1a8280 4d 33 33 2b 46 43 59 37 42 58 4e 30 55 74 65 34 71 63 76 77 58 71 5a 56 55 7a 39 7a 6b 51 78 53 M33+FCY7BXN0Ute4qcvwXqZVUz9zkQxS
1a82a0 67 71 49 58 6f 62 69 73 51 6b 2b 54 38 56 79 4a 6f 56 0a 49 50 56 56 59 70 62 74 62 5a 4e 51 76 gqIXobisQk+T8VyJoV.IPVVYpbtbZNQv
1a82c0 4f 53 71 65 4b 33 5a 79 77 70 6c 68 36 5a 6d 77 63 53 42 6f 33 63 36 57 42 34 4c 37 6f 4f 4c 6e OSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLn
1a82e0 52 37 53 55 71 54 4d 48 57 2b 77 6d 47 32 55 4d 62 58 34 63 51 72 63 75 66 78 39 4d 6d 44 6d 0a R7SUqTMHW+wmG2UMbX4cQrcufx9MmDm.
1a8300 36 36 2b 4b 41 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 66+KAQ==.-----END.CERTIFICATE---
1a8320 2d 2d 0a 0a 48 6f 6e 67 6b 6f 6e 67 20 50 6f 73 74 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d --..Hongkong.Post.Root.CA.1.====
1a8340 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1a8360 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4d 44 43 43 41 68 69 67 41 77 49 42 ERTIFICATE-----.MIIDMDCCAhigAwIB
1a8380 41 67 49 43 41 2b 67 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 4c AgICA+gwDQYJKoZIhvcNAQEFBQAwRzEL
1a83a0 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 45 73 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 0a 44 55 68 MAkGA1UEBhMCSEsxFjAUBgNVBAoT.DUh
1a83c0 76 62 6d 64 72 62 32 35 6e 49 46 42 76 63 33 51 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 68 vbmdrb25nIFBvc3QxIDAeBgNVBAMTF0h
1a83e0 76 62 6d 64 72 62 32 35 6e 49 46 42 76 63 33 51 67 55 6d 39 76 64 43 42 44 51 53 41 78 4d 42 34 vbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4
1a8400 58 44 54 41 7a 4d 44 55 78 0a 4e 54 41 31 4d 54 4d 78 4e 46 6f 58 44 54 49 7a 4d 44 55 78 4e 54 XDTAzMDUx.NTA1MTMxNFoXDTIzMDUxNT
1a8420 41 30 4e 54 49 79 4f 56 6f 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 45 73 78 46 6a A0NTIyOVowRzELMAkGA1UEBhMCSEsxFj
1a8440 41 55 42 67 4e 56 42 41 6f 54 44 55 68 76 62 6d 64 72 62 32 35 6e 0a 49 46 42 76 63 33 51 78 49 AUBgNVBAoTDUhvbmdrb25n.IFBvc3QxI
1a8460 44 41 65 42 67 4e 56 42 41 4d 54 46 30 68 76 62 6d 64 72 62 32 35 6e 49 46 42 76 63 33 51 67 55 DAeBgNVBAMTF0hvbmdrb25nIFBvc3QgU
1a8480 6d 39 76 64 43 42 44 51 53 41 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 m9vdCBDQSAxMIIBIjANBgkqhkiG9w0BA
1a84a0 51 45 46 0a 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 72 50 38 34 74 75 6c 6d QEF.AAOCAQ8AMIIBCgKCAQEArP84tulm
1a84c0 41 6b 6e 6a 6f 72 54 68 6b 50 6c 41 6a 33 6e 35 34 72 31 35 2f 67 4b 39 37 69 53 53 48 53 4c 32 AknjorThkPlAj3n54r15/gK97iSSHSL2
1a84e0 32 6f 56 79 61 66 37 58 50 77 6e 55 33 5a 47 31 0a 41 70 7a 51 6a 56 72 68 56 63 4e 51 68 72 6b 2oVyaf7XPwnU3ZG1.ApzQjVrhVcNQhrk
1a8500 70 4a 73 4c 6a 32 61 44 78 61 51 4d 6f 49 49 42 46 49 69 31 57 70 7a 74 55 6c 56 59 69 57 52 38 pJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8
1a8520 6f 33 78 38 67 50 57 32 69 4e 72 34 6a 6f 4c 46 75 74 62 45 6e 50 7a 6c 54 43 65 71 72 0a 61 75 o3x8gPW2iNr4joLFutbEnPzlTCeqr.au
1a8540 68 30 73 73 4a 6c 58 49 36 2f 66 4d 4e 34 68 4d 32 65 46 76 7a 31 4c 6b 38 67 4b 67 69 66 64 2f h0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/
1a8560 50 46 48 73 53 61 55 6d 59 65 53 46 37 6a 45 41 61 50 49 70 6a 68 5a 59 34 62 58 53 4e 6d 4f 37 PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7
1a8580 69 6c 4d 6c 48 49 68 71 71 68 0a 71 5a 35 2f 64 70 54 43 70 6d 79 33 51 66 44 56 79 41 59 34 35 ilMlHIhqqh.qZ5/dpTCpmy3QfDVyAY45
1a85a0 74 51 4d 34 76 4d 37 54 47 31 51 6a 4d 53 44 4a 38 45 54 68 46 6b 39 6e 6e 56 30 74 74 67 43 58 tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCX
1a85c0 6a 71 51 65 73 42 43 4e 6e 4c 73 61 6b 33 63 37 38 51 41 33 78 4d 59 0a 56 31 38 6d 65 4d 6a 57 jqQesBCNnLsak3c78QA3xMY.V18meMjW
1a85e0 43 6e 6c 33 76 2f 65 76 74 33 61 35 70 51 75 45 46 31 30 51 36 6d 2f 68 71 35 55 52 58 32 30 38 Cnl3v/evt3a5pQuEF10Q6m/hq5URX208
1a8600 6f 31 78 4e 67 31 76 79 73 78 6d 4b 67 49 73 4c 68 77 49 44 41 51 41 42 6f 79 59 77 4a 44 41 53 o1xNg1vysxmKgIsLhwIDAQABoyYwJDAS
1a8620 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 44 4d 41 34 47 41 31 55 BgNV.HRMBAf8ECDAGAQH/AgEDMA4GA1U
1a8640 64 44 77 45 42 2f 77 51 45 41 77 49 42 78 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 dDwEB/wQEAwIBxjANBgkqhkiG9w0BAQU
1a8660 46 41 41 4f 43 41 51 45 41 44 6b 62 56 50 4b 37 69 0a 68 39 6c 65 67 59 73 43 6d 45 45 49 6a 45 FAAOCAQEADkbVPK7i.h9legYsCmEEIjE
1a8680 79 38 32 74 76 75 4a 78 75 43 35 32 70 46 37 42 61 4c 54 34 57 67 38 37 4a 77 76 56 71 57 75 73 y82tvuJxuC52pF7BaLT4Wg87JwvVqWus
1a86a0 70 75 62 65 35 47 69 32 37 6e 4b 69 36 57 73 78 6b 7a 36 37 53 66 71 4c 49 33 37 70 69 6f 0a 6c pube5Gi27nKi6Wsxkz67SfqLI37pio.l
1a86c0 37 59 75 74 6d 63 6e 31 4b 5a 4a 2f 52 79 54 5a 58 61 65 51 69 2f 63 49 6d 79 61 54 2f 4a 61 46 7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaF
1a86e0 54 6d 78 63 64 63 72 55 65 68 74 48 4a 6a 41 32 53 72 30 6f 59 4a 37 31 63 6c 42 6f 69 4d 42 64 TmxcdcrUehtHJjA2Sr0oYJ71clBoiMBd
1a8700 44 68 56 69 77 2b 35 4c 6d 65 69 0a 49 41 51 33 32 70 77 4c 30 78 63 68 34 49 2b 58 65 54 52 76 DhViw+5Lmei.IAQ32pwL0xch4I+XeTRv
1a8720 68 45 67 43 49 44 4d 62 35 6a 52 45 6e 35 46 77 39 49 42 65 68 45 50 43 4b 64 4a 73 45 68 54 6b hEgCIDMb5jREn5Fw9IBehEPCKdJsEhTk
1a8740 59 59 32 73 45 4a 43 65 68 46 43 37 38 4a 5a 76 52 5a 2b 4b 38 38 70 73 0a 54 2f 6f 52 4f 68 55 YY2sEJCehFC78JZvRZ+K88ps.T/oROhU
1a8760 56 52 73 50 4e 48 34 4e 62 4c 55 45 53 37 56 42 6e 51 52 4d 39 49 61 75 55 69 71 70 4f 66 4d 47 VRsPNH4NbLUES7VBnQRM9IauUiqpOfMG
1a8780 78 2b 36 66 57 74 53 63 76 6c 36 74 75 34 42 33 69 30 52 77 73 48 30 54 69 2f 4c 36 52 6f 5a 7a x+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz
1a87a0 37 31 69 6c 54 0a 63 34 61 66 55 39 68 44 44 6c 33 57 59 34 4a 78 48 59 42 30 79 76 62 69 41 6d 71ilT.c4afU9hDDl3WY4JxHYB0yvbiAm
1a87c0 76 5a 57 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d vZWg==.-----END.CERTIFICATE-----
1a87e0 0a 0a 53 65 63 75 72 65 53 69 67 6e 20 52 6f 6f 74 43 41 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..SecureSign.RootCA11.==========
1a8800 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1a8820 2d 2d 2d 2d 2d 0a 4d 49 49 44 62 54 43 43 41 6c 57 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 -----.MIIDbTCCAlWgAwIBAgIBATANBg
1a8840 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 kqhkiG9w0BAQUFADBYMQswCQYDVQQGEw
1a8860 4a 4b 55 44 45 72 4d 43 6b 47 41 31 55 45 43 68 4d 69 0a 53 6d 46 77 59 57 34 67 51 32 56 79 64 JKUDErMCkGA1UEChMi.SmFwYW4gQ2Vyd
1a8880 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 61 57 4e 6c 63 79 77 67 53 57 35 6a 4c GlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jL
1a88a0 6a 45 63 4d 42 6f 47 41 31 55 45 41 78 4d 54 55 32 56 6a 64 58 4a 6c 55 32 6c 6e 62 69 42 53 0a jEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS.
1a88c0 62 32 39 30 51 30 45 78 4d 54 41 65 46 77 30 77 4f 54 41 30 4d 44 67 77 4e 44 55 32 4e 44 64 61 b290Q0ExMTAeFw0wOTA0MDgwNDU2NDda
1a88e0 46 77 30 79 4f 54 41 30 4d 44 67 77 4e 44 55 32 4e 44 64 61 4d 46 67 78 43 7a 41 4a 42 67 4e 56 Fw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNV
1a8900 42 41 59 54 41 6b 70 51 4d 53 73 77 0a 4b 51 59 44 56 51 51 4b 45 79 4a 4b 59 58 42 68 62 69 42 BAYTAkpQMSsw.KQYDVQQKEyJKYXBhbiB
1a8920 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4c 43 42 DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCB
1a8940 4a 62 6d 4d 75 4d 52 77 77 47 67 59 44 56 51 51 44 45 78 4e 54 5a 57 4e 31 0a 63 6d 56 54 61 57 JbmMuMRwwGgYDVQQDExNTZWN1.cmVTaW
1a8960 64 75 49 46 4a 76 62 33 52 44 51 54 45 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 duIFJvb3RDQTExMIIBIjANBgkqhkiG9w
1a8980 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 2f 58 65 71 70 52 0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpR
1a89a0 79 51 42 54 76 4c 0a 54 4a 73 7a 69 31 6f 55 52 61 54 6e 6b 42 62 52 33 31 66 53 49 52 43 6b 46 yQBTvL.TJszi1oURaTnkBbR31fSIRCkF
1a89c0 2f 33 66 72 4e 59 66 70 2b 54 62 66 50 66 73 33 37 67 44 32 70 52 59 2f 56 31 79 66 49 77 2f 58 /3frNYfp+TbfPfs37gD2pRY/V1yfIw/X
1a89e0 77 46 6e 64 42 57 57 34 77 49 38 68 39 75 75 79 77 47 4f 0a 77 76 4e 6d 78 6f 56 46 39 41 4c 47 wFndBWW4wI8h9uuywGO.wvNmxoVF9ALG
1a8a00 4f 72 56 69 73 71 2f 36 6e 4c 2b 6b 35 74 53 41 4d 4a 6a 7a 44 62 61 54 6a 36 6e 55 32 44 62 79 OrVisq/6nL+k5tSAMJjzDbaTj6nU2Dby
1a8a20 73 50 79 4b 79 69 79 68 46 54 4f 56 4d 64 72 41 47 2f 4c 75 59 70 6d 47 59 7a 2b 2f 33 5a 4d 71 sPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
1a8a40 0a 67 36 68 32 75 52 4d 66 74 38 35 4f 51 6f 57 50 49 75 63 75 47 76 4b 56 43 62 49 46 74 55 52 .g6h2uRMft85OQoWPIucuGvKVCbIFtUR
1a8a60 4f 64 36 45 67 76 61 6e 79 54 67 70 39 55 4b 33 31 42 51 31 46 54 30 5a 78 2f 53 67 2b 55 2f 73 Od6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/s
1a8a80 45 32 43 33 58 5a 52 31 4b 47 2f 72 50 0a 4f 37 41 78 6d 6a 56 75 79 49 73 47 30 77 43 52 38 70 E2C3XZR1KG/rP.O7AxmjVuyIsG0wCR8p
1a8aa0 51 49 5a 55 79 78 4e 41 59 41 65 6f 6e 69 38 4d 63 44 57 63 2f 56 31 75 69 6e 4d 72 50 6d 6d 45 QIZUyxNAYAeoni8McDWc/V1uinMrPmmE
1a8ac0 43 47 78 63 30 6e 45 6f 76 4d 65 38 36 33 45 54 78 69 59 41 63 6a 50 69 74 41 0a 62 70 53 41 43 CGxc0nEovMe863ETxiYAcjPitA.bpSAC
1a8ae0 57 32 32 73 32 39 33 62 7a 55 49 55 50 73 43 68 38 55 2b 69 51 49 44 41 51 41 42 6f 30 49 77 51 W22s293bzUIUPsCh8U+iQIDAQABo0IwQ
1a8b00 44 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 57 2f 68 4e 54 37 4b 6c 68 74 51 36 30 76 46 6a 6d DAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjm
1a8b20 71 43 2b 43 66 5a 58 0a 74 39 34 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 qC+CfZX.t94wDgYDVR0PAQH/BAQDAgEG
1a8b40 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
1a8b60 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 43 68 0a 4f 42 5a 6d 4c 71 64 57 48 79 47 hvcNAQEFBQADggEBAKCh.OBZmLqdWHyG
1a8b80 63 42 76 6f 64 37 62 6b 69 78 54 67 6d 32 45 35 50 37 4b 4e 2f 65 64 35 47 49 61 47 48 64 34 38 cBvod7bkixTgm2E5P7KN/ed5GIaGHd48
1a8ba0 48 43 4a 71 79 70 4d 57 76 44 7a 4b 59 43 33 78 6d 4b 62 61 62 66 53 56 53 53 55 4f 72 54 43 34 HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4
1a8bc0 72 0a 62 6e 70 77 72 78 59 4f 34 77 4a 73 2b 30 4c 6d 47 4a 31 46 32 46 58 49 36 44 76 64 35 2b r.bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+
1a8be0 48 30 4c 67 73 63 4e 46 78 73 57 45 72 37 6a 49 68 51 58 35 55 63 76 2b 32 72 49 72 56 6c 73 34 H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4
1a8c00 57 36 6e 67 2b 34 72 65 56 36 47 34 70 51 0a 4f 68 32 39 44 62 78 37 56 46 41 4c 75 55 4b 76 56 W6ng+4reV6G4pQ.Oh29Dbx7VFALuUKvV
1a8c20 61 41 59 67 61 31 6c 6d 65 2b 2b 35 4a 79 2f 78 49 57 72 51 62 4a 55 62 39 77 6c 7a 65 31 34 34 aAYga1lme++5Jy/xIWrQbJUb9wlze144
1a8c40 6f 34 4d 6a 51 6c 4a 33 57 4e 37 57 6d 6d 57 41 69 47 6f 76 56 4a 5a 36 58 30 31 0a 79 38 68 53 o4MjQlJ3WN7WmmWAiGovVJZ6X01.y8hS
1a8c60 79 6e 2b 42 2f 74 6c 72 30 2f 63 52 37 53 58 66 2b 4f 66 35 70 50 70 79 6c 34 52 54 44 61 58 51 yn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQ
1a8c80 4d 68 68 52 64 6c 6b 55 62 41 2f 72 37 46 2b 41 6a 48 56 44 67 38 4f 46 6d 50 39 4d 6e 69 30 4e MhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N
1a8ca0 35 48 65 44 6b 30 36 31 0a 6c 67 65 4c 4b 42 4f 62 6a 42 6d 4e 51 53 64 4a 51 4f 37 65 35 69 4e 5HeDk061.lgeLKBObjBmNQSdJQO7e5iN
1a8cc0 45 4f 64 79 68 49 74 61 36 41 2f 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 EOdyhIta6A/I=.-----END.CERTIFICA
1a8ce0 54 45 2d 2d 2d 2d 2d 0a 0a 4d 69 63 72 6f 73 65 63 20 65 2d 53 7a 69 67 6e 6f 20 52 6f 6f 74 20 TE-----..Microsec.e-Szigno.Root.
1a8d00 43 41 20 32 30 30 39 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CA.2009.========================
1a8d20 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1a8d40 2d 2d 0a 4d 49 49 45 43 6a 43 43 41 76 4b 67 41 77 49 42 41 67 49 4a 41 4d 4a 2b 51 77 52 4f 52 --.MIIECjCCAvKgAwIBAgIJAMJ+QwROR
1a8d60 7a 38 5a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 43 4d 51 73 77 43 z8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswC
1a8d80 51 59 44 56 51 51 47 45 77 4a 49 56 54 45 52 0a 4d 41 38 47 41 31 55 45 42 77 77 49 51 6e 56 6b QYDVQQGEwJIVTER.MA8GA1UEBwwIQnVk
1a8da0 59 58 42 6c 63 33 51 78 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a YXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2Vj
1a8dc0 49 45 78 30 5a 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 0a 63 32 56 IEx0ZC4xJzAlBgNVBAMMHk1pY3Jv.c2V
1a8de0 6a 49 47 55 74 55 33 70 70 5a 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 jIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTE
1a8e00 66 4d 42 30 47 43 53 71 47 53 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e fMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN
1a8e20 36 61 57 64 75 62 79 35 6f 0a 64 54 41 65 46 77 30 77 4f 54 41 32 4d 54 59 78 4d 54 4d 77 4d 54 6aWduby5o.dTAeFw0wOTA2MTYxMTMwMT
1a8e40 68 61 46 77 30 79 4f 54 45 79 4d 7a 41 78 4d 54 4d 77 4d 54 68 61 4d 49 47 43 4d 51 73 77 43 51 haFw0yOTEyMzAxMTMwMThaMIGCMQswCQ
1a8e60 59 44 56 51 51 47 45 77 4a 49 56 54 45 52 4d 41 38 47 41 31 55 45 0a 42 77 77 49 51 6e 56 6b 59 YDVQQGEwJIVTERMA8GA1UE.BwwIQnVkY
1a8e80 58 42 6c 63 33 51 78 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a 49 XBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjI
1a8ea0 45 78 30 5a 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 63 32 56 6a 49 Ex0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjI
1a8ec0 47 55 74 0a 55 33 70 70 5a 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 66 GUt.U3ppZ25vIFJvb3QgQ0EgMjAwOTEf
1a8ee0 4d 42 30 47 43 53 71 47 53 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e 36 MB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6
1a8f00 61 57 64 75 62 79 35 6f 64 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 aWduby5odTCCASIw.DQYJKoZIhvcNAQE
1a8f20 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4f 6e 34 6a 2f 4e 6a 72 64 71 BBQADggEPADCCAQoCggEBAOn4j/Njrdq
1a8f40 47 32 4b 66 67 51 76 76 50 6b 64 36 6d 4a 76 69 5a 70 57 4e 77 72 5a 75 75 79 6a 4e 41 0a 66 57 G2KfgQvvPkd6mJviZpWNwrZuuyjNA.fW
1a8f60 32 57 62 71 45 4f 52 4f 37 68 45 35 32 55 51 6c 4b 61 76 58 57 46 64 43 79 6f 44 68 32 54 74 68 2WbqEORO7hE52UQlKavXWFdCyoDh2Tth
1a8f80 69 33 6a 43 79 6f 7a 2f 74 63 63 62 6e 61 37 50 37 6f 66 6f 2f 6b 4c 78 32 79 71 48 57 48 32 4c i3jCyoz/tccbna7P7ofo/kLx2yqHWH2L
1a8fa0 65 68 35 54 76 50 6d 55 70 47 0a 30 49 4d 5a 66 63 43 68 45 68 79 56 62 55 72 30 32 4d 65 6c 54 eh5TvPmUpG.0IMZfcChEhyVbUr02MelT
1a8fc0 54 4d 75 68 54 6c 41 64 58 34 55 66 49 41 53 6d 46 44 48 51 57 65 34 6f 49 42 68 56 4b 5a 73 54 TMuhTlAdX4UfIASmFDHQWe4oIBhVKZsT
1a8fe0 68 2f 67 6e 51 34 48 36 63 6d 36 4d 2b 66 2b 77 46 55 6f 4c 41 4b 41 0a 70 78 6e 31 6e 74 78 56 h/gnQ4H6cm6M+f+wFUoLAKA.pxn1ntxV
1a9000 55 77 4f 58 65 77 64 49 2f 35 6e 37 4e 34 6f 6b 78 46 6e 4d 55 42 42 6a 6a 71 71 70 47 72 43 45 UwOXewdI/5n7N4okxFnMUBBjjqqpGrCE
1a9020 47 6f 62 35 58 37 75 78 55 47 36 6b 30 51 72 4d 31 58 46 2b 48 36 63 62 66 50 56 54 62 69 4a 66 Gob5X7uxUG6k0QrM1XF+H6cbfPVTbiJf
1a9040 79 79 76 6d 0a 31 48 78 64 72 74 62 43 78 6b 7a 6c 42 51 48 5a 37 56 66 38 77 53 4e 35 2f 50 72 yyvm.1HxdrtbCxkzlBQHZ7Vf8wSN5/Pr
1a9060 49 4a 49 4f 56 38 37 56 71 55 51 48 51 64 39 62 70 45 71 48 35 47 6f 50 37 67 68 75 35 73 4a 66 IJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf
1a9080 30 64 67 59 7a 51 30 6d 67 2f 77 75 31 2b 72 55 43 0a 41 77 45 41 41 61 4f 42 67 44 42 2b 4d 41 0dgYzQ0mg/wu1+rUC.AwEAAaOBgDB+MA
1a90a0 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQ
1a90c0 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4c 44 38 62 66 0a 51 H/BAQDAgEGMB0GA1UdDgQWBBTLD8bf.Q
1a90e0 6b 50 4d 50 63 75 31 53 43 4f 68 47 6e 71 6d 4b 72 73 30 61 44 41 66 42 67 4e 56 48 53 4d 45 47 kPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEG
1a9100 44 41 57 67 42 54 4c 44 38 62 66 51 6b 50 4d 50 63 75 31 53 43 4f 68 47 6e 71 6d 4b 72 73 30 61 DAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0a
1a9120 44 41 62 42 67 4e 56 48 52 45 45 0a 46 44 41 53 67 52 42 70 62 6d 5a 76 51 47 55 74 63 33 70 70 DAbBgNVHREE.FDASgRBpbmZvQGUtc3pp
1a9140 5a 32 35 76 4c 6d 68 31 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 Z25vLmh1MA0GCSqGSIb3DQEBCwUAA4IB
1a9160 41 51 44 4a 30 51 35 65 4c 74 58 4d 73 33 77 2b 79 2f 77 39 2f 77 30 6f 0a 6c 5a 4d 45 79 4c 2f AQDJ0Q5eLtXMs3w+y/w9/w0o.lZMEyL/
1a9180 61 7a 58 6d 34 51 35 44 77 70 4c 37 76 38 75 38 68 6d 4c 7a 55 31 46 30 47 39 75 35 43 37 44 42 azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DB
1a91a0 73 6f 4b 71 70 79 76 47 76 69 76 6f 2f 43 33 4e 71 50 75 6f 75 51 48 34 66 72 6c 52 68 65 65 73 soKqpyvGvivo/C3NqPuouQH4frlRhees
1a91c0 75 43 44 66 58 0a 49 2f 4f 4d 6e 37 34 64 73 65 47 6b 64 64 75 67 34 6c 51 55 73 62 6f 63 4b 61 uCDfX.I/OMn74dseGkddug4lQUsbocKa
1a91e0 51 59 39 68 4b 36 6f 68 51 55 34 7a 45 31 79 45 44 2f 74 2b 41 46 64 6c 66 42 48 46 6e 79 2b 4c QY9hK6ohQU4zE1yED/t+AFdlfBHFny+L
1a9200 2f 6b 37 53 56 69 58 49 54 77 66 6e 34 66 73 37 37 35 0a 74 79 45 52 7a 41 4d 42 56 6e 43 6e 45 /k7SViXITwfn4fs775.tyERzAMBVnCnE
1a9220 4a 49 65 47 7a 53 42 48 71 32 63 47 73 4d 45 50 4f 30 43 59 64 59 65 42 76 4e 66 4f 6f 66 79 4b JIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK
1a9240 2f 46 46 68 2b 55 39 72 4e 48 48 56 34 53 39 61 36 37 63 32 50 6d 32 47 32 4a 77 43 7a 30 32 0a /FFh+U9rNHHV4S9a67c2Pm2G2JwCz02.
1a9260 79 55 4c 79 4d 74 64 36 59 65 62 53 32 7a 33 50 79 4b 6e 4a 6d 39 7a 62 57 45 54 58 62 7a 69 76 yULyMtd6YebS2z3PyKnJm9zbWETXbziv
1a9280 66 33 6a 54 6f 36 30 61 64 62 6f 63 77 54 5a 38 6a 78 35 74 48 4d 4e 31 52 71 34 31 42 61 62 32 f3jTo60adbocwTZ8jx5tHMN1Rq41Bab2
1a92a0 58 44 30 68 37 6c 62 77 79 59 49 69 0a 4c 58 70 55 71 33 44 44 66 53 4a 6c 67 6e 43 57 0a 2d 2d XD0h7lbwyYIi.LXpUq3DDfSJlgnCW.--
1a92c0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 ---END.CERTIFICATE-----..GlobalS
1a92e0 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 52 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ign.Root.CA.-.R3.===============
1a9300 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1a9320 2d 2d 2d 2d 0a 4d 49 49 44 58 7a 43 43 41 6b 65 67 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 ----.MIIDXzCCAkegAwIBAgILBAAAAAA
1a9340 42 49 56 68 54 43 4b 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 54 44 45 BIVhTCKIwDQYJKoZIhvcNAQELBQAwTDE
1a9360 67 4d 42 34 47 41 31 55 45 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 32 6c 6e 62 69 42 53 62 32 gMB4GA1UECxMXR2xv.YmFsU2lnbiBSb2
1a9380 39 30 49 45 4e 42 49 43 30 67 55 6a 4d 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 64 73 62 32 90IENBIC0gUjMxEzARBgNVBAoTCkdsb2
1a93a0 4a 68 62 46 4e 70 5a 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 62 32 4a 68 0a 62 JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh.b
1a93c0 46 4e 70 5a 32 34 77 48 68 63 4e 4d 44 6b 77 4d 7a 45 34 4d 54 41 77 4d 44 41 77 57 68 63 4e 4d FNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNM
1a93e0 6a 6b 77 4d 7a 45 34 4d 54 41 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 56 51 51 4c 45 jkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLE
1a9400 78 64 48 62 47 39 69 59 57 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 53 xdHbG9iYWxT.aWduIFJvb3QgQ0EgLSBS
1a9420 4d 7a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 6a 45 54 MzETMBEGA1UEChMKR2xvYmFsU2lnbjET
1a9440 4d 42 45 47 41 31 55 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 0a 62 6a 43 43 41 53 49 MBEGA1UEAxMKR2xvYmFsU2ln.bjCCASI
1a9460 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f wDQYJKoZIhvcNAQEBBQADggEPADCCAQo
1a9480 43 67 67 45 42 41 4d 77 6c 64 70 42 35 42 6e 67 69 46 76 58 41 67 37 61 45 79 69 69 65 2f 51 56 CggEBAMwldpB5BngiFvXAg7aEyiie/QV
1a94a0 32 45 63 57 74 0a 69 48 4c 38 52 67 4a 44 78 37 4b 4b 6e 51 52 66 4a 4d 73 75 53 2b 46 67 67 6b 2EcWt.iHL8RgJDx7KKnQRfJMsuS+Fggk
1a94c0 62 68 55 71 73 4d 67 55 64 77 62 4e 31 6b 30 65 76 31 4c 4b 4d 50 67 6a 30 4d 4b 36 36 58 31 37 bhUqsMgUdwbN1k0ev1LKMPgj0MK66X17
1a94e0 59 55 68 68 42 35 75 7a 73 54 67 48 65 4d 43 4f 46 4a 0a 30 6d 70 69 4c 78 39 65 2b 70 5a 6f 33 YUhhB5uzsTgHeMCOFJ.0mpiLx9e+pZo3
1a9500 34 6b 6e 6c 54 69 66 42 74 63 2b 79 63 73 6d 57 51 31 7a 33 72 44 49 36 53 59 4f 67 78 58 47 37 4knlTifBtc+ycsmWQ1z3rDI6SYOgxXG7
1a9520 31 75 4c 30 67 52 67 79 6b 6d 6d 4b 50 5a 70 4f 2f 62 4c 79 43 69 52 35 5a 32 4b 59 56 63 33 0a 1uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3.
1a9540 72 48 51 55 33 48 54 67 4f 75 35 79 4c 79 36 63 2b 39 43 37 76 2f 55 39 41 4f 45 47 4d 2b 69 43 rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iC
1a9560 4b 36 35 54 70 6a 6f 57 63 34 7a 64 51 51 34 67 4f 73 43 30 70 36 48 70 73 6b 2b 51 4c 6a 4a 67 K65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg
1a9580 36 56 66 4c 75 51 53 53 61 47 6a 6c 0a 4f 43 5a 67 64 62 4b 66 64 2f 2b 52 46 4f 2b 75 49 45 6e 6VfLuQSSaGjl.OCZgdbKfd/+RFO+uIEn
1a95a0 38 72 55 41 56 53 4e 45 43 4d 57 45 5a 58 72 69 58 37 36 31 33 74 32 53 61 65 72 39 66 77 52 50 8rUAVSNECMWEZXriX7613t2Saer9fwRP
1a95c0 76 6d 32 4c 37 44 57 7a 67 56 47 6b 57 71 51 50 61 62 75 6d 44 6b 33 46 32 0a 78 6d 6d 46 67 68 vm2L7DWzgVGkWqQPabumDk3F2.xmmFgh
1a95e0 63 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 cCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAg
1a9600 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 EGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR
1a9620 30 4f 42 42 59 45 0a 46 49 2f 77 53 33 2b 6f 4c 6b 55 6b 72 6b 31 51 2b 6d 4f 61 69 39 37 69 33 0OBBYE.FI/wS3+oLkUkrk1Q+mOai97i3
1a9640 52 75 38 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 42 4c 51 Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQ
1a9660 4e 76 41 55 4b 72 2b 79 41 7a 76 39 35 5a 55 52 55 6d 37 0a 6c 67 41 4a 51 61 79 7a 45 34 61 47 NvAUKr+yAzv95ZURUm7.lgAJQayzE4aG
1a9680 4b 41 63 7a 79 6d 76 6d 64 4c 6d 36 41 43 32 75 70 41 72 54 39 66 48 78 44 34 71 2f 63 32 64 4b KAczymvmdLm6AC2upArT9fHxD4q/c2dK
1a96a0 67 38 64 45 65 33 6a 67 72 32 35 73 62 77 4d 70 6a 6a 4d 35 52 63 4f 4f 35 4c 6c 58 62 4b 72 38 g8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
1a96c0 0a 45 70 62 73 55 38 59 74 35 43 52 73 75 5a 52 6a 2b 39 78 54 61 47 64 57 50 6f 4f 34 7a 7a 55 .EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzU
1a96e0 68 77 38 6c 6f 2f 73 37 61 77 6c 4f 71 7a 4a 43 4b 36 66 42 64 52 6f 79 56 33 58 70 59 4b 42 6f hw8lo/s7awlOqzJCK6fBdRoyV3XpYKBo
1a9700 76 48 64 37 4e 41 44 64 42 6a 2b 31 45 0a 62 64 64 54 4b 4a 64 2b 38 32 63 45 48 68 58 58 69 70 vHd7NADdBj+1E.bddTKJd+82cEHhXXip
1a9720 61 30 30 39 35 4d 4a 36 52 4d 47 33 4e 7a 64 76 51 58 6d 63 49 66 65 67 37 6a 4c 51 69 74 43 68 a0095MJ6RMG3NzdvQXmcIfeg7jLQitCh
1a9740 77 73 2f 7a 79 72 56 51 34 50 6b 58 34 32 36 38 4e 58 53 62 37 68 4c 69 31 38 0a 59 49 76 44 51 ws/zyrVQ4PkX4268NXSb7hLi18.YIvDQ
1a9760 56 45 54 49 35 33 4f 39 7a 4a 72 6c 41 47 6f 6d 65 63 73 4d 78 38 36 4f 79 58 53 68 6b 44 4f 4f VETI53O9zJrlAGomecsMx86OyXShkDOO
1a9780 79 79 47 65 4d 6c 68 4c 78 53 36 37 74 74 56 62 39 2b 45 37 67 55 4a 54 62 30 6f 32 48 4c 4f 30 yyGeMlhLxS67ttVb9+E7gUJTb0o2HLO0
1a97a0 32 4a 51 5a 52 37 72 0a 6b 70 65 44 4d 64 6d 7a 74 63 70 48 57 44 39 66 0a 2d 2d 2d 2d 2d 45 4e 2JQZR7r.kpeDMdmztcpHWD9f.-----EN
1a97c0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 75 74 6f 72 69 64 61 64 20 64 65 D.CERTIFICATE-----..Autoridad.de
1a97e0 20 43 65 72 74 69 66 69 63 61 63 69 6f 6e 20 46 69 72 6d 61 70 72 6f 66 65 73 69 6f 6e 61 6c 20 .Certificacion.Firmaprofesional.
1a9800 43 49 46 20 41 36 32 36 33 34 30 36 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CIF.A62634068.==================
1a9820 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a9840 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1a9860 2d 2d 2d 0a 4d 49 49 47 46 44 43 43 41 2f 79 67 41 77 49 42 41 67 49 49 55 2b 77 37 37 76 75 79 ---.MIIGFDCCA/ygAwIBAgIIU+w77vuy
1a9880 53 46 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 55 54 45 4c 4d 41 6b 47 SF8wDQYJKoZIhvcNAQEFBQAwUTELMAkG
1a98a0 41 31 55 45 42 68 4d 43 52 56 4d 78 51 6a 42 41 0a 42 67 4e 56 42 41 4d 4d 4f 55 46 31 64 47 39 A1UEBhMCRVMxQjBA.BgNVBAMMOUF1dG9
1a98c0 79 61 57 52 68 5a 43 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 39 75 49 45 5a yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZ
1a98e0 70 63 6d 31 68 63 48 4a 76 5a 6d 56 7a 61 57 39 75 59 57 77 67 51 30 6c 47 49 45 45 32 0a 4d 6a pcm1hcHJvZmVzaW9uYWwgQ0lGIEE2.Mj
1a9900 59 7a 4e 44 41 32 4f 44 41 65 46 77 30 77 4f 54 41 31 4d 6a 41 77 4f 44 4d 34 4d 54 56 61 46 77 YzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw
1a9920 30 7a 4d 44 45 79 4d 7a 45 77 4f 44 4d 34 4d 54 56 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 0zMDEyMzEwODM4MTVaMFExCzAJBgNVBA
1a9940 59 54 41 6b 56 54 4d 55 49 77 0a 51 41 59 44 56 51 51 44 44 44 6c 42 64 58 52 76 63 6d 6c 6b 59 YTAkVTMUIw.QAYDVQQDDDlBdXRvcmlkY
1a9960 57 51 67 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 62 69 42 47 61 58 4a 74 59 WQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtY
1a9980 58 42 79 62 32 5a 6c 63 32 6c 76 62 6d 46 73 49 45 4e 4a 52 69 42 42 0a 4e 6a 49 32 4d 7a 51 77 XByb2Zlc2lvbmFsIENJRiBB.NjI2MzQw
1a99a0 4e 6a 67 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 NjgwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1a99c0 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4b 6c 6d 75 4f 36 76 6a 37 38 61 49 31 34 48 39 4d DwAwggIKAoICAQDKlmuO6vj78aI14H9M
1a99e0 32 75 44 44 0a 55 74 64 39 74 68 44 49 41 6c 36 7a 51 79 72 45 54 32 71 79 79 68 78 64 4b 4a 70 2uDD.Utd9thDIAl6zQyrET2qyyhxdKJp
1a9a00 34 45 52 70 70 57 56 65 76 74 53 42 43 35 49 73 50 35 74 39 62 70 67 4f 53 4c 2f 55 52 35 47 4c 4ERppWVevtSBC5IsP5t9bpgOSL/UR5GL
1a9a20 58 4d 6e 45 34 32 51 51 4d 63 61 73 39 55 58 34 50 0a 42 39 39 6a 42 56 7a 70 76 35 52 76 77 53 XMnE42QQMcas9UX4P.B99jBVzpv5RvwS
1a9a40 6d 43 77 4c 54 61 55 62 44 42 50 4c 75 74 4e 30 70 63 79 76 46 4c 4e 67 34 6b 71 37 2f 44 68 48 mCwLTaUbDBPLutN0pcyvFLNg4kq7/DhH
1a9a60 66 39 71 46 44 30 73 65 66 47 4c 39 49 74 57 59 31 36 43 6b 36 57 61 56 49 43 71 6a 61 59 0a 37 f9qFD0sefGL9ItWY16Ck6WaVICqjaY.7
1a9a80 50 7a 36 46 49 4d 4d 4e 78 2f 4a 6b 6a 64 2f 31 34 45 74 35 63 53 35 34 44 34 30 2f 6d 66 30 50 Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0P
1a9aa0 6d 62 52 30 2f 52 41 7a 31 35 69 4e 41 39 77 42 6a 34 67 47 46 72 4f 39 33 49 62 4a 57 79 54 64 mbR0/RAz15iNA9wBj4gGFrO93IbJWyTd
1a9ac0 42 53 54 6f 33 4f 78 44 71 71 48 0a 45 43 4e 5a 58 79 41 46 47 55 66 74 61 49 36 53 45 73 70 64 BSTo3OxDqqH.ECNZXyAFGUftaI6SEspd
1a9ae0 2f 4e 59 72 73 70 49 38 49 4d 2f 68 58 36 38 67 76 71 42 32 66 33 62 6c 37 42 71 47 59 54 4d 2b /NYrspI8IM/hX68gvqB2f3bl7BqGYTM+
1a9b00 35 33 75 30 50 36 41 50 6a 71 4b 35 61 6d 2b 35 68 79 5a 76 51 57 79 49 0a 70 6c 44 39 61 6d 4d 53u0P6APjqK5am+5hyZvQWyI.plD9amM
1a9b20 4c 39 5a 4d 57 47 78 6d 50 73 75 32 62 6d 38 6d 51 39 51 45 4d 33 78 6b 39 44 7a 34 34 49 38 6b L9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8k
1a9b40 76 6a 77 7a 52 41 76 34 62 56 64 5a 4f 30 49 30 38 72 30 2b 6b 38 2f 36 76 4b 74 4d 46 6e 58 6b vjwzRAv4bVdZO0I08r0+k8/6vKtMFnXk
1a9b60 49 6f 63 74 58 0a 4d 62 53 63 79 4a 43 79 5a 2f 51 59 46 70 4d 36 2f 45 66 59 30 58 69 57 4d 52 IoctX.MbScyJCyZ/QYFpM6/EfY0XiWMR
1a9b80 2b 36 4b 77 78 66 58 5a 6d 74 59 34 6c 61 4a 43 42 32 32 4e 2f 39 71 30 36 6d 49 71 71 64 58 75 +6KwxfXZmtY4laJCB22N/9q06mIqqdXu
1a9ba0 59 6e 69 6e 31 6f 4b 61 50 6e 69 72 6a 61 45 62 73 58 0a 4c 5a 6d 64 45 79 52 47 39 38 58 69 32 Ynin1oKaPnirjaEbsX.LZmdEyRG98Xi2
1a9bc0 4a 2b 4f 66 38 65 50 64 47 31 61 73 75 68 79 39 61 7a 75 4a 42 43 74 4c 78 54 61 2f 79 32 61 52 J+Of8ePdG1asuhy9azuJBCtLxTa/y2aR
1a9be0 6e 46 48 76 6b 4c 66 75 77 48 62 39 48 2f 54 4b 49 38 78 57 56 76 54 79 51 4b 6d 74 46 4c 4b 0a nFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK.
1a9c00 62 70 66 37 51 38 55 49 4a 6d 2b 4b 39 4c 76 39 6e 79 69 71 44 64 56 46 38 78 4d 36 48 64 6a 41 bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjA
1a9c20 65 49 39 42 5a 7a 77 65 6c 47 53 75 65 77 76 46 36 4e 6b 42 69 44 6b 61 6c 34 5a 6b 51 64 55 37 eI9BZzwelGSuewvF6NkBiDkal4ZkQdU7
1a9c40 68 77 78 75 2b 67 2f 47 76 55 67 55 0a 76 7a 6c 4e 31 4a 35 42 74 6f 2b 57 48 57 4f 57 6b 39 6d hwxu+g/GvUgU.vzlN1J5Bto+WHWOWk9m
1a9c60 56 42 6e 67 78 61 4a 34 33 42 6a 75 41 69 55 56 68 4f 53 50 48 47 30 53 6a 46 65 55 63 2b 4a 49 VBngxaJ43BjuAiUVhOSPHG0SjFeUc+JI
1a9c80 77 75 77 49 44 41 51 41 42 6f 34 48 76 4d 49 48 73 4d 42 49 47 41 31 55 64 0a 45 77 45 42 2f 77 wuwIDAQABo4HvMIHsMBIGA1Ud.EwEB/w
1a9ca0 51 49 4d 41 59 42 41 66 38 43 41 51 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 QIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAg
1a9cc0 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 6c 7a 65 75 72 4e 52 34 41 50 6e 37 56 64 4d EGMB0GA1UdDgQWBBRlzeurNR4APn7VdM
1a9ce0 41 63 74 48 4e 48 0a 44 68 70 6b 4c 7a 43 42 70 67 59 44 56 52 30 67 42 49 47 65 4d 49 47 62 4d ActHNH.DhpkLzCBpgYDVR0gBIGeMIGbM
1a9d00 49 47 59 42 67 52 56 48 53 41 41 4d 49 47 50 4d 43 38 47 43 43 73 47 41 51 55 46 42 77 49 42 46 IGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBF
1a9d20 69 4e 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 5a 70 0a 63 6d 31 68 63 48 4a 76 5a 6d 56 7a iNodHRwOi8vd3d3LmZp.cm1hcHJvZmVz
1a9d40 61 57 39 75 59 57 77 75 59 32 39 74 4c 32 4e 77 63 7a 42 63 42 67 67 72 42 67 45 46 42 51 63 43 aW9uYWwuY29tL2NwczBcBggrBgEFBQcC
1a9d60 41 6a 42 51 48 6b 34 41 55 41 42 68 41 48 4d 41 5a 51 42 76 41 43 41 41 5a 41 42 6c 41 43 41 41 AjBQHk4AUABhAHMAZQBvACAAZABlACAA
1a9d80 0a 62 41 42 68 41 43 41 41 51 67 42 76 41 47 34 41 59 51 42 75 41 47 38 41 64 67 42 68 41 43 41 .bABhACAAQgBvAG4AYQBuAG8AdgBhACA
1a9da0 41 4e 41 41 33 41 43 41 41 51 67 42 68 41 48 49 41 59 77 42 6c 41 47 77 41 62 77 42 75 41 47 45 ANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGE
1a9dc0 41 49 41 41 77 41 44 67 41 4d 41 41 78 0a 41 44 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 AIAAwADgAMAAx.ADcwDQYJKoZIhvcNAQ
1a9de0 45 46 42 51 41 44 67 67 49 42 41 42 64 39 6f 50 6d 30 33 63 58 46 36 36 31 4c 4a 4c 57 68 41 71 EFBQADggIBABd9oPm03cXF661LJLWhAq
1a9e00 76 64 70 59 68 4b 73 67 39 56 53 79 74 58 6a 44 76 6c 4d 64 33 2b 78 44 4c 78 0a 35 31 74 6b 6c vdpYhKsg9VSytXjDvlMd3+xDLx.51tkl
1a9e20 6a 59 79 47 4f 79 6c 4d 6e 66 58 34 30 53 32 77 42 45 71 67 4c 6b 39 61 6d 35 38 6d 39 4f 74 2f jYyGOylMnfX40S2wBEqgLk9am58m9Ot/
1a9e40 4d 50 57 6f 2b 5a 6b 4b 58 7a 52 34 54 67 65 67 69 76 2f 4a 32 57 76 2b 78 59 56 78 43 35 78 68 MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xh
1a9e60 4f 57 31 2f 2f 71 6b 0a 52 37 31 6b 4d 72 76 32 4a 59 53 69 4a 30 4c 31 49 4c 44 43 45 78 41 52 OW1//qk.R71kMrv2JYSiJ0L1ILDCExAR
1a9e80 7a 52 41 56 75 6b 4b 51 4b 74 4a 45 34 5a 59 6d 36 7a 46 49 45 76 30 71 32 73 6b 47 7a 33 51 65 zRAVukKQKtJE4ZYm6zFIEv0q2skGz3Qe
1a9ea0 71 55 76 56 68 79 6a 35 65 54 53 53 50 69 35 45 36 50 61 50 0a 54 34 38 31 50 79 57 7a 4f 64 78 qUvVhyj5eTSSPi5E6PaP.T481PyWzOdx
1a9ec0 6a 4b 70 42 72 49 46 2f 45 55 68 4a 4f 6c 79 77 71 72 4a 32 58 33 6b 6a 79 6f 32 62 62 77 74 4b jKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtK
1a9ee0 44 6c 61 5a 6d 70 35 34 6c 44 2b 6b 4c 4d 35 46 6c 43 6c 72 44 32 56 51 53 33 61 2f 44 54 67 34 DlaZmp54lD+kLM5FlClrD2VQS3a/DTg4
1a9f00 66 0a 4a 6c 34 4e 33 4c 4f 4e 37 4e 57 42 63 4e 37 53 54 79 51 46 38 32 78 4f 39 55 78 4a 5a 6f f.Jl4N3LON7NWBcN7STyQF82xO9UxJZo
1a9f20 33 52 2f 39 49 4c 4a 55 46 49 2f 6c 47 45 78 6b 4b 76 67 41 54 50 30 48 35 6b 53 65 54 79 33 36 3R/9ILJUFI/lGExkKvgATP0H5kSeTy36
1a9f40 4c 73 73 55 7a 41 4b 68 33 6e 74 4c 46 6c 0a 6f 73 53 38 38 5a 6a 30 71 6e 41 48 59 37 53 34 32 LssUzAKh3ntLFl.osS88Zj0qnAHY7S42
1a9f60 6a 74 4d 2b 6b 41 69 4d 46 73 52 70 76 41 46 44 73 59 43 41 30 69 72 68 70 75 46 33 64 76 64 36 jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6
1a9f80 71 4a 32 67 48 4e 39 39 5a 77 45 78 45 57 4e 35 37 6b 63 69 35 37 71 31 33 58 52 0a 63 72 48 65 qJ2gHN99ZwExEWN57kci57q13XR.crHe
1a9fa0 64 55 54 6e 51 6e 33 69 56 32 74 39 33 4a 6d 38 50 59 4d 6f 36 6f 43 54 6a 63 56 4d 5a 63 46 77 dUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFw
1a9fc0 67 62 67 34 2f 45 4d 78 73 76 59 44 4e 45 65 79 72 50 73 69 42 73 73 65 33 52 64 48 48 46 39 6d gbg4/EMxsvYDNEeyrPsiBsse3RdHHF9m
1a9fe0 75 64 4d 61 6f 74 6f 52 0a 73 61 53 38 49 38 6e 6b 76 6f 66 2f 75 5a 53 32 2b 46 30 67 53 74 52 udMaotoR.saS8I8nkvof/uZS2+F0gStR
1aa000 66 35 37 31 6f 65 32 58 79 46 52 37 53 4f 71 6b 74 36 64 68 72 4a 4b 79 58 57 45 52 48 72 56 6b f571oe2XyFR7SOqkt6dhrJKyXWERHrVk
1aa020 59 38 53 46 6c 63 4e 37 4f 4e 47 43 6f 51 50 48 7a 50 4b 54 44 0a 4b 43 4f 4d 2f 69 63 7a 51 30 Y8SFlcN7ONGCoQPHzPKTD.KCOM/iczQ0
1aa040 43 67 46 7a 7a 72 36 6a 75 77 63 71 61 6a 75 55 70 4c 58 68 5a 49 39 4c 4b 38 79 49 79 53 78 5a CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ
1aa060 32 66 72 48 49 32 76 44 53 41 4e 47 75 70 69 35 4c 41 75 42 66 74 37 48 5a 54 39 53 51 42 6a 4c 2frHI2vDSANGupi5LAuBft7HZT9SQBjL
1aa080 4d 69 0a 36 45 74 38 56 63 61 64 2b 71 4d 55 75 32 57 46 62 6d 35 50 45 6e 34 4b 50 4a 32 56 0a Mi.6Et8Vcad+qMUu2WFbm5PEn4KPJ2V.
1aa0a0 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 7a 65 6e 70 -----END.CERTIFICATE-----..Izenp
1aa0c0 65 2e 63 6f 6d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 e.com.==========.-----BEGIN.CERT
1aa0e0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 38 54 43 43 41 39 6d 67 41 77 49 42 41 67 49 IFICATE-----.MIIF8TCCA9mgAwIBAgI
1aa100 51 41 4c 43 33 57 68 5a 49 58 37 2f 68 79 2f 57 4c 31 78 6e 6d 66 54 41 4e 42 67 6b 71 68 6b 69 QALC3WhZIX7/hy/WL1xnmfTANBgkqhki
1aa120 47 39 77 30 42 41 51 73 46 41 44 41 34 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 46 55 7a G9w0BAQsFADA4MQswCQYDVQQG.EwJFUz
1aa140 45 55 4d 42 49 47 41 31 55 45 43 67 77 4c 53 56 70 46 54 6c 42 46 49 46 4d 75 51 53 34 78 45 7a EUMBIGA1UECgwLSVpFTlBFIFMuQS4xEz
1aa160 41 52 42 67 4e 56 42 41 4d 4d 43 6b 6c 36 5a 57 35 77 5a 53 35 6a 62 32 30 77 48 68 63 4e 4d 44 ARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMD
1aa180 63 78 4d 6a 45 7a 0a 4d 54 4d 77 4f 44 49 34 57 68 63 4e 4d 7a 63 78 4d 6a 45 7a 4d 44 67 79 4e cxMjEz.MTMwODI4WhcNMzcxMjEzMDgyN
1aa1a0 7a 49 31 57 6a 41 34 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 45 55 4d 42 49 47 41 zI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA
1aa1c0 31 55 45 43 67 77 4c 53 56 70 46 54 6c 42 46 49 46 4d 75 0a 51 53 34 78 45 7a 41 52 42 67 4e 56 1UECgwLSVpFTlBFIFMu.QS4xEzARBgNV
1aa1e0 42 41 4d 4d 43 6b 6c 36 5a 57 35 77 5a 53 35 6a 62 32 30 77 67 67 49 69 4d 41 30 47 43 53 71 47 BAMMCkl6ZW5wZS5jb20wggIiMA0GCSqG
1aa200 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4a SIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
1aa220 0a 30 33 72 4b 44 78 36 73 70 34 62 6f 46 6d 56 71 73 63 49 62 52 54 4a 78 6c 64 6e 2b 45 46 76 .03rKDx6sp4boFmVqscIbRTJxldn+EFv
1aa240 4d 72 2b 65 6c 65 51 47 50 69 63 50 4b 38 6c 56 78 39 33 65 2b 64 35 54 7a 63 71 51 73 52 4e 69 Mr+eleQGPicPK8lVx93e+d5TzcqQsRNi
1aa260 65 6b 70 73 55 4f 71 48 6e 4a 4a 41 4b 0a 43 6c 61 4f 78 64 67 6d 6c 4f 48 5a 53 4f 45 74 50 74 ekpsUOqHnJJAK.ClaOxdgmlOHZSOEtPt
1aa280 6f 4b 63 74 32 6a 6d 52 58 61 67 61 4b 48 39 48 74 75 4a 6e 65 4a 57 4b 33 57 36 77 79 79 51 58 oKct2jmRXagaKH9HtuJneJWK3W6wyyQX
1aa2a0 70 7a 62 6d 33 62 65 6e 68 42 36 51 69 49 45 6e 36 48 4c 6d 59 52 59 32 78 55 0a 2b 7a 79 64 63 pzbm3benhB6QiIEn6HLmYRY2xU.+zydc
1aa2c0 73 43 38 4c 76 2f 43 74 39 30 4e 64 75 4d 36 31 2f 65 30 61 4c 36 69 39 65 4f 42 62 73 46 47 62 sC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb
1aa2e0 31 32 4e 34 45 33 47 56 46 57 4a 47 6a 4d 78 43 72 46 58 75 61 4f 4b 6d 4d 50 73 4f 7a 54 46 6c 12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFl
1aa300 55 46 70 66 6e 58 43 0a 50 43 44 46 59 62 70 52 52 36 41 67 6b 4a 4f 68 6b 45 76 7a 54 6e 79 46 UFpfnXC.PCDFYbpRR6AgkJOhkEvzTnyF
1aa320 52 56 53 61 30 51 55 6d 51 62 43 31 54 52 30 7a 76 73 51 44 79 43 56 38 77 58 44 62 4f 2f 51 4a RVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJ
1aa340 4c 56 51 6e 53 4b 77 76 34 63 53 73 50 73 6a 4c 6b 6b 78 54 0a 4f 54 63 6a 37 4e 4d 42 2b 65 41 LVQnSKwv4cSsPsjLkkxT.OTcj7NMB+eA
1aa360 4a 52 45 31 4e 5a 4d 44 68 44 56 71 48 49 72 79 74 47 36 50 2b 4a 72 55 56 38 36 66 38 68 42 6e JRE1NZMDhDVqHIrytG6P+JrUV86f8hBn
1aa380 70 37 4b 47 49 74 45 52 70 68 49 50 7a 69 64 46 30 42 71 6e 4d 43 39 62 43 33 69 65 46 55 43 62 p7KGItERphIPzidF0BqnMC9bC3ieFUCb
1aa3a0 4b 0a 46 37 6a 4a 65 6f 64 57 4c 42 6f 42 48 6d 79 2b 45 36 30 51 72 4c 55 6b 39 54 69 52 6f 64 K.F7jJeodWLBoBHmy+E60QrLUk9TiRod
1aa3c0 5a 4c 32 76 47 37 30 74 35 48 74 66 47 38 67 66 5a 5a 61 38 38 5a 55 2b 6d 4e 46 63 74 4b 79 36 ZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6
1aa3e0 6c 76 52 4f 55 62 51 63 2f 68 68 71 66 4b 0a 30 47 71 66 76 45 79 4e 42 6a 4e 61 6f 6f 58 6c 6b lvROUbQc/hhqfK.0GqfvEyNBjNaooXlk
1aa400 44 57 67 59 6c 77 57 54 76 44 6a 6f 76 6f 44 47 72 51 73 63 62 4e 59 4c 4e 35 37 43 39 73 61 44 DWgYlwWTvDjovoDGrQscbNYLN57C9saD
1aa420 2b 76 65 49 52 38 47 64 77 59 44 73 4d 6e 76 6d 66 7a 41 75 55 38 4c 68 69 6a 2b 0a 30 72 6e 71 +veIR8GdwYDsMnvmfzAuU8Lhij+.0rnq
1aa440 34 39 71 6c 77 30 64 70 45 75 44 62 38 50 59 5a 69 2b 31 37 63 4e 63 43 31 75 32 48 47 43 67 73 49qlw0dpEuDb8PYZi+17cNcC1u2HGCgs
1aa460 42 43 52 4d 64 2b 52 49 69 68 72 47 4f 35 72 55 44 38 72 36 64 64 49 42 51 46 71 4e 65 62 2b 4c BCRMd+RIihrGO5rUD8r6ddIBQFqNeb+L
1aa480 7a 30 76 50 71 68 62 42 0a 6c 65 53 74 54 49 6f 2b 46 35 48 55 73 57 4c 6c 67 75 57 41 42 4b 51 z0vPqhbB.leStTIo+F5HUsWLlguWABKQ
1aa4a0 44 66 6f 32 2f 32 6e 2b 69 44 35 64 50 44 4e 4d 4e 2b 39 66 52 35 58 4a 2b 48 4d 68 33 2f 31 75 Dfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1u
1aa4c0 61 44 37 65 75 42 55 62 6c 38 61 67 57 37 45 65 6b 46 77 49 44 0a 41 51 41 42 6f 34 48 32 4d 49 aD7euBUbl8agW7EekFwID.AQABo4H2MI
1aa4e0 48 7a 4d 49 47 77 42 67 4e 56 48 52 45 45 67 61 67 77 67 61 57 42 44 32 6c 75 5a 6d 39 41 61 58 HzMIGwBgNVHREEgagwgaWBD2luZm9AaX
1aa500 70 6c 62 6e 42 6c 4c 6d 4e 76 62 61 53 42 6b 54 43 42 6a 6a 46 48 4d 45 55 47 41 31 55 45 43 67 plbnBlLmNvbaSBkTCBjjFHMEUGA1UECg
1aa520 77 2b 0a 53 56 70 46 54 6c 42 46 49 46 4d 75 51 53 34 67 4c 53 42 44 53 55 59 67 51 54 41 78 4d w+.SVpFTlBFIFMuQS4gLSBDSUYgQTAxM
1aa540 7a 4d 33 4d 6a 59 77 4c 56 4a 4e 5a 58 4a 6a 4c 6c 5a 70 64 47 39 79 61 57 45 74 52 32 46 7a 64 zM3MjYwLVJNZXJjLlZpdG9yaWEtR2Fzd
1aa560 47 56 70 65 69 42 55 4d 54 41 31 4e 53 42 47 0a 4e 6a 49 67 55 7a 67 78 51 7a 42 42 42 67 4e 56 GVpeiBUMTA1NSBG.NjIgUzgxQzBBBgNV
1aa580 42 41 6b 4d 4f 6b 46 32 5a 47 45 67 5a 47 56 73 49 45 31 6c 5a 47 6c 30 5a 58 4a 79 59 57 35 6c BAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5l
1aa5a0 62 79 42 46 64 47 39 79 59 6d 6c 6b 5a 57 45 67 4d 54 51 67 4c 53 41 77 4d 54 41 78 0a 4d 43 42 byBFdG9yYmlkZWEgMTQgLSAwMTAx.MCB
1aa5c0 57 61 58 52 76 63 6d 6c 68 4c 55 64 68 63 33 52 6c 61 58 6f 77 44 77 59 44 56 52 30 54 41 51 48 WaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH
1aa5e0 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 /BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQY
1aa600 77 48 51 59 44 56 52 30 4f 0a 42 42 59 45 46 42 30 63 5a 51 36 6f 38 69 56 37 74 4a 48 50 35 4c wHQYDVR0O.BBYEFB0cZQ6o8iV7tJHP5L
1aa620 47 78 35 72 31 56 64 47 77 46 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 Gx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4
1aa640 49 43 41 51 42 34 70 67 77 57 53 70 39 4d 69 44 72 41 79 77 36 6c 0a 46 6e 32 66 75 55 68 66 47 ICAQB4pgwWSp9MiDrAyw6l.Fn2fuUhfG
1aa660 49 38 4e 59 6a 62 32 7a 52 6c 72 72 4b 76 56 39 70 46 39 72 6e 48 7a 50 37 4d 4f 65 49 57 62 6c I8NYjb2zRlrrKvV9pF9rnHzP7MOeIWbl
1aa680 61 51 6e 49 55 64 43 53 6e 78 49 4f 76 56 46 66 4c 4d 4d 6a 6c 46 34 72 4a 55 54 33 73 62 39 66 aQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9f
1aa6a0 62 67 61 0a 6b 45 79 72 6b 67 50 48 37 55 49 42 7a 67 2f 59 73 66 71 69 6b 75 46 67 62 61 35 36 bga.kEyrkgPH7UIBzg/YsfqikuFgba56
1aa6c0 61 77 6d 71 78 69 6e 75 61 45 6c 6e 4d 49 41 6b 65 6a 45 57 4f 56 74 2b 38 52 77 75 33 57 77 4a awmqxinuaElnMIAkejEWOVt+8Rwu3WwJ
1aa6e0 72 66 49 78 77 59 4a 4f 75 62 76 35 76 72 38 71 0a 68 54 2f 41 51 4b 4d 36 57 66 78 5a 53 7a 77 rfIxwYJOubv5vr8q.hT/AQKM6WfxZSzw
1aa700 6f 4a 4e 75 30 46 58 57 75 44 59 69 36 4c 6e 50 41 76 56 69 48 35 55 4c 79 36 31 37 75 48 6a 41 oJNu0FXWuDYi6LnPAvViH5ULy617uHjA
1aa720 69 6d 63 73 33 30 63 51 68 62 49 48 73 76 6d 30 6d 35 68 7a 6b 51 69 43 65 52 37 43 73 0a 67 31 imcs30cQhbIHsvm0m5hzkQiCeR7Cs.g1
1aa740 6c 77 4c 44 58 57 72 7a 59 30 74 4d 30 37 2b 44 4b 6f 37 2b 4e 34 69 66 75 4e 52 53 7a 61 6e 4c lwLDXWrzY0tM07+DKo7+N4ifuNRSzanL
1aa760 68 2b 51 42 78 68 35 7a 36 69 6b 69 78 4c 38 73 33 36 6d 4c 59 70 2f 2f 50 79 65 36 6b 66 4c 71 h+QBxh5z6ikixL8s36mLYp//Pye6kfLq
1aa780 43 54 56 79 76 65 68 51 50 35 0a 61 54 66 4c 6e 6e 68 71 42 62 54 46 4d 58 69 4a 37 48 71 6e 68 CTVyvehQP5.aTfLnnhqBbTFMXiJ7Hqnh
1aa7a0 65 47 35 65 7a 7a 65 76 68 35 35 68 4d 36 66 63 41 35 5a 77 6a 55 75 6b 43 6f 78 32 65 52 46 65 eG5ezzevh55hM6fcA5ZwjUukCox2eRFe
1aa7c0 6b 47 6b 4c 68 4f 62 4e 41 35 6d 65 30 6d 72 5a 4a 66 51 52 73 4e 35 0a 6e 58 4a 51 59 36 61 59 kGkLhObNA5me0mrZJfQRsN5.nXJQY6aY
1aa7e0 57 77 61 39 53 47 33 59 4f 59 4e 77 36 44 58 77 42 64 47 71 76 4f 50 62 79 41 4c 71 66 50 32 43 Wwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C
1aa800 32 73 4a 62 55 6a 57 75 6d 44 71 74 75 6a 57 54 49 36 63 66 53 4e 30 31 52 70 69 79 45 47 6a 6b 2sJbUjWumDqtujWTI6cfSN01RpiyEGjk
1aa820 70 54 48 43 0a 43 6c 67 75 47 59 45 51 79 56 42 31 2f 4f 70 61 46 73 34 52 31 2b 37 76 55 49 67 pTHC.ClguGYEQyVB1/OpaFs4R1+7vUIg
1aa840 74 59 66 38 2f 51 6e 4d 46 6c 45 50 56 6a 6a 78 4f 41 54 6f 5a 70 52 39 47 54 6e 66 51 58 65 57 tYf8/QnMFlEPVjjxOAToZpR9GTnfQXeW
1aa860 42 49 69 47 48 2f 70 52 39 68 4e 69 54 72 64 5a 6f 0a 51 30 69 79 32 2b 74 7a 4a 4f 65 52 66 31 BIiGH/pR9hNiTrdZo.Q0iy2+tzJOeRf1
1aa880 53 6b 74 6f 41 2b 6e 61 4d 38 54 48 4c 43 56 38 53 67 31 4d 77 34 4a 38 37 56 42 70 36 69 53 4e SktoA+naM8THLCV8Sg1Mw4J87VBp6iSN
1aa8a0 6e 70 6e 38 36 43 63 44 61 54 6d 6a 76 66 6c 69 48 6a 57 62 63 4d 32 70 45 33 38 50 31 5a 0a 57 npn86CcDaTmjvfliHjWbcM2pE38P1Z.W
1aa8c0 72 4f 5a 79 47 6c 73 51 79 59 42 4e 57 4e 67 56 59 6b 44 4f 6e 58 59 75 6b 72 5a 56 50 2f 75 33 rOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3
1aa8e0 6f 44 59 4c 64 45 34 31 56 34 74 43 35 68 39 50 6d 7a 62 2f 43 61 49 78 77 3d 3d 0a 2d 2d 2d 2d oDYLdE41V4tC5h9Pmzb/CaIxw==.----
1aa900 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 68 61 6d 62 65 72 73 20 -END.CERTIFICATE-----..Chambers.
1aa920 6f 66 20 43 6f 6d 6d 65 72 63 65 20 52 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d of.Commerce.Root.-.2008.========
1aa940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1aa960 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 54 7a 43 43 42 54 65 GIN.CERTIFICATE-----.MIIHTzCCBTe
1aa980 67 41 77 49 42 41 67 49 4a 41 4b 50 61 51 6e 36 6b 73 61 37 61 4d 41 30 47 43 53 71 47 53 49 62 gAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb
1aa9a0 33 44 51 45 42 42 51 55 41 4d 49 47 75 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTF
1aa9c0 44 0a 4d 45 45 47 41 31 55 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 D.MEEGA1UEBxM6TWFkcmlkIChzZWUgY3
1aa9e0 56 79 63 6d 56 75 64 43 42 68 5a 47 52 79 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW
1aaa00 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e 76 0a 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 1lcmZpcm1hLmNv.bS9hZGRyZXNzKTESM
1aaa20 42 41 47 41 31 55 45 42 52 4d 4a 51 54 67 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 BAGA1UEBRMJQTgyNzQzMjg3MRswGQYDV
1aaa40 51 51 4b 45 78 4a 42 51 79 42 44 59 57 31 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 QQKExJBQyBDYW1lcmZpcm1hIFMu.QS4x
1aaa60 4b 54 41 6e 42 67 4e 56 42 41 4d 54 49 45 4e 6f 59 57 31 69 5a 58 4a 7a 49 47 39 6d 49 45 4e 76 KTAnBgNVBAMTIENoYW1iZXJzIG9mIENv
1aaa80 62 57 31 6c 63 6d 4e 6c 49 46 4a 76 62 33 51 67 4c 53 41 79 4d 44 41 34 4d 42 34 58 44 54 41 34 bW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4
1aaaa0 4d 44 67 77 4d 54 45 79 0a 4d 6a 6b 31 4d 46 6f 58 44 54 4d 34 4d 44 63 7a 4d 54 45 79 4d 6a 6b MDgwMTEy.Mjk1MFoXDTM4MDczMTEyMjk
1aaac0 31 4d 46 6f 77 67 61 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 1MFowga4xCzAJBgNVBAYTAkVVMUMwQQY
1aaae0 44 56 51 51 48 45 7a 70 4e 59 57 52 79 61 57 51 67 4b 48 4e 6c 0a 5a 53 42 6a 64 58 4a 79 5a 57 DVQQHEzpNYWRyaWQgKHNl.ZSBjdXJyZW
1aab00 35 30 49 47 46 6b 5a 48 4a 6c 63 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 62 57 56 79 5a 6d 50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZm
1aab20 6c 79 62 57 45 75 59 32 39 74 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 lybWEuY29tL2FkZHJlc3MpMRIwEAYDVQ
1aab40 51 46 0a 45 77 6c 42 4f 44 49 33 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 QF.EwlBODI3NDMyODcxGzAZBgNVBAoTE
1aab60 6b 46 44 49 45 4e 68 62 57 56 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 kFDIENhbWVyZmlybWEgUy5BLjEpMCcGA
1aab80 31 55 45 41 78 4d 67 51 32 68 68 62 57 4a 6c 0a 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 1UEAxMgQ2hhbWJl.cnMgb2YgQ29tbWVy
1aaba0 59 32 55 67 55 6d 39 76 64 43 41 74 49 44 49 77 4d 44 67 77 67 67 49 69 4d 41 30 47 43 53 71 47 Y2UgUm9vdCAtIDIwMDgwggIiMA0GCSqG
1aabc0 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 0a 41 51 43 SIb3DQEBAQUAA4ICDwAwggIKAoIC.AQC
1aabe0 76 41 4d 74 77 4e 79 75 41 57 6b 6f 36 62 48 69 55 66 61 4e 2f 47 68 2f 32 4e 64 57 39 32 38 73 vAMtwNyuAWko6bHiUfaN/Gh/2NdW928s
1aac00 4e 52 48 49 2b 4a 72 4b 51 55 72 70 6a 4f 79 68 59 62 36 57 7a 62 5a 53 6d 38 39 31 6b 44 46 58 NRHI+JrKQUrpjOyhYb6WzbZSm891kDFX
1aac20 32 39 75 66 79 49 69 4b 41 0a 58 75 46 69 78 72 59 70 34 59 46 73 38 72 2f 6c 66 54 4a 71 56 4b 29ufyIiKA.XuFixrYp4YFs8r/lfTJqVK
1aac40 41 79 47 56 6e 2b 48 34 76 58 50 57 43 47 68 53 52 76 34 78 47 7a 64 7a 34 67 6c 6a 55 68 61 37 AyGVn+H4vXPWCGhSRv4xGzdz4gljUha7
1aac60 4d 49 32 58 41 75 5a 50 65 45 6b 6c 50 57 44 72 43 51 69 6f 72 6a 0a 68 34 30 47 30 37 32 51 44 MI2XAuZPeEklPWDrCQiorj.h40G072QD
1aac80 75 4b 5a 6f 52 75 47 44 74 71 61 43 72 73 4c 59 56 41 47 55 76 47 65 66 33 62 73 79 77 2f 51 48 uKZoRuGDtqaCrsLYVAGUvGef3bsyw/QH
1aaca0 67 33 50 6d 54 41 39 48 4d 52 46 45 46 69 73 31 74 50 6f 31 2b 58 71 78 51 45 48 64 39 5a 52 35 g3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5
1aacc0 67 4e 2f 0a 69 6b 69 6c 54 57 68 31 75 65 6d 38 6e 6b 34 5a 63 66 55 79 53 35 78 74 59 42 6b 4c gN/.ikilTWh1uem8nk4ZcfUyS5xtYBkL
1aace0 2b 38 79 64 64 64 79 2f 4a 73 32 50 6b 33 67 35 65 58 4e 65 4a 51 37 4b 58 4f 74 33 45 67 66 4c +8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL
1aad00 5a 45 46 48 63 70 4f 72 55 4d 50 72 43 58 5a 6b 0a 4e 4e 49 35 74 33 59 52 43 51 31 32 52 63 53 ZEFHcpOrUMPrCXZk.NNI5t3YRCQ12RcS
1aad20 70 72 6a 31 71 72 37 56 39 5a 53 2b 55 57 42 44 73 58 48 79 76 66 75 4b 32 47 4e 6e 51 6d 30 35 prj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05
1aad40 61 53 64 2b 70 5a 67 76 4d 50 4d 5a 34 66 4b 65 63 48 65 50 4f 6a 6c 4f 2b 42 64 35 67 0a 44 32 aSd+pZgvMPMZ4fKecHePOjlO+Bd5g.D2
1aad60 76 6c 47 74 73 2f 34 2b 45 68 79 53 6e 42 38 65 73 48 6e 46 49 62 41 55 52 52 50 48 73 6c 31 38 vlGts/4+EhySnB8esHnFIbAURRPHsl18
1aad80 54 6c 55 6c 52 64 4a 51 66 4b 46 69 43 34 72 65 52 42 37 6e 6f 49 2f 70 6c 76 67 36 61 52 41 72 TlUlRdJQfKFiC4reRB7noI/plvg6aRAr
1aada0 42 73 4e 6c 56 71 35 33 33 31 0a 6c 75 62 4b 67 64 61 58 38 5a 53 44 36 65 32 77 73 57 73 53 61 BsNlVq5331.lubKgdaX8ZSD6e2wsWsSa
1aadc0 52 36 73 2b 31 32 70 78 5a 6a 70 74 46 74 59 65 72 34 39 6f 6b 51 36 59 31 6e 55 43 79 58 65 47 R6s+12pxZjptFtYer49okQ6Y1nUCyXeG
1aade0 30 2b 39 35 51 47 65 7a 64 49 70 31 5a 38 58 47 51 70 76 76 77 79 51 0a 30 77 6c 66 32 65 4f 4b 0+95QGezdIp1Z8XGQpvvwyQ.0wlf2eOK
1aae00 4e 63 78 35 57 6b 30 5a 4e 35 4b 33 78 4d 47 74 72 2f 52 35 4a 4a 71 79 41 51 75 78 72 31 79 57 Ncx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW
1aae20 38 34 41 79 2b 31 77 39 6d 50 47 67 50 30 72 65 76 71 2b 55 4c 74 6c 56 6d 68 64 75 59 4a 31 6a 84Ay+1w9mPGgP0revq+ULtlVmhduYJ1j
1aae40 62 4c 68 6a 0a 79 61 36 42 58 42 67 31 34 4a 43 37 76 6a 78 50 4e 79 4b 35 66 75 76 50 6e 6e 63 bLhj.ya6BXBg14JC7vjxPNyK5fuvPnnc
1aae60 68 70 6a 30 34 67 66 74 49 32 6a 45 39 4b 2b 4f 4a 39 64 43 31 76 58 37 67 55 4d 51 53 69 62 4d hpj04gftI2jE9K+OJ9dC1vX7gUMQSibM
1aae80 6a 6d 68 41 78 68 64 75 75 62 2b 38 34 4d 78 68 32 0a 45 51 49 44 41 51 41 42 6f 34 49 42 62 44 jmhAxhduub+84Mxh2.EQIDAQABo4IBbD
1aaea0 43 43 41 57 67 77 45 67 59 44 56 52 30 54 41 51 48 2f 42 41 67 77 42 67 45 42 2f 77 49 42 44 44 CCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDD
1aaec0 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 2b 53 53 73 44 37 4b 31 2b 48 6e 41 2b 6d 43 49 0a 47 AdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI.G
1aaee0 38 54 5a 54 51 4b 65 46 78 6b 77 67 65 4d 47 41 31 55 64 49 77 53 42 32 7a 43 42 32 49 41 55 2b 8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+
1aaf00 53 53 73 44 37 4b 31 2b 48 6e 41 2b 6d 43 49 47 38 54 5a 54 51 4b 65 46 78 6d 68 67 62 53 6b 67 SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkg
1aaf20 62 45 77 67 61 34 78 43 7a 41 4a 0a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 44 bEwga4xCzAJ.BgNVBAYTAkVVMUMwQQYD
1aaf40 56 51 51 48 45 7a 70 4e 59 57 52 79 61 57 51 67 4b 48 4e 6c 5a 53 42 6a 64 58 4a 79 5a 57 35 30 VQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50
1aaf60 49 47 46 6b 5a 48 4a 6c 63 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 0a 62 57 56 79 5a 6d 6c IGFkZHJlc3MgYXQgd3d3LmNh.bWVyZml
1aaf80 79 62 57 45 75 59 32 39 74 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 51 ybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQ
1aafa0 46 45 77 6c 42 4f 44 49 33 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 6b 46 FEwlBODI3NDMyODcxGzAZBgNVBAoTEkF
1aafc0 44 49 45 4e 68 0a 62 57 56 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 31 DIENh.bWVyZmlybWEgUy5BLjEpMCcGA1
1aafe0 55 45 41 78 4d 67 51 32 68 68 62 57 4a 6c 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 59 32 UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2
1ab000 55 67 55 6d 39 76 64 43 41 74 49 44 49 77 4d 44 69 43 0a 43 51 43 6a 32 6b 4a 2b 70 4c 47 75 32 UgUm9vdCAtIDIwMDiC.CQCj2kJ+pLGu2
1ab020 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 50 51 59 44 56 52 30 67 42 jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gB
1ab040 44 59 77 4e 44 41 79 42 67 52 56 48 53 41 41 4d 43 6f 77 4b 41 59 49 4b 77 59 42 42 51 55 48 0a DYwNDAyBgRVHSAAMCowKAYIKwYBBQUH.
1ab060 41 67 45 57 48 47 68 30 64 48 41 36 4c 79 39 77 62 32 78 70 59 33 6b 75 59 32 46 74 5a 58 4a 6d AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJm
1ab080 61 58 4a 74 59 53 35 6a 62 32 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 aXJtYS5jb20wDQYJKoZIhvcNAQEFBQAD
1ab0a0 67 67 49 42 41 4a 41 53 72 79 49 31 0a 77 71 4d 35 38 43 37 65 36 62 58 70 65 48 78 49 76 6a 39 ggIBAJASryI1.wqM58C7e6bXpeHxIvj9
1ab0c0 39 52 5a 4a 65 36 64 71 78 47 66 77 57 50 4a 2b 30 57 32 61 65 61 75 66 44 75 56 32 49 36 41 2b 9RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+
1ab0e0 74 7a 79 4d 50 33 69 55 36 58 73 78 50 70 63 47 31 4c 61 77 6b 30 6c 67 48 0a 33 71 4c 50 61 59 tzyMP3iU6XsxPpcG1Lawk0lgH.3qLPaY
1ab100 52 67 4d 2b 67 51 44 52 4f 70 49 39 43 46 35 59 35 37 70 70 34 39 63 68 4e 79 4d 2f 57 71 66 63 RgM+gQDROpI9CF5Y57pp49chNyM/Wqfc
1ab120 5a 6a 48 77 6a 30 2f 67 46 2f 4a 4d 38 72 4c 46 51 4a 33 75 49 72 62 5a 4c 47 4f 55 38 57 36 6a ZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6j
1ab140 78 2b 65 6b 62 55 0a 52 57 70 47 71 4f 74 31 67 6c 61 6e 71 36 42 38 61 42 4d 7a 39 70 30 77 38 x+ekbU.RWpGqOt1glanq6B8aBMz9p0w8
1ab160 47 38 6e 4f 53 51 6a 4b 70 44 39 6b 43 6b 31 38 70 50 66 4e 4b 58 47 39 2f 6a 76 6a 41 39 69 53 G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iS
1ab180 6e 79 75 30 2f 56 55 2b 49 32 32 6d 6c 61 48 46 6f 49 36 0a 4d 36 74 61 49 67 6a 33 67 72 72 71 nyu0/VU+I22mlaHFoI6.M6taIgj3grrq
1ab1a0 4c 75 42 48 6d 72 53 31 52 61 4d 46 4f 39 6e 63 4c 6b 56 41 4f 2b 72 63 66 2b 67 37 36 39 48 73 LuBHmrS1RaMFO9ncLkVAO+rcf+g769Hs
1ab1c0 4a 74 67 31 70 44 44 46 4f 71 78 58 6e 72 4e 32 70 53 42 37 2b 52 35 4b 42 57 49 42 70 69 68 31 Jtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
1ab1e0 0a 59 4a 65 53 44 57 34 2b 54 54 64 44 44 5a 49 56 6e 42 67 69 7a 56 47 5a 6f 43 6b 61 50 46 2b .YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+
1ab200 4b 4d 6a 4e 62 4d 4d 65 4a 4c 30 65 59 44 36 4d 44 78 76 62 78 72 4e 38 79 38 4e 6d 42 47 75 53 KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuS
1ab220 63 76 66 61 41 46 50 44 52 4c 4c 6d 46 0a 39 64 69 6a 73 63 69 6c 49 65 55 63 45 35 66 75 44 72 cvfaAFPDRLLmF.9dijscilIeUcE5fuDr
1ab240 33 66 4b 61 6e 76 4e 46 4e 62 30 2b 52 71 45 34 51 47 74 6a 49 43 78 46 4b 75 49 74 4c 63 73 69 3fKanvNFNb0+RqE4QGtjICxFKuItLcsi
1ab260 46 43 47 74 70 41 38 43 6e 4a 37 41 6f 4d 58 4f 4c 51 75 73 78 49 30 7a 63 4b 0a 7a 42 49 4b 69 FCGtpA8CnJ7AoMXOLQusxI0zcK.zBIKi
1ab280 6e 6d 77 50 51 4e 2f 61 55 76 30 4e 43 42 39 73 7a 54 71 6a 6b 74 6b 39 54 37 39 73 79 4e 6e 46 nmwPQN/aUv0NCB9szTqjktk9T79syNnF
1ab2a0 51 30 45 75 50 41 74 77 51 6c 52 50 4c 4a 73 46 66 43 6c 49 39 65 44 64 4f 54 6c 4c 73 6e 2b 6d Q0EuPAtwQlRPLJsFfClI9eDdOTlLsn+m
1ab2c0 43 64 43 78 71 76 47 0a 6e 72 44 51 57 7a 69 6c 6d 31 44 65 66 68 69 59 74 55 55 37 39 6e 6d 30 CdCxqvG.nrDQWzilm1DefhiYtUU79nm0
1ab2e0 36 50 63 61 65 77 61 44 2b 39 43 4c 32 72 76 48 76 52 69 72 43 47 38 38 67 47 74 41 50 78 6b 5a 6PcaewaD+9CL2rvHvRirCG88gGtAPxkZ
1ab300 75 6d 57 4b 35 72 37 56 58 4e 4d 32 31 2b 39 41 55 69 52 67 0a 4f 47 63 45 4d 65 79 50 38 34 4c umWK5r7VXNM21+9AUiRg.OGcEMeyP84L
1ab320 47 33 72 6c 56 38 7a 73 78 6b 56 72 63 74 51 67 56 72 58 59 6c 43 67 31 37 4c 6f 66 69 44 4b 59 G3rlV8zsxkVrctQgVrXYlCg17LofiDKY
1ab340 47 76 43 59 51 62 54 65 64 37 4e 31 34 6a 48 79 41 78 66 44 5a 64 30 6a 51 0a 2d 2d 2d 2d 2d 45 GvCYQbTed7N14jHyAxfDZd0jQ.-----E
1ab360 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 20 43 68 61 6d ND.CERTIFICATE-----..Global.Cham
1ab380 62 65 72 73 69 67 6e 20 52 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d bersign.Root.-.2008.============
1ab3a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1ab3c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 53 54 43 43 42 54 47 67 41 77 49 42 41 RTIFICATE-----.MIIHSTCCBTGgAwIBA
1ab3e0 67 49 4a 41 4d 6e 4e 30 2b 6e 56 66 53 50 4f 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 gIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBB
1ab400 51 55 41 4d 49 47 73 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 0a 4d 45 45 47 QUAMIGsMQswCQYDVQQGEwJFVTFD.MEEG
1ab420 41 31 55 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 56 79 63 6d 56 75 A1UEBxM6TWFkcmlkIChzZWUgY3VycmVu
1ab440 64 43 42 68 5a 47 52 79 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 dCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZp
1ab460 63 6d 31 68 4c 6d 4e 76 0a 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 cm1hLmNv.bS9hZGRyZXNzKTESMBAGA1U
1ab480 45 42 52 4d 4a 51 54 67 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a EBRMJQTgyNzQzMjg3MRswGQYDVQQKExJ
1ab4a0 42 51 79 42 44 59 57 31 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 4a 7a 41 6c 42 67 BQyBDYW1lcmZpcm1hIFMu.QS4xJzAlBg
1ab4c0 4e 56 42 41 4d 54 48 6b 64 73 62 32 4a 68 62 43 42 44 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 NVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbi
1ab4e0 42 53 62 32 39 30 49 43 30 67 4d 6a 41 77 4f 44 41 65 46 77 30 77 4f 44 41 34 4d 44 45 78 4d 6a BSb290IC0gMjAwODAeFw0wODA4MDExMj
1ab500 4d 78 0a 4e 44 42 61 46 77 30 7a 4f 44 41 33 4d 7a 45 78 4d 6a 4d 78 4e 44 42 61 4d 49 47 73 4d Mx.NDBaFw0zODA3MzExMjMxNDBaMIGsM
1ab520 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 4d 45 45 47 41 31 55 45 42 78 4d 36 54 QswCQYDVQQGEwJFVTFDMEEGA1UEBxM6T
1ab540 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 0a 59 33 56 79 63 6d 56 75 64 43 42 68 5a 47 52 79 WFkcmlkIChzZWUg.Y3VycmVudCBhZGRy
1ab560 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e 76 ZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
1ab580 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 4d 4a 0a 51 54 67 bS9hZGRyZXNzKTESMBAGA1UEBRMJ.QTg
1ab5a0 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 42 44 59 57 31 yNzQzMjg3MRswGQYDVQQKExJBQyBDYW1
1ab5c0 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 64 lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkd
1ab5e0 73 62 32 4a 68 62 43 42 44 0a 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 42 53 62 32 39 30 49 43 sb2JhbCBD.aGFtYmVyc2lnbiBSb290IC
1ab600 30 67 4d 6a 41 77 4f 44 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQ
1ab620 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4d 44 66 0a 56 74 50 6b 4f 70 74 32 52 ADggIPADCCAgoCggIBAMDf.VtPkOpt2R
1ab640 62 51 54 32 2f 2f 42 74 68 6d 4c 4e 30 45 59 6c 56 4a 48 36 78 65 64 4b 59 69 4f 4e 57 77 47 4d bQT2//BthmLN0EYlVJH6xedKYiONWwGM
1ab660 69 35 48 59 76 4e 4a 42 4c 39 39 52 44 61 78 63 63 79 39 57 67 6c 7a 31 64 6d 46 52 50 2b 52 56 i5HYvNJBL99RDaxccy9Wglz1dmFRP+RV
1ab680 79 58 66 0a 58 6a 61 4f 63 4e 46 63 63 55 4d 64 32 64 72 76 58 4e 4c 37 47 37 30 36 74 63 75 74 yXf.XjaOcNFccUMd2drvXNL7G706tcut
1ab6a0 6f 38 78 45 70 77 32 75 49 52 55 2f 75 58 70 62 6b 6e 58 59 70 42 49 34 69 52 6d 4b 74 34 44 53 o8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS
1ab6c0 34 6a 4a 76 56 70 79 52 31 6f 67 51 43 37 4e 30 0a 5a 4a 4a 30 59 50 50 32 7a 78 68 50 59 4c 49 4jJvVpyR1ogQC7N0.ZJJ0YPP2zxhPYLI
1ab6e0 6a 30 4d 63 37 7a 6d 46 4c 6d 59 2f 43 44 4e 42 41 73 70 6a 63 44 61 68 4f 6f 37 6b 4b 72 6d 43 j0Mc7zmFLmY/CDNBAspjcDahOo7kKrmC
1ab700 67 72 55 56 53 59 37 70 6d 76 57 6a 67 2b 62 34 61 71 49 47 37 48 6b 46 34 64 64 50 42 0a 2f 67 grUVSY7pmvWjg+b4aqIG7HkF4ddPB./g
1ab720 42 56 73 49 64 55 36 43 65 51 4e 52 31 4d 4d 36 32 58 2f 4a 63 75 6d 49 53 2f 4c 4d 6d 6a 76 39 BVsIdU6CeQNR1MM62X/JcumIS/LMmjv9
1ab740 47 59 45 52 54 74 59 2f 6a 4b 6d 49 68 59 46 35 6e 74 52 51 4f 58 66 6a 79 47 48 6f 69 4d 76 76 GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvv
1ab760 4b 52 68 49 39 6c 4e 4e 67 41 0a 54 48 32 33 4d 52 64 61 4b 58 6f 4b 47 43 51 77 6f 7a 65 31 65 KRhI9lNNgA.TH23MRdaKXoKGCQwoze1e
1ab780 71 6b 42 66 53 62 57 2b 51 36 4f 57 66 48 39 47 7a 4f 31 4b 54 73 58 4f 30 47 32 49 64 33 55 77 qkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3Uw
1ab7a0 44 32 6c 6e 35 38 66 51 31 44 4a 75 37 78 73 65 70 65 59 37 73 32 4d 0a 48 2f 75 63 55 61 36 4c D2ln58fQ1DJu7xsepeY7s2M.H/ucUa6L
1ab7c0 63 4c 30 6e 6e 33 48 41 61 36 78 39 6b 47 62 6f 31 31 30 36 44 62 44 56 77 6f 33 56 79 4a 32 64 cL0nn3HAa6x9kGbo1106DbDVwo3VyJ2d
1ab7e0 77 57 33 51 30 4c 39 52 35 4f 50 34 77 7a 67 32 72 74 61 6e 64 65 61 76 68 45 4e 64 6b 35 49 4d wW3Q0L9R5OP4wzg2rtandeavhENdk5IM
1ab800 61 67 66 65 0a 4f 78 32 59 49 74 61 73 77 54 58 62 6f 36 41 6c 2f 33 4b 31 64 68 33 65 62 65 6b agfe.Ox2YItaswTXbo6Al/3K1dh3ebek
1ab820 73 5a 69 78 53 68 4e 42 46 6b 73 34 63 35 65 55 7a 48 64 77 48 55 31 53 6a 71 6f 49 37 6d 6a 63 sZixShNBFks4c5eUzHdwHU1SjqoI7mjc
1ab840 76 33 4e 32 67 5a 4f 6e 6d 33 62 32 75 2f 47 53 46 0a 48 54 79 6e 79 51 62 65 68 50 39 72 36 47 v3N2gZOnm3b2u/GSF.HTynyQbehP9r6G
1ab860 73 61 50 4d 57 69 73 30 4c 37 69 77 6b 2b 58 77 68 53 78 32 4c 45 31 41 56 78 76 38 52 6b 35 50 saPMWis0L7iwk+XwhSx2LE1AVxv8Rk5P
1ab880 69 68 67 2b 67 2b 45 70 75 6f 48 74 51 32 54 53 39 78 39 6f 30 6f 39 6f 4f 70 45 39 4a 68 0a 77 ihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh.w
1ab8a0 5a 47 37 53 4d 41 30 6a 30 47 4d 53 30 7a 62 61 52 4c 2f 55 4a 53 63 49 49 4e 5a 63 2b 31 38 6f ZG7SMA0j0GMS0zbaRL/UJScIINZc+18o
1ab8c0 66 4c 78 2f 64 33 33 53 64 4e 44 57 4b 42 57 59 38 6f 39 50 65 55 31 56 6c 6e 70 44 73 6f 67 7a fLx/d33SdNDWKBWY8o9PeU1VlnpDsogz
1ab8e0 43 74 4c 6b 79 6b 50 41 67 4d 42 0a 41 41 47 6a 67 67 46 71 4d 49 49 42 5a 6a 41 53 42 67 4e 56 CtLkykPAgMB.AAGjggFqMIIBZjASBgNV
1ab900 48 52 4d 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 4d 4d 42 30 47 41 31 55 64 44 67 51 57 HRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW
1ab920 42 42 53 35 43 63 71 63 48 74 76 54 62 44 70 72 72 75 31 55 38 56 75 54 0a 42 6a 55 75 58 6a 43 BBS5CcqcHtvTbDprru1U8VuT.BjUuXjC
1ab940 42 34 51 59 44 56 52 30 6a 42 49 48 5a 4d 49 48 57 67 42 53 35 43 63 71 63 48 74 76 54 62 44 70 B4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDp
1ab960 72 72 75 31 55 38 56 75 54 42 6a 55 75 58 71 47 42 73 71 53 42 72 7a 43 42 72 44 45 4c 4d 41 6b rru1U8VuTBjUuXqGBsqSBrzCBrDELMAk
1ab980 47 41 31 55 45 0a 42 68 4d 43 52 56 55 78 51 7a 42 42 42 67 4e 56 42 41 63 54 4f 6b 31 68 5a 48 GA1UE.BhMCRVUxQzBBBgNVBAcTOk1hZH
1ab9a0 4a 70 5a 43 41 6f 63 32 56 6c 49 47 4e 31 63 6e 4a 6c 62 6e 51 67 59 57 52 6b 63 6d 56 7a 63 79 JpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcy
1ab9c0 42 68 64 43 42 33 64 33 63 75 59 32 46 74 5a 58 4a 6d 0a 61 58 4a 74 59 53 35 6a 62 32 30 76 59 BhdCB3d3cuY2FtZXJm.aXJtYS5jb20vY
1ab9e0 57 52 6b 63 6d 56 7a 63 79 6b 78 45 6a 41 51 42 67 4e 56 42 41 55 54 43 55 45 34 4d 6a 63 30 4d WRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0M
1aba00 7a 49 34 4e 7a 45 62 4d 42 6b 47 41 31 55 45 43 68 4d 53 51 55 4d 67 51 32 46 74 5a 58 4a 6d 0a zI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm.
1aba20 61 58 4a 74 59 53 42 54 4c 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 48 62 47 39 69 aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9i
1aba40 59 57 77 67 51 32 68 68 62 57 4a 6c 63 6e 4e 70 5a 32 34 67 55 6d 39 76 64 43 41 74 49 44 49 77 YWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIw
1aba60 4d 44 69 43 43 51 44 4a 7a 64 50 70 0a 31 58 30 6a 7a 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 MDiCCQDJzdPp.1X0jzjAOBgNVHQ8BAf8
1aba80 45 42 41 4d 43 41 51 59 77 50 51 59 44 56 52 30 67 42 44 59 77 4e 44 41 79 42 67 52 56 48 53 41 EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSA
1abaa0 41 4d 43 6f 77 4b 41 59 49 4b 77 59 42 42 51 55 48 41 67 45 57 48 47 68 30 0a 64 48 41 36 4c 79 AMCowKAYIKwYBBQUHAgEWHGh0.dHA6Ly
1abac0 39 77 62 32 78 70 59 33 6b 75 59 32 46 74 5a 58 4a 6d 61 58 4a 74 59 53 35 6a 62 32 30 77 44 51 9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQ
1abae0 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 49 43 49 66 33 44 65 6b 69 YJKoZIhvcNAQEFBQADggIBAICIf3Deki
1abb00 6a 5a 42 5a 52 47 0a 2f 35 42 58 71 66 45 76 33 78 6f 4e 61 2f 70 38 44 68 78 4a 4a 48 6b 6e 32 jZBZRG./5BXqfEv3xoNa/p8DhxJJHkn2
1abb20 45 61 71 62 79 6c 5a 55 6f 68 77 45 75 72 64 50 66 57 62 55 31 52 76 34 57 43 69 71 41 6d 35 37 EaqbylZUohwEurdPfWbU1Rv4WCiqAm57
1abb40 4f 74 5a 66 4d 59 31 38 64 77 59 36 66 46 6e 35 61 2b 36 0a 52 65 41 4a 33 73 70 45 44 38 49 58 OtZfMY18dwY6fFn5a+6.ReAJ3spED8IX
1abb60 44 6e 65 52 52 58 6f 7a 58 31 2b 57 4c 47 69 4c 77 55 65 50 6d 4a 73 39 77 4f 7a 4c 39 64 57 43 DneRRXozX1+WLGiLwUePmJs9wOzL9dWC
1abb80 6b 6f 51 31 30 62 34 32 4f 46 5a 79 4d 56 74 48 4c 61 6f 58 70 47 4e 52 36 77 6f 42 72 58 2f 73 koQ10b42OFZyMVtHLaoXpGNR6woBrX/s
1abba0 0a 64 5a 37 4c 6f 52 2f 78 66 78 4b 78 75 65 52 6b 66 32 66 57 49 79 72 30 75 44 6c 64 6d 4f 67 .dZ7LoR/xfxKxueRkf2fWIyr0uDldmOg
1abbc0 68 70 2b 47 39 50 55 49 61 64 4a 70 77 72 32 68 73 55 46 31 4a 7a 2f 2f 37 44 6c 33 6d 4c 45 66 hp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEf
1abbe0 58 67 54 70 5a 41 4c 56 7a 61 32 4d 67 0a 39 6a 46 46 43 44 6b 4f 39 48 42 2b 51 48 42 61 50 39 XgTpZALVza2Mg.9jFFCDkO9HB+QHBaP9
1abc00 42 72 51 71 6c 30 50 53 67 76 41 6d 31 31 63 70 55 4a 6a 55 68 6a 78 73 59 6a 56 35 4b 54 58 6a BrQql0PSgvAm11cpUJjUhjxsYjV5KTXj
1abc20 58 42 6a 66 6b 4b 39 79 79 64 59 68 7a 32 72 58 7a 64 70 6a 45 65 74 72 48 48 0a 66 6f 55 6d 2b XBjfkK9yydYhz2rXzdpjEetrHH.foUm+
1abc40 71 52 71 74 64 70 6a 4d 4e 48 76 6b 7a 65 79 5a 69 39 39 42 66 66 6e 74 30 75 59 6c 44 58 41 32 qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2
1abc60 54 6f 70 77 5a 32 79 55 44 4d 64 53 71 6c 61 70 73 6b 44 37 2b 33 30 35 36 68 75 69 72 52 58 68 TopwZ2yUDMdSqlapskD7+3056huirRXh
1abc80 4f 75 6b 50 39 44 75 0a 71 71 71 48 57 32 50 6f 6b 2b 4a 72 71 4e 53 34 63 6e 68 72 47 2b 30 35 OukP9Du.qqqHW2Pok+JrqNS4cnhrG+05
1abca0 35 46 33 4c 6d 36 71 48 31 55 39 4f 41 50 37 5a 61 70 38 38 4d 51 38 6f 41 67 46 39 6d 4f 69 6e 5F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOin
1abcc0 73 4b 4a 6b 6e 6e 6e 34 53 50 49 56 71 63 7a 6d 79 45 54 72 0a 50 33 69 5a 38 6e 74 78 50 6a 7a sKJknnn4SPIVqczmyETr.P3iZ8ntxPjz
1abce0 78 6d 4b 66 46 47 42 49 2f 35 72 73 6f 4d 30 4c 70 52 51 70 38 62 66 4b 47 65 53 2f 46 67 68 6c xmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl
1abd00 39 43 59 6c 38 73 6c 52 32 69 4b 37 65 77 66 50 4d 34 57 37 62 4d 64 61 54 72 70 6d 67 37 79 56 9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yV
1abd20 71 0a 63 35 69 4a 57 7a 6f 75 45 34 67 65 76 38 43 53 6c 44 51 62 34 79 65 33 69 78 35 76 51 76 q.c5iJWzouE4gev8CSlDQb4ye3ix5vQv
1abd40 2f 6e 36 54 65 62 55 42 30 74 6f 76 6b 43 37 73 74 59 57 44 70 78 76 47 6a 6a 71 73 47 76 48 43 /n6TebUB0tovkC7stYWDpxvGjjqsGvHC
1abd60 67 66 6f 74 77 6a 5a 54 2b 42 36 71 36 5a 0a 30 39 67 77 7a 78 4d 4e 54 78 58 4a 68 4c 79 6e 53 gfotwjZT+B6q6Z.09gwzxMNTxXJhLynS
1abd80 43 33 34 4d 43 4e 33 32 45 5a 4c 65 57 33 32 6a 4f 30 36 66 32 41 52 65 50 54 70 6d 36 37 56 56 C34MCN32EZLeW32jO06f2ARePTpm67VV
1abda0 4d 42 30 67 4e 45 4c 51 70 2f 42 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 MB0gNELQp/B.-----END.CERTIFICATE
1abdc0 2d 2d 2d 2d 2d 0a 0a 47 6f 20 44 61 64 64 79 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 -----..Go.Daddy.Root.Certificate
1abde0 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Authority.-.G2.================
1abe00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1abe20 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 78 54 43 43 41 71 32 GIN.CERTIFICATE-----.MIIDxTCCAq2
1abe40 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 gAwIBAgIBADANBgkqhkiG9w0BAQsFADC
1abe60 42 67 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 BgzELMAkGA1UEBhMCVVMxEDAOBgNVBAg
1abe80 54 0a 42 30 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 T.B0FyaXpvbmExEzARBgNVBAcTClNjb3
1abea0 52 30 63 32 52 68 62 47 55 78 47 6a 41 59 42 67 4e 56 42 41 6f 54 45 55 64 76 52 47 46 6b 5a 48 R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZH
1abec0 6b 75 59 32 39 74 4c 43 42 4a 62 6d 4d 75 0a 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 62 kuY29tLCBJbmMu.MTEwLwYDVQQDEyhHb
1abee0 79 42 45 59 57 52 6b 65 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 yBEYWRkeSBSb290IENlcnRpZmljYXRlI
1abf00 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 0a 4d 44 6b 77 EF1dGhvcml0eSAtIEcyMB4XDTA5.MDkw
1abf20 4d 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 MTAwMDAwMFoXDTM3MTIzMTIzNTk1OVow
1abf40 67 59 4d 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 gYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQI
1abf60 45 77 64 42 63 6d 6c 36 0a 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 EwdBcml6.b25hMRMwEQYDVQQHEwpTY29
1abf80 30 64 48 4e 6b 59 57 78 6c 4d 52 6f 77 47 41 59 44 56 51 51 4b 45 78 46 48 62 30 52 68 5a 47 52 0dHNkYWxlMRowGAYDVQQKExFHb0RhZGR
1abfa0 35 4c 6d 4e 76 62 53 77 67 53 57 35 6a 4c 6a 45 78 4d 43 38 47 0a 41 31 55 45 41 78 4d 6f 52 32 5LmNvbSwgSW5jLjExMC8G.A1UEAxMoR2
1abfc0 38 67 52 47 46 6b 5a 48 6b 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 8gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZS
1abfe0 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f BBdXRob3JpdHkgLSBHMjCCASIwDQYJKo
1ac000 5a 49 0a 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 ZI.hvcNAQEBBQADggEPADCCAQoCggEBA
1ac020 4c 39 78 59 67 6a 78 2b 6c 6b 30 39 78 76 4a 47 4b 50 33 67 45 6c 59 36 53 4b 44 45 36 62 46 49 L9xYgjx+lk09xvJGKP3gElY6SKDE6bFI
1ac040 45 4d 42 4f 34 54 78 35 6f 56 4a 6e 79 66 71 0a 39 6f 51 62 54 71 43 30 32 33 43 59 78 7a 49 42 EMBO4Tx5oVJnyfq.9oQbTqC023CYxzIB
1ac060 73 51 55 2b 42 30 37 75 39 50 70 50 4c 31 6b 77 49 75 65 72 47 56 5a 72 34 6f 41 48 2f 50 4d 57 sQU+B07u9PpPL1kwIuerGVZr4oAH/PMW
1ac080 64 59 41 35 55 58 76 6c 2b 54 57 32 64 45 36 70 6a 59 49 54 35 4c 59 2f 71 51 4f 44 0a 2b 71 4b dYA5UXvl+TW2dE6pjYIT5LY/qQOD.+qK
1ac0a0 2b 69 68 56 71 66 39 34 4c 77 37 59 5a 46 41 58 4b 36 73 4f 6f 42 4a 51 37 52 6e 77 79 44 66 4d +ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfM
1ac0c0 41 5a 69 4c 49 6a 57 6c 74 4e 6f 77 52 47 4c 66 54 73 68 78 67 74 44 6a 36 41 6f 7a 4f 30 39 31 AZiLIjWltNowRGLfTshxgtDj6AozO091
1ac0e0 47 42 39 34 4b 50 75 74 64 0a 66 4d 68 38 2b 37 41 72 55 36 53 53 59 6d 6c 52 4a 51 56 68 47 6b GB94KPutd.fMh8+7ArU6SSYmlRJQVhGk
1ac100 53 42 6a 43 79 70 51 35 59 6a 33 36 77 36 67 5a 6f 4f 4b 63 55 63 71 65 6c 64 48 72 61 65 6e 6a SBjCypQ5Yj36w6gZoOKcUcqeldHraenj
1ac120 41 4b 4f 63 37 78 69 49 44 37 53 31 33 4d 4d 75 79 46 59 6b 4d 6c 0a 4e 41 4a 57 4a 77 47 52 74 AKOc7xiID7S13MMuyFYkMl.NAJWJwGRt
1ac140 44 74 77 4b 6a 39 75 73 65 69 63 69 41 46 39 6e 39 54 35 32 31 4e 74 59 4a 32 2f 4c 4f 64 59 71 DtwKj9useiciAF9n9T521NtYJ2/LOdYq
1ac160 37 68 66 52 76 7a 4f 78 42 73 44 50 41 6e 72 53 54 46 63 61 55 61 7a 34 45 63 43 41 77 45 41 41 7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAA
1ac180 61 4e 43 0a 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f aNC.MEAwDwYDVR0TAQH/BAUwAwEB/zAO
1ac1a0 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
1ac1c0 46 44 71 61 68 51 63 51 5a 79 69 32 37 2f 61 39 0a 42 55 46 75 49 4d 47 55 32 67 2f 65 4d 41 30 FDqahQcQZyi27/a9.BUFuIMGU2g/eMA0
1ac1e0 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 43 5a 32 31 31 35 31 66 6d GCSqGSIb3DQEBCwUAA4IBAQCZ21151fm
1ac200 58 57 57 63 44 59 66 46 2b 4f 77 59 78 64 53 32 68 49 49 35 50 5a 59 65 30 39 36 61 63 0a 76 4e XWWcDYfF+OwYxdS2hII5PZYe096ac.vN
1ac220 6a 70 4c 39 44 62 57 75 37 50 64 49 78 7a 74 44 68 43 32 67 56 37 2b 41 4a 31 75 50 32 6c 73 64 jpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsd
1ac240 65 75 39 74 66 65 45 38 74 54 45 48 36 4b 52 74 47 58 2b 72 63 75 4b 78 47 72 6b 4c 41 6e 67 50 eu9tfeE8tTEH6KRtGX+rcuKxGrkLAngP
1ac260 6e 6f 6e 31 72 70 4e 35 2b 72 0a 35 4e 39 73 73 34 55 58 6e 54 33 5a 4a 45 39 35 6b 54 58 57 58 non1rpN5+r.5N9ss4UXnT3ZJE95kTXWX
1ac280 77 54 72 67 49 4f 72 6d 67 49 74 74 52 44 30 32 4a 44 48 42 48 4e 41 37 58 49 6c 6f 4b 6d 66 37 wTrgIOrmgIttRD02JDHBHNA7XIloKmf7
1ac2a0 4a 36 72 61 42 4b 5a 56 38 61 50 45 6a 6f 4a 70 4c 31 45 2f 51 59 56 0a 4e 38 47 62 35 44 4b 6a J6raBKZV8aPEjoJpL1E/QYV.N8Gb5DKj
1ac2c0 37 54 6a 6f 32 47 54 7a 4c 48 34 55 2f 41 4c 71 6e 38 33 2f 42 32 67 58 32 79 4b 51 4f 43 31 36 7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16
1ac2e0 6a 64 46 55 38 57 6e 6a 58 7a 50 4b 65 6a 31 37 43 75 50 4b 66 31 38 35 35 65 4a 31 75 73 56 32 jdFU8WnjXzPKej17CuPKf1855eJ1usV2
1ac300 47 44 50 4f 0a 4c 50 41 76 54 4b 33 33 73 65 66 4f 54 36 6a 45 6d 30 70 55 42 73 56 2f 66 64 55 GDPO.LPAvTK33sefOT6jEm0pUBsV/fdU
1ac320 49 44 2b 49 63 2f 6e 34 58 75 4b 78 65 39 74 51 57 73 6b 4d 4a 44 45 33 32 70 32 75 30 6d 59 52 ID+Ic/n4XuKxe9tQWskMJDE32p2u0mYR
1ac340 6c 79 6e 71 49 34 75 4a 45 76 6c 7a 33 36 68 7a 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 lynqI4uJEvlz36hz1.-----END.CERTI
1ac360 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 52 6f 6f 74 20 43 65 72 74 FICATE-----..Starfield.Root.Cert
1ac380 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d ificate.Authority.-.G2.=========
1ac3a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1ac3c0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1ac3e0 44 33 54 43 43 41 73 57 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 D3TCCAsWgAwIBAgIBADANBgkqhkiG9w0
1ac400 42 41 51 73 46 41 44 43 42 6a 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 BAQsFADCBjzELMAkGA1UEBhMCVVMxEDA
1ac420 4f 42 67 4e 56 42 41 67 54 0a 42 30 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 OBgNVBAgT.B0FyaXpvbmExEzARBgNVBA
1ac440 63 54 43 6c 4e 6a 62 33 52 30 63 32 52 68 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 cTClNjb3R0c2RhbGUxJTAjBgNVBAoTHF
1ac460 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 55 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 N0YXJmaWVsZCBUZWNobm9s.b2dpZXMsI
1ac480 45 6c 75 59 79 34 78 4d 6a 41 77 42 67 4e 56 42 41 4d 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a EluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZ
1ac4a0 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 CBSb290IENlcnRpZmljYXRlIEF1dGhvc
1ac4c0 6d 6c 30 0a 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d 54 41 77 4d 44 41 77 ml0.eSAtIEcyMB4XDTA5MDkwMTAwMDAw
1ac4e0 4d 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 59 38 78 43 7a 41 4a MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJ
1ac500 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 41 77 0a 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c BgNVBAYTAlVTMRAw.DgYDVQQIEwdBcml
1ac520 36 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6b25hMRMwEQYDVQQHEwpTY290dHNkYWx
1ac540 6c 4d 53 55 77 49 77 59 44 56 51 51 4b 45 78 78 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 0a 56 47 lMSUwIwYDVQQKExxTdGFyZmllbGQg.VG
1ac560 56 6a 61 47 35 76 62 47 39 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 49 77 4d 41 59 44 56 51 VjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQ
1ac580 51 44 45 79 6c 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 QDEylTdGFyZmllbGQgUm9vdCBDZXJ0aW
1ac5a0 5a 70 59 32 46 30 5a 53 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 ZpY2F0ZSBB.dXRob3JpdHkgLSBHMjCCA
1ac5c0 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 SIwDQYJKoZIhvcNAQEBBQADggEPADCCA
1ac5e0 51 6f 43 67 67 45 42 41 4c 33 74 77 51 50 38 39 6f 2f 38 41 72 46 76 0a 57 35 39 49 32 5a 31 35 QoCggEBAL3twQP89o/8ArFv.W59I2Z15
1ac600 34 71 4b 33 41 32 46 57 47 4d 4e 48 74 74 66 4b 50 54 55 75 69 55 50 33 6f 57 6d 62 33 6f 6f 61 4qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa
1ac620 2f 52 4d 67 6e 4c 52 4a 64 7a 49 70 56 76 32 35 37 49 7a 64 49 76 70 79 33 43 64 68 6c 2b 37 32 /RMgnLRJdzIpVv257IzdIvpy3Cdhl+72
1ac640 57 6f 54 73 0a 62 68 6d 35 69 53 7a 63 68 46 76 56 64 50 74 72 58 38 57 4a 70 52 42 53 69 55 5a WoTs.bhm5iSzchFvVdPtrX8WJpRBSiUZ
1ac660 56 39 4c 68 31 48 4f 5a 2f 35 46 53 75 53 2f 68 56 63 6c 63 43 47 66 67 58 63 56 6e 72 48 69 67 V9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHig
1ac680 48 64 4d 57 64 53 4c 35 73 74 50 53 6b 73 50 4e 6b 0a 4e 33 6d 53 77 4f 78 47 58 6e 2f 68 62 56 HdMWdSL5stPSksPNk.N3mSwOxGXn/hbV
1ac6a0 4e 4d 59 71 2f 4e 48 77 74 6a 75 7a 71 64 2b 2f 78 35 41 4a 68 68 64 4d 38 6d 67 6b 42 6a 38 37 NMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87
1ac6c0 4a 79 61 68 6b 4e 6d 63 72 55 44 6e 58 4d 4e 2f 75 4c 69 63 46 5a 38 57 4a 2f 58 37 4e 66 0a 5a JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf.Z
1ac6e0 54 44 34 70 37 64 4e 64 6c 6f 65 64 6c 34 30 77 4f 69 57 56 70 6d 4b 73 2f 42 2f 70 4d 32 39 33 TD4p7dNdloedl40wOiWVpmKs/B/pM293
1ac700 44 49 78 66 4a 48 50 34 46 38 52 2b 47 75 71 53 56 7a 52 6d 5a 54 52 6f 75 4e 6a 57 77 6c 32 74 DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2t
1ac720 56 5a 69 34 55 74 30 48 5a 62 55 0a 4a 74 51 49 42 46 6e 51 6d 41 34 4f 35 74 37 38 77 2b 77 66 VZi4Ut0HZbU.JtQIBFnQmA4O5t78w+wf
1ac740 6b 50 45 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 kPECAwEAAaNCMEAwDwYDVR0TAQH/BAUw
1ac760 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 48 51 59 AwEB/zAOBgNVHQ8BAf8EBAMC.AQYwHQY
1ac780 44 56 52 30 4f 42 42 59 45 46 48 77 4d 4d 68 2b 6e 32 54 42 2f 78 48 31 6f 6f 32 4b 6f 6f 63 36 DVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6
1ac7a0 72 42 31 73 6e 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQA
1ac7c0 52 57 66 6f 6c 0a 54 77 4e 76 6c 4a 6b 37 6d 68 2b 43 68 54 6e 55 64 67 57 55 58 75 45 6f 6b 32 RWfol.TwNvlJk7mh+ChTnUdgWUXuEok2
1ac7e0 31 69 58 51 6e 43 6f 4b 6a 55 73 48 55 34 38 54 52 71 6e 65 53 66 69 6f 59 6d 55 65 59 73 30 63 1iXQnCoKjUsHU48TRqneSfioYmUeYs0c
1ac800 59 74 62 70 55 67 53 70 49 42 37 4c 69 4b 5a 33 73 78 0a 34 6d 63 75 6a 4a 55 44 4a 69 35 44 6e YtbpUgSpIB7LiKZ3sx.4mcujJUDJi5Dn
1ac820 55 6f 78 39 67 36 31 44 4c 75 33 34 6a 64 2f 49 72 6f 41 6f 77 35 37 55 76 74 72 75 7a 76 45 30 Uox9g61DLu34jd/IroAow57UvtruzvE0
1ac840 33 6c 52 54 73 32 51 39 47 63 48 47 63 67 38 52 6e 6f 4e 41 58 33 46 57 4f 64 74 35 6f 55 77 0a 3lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw.
1ac860 46 35 6f 6b 78 42 44 67 42 50 66 67 38 6e 2f 55 71 67 72 2f 51 68 30 33 37 5a 54 6c 5a 46 6b 53 F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkS
1ac880 49 48 63 34 30 7a 49 2b 4f 49 46 31 6c 6e 50 36 61 49 2b 78 79 38 34 66 78 65 7a 36 6e 48 37 50 IHc40zI+OIF1lnP6aI+xy84fxez6nH7P
1ac8a0 66 72 48 78 42 79 32 32 2f 4c 2f 4b 0a 70 4c 2f 51 6c 77 56 4b 76 4f 6f 59 4b 41 4b 51 76 56 52 frHxBy22/L/K.pL/QlwVKvOoYKAKQvVR
1ac8c0 34 43 53 46 78 30 39 46 39 48 64 6b 57 73 4b 6c 68 50 64 41 4b 41 43 4c 38 78 33 76 4c 43 57 52 4CSFx09F9HdkWsKlhPdAKACL8x3vLCWR
1ac8e0 46 43 7a 74 41 67 66 64 39 66 44 4c 31 6d 4d 70 59 6a 6e 30 71 37 70 42 5a 0a 63 32 54 35 4e 6e FCztAgfd9fDL1mMpYjn0q7pBZ.c2T5Nn
1ac900 52 65 4a 61 48 31 5a 67 55 75 66 7a 6b 56 71 53 72 37 55 49 75 4f 68 57 6e 30 0a 2d 2d 2d 2d 2d ReJaH1ZgUufzkVqSr7UIuOhWn0.-----
1ac920 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 END.CERTIFICATE-----..Starfield.
1ac940 53 65 72 76 69 63 65 73 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 Services.Root.Certificate.Author
1ac960 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ity.-.G2.=======================
1ac980 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1ac9a0 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 37 7a 43 43 -BEGIN.CERTIFICATE-----.MIID7zCC
1ac9c0 41 74 65 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 AtegAwIBAgIBADANBgkqhkiG9w0BAQsF
1ac9e0 41 44 43 42 6d 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 ADCBmDELMAkGA1UEBhMCVVMxEDAOBgNV
1aca00 42 41 67 54 0a 42 30 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e BAgT.B0FyaXpvbmExEzARBgNVBAcTClN
1aca20 6a 62 33 52 30 63 32 52 68 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a jb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJ
1aca40 6d 61 57 56 73 5a 43 42 55 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 maWVsZCBUZWNobm9s.b2dpZXMsIEluYy
1aca60 34 78 4f 7a 41 35 42 67 4e 56 42 41 4d 54 4d 6c 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 54 5a 58 4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZX
1aca80 4a 32 61 57 4e 6c 63 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 0a 49 J2aWNlcyBSb290IENlcnRpZmljYXRl.I
1acaa0 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d EF1dGhvcml0eSAtIEcyMB4XDTA5MDkwM
1acac0 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 TAwMDAwMFoXDTM3MTIzMTIzNTk1OVowg
1acae0 5a 67 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 ZgxCzAJBgNV.BAYTAlVTMRAwDgYDVQQI
1acb00 45 77 64 42 63 6d 6c 36 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 EwdBcml6b25hMRMwEQYDVQQHEwpTY290
1acb20 64 48 4e 6b 59 57 78 6c 4d 53 55 77 49 77 59 44 56 51 51 4b 45 78 78 54 0a 64 47 46 79 5a 6d 6c dHNkYWxlMSUwIwYDVQQKExxT.dGFyZml
1acb40 6c 62 47 51 67 56 47 56 6a 61 47 35 76 62 47 39 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 73 lbGQgVGVjaG5vbG9naWVzLCBJbmMuMTs
1acb60 77 4f 51 59 44 56 51 51 44 45 7a 4a 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 55 32 56 79 64 6d 6c wOQYDVQQDEzJTdGFyZmllbGQgU2Vydml
1acb80 6a 5a 58 4d 67 0a 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 jZXMg.Um9vdCBDZXJ0aWZpY2F0ZSBBdX
1acba0 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 Rob3JpdHkgLSBHMjCCASIwDQYJKoZIhv
1acbc0 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 0a 41 51 6f 43 67 67 45 42 41 4e 55 4d 4f cNAQEBBQADggEPADCC.AQoCggEBANUMO
1acbe0 73 51 71 2b 55 37 69 39 62 34 5a 6c 31 2b 4f 69 46 4f 78 48 7a 2f 4c 7a 35 38 67 45 32 30 70 4f sQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pO
1acc00 73 67 50 66 54 7a 33 61 33 59 34 59 39 6b 32 59 4b 69 62 58 6c 77 41 67 4c 49 76 57 58 2f 32 0a sgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2.
1acc20 68 2f 6b 6c 51 34 62 6e 61 52 74 53 6d 70 44 68 63 65 50 59 4c 51 31 4f 62 2f 62 49 53 64 6d 32 h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2
1acc40 38 78 70 57 72 69 75 32 64 42 54 72 7a 2f 73 6d 34 78 71 36 48 5a 59 75 61 6a 74 59 6c 49 6c 48 8xpWriu2dBTrz/sm4xq6HZYuajtYlIlH
1acc60 56 76 38 6c 6f 4a 4e 77 55 34 50 61 0a 68 48 51 55 77 32 65 65 42 47 67 36 33 34 35 41 57 68 31 Vv8loJNwU4Pa.hHQUw2eeBGg6345AWh1
1acc80 4b 54 73 39 44 6b 54 76 6e 56 74 59 41 63 4d 74 53 37 6e 74 39 72 6a 72 6e 76 44 48 35 52 66 62 KTs9DkTvnVtYAcMtS7nt9rjrnvDH5Rfb
1acca0 43 59 4d 38 54 57 51 49 72 67 4d 77 30 52 39 2b 35 33 70 42 6c 62 51 4c 50 0a 4c 4a 47 6d 70 75 CYM8TWQIrgMw0R9+53pBlbQLP.LJGmpu
1accc0 66 65 68 52 68 4a 66 47 5a 4f 6f 7a 70 74 71 62 58 75 4e 43 36 36 44 51 4f 34 4d 39 39 48 36 37 fehRhJfGZOozptqbXuNC66DQO4M99H67
1acce0 46 72 6a 53 58 5a 6d 38 36 42 30 55 56 47 4d 70 5a 77 68 39 34 43 44 6b 6c 44 68 62 5a 73 63 37 FrjSXZm86B0UVGMpZwh94CDklDhbZsc7
1acd00 74 6b 36 6d 46 42 0a 72 4d 6e 55 56 4e 2b 48 4c 38 63 69 73 69 62 4d 6e 31 6c 55 61 4a 2f 38 76 tk6mFB.rMnUVN+HL8cisibMn1lUaJ/8v
1acd20 69 6f 76 78 46 55 63 64 55 42 67 46 34 55 43 56 54 6d 4c 66 77 55 43 41 77 45 41 41 61 4e 43 4d iovxFUcdUBgF4UCVTmLfwUCAwEAAaNCM
1acd40 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 4f 42 67 4e 56 EAwDwYDVR0TAQH/BAUw.AwEB/zAOBgNV
1acd60 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 78 66 HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxf
1acd80 41 4e 2b 71 41 64 63 77 4b 7a 69 49 6f 72 68 74 53 70 7a 79 45 5a 47 44 4d 41 30 47 43 53 71 47 AN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
1acda0 0a 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 42 4c 4e 71 61 45 64 32 6e 64 4f 78 6d .SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxm
1acdc0 66 5a 79 4d 49 62 77 35 68 79 66 32 45 33 46 2f 59 4e 6f 48 4e 32 42 74 42 4c 5a 39 67 33 63 63 fZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3cc
1acde0 61 61 4e 6e 52 62 6f 62 68 69 43 50 50 0a 45 39 35 44 7a 2b 49 30 73 77 53 64 48 79 6e 56 76 2f aaNnRbobhiCPP.E95Dz+I0swSdHynVv/
1ace00 68 65 79 4e 58 42 76 65 36 53 62 7a 4a 30 38 70 47 43 4c 37 32 43 51 6e 71 74 4b 72 63 67 66 55 heyNXBve6SbzJ08pGCL72CQnqtKrcgfU
1ace20 32 38 65 6c 55 53 77 68 58 71 76 66 64 71 6c 53 35 73 64 4a 2f 50 48 4c 54 79 0a 78 51 47 6a 68 28elUSwhXqvfdqlS5sdJ/PHLTy.xQGjh
1ace40 64 42 79 50 71 31 7a 71 77 75 62 64 51 78 74 52 62 65 4f 6c 4b 79 57 4e 37 57 67 30 49 38 56 52 dByPq1zqwubdQxtRbeOlKyWN7Wg0I8VR
1ace60 77 37 6a 36 49 50 64 6a 2f 33 76 51 51 46 33 7a 43 65 70 59 6f 55 7a 38 6a 63 49 37 33 48 50 64 w7j6IPdj/3vQQF3zCepYoUz8jcI73HPd
1ace80 77 62 65 79 42 6b 64 0a 69 45 44 50 66 55 59 64 2f 78 37 48 34 63 37 2f 49 39 76 47 2b 6f 31 56 wbeyBkd.iEDPfUYd/x7H4c7/I9vG+o1V
1acea0 54 71 6b 43 35 30 63 52 52 6a 37 30 2f 62 31 37 4b 53 61 37 71 57 46 69 4e 79 69 32 4c 53 72 32 TqkC50cRRj70/b17KSa7qWFiNyi2LSr2
1acec0 45 49 5a 6b 79 58 43 6e 30 71 32 33 4b 58 42 35 36 6a 7a 61 0a 59 79 57 66 2f 57 69 33 4d 4f 78 EIZkyXCn0q23KXB56jza.YyWf/Wi3MOx
1acee0 77 2b 33 57 4b 74 32 31 67 5a 37 49 65 79 4c 6e 70 32 4b 68 76 41 6f 74 6e 44 55 30 6d 56 33 48 w+3WKt21gZ7IeyLnp2KhvAotnDU0mV3H
1acf00 61 49 50 7a 42 53 6c 43 4e 73 53 69 36 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 aIPzBSlCNsSi6.-----END.CERTIFICA
1acf20 54 45 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 6c 0a TE-----..AffirmTrust.Commercial.
1acf40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1acf60 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 N.CERTIFICATE-----.MIIDTDCCAjSgA
1acf80 77 49 42 41 67 49 49 64 33 63 47 4a 79 61 70 73 58 77 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 wIBAgIId3cGJyapsXwwDQYJKoZIhvcNA
1acfa0 51 45 4c 42 51 41 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a QELBQAwRDELMAkGA1UEBhMCVVMxFDAS.
1acfc0 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 BgNVBAoMC0FmZmlybVRydXN0MR8wHQYD
1acfe0 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 44 62 32 31 74 5a 58 4a 6a VQQDDBZBZmZpcm1UcnVzdCBDb21tZXJj
1ad000 61 57 46 73 4d 42 34 58 44 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 59 77 4e 6c 6f 58 44 54 4d aWFsMB4XDTEw.MDEyOTE0MDYwNloXDTM
1ad020 77 4d 54 49 7a 4d 54 45 30 4d 44 59 77 4e 6c 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d wMTIzMTE0MDYwNlowRDELMAkGA1UEBhM
1ad040 43 56 56 4d 78 46 44 41 53 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 CVVMxFDASBgNVBAoMC0FmZmly.bVRydX
1ad060 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 N0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdC
1ad080 42 44 62 32 31 74 5a 58 4a 6a 61 57 46 73 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 BDb21tZXJjaWFsMIIBIjANBgkqhkiG9w
1ad0a0 30 42 41 51 45 46 0a 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 39 68 74 50 5a 0BAQEF.AAOCAQ8AMIIBCgKCAQEA9htPZ
1ad0c0 77 63 72 6f 52 58 31 42 69 4c 4c 48 77 47 79 34 33 4e 46 42 6b 52 4a 4c 4c 74 4a 4a 52 54 57 7a wcroRX1BiLLHwGy43NFBkRJLLtJJRTWz
1ad0e0 73 4f 33 71 79 78 50 78 6b 45 79 6c 46 66 36 45 71 64 62 0a 44 75 4b 50 48 78 36 47 47 61 65 71 sO3qyxPxkEylFf6Eqdb.DuKPHx6GGaeq
1ad100 74 53 32 35 58 77 32 4b 77 71 2b 46 4e 58 6b 79 4c 62 73 63 59 6a 66 79 73 56 74 4b 50 63 72 4e tS25Xw2Kwq+FNXkyLbscYjfysVtKPcrN
1ad120 63 56 2f 70 51 72 36 55 36 4d 6a 65 2b 53 4a 49 5a 4d 62 6c 71 38 59 72 62 61 30 46 38 50 72 56 cV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
1ad140 0a 43 38 2b 61 35 66 42 51 70 49 73 37 52 36 55 6a 57 33 70 36 2b 44 4d 2f 75 4f 2b 5a 6c 2b 4d .C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+M
1ad160 67 77 64 59 6f 69 63 2b 55 2b 37 6c 46 37 65 4e 41 46 78 48 55 64 50 41 4c 4d 65 49 72 4a 6d 71 gwdYoic+U+7lF7eNAFxHUdPALMeIrJmq
1ad180 62 54 46 65 75 72 43 41 2b 75 6b 56 36 0a 42 66 4f 39 6d 32 6b 56 72 6e 31 4f 49 47 50 45 4e 58 bTFeurCA+ukV6.BfO9m2kVrn1OIGPENX
1ad1a0 59 36 42 77 4c 4a 4e 2f 33 48 52 2b 37 6f 38 58 59 64 63 78 58 79 6c 36 53 31 79 48 70 35 32 55 Y6BwLJN/3HR+7o8XYdcxXyl6S1yHp52U
1ad1c0 4b 71 4b 33 39 63 2f 73 34 6d 54 36 4e 6d 67 54 57 76 52 4c 70 55 48 68 77 77 0a 4d 6d 57 64 35 KqK39c/s4mT6NmgTWvRLpUHhww.MmWd5
1ad1e0 6a 79 54 58 6c 42 4f 65 75 4d 36 31 47 37 4d 47 76 76 35 30 6a 65 75 4a 43 71 72 56 77 4d 69 4b jyTXlBOeuM61G7MGvv50jeuJCqrVwMiK
1ad200 41 31 4a 64 58 2b 33 4b 4e 70 31 76 34 37 6a 33 41 35 35 4d 51 49 44 41 51 41 42 6f 30 49 77 51 A1JdX+3KNp1v47j3A55MQIDAQABo0IwQ
1ad220 44 41 64 42 67 4e 56 0a 48 51 34 45 46 67 51 55 6e 5a 50 47 55 34 74 65 79 71 38 2f 6e 78 34 50 DAdBgNV.HQ4EFgQUnZPGU4teyq8/nx4P
1ad240 35 5a 6d 56 76 43 54 32 6c 49 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB
1ad260 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a /zAOBgNVHQ8BAf8EBAMC.AQYwDQYJKoZ
1ad280 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 46 69 73 39 41 51 4f 7a 63 41 4e 2f 77 72 IhvcNAQELBQADggEBAFis9AQOzcAN/wr
1ad2a0 39 31 4c 6f 57 58 79 6d 39 65 32 69 5a 57 45 6e 53 74 42 30 33 54 58 38 6e 66 55 59 47 58 55 50 91LoWXym9e2iZWEnStB03TX8nfUYGXUP
1ad2c0 47 0a 68 69 34 2b 63 37 49 6d 66 55 2b 54 71 62 62 45 4b 70 71 72 49 5a 63 55 73 64 36 4d 30 36 G.hi4+c7ImfU+TqbbEKpqrIZcUsd6M06
1ad2e0 75 4a 46 64 68 72 4a 4e 54 78 46 71 37 59 70 46 7a 55 66 31 47 4f 37 52 67 42 73 5a 4e 6a 76 62 uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvb
1ad300 7a 34 59 59 43 61 6e 72 48 4f 51 6e 44 69 0a 71 58 30 47 4a 58 30 6e 6f 66 35 76 37 4c 4d 65 4a z4YYCanrHOQnDi.qX0GJX0nof5v7LMeJ
1ad320 4e 72 6a 53 31 55 61 41 44 73 31 74 44 76 5a 31 31 30 77 2f 59 45 54 69 66 4c 43 42 69 76 74 5a NrjS1UaADs1tDvZ110w/YETifLCBivtZ
1ad340 38 53 4f 79 55 4f 79 58 47 73 56 69 51 4b 38 59 76 78 4f 38 72 55 7a 71 72 4a 76 0a 30 77 71 69 8SOyUOyXGsViQK8YvxO8rUzqrJv.0wqi
1ad360 55 4f 50 32 4f 2b 67 75 52 4d 4c 62 5a 6a 69 70 4d 31 5a 49 38 57 30 62 4d 34 30 4e 6a 44 39 67 UOP2O+guRMLbZjipM1ZI8W0bM40NjD9g
1ad380 4e 35 33 54 79 6d 31 2b 4e 48 34 4e 6e 33 4a 32 69 78 75 66 63 76 31 53 4e 55 46 46 41 70 59 76 N53Tym1+NH4Nn3J2ixufcv1SNUFFApYv
1ad3a0 48 4c 4b 61 63 30 6b 68 0a 73 55 6c 48 52 55 65 30 37 32 6f 30 45 63 6c 4e 6d 73 78 5a 74 39 59 HLKac0kh.sUlHRUe072o0EclNmsxZt9Y
1ad3c0 43 6e 6c 70 4f 5a 62 57 55 72 68 76 66 4b 62 41 57 38 62 38 41 6e 67 63 36 46 32 53 31 42 4c 55 CnlpOZbWUrhvfKbAW8b8Angc6F2S1BLU
1ad3e0 6a 49 5a 6b 4b 6c 54 75 58 66 4f 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 jIZkKlTuXfO8=.-----END.CERTIFICA
1ad400 54 45 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 4e 65 74 77 6f 72 6b 69 6e 67 0a TE-----..AffirmTrust.Networking.
1ad420 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1ad440 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 N.CERTIFICATE-----.MIIDTDCCAjSgA
1ad460 77 49 42 41 67 49 49 66 45 38 45 4f 52 7a 55 6d 53 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 wIBAgIIfE8EORzUmS0wDQYJKoZIhvcNA
1ad480 51 45 46 42 51 41 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a QEFBQAwRDELMAkGA1UEBhMCVVMxFDAS.
1ad4a0 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 BgNVBAoMC0FmZmlybVRydXN0MR8wHQYD
1ad4c0 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 VQQDDBZBZmZpcm1UcnVzdCBOZXR3b3Jr
1ad4e0 61 57 35 6e 4d 42 34 58 44 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 67 79 4e 46 6f 58 44 54 4d aW5nMB4XDTEw.MDEyOTE0MDgyNFoXDTM
1ad500 77 4d 54 49 7a 4d 54 45 30 4d 44 67 79 4e 46 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d wMTIzMTE0MDgyNFowRDELMAkGA1UEBhM
1ad520 43 56 56 4d 78 46 44 41 53 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 CVVMxFDASBgNVBAoMC0FmZmly.bVRydX
1ad540 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 N0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdC
1ad560 42 4f 5a 58 52 33 62 33 4a 72 61 57 35 6e 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 BOZXR3b3JraW5nMIIBIjANBgkqhkiG9w
1ad580 30 42 41 51 45 46 0a 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 74 49 54 4d 4d 0BAQEF.AAOCAQ8AMIIBCgKCAQEAtITMM
1ad5a0 78 63 75 61 35 52 73 61 32 46 53 6f 4f 75 6a 7a 33 6d 55 54 4f 57 55 67 4a 6e 4c 56 57 52 45 5a xcua5Rsa2FSoOujz3mUTOWUgJnLVWREZ
1ad5c0 59 39 6e 5a 4f 49 47 34 31 77 33 53 66 59 76 6d 34 53 45 0a 48 69 33 79 59 4a 30 77 54 73 79 45 Y9nZOIG41w3SfYvm4SE.Hi3yYJ0wTsyE
1ad5e0 68 65 49 73 7a 78 36 65 2f 6a 61 72 4d 33 63 31 52 4e 67 31 6c 68 6f 39 4e 75 68 36 44 74 6a 56 heIszx6e/jarM3c1RNg1lho9Nuh6DtjV
1ad600 52 36 46 71 61 59 76 5a 2f 4c 73 36 72 6e 6c 61 31 66 54 57 63 62 75 61 6b 43 4e 72 6d 72 65 49 R6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
1ad620 0a 64 49 63 4d 48 6c 2b 35 6e 69 33 36 71 31 4d 72 33 4c 74 32 50 70 4e 4d 43 41 69 4d 48 71 49 .dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqI
1ad640 6a 48 4e 52 71 72 53 4b 36 6d 51 45 75 62 57 58 4c 76 69 52 6d 56 53 52 4c 51 45 53 78 47 39 66 jHNRqrSK6mQEubWXLviRmVSRLQESxG9f
1ad660 68 77 6f 58 41 33 68 41 2f 50 65 32 34 0a 2f 50 48 78 49 31 50 63 76 32 57 58 62 39 6e 35 51 48 hwoXA3hA/Pe24./PHxI1Pcv2WXb9n5QH
1ad680 47 4e 66 62 32 56 31 4d 36 2b 6f 46 34 6e 49 39 37 39 70 74 41 6d 44 67 41 70 36 7a 78 47 38 44 GNfb2V1M6+oF4nI979ptAmDgAp6zxG8D
1ad6a0 31 67 76 7a 39 51 30 74 77 6d 51 56 47 65 46 44 64 43 42 4b 4e 77 56 36 67 62 0a 68 2b 30 74 2b 1gvz9Q0twmQVGeFDdCBKNwV6gb.h+0t+
1ad6c0 6e 76 75 6a 41 72 6a 71 57 61 4a 47 63 74 42 2b 64 31 45 4e 6d 48 50 34 6e 64 47 79 48 33 32 39 nvujArjqWaJGctB+d1ENmHP4ndGyH329
1ad6e0 4a 4b 42 4e 76 33 62 4e 50 46 79 66 76 4d 4d 46 72 32 30 46 51 49 44 41 51 41 42 6f 30 49 77 51 JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQ
1ad700 44 41 64 42 67 4e 56 0a 48 51 34 45 46 67 51 55 42 78 2f 53 35 35 7a 61 77 6d 36 69 51 4c 53 77 DAdBgNV.HQ4EFgQUBx/S55zawm6iQLSw
1ad720 65 6c 41 51 55 48 54 45 79 4c 30 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 elAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB
1ad740 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a /zAOBgNVHQ8BAf8EBAMC.AQYwDQYJKoZ
1ad760 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 49 6c 58 73 68 5a 36 71 4d 4c 39 31 74 6d IhvcNAQEFBQADggEBAIlXshZ6qML91tm
1ad780 62 6d 7a 54 43 6e 4c 51 79 46 45 32 6e 70 4e 2f 73 76 71 65 2b 2b 45 50 62 6b 54 66 4f 74 44 49 bmzTCnLQyFE2npN/svqe++EPbkTfOtDI
1ad7a0 75 0a 55 46 55 61 4e 55 35 32 51 33 45 67 37 35 4e 33 54 68 56 77 4c 6f 66 44 77 52 31 74 33 4d u.UFUaNU52Q3Eg75N3ThVwLofDwR1t3M
1ad7c0 75 31 4a 39 51 73 56 74 46 53 55 7a 70 45 30 6e 50 49 78 42 73 46 5a 56 70 69 6b 70 7a 75 51 59 u1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY
1ad7e0 30 78 32 2b 63 30 36 6c 6b 68 31 51 46 36 0a 31 32 53 34 5a 44 6e 4e 79 65 32 76 37 55 73 44 53 0x2+c06lkh1QF6.12S4ZDnNye2v7UsDS
1ad800 4b 65 67 6d 51 47 41 33 47 57 6a 4e 71 35 6c 57 55 68 50 67 6b 76 49 5a 66 46 58 48 65 56 5a 4c KegmQGA3GWjNq5lWUhPgkvIZfFXHeVZL
1ad820 67 6f 2f 62 4e 6a 52 39 65 55 4a 74 47 78 55 41 41 72 67 46 55 32 48 64 57 32 33 0a 57 4a 5a 61 go/bNjR9eUJtGxUAArgFU2HdW23.WJZa
1ad840 33 57 33 53 41 4b 44 30 6d 30 69 2b 77 7a 65 6b 75 6a 62 67 66 49 65 46 6c 78 6f 56 6f 74 34 75 3W3SAKD0m0i+wzekujbgfIeFlxoVot4u
1ad860 6f 6c 75 39 72 78 6a 35 6b 46 44 4e 63 46 6e 34 4a 32 64 48 79 38 65 67 42 7a 70 39 30 53 78 64 olu9rxj5kFDNcFn4J2dHy8egBzp90Sxd
1ad880 62 42 6b 36 5a 72 56 39 0a 2f 5a 46 76 67 72 47 2b 43 4a 50 62 46 45 66 78 6f 6a 66 48 52 5a 34 bBk6ZrV9./ZFvgrG+CJPbFEfxojfHRZ4
1ad8a0 38 78 33 65 76 5a 4b 69 54 33 2f 5a 70 67 34 4a 67 38 6b 6c 43 4e 4f 31 61 41 46 53 46 48 42 59 8x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY
1ad8c0 32 6b 67 78 63 2b 71 61 74 76 39 73 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 2kgxc+qatv9s=.-----END.CERTIFICA
1ad8e0 54 45 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d 69 75 6d 0a 3d 3d 3d TE-----..AffirmTrust.Premium.===
1ad900 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1ad920 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 52 6a 43 43 41 79 36 67 41 77 49 42 41 67 49 IFICATE-----.MIIFRjCCAy6gAwIBAgI
1ad940 49 62 59 77 55 52 72 47 6d 43 75 34 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 IbYwURrGmCu4wDQYJKoZIhvcNAQEMBQA
1ad960 77 51 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 wQTELMAkGA1UEBhMCVVMxFDAS.BgNVBA
1ad980 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 77 77 47 67 59 44 56 51 51 44 44 42 oMC0FmZmlybVRydXN0MRwwGgYDVQQDDB
1ad9a0 4e 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 4d 42 34 58 44 54 NBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDT
1ad9c0 45 77 4d 44 45 79 0a 4f 54 45 30 4d 54 41 7a 4e 6c 6f 58 44 54 51 77 4d 54 49 7a 4d 54 45 30 4d EwMDEy.OTE0MTAzNloXDTQwMTIzMTE0M
1ad9e0 54 41 7a 4e 6c 6f 77 51 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 42 TAzNlowQTELMAkGA1UEBhMCVVMxFDASB
1ada00 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 0a 64 58 4e 30 4d 52 77 77 47 67 59 44 gNVBAoMC0FmZmlybVRy.dXN0MRwwGgYD
1ada20 56 51 51 44 44 42 4e 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 VQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVt
1ada40 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
1ada60 0a 4d 49 49 43 43 67 4b 43 41 67 45 41 78 42 4c 66 71 56 2f 2b 51 64 33 64 39 5a 2b 4b 34 2f 61 .MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/a
1ada80 73 34 54 78 34 6d 72 7a 59 38 48 39 36 6f 44 4d 71 33 49 30 67 57 36 34 74 62 2b 65 54 32 54 5a s4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZ
1adaa0 77 61 6d 6a 50 6a 6c 47 6a 68 56 74 6e 0a 42 4b 41 51 4a 47 39 64 4b 49 4c 42 6c 31 66 59 53 43 wamjPjlGjhVtn.BKAQJG9dKILBl1fYSC
1adac0 6b 54 74 75 47 2b 6b 55 33 66 68 51 78 54 47 4a 6f 65 4a 4b 4a 50 6a 2f 43 69 68 51 76 4c 39 43 kTtuG+kU3fhQxTGJoeJKJPj/CihQvL9C
1adae0 6c 2f 30 71 52 59 37 69 5a 4e 79 61 71 6f 65 35 72 5a 2b 6a 6a 65 52 46 63 56 0a 35 66 69 4d 79 l/0qRY7iZNyaqoe5rZ+jjeRFcV.5fiMy
1adb00 4e 6c 49 34 67 30 57 4a 78 30 65 79 49 4f 46 4a 62 65 36 71 6c 56 42 7a 41 4d 69 53 79 32 52 6a NlI4g0WJx0eyIOFJbe6qlVBzAMiSy2Rj
1adb20 59 76 6d 69 61 39 6d 78 2b 6e 2f 4b 2b 6b 38 72 4e 72 53 73 38 50 68 61 4a 79 4a 2b 48 6f 41 56 Yvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAV
1adb40 74 37 30 56 5a 56 73 0a 2b 37 70 6b 33 57 4b 4c 33 77 74 33 4d 75 74 69 7a 43 61 61 6d 37 75 71 t70VZVs.+7pk3WKL3wt3MutizCaam7uq
1adb60 59 6f 4e 4d 74 41 5a 36 4d 4d 67 70 76 2b 30 47 54 5a 65 35 48 4d 51 78 4b 39 56 66 76 46 4d 53 YoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMS
1adb80 46 35 79 5a 56 79 6c 6d 64 32 45 68 4d 51 63 75 4a 55 6d 64 0a 47 50 4c 75 38 79 74 78 6a 4c 57 F5yZVylmd2EhMQcuJUmd.GPLu8ytxjLW
1adba0 36 4f 51 64 4a 64 2f 7a 76 4c 70 4b 51 42 59 30 74 4c 33 64 37 37 30 4f 2f 4e 62 75 61 32 50 6c 6OQdJd/zvLpKQBY0tL3d770O/Nbua2Pl
1adbc0 7a 70 79 7a 79 30 46 66 75 4b 45 34 6d 58 34 2b 51 61 41 6b 76 75 50 6a 63 42 75 6b 75 6d 6a 35 zpyzy0FfuKE4mX4+QaAkvuPjcBukumj5
1adbe0 52 0a 70 39 45 69 78 41 71 6e 4f 45 68 73 73 2f 6e 2f 66 61 75 47 56 2b 4f 36 31 6f 56 34 64 37 R.p9EixAqnOEhss/n/fauGV+O61oV4d7
1adc00 70 44 36 6b 68 2f 39 74 69 2b 49 32 30 65 76 39 45 32 62 46 68 63 38 65 36 6b 47 56 51 61 39 51 pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9Q
1adc20 50 53 64 75 62 68 6a 4c 30 38 73 39 4e 49 0a 53 2b 4c 49 2b 48 2b 53 71 48 5a 47 6e 45 4a 6c 50 PSdubhjL08s9NI.S+LI+H+SqHZGnEJlP
1adc40 71 51 65 77 51 63 44 57 6b 59 74 75 4a 66 7a 74 39 57 79 56 53 48 76 75 74 78 4d 41 4a 66 37 46 qQewQcDWkYtuJfzt9WyVSHvutxMAJf7F
1adc60 4a 55 6e 4d 37 2f 6f 51 30 64 47 30 67 69 5a 46 6d 41 37 6d 6e 37 53 35 75 30 34 0a 36 75 77 42 JUnM7/oQ0dG0giZFmA7mn7S5u04.6uwB
1adc80 48 6a 78 49 56 6b 6b 4a 78 30 77 33 41 4a 36 49 44 73 42 7a 34 57 39 6d 36 58 4a 48 4d 44 34 51 HjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q
1adca0 35 51 73 44 79 5a 70 43 41 47 7a 46 6c 48 35 68 78 49 72 66 66 34 49 61 43 31 6e 45 57 54 4a 33 5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3
1adcc0 73 37 78 67 61 56 59 35 0a 2f 62 51 47 65 79 7a 57 5a 44 62 5a 76 55 6a 74 68 42 39 2b 70 53 4b s7xgaVY5./bQGeyzWZDbZvUjthB9+pSK
1adce0 50 4b 72 68 43 39 49 4b 33 31 46 4f 51 65 45 34 74 47 76 32 42 62 30 54 58 4f 77 46 30 6c 6b 4c PKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkL
1add00 67 41 4f 49 75 61 2b 72 46 37 6e 4b 73 75 37 2f 2b 36 71 71 6f 0a 2b 4e 7a 32 73 6e 6d 4b 74 6d gAOIua+rF7nKsu7/+6qqo.+Nz2snmKtm
1add20 63 43 41 77 45 41 41 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 33 41 5a 36 cCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6
1add40 59 4d 49 74 6b 6d 39 55 57 72 70 6d 56 53 45 53 66 59 52 61 78 6a 4d 41 38 47 41 31 55 64 45 77 YMItkm9UWrpmVSESfYRaxjMA8GA1UdEw
1add60 45 42 0a 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 EB./wQFMAMBAf8wDgYDVR0PAQH/BAQDA
1add80 67 45 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 44 41 55 41 41 34 49 43 41 51 43 7a 56 gEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV
1adda0 30 30 51 59 6b 34 36 35 4b 7a 71 75 42 79 76 0a 4d 69 50 49 73 30 6c 61 55 5a 78 32 4b 49 31 35 00QYk465KzquByv.MiPIs0laUZx2KI15
1addc0 71 6c 64 47 46 39 58 31 55 76 61 33 52 4f 67 49 52 4c 38 59 68 4e 49 4c 67 4d 33 46 45 76 30 41 qldGF9X1Uva3ROgIRL8YhNILgM3FEv0A
1adde0 56 51 56 68 68 30 48 63 74 53 53 65 50 4d 54 59 79 50 74 77 6e 69 39 34 6c 6f 4d 67 0a 4e 74 35 VQVhh0HctSSePMTYyPtwni94loMg.Nt5
1ade00 38 44 32 6b 54 69 4b 56 31 4e 70 67 49 70 73 62 66 72 4d 37 6a 57 4e 61 33 50 74 36 36 38 2b 73 8D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s
1ade20 30 51 4e 69 69 67 66 56 34 50 79 2f 56 70 66 7a 5a 6f 74 52 65 42 41 34 58 72 66 35 42 38 4f 57 0QNiigfV4Py/VpfzZotReBA4Xrf5B8OW
1ade40 79 63 76 70 45 67 6a 4e 43 0a 36 43 31 59 39 31 61 4d 59 6a 2b 36 51 72 43 63 44 46 78 2b 4c 6d ycvpEgjNC.6C1Y91aMYj+6QrCcDFx+Lm
1ade60 55 6d 58 46 4e 50 41 4c 4a 34 66 71 45 4e 6d 53 32 4e 75 42 32 4f 6f 73 53 77 2f 57 44 51 4d 4b UmXFNPALJ4fqENmS2NuB2OosSw/WDQMK
1ade80 53 4f 79 41 52 69 71 63 54 74 4e 64 35 36 6c 2b 30 4f 4f 46 36 53 0a 4c 35 4e 77 70 61 6d 63 62 SOyARiqcTtNd56l+0OOF6S.L5Nwpamcb
1adea0 36 64 39 45 78 31 2b 78 67 68 49 73 56 35 6e 36 31 45 49 4a 65 6e 6d 4a 57 74 53 4b 5a 47 63 30 6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0
1adec0 6a 6c 7a 43 46 66 65 6d 51 61 30 57 35 30 51 42 75 48 43 41 4b 69 34 48 45 6f 43 43 68 54 51 77 jlzCFfemQa0W50QBuHCAKi4HEoCChTQw
1adee0 55 48 4b 0a 2b 34 77 31 49 58 32 43 4f 50 4b 70 56 4a 45 5a 4e 5a 4f 55 62 57 6f 36 78 62 4c 51 UHK.+4w1IX2COPKpVJEZNZOUbWo6xbLQ
1adf00 75 34 6d 47 6b 2b 69 62 79 51 38 36 70 33 71 34 6f 66 42 34 52 76 72 38 4e 79 2f 6c 69 6f 54 7a u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz
1adf20 33 2f 34 45 32 61 46 6f 6f 43 38 6b 34 67 6d 56 0a 42 74 57 56 79 75 45 6b 6c 75 74 38 39 70 4d 3/4E2aFooC8k4gmV.BtWVyuEklut89pM
1adf40 46 75 2b 31 7a 36 53 33 52 64 54 6e 58 35 79 54 62 32 45 35 66 51 34 2b 65 30 42 51 35 76 31 56 Fu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1V
1adf60 77 53 4a 6c 58 4d 62 53 63 37 6b 71 59 41 35 59 77 48 32 41 47 37 68 73 6a 2f 6f 46 67 0a 49 78 wSJlXMbSc7kqYA5YwH2AG7hsj/oFg.Ix
1adf80 70 48 59 6f 57 6c 7a 42 6b 30 67 47 2b 7a 72 42 72 6a 6e 2f 42 37 53 4b 33 56 41 64 6c 6e 74 71 pHYoWlzBk0gG+zrBrjn/B7SK3VAdlntq
1adfa0 6c 79 6b 2b 6f 74 5a 72 57 79 75 4f 51 39 50 4c 4c 76 54 49 7a 71 36 77 65 2f 71 7a 57 61 56 59 lyk+otZrWyuOQ9PLLvTIzq6we/qzWaVY
1adfc0 61 38 47 4b 61 31 71 46 36 30 0a 67 32 78 72 61 55 44 54 6e 39 7a 78 77 32 6c 72 75 65 46 74 43 a8GKa1qF60.g2xraUDTn9zxw2lrueFtC
1adfe0 66 54 78 71 6c 42 32 43 6e 70 39 65 68 65 68 56 5a 5a 43 6d 54 45 4a 33 57 41 52 6a 51 55 77 66 fTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwf
1ae000 75 61 4f 52 74 47 64 46 4e 72 48 46 2b 51 46 6c 6f 7a 45 4a 4c 55 62 0a 7a 78 51 48 73 6b 44 34 uaORtGdFNrHF+QFlozEJLUb.zxQHskD4
1ae020 6f 35 35 42 68 72 77 45 30 47 75 57 79 43 71 41 4e 50 32 2f 37 77 61 6a 33 56 6a 46 68 54 30 2b o55BhrwE0GuWyCqANP2/7waj3VjFhT0+
1ae040 6a 2f 36 65 4b 65 43 32 75 41 6c 6f 47 52 77 59 51 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 j/6eKeC2uAloGRwYQw==.-----END.CE
1ae060 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d RTIFICATE-----..AffirmTrust.Prem
1ae080 69 75 6d 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a ium.ECC.=======================.
1ae0a0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 -----BEGIN.CERTIFICATE-----.MIIB
1ae0c0 2f 6a 43 43 41 59 57 67 41 77 49 42 41 67 49 49 64 4a 63 6c 69 73 63 2f 65 6c 51 77 43 67 59 49 /jCCAYWgAwIBAgIIdJclisc/elQwCgYI
1ae0e0 4b 6f 5a 49 7a 6a 30 45 41 77 4d 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 KoZIzj0EAwMwRTELMAkGA1UEBhMCVVMx
1ae100 46 44 41 53 42 67 4e 56 0a 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 53 41 FDASBgNV.BAoMC0FmZmlybVRydXN0MSA
1ae120 77 48 67 59 44 56 51 51 44 44 42 64 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 wHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmV
1ae140 74 61 58 56 74 49 45 56 44 51 7a 41 65 46 77 30 78 4d 44 41 78 0a 4d 6a 6b 78 4e 44 49 77 4d 6a taXVtIEVDQzAeFw0xMDAx.MjkxNDIwMj
1ae160 52 61 46 77 30 30 4d 44 45 79 4d 7a 45 78 4e 44 49 77 4d 6a 52 61 4d 45 55 78 43 7a 41 4a 42 67 RaFw00MDEyMzExNDIwMjRaMEUxCzAJBg
1ae180 4e 56 42 41 59 54 41 6c 56 54 4d 52 51 77 45 67 59 44 56 51 51 4b 44 41 74 42 5a 6d 5a 70 63 6d NVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm
1ae1a0 31 55 0a 63 6e 56 7a 64 44 45 67 4d 42 34 47 41 31 55 45 41 77 77 58 51 57 5a 6d 61 58 4a 74 56 1U.cnVzdDEgMB4GA1UEAwwXQWZmaXJtV
1ae1c0 48 4a 31 63 33 51 67 55 48 4a 6c 62 57 6c 31 62 53 42 46 51 30 4d 77 64 6a 41 51 42 67 63 71 68 HJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqh
1ae1e0 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 0a 49 67 4e 69 41 41 51 4e 4d 46 34 62 46 5a 30 44 kjOPQIBBgUrgQQA.IgNiAAQNMF4bFZ0D
1ae200 30 4b 46 35 4e 62 63 36 50 4a 4a 36 79 68 55 63 7a 57 4c 7a 6e 43 5a 63 42 7a 33 6c 56 50 71 6a 0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj
1ae220 31 73 77 53 36 76 51 55 58 2b 69 4f 47 61 73 76 4c 6b 6a 6d 72 42 68 44 65 4b 7a 51 0a 4e 38 4f 1swS6vQUX+iOGasvLkjmrBhDeKzQ.N8O
1ae240 39 73 73 30 73 35 6b 66 69 47 75 5a 6a 75 44 30 75 4c 33 6a 45 54 39 76 30 44 36 52 6f 54 46 56 9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFV
1ae260 79 61 35 55 64 54 68 68 43 6c 58 6a 4d 4e 7a 79 52 34 70 74 6c 4b 79 6d 6a 51 6a 42 41 4d 42 30 ya5UdThhClXjMNzyR4ptlKymjQjBAMB0
1ae280 47 41 31 55 64 44 67 51 57 0a 42 42 53 61 72 79 6c 36 77 42 45 31 4e 53 5a 52 4d 41 44 44 61 76 GA1UdDgQW.BBSaryl6wBE1NSZRMADDav
1ae2a0 35 41 31 61 37 57 50 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA
1ae2c0 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4b 0a 42 67 67 71 68 6b 6a 4f 50 4GA1UdDwEB/wQEAwIBBjAK.BggqhkjOP
1ae2e0 51 51 44 41 77 4e 6e 41 44 42 6b 41 6a 41 58 43 66 4f 48 69 46 42 61 72 38 6a 41 51 72 39 48 58 QQDAwNnADBkAjAXCfOHiFBar8jAQr9HX
1ae300 2f 56 73 61 6f 62 67 78 43 64 30 35 44 68 54 31 77 56 2f 47 7a 54 6a 78 69 2b 7a 79 67 6b 38 4e /VsaobgxCd05DhT1wV/GzTjxi+zygk8N
1ae320 35 33 58 0a 35 37 68 47 38 66 32 68 34 6e 45 43 4d 45 4a 5a 68 30 50 55 55 64 2b 36 30 77 6b 79 53X.57hG8f2h4nECMEJZh0PUUd+60wky
1ae340 57 73 36 49 66 6c 63 39 6e 46 39 43 61 2f 55 48 4c 62 58 77 67 70 50 35 57 57 2b 75 5a 50 70 59 Ws6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY
1ae360 35 59 73 65 34 32 4f 2b 74 59 48 4e 62 77 4b 4d 0a 65 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 5Yse42O+tYHNbwKM.eQ==.-----END.C
1ae380 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 75 6d 20 54 72 75 73 74 65 64 20 ERTIFICATE-----..Certum.Trusted.
1ae3a0 4e 65 74 77 6f 72 6b 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Network.CA.=====================
1ae3c0 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1ae3e0 0a 4d 49 49 44 75 7a 43 43 41 71 4f 67 41 77 49 42 41 67 49 44 42 45 54 41 4d 41 30 47 43 53 71 .MIIDuzCCAqOgAwIBAgIDBETAMA0GCSq
1ae400 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 48 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 GSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlB
1ae420 4d 4d 53 49 77 49 41 59 44 56 51 51 4b 0a 45 78 6c 56 62 6d 6c 36 5a 58 52 76 49 46 52 6c 59 32 MMSIwIAYDVQQK.ExlVbml6ZXRvIFRlY2
1ae440 68 75 62 32 78 76 5a 32 6c 6c 63 79 42 54 4c 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 45 78 hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx
1ae460 35 44 5a 58 4a 30 64 57 30 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 5DZXJ0dW0gQ2VydGlmaWNhdGlv.biBBd
1ae480 58 52 6f 62 33 4a 70 64 48 6b 78 49 6a 41 67 42 67 4e 56 42 41 4d 54 47 55 4e 6c 63 6e 52 31 62 XRob3JpdHkxIjAgBgNVBAMTGUNlcnR1b
1ae4a0 53 42 55 63 6e 56 7a 64 47 56 6b 49 45 35 6c 64 48 64 76 63 6d 73 67 51 30 45 77 48 68 63 4e 4d SBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNM
1ae4c0 44 67 78 4d 44 49 79 0a 4d 54 49 77 4e 7a 4d 33 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 54 49 77 DgxMDIy.MTIwNzM3WhcNMjkxMjMxMTIw
1ae4e0 4e 7a 4d 33 57 6a 42 2b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 54 44 45 69 4d 43 41 47 NzM3WjB+MQswCQYDVQQGEwJQTDEiMCAG
1ae500 41 31 55 45 43 68 4d 5a 56 57 35 70 65 6d 56 30 62 79 42 55 0a 5a 57 4e 6f 62 6d 39 73 62 32 64 A1UEChMZVW5pemV0byBU.ZWNobm9sb2d
1ae520 70 5a 58 4d 67 55 79 35 42 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 51 32 56 79 64 48 56 pZXMgUy5BLjEnMCUGA1UECxMeQ2VydHV
1ae540 74 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 tIENlcnRpZmljYXRpb24gQXV0aG9yaXR
1ae560 35 0a 4d 53 49 77 49 41 59 44 56 51 51 44 45 78 6c 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 63 33 5.MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3
1ae580 52 6c 5a 43 42 4f 5a 58 52 33 62 33 4a 72 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b RlZCBOZXR3b3JrIENBMIIBIjANBgkqhk
1ae5a0 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 0a 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 34 iG9w0BAQEFAAOC.AQ8AMIIBCgKCAQEA4
1ae5c0 2f 74 39 6f 33 4b 36 77 76 44 4a 46 49 66 31 61 77 46 4f 34 57 35 41 42 37 70 74 4a 31 31 2f 39 /t9o3K6wvDJFIf1awFO4W5AB7ptJ11/9
1ae5e0 31 73 74 73 31 72 48 55 56 2b 72 70 44 4b 6d 59 59 65 32 62 67 2b 47 30 6a 41 43 0a 6c 2f 6a 58 1sts1rHUV+rpDKmYYe2bg+G0jAC.l/jX
1ae600 61 56 65 68 47 44 6c 64 61 6d 52 35 78 67 46 5a 72 44 77 78 53 6a 68 38 30 67 54 53 53 79 6a 6f aVehGDldamR5xgFZrDwxSjh80gTSSyjo
1ae620 49 46 38 37 42 36 4c 4d 54 58 50 62 38 36 35 50 78 31 62 56 57 71 65 57 69 66 72 7a 71 32 6a 55 IF87B6LMTXPb865Px1bVWqeWifrzq2jU
1ae640 49 34 5a 5a 4a 38 38 4a 0a 4a 37 79 73 62 6e 4b 44 48 44 42 79 33 2b 43 69 36 64 4c 68 64 48 55 I4ZZJ88J.J7ysbnKDHDBy3+Ci6dLhdHU
1ae660 5a 76 53 71 65 65 78 56 55 42 42 76 58 51 7a 6d 74 56 53 6a 46 34 68 71 37 39 4d 44 6b 72 6a 68 ZvSqeexVUBBvXQzmtVSjF4hq79MDkrjh
1ae680 4a 4d 38 78 32 68 5a 38 35 52 64 4b 6b 6e 76 49 53 6a 46 48 34 0a 66 4f 51 74 66 2f 57 73 58 2b JM8x2hZ85RdKknvISjFH4.fOQtf/WsX+
1ae6a0 73 57 6e 37 45 74 30 62 72 4d 6b 55 4a 33 54 43 58 4a 6b 44 68 76 32 2f 44 4d 2b 34 34 65 6c 31 sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1
1ae6c0 6b 2b 31 57 42 4f 35 67 55 6f 37 55 6c 35 45 30 75 36 53 4e 73 76 2b 58 4c 54 4f 63 72 2b 48 39 k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9
1ae6e0 67 30 0a 63 76 57 30 51 4d 38 78 41 63 50 73 33 68 45 74 46 31 30 66 75 46 44 52 58 68 6d 6e 61 g0.cvW0QM8xAcPs3hEtF10fuFDRXhmna
1ae700 64 34 48 4d 79 6a 4b 55 4a 58 35 70 31 54 4c 56 49 5a 51 52 61 6e 35 53 51 49 44 41 51 41 42 6f d4HMyjKUJX5p1TLVIZQRan5SQIDAQABo
1ae720 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 0a 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 0IwQDAPBgNVHRMB.Af8EBTADAQH/MB0G
1ae740 41 31 55 64 44 67 51 57 42 42 51 49 64 73 33 4c 42 2f 38 6b 39 73 58 4e 37 62 75 51 76 4f 4b 45 A1UdDgQWBBQIds3LB/8k9sXN7buQvOKE
1ae760 4e 30 5a 31 39 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 51 59 N0Z19zAOBgNVHQ8BAf8EBAMCAQYw.DQY
1ae780 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 61 6f 72 53 4c 4f 41 54 32 JKoZIhvcNAQEFBQADggEBAKaorSLOAT2
1ae7a0 6d 6f 2f 39 69 30 45 69 64 69 31 35 79 73 48 68 45 34 39 77 63 72 77 6e 39 49 30 6a 36 76 53 72 mo/9i0Eidi15ysHhE49wcrwn9I0j6vSr
1ae7c0 45 75 56 55 45 74 52 43 6a 0a 6a 53 66 65 43 34 4a 6a 30 4f 37 65 44 44 64 35 51 56 73 69 73 72 EuVUEtRCj.jSfeC4Jj0O7eDDd5QVsisr
1ae7e0 43 61 51 56 79 6d 63 4f 44 55 30 48 66 4c 49 39 4d 41 34 47 78 57 4c 2b 46 70 44 51 33 5a 71 72 CaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr
1ae800 38 68 67 56 44 5a 42 71 57 6f 2f 35 55 33 30 4b 72 2b 34 72 50 31 0a 6d 53 31 46 68 49 72 6c 51 8hgVDZBqWo/5U30Kr+4rP1.mS1FhIrlQ
1ae820 67 6e 58 64 41 49 76 39 34 6e 59 6d 65 6d 38 4a 39 52 48 6a 62 6f 4e 52 68 78 33 7a 78 53 6b 48 gnXdAIv94nYmem8J9RHjboNRhx3zxSkH
1ae840 4c 6d 6b 4d 63 53 63 4b 48 51 44 4e 50 38 7a 47 53 61 6c 36 51 31 30 74 7a 36 58 78 6e 62 6f 4a LmkMcScKHQDNP8zGSal6Q10tz6XxnboJ
1ae860 35 61 6a 0a 5a 74 33 68 72 76 4a 42 57 38 71 59 56 6f 4e 7a 63 4f 53 47 47 74 49 78 51 62 6f 76 5aj.Zt3hrvJBW8qYVoNzcOSGGtIxQbov
1ae880 76 69 30 54 57 6e 5a 76 54 75 68 4f 67 51 34 2f 57 77 4d 69 6f 42 4b 2b 5a 6c 67 52 53 73 73 44 vi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssD
1ae8a0 78 4c 51 71 4b 69 32 57 46 2b 41 35 56 4c 78 49 0a 30 33 59 6e 6e 5a 6f 74 42 71 62 4a 37 44 6e xLQqKi2WF+A5VLxI.03YnnZotBqbJ7Dn
1ae8c0 53 71 39 75 66 6d 67 73 6e 41 6a 55 70 73 55 43 56 35 2f 6e 6f 6e 46 57 49 47 55 62 57 74 7a 54 Sq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT
1ae8e0 31 66 73 34 35 6d 74 6b 34 38 56 48 33 54 79 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 1fs45mtk48VH3Tyw=.-----END.CERTI
1ae900 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 57 43 41 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 FICATE-----..TWCA.Root.Certifica
1ae920 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.Authority.=================
1ae940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1ae960 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 65 7a 43 43 41 6d 4f 67 41 77 49 42 41 67 49 IFICATE-----.MIIDezCCAmOgAwIBAgI
1ae980 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 66 4d 51 73 77 43 51 59 BATANBgkqhkiG9w0BAQUFADBfMQswCQY
1ae9a0 44 56 51 51 47 45 77 4a 55 56 7a 45 53 4d 42 41 47 41 31 55 45 43 67 77 4a 0a 56 45 46 4a 56 30 DVQQGEwJUVzESMBAGA1UECgwJ.VEFJV0
1ae9c0 46 4f 4c 55 4e 42 4d 52 41 77 44 67 59 44 56 51 51 4c 44 41 64 53 62 32 39 30 49 45 4e 42 4d 53 FOLUNBMRAwDgYDVQQLDAdSb290IENBMS
1ae9e0 6f 77 4b 41 59 44 56 51 51 44 44 43 46 55 56 30 4e 42 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 owKAYDVQQDDCFUV0NBIFJvb3QgQ2VydG
1aea00 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d lmaWNh.dGlvbiBBdXRob3JpdHkwHhcNM
1aea20 44 67 77 4f 44 49 34 4d 44 63 79 4e 44 4d 7a 57 68 63 4e 4d 7a 41 78 4d 6a 4d 78 4d 54 55 31 4f DgwODI4MDcyNDMzWhcNMzAxMjMxMTU1O
1aea40 54 55 35 57 6a 42 66 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 53 4d 42 41 47 TU5WjBfMQswCQYDVQQG.EwJUVzESMBAG
1aea60 41 31 55 45 43 67 77 4a 56 45 46 4a 56 30 46 4f 4c 55 4e 42 4d 52 41 77 44 67 59 44 56 51 51 4c A1UECgwJVEFJV0FOLUNBMRAwDgYDVQQL
1aea80 44 41 64 53 62 32 39 30 49 45 4e 42 4d 53 6f 77 4b 41 59 44 56 51 51 44 44 43 46 55 56 30 4e 42 DAdSb290IENBMSowKAYDVQQDDCFUV0NB
1aeaa0 0a 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 .IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXR
1aeac0 6f 62 33 4a 70 64 48 6b 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 ob3JpdHkwggEiMA0GCSqGSIb3DQEBAQU
1aeae0 41 41 34 49 42 44 77 41 77 67 67 45 4b 0a 41 6f 49 42 41 51 43 77 66 6e 4b 34 70 41 4f 55 35 71 AA4IBDwAwggEK.AoIBAQCwfnK4pAOU5q
1aeb00 66 65 43 54 69 52 53 68 46 41 68 36 64 38 57 57 51 55 65 37 55 52 45 4e 33 2b 76 39 58 41 75 31 feCTiRShFAh6d8WWQUe7UREN3+v9XAu1
1aeb20 62 69 68 53 58 30 4e 58 49 50 2b 46 50 51 51 65 46 45 41 63 4b 30 48 4d 4d 78 0a 51 68 5a 48 68 bihSX0NXIP+FPQQeFEAcK0HMMx.QhZHh
1aeb40 54 4d 69 64 72 49 4b 62 77 2f 6c 4a 56 42 50 68 59 61 2b 76 35 67 75 45 47 63 65 76 68 45 46 68 TMidrIKbw/lJVBPhYa+v5guEGcevhEFh
1aeb60 67 57 51 78 46 6e 51 66 48 67 51 73 49 42 63 74 2b 48 48 4b 33 58 4c 66 4a 2b 75 74 64 47 64 49 gWQxFnQfHgQsIBct+HHK3XLfJ+utdGdI
1aeb80 7a 64 6a 70 39 78 43 0a 6f 69 32 53 42 42 74 51 77 58 75 34 50 68 76 4a 56 67 53 4c 4c 31 4b 62 zdjp9xC.oi2SBBtQwXu4PhvJVgSLL1Kb
1aeba0 72 61 6c 57 36 63 48 2f 72 61 6c 59 68 7a 43 32 67 66 65 58 52 66 77 5a 56 7a 73 72 62 2b 52 48 ralW6cH/ralYhzC2gfeXRfwZVzsrb+RH
1aebc0 39 4a 6c 46 2f 68 33 78 2b 4a 65 6a 69 42 30 33 48 46 79 50 0a 34 48 59 6c 6d 6c 44 34 6f 46 54 9JlF/h3x+JejiB03HFyP.4HYlmlD4oFT
1aebe0 2f 52 4a 42 32 49 39 49 79 78 73 4f 72 42 72 2f 38 2b 37 2f 7a 72 58 32 53 59 67 4a 62 4b 64 4d /RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM
1aec00 31 6f 35 4f 61 51 32 52 67 58 62 4c 36 4d 76 38 37 42 4b 39 4e 51 47 72 35 78 2b 50 76 49 2f 31 1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1
1aec20 72 0a 79 2b 55 50 69 7a 67 4e 37 67 72 38 2f 67 2b 59 6e 7a 41 78 33 57 78 53 5a 66 6d 4c 67 62 r.y+UPizgN7gr8/g+YnzAx3WxSZfmLgb
1aec40 34 69 34 52 78 59 41 37 71 52 47 34 6b 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1
1aec60 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 0a 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 UdDwEB/wQEAwIB.BjAPBgNVHRMBAf8EB
1aec80 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 71 4f 46 73 6d 6a 64 36 4c 57 TADAQH/MB0GA1UdDgQWBBRqOFsmjd6LW
1aeca0 76 4a 50 65 6c 53 44 47 52 6a 6a 43 44 57 6d 75 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 42 vJPelSDGRjjCDWmujANBgkqhkiG.9w0B
1aecc0 41 51 55 46 41 41 4f 43 41 51 45 41 50 4e 56 33 50 64 72 66 69 62 71 48 44 41 68 55 61 69 42 51 AQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQ
1aece0 6b 72 36 77 51 54 32 35 4a 6d 53 44 43 69 2f 6f 51 4d 43 58 4b 43 65 43 4d 45 72 4a 6b 2f 39 71 kr6wQT25JmSDCi/oQMCXKCeCMErJk/9q
1aed00 35 36 59 41 66 34 6c 43 0a 6d 74 59 52 35 56 50 4f 4c 38 7a 79 32 67 58 45 2f 75 4a 51 78 44 71 56YAf4lC.mtYR5VPOL8zy2gXE/uJQxDq
1aed20 47 66 63 7a 61 66 68 41 4a 4f 35 49 31 4b 6c 4f 79 2f 75 73 72 42 64 6c 73 58 65 62 51 37 39 4e GfczafhAJO5I1KlOy/usrBdlsXebQ79N
1aed40 71 5a 70 34 56 4b 49 56 36 36 49 49 41 72 42 36 6e 43 57 6c 57 0a 51 74 4e 6f 55 52 69 2b 56 4a qZp4VKIV66IIArB6nCWlW.QtNoURi+VJ
1aed60 71 2f 52 45 47 36 53 62 34 67 75 6d 6c 63 37 72 68 33 7a 63 35 73 48 36 32 44 6c 68 68 39 44 72 q/REG6Sb4gumlc7rh3zc5sH62Dlhh9Dr
1aed80 55 55 4f 59 54 78 4b 4f 6b 74 6f 35 35 37 48 6e 70 79 57 6f 4f 7a 65 57 2f 76 74 50 7a 51 43 71 UUOYTxKOkto557HnpyWoOzeW/vtPzQCq
1aeda0 56 59 0a 54 30 62 66 2b 32 31 35 57 66 4b 45 49 6c 4b 75 44 38 7a 37 66 44 76 6e 61 73 70 48 59 VY.T0bf+215WfKEIlKuD8z7fDvnaspHY
1aedc0 63 4e 36 2b 4e 4f 53 42 42 2b 34 49 49 54 68 4e 6c 51 57 78 30 44 65 4f 34 70 7a 33 4e 2f 47 43 cN6+NOSBB+4IIThNlQWx0DeO4pz3N/GC
1aede0 55 7a 66 37 4e 72 2f 31 46 4e 43 6f 63 6e 79 0a 59 68 30 69 67 7a 79 58 78 66 6b 5a 59 69 65 73 Uzf7Nr/1FNCocny.Yh0igzyXxfkZYies
1aee00 5a 53 4c 58 30 7a 7a 47 35 59 36 79 55 38 78 4a 7a 72 77 77 2f 6e 73 4f 4d 35 44 37 37 64 49 55 ZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIU
1aee20 6b 52 38 48 72 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d kR8Hrw==.-----END.CERTIFICATE---
1aee40 2d 2d 0a 0a 53 65 63 75 72 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 6f 74 43 --..Security.Communication.RootC
1aee60 41 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d A2.=============================
1aee80 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1aeea0 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 IDdzCCAl+gAwIBAgIBADANBgkqhkiG9w
1aeec0 30 42 41 51 73 46 41 44 42 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 6c 4d 43 0BAQsFADBdMQswCQYDVQQGEwJKUDElMC
1aeee0 4d 47 41 31 55 45 43 68 4d 63 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 67 55 33 6c 7a 64 MGA1UEChMc.U0VDT00gVHJ1c3QgU3lzd
1aef00 47 56 74 63 79 42 44 54 79 34 73 54 46 52 45 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 55 GVtcyBDTy4sTFRELjEnMCUGA1UECxMeU
1aef20 32 56 6a 64 58 4a 70 64 48 6b 67 51 32 39 74 62 58 56 75 61 57 4e 68 0a 64 47 6c 76 62 69 42 53 2VjdXJpdHkgQ29tbXVuaWNh.dGlvbiBS
1aef40 62 32 39 30 51 30 45 79 4d 42 34 58 44 54 41 35 4d 44 55 79 4f 54 41 31 4d 44 41 7a 4f 56 6f 58 b290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX
1aef60 44 54 49 35 4d 44 55 79 4f 54 41 31 4d 44 41 7a 4f 56 6f 77 58 54 45 4c 4d 41 6b 47 41 31 55 45 DTI5MDUyOTA1MDAzOVowXTELMAkGA1UE
1aef80 42 68 4d 43 0a 53 6c 41 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 46 51 30 39 4e 49 46 52 BhMC.SlAxJTAjBgNVBAoTHFNFQ09NIFR
1aefa0 79 64 58 4e 30 49 46 4e 35 63 33 52 6c 62 58 4d 67 51 30 38 75 4c 45 78 55 52 43 34 78 4a 7a 41 ydXN0IFN5c3RlbXMgQ08uLExURC4xJzA
1aefc0 6c 42 67 4e 56 42 41 73 54 48 6c 4e 6c 59 33 56 79 0a 61 58 52 35 49 45 4e 76 62 57 31 31 62 6d lBgNVBAsTHlNlY3Vy.aXR5IENvbW11bm
1aefe0 6c 6a 59 58 52 70 62 32 34 67 55 6d 39 76 64 45 4e 42 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f ljYXRpb24gUm9vdENBMjCCASIwDQYJKo
1af000 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 ZIhvcNAQEBBQADggEPADCCAQoCggEB.A
1af020 4e 41 56 4f 56 4b 78 55 72 4f 36 78 56 6d 43 78 46 31 53 72 6a 70 44 5a 59 42 4c 78 2f 4b 57 76 NAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWv
1af040 4e 73 32 6c 39 61 6d 5a 49 79 6f 58 76 44 6a 43 68 7a 33 33 35 63 39 53 36 37 32 58 65 77 68 74 Ns2l9amZIyoXvDjChz335c9S672Xewht
1af060 55 47 72 7a 62 6c 2b 64 70 2b 2b 0a 2b 54 34 32 4e 4b 41 37 77 66 59 78 45 55 56 30 6b 7a 31 58 UGrzbl+dp++.+T42NKA7wfYxEUV0kz1X
1af080 67 4d 58 35 69 5a 6e 4b 35 61 74 71 31 4c 58 61 51 5a 41 51 77 64 62 57 51 6f 6e 43 76 2f 51 34 gMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4
1af0a0 45 70 56 4d 56 41 58 33 4e 75 52 46 67 33 73 55 5a 64 62 63 44 45 33 52 0a 33 6e 34 4d 71 7a 76 EpVMVAX3NuRFg3sUZdbcDE3R.3n4Mqzv
1af0c0 45 46 62 34 36 56 71 5a 61 62 33 5a 70 55 71 6c 36 75 63 6a 72 61 70 70 64 55 74 41 74 43 6d 73 EFb46VqZab3ZpUql6ucjrappdUtAtCms
1af0e0 31 46 67 6b 51 68 4e 42 71 79 6a 6f 47 41 44 64 48 35 48 35 58 54 7a 2b 4c 36 32 65 34 69 4b 72 1FgkQhNBqyjoGADdH5H5XTz+L62e4iKr
1af100 46 76 6c 4e 56 0a 73 70 48 45 66 62 6d 77 68 52 6b 47 65 43 37 62 59 52 72 36 68 66 56 4b 6b 61 FvlNV.spHEfbmwhRkGeC7bYRr6hfVKka
1af120 48 6e 46 74 57 4f 6f 6a 6e 66 6c 4c 68 77 48 79 67 2f 69 2f 78 41 58 6d 4f 44 50 49 4d 71 47 70 HnFtWOojnflLhwHyg/i/xAXmODPIMqGp
1af140 6c 72 7a 39 35 5a 61 6a 76 38 62 78 62 58 48 2f 31 4b 0a 45 4f 74 4f 67 68 59 36 72 43 63 4d 55 lrz95Zajv8bxbXH/1K.EOtOghY6rCcMU
1af160 2f 47 74 31 53 53 77 61 77 4e 51 77 53 30 38 46 74 31 45 4e 43 63 61 64 66 73 43 41 77 45 41 41 /Gt1SSwawNQwS08Ft1ENCcadfsCAwEAA
1af180 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 41 71 46 71 58 64 6c 42 5a 68 38 0a aNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8.
1af1a0 51 49 48 34 44 35 63 73 4f 50 45 4b 37 44 7a 50 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQE
1af1c0 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 30 47 AwIBBjAPBgNVHRMBAf8EBTADAQH/MA0G
1af1e0 43 53 71 47 53 49 62 33 44 51 45 42 0a 43 77 55 41 41 34 49 42 41 51 42 4d 4f 71 4e 45 72 4c 6c CSqGSIb3DQEB.CwUAA4IBAQBMOqNErLl
1af200 46 73 63 65 54 66 73 67 4c 43 6b 4c 66 5a 4f 6f 63 37 6c 6c 73 43 4c 71 4a 58 32 72 4b 53 70 57 FsceTfsgLCkLfZOoc7llsCLqJX2rKSpW
1af220 65 65 6f 38 48 78 64 70 46 63 6f 4a 78 44 6a 72 53 7a 47 2b 6e 74 4b 45 6a 0a 75 2f 59 6b 6e 38 eeo8HxdpFcoJxDjrSzG+ntKEj.u/Ykn8
1af240 73 58 2f 6f 79 6d 7a 73 4c 53 32 38 79 4e 2f 48 48 38 41 79 6e 42 62 46 30 7a 58 32 53 32 5a 54 sX/oymzsLS28yN/HH8AynBbF0zX2S2ZT
1af260 75 4a 62 78 68 32 65 50 58 63 6f 6b 67 66 47 54 2b 4f 6b 2b 76 78 2b 68 66 75 7a 55 37 6a 42 42 uJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBB
1af280 4a 56 31 75 58 6b 0a 33 66 73 2b 42 58 7a 69 48 56 37 47 70 37 79 58 54 32 67 36 39 65 6b 75 43 JV1uXk.3fs+BXziHV7Gp7yXT2g69ekuC
1af2a0 6b 4f 32 72 31 64 63 59 6d 68 38 74 2f 32 6a 69 6f 53 67 72 47 4b 2b 4b 77 6d 48 4e 50 42 71 41 kO2r1dcYmh8t/2jioSgrGK+KwmHNPBqA
1af2c0 62 75 62 4b 56 59 38 2f 67 41 33 7a 79 4e 73 38 55 36 71 0a 74 6e 52 47 45 6d 79 52 37 6a 54 56 bubKVY8/gA3zyNs8U6q.tnRGEmyR7jTV
1af2e0 37 4a 71 52 35 30 53 2b 6b 44 46 79 31 55 6b 43 39 67 4c 6c 39 42 2f 72 66 4e 6d 57 56 61 6e 2f 7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/
1af300 37 49 72 35 6d 55 66 2f 4e 56 6f 43 71 67 54 4c 69 6c 75 48 63 53 6d 52 76 61 53 30 65 67 32 39 7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
1af320 0a 6d 76 56 58 49 77 41 48 49 52 63 2f 53 6a 6e 52 42 55 6b 4c 70 37 59 33 67 61 56 64 6a 4b 6f .mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKo
1af340 7a 58 6f 45 6f 66 4b 64 39 4a 2b 73 41 72 6f 30 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 zXoEofKd9J+sAro03.-----END.CERTI
1af360 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 43 2d 41 43 43 0a 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d FICATE-----..EC-ACC.======.-----
1af380 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 56 6a 43 43 42 BEGIN.CERTIFICATE-----.MIIFVjCCB
1af3a0 44 36 67 41 77 49 42 41 67 49 51 37 69 73 39 36 39 51 68 33 68 53 6f 59 71 77 45 38 39 33 45 41 D6gAwIBAgIQ7is969Qh3hSoYqwE893EA
1af3c0 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 38 7a 45 4c 4d 41 6b 47 41 TANBgkqhkiG9w0BAQUFADCB8zELMAkGA
1af3e0 31 55 45 0a 42 68 4d 43 52 56 4d 78 4f 7a 41 35 42 67 4e 56 42 41 6f 54 4d 6b 46 6e 5a 57 35 6a 1UE.BhMCRVMxOzA5BgNVBAoTMkFnZW5j
1af400 61 57 45 67 51 32 46 30 59 57 78 68 62 6d 45 67 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 aWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNh
1af420 59 32 6c 76 49 43 68 4f 53 55 59 67 55 53 30 77 0a 4f 44 41 78 4d 54 63 32 4c 55 6b 70 4d 53 67 Y2lvIChOSUYgUS0w.ODAxMTc2LUkpMSg
1af440 77 4a 67 59 44 56 51 51 4c 45 78 39 54 5a 58 4a 32 5a 57 6c 7a 49 46 42 31 59 6d 78 70 59 33 4d wJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3M
1af460 67 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 4d 54 55 77 4d 77 59 44 0a 56 51 gZGUgQ2VydGlmaWNhY2lvMTUwMwYD.VQ
1af480 51 4c 45 79 78 57 5a 57 64 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 QLEyxWZWdldSBodHRwczovL3d3dy5jYX
1af4a0 52 6a 5a 58 4a 30 4c 6d 35 6c 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 6f 59 79 6b 77 4d 7a RjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMz
1af4c0 45 31 4d 44 4d 47 41 31 55 45 0a 43 78 4d 73 53 6d 56 79 59 58 4a 78 64 57 6c 68 49 45 56 75 64 E1MDMGA1UE.CxMsSmVyYXJxdWlhIEVud
1af4e0 47 6c 30 59 58 52 7a 49 47 52 6c 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 4e 70 62 79 42 44 59 Gl0YXRzIGRlIENlcnRpZmljYWNpbyBDY
1af500 58 52 68 62 47 46 75 5a 58 4d 78 44 7a 41 4e 42 67 4e 56 42 41 4d 54 0a 42 6b 56 44 4c 55 46 44 XRhbGFuZXMxDzANBgNVBAMT.BkVDLUFD
1af520 51 7a 41 65 46 77 30 77 4d 7a 41 78 4d 44 63 79 4d 7a 41 77 4d 44 42 61 46 77 30 7a 4d 54 41 78 QzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAx
1af540 4d 44 63 79 4d 6a 55 35 4e 54 6c 61 4d 49 48 7a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 MDcyMjU5NTlaMIHzMQswCQYDVQQGEwJF
1af560 55 7a 45 37 0a 4d 44 6b 47 41 31 55 45 43 68 4d 79 51 57 64 6c 62 6d 4e 70 59 53 42 44 59 58 52 UzE7.MDkGA1UEChMyQWdlbmNpYSBDYXR
1af580 68 62 47 46 75 59 53 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 38 67 4b 45 35 hbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5
1af5a0 4a 52 69 42 52 4c 54 41 34 4d 44 45 78 4e 7a 59 74 0a 53 53 6b 78 4b 44 41 6d 42 67 4e 56 42 41 JRiBRLTA4MDExNzYt.SSkxKDAmBgNVBA
1af5c0 73 54 48 31 4e 6c 63 6e 5a 6c 61 58 4d 67 55 48 56 69 62 47 6c 6a 63 79 42 6b 5a 53 42 44 5a 58 sTH1NlcnZlaXMgUHVibGljcyBkZSBDZX
1af5e0 4a 30 61 57 5a 70 59 32 46 6a 61 57 38 78 4e 54 41 7a 42 67 4e 56 42 41 73 54 4c 46 5a 6c 0a 5a J0aWZpY2FjaW8xNTAzBgNVBAsTLFZl.Z
1af600 32 56 31 49 47 68 30 64 48 42 7a 4f 69 38 76 64 33 64 33 4c 6d 4e 68 64 47 4e 6c 63 6e 51 75 62 2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQub
1af620 6d 56 30 4c 33 5a 6c 63 6d 46 79 63 6d 56 73 49 43 68 6a 4b 54 41 7a 4d 54 55 77 4d 77 59 44 56 mV0L3ZlcmFycmVsIChjKTAzMTUwMwYDV
1af640 51 51 4c 45 79 78 4b 5a 58 4a 68 0a 63 6e 46 31 61 57 45 67 52 57 35 30 61 58 52 68 64 48 4d 67 QQLEyxKZXJh.cnF1aWEgRW50aXRhdHMg
1af660 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 49 45 4e 68 64 47 46 73 59 57 35 6c ZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5l
1af680 63 7a 45 50 4d 41 30 47 41 31 55 45 41 78 4d 47 52 55 4d 74 51 55 4e 44 0a 4d 49 49 42 49 6a 41 czEPMA0GA1UEAxMGRUMtQUND.MIIBIjA
1af6a0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b NBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgK
1af6c0 43 41 51 45 41 73 79 4c 48 54 2b 4b 58 51 70 57 49 52 34 4e 41 39 68 30 58 38 34 4e 7a 4a 42 35 CAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5
1af6e0 52 38 35 69 4b 0a 77 35 4b 34 2f 30 43 51 42 58 43 48 59 4d 6b 41 71 62 57 55 5a 52 6b 69 46 52 R85iK.w5K4/0CQBXCHYMkAqbWUZRkiFR
1af700 66 43 51 32 78 6d 52 4a 6f 4e 42 44 34 35 62 36 56 4c 65 71 70 6a 74 34 70 45 6e 64 6c 6a 6b 59 fCQ2xmRJoNBD45b6VLeqpjt4pEndljkY
1af720 52 6d 34 43 67 50 75 6b 4c 6a 62 6f 37 33 46 43 65 54 0a 61 65 36 52 44 71 4e 66 44 72 48 72 5a Rm4CgPukLjbo73FCeT.ae6RDqNfDrHrZ
1af740 71 4a 79 54 78 49 54 68 6d 56 36 50 74 74 50 42 2f 53 6e 43 57 44 61 4f 6b 4b 5a 78 37 4a 2f 73 qJyTxIThmV6PttPB/SnCWDaOkKZx7J/s
1af760 78 61 56 48 4d 66 35 4e 4c 57 55 68 64 57 5a 58 71 42 49 6f 48 37 6e 46 32 57 34 6f 6e 57 34 0a xaVHMf5NLWUhdWZXqBIoH7nF2W4onW4.
1af780 48 76 50 6c 51 6e 32 76 37 66 4f 4b 53 47 52 64 67 68 53 54 32 4d 44 6b 2f 37 4e 51 63 76 4a 32 HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ2
1af7a0 39 72 4e 64 51 6c 42 35 30 4a 51 2b 61 77 77 41 76 74 68 72 44 6b 34 71 37 44 37 53 7a 49 4b 69 9rNdQlB50JQ+awwAvthrDk4q7D7SzIKi
1af7c0 47 47 55 7a 45 33 65 65 6d 6c 30 61 0a 45 39 6a 44 32 7a 33 49 6c 33 72 75 63 4f 32 6e 35 6e 7a GGUzE3eeml0a.E9jD2z3Il3rucO2n5nz
1af7e0 62 63 63 38 74 6c 47 4c 66 62 64 62 31 4f 4c 34 2f 70 59 55 4b 47 62 69 6f 32 41 6c 31 51 6e 44 bcc8tlGLfbdb1OL4/pYUKGbio2Al1QnD
1af800 45 36 75 2f 4c 44 73 67 30 71 42 49 69 6d 41 79 34 45 35 53 32 53 2b 7a 77 0a 30 4a 44 6e 4a 77 E6u/LDsg0qBIimAy4E5S2S+zw.0JDnJw
1af820 49 44 41 51 41 42 6f 34 48 6a 4d 49 48 67 4d 42 30 47 41 31 55 64 45 51 51 57 4d 42 53 42 45 6d IDAQABo4HjMIHgMB0GA1UdEQQWMBSBEm
1af840 56 6a 58 32 46 6a 59 30 42 6a 59 58 52 6a 5a 58 4a 30 4c 6d 35 6c 64 44 41 50 42 67 4e 56 48 52 VjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHR
1af860 4d 42 41 66 38 45 0a 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 MBAf8E.BTADAQH/MA4GA1UdDwEB/wQEA
1af880 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 4d 4f 4c 52 4b 6f 33 70 55 57 2f 6c wIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l
1af8a0 34 42 61 30 66 46 34 6f 70 76 70 58 59 30 77 66 77 59 44 0a 56 52 30 67 42 48 67 77 64 6a 42 30 4Ba0fF4opvpXY0wfwYD.VR0gBHgwdjB0
1af8c0 42 67 73 72 42 67 45 45 41 66 56 34 41 51 4d 42 43 6a 42 6c 4d 43 77 47 43 43 73 47 41 51 55 46 BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUF
1af8e0 42 77 49 42 46 69 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 BwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
1af900 0a 4c 6d 35 6c 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 44 41 31 42 67 67 72 42 67 45 46 42 51 63 .Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQc
1af920 43 41 6a 41 70 47 69 64 57 5a 57 64 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 CAjApGidWZWdldSBodHRwczovL3d3dy5
1af940 6a 59 58 52 6a 5a 58 4a 30 4c 6d 35 6c 0a 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 77 44 51 jYXRjZXJ0Lm5l.dC92ZXJhcnJlbCAwDQ
1af960 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 42 49 57 34 49 42 39 6b YJKoZIhvcNAQEFBQADggEBAKBIW4IB9k
1af980 31 49 75 44 6c 56 4e 5a 79 41 65 6c 4f 5a 31 56 72 2f 73 58 45 37 7a 44 6b 4a 0a 6c 46 37 57 32 1IuDlVNZyAelOZ1Vr/sXE7zDkJ.lF7W2
1af9a0 75 2b 2b 41 56 74 64 30 78 37 59 2f 58 31 50 7a 61 42 42 34 44 53 54 76 38 76 69 68 70 77 33 6b u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3k
1af9c0 70 42 57 48 4e 7a 72 4b 51 58 6c 78 4a 37 48 4e 64 2b 4b 44 4d 33 46 49 55 50 70 71 6f 6a 6c 4e pBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlN
1af9e0 63 41 5a 51 6d 4e 61 0a 41 6c 36 6b 53 42 67 36 68 57 2f 63 6e 62 77 2f 6e 5a 7a 42 68 37 68 36 cAZQmNa.Al6kSBg6hW/cnbw/nZzBh7h6
1afa00 59 51 6a 70 64 77 74 2f 63 4b 74 36 33 64 6d 58 4c 47 51 65 68 62 2b 38 64 4a 61 68 77 33 6f 53 YQjpdwt/cKt63dmXLGQehb+8dJahw3oS
1afa20 37 41 77 61 62 6f 4d 4d 50 4f 68 79 52 70 2f 37 53 4e 56 65 0a 6c 2b 61 78 6f 66 6a 6b 37 30 59 7AwaboMMPOhyRp/7SNVe.l+axofjk70Y
1afa40 6c 6c 4a 79 4a 32 32 6b 34 76 75 78 63 44 6c 62 48 5a 56 48 6c 55 49 69 49 76 30 4c 56 4b 7a 33 llJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3
1afa60 6c 2b 62 71 65 4c 72 50 4b 39 48 4f 53 41 67 75 2b 54 47 62 72 49 50 36 35 79 37 57 5a 66 2b 61 l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a
1afa80 32 0a 45 2f 72 4b 53 30 33 5a 37 6c 4e 47 42 6a 76 47 54 71 32 54 57 6f 46 2b 62 43 70 4c 61 67 2.E/rKS03Z7lNGBjvGTq2TWoF+bCpLag
1afaa0 56 46 6a 50 49 68 70 44 47 51 68 32 78 6c 6e 4a 32 6c 59 4a 55 36 55 6e 2f 31 30 61 73 49 62 76 VFjPIhpDGQh2xlnJ2lYJU6Un/10asIbv
1afac0 50 75 57 2f 6d 49 50 58 36 34 62 32 34 44 0a 35 45 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 PuW/mIPX64b24D.5EI=.-----END.CER
1afae0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 6d 69 63 TIFICATE-----..Hellenic.Academic
1afb00 20 61 6e 64 20 52 65 73 65 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 52 6f 6f 74 43 .and.Research.Institutions.RootC
1afb20 41 20 32 30 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d A.2011.=========================
1afb40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d ==============================.-
1afb60 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d ----BEGIN.CERTIFICATE-----.MIIEM
1afb80 54 43 43 41 78 6d 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 TCCAxmgAwIBAgIBADANBgkqhkiG9w0BA
1afba0 51 55 46 41 44 43 42 6c 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 52 44 42 43 42 QUFADCBlTELMAkGA1UEBhMCR1IxRDBCB
1afbc0 67 4e 56 42 41 6f 54 0a 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a gNVBAoT.O0hlbGxlbmljIEFjYWRlbWlj
1afbe0 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlv
1afc00 62 6e 4d 67 51 32 56 79 64 43 34 67 51 58 56 30 61 47 39 79 0a 61 58 52 35 4d 55 41 77 50 67 59 bnMgQ2VydC4gQXV0aG9y.aXR5MUAwPgY
1afc20 44 56 51 51 44 45 7a 64 49 5a 57 78 73 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 DVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyB
1afc40 68 62 6d 51 67 55 6d 56 7a 5a 57 46 79 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 hbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25
1afc60 7a 0a 49 46 4a 76 62 33 52 44 51 53 41 79 4d 44 45 78 4d 42 34 58 44 54 45 78 4d 54 49 77 4e 6a z.IFJvb3RDQSAyMDExMB4XDTExMTIwNj
1afc80 45 7a 4e 44 6b 31 4d 6c 6f 58 44 54 4d 78 4d 54 49 77 4d 54 45 7a 4e 44 6b 31 4d 6c 6f 77 67 5a EzNDk1MloXDTMxMTIwMTEzNDk1MlowgZ
1afca0 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 0a 41 6b 64 53 4d 55 51 77 51 67 59 44 56 51 51 4b 45 UxCzAJBgNVBAYT.AkdSMUQwQgYDVQQKE
1afcc0 7a 74 49 5a 57 78 73 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 ztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgU
1afce0 6d 56 7a 5a 57 46 79 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 0a 49 45 4e 6c mVzZWFyY2ggSW5zdGl0dXRpb25z.IENl
1afd00 63 6e 51 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 46 41 4d 44 34 47 41 31 55 45 41 78 4d 33 cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3
1afd20 53 47 56 73 62 47 56 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
1afd40 63 32 56 68 63 6d 4e 6f 0a 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 63 79 42 53 62 32 39 c2VhcmNo.IEluc3RpdHV0aW9ucyBSb29
1afd60 30 51 30 45 67 4d 6a 41 78 4d 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 0Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQE
1afd80 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4b 6c 54 41 4f 4d 75 70 76 BBQADggEPADCCAQoCggEB.AKlTAOMupv
1afda0 61 4f 2b 6d 44 59 4c 5a 55 2b 2b 43 77 71 56 45 37 4e 75 59 52 68 6c 46 68 50 6a 7a 32 4c 35 45 aO+mDYLZU++CwqVE7NuYRhlFhPjz2L5E
1afdc0 50 7a 64 59 6d 4e 55 65 54 44 4e 39 4b 4b 69 45 31 35 48 72 63 53 33 55 4e 34 53 6f 71 53 35 74 PzdYmNUeTDN9KKiE15HrcS3UN4SoqS5t
1afde0 64 49 0a 31 51 2b 6b 4f 69 6c 45 4e 62 67 48 39 6d 67 64 56 63 30 34 55 66 43 4d 4a 44 47 46 72 dI.1Q+kOilENbgH9mgdVc04UfCMJDGFr
1afe00 34 50 4a 66 65 6c 33 72 2b 30 61 65 35 30 58 2b 62 4f 64 4f 46 41 50 70 6c 70 35 6b 59 43 76 4e 4PJfel3r+0ae50X+bOdOFAPplp5kYCvN
1afe20 36 36 6d 30 7a 48 37 74 53 59 4a 6e 54 78 61 0a 37 31 48 46 4b 39 2b 57 58 65 73 79 48 67 4c 61 66m0zH7tSYJnTxa.71HFK9+WXesyHgLa
1afe40 63 45 6e 73 62 67 7a 49 6d 6a 65 4e 39 2f 45 32 59 45 73 6d 4c 49 4b 65 30 48 6a 7a 44 51 39 6a cEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9j
1afe60 70 46 45 77 34 66 6b 72 4a 78 49 48 32 4f 71 39 47 47 4b 59 73 46 6b 33 66 62 37 75 0a 38 79 42 pFEw4fkrJxIH2Oq9GGKYsFk3fb7u.8yB
1afe80 52 51 6c 71 44 37 35 4f 36 61 52 58 78 59 70 32 66 6d 54 6d 43 6f 62 64 30 4c 6f 76 55 78 51 74 RQlqD75O6aRXxYp2fmTmCobd0LovUxQt
1afea0 37 4c 2f 44 49 43 74 6f 39 65 51 71 61 6b 78 79 6c 4b 48 4a 7a 6b 55 4f 61 70 39 46 4e 68 59 53 7L/DICto9eQqakxylKHJzkUOap9FNhYS
1afec0 35 71 58 53 50 46 45 44 48 0a 33 4e 36 73 51 57 52 73 74 42 6d 62 41 6d 4e 74 4a 47 53 50 52 4c 5qXSPFEDH.3N6sQWRstBmbAmNtJGSPRL
1afee0 49 6c 36 73 35 64 64 41 78 6a 4d 6c 79 4e 68 2b 55 43 41 77 45 41 41 61 4f 42 69 54 43 42 68 6a Il6s5ddAxjMlyNh+UCAwEAAaOBiTCBhj
1aff00 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 0a 4d 41 73 47 41 31 55 64 44 APBgNVHRMBAf8EBTADAQH/.MAsGA1UdD
1aff20 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 70 70 46 43 2f 52 4e 68 53 wQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhS
1aff40 69 4f 65 43 4b 51 70 35 64 67 54 42 43 50 75 51 53 55 77 52 77 59 44 56 52 30 65 42 45 41 77 50 iOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwP
1aff60 71 41 38 0a 4d 41 57 43 41 79 35 6e 63 6a 41 46 67 67 4d 75 5a 58 55 77 42 6f 49 45 4c 6d 56 6b qA8.MAWCAy5ncjAFggMuZXUwBoIELmVk
1aff80 64 54 41 47 67 67 51 75 62 33 4a 6e 4d 41 57 42 41 79 35 6e 63 6a 41 46 67 51 4d 75 5a 58 55 77 dTAGggQub3JnMAWBAy5ncjAFgQMuZXUw
1affa0 42 6f 45 45 4c 6d 56 6b 64 54 41 47 67 51 51 75 0a 62 33 4a 6e 4d 41 30 47 43 53 71 47 53 49 62 BoEELmVkdTAGgQQu.b3JnMA0GCSqGSIb
1affc0 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 41 66 37 33 6c 42 34 58 74 75 50 37 4b 4d 68 6a 64 3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjd
1affe0 43 53 6b 34 63 4e 78 36 4e 5a 72 6f 6b 67 63 6c 50 45 67 38 68 77 41 4f 58 68 69 56 74 0a 58 64 CSk4cNx6NZrokgclPEg8hwAOXhiVt.Xd
1b0000 4d 69 4b 61 68 73 6f 67 32 70 36 7a 30 47 57 35 6b 36 78 38 7a 44 6d 6a 52 2f 71 77 37 49 54 68 MiKahsog2p6z0GW5k6x8zDmjR/qw7ITh
1b0020 7a 68 2b 75 54 63 7a 51 32 2b 76 79 54 2b 62 4f 64 72 77 67 33 49 42 70 35 4f 6a 57 45 6f 70 6d zh+uTczQ2+vyT+bOdrwg3IBp5OjWEopm
1b0040 72 39 35 66 5a 69 36 68 67 38 0a 54 71 42 54 6e 62 49 36 6e 4f 75 6c 6e 4a 45 57 74 6b 32 43 34 r95fZi6hg8.TqBTnbI6nOulnJEWtk2C4
1b0060 41 77 46 53 4b 6c 73 39 63 7a 34 79 35 31 4a 74 50 41 43 70 66 31 77 41 2b 32 4b 49 61 57 75 45 AwFSKls9cz4y51JtPACpf1wA+2KIaWuE
1b0080 34 5a 4a 77 7a 4e 7a 76 6f 63 37 64 49 73 58 52 53 5a 4d 46 70 47 44 0a 2f 6d 64 39 7a 55 31 6a 4ZJwzNzvoc7dIsXRSZMFpGD./md9zU1j
1b00a0 5a 2f 72 7a 41 78 4b 57 65 41 61 4e 73 57 66 74 6a 6a 2b 2b 6e 30 38 43 39 62 4d 4a 4c 2f 4e 4d Z/rzAxKWeAaNsWftjj++n08C9bMJL/NM
1b00c0 68 39 38 71 79 35 56 38 41 63 79 73 4e 6e 71 2f 6f 6e 4e 36 39 34 2f 42 74 5a 71 68 46 4c 4b 50 h98qy5V8AcysNnq/onN694/BtZqhFLKP
1b00e0 4d 35 38 4e 0a 37 79 4c 63 5a 6e 75 45 76 55 55 58 42 6a 30 38 79 72 6c 33 4e 49 2f 4b 36 73 38 M58N.7yLcZnuEvUUXBj08yrl3NI/K6s8
1b0100 2f 4d 54 37 6a 69 4f 4f 41 53 53 58 49 6c 37 57 64 6d 70 6c 4e 73 44 7a 34 53 67 43 62 5a 4e 32 /MT7jiOOASSXIl7WdmplNsDz4SgCbZN2
1b0120 66 4f 55 76 52 4a 39 65 34 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d fOUvRJ9e4.-----END.CERTIFICATE--
1b0140 2d 2d 2d 0a 0a 41 63 74 61 6c 69 73 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 52 6f 6f 74 ---..Actalis.Authentication.Root
1b0160 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .CA.============================
1b0180 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1b01a0 49 49 46 75 7a 43 43 41 36 4f 67 41 77 49 42 41 67 49 49 56 77 6f 52 6c 30 4c 45 34 38 77 77 44 IIFuzCCA6OgAwIBAgIIVwoRl0LE48wwD
1b01c0 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 QYJKoZIhvcNAQELBQAwazELMAkGA1UEB
1b01e0 68 4d 43 53 56 51 78 44 6a 41 4d 0a 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 hMCSVQxDjAM.BgNVBAcMBU1pbGFuMSMw
1b0200 49 51 59 44 56 51 51 4b 44 42 70 42 59 33 52 68 62 47 6c 7a 49 46 4d 75 63 43 35 42 4c 69 38 77 IQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w
1b0220 4d 7a 4d 31 4f 44 55 79 4d 44 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 0a 41 77 77 65 51 57 4e MzM1ODUyMDk2NzEnMCUGA1UE.AwweQWN
1b0240 30 59 57 78 70 63 79 42 42 64 58 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 0YWxpcyBBdXRoZW50aWNhdGlvbiBSb29
1b0260 30 49 45 4e 42 4d 42 34 58 44 54 45 78 4d 44 6b 79 4d 6a 45 78 4d 6a 49 77 4d 6c 6f 58 44 54 4d 0IENBMB4XDTExMDkyMjExMjIwMloXDTM
1b0280 77 4d 44 6b 79 0a 4d 6a 45 78 4d 6a 49 77 4d 6c 6f 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 wMDky.MjExMjIwMlowazELMAkGA1UEBh
1b02a0 4d 43 53 56 51 78 44 6a 41 4d 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 49 51 MCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQ
1b02c0 59 44 56 51 51 4b 44 42 70 42 59 33 52 68 62 47 6c 7a 0a 49 46 4d 75 63 43 35 42 4c 69 38 77 4d YDVQQKDBpBY3RhbGlz.IFMucC5BLi8wM
1b02e0 7a 4d 31 4f 44 55 79 4d 44 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 41 77 77 65 51 57 4e 30 59 zM1ODUyMDk2NzEnMCUGA1UEAwweQWN0Y
1b0300 57 78 70 63 79 42 42 64 58 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 30 0a WxpcyBBdXRoZW50aWNhdGlvbiBSb290.
1b0320 49 45 4e 42 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 IENBMIICIjANBgkqhkiG9w0BAQEFAAOC
1b0340 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 70 38 62 45 70 53 6d 6b 4c 4f 2f 6c 47 4d 57 77 Ag8AMIICCgKCAgEAp8bEpSmkLO/lGMWw
1b0360 55 4b 4e 76 55 54 75 66 43 6c 72 4a 0a 77 6b 67 34 43 73 49 63 6f 42 68 2f 6b 62 57 48 75 55 41 UKNvUTufClrJ.wkg4CsIcoBh/kbWHuUA
1b0380 2f 33 52 31 6f 48 77 69 44 31 53 30 65 69 4b 44 34 6a 31 61 50 62 5a 6b 43 6b 70 41 57 31 56 38 /3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8
1b03a0 49 62 49 6e 58 34 61 79 38 49 4d 4b 78 34 49 4e 52 69 6d 6c 4e 41 4a 5a 61 0a 62 79 2f 41 52 48 IbInX4ay8IMKx4INRimlNAJZa.by/ARH
1b03c0 36 6a 44 75 53 52 7a 56 6a 75 33 50 76 48 48 6b 56 48 33 53 65 35 43 41 47 66 70 69 45 64 39 55 6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9U
1b03e0 45 74 4c 30 7a 39 4b 4b 33 67 69 71 30 69 74 46 5a 6c 6a 6f 5a 55 6a 35 4e 44 4b 64 34 35 52 6e EtL0z9KK3giq0itFZljoZUj5NDKd45Rn
1b0400 69 6a 4d 43 4f 36 0a 7a 66 42 39 45 31 66 41 58 64 4b 44 61 30 68 4d 78 4b 75 66 67 46 70 62 4f ijMCO6.zfB9E1fAXdKDa0hMxKufgFpbO
1b0420 72 33 4a 70 79 49 2f 67 43 63 7a 57 77 36 33 69 67 78 64 42 7a 63 49 79 32 7a 53 65 6b 63 69 52 r3JpyI/gCczWw63igxdBzcIy2zSekciR
1b0440 44 58 46 7a 4d 77 75 6a 74 30 71 37 62 64 39 5a 67 31 66 0a 59 56 45 69 56 52 76 6a 52 75 50 6a DXFzMwujt0q7bd9Zg1f.YVEiVRvjRuPj
1b0460 50 64 41 31 59 70 72 62 72 78 54 49 57 36 48 4d 69 52 76 68 4d 43 62 38 6f 4a 73 66 67 61 64 48 PdA1YprbrxTIW6HMiRvhMCb8oJsfgadH
1b0480 48 77 54 72 6f 7a 6d 53 42 70 2b 5a 30 37 2f 54 36 6b 39 51 6e 42 6e 2b 6c 6f 63 65 50 47 58 32 HwTrozmSBp+Z07/T6k9QnBn+locePGX2
1b04a0 0a 6f 78 67 6b 67 34 59 51 35 31 51 2b 71 44 70 32 4a 45 2b 42 49 63 58 6a 44 77 4c 34 6b 35 52 .oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5R
1b04c0 48 49 4c 76 2b 31 41 37 54 61 4c 6e 64 78 48 71 45 67 75 4e 54 56 48 6e 64 32 35 7a 53 38 67 65 HILv+1A7TaLndxHqEguNTVHnd25zS8ge
1b04e0 62 4c 72 61 38 50 75 32 46 62 65 38 6c 0a 45 66 4b 58 47 6b 4a 68 39 30 71 58 36 49 75 78 45 41 bLra8Pu2Fbe8l.EfKXGkJh90qX6IuxEA
1b0500 66 36 5a 59 47 79 6f 6a 6e 50 39 7a 7a 2f 47 50 76 47 38 56 71 4c 57 65 49 43 72 48 75 53 30 45 f6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E
1b0520 34 55 54 31 6c 46 39 67 78 65 4b 46 2b 77 36 44 39 46 7a 38 2b 76 6d 32 2f 37 0a 68 4e 4e 33 57 4UT1lF9gxeKF+w6D9Fz8+vm2/7.hNN3W
1b0540 70 56 76 72 4a 53 45 6e 75 36 38 77 45 71 50 53 70 50 34 52 43 48 69 4d 55 56 68 55 45 34 51 32 pVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2
1b0560 4f 4d 31 66 45 77 5a 74 4e 34 46 76 36 4d 47 6e 38 69 31 7a 65 51 66 31 78 63 47 44 58 71 56 64 OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVd
1b0580 46 55 4e 61 42 72 38 0a 45 42 74 69 5a 4a 31 74 34 4a 57 67 77 35 51 48 56 77 30 55 35 72 30 46 FUNaBr8.EBtiZJ1t4JWgw5QHVw0U5r0F
1b05a0 2b 37 69 66 35 74 2b 4c 34 73 62 6e 66 70 62 32 55 38 57 41 4e 46 41 6f 57 50 41 53 55 48 45 58 +7if5t+L4sbnfpb2U8WANFAoWPASUHEX
1b05c0 4d 4c 72 6d 65 47 4f 38 39 4c 4b 74 6d 79 75 79 2f 75 45 35 0a 6a 46 36 36 43 79 43 55 33 6e 75 MLrmeGO89LKtmyuy/uE5.jF66CyCU3nu
1b05e0 44 75 50 2f 6a 56 6f 32 33 45 65 6b 37 6a 50 4b 78 77 56 32 64 70 41 74 4d 4b 39 6d 79 47 50 57 DuP/jVo23Eek7jPKxwV2dpAtMK9myGPW
1b0600 31 6e 30 73 43 41 77 45 41 41 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 46 4c 1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFL
1b0620 59 0a 69 44 72 49 6e 33 68 6d 37 59 6e 7a 65 7a 68 77 6c 4d 6b 43 41 6a 62 51 4d 41 38 47 41 31 Y.iDrIn3hm7YnzezhwlMkCAjbQMA8GA1
1b0640 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFo
1b0660 41 55 55 74 69 49 4f 73 69 66 65 47 62 74 0a 69 66 4e 37 4f 48 43 55 79 51 49 43 4e 74 41 77 44 AUUtiIOsifeGbt.ifN7OHCUyQICNtAwD
1b0680 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 gYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3D
1b06a0 51 45 42 43 77 55 41 41 34 49 43 41 51 41 4c 65 33 4b 48 77 47 43 6d 53 55 79 49 0a 57 4f 59 64 QEBCwUAA4ICAQALe3KHwGCmSUyI.WOYd
1b06c0 69 50 63 55 5a 45 69 6d 32 46 67 4b 44 6b 38 54 4e 64 38 31 48 64 54 74 42 6a 48 49 67 54 35 71 iPcUZEim2FgKDk8TNd81HdTtBjHIgT5q
1b06e0 31 64 30 37 47 6a 4c 75 6b 44 30 52 30 69 37 30 6a 73 4e 6a 4c 69 4e 6d 73 47 65 2b 62 37 62 41 1d07GjLukD0R0i70jsNjLiNmsGe+b7bA
1b0700 45 7a 6c 67 71 71 49 30 0a 4a 5a 4e 31 55 74 36 6e 6e 61 30 4f 68 34 6c 53 63 57 6f 57 50 42 6b EzlgqqI0.JZN1Ut6nna0Oh4lScWoWPBk
1b0720 64 67 2f 69 61 4b 57 57 2b 39 44 2b 61 32 66 44 7a 57 6f 63 68 63 59 42 4e 79 2b 41 34 6d 7a 2b dg/iaKWW+9D+a2fDzWochcYBNy+A4mz+
1b0740 37 2b 75 41 77 54 63 2b 47 30 32 55 51 47 52 6a 52 6c 77 4b 78 0a 4b 33 4a 43 61 4b 79 67 76 55 7+uAwTc+G02UQGRjRlwKx.K3JCaKygvU
1b0760 35 61 32 68 69 2f 61 35 69 42 30 50 32 61 76 6c 34 56 53 4d 30 52 46 62 6e 41 4b 56 79 30 36 49 5a2hi/a5iB0P2avl4VSM0RFbnAKVy06I
1b0780 6a 33 50 6a 61 75 74 32 4c 39 48 6d 4c 65 63 48 67 51 48 45 68 62 32 72 79 6b 4f 4c 70 6e 37 56 j3Pjaut2L9HmLecHgQHEhb2rykOLpn7V
1b07a0 55 2b 0a 58 6c 66 66 31 41 4e 41 54 49 47 6b 30 6b 39 6a 70 77 6c 43 43 52 54 38 41 4b 6e 43 67 U+.Xlff1ANATIGk0k9jpwlCCRT8AKnCg
1b07c0 48 4e 50 4c 73 42 41 32 52 46 37 53 4f 70 36 41 73 44 54 36 79 67 42 4a 6c 68 30 77 63 42 7a 49 HNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzI
1b07e0 6d 32 54 6c 66 30 35 66 62 73 71 34 2f 61 43 0a 34 79 79 58 58 30 34 66 6b 5a 54 36 2f 69 79 6a m2Tlf05fbsq4/aC.4yyXX04fkZT6/iyj
1b0800 32 48 59 61 75 45 32 79 4f 45 2b 62 2b 68 31 49 59 48 6b 6d 34 76 50 39 71 64 43 61 36 48 43 50 2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCP
1b0820 53 58 72 57 35 62 30 4b 44 74 73 74 38 34 32 2f 36 2b 4f 6b 66 63 76 48 6c 58 48 6f 0a 32 71 4e SXrW5b0KDtst842/6+OkfcvHlXHo.2qN
1b0840 38 78 63 4c 34 64 4a 49 45 47 34 61 73 70 43 4a 54 51 4c 61 73 2f 6b 78 32 7a 2f 75 55 4d 73 41 8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA
1b0860 31 6e 33 59 2f 62 75 57 51 62 71 43 6d 4a 71 4b 34 4c 4c 37 52 4b 34 58 39 70 32 6a 49 75 67 45 1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugE
1b0880 72 73 57 78 30 48 62 68 7a 0a 6c 65 66 75 74 38 63 6c 38 41 42 4d 41 4c 4a 2b 74 67 75 4c 48 50 rsWx0Hbhz.lefut8cl8ABMALJ+tguLHP
1b08a0 50 41 55 4a 34 6c 75 65 41 49 33 6a 5a 6d 2f 7a 65 6c 30 62 74 55 5a 43 7a 4a 4a 37 56 4c 6b 6e PAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn
1b08c0 35 6c 2f 39 4d 74 34 62 6c 4f 76 48 2b 6b 51 53 47 51 51 58 65 6d 0a 4f 52 2f 71 6e 75 4f 66 30 5l/9Mt4blOvH+kQSGQQXem.OR/qnuOf0
1b08e0 47 5a 76 42 65 79 71 64 6e 36 2f 61 78 61 67 36 37 58 48 2f 4a 4a 55 4c 79 73 52 4a 79 55 33 65 GZvBeyqdn6/axag67XH/JJULysRJyU3e
1b0900 45 78 52 61 72 44 7a 7a 46 68 64 46 50 46 71 53 42 58 2f 77 67 65 32 73 59 30 50 6a 6c 78 51 52 ExRarDzzFhdFPFqSBX/wge2sY0PjlxQR
1b0920 72 4d 39 0a 76 77 47 59 54 37 4a 5a 56 45 63 2b 4e 48 74 34 62 56 61 54 4c 6e 50 71 5a 69 68 34 rM9.vwGYT7JZVEc+NHt4bVaTLnPqZih4
1b0940 7a 52 30 55 76 36 43 50 4c 79 36 34 4c 6f 37 79 46 49 72 4d 36 62 56 38 2b 32 79 64 44 4b 58 68 zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXh
1b0960 6c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a lg==.-----END.CERTIFICATE-----..
1b0980 54 72 75 73 74 69 73 20 46 50 53 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Trustis.FPS.Root.CA.============
1b09a0 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1b09c0 2d 2d 2d 0a 4d 49 49 44 5a 7a 43 43 41 6b 2b 67 41 77 49 42 41 67 49 51 47 78 2b 74 74 69 44 35 ---.MIIDZzCCAk+gAwIBAgIQGx+ttiD5
1b09e0 4a 4e 4d 32 61 2f 66 48 38 59 79 67 57 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 JNM2a/fH8YygWTANBgkqhkiG9w0BAQUF
1b0a00 41 44 42 46 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 48 51 6a 45 59 4d 42 59 47 41 31 55 ADBFMQswCQYDVQQG.EwJHQjEYMBYGA1U
1b0a20 45 43 68 4d 50 56 48 4a 31 63 33 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 77 77 47 67 59 EChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgY
1b0a40 44 56 51 51 4c 45 78 4e 55 63 6e 56 7a 64 47 6c 7a 49 45 5a 51 55 79 42 53 62 32 39 30 0a 49 45 DVQQLExNUcnVzdGlzIEZQUyBSb290.IE
1b0a60 4e 42 4d 42 34 58 44 54 41 7a 4d 54 49 79 4d 7a 45 79 4d 54 51 77 4e 6c 6f 58 44 54 49 30 4d 44 NBMB4XDTAzMTIyMzEyMTQwNloXDTI0MD
1b0a80 45 79 4d 54 45 78 4d 7a 59 31 4e 46 6f 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 EyMTExMzY1NFowRTELMAkGA1UEBhMCR0
1b0aa0 49 78 47 44 41 57 42 67 4e 56 0a 42 41 6f 54 44 31 52 79 64 58 4e 30 61 58 4d 67 54 47 6c 74 61 IxGDAWBgNV.BAoTD1RydXN0aXMgTGlta
1b0ac0 58 52 6c 5a 44 45 63 4d 42 6f 47 41 31 55 45 43 78 4d 54 56 48 4a 31 63 33 52 70 63 79 42 47 55 XRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGU
1b0ae0 46 4d 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e FMgUm9vdCBDQTCCASIwDQYJ.KoZIhvcN
1b0b00 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d 56 51 65 35 34 37 AQEBBQADggEPADCCAQoCggEBAMVQe547
1b0b20 4e 64 44 66 78 49 7a 4e 6a 70 76 74 6f 38 41 32 6d 66 52 43 36 71 63 2b 67 49 4d 50 70 71 64 5a NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZ
1b0b40 68 38 6d 51 0a 52 55 4e 2b 41 4f 71 47 65 53 6f 44 76 54 30 33 6d 59 6c 6d 74 2b 57 4b 56 6f 61 h8mQ.RUN+AOqGeSoDvT03mYlmt+WKVoa
1b0b60 54 6e 47 68 4c 61 41 53 4d 6b 35 4d 43 50 6a 44 53 4e 7a 6f 69 59 59 6b 63 68 55 35 39 6a 39 57 TnGhLaASMk5MCPjDSNzoiYYkchU59j9W
1b0b80 76 65 7a 58 32 66 69 68 48 69 54 48 63 44 6e 6c 6b 0a 48 35 6e 53 57 37 72 2b 66 32 43 2f 72 65 vezX2fihHiTHcDnlk.H5nSW7r+f2C/re
1b0ba0 76 6e 50 44 67 70 61 69 2f 6c 6b 51 74 56 2f 2b 78 76 57 4e 55 74 79 64 35 4d 5a 6e 47 50 44 4e vnPDgpai/lkQtV/+xvWNUtyd5MZnGPDN
1b0bc0 63 45 32 67 66 6d 48 68 6a 6a 76 53 6b 43 71 50 6f 63 34 56 75 35 67 36 68 42 53 4c 77 61 0a 63 cE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa.c
1b0be0 59 33 6e 59 75 55 74 73 75 76 66 66 4d 2f 62 71 31 72 4b 4d 66 46 4d 49 76 4d 46 45 2f 65 43 2b Y3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+
1b0c00 58 4e 35 44 4c 37 58 53 78 7a 41 30 52 55 38 6b 30 46 6b 30 65 61 2b 49 78 63 69 41 49 6c 65 48 XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH
1b0c20 32 75 6c 72 47 36 6e 53 34 7a 74 0a 6f 33 4c 6d 72 32 4e 4e 4c 34 58 53 46 44 57 61 4c 6b 36 4d 2ulrG6nS4zt.o3Lmr2NNL4XSFDWaLk6M
1b0c40 36 6a 4b 59 4b 49 61 68 6b 51 6c 42 4f 72 54 68 34 2f 4c 36 38 4d 6b 4b 6f 6b 48 64 71 65 4d 44 6jKYKIahkQlBOrTh4/L68MkKokHdqeMD
1b0c60 78 34 67 56 4f 78 7a 55 47 70 54 58 6e 32 52 5a 45 6d 30 43 41 77 45 41 0a 41 61 4e 54 4d 46 45 x4gVOxzUGpTXn2RZEm0CAwEA.AaNTMFE
1b0c80 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 66 42 67 4e 56 48 53 4d wDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSM
1b0ca0 45 47 44 41 57 67 42 53 36 2b 6e 45 6c 65 59 74 58 51 53 55 68 68 67 74 78 36 37 4a 6b 44 6f 73 EGDAWgBS6+nEleYtXQSUhhgtx67JkDos
1b0cc0 68 5a 7a 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 75 76 70 78 4a 58 6d 4c 56 30 45 6c 49 59 hZzAd.BgNVHQ4EFgQUuvpxJXmLV0ElIY
1b0ce0 59 4c 63 65 75 79 5a 41 36 4c 49 57 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 YLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQ
1b0d00 41 44 67 67 45 42 41 48 35 59 2f 2f 30 31 47 58 32 63 0a 47 45 2b 65 73 43 75 38 6a 6f 77 55 2f ADggEBAH5Y//01GX2c.GE+esCu8jowU/
1b0d20 79 79 67 32 6b 64 62 77 2b 2b 42 4c 61 38 46 36 6e 52 49 57 2f 4d 2b 54 67 66 48 62 63 57 7a 6b yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk
1b0d40 38 38 69 4e 56 79 32 50 33 55 6e 58 77 6d 57 7a 61 44 2b 76 6b 41 4d 58 42 4a 56 2b 4a 4f 43 0a 88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC.
1b0d60 79 69 6e 70 58 6a 39 57 56 34 73 34 4e 76 64 46 47 6b 77 6f 7a 5a 35 42 75 4f 31 57 54 49 53 6b yinpXj9WV4s4NvdFGkwozZ5BuO1WTISk
1b0d80 51 4d 69 34 73 4b 55 72 61 58 41 45 61 73 50 34 31 42 49 79 2b 51 37 44 73 64 77 79 68 45 51 73 QMi4sKUraXAEasP41BIy+Q7DsdwyhEQs
1b0da0 62 38 74 47 44 2b 70 6d 51 51 39 50 0a 38 56 69 6c 70 67 30 4e 44 32 48 65 70 5a 35 64 66 57 57 b8tGD+pmQQ9P.8Vilpg0ND2HepZ5dfWW
1b0dc0 68 50 42 66 6e 71 46 56 4f 37 36 44 48 37 63 5a 45 66 31 54 31 6f 2b 43 50 38 48 78 56 49 6f 38 hPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8
1b0de0 70 74 6f 47 6a 34 57 31 4f 4c 42 75 41 5a 2b 79 74 49 4a 38 4d 59 6d 48 56 0a 6c 2f 39 44 37 53 ptoGj4W1OLBuAZ+ytIJ8MYmHV.l/9D7S
1b0e00 33 42 32 6c 30 70 4b 6f 55 2f 72 47 58 75 68 67 38 46 6a 5a 42 66 33 2b 36 66 39 4c 2f 75 48 66 3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHf
1b0e20 75 59 35 48 2b 51 4b 34 52 34 45 41 35 73 53 56 50 76 46 56 74 6c 52 6b 70 64 72 37 72 37 4f 6e uY5H+QK4R4EA5sSVPvFVtlRkpdr7r7On
1b0e40 49 64 7a 66 59 6c 0a 69 42 36 58 7a 43 47 63 4b 51 45 4e 5a 65 74 58 32 66 4e 58 6c 72 74 49 7a IdzfYl.iB6XzCGcKQENZetX2fNXlrtIz
1b0e60 59 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 YE=.-----END.CERTIFICATE-----..B
1b0e80 75 79 70 61 73 73 20 43 6c 61 73 73 20 32 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d uypass.Class.2.Root.CA.=========
1b0ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1b0ec0 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 77 49 42 41 67 49 42 41 ICATE-----.MIIFWTCCA0GgAwIBAgIBA
1b0ee0 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d 51 73 77 43 51 59 44 56 jANBgkqhkiG9w0BAQsFADBOMQswCQYDV
1b0f00 51 51 47 45 77 4a 4f 54 7a 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a 51 6e 56 35 63 47 46 7a QQGEwJOTzEdMBsGA1UECgwU.QnV5cGFz
1b0f20 63 79 42 42 55 79 30 35 4f 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 42 67 4e 56 42 41 4d 4d cyBBUy05ODMxNjMzMjcxIDAeBgNVBAMM
1b0f40 46 30 4a 31 65 58 42 68 63 33 4d 67 51 32 78 68 63 33 4d 67 4d 69 42 53 62 32 39 30 49 45 4e 42 F0J1eXBhc3MgQ2xhc3MgMiBSb290IENB
1b0f60 4d 42 34 58 0a 44 54 45 77 4d 54 41 79 4e 6a 41 34 4d 7a 67 77 4d 31 6f 58 44 54 51 77 4d 54 41 MB4X.DTEwMTAyNjA4MzgwM1oXDTQwMTA
1b0f80 79 4e 6a 41 34 4d 7a 67 77 4d 31 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 54 6b 38 yNjA4MzgwM1owTjELMAkGA1UEBhMCTk8
1b0fa0 78 48 54 41 62 42 67 4e 56 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 4d 67 51 56 4d 74 4f 54 xHTAbBgNVBAoMFEJ1.eXBhc3MgQVMtOT
1b0fc0 67 7a 4d 54 59 7a 4d 7a 49 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 64 43 64 58 6c 77 59 58 gzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYX
1b0fe0 4e 7a 49 45 4e 73 59 58 4e 7a 49 44 49 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 69 49 77 0a 44 NzIENsYXNzIDIgUm9vdCBDQTCCAiIw.D
1b1000 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 QYJKoZIhvcNAQEBBQADggIPADCCAgoCg
1b1020 67 49 42 41 4e 66 48 58 76 66 42 42 39 52 33 2b 30 4d 68 39 50 54 31 61 65 54 75 4d 67 48 62 6f gIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo
1b1040 34 59 66 35 46 6b 4e 75 75 64 31 0a 67 31 4c 72 36 68 78 68 46 55 69 37 48 51 66 4b 6a 4b 36 77 4Yf5FkNuud1.g1Lr6hxhFUi7HQfKjK6w
1b1060 33 4a 61 64 36 73 4e 67 6b 6f 61 43 4b 48 4f 63 56 67 62 2f 53 32 54 77 44 43 6f 33 53 62 58 6c 3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXl
1b1080 7a 77 78 38 37 76 46 4b 75 33 4d 77 5a 66 50 56 4c 34 4f 32 66 75 50 6e 0a 39 5a 36 72 59 50 6e zwx87vFKu3MwZfPVL4O2fuPn.9Z6rYPn
1b10a0 54 38 5a 32 53 64 49 72 6b 48 4a 61 73 57 34 44 70 74 66 51 78 68 36 4e 52 2f 4d 64 2b 6f 57 2b T8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+
1b10c0 4f 55 33 66 55 6c 38 46 56 4d 35 49 2b 47 43 39 31 31 4b 32 47 53 63 75 56 72 31 51 47 62 4e 67 OU3fUl8FVM5I+GC911K2GScuVr1QGbNg
1b10e0 47 45 34 31 62 0a 2f 2b 45 6d 47 56 6e 41 4a 4c 71 42 63 58 6d 51 52 46 42 6f 4a 4a 52 66 75 4c GE41b./+EmGVnAJLqBcXmQRFBoJJRfuL
1b1100 4d 52 38 53 6c 42 59 61 4e 42 79 79 4d 32 31 63 48 78 4d 6c 41 51 54 6e 2f 30 68 70 50 73 68 4e MR8SlBYaNByyM21cHxMlAQTn/0hpPshN
1b1120 4f 4f 76 45 75 2f 58 41 46 4f 42 7a 33 63 46 49 71 55 0a 43 71 54 71 63 2f 73 4c 55 65 67 54 42 OOvEu/XAFOBz3cFIqU.CqTqc/sLUegTB
1b1140 78 6a 36 44 76 45 72 30 56 51 56 66 54 7a 68 39 37 51 5a 51 6d 64 69 58 6e 66 67 6f 6c 58 73 74 xj6DvEr0VQVfTzh97QZQmdiXnfgolXst
1b1160 74 6c 70 46 39 55 36 72 30 54 74 53 73 57 65 35 48 6f 6e 66 4f 56 31 31 36 72 4c 4a 65 66 66 0a tlpF9U6r0TtSsWe5HonfOV116rLJeff.
1b1180 61 77 72 62 44 30 32 54 54 71 69 67 7a 58 73 75 38 6c 6b 42 61 72 63 4e 75 41 65 42 66 6f 73 34 awrbD02TTqigzXsu8lkBarcNuAeBfos4
1b11a0 47 7a 6a 6d 43 6c 65 5a 50 65 34 68 36 4b 50 31 44 42 62 64 69 2b 77 30 6a 70 77 71 48 41 41 56 GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAV
1b11c0 46 34 31 6f 67 39 4a 77 6e 78 67 49 0a 7a 52 46 6f 31 63 6c 72 55 73 33 45 52 6f 2f 63 74 66 50 F41og9JwnxgI.zRFo1clrUs3ERo/ctfP
1b11e0 59 56 33 4d 65 36 5a 51 35 42 4c 2f 54 33 6a 6a 65 74 46 50 73 61 52 79 69 66 73 53 50 35 42 74 YV3Me6ZQ5BL/T3jjetFPsaRyifsSP5Bt
1b1200 77 72 66 4b 69 2b 66 76 33 46 6d 52 6d 61 5a 39 4a 55 61 4c 69 46 52 68 6e 0a 42 6b 70 2f 31 57 wrfKi+fv3FmRmaZ9JUaLiFRhn.Bkp/1W
1b1220 79 31 54 62 4d 7a 34 47 48 72 58 62 37 70 6d 41 38 79 31 78 31 4c 50 43 35 61 41 56 4b 52 43 66 y1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCf
1b1240 4c 66 36 6f 33 59 42 6b 42 6a 71 68 48 6b 2f 73 4d 33 6e 68 52 53 50 2f 54 69 7a 50 4a 68 6b 39 Lf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9
1b1260 48 39 5a 32 76 58 0a 55 71 36 2f 61 4b 74 41 51 36 42 58 4e 56 4e 34 38 46 50 34 59 55 49 48 5a H9Z2vX.Uq6/aKtAQ6BXNVN48FP4YUIHZ
1b1280 4d 62 58 62 35 74 4d 4f 41 31 6a 72 47 4b 76 4e 6f 75 69 63 77 6f 4e 39 53 47 39 64 4b 70 4e 36 MbXb5tMOA1jrGKvNouicwoN9SG9dKpN6
1b12a0 6e 49 44 53 64 76 48 58 78 31 69 59 38 66 39 33 5a 48 73 0a 4d 2b 37 31 62 62 52 75 4d 47 6a 65 nIDSdvHXx1iY8f93ZHs.M+71bbRuMGje
1b12c0 79 4e 59 6d 73 48 56 65 65 37 51 48 49 4a 69 68 64 6a 4b 34 54 57 78 50 41 67 4d 42 41 41 47 6a yNYmsHVee7QHIJihdjK4TWxPAgMBAAGj
1b12e0 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
1b1300 0a 56 52 30 4f 42 42 59 45 46 4d 6d 41 64 2b 42 69 6b 6f 4c 31 52 70 7a 7a 75 76 64 4d 77 39 36 .VR0OBBYEFMmAd+BikoL1RpzzuvdMw96
1b1320 34 6f 36 30 35 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 4o605MA4GA1UdDwEB/wQEAwIBBjANBgk
1b1340 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 55 31 38 68 39 62 71 77 4f 6c qhkiG9w0BAQsF.AAOCAgEAU18h9bqwOl
1b1360 49 35 4c 4a 4b 77 62 41 44 4a 37 38 34 67 37 77 62 79 6c 70 37 70 70 48 52 2f 65 68 62 38 74 2f I5LJKwbADJ784g7wbylp7ppHR/ehb8t/
1b1380 57 32 2b 78 55 62 50 36 75 6d 77 48 4a 64 45 4c 46 78 37 72 78 50 34 36 32 73 0a 41 32 30 75 63 W2+xUbP6umwHJdELFx7rxP462s.A20uc
1b13a0 53 36 76 78 4f 4f 74 6f 37 30 4d 45 61 65 30 2f 30 71 79 65 78 41 51 48 36 64 58 51 62 4c 41 72 S6vxOOto70MEae0/0qyexAQH6dXQbLAr
1b13c0 76 51 73 57 64 5a 48 45 49 6a 7a 49 56 45 70 4d 4d 70 67 68 71 39 47 71 78 33 74 4f 6c 75 77 6c vQsWdZHEIjzIVEpMMpghq9Gqx3tOluwl
1b13e0 4e 35 45 34 30 45 49 0a 6f 73 48 73 48 64 62 39 54 37 62 57 52 39 41 55 43 38 72 6d 79 72 56 37 N5E40EI.osHsHdb9T7bWR9AUC8rmyrV7
1b1400 64 33 35 42 48 31 36 44 78 37 61 4d 4f 5a 61 77 50 35 61 42 51 57 39 67 6b 4f 4c 6f 2b 66 73 69 d35BH16Dx7aMOZawP5aBQW9gkOLo+fsi
1b1420 63 64 6c 39 73 7a 31 47 76 37 53 45 72 35 41 63 44 34 38 53 0a 61 71 2f 76 37 68 35 36 72 67 4a cdl9sz1Gv7SEr5AcD48S.aq/v7h56rgJ
1b1440 4b 69 68 63 72 64 76 36 73 56 49 6b 6b 4c 45 38 2f 74 72 4b 6e 54 6f 79 6f 6b 5a 66 37 4b 63 5a Kihcrdv6sVIkkLE8/trKnToyokZf7KcZ
1b1460 37 58 43 32 35 79 32 61 32 74 36 68 62 45 6c 47 46 74 51 6c 2b 59 6e 68 77 2f 71 6c 71 59 4c 59 7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLY
1b1480 64 0a 44 6e 6b 4d 2f 63 72 71 4a 49 42 79 77 35 63 2f 38 6e 65 72 51 79 49 4b 78 2b 75 32 44 49 d.DnkM/crqJIByw5c/8nerQyIKx+u2DI
1b14a0 53 43 4c 49 42 72 51 59 6f 49 77 4f 75 6c 61 39 2b 5a 45 73 75 4b 31 56 36 41 44 4a 48 67 4a 67 SCLIBrQYoIwOula9+ZEsuK1V6ADJHgJg
1b14c0 67 32 53 4d 58 36 4f 42 45 31 2f 79 57 44 0a 4c 66 4a 36 76 39 72 39 6a 76 36 6c 79 30 55 73 48 g2SMX6OBE1/yWD.LfJ6v9r9jv6ly0UsH
1b14e0 38 53 49 55 36 35 33 44 74 6d 61 64 73 57 4f 4c 42 32 6a 75 74 58 73 4d 71 37 41 71 71 7a 33 30 8SIU653DtmadsWOLB2jutXsMq7Aqqz30
1b1500 58 70 4e 36 39 51 48 34 6b 6a 33 49 6f 36 77 70 4a 39 71 7a 6f 36 79 73 6d 44 30 0a 6f 79 4c 51 XpN69QH4kj3Io6wpJ9qzo6ysmD0.oyLQ
1b1520 49 2b 75 55 57 6e 70 70 33 51 2b 2f 51 46 65 73 61 31 6c 51 32 61 4f 5a 34 57 37 2b 6a 51 46 35 I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5
1b1540 4a 79 4d 56 33 70 4b 64 65 77 6c 4e 57 75 64 4c 53 44 42 61 47 4f 59 4b 62 65 61 50 34 4e 4b 37 JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7
1b1560 35 74 39 38 62 69 47 43 0a 77 57 67 35 54 62 53 59 57 47 5a 69 7a 45 71 51 58 73 50 36 4a 77 53 5t98biGC.wWg5TbSYWGZizEqQXsP6JwS
1b1580 78 65 52 56 30 6d 63 79 2b 72 53 44 65 4a 6d 41 63 36 31 5a 52 70 71 50 71 35 4b 4d 2f 70 2f 39 xeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9
1b15a0 68 33 50 46 61 54 57 77 79 49 30 50 75 72 4b 6a 75 37 6b 6f 53 0a 43 54 78 64 63 63 4b 2b 65 66 h3PFaTWwyI0PurKju7koS.CTxdccK+ef
1b15c0 72 43 68 32 67 64 43 2f 31 63 61 63 77 47 30 4a 70 39 56 4a 6b 71 79 54 6b 61 47 61 39 4c 4b 6b rCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKk
1b15e0 50 7a 59 31 31 61 57 4f 49 76 34 78 33 6b 71 64 62 51 43 74 43 65 76 39 65 42 43 66 48 4a 78 79 PzY11aWOIv4x3kqdbQCtCev9eBCfHJxy
1b1600 59 4e 0a 72 4a 67 57 56 71 41 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 YN.rJgWVqA=.-----END.CERTIFICATE
1b1620 2d 2d 2d 2d 2d 0a 0a 42 75 79 70 61 73 73 20 43 6c 61 73 73 20 33 20 52 6f 6f 74 20 43 41 0a 3d -----..Buypass.Class.3.Root.CA.=
1b1640 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1b1660 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 N.CERTIFICATE-----.MIIFWTCCA0GgA
1b1680 77 49 42 41 67 49 42 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d wIBAgIBAjANBgkqhkiG9w0BAQsFADBOM
1b16a0 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f 54 7a 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a QswCQYDVQQGEwJOTzEdMBsGA1UECgwU.
1b16c0 51 6e 56 35 63 47 46 7a 63 79 42 42 55 79 30 35 4f 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAe
1b16e0 42 67 4e 56 42 41 4d 4d 46 30 4a 31 65 58 42 68 63 33 4d 67 51 32 78 68 63 33 4d 67 4d 79 42 53 BgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBS
1b1700 62 32 39 30 49 45 4e 42 4d 42 34 58 0a 44 54 45 77 4d 54 41 79 4e 6a 41 34 4d 6a 67 31 4f 46 6f b290IENBMB4X.DTEwMTAyNjA4Mjg1OFo
1b1720 58 44 54 51 77 4d 54 41 79 4e 6a 41 34 4d 6a 67 31 4f 46 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 XDTQwMTAyNjA4Mjg1OFowTjELMAkGA1U
1b1740 45 42 68 4d 43 54 6b 38 78 48 54 41 62 42 67 4e 56 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 EBhMCTk8xHTAbBgNVBAoMFEJ1.eXBhc3
1b1760 4d 67 51 56 4d 74 4f 54 67 7a 4d 54 59 7a 4d 7a 49 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDB
1b1780 64 43 64 58 6c 77 59 58 4e 7a 49 45 4e 73 59 58 4e 7a 49 44 4d 67 55 6d 39 76 64 43 42 44 51 54 dCdXlwYXNzIENsYXNzIDMgUm9vdCBDQT
1b17a0 43 43 41 69 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 CCAiIw.DQYJKoZIhvcNAQEBBQADggIPA
1b17c0 44 43 43 41 67 6f 43 67 67 49 42 41 4b 58 61 43 70 55 57 55 4f 4f 56 38 6c 36 64 64 6a 45 47 4d DCCAgoCggIBAKXaCpUWUOOV8l6ddjEGM
1b17e0 6e 71 62 38 52 42 32 75 41 43 61 74 56 49 32 7a 53 52 48 0a 73 4a 38 59 5a 4c 79 61 39 76 72 56 nqb8RB2uACatVI2zSRH.sJ8YZLya9vrV
1b1800 65 64 69 51 59 6b 77 69 4c 39 34 34 50 64 62 67 71 4f 6b 63 4c 4e 74 34 45 65 6d 4f 61 46 45 56 ediQYkwiL944PdbgqOkcLNt4EemOaFEV
1b1820 63 73 66 7a 4d 34 66 6b 6f 46 30 4c 58 4f 42 58 42 79 6f 77 39 63 33 45 4e 33 63 6f 54 52 69 52 csfzM4fkoF0LXOBXByow9c3EN3coTRiR
1b1840 0a 35 72 2f 56 55 76 31 78 4c 58 41 2b 35 38 62 45 69 75 50 77 4b 41 76 30 64 70 69 68 69 34 64 .5r/VUv1xLXA+58bEiuPwKAv0dpihi4d
1b1860 56 73 6a 6f 54 2f 4c 63 2b 4a 7a 65 4f 49 75 4f 6f 54 79 72 76 59 4c 73 39 74 7a 6e 44 44 67 46 VsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgF
1b1880 48 6d 56 30 53 54 39 74 44 2b 6c 65 68 0a 37 66 6d 64 76 68 46 48 4a 6c 73 54 6d 4b 74 64 46 6f HmV0ST9tD+leh.7fmdvhFHJlsTmKtdFo
1b18a0 71 77 4e 78 78 58 6e 55 58 2f 69 4a 59 32 76 37 76 4b 42 33 74 76 68 32 50 58 30 44 4a 71 31 6c qwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l
1b18c0 31 73 44 50 47 7a 62 6a 6e 69 61 7a 45 75 4f 51 41 6e 46 4e 34 34 77 4f 77 5a 0a 5a 6f 59 53 36 1sDPGzbjniazEuOQAnFN44wOwZ.ZoYS6
1b18e0 4a 31 79 46 68 4e 6b 55 73 65 70 4e 78 7a 39 67 6a 44 74 68 42 67 64 39 4b 35 63 2f 33 41 54 41 J1yFhNkUsepNxz9gjDthBgd9K5c/3ATA
1b1900 4f 75 78 39 54 4e 36 53 39 5a 56 2b 41 57 4e 53 32 6d 77 39 62 4d 6f 4e 6c 77 55 78 46 46 7a 54 Oux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzT
1b1920 57 73 4c 38 54 51 48 0a 32 78 63 35 31 39 77 6f 65 32 76 31 6e 2f 4d 75 77 55 38 58 4b 68 44 7a WsL8TQH.2xc519woe2v1n/MuwU8XKhDz
1b1940 7a 4d 72 6f 36 2f 31 72 71 79 36 61 6e 79 32 43 62 67 54 55 55 67 47 54 4c 54 32 47 2f 48 37 38 zMro6/1rqy6any2CbgTUUgGTLT2G/H78
1b1960 33 2b 39 43 48 61 5a 72 37 37 6b 67 78 76 65 39 6f 4b 65 56 0a 2f 61 66 6d 69 53 54 59 7a 49 77 3+9CHaZr77kgxve9oKeV./afmiSTYzIw
1b1980 30 62 4f 49 6a 4c 39 6b 53 47 69 47 35 56 5a 46 76 43 35 46 35 47 51 79 74 51 49 67 4c 63 4f 4a 0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ
1b19a0 36 30 67 37 59 61 45 69 37 67 68 4d 35 45 46 6a 70 32 43 6f 48 78 68 4c 62 57 4e 76 53 4f 31 55 60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1U
1b19c0 51 0a 52 77 55 56 5a 32 4a 2b 47 47 4f 6d 52 6a 38 4a 44 6c 51 79 58 72 38 4e 59 6e 6f 6e 37 34 Q.RwUVZ2J+GGOmRj8JDlQyXr8NYnon74
1b19e0 44 6f 32 39 6c 4c 42 6c 6f 33 57 69 58 51 43 42 4a 33 31 47 38 4a 55 4a 63 39 79 42 33 44 33 34 Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34
1b1a00 78 46 4d 46 62 47 30 32 53 72 5a 76 50 41 0a 58 70 61 63 77 38 54 76 77 33 78 72 69 7a 70 35 66 xFMFbG02SrZvPA.Xpacw8Tvw3xrizp5f
1b1a20 37 4e 4a 7a 7a 33 69 69 5a 2b 67 4d 45 75 46 75 5a 79 55 4a 48 6d 50 66 57 75 70 52 57 67 50 4b 7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK
1b1a40 39 44 78 32 68 7a 4c 61 62 6a 4b 53 57 4a 74 79 4e 42 6a 59 74 31 67 44 31 69 71 0a 6a 36 47 38 9Dx2hzLabjKSWJtyNBjYt1gD1iq.j6G8
1b1a60 42 61 56 6d 6f 73 38 62 64 72 4b 45 5a 4c 46 4d 4f 56 4c 41 4d 4c 72 77 6a 45 73 43 73 4c 61 33 BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3
1b1a80 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB
1b1aa0 41 66 38 77 48 51 59 44 0a 56 52 30 4f 42 42 59 45 46 45 65 34 7a 66 2f 6c 62 2b 37 34 73 75 77 Af8wHQYD.VR0OBBYEFEe4zf/lb+74suw
1b1ac0 76 54 67 37 35 4a 62 43 4f 50 47 76 44 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 vTg75JbCOPGvDMA4GA1UdDwEB/wQEAwI
1b1ae0 42 42 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 41 43 BBjANBgkqhkiG9w0BAQsF.AAOCAgEAAC
1b1b00 41 6a 51 54 55 45 6b 4d 4a 41 59 6d 44 76 34 6a 56 4d 31 7a 2b 73 34 6a 53 51 75 4b 46 76 64 76 AjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdv
1b1b20 6f 57 46 71 52 49 4e 79 7a 70 6b 4d 4c 79 50 50 67 4b 6e 39 69 42 35 62 74 62 32 69 55 73 70 4b oWFqRINyzpkMLyPPgKn9iB5btb2iUspK
1b1b40 64 56 0a 63 53 51 79 39 73 67 4c 38 72 78 71 2b 4a 4f 73 73 67 66 43 58 35 2f 62 7a 4d 69 4b 71 dV.cSQy9sgL8rxq+JOssgfCX5/bzMiKq
1b1b60 72 35 71 62 2b 46 4a 45 4d 77 78 31 34 43 37 75 38 6a 59 6f 67 35 6b 56 2b 71 69 39 63 4b 70 4d r5qb+FJEMwx14C7u8jYog5kV+qi9cKpM
1b1b80 52 58 53 49 47 72 73 2f 43 49 42 4b 4d 2b 47 0a 75 49 41 65 71 63 77 52 70 54 7a 79 46 72 4e 48 RXSIGrs/CIBKM+G.uIAeqcwRpTzyFrNH
1b1ba0 6e 66 7a 53 67 43 48 45 79 39 42 48 63 45 47 68 79 6f 4d 5a 43 43 78 74 38 6c 31 33 6e 49 6f 55 nfzSgCHEy9BHcEGhyoMZCCxt8l13nIoU
1b1bc0 45 39 51 32 48 4a 4c 77 35 51 59 33 33 4b 62 6d 6b 4a 73 34 6a 31 78 72 47 30 61 47 0a 51 30 4a E9Q2HJLw5QY33KbmkJs4j1xrG0aG.Q0J
1b1be0 66 50 67 45 48 55 31 52 64 5a 58 33 33 69 6e 4f 68 6d 6c 52 61 48 79 6c 44 46 43 66 43 68 51 2b fPgEHU1RdZX33inOhmlRaHylDFCfChQ+
1b1c00 31 69 48 73 61 4f 35 53 33 48 57 43 6e 74 5a 7a 6e 4b 57 6c 58 57 70 75 54 65 6b 4d 77 47 77 50 1iHsaO5S3HWCntZznKWlXWpuTekMwGwP
1b1c20 58 59 73 68 41 70 71 72 38 0a 5a 4f 52 4b 31 35 46 54 41 61 67 67 69 47 36 63 58 30 53 35 79 32 XYshApqr8.ZORK15FTAaggiG6cX0S5y2
1b1c40 43 42 4e 4f 78 76 30 33 33 61 53 46 2f 72 74 4a 43 38 4c 61 6b 63 43 36 77 63 31 61 4a 6f 49 49 CBNOxv033aSF/rtJC8LakcC6wc1aJoII
1b1c60 41 45 31 76 79 78 6a 79 2b 37 53 6a 45 4e 53 6f 59 63 36 2b 49 32 0a 4b 53 62 31 32 74 6a 45 38 AE1vyxjy+7SjENSoYc6+I2.KSb12tjE8
1b1c80 6e 56 68 7a 33 36 75 64 6d 4e 4b 65 6b 42 6c 6b 34 66 34 48 6f 43 4d 68 75 57 47 31 6f 38 4f 2f nVhz36udmNKekBlk4f4HoCMhuWG1o8O/
1b1ca0 46 4d 73 59 4f 67 57 59 52 71 69 50 6b 4e 37 7a 54 6c 67 56 47 72 31 38 6f 6b 6d 41 57 69 44 53 FMsYOgWYRqiPkN7zTlgVGr18okmAWiDS
1b1cc0 4b 49 7a 0a 36 4d 6b 45 6b 62 49 52 4e 42 45 2b 36 74 42 44 47 52 38 44 6b 35 41 4d 2f 31 45 39 KIz.6MkEkbIRNBE+6tBDGR8Dk5AM/1E9
1b1ce0 56 2f 52 42 62 75 48 4c 6f 4c 37 72 79 57 50 4e 62 63 7a 6b 2b 44 61 71 61 4a 33 74 76 56 32 58 V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2X
1b1d00 63 45 51 4e 74 67 34 31 33 4f 45 4d 58 62 75 67 0a 55 5a 54 4c 66 68 62 72 45 53 2b 6a 6b 6b 58 cEQNtg413OEMXbug.UZTLfhbrES+jkkX
1b1d20 49 54 48 48 5a 76 4d 6d 5a 55 6c 64 47 4c 31 44 50 76 54 56 70 39 44 30 56 7a 67 61 6c 4c 41 38 ITHHZvMmZUldGL1DPvTVp9D0VzgalLA8
1b1d40 2b 39 6f 47 36 6c 4c 76 44 75 37 39 6c 65 4e 4b 47 65 66 39 4a 4f 78 71 44 44 50 44 65 0a 65 4f +9oG6lLvDu79leNKGef9JOxqDDPDe.eO
1b1d60 7a 49 38 6b 31 4d 47 74 36 43 4b 66 6a 42 57 74 72 74 37 75 59 6e 58 75 68 46 30 4a 30 63 55 61 zI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUa
1b1d80 68 6f 71 30 54 6a 30 49 74 71 34 2f 67 37 75 39 78 4e 31 32 54 79 55 62 37 6d 71 71 74 61 36 54 hoq0Tj0Itq4/g7u9xN12TyUb7mqqta6T
1b1da0 48 75 42 72 78 7a 76 78 4e 69 0a 43 70 2f 48 75 5a 63 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 HuBrxzvxNi.Cp/HuZc=.-----END.CER
1b1dc0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c 65 53 65 63 20 47 6c 6f 62 61 6c 52 TIFICATE-----..T-TeleSec.GlobalR
1b1de0 6f 6f 74 20 43 6c 61 73 73 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d oot.Class.3.====================
1b1e00 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1b1e20 2d 2d 2d 2d 0a 4d 49 49 44 77 7a 43 43 41 71 75 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b ----.MIIDwzCCAqugAwIBAgIBATANBgk
1b1e40 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d qhkiG9w0BAQsFADCBgjELMAkGA1UEBhM
1b1e60 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 0a 49 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 CREUxKzApBgNVBAoM.IlQtU3lzdGVtcy
1b1e80 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b BFbnRlcnByaXNlIFNlcnZpY2VzIEdtYk
1b1ea0 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 0a 63 gxHzAdBgNVBAsMFlQtU3lzdGVtcyBU.c
1b1ec0 6e 56 7a 64 43 42 44 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 nVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtV
1b1ee0 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 GVsZVNlYyBHbG9iYWxSb290IENsYXNzI
1b1f00 44 4d 77 48 68 63 4e 4d 44 67 78 0a 4d 44 41 78 4d 54 41 79 4f 54 55 32 57 68 63 4e 4d 7a 4d 78 DMwHhcNMDgx.MDAxMTAyOTU2WhcNMzMx
1b1f20 4d 44 41 78 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 MDAxMjM1OTU5WjCBgjELMAkGA1UEBhMC
1b1f40 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 49 6c 51 74 55 33 6c 7a 0a 64 47 56 74 63 79 42 REUxKzApBgNVBAoMIlQtU3lz.dGVtcyB
1b1f60 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 FbnRlcnByaXNlIFNlcnZpY2VzIEdtYkg
1b1f80 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 63 6e 56 xHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnV
1b1fa0 7a 64 43 42 44 0a 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 zdCBD.ZW50ZXIxJTAjBgNVBAMMHFQtVG
1b1fc0 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 VsZVNlYyBHbG9iYWxSb290IENsYXNzID
1b1fe0 4d 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 41 51 55 41 41 34 49 42 44 MwggEiMA0GCSqGSIb3.DQEBAQUAA4IBD
1b2000 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 39 64 5a 50 77 59 69 4a 76 4a 4b 37 67 65 6e 61 73 66 wAwggEKAoIBAQC9dZPwYiJvJK7genasf
1b2020 62 33 5a 4a 4e 57 34 74 2f 7a 4e 38 45 4c 67 36 33 69 49 56 6c 36 62 6d 6c 51 64 54 51 79 4b 0a b3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK.
1b2040 39 74 50 50 63 50 52 53 74 64 69 54 42 4f 4e 47 68 6e 46 42 53 69 76 77 4b 69 78 56 41 39 5a 49 9tPPcPRStdiTBONGhnFBSivwKixVA9ZI
1b2060 77 2b 41 35 4f 4f 33 79 58 44 77 2f 52 4c 79 54 50 57 47 72 54 73 30 4e 76 76 41 67 4a 31 67 4f w+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gO
1b2080 52 48 38 45 47 6f 65 6c 31 35 59 55 0a 4e 70 44 51 53 58 75 68 64 66 73 61 61 33 4f 78 2b 4d 36 RH8EGoel15YU.NpDQSXuhdfsaa3Ox+M6
1b20a0 70 43 53 7a 79 55 39 58 44 46 45 53 34 68 71 58 32 69 79 73 35 32 71 4d 7a 56 4e 6e 36 63 68 72 pCSzyU9XDFES4hqX2iys52qMzVNn6chr
1b20c0 33 49 68 55 63 69 4a 46 72 66 32 62 6c 77 32 71 41 73 43 54 7a 33 34 5a 46 0a 69 50 30 5a 66 33 3IhUciJFrf2blw2qAsCTz34ZF.iP0Zf3
1b20e0 57 48 48 78 2b 78 47 77 70 7a 4a 46 75 35 5a 65 41 73 56 4d 68 67 30 32 59 58 50 2b 48 4d 56 44 WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVD
1b2100 4e 7a 6b 51 49 36 70 6e 39 37 64 6a 6d 69 48 35 61 32 4f 4b 36 31 79 4a 4e 30 48 5a 36 35 74 4f NzkQI6pn97djmiH5a2OK61yJN0HZ65tO
1b2120 56 67 6e 53 39 57 0a 30 65 44 72 58 6c 74 4d 45 6e 41 4d 62 45 51 67 71 78 48 59 39 42 6e 32 30 VgnS9W.0eDrXltMEnAMbEQgqxHY9Bn20
1b2140 70 78 53 4e 2b 66 36 74 73 49 78 4f 30 72 55 46 4a 6d 74 78 78 72 31 58 56 2f 36 42 37 68 38 44 pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8D
1b2160 52 2f 57 67 78 36 7a 41 67 4d 42 41 41 47 6a 51 6a 42 41 0a 4d 41 38 47 41 31 55 64 45 77 45 42 R/Wgx6zAgMBAAGjQjBA.MA8GA1UdEwEB
1b2180 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
1b21a0 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 31 41 2f 64 32 4f 32 47 43 61 68 4b 71 47 46 50 72 MB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
1b21c0 0a 41 79 47 55 76 2f 37 4f 79 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f .AyGUv/7OyjANBgkqhkiG9w0BAQsFAAO
1b21e0 43 41 51 45 41 56 6a 33 76 6c 4e 57 39 32 6e 4f 79 57 4c 36 75 6b 4b 32 59 4a 35 66 2b 41 62 47 CAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbG
1b2200 77 55 67 43 34 54 65 51 62 49 58 51 62 0a 66 73 44 75 58 6d 6b 71 4a 61 39 63 31 68 33 61 30 6e wUgC4TeQbIXQb.fsDuXmkqJa9c1h3a0n
1b2220 6e 4a 38 35 63 70 34 49 61 48 33 67 52 5a 44 2f 46 5a 31 47 53 46 53 35 6d 76 4a 51 51 65 79 55 nJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyU
1b2240 61 70 6c 39 36 43 73 68 74 77 6e 35 7a 32 72 33 45 78 33 58 73 46 70 53 7a 54 0a 75 63 70 48 39 apl96Cshtwn5z2r3Ex3XsFpSzT.ucpH9
1b2260 73 72 79 39 75 65 74 75 55 67 2f 76 42 61 33 77 57 33 30 36 67 6d 76 37 50 4f 31 35 77 57 65 70 sry9uetuUg/vBa3wW306gmv7PO15wWep
1b2280 68 36 4b 55 31 48 57 6b 34 48 4d 64 4a 50 32 75 64 71 6d 4a 51 56 30 65 56 70 2b 51 44 36 43 53 h6KU1HWk4HMdJP2udqmJQV0eVp+QD6CS
1b22a0 79 59 52 4d 47 37 68 0a 50 30 48 48 52 77 41 31 31 66 58 54 39 31 51 2b 67 54 33 61 53 57 71 61 yYRMG7h.P0HHRwA11fXT91Q+gT3aSWqa
1b22c0 73 2b 38 51 50 65 62 72 62 39 48 49 49 6b 66 4c 7a 4d 38 42 4d 5a 4c 5a 47 4f 4d 69 76 67 6b 65 s+8QPebrb9HIIkfLzM8BMZLZGOMivgke
1b22e0 47 6a 35 61 73 75 52 72 44 46 52 36 66 55 4e 4f 75 49 6d 6c 0a 65 39 65 69 50 5a 61 47 7a 50 49 Gj5asuRrDFR6fUNOuIml.e9eiPZaGzPI
1b2300 6d 4e 43 31 71 6b 70 32 61 47 74 41 77 34 6c 31 4f 42 4c 42 66 69 79 42 2b 64 38 45 39 6c 59 4c mNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYL
1b2320 52 52 70 6f 37 50 48 69 34 62 36 48 51 44 57 53 69 65 42 34 70 54 70 50 44 70 46 51 55 57 77 3d RRpo7PHi4b6HQDWSieB4pTpPDpFQUWw=
1b2340 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 45 20 =.-----END.CERTIFICATE-----..EE.
1b2360 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 43 65 6e 74 72 65 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d Certification.Centre.Root.CA.===
1b2380 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d ============================.---
1b23a0 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 41 7a 43 --BEGIN.CERTIFICATE-----.MIIEAzC
1b23c0 43 41 75 75 67 41 77 49 42 41 67 49 51 56 49 44 35 6f 48 50 74 50 77 42 4d 79 6f 6e 59 34 33 48 CAuugAwIBAgIQVID5oHPtPwBMyonY43H
1b23e0 6d 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 31 4d 51 73 77 43 51 59 mSjANBgkqhkiG9w0BAQUFADB1MQswCQY
1b2400 44 56 51 51 47 0a 45 77 4a 46 52 54 45 69 4d 43 41 47 41 31 55 45 43 67 77 5a 51 56 4d 67 55 32 DVQQG.EwJFRTEiMCAGA1UECgwZQVMgU2
1b2420 56 79 64 47 6c 6d 61 58 52 7a 5a 57 56 79 61 57 31 70 63 32 74 6c 63 32 74 31 63 7a 45 6f 4d 43 VydGlmaXRzZWVyaW1pc2tlc2t1czEoMC
1b2440 59 47 41 31 55 45 41 77 77 66 52 55 55 67 51 32 56 79 0a 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 YGA1UEAwwfRUUgQ2Vy.dGlmaWNhdGlvb
1b2460 69 42 44 5a 57 35 30 63 6d 55 67 55 6d 39 76 64 43 42 44 51 54 45 59 4d 42 59 47 43 53 71 47 53 iBDZW50cmUgUm9vdCBDQTEYMBYGCSqGS
1b2480 49 62 33 44 51 45 4a 41 52 59 4a 63 47 74 70 51 48 4e 72 4c 6d 56 6c 4d 43 49 59 44 7a 49 77 0a Ib3DQEJARYJcGtpQHNrLmVlMCIYDzIw.
1b24a0 4d 54 41 78 4d 44 4d 77 4d 54 41 78 4d 44 4d 77 57 68 67 50 4d 6a 41 7a 4d 44 45 79 4d 54 63 79 MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcy
1b24c0 4d 7a 55 35 4e 54 6c 61 4d 48 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 46 4d 53 49 77 MzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIw
1b24e0 49 41 59 44 56 51 51 4b 44 42 6c 42 0a 55 79 42 54 5a 58 4a 30 61 57 5a 70 64 48 4e 6c 5a 58 4a IAYDVQQKDBlB.UyBTZXJ0aWZpdHNlZXJ
1b2500 70 62 57 6c 7a 61 32 56 7a 61 33 56 7a 4d 53 67 77 4a 67 59 44 56 51 51 44 44 42 39 46 52 53 42 pbWlza2Vza3VzMSgwJgYDVQQDDB9FRSB
1b2520 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 4e 6c 62 6e 52 79 0a 5a 53 42 53 62 32 DZXJ0aWZpY2F0aW9uIENlbnRy.ZSBSb2
1b2540 39 30 49 45 4e 42 4d 52 67 77 46 67 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 6b 42 46 67 6c 77 61 32 90IENBMRgwFgYJKoZIhvcNAQkBFglwa2
1b2560 6c 41 63 32 73 75 5a 57 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQ
1b2580 55 41 41 34 49 42 0a 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 49 49 4d 44 73 34 4d 56 4c 71 UAA4IB.DwAwggEKAoIBAQDIIMDs4MVLq
1b25a0 77 64 34 6c 66 4e 45 37 76 73 4c 44 50 39 30 6a 6d 47 37 73 57 4c 71 49 39 69 72 6f 57 55 79 65 wd4lfNE7vsLDP90jmG7sWLqI9iroWUye
1b25c0 75 75 4f 46 30 2b 57 32 41 70 37 6b 61 4a 6a 62 4d 65 4d 0a 54 43 35 35 76 36 6b 46 2f 47 6c 63 uuOF0+W2Ap7kaJjbMeM.TC55v6kF/Glc
1b25e0 6c 59 31 69 2b 62 6c 77 37 63 4e 52 66 64 43 54 35 6d 7a 72 4d 45 76 68 76 48 32 2f 55 70 76 4f lY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO
1b2600 62 6e 74 6c 38 6a 69 78 77 4b 49 79 37 32 4b 79 61 4f 42 68 55 38 45 32 6c 66 2f 73 6c 4c 6f 32 bntl8jixwKIy72KyaOBhU8E2lf/slLo2
1b2620 0a 72 70 77 63 70 7a 49 50 35 58 79 30 78 6d 39 30 2f 58 73 59 36 4b 78 58 37 51 59 67 53 7a 49 .rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzI
1b2640 77 57 46 76 39 7a 61 6a 6d 6f 66 78 77 76 49 36 53 63 39 75 58 70 33 77 68 72 6a 33 42 39 55 69 wWFv9zajmofxwvI6Sc9uXp3whrj3B9Ui
1b2660 48 62 43 65 39 6e 79 56 30 67 56 57 77 0a 39 33 58 32 50 61 52 6b 61 39 5a 50 35 38 35 41 72 51 HbCe9nyV0gVWw.93X2PaRka9ZP585ArQ
1b2680 2f 64 4d 74 4f 38 69 68 4a 54 6d 4d 6d 4a 2b 78 41 64 54 58 37 4e 66 68 39 57 44 53 46 77 68 66 /dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhf
1b26a0 59 67 67 78 2f 32 75 68 38 45 6a 2b 70 33 69 44 58 45 2f 2b 70 4f 6f 59 74 4e 0a 50 32 4d 62 52 Yggx/2uh8Ej+p3iDXE/+pOoYtN.P2MbR
1b26c0 4d 4e 45 31 43 56 32 79 72 65 4e 31 78 35 4b 5a 6d 54 4e 58 4d 57 63 67 2b 48 43 43 49 69 61 37 MNE1CV2yreN1x5KZmTNXMWcg+HCCIia7
1b26e0 45 36 6a 38 54 34 63 4c 4e 6c 73 48 61 46 4c 41 67 4d 42 41 41 47 6a 67 59 6f 77 67 59 63 77 44 E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwD
1b2700 77 59 44 56 52 30 54 0a 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 wYDVR0T.AQH/BAUwAwEB/zAOBgNVHQ8B
1b2720 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 4c 79 57 6a 37 71 Af8EBAMCAQYwHQYDVR0OBBYEFBLyWj7q
1b2740 56 68 79 2f 7a 51 61 73 38 66 45 6c 79 61 6c 4c 31 42 53 5a 0a 4d 45 55 47 41 31 55 64 4a 51 51 Vhy/zQas8fElyalL1BSZ.MEUGA1UdJQQ
1b2760 2b 4d 44 77 47 43 43 73 47 41 51 55 46 42 77 4d 43 42 67 67 72 42 67 45 46 42 51 63 44 41 51 59 +MDwGCCsGAQUFBwMCBggrBgEFBQcDAQY
1b2780 49 4b 77 59 42 42 51 55 48 41 77 4d 47 43 43 73 47 41 51 55 46 42 77 4d 45 42 67 67 72 42 67 45 IKwYBBQUHAwMGCCsGAQUFBwMEBggrBgE
1b27a0 46 0a 42 51 63 44 43 41 59 49 4b 77 59 42 42 51 55 48 41 77 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 F.BQcDCAYIKwYBBQUHAwkwDQYJKoZIhv
1b27c0 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 48 76 32 35 4d 41 4e 71 68 6c 48 74 30 31 58 6f 2f cNAQEFBQADggEBAHv25MANqhlHt01Xo/
1b27e0 36 74 75 37 46 71 31 51 2b 65 32 2b 52 6a 0a 78 59 36 68 55 46 61 54 6c 72 67 34 77 43 51 69 5a 6tu7Fq1Q+e2+Rj.xY6hUFaTlrg4wCQiZ
1b2800 72 78 54 46 47 47 56 76 39 44 48 4b 70 59 35 50 33 30 6f 73 78 42 41 49 57 72 45 72 37 42 53 64 rxTFGGVv9DHKpY5P30osxBAIWrEr7BSd
1b2820 78 6a 68 6c 74 68 57 58 65 50 64 4e 6c 34 64 70 31 42 55 6f 4d 55 71 35 4b 71 4d 0a 6c 49 70 50 xjhlthWXePdNl4dp1BUoMUq5KqM.lIpP
1b2840 6e 54 58 2f 64 71 51 47 45 35 47 69 6f 6e 30 41 52 44 39 56 30 34 49 38 47 74 56 62 76 46 5a 4d nTX/dqQGE5Gion0ARD9V04I8GtVbvFZM
1b2860 49 69 35 47 51 34 6f 6b 51 43 33 7a 45 72 67 37 63 42 71 6b 6c 72 6b 61 72 34 64 42 47 6d 6f 59 Ii5GQ4okQC3zErg7cBqklrkar4dBGmoY
1b2880 44 51 5a 50 78 7a 35 75 0a 75 53 6c 4e 44 55 6d 4a 45 59 63 79 57 2b 5a 4c 42 4d 6a 6b 58 4f 5a DQZPxz5u.uSlNDUmJEYcyW+ZLBMjkXOZ
1b28a0 30 63 35 52 64 46 70 67 54 6c 66 37 37 32 37 46 45 35 54 70 77 72 44 64 72 35 72 4d 7a 63 69 6a 0c5RdFpgTlf7727FE5TpwrDdr5rMzcij
1b28c0 4a 73 31 65 67 39 67 49 57 69 41 59 4c 74 71 5a 4c 49 43 6a 55 0a 33 6a 32 4c 72 54 63 46 55 33 Js1eg9gIWiAYLtqZLICjU.3j2LrTcFU3
1b28e0 54 2b 62 73 79 38 51 78 64 78 58 76 6e 46 7a 42 71 70 59 65 37 33 64 67 7a 7a 63 76 52 79 72 63 T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc
1b2900 39 79 41 6a 59 48 52 38 2f 76 47 56 43 4a 59 4d 7a 70 4a 4a 55 50 77 73 73 64 38 6d 39 32 6b 4d 9yAjYHR8/vGVCJYMzpJJUPwssd8m92kM
1b2920 66 4d 0a 64 63 47 57 78 5a 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 fM.dcGWxZ0=.-----END.CERTIFICATE
1b2940 2d 2d 2d 2d 2d 0a 0a 44 2d 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 73 20 33 20 43 41 20 32 -----..D-TRUST.Root.Class.3.CA.2
1b2960 20 32 30 30 39 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .2009.==========================
1b2980 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1b29a0 0a 4d 49 49 45 4d 7a 43 43 41 78 75 67 41 77 49 42 41 67 49 44 43 59 50 7a 4d 41 30 47 43 53 71 .MIIEMzCCAxugAwIBAgIDCYPzMA0GCSq
1b29c0 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 45 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 GSIb3DQEBCwUAME0xCzAJBgNVBAYTAkR
1b29e0 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b FMRUwEwYDVQQK.DAxELVRydXN0IEdtYk
1b2a00 67 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 gxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdC
1b2a20 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 4d 6a 41 77 4f 54 41 65 0a 46 77 30 77 4f BDbGFzcyAzIENBIDIgMjAwOTAe.Fw0wO
1b2a40 54 45 78 4d 44 55 77 4f 44 4d 31 4e 54 68 61 46 77 30 79 4f 54 45 78 4d 44 55 77 4f 44 4d 31 4e TExMDUwODM1NThaFw0yOTExMDUwODM1N
1b2a60 54 68 61 4d 45 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 ThaME0xCzAJBgNVBAYTAkRFMRUwEwYDV
1b2a80 51 51 4b 44 41 78 45 0a 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4a 7a 41 6c 42 67 4e 56 QQKDAxE.LVRydXN0IEdtYkgxJzAlBgNV
1b2aa0 42 41 4d 4d 48 6b 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a BAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAz
1b2ac0 49 45 4e 42 49 44 49 67 4d 6a 41 77 4f 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 IENBIDIgMjAwOTCCASIw.DQYJKoZIhvc
1b2ae0 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 4f 79 53 73 39 NAQEBBQADggEPADCCAQoCggEBANOySs9
1b2b00 36 52 2b 39 31 6d 79 50 36 4f 69 2f 57 55 45 57 4a 4e 54 72 47 61 39 76 2b 32 77 42 6f 71 4f 41 6R+91myP6Oi/WUEWJNTrGa9v+2wBoqOA
1b2b20 44 0a 45 52 30 33 55 41 69 66 54 55 70 6f 6c 44 57 7a 55 39 47 55 59 36 63 67 56 71 2f 65 55 58 D.ER03UAifTUpolDWzU9GUY6cgVq/eUX
1b2b40 6a 73 4b 6a 33 7a 53 45 68 51 50 67 72 66 52 6c 57 4c 4a 32 33 44 45 45 30 4e 6b 56 4a 44 32 49 jsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2I
1b2b60 66 67 58 55 34 32 74 53 48 4b 58 7a 6c 41 0a 42 46 39 62 66 73 79 6a 78 69 75 70 51 42 37 5a 4e fgXU42tSHKXzlA.BF9bfsyjxiupQB7ZN
1b2b80 6f 54 57 53 50 4f 53 48 6a 52 47 49 43 54 42 70 46 47 4f 53 68 72 76 55 44 39 70 58 52 6c 2f 52 oTWSPOSHjRGICTBpFGOShrvUD9pXRl/R
1b2ba0 63 50 48 41 59 39 52 79 53 50 6f 63 71 36 30 76 46 59 4a 66 78 4c 4c 48 4c 47 76 0a 4b 5a 41 4b cPHAY9RySPocq60vFYJfxLLHLGv.KZAK
1b2bc0 79 56 58 4d 44 39 4f 30 47 75 31 48 4e 56 70 4b 37 5a 78 7a 42 43 48 51 71 72 30 4d 45 37 55 41 yVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UA
1b2be0 79 69 5a 73 78 47 73 4d 6c 46 71 56 6c 4e 70 51 6d 76 48 2f 70 53 74 6d 4d 61 54 4a 4f 4b 44 66 yiZsxGsMlFqVlNpQmvH/pStmMaTJOKDf
1b2c00 48 52 2b 34 43 53 37 7a 0a 70 2b 68 6e 55 71 75 56 48 2b 42 47 50 74 69 6b 77 38 70 61 78 54 47 HR+4CS7z.p+hnUquVH+BGPtikw8paxTG
1b2c20 41 36 45 69 61 6e 35 52 70 2f 68 6e 64 32 48 4e 38 67 63 71 57 33 6f 37 74 73 7a 49 46 5a 59 51 A6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ
1b2c40 30 35 75 62 39 56 78 43 31 58 33 61 2f 4c 37 41 51 44 63 55 43 0a 41 77 45 41 41 61 4f 43 41 52 05ub9VxC1X3a/L7AQDcUC.AwEAAaOCAR
1b2c60 6f 77 67 67 45 57 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 owggEWMA8GA1UdEwEB/wQFMAMBAf8wHQ
1b2c80 59 44 56 52 30 4f 42 42 59 45 46 50 33 61 46 4d 53 66 4d 4e 34 68 76 52 35 43 4f 66 79 72 59 79 YDVR0OBBYEFP3aFMSfMN4hvR5COfyrYy
1b2ca0 4e 4a 0a 34 50 47 45 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 43 42 30 NJ.4PGEMA4GA1UdDwEB/wQEAwIBBjCB0
1b2cc0 77 59 44 56 52 30 66 42 49 48 4c 4d 49 48 49 4d 49 47 41 6f 48 36 67 66 49 5a 36 62 47 52 68 63 wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhc
1b2ce0 44 6f 76 4c 32 52 70 63 6d 56 6a 64 47 39 79 0a 65 53 35 6b 4c 58 52 79 64 58 4e 30 4c 6d 35 6c DovL2RpcmVjdG9y.eS5kLXRydXN0Lm5l
1b2d00 64 43 39 44 54 6a 31 45 4c 56 52 53 56 56 4e 55 4a 54 49 77 55 6d 39 76 64 43 55 79 4d 45 4e 73 dC9DTj1ELVRSVVNUJTIwUm9vdCUyMENs
1b2d20 59 58 4e 7a 4a 54 49 77 4d 79 55 79 4d 45 4e 42 4a 54 49 77 4d 69 55 79 4d 44 49 77 0a 4d 44 6b YXNzJTIwMyUyMENBJTIwMiUyMDIw.MDk
1b2d40 73 54 7a 31 45 4c 56 52 79 64 58 4e 30 4a 54 49 77 52 32 31 69 53 43 78 44 50 55 52 46 50 32 4e sTz1ELVRydXN0JTIwR21iSCxDPURFP2N
1b2d60 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 63 6d 56 32 62 32 4e 68 64 47 6c 76 62 6d 78 70 63 33 51 lcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q
1b2d80 77 51 36 42 42 6f 44 2b 47 0a 50 57 68 30 64 48 41 36 4c 79 39 33 64 33 63 75 5a 43 31 30 63 6e wQ6BBoD+G.PWh0dHA6Ly93d3cuZC10cn
1b2da0 56 7a 64 43 35 75 5a 58 51 76 59 33 4a 73 4c 32 51 74 64 48 4a 31 63 33 52 66 63 6d 39 76 64 46 VzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF
1b2dc0 39 6a 62 47 46 7a 63 31 38 7a 58 32 4e 68 58 7a 4a 66 4d 6a 41 77 0a 4f 53 35 6a 63 6d 77 77 44 9jbGFzc18zX2NhXzJfMjAw.OS5jcmwwD
1b2de0 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 48 2b 58 32 7a 44 49 33 QYJKoZIhvcNAQELBQADggEBAH+X2zDI3
1b2e00 36 53 63 66 53 46 36 67 48 44 4f 46 42 4a 70 69 42 53 56 59 45 51 42 72 4c 4c 70 4d 45 2b 62 55 6ScfSF6gHDOFBJpiBSVYEQBrLLpME+bU
1b2e20 4d 4a 6d 0a 32 48 36 4e 4d 4c 56 77 4d 65 6e 69 61 63 66 7a 63 4e 73 67 46 59 62 51 44 66 43 2b MJm.2H6NMLVwMeniacfzcNsgFYbQDfC+
1b2e40 72 41 46 31 68 4d 35 2b 6e 30 32 2f 74 32 41 37 6e 50 50 4b 48 65 4a 65 61 4e 69 6a 6e 5a 66 6c rAF1hM5+n02/t2A7nPPKHeJeaNijnZfl
1b2e60 51 47 44 53 4e 69 48 2b 30 4c 53 34 46 39 70 30 0a 6f 33 2f 55 33 37 43 59 41 71 78 76 61 32 73 QGDSNiH+0LS4F9p0.o3/U37CYAqxva2s
1b2e80 73 4a 53 52 79 6f 57 58 75 4a 56 72 6c 35 6a 4c 6e 38 74 2b 72 53 66 72 7a 6b 47 6b 6a 32 77 54 sJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wT
1b2ea0 5a 35 31 78 59 2f 47 58 55 6c 37 37 4d 2f 43 34 4b 7a 43 55 71 4e 51 54 34 59 4a 45 56 0a 64 54 Z51xY/GXUl77M/C4KzCUqNQT4YJEV.dT
1b2ec0 31 42 2f 79 4d 66 47 63 68 73 36 34 4a 54 42 4b 62 6b 54 43 4a 4e 6a 59 79 36 7a 6c 74 7a 37 47 1B/yMfGchs64JTBKbkTCJNjYy6zltz7G
1b2ee0 52 55 55 47 33 52 6e 46 58 37 61 63 4d 32 77 34 79 38 50 49 57 6d 61 77 6f 6d 44 65 43 54 6d 47 RUUG3RnFX7acM2w4y8PIWmawomDeCTmG
1b2f00 43 75 66 73 59 6b 6c 34 70 68 0a 58 35 47 4f 5a 70 49 4a 68 7a 62 4e 69 35 73 74 50 76 5a 52 31 CufsYkl4ph.X5GOZpIJhzbNi5stPvZR1
1b2f20 46 44 55 57 53 69 39 67 2f 4c 4d 4b 48 74 54 68 6d 33 59 4a 6f 68 77 31 2b 71 52 7a 54 36 35 79 FDUWSi9g/LMKHtThm3YJohw1+qRzT65y
1b2f40 73 43 51 62 6c 72 47 58 6e 52 6c 31 31 7a 2b 6f 2b 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 sCQblrGXnRl11z+o+I=.-----END.CER
1b2f60 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 2d 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 TIFICATE-----..D-TRUST.Root.Clas
1b2f80 73 20 33 20 43 41 20 32 20 45 56 20 32 30 30 39 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s.3.CA.2.EV.2009.===============
1b2fa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1b2fc0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 51 7a 43 43 41 79 75 67 41 77 49 42 41 RTIFICATE-----.MIIEQzCCAyugAwIBA
1b2fe0 67 49 44 43 59 50 30 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 46 41 78 43 gIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxC
1b3000 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 zAJBgNVBAYTAkRFMRUwEwYDVQQK.DAxE
1b3020 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 LVRydXN0IEdtYkgxKjAoBgNVBAMMIUQt
1b3040 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 VFJVU1QgUm9vdCBDbGFzcyAzIENBIDIg
1b3060 52 56 59 67 4d 6a 41 77 0a 4f 54 41 65 46 77 30 77 4f 54 45 78 4d 44 55 77 4f 44 55 77 4e 44 5a RVYgMjAw.OTAeFw0wOTExMDUwODUwNDZ
1b3080 61 46 77 30 79 4f 54 45 78 4d 44 55 77 4f 44 55 77 4e 44 5a 61 4d 46 41 78 43 7a 41 4a 42 67 4e aFw0yOTExMDUwODUwNDZaMFAxCzAJBgN
1b30a0 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 VBAYTAkRFMRUwEwYDVQQK.DAxELVRydX
1b30c0 4e 30 49 45 64 74 59 6b 67 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 56 46 4a 56 55 31 N0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1
1b30e0 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 52 56 59 67 4d 6a QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMj
1b3100 41 77 0a 4f 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 Aw.OTCCASIwDQYJKoZIhvcNAQEBBQADg
1b3120 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4a 6e 78 68 44 52 77 75 69 2b 33 4d 4b 43 4f 76 gEPADCCAQoCggEBAJnxhDRwui+3MKCOv
1b3140 58 77 45 7a 37 35 69 76 4a 6e 39 67 70 66 53 0a 65 67 70 6e 6c 6a 67 4a 39 68 42 4f 6c 53 4a 7a XwEz75ivJn9gpfS.egpnljgJ9hBOlSJz
1b3160 6d 59 33 61 46 53 33 6e 42 66 77 5a 63 79 4b 33 6a 70 67 41 76 44 77 39 72 4b 46 73 2b 39 5a 35 mY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5
1b3180 4a 55 75 74 38 4d 78 6b 32 6f 67 2b 4b 62 67 50 43 64 4d 30 33 54 50 31 59 74 48 68 0a 7a 52 6e JUut8Mxk2og+KbgPCdM03TP1YtHh.zRn
1b31a0 70 37 68 68 50 54 46 69 75 34 68 37 57 44 46 73 56 57 74 67 36 75 4d 51 59 5a 42 37 6a 4d 37 4b p7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K
1b31c0 31 69 58 64 4f 44 4c 2f 5a 6c 47 73 54 6c 32 38 53 6f 2f 36 5a 71 51 54 4d 46 65 78 67 61 44 62 1iXdODL/ZlGsTl28So/6ZqQTMFexgaDb
1b31e0 74 43 48 75 33 39 62 2b 54 0a 37 57 59 78 67 34 7a 47 63 54 53 48 54 68 66 71 72 34 75 52 6a 52 tCHu39b+T.7WYxg4zGcTSHThfqr4uRjR
1b3200 78 57 51 61 34 69 4e 31 34 33 38 68 33 5a 30 53 30 4e 4c 32 6c 52 70 37 35 6d 70 6f 6f 36 4b 72 xWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr
1b3220 33 48 47 72 48 68 46 50 43 2b 4f 68 32 35 7a 31 75 78 61 76 36 30 0a 73 55 59 67 6f 76 73 65 4f 3HGrHhFPC+Oh25z1uxav60.sUYgovseO
1b3240 33 44 76 6b 35 68 39 6a 48 4f 57 38 73 58 76 68 58 43 74 4b 53 62 38 48 67 51 2b 48 4b 44 59 44 3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD
1b3260 38 74 53 67 32 4a 38 37 6f 74 54 6c 5a 43 70 56 36 4c 71 59 51 58 59 2b 55 33 45 4a 2f 70 75 72 8tSg2J87otTlZCpV6LqYQXY+U3EJ/pur
1b3280 65 33 35 0a 31 31 48 33 61 36 55 43 41 77 45 41 41 61 4f 43 41 53 51 77 67 67 45 67 4d 41 38 47 e35.11H3a6UCAwEAAaOCASQwggEgMA8G
1b32a0 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
1b32c0 46 4e 4f 55 69 6b 78 69 45 79 6f 5a 4c 73 79 76 0a 63 6f 70 39 4e 74 65 61 48 4e 78 6e 4d 41 34 FNOUikxiEyoZLsyv.cop9NteaHNxnMA4
1b32e0 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 43 42 33 51 59 44 56 52 30 66 42 49 48 GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIH
1b3300 56 4d 49 48 53 4d 49 47 48 6f 49 47 45 6f 49 47 42 68 6e 39 73 5a 47 46 77 4f 69 38 76 0a 5a 47 VMIHSMIGHoIGEoIGBhn9sZGFwOi8v.ZG
1b3320 6c 79 5a 57 4e 30 62 33 4a 35 4c 6d 51 74 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 30 4e 4f 50 55 lyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPU
1b3340 51 74 56 46 4a 56 55 31 51 6c 4d 6a 42 53 62 32 39 30 4a 54 49 77 51 32 78 68 63 33 4d 6c 4d 6a QtVFJVU1QlMjBSb290JTIwQ2xhc3MlMj
1b3360 41 7a 4a 54 49 77 51 30 45 6c 0a 4d 6a 41 79 4a 54 49 77 52 56 59 6c 4d 6a 41 79 4d 44 41 35 4c AzJTIwQ0El.MjAyJTIwRVYlMjAyMDA5L
1b3380 45 38 39 52 43 31 55 63 6e 56 7a 64 43 55 79 4d 45 64 74 59 6b 67 73 51 7a 31 45 52 54 39 6a 5a E89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZ
1b33a0 58 4a 30 61 57 5a 70 59 32 46 30 5a 58 4a 6c 64 6d 39 6a 59 58 52 70 0a 62 32 35 73 61 58 4e 30 XJ0aWZpY2F0ZXJldm9jYXRp.b25saXN0
1b33c0 4d 45 61 67 52 4b 42 43 68 6b 42 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 51 74 64 48 4a 31 MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1
1b33e0 63 33 51 75 62 6d 56 30 4c 32 4e 79 62 43 39 6b 4c 58 52 79 64 58 4e 30 58 33 4a 76 62 33 52 66 c3QubmV0L2NybC9kLXRydXN0X3Jvb3Rf
1b3400 59 32 78 68 0a 63 33 4e 66 4d 31 39 6a 59 56 38 79 58 32 56 32 58 7a 49 77 4d 44 6b 75 59 33 4a Y2xh.c3NfM19jYV8yX2V2XzIwMDkuY3J
1b3420 73 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 30 37 58 74 sMA0GCSqGSIb3DQEBCwUAA4IBAQA07Xt
1b3440 61 50 4b 53 55 69 4f 38 61 45 58 55 48 4c 37 50 2b 0a 50 50 6f 65 55 53 62 72 68 2f 59 70 33 75 aPKSUiO8aEXUHL7P+.PPoeUSbrh/Yp3u
1b3460 44 78 31 4d 59 6b 43 65 6e 42 7a 31 55 62 74 44 44 5a 7a 68 72 2b 42 6c 47 6d 46 61 51 74 37 37 Dx1MYkCenBz1UbtDDZzhr+BlGmFaQt77
1b3480 4a 4c 76 79 41 6f 4a 55 6e 52 70 6a 5a 33 4e 4f 68 6b 33 31 4b 78 45 63 64 7a 65 73 30 35 0a 6e JLvyAoJUnRpjZ3NOhk31KxEcdzes05.n
1b34a0 73 4b 74 6a 48 45 68 38 6c 70 72 72 39 38 38 54 6c 57 76 73 6f 52 6c 46 49 6d 35 64 38 73 71 4d sKtjHEh8lprr988TlWvsoRlFIm5d8sqM
1b34c0 62 37 50 6f 32 33 50 62 30 69 55 4d 6b 5a 76 35 33 47 4d 6f 4b 61 45 47 54 63 48 38 67 4e 46 43 b7Po23Pb0iUMkZv53GMoKaEGTcH8gNFC
1b34e0 53 75 47 64 58 7a 66 58 32 6c 58 0a 41 4e 74 75 32 4b 5a 79 49 6b 74 51 31 48 57 59 56 74 2b 33 SuGdXzfX2lX.ANtu2KZyIktQ1HWYVt+3
1b3500 47 50 39 44 51 31 43 75 65 6b 52 37 38 48 6c 52 31 30 4d 39 70 39 4f 42 30 2f 44 4a 54 37 6e 61 GP9DQ1CuekR78HlR10M9p9OB0/DJT7na
1b3520 78 70 65 47 30 49 4c 44 35 45 4a 74 2f 72 44 69 5a 45 34 4f 4a 75 64 41 0a 4e 43 61 31 43 49 6e xpeG0ILD5EJt/rDiZE4OJudA.NCa1CIn
1b3540 58 43 47 4e 6a 4f 43 64 31 48 6a 50 71 62 71 6a 64 6e 35 6c 50 64 45 32 42 69 59 42 4c 33 5a 71 XCGNjOCd1HjPqbqjdn5lPdE2BiYBL3Zq
1b3560 58 4b 56 77 76 76 6f 46 42 75 59 7a 2f 36 6e 31 67 42 70 37 4e 31 7a 33 54 4c 71 4d 56 76 4b 6a XKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKj
1b3580 6d 4a 75 56 76 0a 77 39 79 34 41 79 48 71 6e 78 62 78 4c 46 53 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 mJuVv.w9y4AyHqnxbxLFS1.-----END.
1b35a0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 41 20 44 69 73 69 67 20 52 6f 6f 74 20 CERTIFICATE-----..CA.Disig.Root.
1b35c0 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 R2.================.-----BEGIN.C
1b35e0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 54 43 43 41 31 47 67 41 77 49 42 ERTIFICATE-----.MIIFaTCCA1GgAwIB
1b3600 41 67 49 4a 41 4a 4b 34 69 4e 75 77 69 73 46 6a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 AgIJAJK4iNuwisFjMA0GCSqGSIb3DQEB
1b3620 43 77 55 41 4d 46 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4e 4c 4d 52 4d 77 0a 45 51 59 CwUAMFIxCzAJBgNVBAYTAlNLMRMw.EQY
1b3640 44 56 51 51 48 45 77 70 43 63 6d 46 30 61 58 4e 73 59 58 5a 68 4d 52 4d 77 45 51 59 44 56 51 51 DVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQ
1b3660 4b 45 77 70 45 61 58 4e 70 5a 79 42 68 4c 6e 4d 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 KEwpEaXNpZyBhLnMuMRkwFwYDVQQDExB
1b3680 44 51 53 42 45 61 58 4e 70 0a 5a 79 42 53 62 32 39 30 49 46 49 79 4d 42 34 58 44 54 45 79 4d 44 DQSBEaXNp.ZyBSb290IFIyMB4XDTEyMD
1b36a0 63 78 4f 54 41 35 4d 54 55 7a 4d 46 6f 58 44 54 51 79 4d 44 63 78 4f 54 41 35 4d 54 55 7a 4d 46 cxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMF
1b36c0 6f 77 55 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 55 30 73 78 0a 45 7a 41 52 42 67 4e 56 42 owUjELMAkGA1UEBhMCU0sx.EzARBgNVB
1b36e0 41 63 54 43 6b 4a 79 59 58 52 70 63 32 78 68 64 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 AcTCkJyYXRpc2xhdmExEzARBgNVBAoTC
1b3700 6b 52 70 63 32 6c 6e 49 47 45 75 63 79 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 45 4e 42 49 kRpc2lnIGEucy4xGTAXBgNVBAMTEENBI
1b3720 45 52 70 0a 63 32 6c 6e 49 46 4a 76 62 33 51 67 55 6a 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 ERp.c2lnIFJvb3QgUjIwggIiMA0GCSqG
1b3740 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 69 SIb3DQEBAQUAA4ICDwAwggIKAoICAQCi
1b3760 6f 38 51 41 43 64 61 46 58 53 31 74 46 50 62 43 0a 77 33 4f 65 4e 63 4a 78 56 58 36 42 2b 36 74 o8QACdaFXS1tFPbC.w3OeNcJxVX6B+6t
1b3780 47 55 4f 44 42 66 45 6c 34 35 71 74 35 57 44 7a 61 2f 33 77 63 6e 39 69 58 41 6e 67 2b 61 30 45 GUODBfEl45qt5WDza/3wcn9iXAng+a0E
1b37a0 45 36 55 47 39 76 67 4d 73 52 66 59 76 5a 4e 53 72 58 61 4e 48 50 57 53 62 36 57 69 61 0a 78 73 E6UG9vgMsRfYvZNSrXaNHPWSb6Wia.xs
1b37c0 77 62 50 37 71 2b 73 6f 73 30 41 69 36 59 56 52 6e 38 6a 47 2b 71 58 39 70 4d 7a 6b 30 44 49 61 wbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIa
1b37e0 50 59 30 6a 53 54 56 70 62 4c 54 41 77 41 46 6a 78 66 47 73 33 49 78 32 79 6d 72 64 4d 78 70 37 PY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7
1b3800 7a 6f 35 65 46 6d 31 74 4c 37 0a 41 37 52 42 5a 63 6b 51 72 67 34 46 59 38 61 41 61 6d 6b 77 2f zo5eFm1tL7.A7RBZckQrg4FY8aAamkw/
1b3820 64 4c 75 6b 4f 38 4e 4a 39 2b 66 6c 58 50 30 34 53 58 61 62 42 62 65 51 54 67 30 36 6f 76 38 30 dLukO8NJ9+flXP04SXabBbeQTg06ov80
1b3840 65 67 45 46 47 45 74 51 58 36 73 78 33 64 4f 79 31 46 55 2b 31 36 53 0a 47 42 73 45 57 6d 6a 47 egEFGEtQX6sx3dOy1FU+16S.GBsEWmjG
1b3860 79 63 54 36 74 78 4f 67 6d 4c 63 52 4b 37 66 57 56 38 78 38 6e 68 66 52 79 79 58 2b 68 6b 34 6b ycT6txOgmLcRK7fWV8x8nhfRyyX+hk4k
1b3880 4c 6c 59 4d 65 45 32 65 41 52 4b 6d 4b 36 63 42 5a 57 35 38 59 68 32 45 68 4e 2f 71 77 47 75 31 LlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1
1b38a0 70 53 71 56 0a 67 38 4e 54 45 51 78 7a 48 51 75 79 52 70 44 52 51 6a 72 4f 51 47 36 56 72 66 2f pSqV.g8NTEQxzHQuyRpDRQjrOQG6Vrf/
1b38c0 47 6c 4b 31 75 6c 34 53 4f 66 57 2b 65 69 6f 41 4e 53 57 31 7a 34 6e 75 53 48 73 50 7a 77 66 50 GlK1ul4SOfW+eioANSW1z4nuSHsPzwfP
1b38e0 72 4c 67 56 76 32 52 76 50 4e 33 59 45 79 4c 52 61 0a 35 42 65 6e 79 39 31 32 48 39 41 5a 64 75 rLgVv2RvPN3YEyLRa.5Beny912H9AZdu
1b3900 67 73 42 62 50 57 6e 44 54 59 6c 74 78 68 68 35 45 46 35 45 51 49 4d 38 48 61 75 51 68 6c 31 4b gsBbPWnDTYltxhh5EF5EQIM8HauQhl1K
1b3920 36 79 4e 67 33 72 75 6a 69 36 44 4f 57 62 6e 75 75 4e 5a 74 32 5a 7a 39 61 4a 51 66 59 45 0a 6b 6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE.k
1b3940 6f 6f 70 4b 57 31 72 4f 68 7a 6e 64 58 30 43 63 51 37 7a 77 4f 65 39 79 78 6e 64 6e 57 43 79 77 oopKW1rOhzndX0CcQ7zwOe9yxndnWCyw
1b3960 6d 5a 67 74 72 45 45 37 73 6e 6d 68 72 6d 61 5a 6b 43 6f 35 78 48 74 67 55 55 44 69 2f 5a 6e 57 mZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnW
1b3980 65 6a 42 42 68 47 39 33 63 2b 41 0a 41 6b 39 6c 51 48 68 63 52 31 44 49 6d 2b 59 66 67 58 76 6b ejBBhG93c+A.Ak9lQHhcR1DIm+YfgXvk
1b39a0 52 4b 68 62 68 5a 72 69 33 6c 72 56 78 2f 6b 36 52 47 5a 4c 35 44 4a 55 66 4f 52 73 6e 4c 4d 4f RKhbhZri3lrVx/k6RGZL5DJUfORsnLMO
1b39c0 50 52 65 69 73 6a 51 53 31 6e 36 79 71 45 6d 37 30 58 6f 6f 51 4c 36 69 0a 46 68 2f 66 35 44 63 PReisjQS1n6yqEm70XooQL6i.Fh/f5Dc
1b39e0 66 45 58 50 37 6b 41 70 6c 51 36 49 4e 66 50 67 47 41 56 55 7a 66 62 41 4e 75 50 54 31 72 71 56 fEXP7kAplQ6INfPgGAVUzfbANuPT1rqV
1b3a00 43 56 33 77 32 45 59 78 37 58 73 51 44 6e 59 78 35 6e 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 CV3w2EYx7XsQDnYx5nQIDAQABo0IwQDA
1b3a20 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 PBgNV.HRMBAf8EBTADAQH/MA4GA1UdDw
1b3a40 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 74 5a 6e 34 72 37 EB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7
1b3a60 43 55 39 65 4d 67 31 67 71 74 7a 6b 35 57 70 43 35 75 0a 51 75 30 77 44 51 59 4a 4b 6f 5a 49 68 CU9eMg1gqtzk5WpC5u.Qu0wDQYJKoZIh
1b3a80 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 43 59 47 58 6e 44 6e 5a 54 50 49 67 6d 37 5a 6e vcNAQELBQADggIBACYGXnDnZTPIgm7Zn
1b3aa0 42 63 36 47 33 70 6d 73 67 48 32 65 44 74 70 58 69 2f 71 2f 30 37 35 4b 4d 4f 59 4b 6d 46 4d 0a Bc6G3pmsgH2eDtpXi/q/075KMOYKmFM.
1b3ac0 74 43 51 53 69 6e 31 74 45 52 54 33 6e 4c 58 4b 35 72 79 65 4a 34 35 4d 47 63 69 70 76 58 72 41 tCQSin1tERT3nLXK5ryeJ45MGcipvXrA
1b3ae0 31 7a 59 4f 62 59 56 79 62 71 6a 47 6f 6d 33 32 2b 6e 4e 6a 66 37 78 75 65 51 67 63 6e 59 71 66 1zYObYVybqjGom32+nNjf7xueQgcnYqf
1b3b00 47 6f 70 54 70 74 69 37 32 54 56 56 0a 73 52 48 46 71 51 4f 7a 56 6a 75 35 68 4a 4d 69 58 6e 37 GopTpti72TVV.sRHFqQOzVju5hJMiXn7
1b3b20 42 39 68 4a 53 69 2b 6f 73 5a 37 7a 2b 4e 6b 7a 31 75 4d 2f 52 73 30 6d 53 4f 39 4d 70 44 70 6b B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpk
1b3b40 62 6c 76 64 68 75 44 76 45 4b 37 5a 34 62 4c 51 6a 62 2f 44 39 30 37 4a 65 0a 64 52 2b 5a 6c 61 blvdhuDvEK7Z4bLQjb/D907Je.dR+Zla
1b3b60 69 73 39 74 72 68 78 54 46 37 2b 39 46 47 73 39 4b 38 5a 37 52 69 56 4c 6f 4a 39 32 4f 77 6b 36 is9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6
1b3b80 4b 61 2b 65 6c 53 4c 6f 74 67 45 71 76 38 39 57 42 57 37 78 42 63 69 38 51 61 51 74 79 44 57 32 Ka+elSLotgEqv89WBW7xBci8QaQtyDW2
1b3ba0 51 4f 79 37 57 38 0a 31 6b 2f 42 66 44 78 75 6a 52 4e 74 2b 33 76 72 4d 4e 44 63 54 61 2f 46 31 QOy7W8.1k/BfDxujRNt+3vrMNDcTa/F1
1b3bc0 62 61 6c 54 46 74 78 79 65 67 78 76 75 67 34 42 6b 69 68 47 75 4c 71 30 74 34 53 4f 56 67 61 2f balTFtxyegxvug4BkihGuLq0t4SOVga/
1b3be0 34 41 4f 67 6e 58 6d 74 38 6b 48 62 41 37 76 2f 7a 6a 78 0a 6d 48 48 45 74 33 38 4f 46 64 41 6c 4AOgnXmt8kHbA7v/zjx.mHHEt38OFdAl
1b3c00 61 62 30 69 6e 53 76 74 42 66 5a 47 52 36 7a 74 77 50 44 55 4f 2b 4c 73 37 70 5a 62 6b 42 4e 4f ab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNO
1b3c20 48 6c 59 36 36 37 44 76 6c 72 75 57 49 78 47 36 38 6b 4f 47 64 47 53 56 79 43 68 31 33 78 30 31 HlY667DvlruWIxG68kOGdGSVyCh13x01
1b3c40 0a 75 74 49 33 67 7a 68 54 4f 44 59 37 7a 32 7a 70 2b 57 73 4f 30 50 73 45 36 45 39 33 31 32 55 .utI3gzhTODY7z2zp+WsO0PsE6E9312U
1b3c60 42 65 49 59 4d 65 6a 34 68 59 76 46 2f 59 33 45 4d 79 5a 39 45 32 36 67 6e 6f 6e 57 2b 62 6f 45 BeIYMej4hYvF/Y3EMyZ9E26gnonW+boE
1b3c80 2b 31 38 44 72 47 35 67 50 63 46 77 30 0a 73 6f 72 4d 77 49 55 59 36 32 35 36 73 2f 64 61 6f 51 +18DrG5gPcFw0.sorMwIUY6256s/daoQ
1b3ca0 65 2f 71 55 4b 53 38 32 41 69 6c 2b 51 55 6f 51 65 62 54 6e 62 41 6a 6e 33 39 70 43 58 48 52 2b e/qUKS82Ail+QUoQebTnbAjn39pCXHR+
1b3cc0 33 2f 48 33 4f 73 7a 4d 4f 6c 36 57 38 4b 6a 70 74 6c 77 6c 43 46 74 61 4f 67 0a 55 78 4c 4d 56 3/H3OszMOl6W8KjptlwlCFtaOg.UxLMV
1b3ce0 59 64 68 38 34 47 75 45 45 5a 68 76 55 51 68 75 4d 49 39 64 4d 39 2b 4a 44 58 36 48 41 63 4f 6d Ydh84GuEEZhvUQhuMI9dM9+JDX6HAcOm
1b3d00 7a 30 69 79 75 38 78 4c 34 79 73 45 72 33 76 51 43 6a 38 4b 57 65 66 73 68 4e 50 5a 69 54 45 55 z0iyu8xL4ysEr3vQCj8KWefshNPZiTEU
1b3d20 78 6e 70 48 69 6b 56 0a 37 2b 5a 74 73 48 38 74 5a 2f 33 7a 62 42 74 31 52 71 50 6c 53 68 66 70 xnpHikV.7+ZtsH8tZ/3zbBt1RqPlShfp
1b3d40 70 4e 63 4c 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a pNcL.-----END.CERTIFICATE-----..
1b3d60 41 43 43 56 52 41 49 5a 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ACCVRAIZ1.=========.-----BEGIN.C
1b3d80 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 30 7a 43 43 42 62 75 67 41 77 49 42 ERTIFICATE-----.MIIH0zCCBbugAwIB
1b3da0 41 67 49 49 58 73 4f 33 70 6b 4e 2f 70 4f 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 AgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEF
1b3dc0 42 51 41 77 51 6a 45 53 4d 42 41 47 41 31 55 45 41 77 77 4a 51 55 4e 44 56 6c 4a 42 0a 53 56 6f BQAwQjESMBAGA1UEAwwJQUNDVlJB.SVo
1b3de0 78 4d 52 41 77 44 67 59 44 56 51 51 4c 44 41 64 51 53 30 6c 42 51 30 4e 57 4d 51 30 77 43 77 59 xMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwY
1b3e00 44 56 51 51 4b 44 41 52 42 51 30 4e 57 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 41 DVQQKDARBQ0NWMQswCQYDVQQGEwJFUzA
1b3e20 65 46 77 30 78 4d 54 41 31 0a 4d 44 55 77 4f 54 4d 33 4d 7a 64 61 46 77 30 7a 4d 44 45 79 4d 7a eFw0xMTA1.MDUwOTM3MzdaFw0zMDEyMz
1b3e40 45 77 4f 54 4d 33 4d 7a 64 61 4d 45 49 78 45 6a 41 51 42 67 4e 56 42 41 4d 4d 43 55 46 44 51 31 EwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1
1b3e60 5a 53 51 55 6c 61 4d 54 45 51 4d 41 34 47 41 31 55 45 43 77 77 48 0a 55 45 74 4a 51 55 4e 44 56 ZSQUlaMTEQMA4GA1UECwwH.UEtJQUNDV
1b3e80 6a 45 4e 4d 41 73 47 41 31 55 45 43 67 77 45 51 55 4e 44 56 6a 45 4c 4d 41 6b 47 41 31 55 45 42 jENMAsGA1UECgwEQUNDVjELMAkGA1UEB
1b3ea0 68 4d 43 52 56 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 hMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA
1b3ec0 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 62 71 61 75 2f 59 55 71 58 72 79 2b 58 4IC.DwAwggIKAoICAQCbqau/YUqXry+X
1b3ee0 5a 70 70 30 58 39 44 5a 6c 76 33 50 34 75 52 6d 37 78 38 66 52 7a 50 43 52 4b 50 66 6d 74 34 66 Zpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4f
1b3f00 74 56 54 64 46 58 78 70 4e 52 46 76 75 38 67 4d 0a 6a 6d 6f 59 48 74 69 50 32 52 61 38 45 45 67 tVTdFXxpNRFvu8gM.jmoYHtiP2Ra8EEg
1b3f20 32 58 50 42 6a 73 35 42 61 58 43 51 33 31 36 50 57 79 77 6c 78 75 66 45 42 63 6f 53 77 66 64 74 2XPBjs5BaXCQ316PWywlxufEBcoSwfdt
1b3f40 4e 67 4d 33 38 30 32 2f 4a 2b 4e 71 32 44 6f 4c 53 52 59 57 6f 47 32 69 6f 50 65 6a 30 0a 52 47 NgM3802/J+Nq2DoLSRYWoG2ioPej0.RG
1b3f60 79 39 6f 63 4c 4c 41 37 36 4d 50 68 4d 41 68 4e 39 4b 53 4d 44 6a 49 67 72 6f 36 54 65 6e 47 45 y9ocLLA76MPhMAhN9KSMDjIgro6TenGE
1b3f80 79 78 43 51 30 6a 56 6e 38 45 54 64 6b 58 68 42 69 6c 79 4e 70 41 6c 48 50 72 7a 67 35 58 50 41 yxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPA
1b3fa0 4f 42 4f 70 30 4b 6f 56 64 44 0a 61 61 78 58 62 58 6d 51 65 4f 57 31 74 44 76 59 76 45 79 4e 4b OBOp0KoVdD.aaxXbXmQeOW1tDvYvEyNK
1b3fc0 4b 47 6e 6f 36 65 36 41 6b 34 6c 30 53 71 75 37 61 34 44 49 72 68 72 49 41 38 77 4b 46 53 56 66 KGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf
1b3fe0 2b 44 75 7a 67 70 6d 6e 64 46 41 4c 57 34 69 72 35 30 61 77 51 55 5a 0a 30 6d 2f 41 38 70 2f 34 +DuzgpmndFALW4ir50awQUZ.0m/A8p/4
1b4000 65 37 4d 43 51 76 74 51 71 52 30 74 6b 77 38 6a 71 38 62 42 44 35 4c 2f 30 4b 49 56 39 56 4d 4a e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJ
1b4020 63 52 7a 2f 52 52 4f 45 35 69 5a 65 2b 4f 43 49 48 41 72 38 46 72 61 6f 63 77 61 34 38 47 4f 45 cRz/RROE5iZe+OCIHAr8Fraocwa48GOE
1b4040 41 71 44 47 0a 57 75 7a 6e 64 4e 39 77 72 71 4f 44 4a 65 72 57 78 35 65 48 6b 36 66 47 69 6f 6f AqDG.WuzndN9wrqODJerWx5eHk6fGioo
1b4060 7a 6c 32 41 33 45 44 36 58 50 6d 34 70 46 64 61 68 44 39 47 49 4c 42 4b 66 62 36 71 6b 78 6b 4c zl2A3ED6XPm4pFdahD9GILBKfb6qkxkL
1b4080 72 51 61 4c 6a 6c 55 50 54 41 59 56 74 6a 72 73 37 0a 38 79 4d 32 78 2f 34 37 34 4b 45 6c 42 30 rQaLjlUPTAYVtjrs7.8yM2x/474KElB0
1b40a0 69 72 79 59 6c 30 2f 77 69 50 67 4c 2f 41 6c 6d 58 7a 37 75 78 4c 61 4c 32 64 69 4d 4d 78 73 30 iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0
1b40c0 44 78 36 4d 2f 32 4f 4c 75 63 35 4e 46 2f 31 4f 56 59 6d 33 7a 36 31 50 4d 4f 6d 33 57 52 0a 35 Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR.5
1b40e0 4c 70 53 4c 68 6c 2b 30 66 58 4e 57 68 6e 38 75 67 62 32 2b 31 4b 6f 53 35 6b 45 33 66 6a 35 74 LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5t
1b4100 49 74 51 6f 30 35 69 69 66 43 48 4a 50 71 44 51 73 47 48 2b 74 55 74 4b 53 70 61 63 58 70 6b 61 ItQo05iifCHJPqDQsGH+tUtKSpacXpka
1b4120 74 63 6e 59 47 4d 4e 32 38 35 4a 0a 39 59 30 66 6b 49 6b 79 46 2f 68 7a 51 37 6a 53 57 70 4f 47 tcnYGMN285J.9Y0fkIkyF/hzQ7jSWpOG
1b4140 59 64 62 68 64 51 72 71 65 57 5a 32 69 45 39 78 36 77 51 6c 31 67 70 61 65 70 50 6c 75 55 73 58 YdbhdQrqeWZ2iE9x6wQl1gpaepPluUsX
1b4160 51 41 2b 78 74 72 6e 31 33 6b 2f 63 34 4c 4f 73 4f 78 46 77 59 49 52 4b 0a 51 32 36 5a 49 4d 41 QA+xtrn13k/c4LOsOxFwYIRK.Q26ZIMA
1b4180 70 63 51 72 41 5a 51 49 44 41 51 41 42 6f 34 49 43 79 7a 43 43 41 73 63 77 66 51 59 49 4b 77 59 pcQrAZQIDAQABo4ICyzCCAscwfQYIKwY
1b41a0 42 42 51 55 48 41 51 45 45 63 54 42 76 4d 45 77 47 43 43 73 47 41 51 55 46 42 7a 41 43 68 6b 42 BBQUHAQEEcTBvMEwGCCsGAQUFBzAChkB
1b41c0 6f 64 48 52 77 0a 4f 69 38 76 64 33 64 33 4c 6d 46 6a 59 33 59 75 5a 58 4d 76 5a 6d 6c 73 5a 57 odHRw.Oi8vd3d3LmFjY3YuZXMvZmlsZW
1b41e0 46 6b 62 57 6c 75 4c 30 46 79 59 32 68 70 64 6d 39 7a 4c 32 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 FkbWluL0FyY2hpdm9zL2NlcnRpZmljYW
1b4200 52 76 63 79 39 79 59 57 6c 36 59 57 4e 6a 64 6a 45 75 0a 59 33 4a 30 4d 42 38 47 43 43 73 47 41 Rvcy9yYWl6YWNjdjEu.Y3J0MB8GCCsGA
1b4220 51 55 46 42 7a 41 42 68 68 4e 6f 64 48 52 77 4f 69 38 76 62 32 4e 7a 63 43 35 68 59 32 4e 32 4c QUFBzABhhNodHRwOi8vb2NzcC5hY2N2L
1b4240 6d 56 7a 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 53 68 37 54 6a 33 7a 63 6e 6b 31 58 32 0a mVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2.
1b4260 56 75 71 42 35 54 62 4d 6a 42 34 2f 76 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTAD
1b4280 41 51 48 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 4b 48 74 4f 50 66 4e 79 65 54 AQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT
1b42a0 56 66 5a 57 36 6f 48 6c 4e 73 79 4d 0a 48 6a 2b 39 4d 49 49 42 63 77 59 44 56 52 30 67 42 49 49 VfZW6oHlNsyM.Hj+9MIIBcwYDVR0gBII
1b42c0 42 61 6a 43 43 41 57 59 77 67 67 46 69 42 67 52 56 48 53 41 41 4d 49 49 42 57 44 43 43 41 53 49 BajCCAWYwggFiBgRVHSAAMIIBWDCCASI
1b42e0 47 43 43 73 47 41 51 55 46 42 77 49 43 4d 49 49 42 46 42 36 43 41 52 41 41 0a 51 51 42 31 41 48 GCCsGAQUFBwICMIIBFB6CARAA.QQB1AH
1b4300 51 41 62 77 42 79 41 47 6b 41 5a 41 42 68 41 47 51 41 49 41 42 6b 41 47 55 41 49 41 42 44 41 47 QAbwByAGkAZABhAGQAIABkAGUAIABDAG
1b4320 55 41 63 67 42 30 41 47 6b 41 5a 67 42 70 41 47 4d 41 59 51 42 6a 41 47 6b 41 38 77 42 75 41 43 UAcgB0AGkAZgBpAGMAYQBjAGkA8wBuAC
1b4340 41 41 55 67 42 68 0a 41 4f 30 41 65 67 41 67 41 47 51 41 5a 51 41 67 41 47 77 41 59 51 41 67 41 AAUgBh.AO0AegAgAGQAZQAgAGwAYQAgA
1b4360 45 45 41 51 77 42 44 41 46 59 41 49 41 41 6f 41 45 45 41 5a 77 42 6c 41 47 34 41 59 77 42 70 41 EEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpA
1b4380 47 45 41 49 41 42 6b 41 47 55 41 49 41 42 55 41 47 55 41 0a 59 77 42 75 41 47 38 41 62 41 42 76 GEAIABkAGUAIABUAGUA.YwBuAG8AbABv
1b43a0 41 47 63 41 37 51 42 68 41 43 41 41 65 51 41 67 41 45 4d 41 5a 51 42 79 41 48 51 41 61 51 42 6d AGcA7QBhACAAeQAgAEMAZQByAHQAaQBm
1b43c0 41 47 6b 41 59 77 42 68 41 47 4d 41 61 51 44 7a 41 47 34 41 49 41 42 46 41 47 77 41 5a 51 42 6a AGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
1b43e0 0a 41 48 51 41 63 67 44 7a 41 47 34 41 61 51 42 6a 41 47 45 41 4c 41 41 67 41 45 4d 41 53 51 42 .AHQAcgDzAG4AaQBjAGEALAAgAEMASQB
1b4400 47 41 43 41 41 55 51 41 30 41 44 59 41 4d 41 41 78 41 44 45 41 4e 51 41 32 41 45 55 41 4b 51 41 GACAAUQA0ADYAMAAxADEANQA2AEUAKQA
1b4420 75 41 43 41 41 51 77 42 51 41 46 4d 41 0a 49 41 42 6c 41 47 34 41 49 41 42 6f 41 48 51 41 64 41 uACAAQwBQAFMA.IABlAG4AIABoAHQAdA
1b4440 42 77 41 44 6f 41 4c 77 41 76 41 48 63 41 64 77 42 33 41 43 34 41 59 51 42 6a 41 47 4d 41 64 67 BwADoALwAvAHcAdwB3AC4AYQBjAGMAdg
1b4460 41 75 41 47 55 41 63 7a 41 77 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 6b 0a 61 48 52 30 63 AuAGUAczAwBggrBgEFBQcCARYk.aHR0c
1b4480 44 6f 76 4c 33 64 33 64 79 35 68 59 32 4e 32 4c 6d 56 7a 4c 32 78 6c 5a 32 6c 7a 62 47 46 6a 61 DovL3d3dy5hY2N2LmVzL2xlZ2lzbGFja
1b44a0 57 39 75 58 32 4d 75 61 48 52 74 4d 46 55 47 41 31 55 64 48 77 52 4f 4d 45 77 77 53 71 42 49 6f W9uX2MuaHRtMFUGA1UdHwROMEwwSqBIo
1b44c0 45 61 47 52 47 68 30 0a 64 48 41 36 4c 79 39 33 64 33 63 75 59 57 4e 6a 64 69 35 6c 63 79 39 6d EaGRGh0.dHA6Ly93d3cuYWNjdi5lcy9m
1b44e0 61 57 78 6c 59 57 52 74 61 57 34 76 51 58 4a 6a 61 47 6c 32 62 33 4d 76 59 32 56 79 64 47 6c 6d aWxlYWRtaW4vQXJjaGl2b3MvY2VydGlm
1b4500 61 57 4e 68 5a 47 39 7a 4c 33 4a 68 61 58 70 68 59 32 4e 32 0a 4d 56 39 6b 5a 58 49 75 59 33 4a aWNhZG9zL3JhaXphY2N2.MV9kZXIuY3J
1b4520 73 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 58 42 67 4e 56 48 52 45 sMA4GA1UdDwEB/wQEAwIBBjAXBgNVHRE
1b4540 45 45 44 41 4f 67 51 78 68 59 32 4e 32 51 47 46 6a 59 33 59 75 5a 58 4d 77 44 51 59 4a 4b 6f 5a EEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZ
1b4560 49 0a 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 4a 63 78 41 70 2f 6e 2f 55 4e 6e 53 45 I.hvcNAQEFBQADggIBAJcxAp/n/UNnSE
1b4580 51 55 35 43 6d 48 37 55 77 6f 5a 74 43 50 4e 64 70 4e 59 62 64 4b 6c 30 32 31 32 35 44 67 42 53 QU5CmH7UwoZtCPNdpNYbdKl02125DgBS
1b45a0 34 4f 78 6e 6e 51 38 70 64 70 44 37 30 45 0a 52 39 6d 2b 32 37 55 70 32 70 76 5a 72 71 6d 5a 31 4OxnnQ8pdpD70E.R9m+27Up2pvZrqmZ1
1b45c0 64 4d 38 4d 4a 50 31 6a 61 47 6f 2f 41 61 4e 52 50 54 4b 46 70 56 38 4d 39 78 69 69 36 67 33 2b dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+
1b45e0 43 66 59 43 53 30 62 37 38 67 55 4a 79 43 70 5a 45 54 2f 4c 74 5a 31 71 6d 78 4e 0a 59 45 41 5a CfYCS0b78gUJyCpZET/LtZ1qmxN.YEAZ
1b4600 53 55 4e 55 59 39 72 69 7a 4c 70 6d 35 55 39 45 65 6c 76 5a 61 6f 45 72 51 4e 56 2f 2b 51 45 6e SUNUY9rizLpm5U9EelvZaoErQNV/+QEn
1b4620 57 43 7a 49 37 55 69 52 66 44 2b 6d 41 4d 2f 45 4b 58 4d 52 4e 74 36 47 47 54 36 64 37 68 6d 4b WCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmK
1b4640 47 39 57 77 37 59 34 39 0a 6e 43 72 41 44 64 67 39 5a 75 4d 38 44 62 33 56 6c 46 7a 69 34 71 63 G9Ww7Y49.nCrADdg9ZuM8Db3VlFzi4qc
1b4660 31 47 77 51 41 39 6a 39 61 6a 65 70 44 76 56 2b 4a 48 61 6e 42 73 4d 79 5a 34 6b 30 41 43 74 72 1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtr
1b4680 4a 4a 31 76 6e 45 35 42 63 35 50 55 7a 6f 6c 56 74 33 4f 41 4a 0a 54 53 2b 78 4a 6c 73 6e 64 51 JJ1vnE5Bc5PUzolVt3OAJ.TS+xJlsndQ
1b46a0 41 4a 78 47 4a 33 4b 51 68 66 6e 6c 6d 73 74 6e 36 74 6e 31 51 77 49 67 50 42 48 6e 46 6b 2f 76 AJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/v
1b46c0 6b 34 43 70 59 59 33 51 49 55 72 43 50 4c 42 68 77 65 70 48 32 4e 44 64 34 6e 51 65 69 74 32 68 k4CpYY3QIUrCPLBhwepH2NDd4nQeit2h
1b46e0 57 33 0a 73 43 50 64 4b 36 6a 54 32 69 57 48 37 65 68 56 52 45 32 49 39 44 5a 2b 68 4a 70 34 72 W3.sCPdK6jT2iWH7ehVRE2I9DZ+hJp4r
1b4700 50 63 4f 56 6b 6b 4f 31 6a 4d 6c 31 6f 52 51 51 6d 77 67 45 68 30 71 31 62 36 38 38 6e 43 42 70 PcOVkkO1jMl1oRQQmwgEh0q1b688nCBp
1b4720 48 42 67 76 67 57 31 6d 35 34 45 52 4c 35 68 0a 49 36 7a 70 70 53 53 4d 45 59 43 55 57 71 4b 69 HBgvgW1m54ERL5h.I6zppSSMEYCUWqKi
1b4740 75 55 6e 53 77 64 7a 52 70 2b 30 78 45 53 79 65 47 61 62 75 34 56 58 68 77 4f 72 50 44 59 54 6b uUnSwdzRp+0xESyeGabu4VXhwOrPDYTk
1b4760 46 37 65 69 66 4b 58 65 56 53 55 47 37 73 7a 41 68 31 78 41 32 73 79 56 50 31 58 67 0a 4e 63 65 F7eifKXeVSUG7szAh1xA2syVP1Xg.Nce
1b4780 34 68 4c 36 30 58 63 31 36 67 77 46 79 37 6f 66 6d 58 78 32 75 74 59 58 47 4a 74 2f 6d 77 5a 72 4hL60Xc16gwFy7ofmXx2utYXGJt/mwZr
1b47a0 70 48 67 4a 48 6e 79 71 6f 62 61 6c 62 7a 2b 78 46 64 33 2b 59 4a 35 6f 79 58 53 72 6a 68 4f 37 pHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7
1b47c0 46 6d 47 59 76 6c 69 41 64 0a 33 64 6a 44 4a 39 65 77 2b 66 37 5a 66 63 33 51 6e 34 38 4c 46 46 FmGYvliAd.3djDJ9ew+f7Zfc3Qn48LFF
1b47e0 68 52 6e 79 2b 4c 77 7a 67 74 33 75 69 50 31 6f 32 48 70 50 56 57 51 78 61 5a 4c 50 53 6b 56 72 hRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVr
1b4800 51 30 75 47 45 33 79 63 4a 59 67 42 75 67 6c 36 48 38 57 59 33 70 0a 45 66 62 52 44 30 74 56 4e Q0uGE3ycJYgBugl6H8WY3p.EfbRD0tVN
1b4820 45 59 71 69 34 59 37 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d EYqi4Y7.-----END.CERTIFICATE----
1b4840 2d 0a 0a 54 57 43 41 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d -..TWCA.Global.Root.CA.=========
1b4860 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1b4880 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 51 54 43 43 41 79 6d 67 41 77 49 42 41 67 49 43 44 4c 34 77 44 E-----.MIIFQTCCAymgAwIBAgICDL4wD
1b48a0 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 55 54 45 4c 4d 41 6b 47 41 31 55 45 42 QYJKoZIhvcNAQELBQAwUTELMAkGA1UEB
1b48c0 68 4d 43 56 46 63 78 45 6a 41 51 42 67 4e 56 42 41 6f 54 0a 43 56 52 42 53 56 64 42 54 69 31 44 hMCVFcxEjAQBgNVBAoT.CVRBSVdBTi1D
1b48e0 51 54 45 51 4d 41 34 47 41 31 55 45 43 78 4d 48 55 6d 39 76 64 43 42 44 51 54 45 63 4d 42 6f 47 QTEQMA4GA1UECxMHUm9vdCBDQTEcMBoG
1b4900 41 31 55 45 41 78 4d 54 56 46 64 44 51 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 44 A1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
1b4920 0a 51 54 41 65 46 77 30 78 4d 6a 41 32 4d 6a 63 77 4e 6a 49 34 4d 7a 4e 61 46 77 30 7a 4d 44 45 .QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDE
1b4940 79 4d 7a 45 78 4e 54 55 35 4e 54 6c 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 yMzExNTU5NTlaMFExCzAJBgNVBAYTAlR
1b4960 58 4d 52 49 77 45 41 59 44 56 51 51 4b 0a 45 77 6c 55 51 55 6c 58 51 55 34 74 51 30 45 78 45 44 XMRIwEAYDVQQK.EwlUQUlXQU4tQ0ExED
1b4980 41 4f 42 67 4e 56 42 41 73 54 42 31 4a 76 62 33 51 67 51 30 45 78 48 44 41 61 42 67 4e 56 42 41 AOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBA
1b49a0 4d 54 45 31 52 58 51 30 45 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 33 51 67 0a 51 30 45 77 67 MTE1RXQ0EgR2xvYmFsIFJvb3Qg.Q0Ewg
1b49c0 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 gIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwg
1b49e0 67 49 4b 41 6f 49 43 41 51 43 77 42 64 76 49 36 34 7a 45 62 6f 6f 68 37 34 35 4e 6e 48 45 4b 48 gIKAoICAQCwBdvI64zEbooh745NnHEKH
1b4a00 31 4a 77 37 57 32 43 0a 6e 4a 66 46 31 30 78 4f 52 55 6e 4c 51 45 4b 31 45 6a 52 73 47 63 4a 30 1Jw7W2C.nJfF10xORUnLQEK1EjRsGcJ0
1b4a20 70 44 46 66 68 51 4b 58 37 45 4d 7a 43 6c 50 53 6e 49 79 4f 74 37 68 35 32 79 76 56 61 76 4b 4f pDFfhQKX7EMzClPSnIyOt7h52yvVavKO
1b4a40 5a 73 54 75 4b 77 45 48 6b 74 53 7a 30 41 4c 66 55 50 5a 56 0a 72 32 59 4f 79 2b 42 48 59 43 38 ZsTuKwEHktSz0ALfUPZV.r2YOy+BHYC8
1b4a60 72 4d 6a 6b 31 55 6a 6f 6f 67 2f 68 37 46 73 59 59 75 47 4c 57 52 79 57 52 7a 76 41 5a 45 6b 32 rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2
1b4a80 74 59 2f 58 54 50 33 56 66 4b 66 43 68 4d 42 77 71 6f 4a 69 6d 46 62 33 75 2f 52 6b 32 38 4f 4b tY/XTP3VfKfChMBwqoJimFb3u/Rk28OK
1b4aa0 52 0a 51 34 2f 36 79 74 59 51 4a 30 6c 4d 37 39 33 42 38 59 56 77 6d 38 72 71 71 46 70 44 2f 47 R.Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G
1b4ac0 32 47 62 33 50 70 4e 30 57 70 38 44 62 48 7a 49 68 31 48 72 74 73 42 76 2b 62 61 7a 34 58 37 47 2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7G
1b4ae0 47 71 63 58 7a 47 48 61 4c 33 53 65 6b 56 0a 74 54 7a 57 6f 57 48 31 45 66 63 46 62 78 33 39 45 GqcXzGHaL3SekV.tTzWoWH1EfcFbx39E
1b4b00 62 37 51 4d 41 66 43 4b 62 41 4a 54 69 62 63 34 36 4b 6f 6b 57 6f 66 77 70 46 46 69 46 7a 6c 6d b7QMAfCKbAJTibc46KokWofwpFFiFzlm
1b4b20 4c 68 78 70 52 55 5a 79 58 78 31 45 63 78 77 64 45 38 74 6d 78 32 52 52 50 31 57 0a 4b 4b 44 2b LhxpRUZyXx1EcxwdE8tmx2RRP1W.KKD+
1b4b40 75 34 5a 71 79 50 70 63 43 31 6a 63 78 6b 74 32 79 4b 73 69 32 58 4d 50 70 66 52 61 41 6f 6b 2f u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/
1b4b60 54 35 34 69 67 75 36 69 64 46 4d 71 50 56 4d 6e 61 52 31 73 6a 6a 49 73 5a 41 41 6d 59 32 45 32 T54igu6idFMqPVMnaR1sjjIsZAAmY2E2
1b4b80 54 71 4e 47 74 7a 39 39 0a 73 79 32 73 62 5a 43 69 6c 61 4c 4f 7a 39 71 43 35 77 63 30 47 5a 62 TqNGtz99.sy2sbZCilaLOz9qC5wc0GZb
1b4ba0 70 75 43 47 71 4b 58 36 6d 4f 4c 36 4f 4b 55 6f 68 5a 6e 6b 66 73 38 4f 31 43 57 66 65 31 74 51 puCGqKX6mOL6OKUohZnkfs8O1CWfe1tQ
1b4bc0 48 52 76 4d 71 32 75 59 69 4e 32 44 4c 67 62 59 50 6f 41 2f 70 0a 79 4a 56 2f 76 31 57 52 42 58 HRvMq2uYiN2DLgbYPoA/p.yJV/v1WRBX
1b4be0 72 50 50 52 58 41 62 39 34 4a 6c 41 47 44 31 7a 51 62 7a 45 43 6c 38 4c 69 62 5a 39 57 59 6b 54 rPPRXAb94JlAGD1zQbzECl8LibZ9WYkT
1b4c00 75 6e 68 48 69 56 4a 71 52 61 43 50 67 72 64 4c 51 41 42 44 7a 66 75 42 53 4f 36 4e 2b 70 6a 57 unhHiVJqRaCPgrdLQABDzfuBSO6N+pjW
1b4c20 78 6e 0a 6b 6a 4d 64 77 4c 66 53 37 4a 4c 49 76 67 6d 2f 4c 43 6b 46 62 77 4a 72 6e 75 2b 38 76 xn.kjMdwLfS7JLIvgm/LCkFbwJrnu+8v
1b4c40 79 71 38 57 38 42 51 6a 30 46 77 63 59 65 79 54 62 63 45 71 59 53 6a 4d 71 2b 75 37 6d 73 58 69 yq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi
1b4c60 37 4b 78 2f 6d 7a 68 6b 49 79 49 71 4a 64 49 0a 7a 73 68 4e 79 2f 4d 47 7a 31 39 71 43 6b 4b 78 7Kx/mzhkIyIqJdI.zshNy/MGz19qCkKx
1b4c80 48 68 35 33 4c 34 36 67 35 70 49 4f 42 76 77 46 49 74 49 6d 34 54 46 52 66 54 4c 63 44 77 49 44 Hh53L46g5pIOBvwFItIm4TFRfTLcDwID
1b4ca0 41 51 41 42 6f 79 4d 77 49 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 AQABoyMwITAOBgNVHQ8BAf8EBAMC.AQY
1b4cc0 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 6b 69 wDwYDVR0TAQH/BAUwAwEB/zANBgkqhki
1b4ce0 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 58 7a 53 42 64 75 2b 57 48 64 58 6c 74 64 6b G9w0BAQsFAAOCAgEAXzSBdu+WHdXltdk
1b4d00 43 59 34 51 57 77 61 36 67 0a 63 46 47 6e 39 30 78 48 4e 63 67 4c 31 79 67 39 69 58 48 5a 71 6a CY4QWwa6g.cFGn90xHNcgL1yg9iXHZqj
1b4d20 4e 42 36 68 51 62 62 43 45 41 77 47 78 43 47 58 36 66 61 56 73 67 51 74 2b 69 30 74 72 45 66 4a NB6hQbbCEAwGxCGX6faVsgQt+i0trEfJ
1b4d40 64 4c 6a 62 44 6f 72 4d 6a 75 70 57 6b 45 6d 51 71 53 70 71 73 6e 0a 4c 68 70 4e 67 62 2b 45 31 dLjbDorMjupWkEmQqSpqsn.LhpNgb+E1
1b4d60 48 41 65 72 55 66 2b 2f 55 71 64 4d 2b 44 79 75 63 52 46 43 43 45 4b 32 6d 6c 70 63 33 49 4e 76 HAerUf+/UqdM+DyucRFCCEK2mlpc3INv
1b4d80 6a 54 2b 6c 49 75 74 77 78 34 31 31 36 4b 44 37 2b 55 34 78 36 57 46 48 36 76 50 4e 4f 77 2f 4b jT+lIutwx4116KD7+U4x6WFH6vPNOw/K
1b4da0 50 34 4d 0a 38 56 65 47 54 73 6c 56 39 78 7a 55 32 4b 56 39 42 6e 70 76 31 64 38 51 33 34 46 4f P4M.8VeGTslV9xzU2KV9Bnpv1d8Q34FO
1b4dc0 49 57 57 78 74 75 45 58 65 5a 56 46 42 73 35 66 7a 4e 78 47 69 57 4e 6f 52 49 32 54 39 47 52 77 IWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRw
1b4de0 6f 44 32 64 4b 41 58 44 4f 58 43 34 59 6e 73 67 0a 2f 65 54 62 36 51 69 68 75 4a 34 39 43 63 64 oD2dKAXDOXC4Ynsg./eTb6QihuJ49Ccd
1b4e00 50 2b 79 7a 34 6b 33 5a 42 33 6c 4c 67 34 56 66 53 6e 51 4f 38 64 35 37 2b 6e 69 6c 65 39 38 46 P+yz4k3ZB3lLg4VfSnQO8d57+nile98F
1b4e20 52 59 42 2f 65 32 67 75 79 4c 58 57 33 51 30 69 54 35 2f 5a 35 78 6f 52 64 67 46 6c 67 0a 6c 50 RYB/e2guyLXW3Q0iT5/Z5xoRdgFlg.lP
1b4e40 78 34 6d 49 38 38 6b 31 48 74 51 4a 41 48 33 32 52 6a 4a 4d 74 4f 63 51 57 68 31 35 51 61 69 44 x4mI88k1HtQJAH32RjJMtOcQWh15QaiD
1b4e60 4c 78 49 6e 51 69 72 71 57 6d 32 42 4a 70 54 47 43 6a 41 75 34 72 37 4e 52 6a 6b 67 74 65 76 69 LxInQirqWm2BJpTGCjAu4r7NRjkgtevi
1b4e80 39 32 61 36 4f 32 4a 72 79 50 0a 41 39 67 4b 38 6b 78 6b 52 72 30 35 59 75 57 57 36 7a 52 6a 45 92a6O2JryP.A9gK8kxkRr05YuWW6zRjE
1b4ea0 53 6a 4d 6c 66 47 74 37 2b 2f 63 67 46 68 49 36 55 75 34 36 6d 57 73 36 66 79 41 74 62 58 49 52 SjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIR
1b4ec0 66 6d 73 77 5a 2f 5a 75 65 70 69 69 49 37 45 38 55 75 44 45 71 33 6d 0a 69 34 54 57 6e 73 4c 72 fmswZ/ZuepiiI7E8UuDEq3m.i4TWnsLr
1b4ee0 67 78 69 66 61 72 73 62 4a 47 41 7a 63 4d 7a 73 39 7a 4c 7a 58 4e 6c 35 66 65 2b 65 70 50 37 4a gxifarsbJGAzcMzs9zLzXNl5fe+epP7J
1b4f00 49 38 4d 6b 37 68 57 53 73 54 32 52 54 79 61 47 76 57 5a 7a 4a 42 50 71 70 4b 35 6a 77 61 31 39 I8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19
1b4f20 68 41 4d 38 0a 45 48 69 47 47 33 6e 6a 78 50 50 79 42 4a 55 67 72 69 4f 43 78 4c 4d 36 41 47 4b hAM8.EHiGG3njxPPyBJUgriOCxLM6AGK
1b4f40 2f 35 6a 59 6b 34 56 65 36 78 78 36 51 64 64 56 66 50 35 56 68 4b 38 45 37 7a 65 57 7a 61 47 48 /5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGH
1b4f60 51 52 69 61 70 49 56 4a 70 4c 65 73 75 78 2b 74 33 0a 7a 71 59 36 74 51 4d 7a 54 33 62 52 35 31 QRiapIVJpLesux+t3.zqY6tQMzT3bR51
1b4f80 78 55 41 56 33 4c 65 50 54 4a 44 4c 2f 50 45 6f 34 58 4c 53 4e 6f 6c 4f 65 72 2f 71 6d 79 4b 77 xUAV3LePTJDL/PEo4XLSNolOer/qmyKw
1b4fa0 62 51 42 4d 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d bQBM0=.-----END.CERTIFICATE-----
1b4fc0 0a 0a 54 65 6c 69 61 53 6f 6e 65 72 61 20 52 6f 6f 74 20 43 41 20 76 31 0a 3d 3d 3d 3d 3d 3d 3d ..TeliaSonera.Root.CA.v1.=======
1b4fe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1b5000 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 4f 44 43 43 41 79 43 67 41 77 49 42 41 67 49 52 FICATE-----.MIIFODCCAyCgAwIBAgIR
1b5020 41 4a 57 2b 46 71 44 33 4c 6b 62 78 65 7a 6d 43 63 76 71 4c 7a 5a 59 77 44 51 59 4a 4b 6f 5a 49 AJW+FqD3LkbxezmCcvqLzZYwDQYJKoZI
1b5040 68 76 63 4e 41 51 45 46 42 51 41 77 4e 7a 45 55 4d 42 49 47 41 31 55 45 0a 43 67 77 4c 56 47 56 hvcNAQEFBQAwNzEUMBIGA1UE.CgwLVGV
1b5060 73 61 57 46 54 62 32 35 6c 63 6d 45 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 6c 62 47 6c saWFTb25lcmExHzAdBgNVBAMMFlRlbGl
1b5080 68 55 32 39 75 5a 58 4a 68 49 46 4a 76 62 33 51 67 51 30 45 67 64 6a 45 77 48 68 63 4e 4d 44 63 hU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDc
1b50a0 78 4d 44 45 34 0a 4d 54 49 77 4d 44 55 77 57 68 63 4e 4d 7a 49 78 4d 44 45 34 4d 54 49 77 4d 44 xMDE4.MTIwMDUwWhcNMzIxMDE4MTIwMD
1b50c0 55 77 57 6a 41 33 4d 52 51 77 45 67 59 44 56 51 51 4b 44 41 74 55 5a 57 78 70 59 56 4e 76 62 6d UwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbm
1b50e0 56 79 59 54 45 66 4d 42 30 47 41 31 55 45 41 77 77 57 0a 56 47 56 73 61 57 46 54 62 32 35 6c 63 VyYTEfMB0GA1UEAwwW.VGVsaWFTb25lc
1b5100 6d 45 67 55 6d 39 76 64 43 42 44 51 53 42 32 4d 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 mEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIh
1b5120 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4d 4b 2b 0a vcNAQEBBQADggIPADCCAgoCggIBAMK+.
1b5140 36 79 66 77 49 61 50 7a 61 53 5a 56 66 70 33 46 56 52 61 52 58 50 33 76 49 62 39 54 67 48 6f 74 6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot
1b5160 30 70 47 4d 59 7a 48 77 37 43 54 77 77 36 58 53 63 6e 77 51 62 66 51 33 74 2b 58 6d 66 48 6e 71 0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnq
1b5180 6a 4c 57 43 69 36 35 49 74 71 77 41 0a 33 47 56 31 37 43 70 4e 58 38 47 48 39 53 42 6c 4b 34 47 jLWCi65ItqwA.3GV17CpNX8GH9SBlK4G
1b51a0 6f 52 7a 36 4a 49 35 55 77 46 70 42 2f 36 46 63 48 53 4f 63 5a 72 72 39 46 5a 37 45 33 47 77 59 oRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwY
1b51c0 71 2f 74 37 35 72 48 32 44 2b 31 36 36 35 49 2b 58 5a 37 35 4c 6a 6f 31 6b 0a 42 31 63 34 56 57 q/t75rH2D+1665I+XZ75Ljo1k.B1c4VW
1b51e0 6b 30 4e 6a 30 54 53 4f 39 50 34 74 4e 6d 48 71 54 50 47 72 64 65 4e 6a 50 55 74 41 61 39 47 41 k0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GA
1b5200 48 39 64 34 52 51 41 45 58 31 6a 46 33 6f 49 37 78 2b 2f 6a 58 68 37 56 42 37 71 54 43 4e 47 64 H9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGd
1b5220 4d 4a 6a 6d 68 6e 0a 58 62 38 38 6c 78 68 54 75 79 6c 69 78 63 70 65 63 73 48 48 6c 74 54 62 4c MJjmhn.Xb88lxhTuylixcpecsHHltTbL
1b5240 61 43 30 48 32 6b 44 37 4f 72 69 55 50 45 4d 50 50 43 73 38 31 4d 74 38 42 7a 31 37 57 77 35 4f aC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5O
1b5260 58 4f 41 46 73 68 53 73 43 50 4e 34 44 37 63 33 54 78 48 0a 6f 4c 73 31 69 75 4b 59 61 49 75 2b XOAFshSsCPN4D7c3TxH.oLs1iuKYaIu+
1b5280 35 62 39 79 37 74 4c 36 70 65 30 53 37 66 79 59 47 4b 6b 6d 64 74 77 6f 53 78 41 67 48 4e 4e 2f 5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/
1b52a0 46 6e 63 74 37 57 2b 41 39 30 6d 37 55 77 57 37 58 57 6a 48 31 4d 68 31 46 6a 2b 4a 57 6f 76 33 Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
1b52c0 0a 46 30 66 55 54 50 48 53 69 58 6b 2b 54 54 32 59 71 47 48 65 4f 68 37 53 2b 46 34 44 34 4d 48 .F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MH
1b52e0 4a 48 49 7a 54 6a 55 33 54 6c 54 61 7a 4e 31 39 6a 59 35 73 7a 46 50 41 74 4a 6d 74 54 66 49 6d JHIzTjU3TlTazN19jY5szFPAtJmtTfIm
1b5300 4d 4d 73 4a 75 37 44 30 68 41 44 6e 4a 0a 6f 57 6a 69 55 49 4d 75 73 44 6f 72 38 7a 61 67 72 43 MMsJu7D0hADnJ.oWjiUIMusDor8zagrC
1b5320 2f 6b 62 32 48 43 55 51 6b 35 50 6f 74 54 75 62 74 6e 32 74 78 54 75 58 5a 5a 4e 70 31 44 35 53 /kb2HCUQk5PotTubtn2txTuXZZNp1D5S
1b5340 44 67 50 54 4a 67 68 53 4a 52 74 38 63 7a 75 39 30 56 4c 36 52 34 70 67 64 37 0a 67 55 59 32 42 DgPTJghSJRt8czu90VL6R4pgd7.gUY2B
1b5360 49 62 64 65 54 58 48 6c 53 77 37 73 4b 4d 58 4e 65 56 7a 48 37 52 63 57 65 2f 61 36 68 42 6c 65 IbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle
1b5380 33 72 51 66 35 2b 7a 74 43 6f 33 4f 33 43 4c 6d 31 75 35 4b 37 66 73 73 6c 45 53 6c 31 4d 70 57 3rQf5+ztCo3O3CLm1u5K7fsslESl1MpW
1b53a0 74 54 77 45 68 44 63 0a 54 77 4b 37 45 70 49 76 59 74 51 2f 61 55 4e 38 44 64 62 38 57 48 55 42 tTwEhDc.TwK7EpIvYtQ/aUN8Ddb8WHUB
1b53c0 69 4a 31 59 46 6b 76 65 75 70 44 2f 52 77 47 4a 42 6d 72 32 58 37 4b 51 61 72 4d 43 70 67 4b 49 iJ1YFkveupD/RwGJBmr2X7KQarMCpgKI
1b53e0 76 37 4e 48 66 69 72 5a 31 66 70 6f 65 44 56 4e 41 67 4d 42 0a 41 41 47 6a 50 7a 41 39 4d 41 38 v7NHfirZ1fpoeDVNAgMB.AAGjPzA9MA8
1b5400 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 42 41 51 GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQ
1b5420 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 77 6a 31 6b 34 41 4c 50 31 6a 35 71 DAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5q
1b5440 57 0a 44 4e 58 72 2b 6e 75 71 46 2b 67 54 45 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 W.DNXr+nuqF+gTEjANBgkqhkiG9w0BAQ
1b5460 55 46 41 41 4f 43 41 67 45 41 76 75 52 63 59 6b 34 6b 39 41 77 49 2f 2f 44 54 44 47 6a 6b 6b 30 UFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0
1b5480 6b 69 50 30 51 6e 62 37 74 74 33 6f 4e 6d 0a 7a 71 6a 4d 44 66 7a 31 6d 67 62 6c 64 78 53 52 36 kiP0Qnb7tt3oNm.zqjMDfz1mgbldxSR6
1b54a0 35 31 42 65 35 6b 71 68 4f 58 2f 2f 43 48 42 58 66 44 6b 48 31 65 33 64 61 6d 68 58 77 49 6d 2f 51Be5kqhOX//CHBXfDkH1e3damhXwIm/
1b54c0 39 66 48 39 30 37 65 54 2f 6a 33 48 45 62 41 65 6b 39 41 4c 43 49 31 38 42 6d 78 0a 30 47 74 6e 9fH907eT/j3HEbAek9ALCI18Bmx.0Gtn
1b54e0 4c 4c 43 6f 34 4d 42 41 4e 7a 58 32 68 46 78 63 34 36 39 43 65 50 36 6e 79 51 31 51 36 67 32 45 LLCo4MBANzX2hFxc469CeP6nyQ1Q6g2E
1b5500 64 76 5a 52 37 34 4e 54 78 6e 72 2f 44 6c 5a 4a 4c 6f 39 36 31 67 7a 6d 4a 31 54 6a 54 51 70 67 dvZR74NTxnr/DlZJLo961gzmJ1TjTQpg
1b5520 63 6d 4c 4e 6b 51 66 57 0a 70 62 2f 49 6d 57 76 74 78 42 6e 6d 71 30 77 52 4f 4d 56 76 4d 65 4a cmLNkQfW.pb/ImWvtxBnmq0wROMVvMeJ
1b5540 75 53 63 67 2f 64 6f 41 6d 41 79 59 70 34 44 62 32 39 69 42 54 34 78 64 77 4e 42 65 64 59 32 67 uScg/doAmAyYp4Db29iBT4xdwNBedY2g
1b5560 65 61 2b 7a 44 54 59 61 34 45 7a 41 76 58 55 59 4e 52 30 50 56 0a 47 36 70 5a 44 72 6c 63 6a 51 ea+zDTYa4EzAvXUYNR0PV.G6pZDrlcjQ
1b5580 5a 49 72 58 53 48 58 38 66 38 4d 56 52 42 45 2b 4c 48 49 51 36 65 34 42 34 4e 34 63 42 37 51 34 ZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4
1b55a0 57 51 78 59 70 59 78 6d 55 4b 65 46 66 79 78 69 4d 50 41 64 6b 67 53 39 34 50 2b 35 4b 46 64 53 WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdS
1b55c0 70 63 0a 63 34 31 74 65 79 57 52 79 75 35 46 72 67 5a 4c 41 4d 7a 54 73 56 6c 51 32 6a 71 49 4f pc.c41teyWRyu5FrgZLAMzTsVlQ2jqIO
1b55e0 79 6c 44 52 6c 36 58 4b 31 54 4f 55 32 2b 4e 53 75 65 57 2b 72 39 78 44 6b 4b 4c 66 50 30 6f 6f ylDRl6XK1TOU2+NSueW+r9xDkKLfP0oo
1b5600 4e 42 49 79 74 72 45 67 55 79 37 6f 6e 4f 54 0a 4a 73 6a 72 44 4e 59 6d 69 4c 62 41 4a 4d 2b 37 NBIytrEgUy7onOT.JsjrDNYmiLbAJM+7
1b5620 76 56 76 72 64 58 33 70 43 49 36 47 4d 79 78 35 64 77 6c 70 70 59 6e 38 73 33 43 51 68 33 61 50 vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP
1b5640 30 79 4b 37 51 73 36 39 63 77 73 67 4a 69 72 51 6d 7a 31 77 48 69 52 73 7a 59 64 32 0a 71 52 65 0yK7Qs69cwsgJirQmz1wHiRszYd2.qRe
1b5660 57 74 38 38 4e 6b 76 75 4f 47 4b 6d 59 53 64 47 65 2f 6d 42 45 63 69 47 35 47 65 33 43 39 54 48 Wt88NkvuOGKmYSdGe/mBEciG5Ge3C9TH
1b5680 78 4f 55 69 49 6b 43 52 31 56 42 61 74 7a 76 54 34 61 52 52 6b 4f 66 75 6a 75 4c 70 77 51 4d 63 xOUiIkCR1VBatzvT4aRRkOfujuLpwQMc
1b56a0 6e 48 4c 2f 45 56 6c 50 36 0a 59 32 58 51 38 78 77 4f 46 76 56 72 68 6c 68 4e 47 4e 54 6b 44 59 nHL/EVlP6.Y2XQ8xwOFvVrhlhNGNTkDY
1b56c0 36 6c 6e 56 75 52 33 48 59 6b 55 44 2f 47 4b 76 76 5a 74 35 79 31 31 75 62 51 32 65 67 5a 69 78 6lnVuR3HYkUD/GKvvZt5y11ubQ2egZix
1b56e0 56 78 53 4b 32 33 36 74 68 5a 69 4e 53 51 76 78 61 7a 32 65 6d 73 0a 57 57 46 55 79 42 79 36 79 VxSK236thZiNSQvxaz2ems.WWFUyBy6y
1b5700 73 48 4b 34 62 6b 67 54 49 38 36 6b 34 6d 6c 6f 4d 79 2f 30 2f 5a 31 70 48 57 57 62 56 59 3d 0a sHK4bkgTI86k4mloMy/0/Z1pHWWbVY=.
1b5720 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 2d 54 75 67 -----END.CERTIFICATE-----..E-Tug
1b5740 72 61 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d ra.Certification.Authority.=====
1b5760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d ==========================.-----
1b5780 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 53 7a 43 43 42 BEGIN.CERTIFICATE-----.MIIGSzCCB
1b57a0 44 4f 67 41 77 49 42 41 67 49 49 61 6d 67 2b 6e 46 47 62 79 31 4d 77 44 51 59 4a 4b 6f 5a 49 68 DOgAwIBAgIIamg+nFGby1MwDQYJKoZIh
1b57c0 76 63 4e 41 51 45 4c 42 51 41 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d vcNAQELBQAwgbIxCzAJBgNVBAYTAlRSM
1b57e0 51 38 77 0a 44 51 59 44 56 51 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 51 44 41 2b 42 67 4e 56 Q8w.DQYDVQQHDAZBbmthcmExQDA+BgNV
1b5800 42 41 6f 4d 4e 30 55 74 56 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 BAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9p
1b5820 62 53 42 55 5a 57 74 75 62 32 78 76 61 6d 6c 73 0a 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 bSBUZWtub2xvamls.ZXJpIHZlIEhpem1
1b5840 6c 64 47 78 6c 63 6d 6b 67 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUU
1b5860 74 56 48 56 6e 63 6d 45 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 0a 5a 58 tVHVncmEgU2VydGlmaWthc3lvbiBN.ZX
1b5880 4a 72 5a 58 70 70 4d 53 67 77 4a 67 59 44 56 51 51 44 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 JrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIE
1b58a0 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 NlcnRpZmljYXRpb24gQXV0aG9yaXR5MB
1b58c0 34 58 44 54 45 7a 4d 44 4d 77 0a 4e 54 45 79 4d 44 6b 30 4f 46 6f 58 44 54 49 7a 4d 44 4d 77 4d 4XDTEzMDMw.NTEyMDk0OFoXDTIzMDMwM
1b58e0 7a 45 79 4d 44 6b 30 4f 46 6f 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d zEyMDk0OFowgbIxCzAJBgNVBAYTAlRSM
1b5900 51 38 77 44 51 59 44 56 51 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 0a 51 44 41 2b 42 67 4e 56 Q8wDQYDVQQHDAZBbmthcmEx.QDA+BgNV
1b5920 42 41 6f 4d 4e 30 55 74 56 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 BAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9p
1b5940 62 53 42 55 5a 57 74 75 62 32 78 76 61 6d 6c 73 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 6c bSBUZWtub2xvamlsZXJpIHZlIEhpem1l
1b5960 64 47 78 6c 0a 63 6d 6b 67 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 dGxl.cmkgQS7Fni4xJjAkBgNVBAsMHUU
1b5980 74 56 48 56 6e 63 6d 45 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 5a 58 4a tVHVncmEgU2VydGlmaWthc3lvbiBNZXJ
1b59a0 72 5a 58 70 70 4d 53 67 77 4a 67 59 44 56 51 51 44 0a 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 rZXppMSgwJgYDVQQD.DB9FLVR1Z3JhIE
1b59c0 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 NlcnRpZmljYXRpb24gQXV0aG9yaXR5MI
1b59e0 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d ICIjANBgkqhkiG9w0BAQEFAAOCAg8A.M
1b5a00 49 49 43 43 67 4b 43 41 67 45 41 34 76 55 2f 6b 77 56 52 48 6f 56 69 56 46 35 36 43 2f 55 59 42 IICCgKCAgEA4vU/kwVRHoViVF56C/UYB
1b5a20 34 4f 75 66 71 39 38 39 39 53 4b 61 36 56 6a 51 7a 6d 35 53 2f 66 44 78 6d 53 4a 50 5a 51 75 56 4Oufq9899SKa6VjQzm5S/fDxmSJPZQuV
1b5a40 49 42 53 4f 54 6b 48 53 30 76 64 0a 68 51 64 32 68 38 79 2f 4c 35 56 4d 7a 48 32 6e 50 62 78 48 IBSOTkHS0vd.hQd2h8y/L5VMzH2nPbxH
1b5a60 44 35 68 77 2b 49 79 46 48 6e 53 4f 6b 6d 30 62 51 4e 47 5a 44 62 74 31 62 73 69 70 61 35 72 41 D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rA
1b5a80 68 44 47 76 79 6b 50 4c 36 79 73 30 36 49 2b 58 61 77 47 62 31 51 35 4b 0a 43 4b 70 62 6b 6e 53 hDGvykPL6ys06I+XawGb1Q5K.CKpbknS
1b5aa0 46 51 39 4f 41 72 71 47 49 57 36 36 7a 36 6c 37 4c 46 70 70 33 52 4d 69 68 39 6c 52 6f 7a 74 36 FQ9OArqGIW66z6l7LFpp3RMih9lRozt6
1b5ac0 50 6c 79 75 36 57 30 41 43 44 47 51 58 77 4c 57 54 7a 65 48 78 45 32 62 4f 44 48 6e 76 30 5a 45 Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZE
1b5ae0 6f 71 31 2b 67 0a 45 6c 49 77 63 78 6d 4f 6a 2b 47 4d 42 36 4c 44 75 30 72 77 36 68 38 56 71 4f oq1+g.ElIwcxmOj+GMB6LDu0rw6h8VqO
1b5b00 34 6c 7a 4b 52 47 2b 42 73 69 37 37 4d 4f 51 37 6f 73 4a 4c 6a 46 4c 46 7a 55 48 50 68 64 5a 4c 4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL
1b5b20 33 44 6b 31 34 6f 70 7a 38 6e 38 59 34 65 30 79 70 51 0a 42 61 4e 56 32 63 76 6e 4f 56 50 41 6d 3Dk14opz8n8Y4e0ypQ.BaNV2cvnOVPAm
1b5b40 4a 36 4d 56 47 4b 4c 4a 72 44 33 66 59 31 38 35 4d 61 65 5a 6b 4a 56 67 6b 66 6e 73 6c 69 4e 5a J6MVGKLJrD3fY185MaeZkJVgkfnsliNZ
1b5b60 76 63 48 66 43 34 32 35 6c 41 63 50 39 74 44 4a 4d 57 2f 68 6b 64 35 73 33 6b 63 39 31 72 30 0a vcHfC425lAcP9tDJMW/hkd5s3kc91r0.
1b5b80 45 2b 78 73 2b 44 2f 69 57 52 2b 56 37 6b 49 2b 75 61 32 6f 4d 6f 56 4a 6c 30 62 2b 53 7a 47 50 E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGP
1b5ba0 57 73 75 74 64 45 63 66 36 5a 47 33 33 79 67 45 49 71 44 55 44 31 33 69 65 55 2f 71 62 49 57 47 WsutdEcf6ZG33ygEIqDUD13ieU/qbIWG
1b5bc0 76 61 69 6d 7a 75 54 36 77 2b 47 7a 0a 72 74 34 38 55 65 37 4c 45 33 77 42 66 34 51 4f 58 56 47 vaimzuT6w+Gz.rt48Ue7LE3wBf4QOXVG
1b5be0 55 6e 68 4d 4d 74 69 36 6c 54 50 6b 35 63 44 5a 76 6c 73 6f 75 44 45 52 56 78 63 72 36 58 51 4b UnhMMti6lTPk5cDZvlsouDERVxcr6XQK
1b5c00 6a 33 39 5a 6b 6a 46 71 7a 41 51 71 70 74 51 70 48 46 2f 2f 76 6b 55 41 71 0a 6a 71 46 47 4f 6a j39ZkjFqzAQqptQpHF//vkUAq.jqFGOj
1b5c20 47 59 35 52 48 38 7a 4c 74 4a 56 6f 72 38 75 64 42 68 6d 6d 39 6c 62 4f 62 44 79 7a 35 31 53 66 GY5RH8zLtJVor8udBhmm9lbObDyz51Sf
1b5c40 36 50 70 2b 4b 4a 78 57 66 58 6e 55 59 54 54 6a 46 32 4f 79 53 7a 6e 68 46 6c 68 71 74 2f 37 78 6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x
1b5c60 33 55 2b 4c 7a 6e 0a 72 46 70 63 74 31 70 48 58 46 58 4f 56 62 51 69 63 56 74 62 43 2f 44 50 33 3U+Lzn.rFpct1pHXFXOVbQicVtbC/DP3
1b5c80 4b 42 68 5a 4f 71 70 31 32 67 4b 59 36 66 67 44 54 2b 67 72 39 4f 71 30 6e 37 76 55 61 44 6d 55 KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmU
1b5ca0 53 74 56 6b 68 55 58 55 38 75 33 5a 67 35 6d 54 50 6a 35 0a 64 55 79 51 35 78 4a 77 78 30 55 43 StVkhUXU8u3Zg5mTPj5.dUyQ5xJwx0UC
1b5cc0 41 77 45 41 41 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 43 37 6a 32 37 4a 4a AwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ
1b5ce0 30 4a 78 55 65 56 7a 36 4a 79 72 2b 7a 45 37 53 36 45 35 55 4d 41 38 47 41 31 55 64 45 77 45 42 0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
1b5d00 0a 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 4c 75 50 ./wQFMAMBAf8wHwYDVR0jBBgwFoAULuP
1b5d20 62 73 6b 6e 51 6e 46 52 35 58 50 6f 6e 4b 76 37 4d 54 74 4c 6f 54 6c 51 77 44 67 59 44 56 52 30 bsknQnFR5XPonKv7MTtLoTlQwDgYDVR0
1b5d40 50 41 51 48 2f 42 41 51 44 41 67 45 47 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 PAQH/BAQDAgEG.MA0GCSqGSIb3DQEBCw
1b5d60 55 41 41 34 49 43 41 51 41 46 4e 7a 72 30 54 62 64 46 34 6b 56 31 4a 49 2b 32 64 31 4c 6f 48 4e UAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHN
1b5d80 67 51 6b 32 58 7a 38 6c 6b 47 70 44 34 65 4b 65 78 64 30 64 43 72 66 4f 41 4b 0a 6b 45 68 34 37 gQk2Xz8lkGpD4eKexd0dCrfOAK.kEh47
1b5da0 55 36 59 41 35 6e 2b 4b 47 43 52 48 54 41 64 75 47 4e 38 71 4f 59 31 74 66 72 54 59 58 62 6d 31 U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1
1b5dc0 67 64 4c 79 6d 6d 61 73 6f 52 36 64 35 4e 46 46 78 57 66 4a 4e 43 59 45 78 4c 2f 75 36 41 75 2f gdLymmasoR6d5NFFxWfJNCYExL/u6Au/
1b5de0 55 35 4d 68 2f 6a 4f 0a 58 4b 71 59 47 77 58 67 41 45 5a 4b 67 6f 43 6c 4d 34 73 6f 33 4f 30 34 U5Mh/jO.XKqYGwXgAEZKgoClM4so3O04
1b5e00 30 39 2f 6c 50 75 6e 2b 2b 31 6e 64 59 59 52 50 30 6c 53 57 45 32 45 54 50 6f 2b 41 61 62 36 54 09/lPun++1ndYYRP0lSWE2ETPo+Aab6T
1b5e20 52 37 55 31 51 39 4a 61 75 7a 31 63 37 37 4e 43 52 38 30 37 0a 56 52 4d 47 73 41 6e 62 2f 57 50 R7U1Q9Jauz1c77NCR807.VRMGsAnb/WP
1b5e40 32 4f 6f 67 4b 6d 57 39 2b 34 63 34 62 55 32 70 45 5a 69 4e 52 43 48 75 38 57 31 4b 69 2f 51 59 2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY
1b5e60 33 4f 45 42 68 6a 30 71 57 75 4a 41 33 2b 47 62 48 65 4a 41 41 46 53 36 4c 72 56 45 31 55 77 65 3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uwe
1b5e80 6f 0a 61 32 69 75 2b 55 34 38 42 79 62 4e 43 41 56 77 7a 44 6b 2f 64 72 32 6c 30 32 63 6d 41 59 o.a2iu+U48BybNCAVwzDk/dr2l02cmAY
1b5ea0 61 6d 55 39 4a 67 4f 33 78 44 66 31 57 4b 76 4a 55 61 77 53 67 35 54 42 39 44 30 70 48 30 63 6c amU9JgO3xDf1WKvJUawSg5TB9D0pH0cl
1b5ec0 6d 4b 75 56 62 38 50 37 53 64 32 6e 43 63 0a 64 6c 71 4d 51 31 44 75 6a 6a 42 79 54 64 2f 2f 53 mKuVb8P7Sd2nCc.dlqMQ1DujjByTd//S
1b5ee0 66 66 47 71 57 66 5a 62 61 77 43 45 65 49 36 46 69 57 6e 57 41 6a 4c 62 31 4e 42 6e 45 67 34 52 ffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R
1b5f00 32 67 7a 30 64 66 48 6a 39 52 30 49 64 54 44 42 5a 42 36 2f 38 36 57 69 4c 45 56 0a 4b 56 30 6a 2gz0dfHj9R0IdTDBZB6/86WiLEV.KV0j
1b5f20 71 39 42 67 6f 52 4a 50 33 76 51 58 7a 54 4c 6c 79 62 2f 49 51 36 33 39 4c 6f 37 78 72 2b 4c 30 q9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0
1b5f40 6d 50 6f 53 48 79 44 59 77 4b 63 4d 68 63 57 51 39 44 73 74 6c 69 61 78 4c 4c 35 4d 71 2b 75 78 mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux
1b5f60 30 6f 72 4a 32 33 67 54 0a 44 78 34 4a 6e 57 32 50 41 4a 38 43 32 73 48 36 48 33 70 36 43 63 52 0orJ23gT.Dx4JnW2PAJ8C2sH6H3p6CcR
1b5f80 4b 35 6f 67 71 6c 35 2b 4a 69 2f 30 33 58 31 38 36 7a 6a 68 5a 68 6b 75 76 63 51 75 30 32 50 4a K5ogql5+Ji/03X186zjhZhkuvcQu02PJ
1b5fa0 77 54 35 38 79 45 2b 4f 77 70 31 66 6c 32 74 70 44 79 34 51 30 0a 38 69 6a 45 36 6d 33 30 4b 75 wT58yE+Owp1fl2tpDy4Q0.8ijE6m30Ku
1b5fc0 2f 42 61 33 62 61 2b 33 36 37 68 54 7a 53 55 38 4a 4e 76 6e 48 68 52 64 48 39 49 32 63 4e 45 33 /Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3
1b5fe0 58 37 7a 32 56 6e 49 70 32 75 73 41 6e 52 43 66 38 64 4e 4c 2f 2b 49 35 63 33 30 6a 6e 36 50 51 X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ
1b6000 30 47 0a 43 37 54 62 4f 36 4f 72 62 31 77 64 74 6e 37 6f 73 34 49 30 37 51 5a 63 4a 41 3d 3d 0a 0G.C7TbO6Orb1wdtn7os4I07QZcJA==.
1b6020 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c -----END.CERTIFICATE-----..T-Tel
1b6040 65 53 65 63 20 47 6c 6f 62 61 6c 52 6f 6f 74 20 43 6c 61 73 73 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d eSec.GlobalRoot.Class.2.========
1b6060 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1b6080 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 77 7a 43 43 41 71 75 67 41 77 49 CERTIFICATE-----.MIIDwzCCAqugAwI
1b60a0 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 6a 45 BAgIBATANBgkqhkiG9w0BAQsFADCBgjE
1b60c0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 0a 49 6c LMAkGA1UEBhMCREUxKzApBgNVBAoM.Il
1b60e0 51 74 55 33 6c 7a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e QtU3lzdGVtcyBFbnRlcnByaXNlIFNlcn
1b6100 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 ZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3
1b6120 6c 7a 64 47 56 74 63 79 42 55 0a 63 6e 56 7a 64 43 42 44 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 lzdGVtcyBU.cnVzdCBDZW50ZXIxJTAjB
1b6140 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 gNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb
1b6160 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 49 77 48 68 63 4e 4d 44 67 78 0a 4d 44 41 78 4d 54 41 30 290IENsYXNzIDIwHhcNMDgx.MDAxMTA0
1b6180 4d 44 45 30 57 68 63 4e 4d 7a 4d 78 4d 44 41 78 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 67 6a 45 4c MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjEL
1b61a0 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 49 6c 51 74 MAkGA1UEBhMCREUxKzApBgNVBAoMIlQt
1b61c0 55 33 6c 7a 0a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a U3lz.dGVtcyBFbnRlcnByaXNlIFNlcnZ
1b61e0 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c pY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3l
1b6200 7a 64 47 56 74 63 79 42 55 63 6e 56 7a 64 43 42 44 0a 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 zdGVtcyBUcnVzdCBD.ZW50ZXIxJTAjBg
1b6220 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 NVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb2
1b6240 39 30 49 45 4e 73 59 58 4e 7a 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 90IENsYXNzIDIwggEiMA0GCSqGSIb3.D
1b6260 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 71 58 39 6f 62 58 QEBAQUAA4IBDwAwggEKAoIBAQCqX9obX
1b6280 2b 68 7a 6b 65 58 61 58 50 53 69 35 6b 66 6c 38 32 68 56 59 41 55 64 41 71 53 7a 6d 31 6e 7a 48 +hzkeXaXPSi5kfl82hVYAUdAqSzm1nzH
1b62a0 6f 71 76 4e 4b 33 38 44 63 4c 5a 0a 53 42 6e 75 61 59 2f 4a 49 50 77 68 71 67 63 5a 37 62 42 63 oqvNK38DcLZ.SBnuaY/JIPwhqgcZ7bBc
1b62c0 72 47 58 48 58 2b 30 43 66 48 74 38 4c 52 76 57 75 72 6d 41 77 68 69 43 46 6f 54 36 5a 72 41 49 rGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAI
1b62e0 78 6c 51 6a 67 65 54 4e 75 55 6b 2f 39 6b 39 75 4e 30 67 6f 4f 41 2f 46 0a 76 75 64 6f 63 50 30 xlQjgeTNuUk/9k9uN0goOA/F.vudocP0
1b6300 35 6c 30 33 53 78 35 69 52 55 4b 72 45 52 4c 4d 6a 66 54 6c 48 36 56 4a 69 31 68 4b 54 58 72 63 5l03Sx5iRUKrERLMjfTlH6VJi1hKTXrc
1b6320 78 6c 6b 49 46 2b 33 61 6e 48 71 50 31 77 76 7a 70 65 73 56 73 71 58 46 50 36 73 74 34 76 47 43 xlkIF+3anHqP1wvzpesVsqXFP6st4vGC
1b6340 76 78 39 37 30 0a 32 63 75 2b 66 6a 4f 6c 62 70 53 44 38 44 54 36 49 61 76 71 6a 6e 4b 67 50 36 vx970.2cu+fjOlbpSD8DT6IavqjnKgP6
1b6360 54 65 4d 46 76 76 68 6b 31 71 6c 56 74 44 52 4b 67 51 46 52 7a 6c 41 56 66 46 6d 50 48 6d 42 69 TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBi
1b6380 69 52 71 69 44 46 74 31 4d 6d 55 55 4f 79 43 78 47 56 0a 57 4f 48 41 44 33 62 5a 77 49 31 38 67 iRqiDFt1MmUUOyCxGV.WOHAD3bZwI18g
1b63a0 66 4e 79 63 4a 35 76 2f 68 71 4f 32 56 38 31 78 72 4a 76 4e 48 79 2b 53 45 2f 69 57 6a 6e 58 32 fNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2
1b63c0 4a 31 34 6e 70 2b 47 50 67 4e 65 47 59 74 45 6f 74 58 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 0a J14np+GPgNeGYtEotXHAgMBAAGjQjBA.
1b63e0 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
1b6400 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 2f 57 53 41 32 AQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2
1b6420 41 48 6d 67 6f 43 4a 72 6a 4e 58 79 0a 59 64 4b 34 4c 4d 75 43 53 6a 41 4e 42 67 6b 71 68 6b 69 AHmgoCJrjNXy.YdK4LMuCSjANBgkqhki
1b6440 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 4d 51 4f 69 59 51 73 66 64 4f 68 79 4e 73 5a G9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZ
1b6460 74 2b 55 32 65 2b 69 4b 6f 34 59 46 57 7a 38 32 37 6e 2b 71 72 6b 52 6b 34 0a 72 36 70 38 46 55 t+U2e+iKo4YFWz827n+qrkRk4.r6p8FU
1b6480 33 7a 74 71 4f 4e 70 66 53 4f 39 6b 53 70 70 2b 67 68 6c 61 30 2b 41 47 49 57 69 50 41 43 75 76 3ztqONpfSO9kSpp+ghla0+AGIWiPACuv
1b64a0 78 68 49 2b 59 7a 6d 7a 42 36 61 7a 5a 69 65 36 30 45 49 34 52 59 5a 65 4c 62 4b 34 72 6e 4a 56 xhI+YzmzB6azZie60EI4RYZeLbK4rnJV
1b64c0 4d 33 59 6c 4e 66 0a 76 4e 6f 42 59 69 6d 69 70 69 64 78 35 6a 6f 69 66 73 46 76 48 5a 56 77 49 M3YlNf.vNoBYimipidx5joifsFvHZVwI
1b64e0 45 6f 48 4e 4e 2f 71 2f 78 57 41 35 62 72 58 65 74 68 62 64 58 77 46 65 69 6c 48 66 6b 43 6f 4d EoHNN/q/xWA5brXethbdXwFeilHfkCoM
1b6500 52 4e 33 7a 55 41 37 74 46 46 48 65 69 34 52 34 30 63 52 0a 33 70 31 6d 30 49 76 56 56 47 62 36 RN3zUA7tFFHei4R40cR.3p1m0IvVVGb6
1b6520 67 31 58 71 66 4d 49 70 69 52 76 70 62 37 50 4f 34 67 57 45 79 53 38 2b 65 49 56 69 62 73 6c 66 g1XqfMIpiRvpb7PO4gWEyS8+eIVibslf
1b6540 77 58 68 6a 64 46 6a 41 53 42 67 4d 6d 54 6e 72 70 4d 77 61 74 58 6c 61 6a 52 57 63 32 42 51 4e wXhjdFjASBgMmTnrpMwatXlajRWc2BQN
1b6560 0a 39 6e 6f 48 56 38 63 69 67 77 55 74 50 4a 73 6c 4a 6a 30 59 73 36 6c 44 66 4d 6a 49 71 32 53 .9noHV8cigwUtPJslJj0Ys6lDfMjIq2S
1b6580 50 44 71 4f 2f 6e 42 75 64 4d 4e 76 61 30 42 6b 75 71 6a 7a 78 2b 7a 4f 41 64 75 54 4e 72 52 6c PDqO/nBudMNva0Bkuqjzx+zOAduTNrRl
1b65a0 50 42 53 65 4f 45 36 46 75 77 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 PBSeOE6Fuwg==.-----END.CERTIFICA
1b65c0 54 45 2d 2d 2d 2d 2d 0a 0a 41 74 6f 73 20 54 72 75 73 74 65 64 52 6f 6f 74 20 32 30 31 31 0a 3d TE-----..Atos.TrustedRoot.2011.=
1b65e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1b6600 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 CERTIFICATE-----.MIIDdzCCAl+gAwI
1b6620 42 41 67 49 49 58 44 50 4c 59 69 78 66 73 7a 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 BAgIIXDPLYixfszIwDQYJKoZIhvcNAQE
1b6640 4c 42 51 41 77 50 44 45 65 4d 42 77 47 41 31 55 45 41 77 77 56 51 58 52 76 63 79 42 55 0a 63 6e LBQAwPDEeMBwGA1UEAwwVQXRvcyBU.cn
1b6660 56 7a 64 47 56 6b 55 6d 39 76 64 43 41 79 4d 44 45 78 4d 51 30 77 43 77 59 44 56 51 51 4b 44 41 VzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDA
1b6680 52 42 64 47 39 7a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 41 65 46 77 30 78 4d 54 RBdG9zMQswCQYDVQQGEwJERTAeFw0xMT
1b66a0 41 33 4d 44 63 78 4e 44 55 34 0a 4d 7a 42 61 46 77 30 7a 4d 44 45 79 4d 7a 45 79 4d 7a 55 35 4e A3MDcxNDU4.MzBaFw0zMDEyMzEyMzU5N
1b66c0 54 6c 61 4d 44 77 78 48 6a 41 63 42 67 4e 56 42 41 4d 4d 46 55 46 30 62 33 4d 67 56 48 4a 31 63 TlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c
1b66e0 33 52 6c 5a 46 4a 76 62 33 51 67 4d 6a 41 78 4d 54 45 4e 4d 41 73 47 0a 41 31 55 45 43 67 77 45 3RlZFJvb3QgMjAxMTENMAsG.A1UECgwE
1b6700 51 58 52 76 63 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 77 67 67 45 69 4d 41 30 47 QXRvczELMAkGA1UEBhMCREUwggEiMA0G
1b6720 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
1b6740 41 51 43 56 0a 68 54 75 58 62 79 6f 37 4c 6a 76 50 70 76 4d 70 4e 62 37 50 47 4b 77 2b 71 74 6e AQCV.hTuXbyo7LjvPpvMpNb7PGKw+qtn
1b6760 34 54 61 41 2b 47 6b 65 35 76 4a 72 66 38 76 37 4d 50 6b 66 6f 65 70 62 43 4a 49 34 31 39 4b 6b 4TaA+Gke5vJrf8v7MPkfoepbCJI419Kk
1b6780 4d 2f 49 4c 39 62 63 46 79 59 69 65 39 36 6d 76 72 0a 35 34 72 4d 56 44 36 51 55 4d 2b 41 31 4a M/IL9bcFyYie96mvr.54rMVD6QUM+A1J
1b67a0 58 37 36 4c 57 43 31 42 54 46 74 71 6c 56 4a 56 66 62 73 56 44 32 73 47 42 6b 57 58 70 70 7a 77 X76LWC1BTFtqlVJVfbsVD2sGBkWXppzw
1b67c0 4f 33 62 77 32 2b 79 6a 35 76 64 48 4c 71 71 6a 41 71 63 32 4b 2b 53 5a 46 68 79 42 48 2b 0a 44 O3bw2+yj5vdHLqqjAqc2K+SZFhyBH+.D
1b67e0 67 4d 71 39 32 6f 67 33 41 49 56 44 56 34 56 61 76 7a 6a 67 73 47 31 78 5a 31 6b 43 57 79 6a 57 gMq92og3AIVDV4VavzjgsG1xZ1kCWyjW
1b6800 5a 67 48 4a 38 63 62 6c 69 74 68 64 48 46 73 51 2f 48 33 4e 59 6b 51 34 4a 37 73 56 61 45 33 49 ZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3I
1b6820 71 4b 48 42 41 55 73 52 33 32 30 0a 48 4c 6c 69 4b 57 59 6f 79 72 66 68 6b 2f 57 6b 6c 41 4f 5a qKHBAUsR320.HLliKWYoyrfhk/WklAOZ
1b6840 75 58 43 46 74 65 5a 49 36 6f 31 51 2f 4e 6e 65 7a 47 38 48 44 74 30 4c 63 70 32 41 4d 42 59 48 uXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYH
1b6860 6c 54 38 6f 44 76 33 46 64 55 39 54 31 6e 53 61 74 43 51 75 6a 67 4b 52 0a 7a 33 62 46 6d 78 35 lT8oDv3FdU9T1nSatCQujgKR.z3bFmx5
1b6880 56 64 4a 78 34 49 62 48 77 4c 66 45 4c 6e 38 4c 56 6c 68 67 66 38 46 51 69 65 6f 77 48 41 67 4d VdJx4IbHwLfELn8LVlhgf8FQieowHAgM
1b68a0 42 41 41 47 6a 66 54 42 37 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 6e 70 51 61 78 4c 4b 59 BAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKY
1b68c0 4a 59 4f 37 52 0a 6c 2b 6c 77 72 72 77 37 47 57 7a 62 49 54 41 50 42 67 4e 56 48 52 4d 42 41 66 JYO7R.l+lwrrw7GWzbITAPBgNVHRMBAf
1b68e0 38 45 42 54 41 44 41 51 48 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4b 65 6c 42 72 8EBTADAQH/MB8GA1UdIwQYMBaAFKelBr
1b6900 45 73 70 67 6c 67 37 74 47 58 36 58 43 75 76 44 73 5a 0a 62 4e 73 68 4d 42 67 47 41 31 55 64 49 Espglg7tGX6XCuvDsZ.bNshMBgGA1UdI
1b6920 41 51 52 4d 41 38 77 44 51 59 4c 4b 77 59 42 42 41 47 77 4c 51 4d 45 41 51 45 77 44 67 59 44 56 AQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDV
1b6940 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a R0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB.
1b6960 43 77 55 41 41 34 49 42 41 51 41 6d 64 7a 54 62 6c 45 69 47 4b 6b 47 64 4c 44 34 47 6b 47 44 45 CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDE
1b6980 6a 4b 77 4c 56 4c 67 66 75 58 76 54 42 7a 6e 6b 2b 6a 35 37 73 6a 31 4f 37 5a 38 6a 76 5a 66 7a jKwLVLgfuXvTBznk+j57sj1O7Z8jvZfz
1b69a0 61 31 7a 76 37 76 31 41 70 74 2b 68 0a 6b 36 45 4b 68 71 7a 76 49 4e 42 35 41 62 31 34 39 78 6e a1zv7v1Apt+h.k6EKhqzvINB5Ab149xn
1b69c0 59 4a 44 45 30 42 41 47 6d 75 68 57 61 77 79 66 63 32 45 38 50 7a 42 68 6a 2f 35 6b 50 44 70 46 YJDE0BAGmuhWawyfc2E8PzBhj/5kPDpF
1b69e0 72 64 52 62 68 49 66 7a 59 4a 73 64 48 74 36 62 50 57 48 4a 78 66 72 72 68 0a 54 5a 56 48 4f 38 rdRbhIfzYJsdHt6bPWHJxfrrh.TZVHO8
1b6a00 6d 76 62 61 47 30 77 65 79 4a 39 72 51 50 4f 4c 58 69 5a 4e 77 6c 7a 36 62 62 36 35 70 63 6d 61 mvbaG0weyJ9rQPOLXiZNwlz6bb65pcma
1b6a20 48 46 43 4e 37 39 35 74 72 56 31 6c 70 46 44 4d 53 33 77 72 55 55 37 37 51 52 2f 77 34 56 74 66 HFCN795trV1lpFDMS3wrUU77QR/w4Vtf
1b6a40 58 31 32 38 61 39 0a 36 31 71 6e 38 46 59 69 71 54 78 6c 56 4d 59 56 71 4c 32 47 6e 73 32 44 6c X128a9.61qn8FYiqTxlVMYVqL2Gns2Dl
1b6a60 6d 68 36 63 59 47 4a 34 51 76 68 36 68 45 62 61 41 6a 4d 61 5a 37 73 6e 6b 47 65 52 44 49 6d 65 mh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDIme
1b6a80 75 4b 48 43 6e 45 39 36 2b 52 61 70 4e 4c 62 78 63 33 47 0a 33 6d 42 2f 75 66 4e 50 52 4a 4c 76 uKHCnE96+RapNLbxc3G.3mB/ufNPRJLv
1b6aa0 4b 72 63 59 50 71 63 5a 32 51 74 39 73 54 64 42 51 72 43 36 59 42 33 79 2f 67 6b 52 73 50 43 48 KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCH
1b6ac0 65 36 65 64 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a e6ed.-----END.CERTIFICATE-----..
1b6ae0 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 31 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d QuoVadis.Root.CA.1.G3.==========
1b6b00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1b6b20 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 55 65 46 68 66 TE-----.MIIFYDCCA0igAwIBAgIUeFhf
1b6b40 4c 71 30 73 47 55 76 6a 4e 77 63 31 4e 42 4d 6f 74 5a 62 55 5a 5a 4d 77 44 51 59 4a 4b 6f 5a 49 Lq0sGUvjNwc1NBMotZbUZZMwDQYJKoZI
1b6b60 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 hvcNAQELBQAwSDELMAkG.A1UEBhMCQk0
1b6b80 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl
1b6ba0 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJ
1b6bc0 76 0a 62 33 51 67 51 30 45 67 4d 53 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 78 4e 7a v.b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNz
1b6be0 49 33 4e 44 52 61 46 77 30 30 4d 6a 41 78 4d 54 49 78 4e 7a 49 33 4e 44 52 61 4d 45 67 78 43 7a I3NDRaFw00MjAxMTIxNzI3NDRaMEgxCz
1b6c00 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 AJBgNVBAYTAkJN.MRkwFwYDVQQKExBRd
1b6c20 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 W9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDE
1b6c40 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 45 67 0a 52 7a 4d 77 xVRdW9WYWRpcyBSb290IENBIDEg.RzMw
1b6c60 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
1b6c80 67 67 49 4b 41 6f 49 43 41 51 43 67 76 6c 41 51 6a 75 6e 79 62 45 43 30 42 4a 79 46 75 54 48 4b ggIKAoICAQCgvlAQjunybEC0BJyFuTHK
1b6ca0 33 43 33 6b 45 61 6b 45 0a 50 42 74 56 77 65 64 59 4d 42 30 6b 74 4d 50 76 68 64 36 4d 4c 4f 48 3C3kEakE.PBtVwedYMB0ktMPvhd6MLOH
1b6cc0 42 50 64 2b 43 35 6b 2b 74 52 34 64 73 37 46 74 4a 77 55 72 56 75 34 2f 73 68 36 78 2f 67 70 71 BPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpq
1b6ce0 47 37 44 30 44 6d 56 49 42 30 6a 57 65 72 4e 72 77 55 38 6c 6d 0a 50 4e 53 73 41 67 48 61 4a 4e G7D0DmVIB0jWerNrwU8lm.PNSsAgHaJN
1b6d00 4d 37 71 41 4a 47 72 36 51 63 34 2f 68 7a 57 48 61 33 39 67 36 51 44 62 58 77 7a 38 7a 36 2b 63 M7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+c
1b6d20 5a 4d 35 63 4f 47 4d 41 71 4e 46 33 34 31 36 38 58 66 75 77 36 63 77 49 32 48 34 34 67 34 68 57 ZM5cOGMAqNF34168Xfuw6cwI2H44g4hW
1b6d40 66 36 0a 50 73 65 72 34 42 4f 63 42 52 69 59 7a 35 50 31 73 5a 4b 30 2f 43 50 54 7a 39 58 45 4a f6.Pser4BOcBRiYz5P1sZK0/CPTz9XEJ
1b6d60 30 6e 67 6e 6a 79 62 43 4b 4f 4c 58 53 6f 68 34 50 77 35 71 6c 50 61 66 58 37 50 47 67 6c 54 76 0ngnjybCKOLXSoh4Pw5qlPafX7PGglTv
1b6d80 46 30 46 42 4d 2b 68 53 6f 2b 4c 64 6f 49 4e 0a 6f 66 6a 53 78 78 52 33 57 35 41 32 42 34 47 62 F0FBM+hSo+LdoIN.ofjSxxR3W5A2B4Gb
1b6da0 50 67 62 36 55 6c 35 6a 78 61 59 41 2f 71 58 70 55 68 74 53 74 5a 49 35 63 67 4d 4a 59 72 32 77 Pgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2w
1b6dc0 59 42 5a 75 70 74 30 6c 77 67 4e 6d 33 66 4d 45 30 55 44 69 54 6f 75 47 39 47 2f 6c 0a 67 36 41 YBZupt0lwgNm3fME0UDiTouG9G/l.g6A
1b6de0 6e 68 46 34 45 77 66 57 51 76 54 41 39 78 4f 2b 6f 61 62 77 34 6d 36 53 6b 6c 74 46 69 32 6d 6e nhF4EwfWQvTA9xO+oabw4m6SkltFi2mn
1b6e00 41 41 5a 61 75 79 38 52 52 4e 4f 6f 4d 71 76 38 68 6a 6c 6d 50 53 6c 7a 6b 59 5a 71 6e 30 75 6b AAZauy8RRNOoMqv8hjlmPSlzkYZqn0uk
1b6e20 71 65 49 31 52 50 54 6f 56 0a 37 71 4a 5a 6a 71 6c 63 33 73 58 35 6b 43 4c 6c 69 45 56 78 33 5a qeI1RPToV.7qJZjqlc3sX5kCLliEVx3Z
1b6e40 47 5a 62 48 71 66 50 54 32 59 66 46 37 32 76 68 5a 6f 6f 46 36 75 43 79 50 38 57 67 2b 71 49 6e GZbHqfPT2YfF72vhZooF6uCyP8Wg+qIn
1b6e60 59 74 79 61 45 51 48 65 54 54 52 43 4f 51 69 4a 2f 47 4b 75 62 58 0a 39 5a 71 7a 57 42 34 76 4d YtyaEQHeTTRCOQiJ/GKubX.9ZqzWB4vM
1b6e80 49 6b 49 47 31 53 69 74 5a 67 6a 37 41 68 33 48 4a 56 64 59 64 48 4c 69 5a 78 66 6f 6b 71 52 6d IkIG1SitZgj7Ah3HJVdYdHLiZxfokqRm
1b6ea0 75 38 68 71 6b 6b 57 43 4b 69 39 59 53 67 78 79 58 53 74 68 66 62 5a 78 62 47 4c 30 65 55 51 4d u8hqkkWCKi9YSgxyXSthfbZxbGL0eUQM
1b6ec0 6b 31 66 0a 69 79 41 36 50 45 6b 66 4d 34 56 5a 44 64 76 4c 43 58 56 44 61 58 50 37 61 33 46 39 k1f.iyA6PEkfM4VZDdvLCXVDaXP7a3F9
1b6ee0 38 4e 2f 45 54 48 33 47 6f 79 37 49 6c 58 6e 4c 63 36 4b 4f 54 6b 30 6b 2b 31 37 6b 42 4c 35 79 8N/ETH3Goy7IlXnLc6KOTk0k+17kBL5y
1b6f00 47 36 59 6e 4c 55 6c 61 6d 58 72 58 58 41 6b 67 0a 74 33 2b 55 75 55 2f 78 44 52 78 65 69 45 49 G6YnLUlamXrXXAkg.t3+UuU/xDRxeiEI
1b6f20 62 45 62 66 6e 6b 64 75 65 62 50 52 71 33 34 77 47 6d 41 4f 74 7a 43 6a 76 70 55 66 7a 55 77 49 bEbfnkduebPRq34wGmAOtzCjvpUfzUwI
1b6f40 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 DAQABo0IwQDAPBgNVHRMBAf8EBTAD.AQ
1b6f60 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 H/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ
1b6f80 34 45 46 67 51 55 6f 35 66 57 38 31 36 69 45 4f 47 72 52 5a 38 38 46 32 51 38 37 67 46 77 6e 4d 4EFgQUo5fW816iEOGrRZ88F2Q87gFwnM
1b6fa0 77 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 42 6a 36 57 wwDQYJKoZI.hvcNAQELBQADggIBABj6W
1b6fc0 33 58 38 50 6e 72 48 58 33 66 48 79 74 2f 50 58 38 4d 53 78 45 42 64 31 44 4b 71 75 47 72 58 31 3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1
1b6fe0 52 55 56 52 70 67 6a 70 65 61 51 57 78 69 5a 54 4f 4f 74 51 71 4f 43 0a 4d 54 61 49 7a 65 6e 37 RUVRpgjpeaQWxiZTOOtQqOC.MTaIzen7
1b7000 78 41 53 57 53 49 73 42 78 34 30 42 7a 31 73 7a 42 70 5a 47 5a 6e 51 64 54 2b 33 42 74 72 6d 30 xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0
1b7020 44 57 48 4d 59 33 37 58 4c 6e 65 4d 6c 68 77 71 49 32 68 72 68 56 64 32 63 44 4d 54 2f 75 46 50 DWHMY37XLneMlhwqI2hrhVd2cDMT/uFP
1b7040 70 69 4e 33 0a 47 50 6f 61 6a 4f 69 39 5a 63 6e 50 50 2f 54 4a 46 39 7a 72 78 37 7a 41 42 43 34 piN3.GPoajOi9ZcnPP/TJF9zrx7zABC4
1b7060 74 52 69 39 70 5a 73 4d 62 6a 2f 37 73 50 74 50 4b 6c 4c 39 32 43 69 55 4e 71 58 73 43 48 4b 6e tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKn
1b7080 51 4f 31 38 4c 77 49 45 36 50 57 54 68 76 36 63 74 0a 54 72 31 4e 78 4e 67 70 78 69 49 59 30 4d QO18LwIE6PWThv6ct.Tr1NxNgpxiIY0M
1b70a0 57 73 63 67 4b 43 50 36 6f 36 6f 6a 6f 69 6c 7a 48 64 43 47 50 44 64 52 53 35 59 43 67 74 57 32 WscgKCP6o6ojoilzHdCGPDdRS5YCgtW2
1b70c0 6a 67 46 71 6c 6d 67 69 4e 52 39 65 74 54 32 44 47 62 65 2b 6d 33 6e 55 76 72 69 42 62 50 0a 2b jgFqlmgiNR9etT2DGbe+m3nUvriBbP.+
1b70e0 56 30 34 69 6b 6b 77 6a 2b 33 78 36 78 6e 30 64 78 6f 78 47 45 31 6e 56 47 77 76 62 32 58 35 32 V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52
1b7100 7a 33 73 49 65 78 65 39 50 53 4c 79 6d 42 6c 56 4e 46 78 5a 50 54 35 70 71 4f 42 4d 7a 59 7a 63 z3sIexe9PSLymBlVNFxZPT5pqOBMzYzc
1b7120 66 43 6b 65 46 39 4f 72 59 4d 68 0a 33 6a 52 4a 6a 65 68 5a 72 4a 33 79 64 6c 6f 32 38 68 50 30 fCkeF9OrYMh.3jRJjehZrJ3ydlo28hP0
1b7140 72 2b 41 4a 78 32 45 71 62 50 66 67 6e 61 36 37 68 6b 6f 6f 62 79 37 75 74 48 6e 4e 6b 44 50 44 r+AJx2EqbPfgna67hkooby7utHnNkDPD
1b7160 73 33 62 36 39 66 42 73 6e 51 47 51 2b 70 36 51 39 70 78 79 7a 30 66 61 0a 77 78 2f 6b 4e 53 42 s3b69fBsnQGQ+p6Q9pxyz0fa.wx/kNSB
1b7180 54 38 6c 54 52 33 32 47 44 70 67 4c 69 4a 54 6a 65 68 54 49 74 58 6e 4f 51 55 6c 31 43 78 4d 34 T8lTR32GDpgLiJTjehTItXnOQUl1CxM4
1b71a0 39 53 2b 48 35 47 59 51 64 31 61 4a 51 7a 45 48 37 51 52 54 44 76 64 62 4a 57 71 4e 6a 5a 67 4b 9S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgK
1b71c0 41 76 51 55 36 0a 4f 30 65 63 37 41 41 6d 54 50 57 49 55 62 2b 6f 49 33 38 59 42 37 41 4c 37 59 AvQU6.O0ec7AAmTPWIUb+oI38YB7AL7Y
1b71e0 73 6d 6f 57 54 54 59 55 72 72 58 4a 2f 65 73 36 39 6e 41 37 4d 66 33 57 31 64 61 57 68 70 71 31 smoWTTYUrrXJ/es69nA7Mf3W1daWhpq1
1b7200 34 36 37 48 78 70 76 4d 63 37 68 55 36 65 46 62 6d 30 0a 46 55 2f 44 6c 58 70 59 31 38 6c 73 36 467HxpvMc7hU6eFbm0.FU/DlXpY18ls6
1b7220 57 79 35 38 79 6c 6a 58 72 51 73 38 43 30 39 37 56 70 6c 34 4b 6c 62 51 4d 4a 49 6d 59 46 74 6e Wy58yljXrQs8C097Vpl4KlbQMJImYFtn
1b7240 68 38 47 4b 6a 77 53 74 49 73 50 6d 36 49 6b 38 4b 61 4e 31 6e 72 67 53 37 5a 6b 6c 6d 4f 56 0a h8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV.
1b7260 68 4d 4a 4b 7a 52 77 75 4a 49 63 7a 59 4f 58 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 hMJKzRwuJIczYOXD.-----END.CERTIF
1b7280 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 32 20 47 ICATE-----..QuoVadis.Root.CA.2.G
1b72a0 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 3.=====================.-----BEG
1b72c0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 30 69 67 IN.CERTIFICATE-----.MIIFYDCCA0ig
1b72e0 41 77 49 42 41 67 49 55 52 46 63 30 4a 46 75 42 69 5a 73 31 38 73 36 34 4b 7a 74 62 70 79 62 77 AwIBAgIURFc0JFuBiZs18s64Kztbpybw
1b7300 64 53 67 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 4c 4d 41 6b 47 dSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
1b7320 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 31 62 31 5a .A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1Z
1b7340 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 56 46 hZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF
1b7360 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 45 67 4d 69 42 48 4d 7a 41 65 46 77 1b1ZhZGlzIFJv.b3QgQ0EgMiBHMzAeFw
1b7380 30 78 4d 6a 41 78 4d 54 49 78 4f 44 55 35 4d 7a 4a 61 46 77 30 30 4d 6a 41 78 4d 54 49 78 4f 44 0xMjAxMTIxODU5MzJaFw00MjAxMTIxOD
1b73a0 55 35 4d 7a 4a 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 U5MzJaMEgxCzAJBgNVBAYTAkJN.MRkwF
1b73c0 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d wYDVQQKExBRdW9WYWRpcyBMaW1pdGVkM
1b73e0 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 R4wHAYDVQQDExVRdW9WYWRpcyBSb290I
1b7400 45 4e 42 49 44 49 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 ENBIDIg.RzMwggIiMA0GCSqGSIb3DQEB
1b7420 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 68 72 69 57 79 41 52 6a 63 AQUAA4ICDwAwggIKAoICAQChriWyARjc
1b7440 56 34 67 2f 52 75 76 35 72 2b 4c 72 49 33 48 69 6d 74 46 68 0a 5a 69 46 66 71 71 38 6e 55 65 56 V4g/Ruv5r+LrI3HimtFh.ZiFfqq8nUeV
1b7460 75 47 78 62 55 4c 58 31 51 73 46 4e 33 76 58 67 36 59 4f 4a 6b 41 70 74 38 68 70 76 57 47 6f 36 uGxbULX1QsFN3vXg6YOJkApt8hpvWGo6
1b7480 74 2f 78 38 56 66 39 57 56 48 68 4c 4c 35 68 53 45 42 4d 48 66 4e 72 4d 57 6e 34 72 6a 79 64 75 t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjydu
1b74a0 59 0a 4e 4d 37 59 4d 78 63 6f 52 76 79 6e 79 66 44 53 74 4e 56 4e 43 58 4a 4a 2b 66 4b 48 34 36 Y.NM7YMxcoRvynyfDStNVNCXJJ+fKH46
1b74c0 6e 61 66 61 46 39 61 37 49 36 4a 61 6c 74 55 6b 53 73 2b 4c 35 75 2b 39 79 6d 63 35 47 51 59 61 nafaF9a7I6JaltUkSs+L5u+9ymc5GQYa
1b74e0 59 44 46 43 44 79 35 34 65 6a 69 4b 32 74 0a 6f 49 7a 2f 70 67 73 6c 55 69 58 6e 46 67 48 56 79 YDFCDy54ejiK2t.oIz/pgslUiXnFgHVy
1b7500 37 67 31 67 51 79 6a 4f 2f 44 68 34 66 78 61 58 63 36 41 63 57 33 34 53 61 73 2b 4f 37 71 34 31 7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q41
1b7520 34 41 42 2b 36 58 72 57 37 50 46 58 6d 41 71 4d 61 43 76 4e 2b 67 67 4f 70 2b 6f 0a 4d 69 77 4d 4AB+6XrW7PFXmAqMaCvN+ggOp+o.MiwM
1b7540 7a 41 6b 64 30 35 36 4f 58 62 78 4d 6d 4f 37 46 47 6d 68 37 37 46 4f 6d 36 52 51 31 6f 39 2f 4e zAkd056OXbxMmO7FGmh77FOm6RQ1o9/N
1b7560 67 4a 38 4d 53 50 73 63 39 50 47 2f 53 72 6a 36 31 59 78 78 53 73 63 66 72 66 35 42 6d 72 4f 44 gJ8MSPsc9PG/Srj61YxxSscfrf5BmrOD
1b7580 58 66 4b 45 56 75 2b 6c 0a 56 30 50 4f 4b 61 32 4d 71 31 57 2f 78 50 74 62 41 64 30 6a 49 61 46 XfKEVu+l.V0POKa2Mq1W/xPtbAd0jIaF
1b75a0 59 41 49 37 44 30 47 6f 54 37 52 50 6a 45 69 75 41 33 47 66 6d 6c 62 4c 4e 48 69 4a 75 4b 76 68 YAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvh
1b75c0 42 31 50 4c 4b 46 41 65 4e 69 6c 55 53 78 6d 6e 31 75 49 5a 6f 0a 4c 31 4e 65 73 4e 4b 71 49 63 B1PLKFAeNilUSxmn1uIZo.L1NesNKqIc
1b75e0 47 59 35 6a 44 6a 5a 31 58 48 6d 32 36 73 47 61 68 56 70 6b 55 47 30 43 4d 36 32 2b 74 6c 58 53 GY5jDjZ1XHm26sGahVpkUG0CM62+tlXS
1b7600 6f 52 45 66 41 37 54 38 70 74 39 44 54 45 63 65 54 2f 41 46 72 32 58 4b 34 6a 59 49 56 7a 38 65 oREfA7T8pt9DTEceT/AFr2XK4jYIVz8e
1b7620 51 51 0a 73 53 57 75 31 5a 4b 37 45 38 45 4d 34 44 6e 61 74 44 6c 58 74 61 73 31 71 6e 49 68 4f QQ.sSWu1ZK7E8EM4DnatDlXtas1qnIhO
1b7640 34 4d 31 35 7a 48 66 65 69 46 75 75 44 49 49 66 52 30 79 6b 52 56 4b 59 6e 4c 50 34 33 65 68 76 4M15zHfeiFuuDIIfR0ykRVKYnLP43ehv
1b7660 4e 55 52 47 33 59 42 5a 77 6a 67 51 51 76 44 0a 36 78 56 75 2b 4b 51 5a 32 61 4b 72 72 2b 49 6e NURG3YBZwjgQQvD.6xVu+KQZ2aKrr+In
1b7680 55 6c 59 72 41 6f 6f 73 46 43 54 35 76 30 49 43 76 79 62 49 78 6f 2f 67 62 6a 68 39 55 79 33 6c UlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l
1b76a0 37 5a 69 7a 6c 57 4e 6f 66 2f 6b 31 39 4e 2b 49 78 57 41 31 6b 73 42 38 61 52 78 68 0a 6c 52 62 7ZizlWNof/k19N+IxWA1ksB8aRxh.lRb
1b76c0 51 36 39 34 4c 72 7a 34 45 45 45 56 6c 57 46 41 34 72 30 6a 79 57 62 59 57 38 6a 77 4e 6b 41 4c Q694Lrz4EEEVlWFA4r0jyWbYW8jwNkAL
1b76e0 47 63 43 34 42 72 54 77 56 31 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d GcC4BrTwV1wIDAQABo0IwQDAPBgNVHRM
1b7700 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 BAf8EBTAD.AQH/MA4GA1UdDwEB/wQEAw
1b7720 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 65 64 76 64 6c 71 2f 59 4f 78 4a 57 38 IBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8
1b7740 61 6c 64 37 74 79 46 6e 47 62 78 44 30 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 ald7tyFnGbxD0wDQYJKoZI.hvcNAQELB
1b7760 51 41 44 67 67 49 42 41 4a 48 66 67 44 39 44 43 58 35 78 77 76 66 72 73 34 69 50 34 56 47 79 76 QADggIBAJHfgD9DCX5xwvfrs4iP4VGyv
1b7780 44 31 31 2b 53 68 64 79 4c 79 5a 6d 33 74 64 71 75 58 4b 34 51 72 33 36 4c 4c 54 6e 39 31 6e 4d D11+ShdyLyZm3tdquXK4Qr36LLTn91nM
1b77a0 58 36 36 0a 41 61 72 48 61 6b 45 37 6b 4e 51 49 58 4c 4a 67 61 70 44 77 79 4d 34 44 59 76 6d 4c X66.AarHakE7kNQIXLJgapDwyM4DYvmL
1b77c0 37 66 74 75 4b 74 77 47 54 54 77 70 44 34 6b 57 69 6c 68 4d 53 41 2f 6f 68 47 48 71 50 48 4b 6d 7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKm
1b77e0 64 2b 52 43 72 6f 69 6a 51 31 68 35 66 71 37 4b 0a 70 56 4d 4e 71 54 31 77 76 53 41 5a 59 61 52 d+RCroijQ1h5fq7K.pVMNqT1wvSAZYaR
1b7800 73 4f 50 78 44 4d 75 48 42 52 2f 2f 34 37 50 45 52 49 6a 4b 57 6e 4d 4c 32 57 32 6d 57 65 79 41 sOPxDMuHBR//47PERIjKWnML2W2mWeyA
1b7820 4d 51 30 47 61 57 2f 5a 5a 47 59 6a 65 56 59 67 33 55 51 74 34 58 41 6f 65 6f 30 4c 39 0a 78 35 MQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9.x5
1b7840 32 49 44 38 44 79 65 41 49 6b 56 4a 4f 76 69 59 65 49 79 55 71 41 48 65 72 51 62 6a 35 68 4c 6a 2ID8DyeAIkVJOviYeIyUqAHerQbj5hLj
1b7860 61 37 4e 51 34 6e 6c 76 31 6d 4e 44 74 68 63 6e 50 78 46 6c 78 48 42 6c 52 4a 41 48 70 59 45 72 a7NQ4nlv1mNDthcnPxFlxHBlRJAHpYEr
1b7880 41 4b 37 34 58 39 73 62 67 7a 0a 64 57 71 54 48 42 4c 6d 59 46 35 76 48 58 2f 4a 48 79 50 4c 68 AK74X9sbgz.dWqTHBLmYF5vHX/JHyPLh
1b78a0 47 47 66 48 6f 4a 45 2b 56 2b 74 59 6c 55 6b 6d 6c 4b 59 37 56 48 6e 6f 58 36 58 4f 75 59 76 48 GGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvH
1b78c0 78 48 61 55 34 41 73 68 5a 36 72 4e 52 44 62 49 6c 39 71 78 56 36 58 0a 55 2f 49 79 41 67 6b 77 xHaU4AshZ6rNRDbIl9qxV6X.U/IyAgkw
1b78e0 6f 31 6a 77 44 51 48 56 63 73 61 78 66 47 6c 37 77 2f 55 32 52 63 78 68 62 6c 35 4d 6c 4d 56 65 o1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVe
1b7900 72 75 67 4f 58 6f 75 2f 39 38 33 67 37 61 45 4f 47 7a 50 75 56 42 6a 2b 44 37 37 76 66 6f 52 72 rugOXou/983g7aEOGzPuVBj+D77vfoRr
1b7920 51 2b 4e 77 0a 6d 4e 74 64 64 62 49 4e 57 51 65 46 46 53 4d 35 31 76 48 66 71 53 59 50 31 6b 6a Q+Nw.mNtddbINWQeFFSM51vHfqSYP1kj
1b7940 48 73 36 59 69 39 54 4d 33 57 70 56 48 6e 33 75 36 47 42 56 76 2f 39 59 55 5a 49 4e 4a 30 67 70 Hs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gp
1b7960 6e 49 64 73 50 4e 57 4e 67 4b 43 4c 6a 73 5a 57 44 0a 7a 59 57 6d 33 53 38 50 35 32 64 53 62 72 nIdsPNWNgKCLjsZWD.zYWm3S8P52dSbr
1b7980 73 76 68 58 7a 31 53 6e 50 6e 78 54 37 41 76 53 45 53 42 54 2f 38 74 77 4e 4a 41 6c 76 49 4a 65 svhXz1SnPnxT7AvSESBT/8twNJAlvIJe
1b79a0 62 69 56 44 6a 31 65 59 65 4d 48 56 4f 79 54 6f 56 37 42 6a 6a 48 4c 50 6a 34 73 48 4b 4e 0a 4a biVDj1eYeMHVOyToV7BjjHLPj4sHKN.J
1b79c0 65 56 33 55 76 51 44 48 45 69 6d 55 46 2b 49 49 44 42 75 38 6f 4a 44 71 7a 32 58 68 4f 64 54 2b eV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+
1b79e0 79 48 42 54 77 38 69 6d 6f 61 34 57 53 72 32 52 7a 30 5a 69 43 33 6f 68 65 47 65 37 49 55 49 61 yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIa
1b7a00 72 46 73 4e 4d 6b 64 37 45 67 72 0a 4f 33 6a 74 5a 73 53 4f 65 57 6d 44 33 6e 2b 4d 0a 2d 2d 2d rFsNMkd7Egr.O3jtZsSOeWmD3n+M.---
1b7a20 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 --END.CERTIFICATE-----..QuoVadis
1b7a40 20 52 6f 6f 74 20 43 41 20 33 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.CA.3.G3.==================
1b7a60 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1b7a80 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 55 4c 76 57 62 41 69 69 6e 32 33 72 2f MIIFYDCCA0igAwIBAgIULvWbAiin23r/
1b7aa0 31 61 4f 70 37 72 30 44 6f 4d 38 53 61 68 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL
1b7ac0 42 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e BQAwSDELMAkG.A1UEBhMCQk0xGTAXBgN
1b7ae0 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 VBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjA
1b7b00 63 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 cBgNVBAMTFVF1b1ZhZGlzIFJv.b3QgQ0
1b7b20 45 67 4d 79 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 79 4d 44 49 32 4d 7a 4a 61 46 77 EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw
1b7b40 30 30 4d 6a 41 78 4d 54 49 79 4d 44 49 32 4d 7a 4a 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBA
1b7b60 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 YTAkJN.MRkwFwYDVQQKExBRdW9WYWRpc
1b7b80 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 59 yBMaW1pdGVkMR4wHAYDVQQDExVRdW9WY
1b7ba0 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 4d 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 WRpcyBSb290IENBIDMg.RzMwggIiMA0G
1b7bc0 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 CSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
1b7be0 41 51 43 7a 79 77 34 51 5a 34 37 71 46 4a 65 6e 4d 69 6f 4b 56 6a 5a 2f 61 45 7a 48 73 32 38 36 AQCzyw4QZ47qFJenMioKVjZ/aEzHs286
1b7c00 0a 49 78 53 52 2f 78 6c 2f 70 63 71 73 37 72 4e 32 6e 58 72 70 69 78 75 72 61 7a 48 62 2b 67 74 .IxSR/xl/pcqs7rN2nXrpixurazHb+gt
1b7c20 54 54 4b 2f 46 70 52 70 35 50 49 70 4d 2f 36 7a 66 4a 64 35 4f 32 59 49 79 43 30 54 65 79 74 75 TTK/FpRp5PIpM/6zfJd5O2YIyC0Teytu
1b7c40 4d 72 4b 4e 75 46 6f 4d 37 70 6d 52 4c 0a 4d 6f 6e 37 46 68 59 34 66 75 74 44 34 74 4e 30 53 73 MrKNuFoM7pmRL.Mon7FhY4futD4tN0Ss
1b7c60 4a 69 43 6e 4d 4b 33 55 6d 7a 56 39 4b 77 43 6f 57 64 63 54 7a 65 6f 38 76 41 4d 76 4d 42 4f 53 JiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOS
1b7c80 42 44 47 7a 58 52 55 37 4f 78 37 73 57 54 61 59 49 2b 46 72 55 6f 52 71 48 65 0a 36 6f 6b 4a 37 BDGzXRU7Ox7sWTaYI+FrUoRqHe.6okJ7
1b7ca0 55 4f 34 42 55 61 4b 68 76 56 5a 52 37 34 62 62 77 45 68 45 4c 6e 39 71 64 49 6f 79 68 41 35 43 UO4BUaKhvVZR74bbwEhELn9qdIoyhA5C
1b7cc0 63 6f 54 4e 73 2b 63 72 61 31 41 64 48 6b 72 41 6a 38 30 2f 2f 6f 67 61 58 33 54 37 6d 48 31 75 coTNs+cra1AdHkrAj80//ogaX3T7mH1u
1b7ce0 72 50 6e 4d 4e 41 33 0a 49 34 5a 79 59 55 55 70 53 46 6c 6f 62 33 65 6d 4c 6f 47 2b 42 30 31 76 rPnMNA3.I4ZyYUUpSFlob3emLoG+B01v
1b7d00 72 38 37 45 52 52 4f 52 46 48 41 47 6a 78 2b 66 2b 49 64 70 73 51 37 76 77 34 6b 5a 36 2b 6f 63 r87ERRORFHAGjx+f+IdpsQ7vw4kZ6+oc
1b7d20 59 66 78 36 62 49 72 63 31 67 4d 4c 6e 69 61 36 45 74 33 55 0a 56 44 6d 72 4a 71 4d 7a 36 6e 57 Yfx6bIrc1gMLnia6Et3U.VDmrJqMz6nW
1b7d40 42 32 69 33 4e 44 30 2f 6b 41 39 48 76 46 5a 63 62 61 35 44 46 41 70 43 54 5a 67 49 68 73 55 66 B2i3ND0/kA9HvFZcba5DFApCTZgIhsUf
1b7d60 65 69 35 70 4b 67 4c 6c 56 6a 37 57 69 4c 38 44 57 4d 32 66 61 66 73 53 6e 74 41 52 45 36 30 66 ei5pKgLlVj7WiL8DWM2fafsSntARE60f
1b7d80 37 0a 35 6c 69 35 39 77 7a 77 65 79 75 78 77 48 41 70 77 30 42 69 4c 54 74 49 61 64 77 6a 50 45 7.5li59wzweyuxwHApw0BiLTtIadwjPE
1b7da0 6a 72 65 77 6c 35 71 57 33 61 71 44 43 59 7a 34 42 79 41 34 69 6d 57 30 61 75 63 6e 6c 38 43 41 jrewl5qW3aqDCYz4ByA4imW0aucnl8CA
1b7dc0 4d 68 5a 61 36 33 34 52 79 6c 73 53 71 69 0a 4d 64 35 6d 42 50 66 41 64 4f 68 78 33 76 38 39 57 MhZa634RylsSqi.Md5mBPfAdOhx3v89W
1b7de0 63 79 57 4a 68 4b 4c 68 5a 56 58 47 71 74 72 64 51 74 45 50 52 45 6f 50 48 74 68 74 2b 4b 50 5a cyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ
1b7e00 30 2f 6c 37 44 78 4d 59 49 42 70 56 7a 67 65 41 56 75 4e 56 65 6a 48 33 38 44 4d 0a 64 79 4d 30 0/l7DxMYIBpVzgeAVuNVejH38DM.dyM0
1b7e20 53 58 56 38 39 70 67 52 36 79 33 65 37 55 45 75 46 41 55 43 66 2b 44 2b 49 4f 73 31 35 78 47 73 SXV89pgR6y3e7UEuFAUCf+D+IOs15xGs
1b7e40 49 73 35 58 50 64 37 4a 4d 47 30 51 41 34 58 4e 38 66 2b 4d 46 72 58 42 73 6a 36 49 62 47 42 2f Is5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/
1b7e60 6b 45 2b 56 39 2f 59 74 0a 72 51 45 35 42 77 54 36 64 59 42 39 76 30 6c 51 37 65 2f 4a 78 48 77 kE+V9/Yt.rQE5BwT6dYB9v0lQ7e/JxHw
1b7e80 63 36 34 42 2b 32 37 62 51 33 52 50 2b 79 64 4f 63 31 37 4b 58 71 51 49 44 41 51 41 42 6f 30 49 c64B+27bQ3RP+ydOc17KXqQIDAQABo0I
1b7ea0 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 wQDAPBgNVHRMBAf8EBTAD.AQH/MA4GA1
1b7ec0 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 78 68 UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxh
1b7ee0 66 51 76 4b 6a 71 41 6b 50 79 47 77 61 5a 58 53 75 51 49 4c 6e 58 6e 4f 51 77 44 51 59 4a 4b 6f fQvKjqAkPyGwaZXSuQILnXnOQwDQYJKo
1b7f00 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 44 52 68 32 56 61 31 45 6f 64 56 54 ZI.hvcNAQELBQADggIBADRh2Va1EodVT
1b7f20 64 32 6a 4e 54 46 47 75 36 51 48 63 72 78 66 59 57 4c 6f 70 66 73 4c 4e 37 45 38 74 72 50 36 4b d2jNTFGu6QHcrxfYWLopfsLN7E8trP6K
1b7f40 5a 31 2f 41 76 57 6b 79 61 69 54 74 33 70 78 0a 4b 47 6d 50 63 2b 46 53 6b 4e 72 56 76 6a 72 6c Z1/AvWkyaiTt3px.KGmPc+FSkNrVvjrl
1b7f60 74 33 5a 71 56 6f 41 68 33 31 33 6d 36 54 71 65 35 54 37 32 6f 6d 6e 48 4b 67 71 77 47 45 66 63 t3ZqVoAh313m6Tqe5T72omnHKgqwGEfc
1b7f80 49 48 42 39 55 71 4d 2b 57 58 7a 42 75 73 6e 49 46 55 42 68 79 6e 4c 57 63 4b 7a 53 0a 74 2f 41 IHB9UqM+WXzBusnIFUBhynLWcKzS.t/A
1b7fa0 63 35 49 59 70 38 4d 37 76 61 47 50 51 74 53 43 4b 46 57 47 61 66 6f 61 59 74 4d 6e 43 64 76 76 c5IYp8M7vaGPQtSCKFWGafoaYtMnCdvv
1b7fc0 4d 75 6a 41 57 7a 4b 4e 68 78 6e 51 54 35 57 76 76 6f 78 58 71 41 2f 34 54 69 32 54 6b 30 38 48 MujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08H
1b7fe0 53 36 49 54 37 53 64 45 51 0a 54 58 6c 6d 36 36 72 39 39 49 30 78 48 6e 41 55 72 64 7a 65 5a 78 S6IT7SdEQ.TXlm66r99I0xHnAUrdzeZx
1b8000 4e 4d 67 52 56 68 76 4c 66 5a 6b 58 64 78 47 59 46 67 75 2f 42 59 70 62 57 63 43 2f 65 50 49 6c NMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIl
1b8020 55 6e 77 45 73 42 62 54 75 5a 44 64 51 64 6d 32 4e 6e 4c 39 44 75 0a 44 63 70 6d 76 4a 52 50 70 UnwEsBbTuZDdQdm2NnL9Du.DcpmvJRPp
1b8040 71 33 74 2f 4f 35 6a 72 46 63 2f 5a 53 58 50 73 6f 61 50 30 41 6a 2f 75 48 59 55 62 74 37 6c 4a q3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ
1b8060 2b 79 72 65 4c 56 54 75 62 59 2f 36 43 44 35 30 71 69 2b 59 55 62 4b 68 34 79 45 38 2f 6e 78 6f +yreLVTubY/6CD50qi+YUbKh4yE8/nxo
1b8080 47 69 62 0a 49 68 36 42 4a 70 73 51 42 4a 46 78 77 41 59 66 33 4b 44 54 75 56 61 6e 34 35 67 74 Gib.Ih6BJpsQBJFxwAYf3KDTuVan45gt
1b80a0 66 34 4f 64 33 34 77 72 6e 44 4b 4f 4d 70 54 77 41 54 77 69 4b 70 39 44 77 69 37 44 6d 44 6b 48 f4Od34wrnDKOMpTwATwiKp9Dwi7DmDkH
1b80c0 4f 48 76 38 58 67 42 43 48 2f 4d 79 4a 6e 6d 44 0a 68 50 62 6c 38 4d 46 52 45 73 41 4c 48 67 51 OHv8XgBCH/MyJnmD.hPbl8MFREsALHgQ
1b80e0 6a 44 46 53 6c 54 43 39 4a 78 55 72 52 74 6d 35 67 44 57 76 38 61 34 75 46 4a 47 53 33 69 51 36 jDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6
1b8100 72 4a 55 64 62 50 4d 39 2b 53 62 33 48 36 51 72 47 32 76 64 2b 44 68 63 49 30 30 69 58 0a 30 48 rJUdbPM9+Sb3H6QrG2vd+DhcI00iX.0H
1b8120 47 53 38 41 38 35 50 6a 52 71 48 48 33 59 38 69 4b 75 75 32 6e 30 4d 37 53 6d 53 46 58 52 44 77 GS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw
1b8140 34 6d 36 4f 79 32 43 79 32 6e 68 54 58 4e 2f 56 6e 49 6e 39 48 4e 50 6c 6f 70 4e 4c 6b 39 68 4d 4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM
1b8160 36 78 5a 64 52 5a 6b 5a 46 57 0a 64 53 48 42 64 35 37 35 65 75 46 67 6e 64 4f 74 42 42 6a 30 66 6xZdRZkZFW.dSHBd575euFgndOtBBj0f
1b8180 4f 74 65 6b 34 39 54 53 69 49 70 2b 45 67 72 50 6b 32 47 72 46 74 2f 79 77 61 5a 57 57 44 59 57 Otek49TSiIp+EgrPk2GrFt/ywaZWWDYW
1b81a0 47 57 56 6a 55 54 52 39 33 39 2b 4a 33 39 39 72 6f 44 31 42 30 79 32 0a 50 70 78 78 56 4a 6b 45 GWVjUTR939+J399roD1B0y2.PpxxVJkE
1b81c0 53 2f 31 59 2b 5a 6a 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d S/1Y+Zj0.-----END.CERTIFICATE---
1b81e0 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 47 32 0a --..DigiCert.Assured.ID.Root.G2.
1b8200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1b8220 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6c 6a 43 43 -BEGIN.CERTIFICATE-----.MIIDljCC
1b8240 41 6e 36 67 41 77 49 42 41 67 49 51 43 35 4d 63 4f 74 59 35 5a 2b 70 6e 49 37 2f 44 72 35 72 30 An6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0
1b8260 53 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 6c 4d 51 73 77 43 51 59 44 SzANBgkqhkiG9w0BAQsFADBlMQswCQYD
1b8280 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e VQQG.EwJVUzEVMBMGA1UEChMMRGlnaUN
1b82a0 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c lcnQgSW5jMRkwFwYDVQQLExB3d3cuZGl
1b82c0 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 naWNlcnQuY29tMSQw.IgYDVQQDExtEaW
1b82e0 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a dpQ2VydCBBc3N1cmVkIElEIFJvb3QgRz
1b8300 49 77 48 68 63 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 0a 4d IwHhcNMTMwODAxMTIwMDAwWhcNMzgw.M
1b8320 54 45 31 4d 54 49 77 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 TE1MTIwMDAwWjBlMQswCQYDVQQGEwJVU
1b8340 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d zEVMBMGA1UEChMMRGlnaUNlcnQgSW5jM
1b8360 52 6b 77 46 77 59 44 56 51 51 4c 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 RkwFwYDVQQL.ExB3d3cuZGlnaWNlcnQu
1b8380 59 32 39 74 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBB
1b83a0 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 49 77 0a 67 67 45 69 4d 41 30 c3N1cmVkIElEIFJvb3QgRzIw.ggEiMA0
1b83c0 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoI
1b83e0 42 41 51 44 5a 35 79 67 76 55 6a 38 32 63 6b 6d 49 6b 7a 54 7a 2b 47 6f 65 4d 56 53 41 6e 36 31 BAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61
1b8400 55 51 62 56 48 0a 33 35 61 6f 31 4b 2b 41 4c 62 6b 4b 7a 33 58 39 69 61 56 39 4a 50 72 6a 49 67 UQbVH.35ao1K+ALbkKz3X9iaV9JPrjIg
1b8420 77 72 76 4a 55 58 43 7a 4f 2f 47 55 31 42 42 70 41 41 76 51 78 4e 45 50 34 48 74 65 63 63 62 69 wrvJUXCzO/GU1BBpAAvQxNEP4Hteccbi
1b8440 4a 56 4d 57 57 58 76 64 4d 58 30 68 35 69 38 39 76 71 0a 62 46 43 4d 50 34 51 4d 6c 73 2b 33 79 JVMWWXvdMX0h5i89vq.bFCMP4QMls+3y
1b8460 77 50 67 79 6d 32 68 46 45 77 62 69 64 33 74 41 4c 42 53 66 4b 2b 52 62 4c 45 34 45 39 48 70 45 wPgym2hFEwbid3tALBSfK+RbLE4E9HpE
1b8480 67 6a 41 41 4c 41 63 4b 78 48 61 64 33 41 32 6d 36 37 4f 65 59 66 63 67 6e 44 6d 43 58 52 77 0a gjAALAcKxHad3A2m67OeYfcgnDmCXRw.
1b84a0 56 57 6d 76 6f 32 69 66 76 39 32 32 65 62 50 79 6e 58 41 70 56 66 53 72 2f 35 56 68 38 38 6c 41 VWmvo2ifv922ebPynXApVfSr/5Vh88lA
1b84c0 62 78 33 52 76 70 4f 37 30 34 67 71 75 35 32 2f 63 6c 70 57 63 54 73 2f 31 50 50 52 43 76 34 6f bx3RvpO704gqu52/clpWcTs/1PPRCv4o
1b84e0 37 36 50 75 32 5a 6d 76 41 39 4f 50 0a 59 4c 66 79 6b 71 47 78 76 59 6d 4a 48 7a 44 4e 77 36 59 76Pu2ZmvA9OP.YLfykqGxvYmJHzDNw6Y
1b8500 75 59 6a 4f 75 46 67 4a 33 52 46 72 6e 67 51 6f 38 70 30 51 75 65 62 67 2f 42 4c 78 63 6f 49 66 uYjOuFgJ3RFrngQo8p0Quebg/BLxcoIf
1b8520 68 47 36 39 52 6a 73 33 73 4c 50 72 34 2f 6d 33 77 4f 6e 79 71 69 2b 52 6e 0a 6c 54 47 4e 41 67 hG69Rjs3sLPr4/m3wOnyqi+Rn.lTGNAg
1b8540 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 MBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf
1b8560 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDg
1b8580 51 57 42 42 54 4f 0a 77 30 71 35 6d 56 58 79 75 4e 74 67 76 36 6c 2b 76 56 61 31 6c 7a 61 6e 31 QWBBTO.w0q5mVXyuNtgv6l+vVa1lzan1
1b85a0 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 79 71 56 56 6a jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVj
1b85c0 4f 50 49 51 57 35 70 4a 36 64 31 45 65 38 38 68 6a 5a 76 0a 30 70 33 47 65 44 67 64 61 5a 61 69 OPIQW5pJ6d1Ee88hjZv.0p3GeDgdaZai
1b85e0 6b 6d 6b 75 4f 47 79 62 66 51 54 55 69 61 57 78 4d 54 65 4b 79 53 48 4d 71 32 7a 4e 69 78 79 61 kmkuOGybfQTUiaWxMTeKySHMq2zNixya
1b8600 31 72 39 49 30 6a 4a 6d 77 59 72 41 38 79 38 36 37 38 44 6a 31 4a 47 47 30 56 44 6a 41 39 74 7a 1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
1b8620 0a 64 32 39 4b 4f 56 50 74 33 69 62 48 74 58 32 76 4b 30 4c 52 64 57 4c 6a 53 69 73 43 78 31 42 .d29KOVPt3ibHtX2vK0LRdWLjSisCx1B
1b8640 4c 34 47 6e 69 6c 6d 77 4f 52 47 59 51 52 49 2b 74 42 65 76 34 65 61 79 6d 47 2b 67 33 4e 4a 31 L4GnilmwORGYQRI+tBev4eaymG+g3NJ1
1b8660 54 79 57 47 71 6f 6c 4b 76 53 6e 41 57 0a 68 73 49 36 79 4c 45 54 63 44 62 59 7a 2b 37 30 43 6a TyWGqolKvSnAW.hsI6yLETcDbYz+70Cj
1b8680 54 56 57 30 7a 39 42 35 79 69 75 74 6b 42 63 6c 7a 7a 54 63 48 64 44 72 45 63 44 63 52 6a 76 71 TVW0z9B5yiutkBclzzTcHdDrEcDcRjvq
1b86a0 33 30 46 50 75 4a 37 4b 4a 42 44 6b 7a 4d 79 46 64 41 30 47 34 44 71 73 30 4d 0a 6a 6f 6d 5a 6d 30FPuJ7KJBDkzMyFdA0G4Dqs0M.jomZm
1b86c0 57 7a 77 50 44 43 76 4f 4e 39 76 76 4b 4f 2b 4b 53 41 6e 71 33 54 2f 45 79 4a 34 33 70 64 53 56 WzwPDCvON9vvKO+KSAnq3T/EyJ43pdSV
1b86e0 52 36 44 74 56 51 67 41 2b 36 75 77 45 39 57 33 6a 66 4d 77 33 2b 71 42 43 65 37 30 33 65 34 59 R6DtVQgA+6uwE9W3jfMw3+qBCe703e4Y
1b8700 74 73 58 66 4a 77 6f 0a 49 68 4e 7a 62 4d 38 6d 39 59 6f 70 35 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e tsXfJwo.IhNzbM8m9Yop5w==.-----EN
1b8720 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 41 73 73 D.CERTIFICATE-----..DigiCert.Ass
1b8740 75 72 65 64 20 49 44 20 52 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ured.ID.Root.G3.================
1b8760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1b8780 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 52 6a 43 43 41 63 32 67 41 77 49 42 41 67 49 51 43 36 46 61 TE-----.MIICRjCCAc2gAwIBAgIQC6Fa
1b87a0 2b 68 33 66 6f 4c 56 4a 52 4b 2f 4e 4a 4b 42 73 37 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 +h3foLVJRK/NJKBs7DAKBggqhkjOPQQD
1b87c0 41 7a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 AzBlMQswCQYDVQQGEwJV.UzEVMBMGA1U
1b87e0 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 EChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQ
1b8800 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 LExB3d3cuZGlnaWNlcnQuY29tMSQwIgY
1b8820 44 0a 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 D.VQQDExtEaWdpQ2VydCBBc3N1cmVkIE
1b8840 6c 45 49 46 4a 76 62 33 51 67 52 7a 4d 77 48 68 63 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 lEIFJvb3QgRzMwHhcNMTMwODAxMTIwMD
1b8860 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 31 0a 4d 54 49 77 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 AwWhcNMzgwMTE1.MTIwMDAwWjBlMQswC
1b8880 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 QYDVQQGEwJVUzEVMBMGA1UEChMMRGlna
1b88a0 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 0a 64 33 63 75 UNlcnQgSW5jMRkwFwYDVQQLExB3.d3cu
1b88c0 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 45 ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtE
1b88e0 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 aWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg
1b8900 52 7a 4d 77 64 6a 41 51 0a 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e RzMwdjAQ.BgcqhkjOPQIBBgUrgQQAIgN
1b8920 69 41 41 51 5a 35 37 79 73 52 47 58 74 7a 62 67 2f 57 50 75 4e 73 56 65 70 52 43 30 46 46 66 4c iAAQZ57ysRGXtzbg/WPuNsVepRC0FFfL
1b8940 76 43 2f 38 51 64 4a 2b 31 59 6c 4a 66 5a 6e 34 66 35 64 77 62 0a 52 58 6b 4c 7a 4d 5a 54 43 70 vC/8QdJ+1YlJfZn4f5dwb.RXkLzMZTCp
1b8960 32 4e 58 51 4c 5a 71 56 6e 65 41 6c 72 32 6c 53 6f 4f 6a 54 68 4b 69 6b 6e 47 76 4d 59 44 4f 41 2NXQLZqVneAlr2lSoOjThKiknGvMYDOA
1b8980 64 66 56 64 70 2b 43 57 37 69 66 31 37 51 52 53 41 50 57 58 59 51 31 71 41 6b 38 43 33 65 4e 76 dfVdp+CW7if17QRSAPWXYQ1qAk8C3eNv
1b89a0 4a 73 0a 4b 54 6d 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 Js.KTmjQjBAMA8GA1UdEwEB/wQFMAMBA
1b89c0 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 f8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdD
1b89e0 67 51 57 42 42 54 4c 30 4c 32 70 34 5a 67 46 0a 55 61 46 4e 4e 36 4b 44 65 63 36 4e 48 53 72 6b gQWBBTL0L2p4ZgF.UaFNN6KDec6NHSrk
1b8a00 68 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e 41 44 42 6b 41 6a 41 6c 70 49 46 46 hDAKBggqhkjOPQQDAwNnADBkAjAlpIFF
1b8a20 41 6d 73 53 53 33 56 30 54 38 67 6a 34 33 44 79 64 58 4c 65 66 49 6e 77 7a 35 46 79 0a 59 5a 35 AmsSS3V0T8gj43DydXLefInwz5Fy.YZ5
1b8a40 65 45 4a 4a 5a 56 72 6d 44 78 78 44 6e 4f 4f 6c 59 4a 6a 5a 39 31 65 51 30 68 6a 6b 43 4d 48 77 eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw
1b8a60 32 55 2f 41 77 35 57 4a 6a 4f 70 6e 69 74 71 4d 37 6d 7a 54 36 48 74 6f 51 6b 6e 46 65 6b 52 4f 2U/Aw5WJjOpnitqM7mzT6HtoQknFekRO
1b8a80 6e 33 61 52 75 6b 73 77 79 0a 31 76 55 68 5a 73 63 76 36 70 5a 6a 61 6d 56 46 6b 70 55 42 74 41 n3aRukswy.1vUhZscv6pZjamVFkpUBtA
1b8aa0 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 ==.-----END.CERTIFICATE-----..Di
1b8ac0 67 69 43 65 72 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d giCert.Global.Root.G2.==========
1b8ae0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1b8b00 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6a 6a 43 43 41 6e 61 67 41 77 49 42 41 67 49 51 41 7a CATE-----.MIIDjjCCAnagAwIBAgIQAz
1b8b20 72 78 35 71 63 52 71 61 43 37 4b 47 53 78 48 51 6e 36 35 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 rx5qcRqaC7KGSxHQn65TANBgkqhkiG9w
1b8b40 30 42 41 51 73 46 41 44 42 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 0BAQsFADBhMQswCQYDVQQG.EwJVUzEVM
1b8b60 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 BMGA1UEChMMRGlnaUNlcnQgSW5jMRkwF
1b8b80 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d wYDVQQLExB3d3cuZGlnaWNlcnQuY29tM
1b8ba0 53 41 77 0a 48 67 59 44 56 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 SAw.HgYDVQQDExdEaWdpQ2VydCBHbG9i
1b8bc0 59 57 77 67 55 6d 39 76 64 43 42 48 4d 6a 41 65 46 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 YWwgUm9vdCBHMjAeFw0xMzA4MDExMjAw
1b8be0 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 55 78 0a 4d 6a 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 MDBaFw0zODAxMTUx.MjAwMDBaMGExCzA
1b8c00 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 JBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWd
1b8c20 70 51 32 56 79 64 43 42 4a 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 pQ2VydCBJbmMxGTAXBgNVBAsTEHd3.dy
1b8c40 35 6b 61 57 64 70 59 32 56 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0
1b8c60 52 70 5a 32 6c 44 5a 58 4a 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 63 79 4d 49 RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMI
1b8c80 49 42 49 6a 41 4e 42 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d IBIjANBgkq.hkiG9w0BAQEFAAOCAQ8AM
1b8ca0 49 49 42 43 67 4b 43 41 51 45 41 75 7a 66 4e 4e 4e 78 37 61 38 6d 79 61 4a 43 74 53 6e 58 2f 52 IIBCgKCAQEAuzfNNNx7a8myaJCtSnX/R
1b8cc0 72 6f 68 43 67 69 4e 39 52 6c 55 79 66 75 49 32 2f 4f 75 38 6a 71 4a 0a 6b 54 78 36 35 71 73 47 rohCgiN9RlUyfuI2/Ou8jqJ.kTx65qsG
1b8ce0 47 6d 76 50 72 43 33 6f 58 67 6b 6b 52 4c 70 69 6d 6e 37 57 6f 36 68 2b 34 46 52 31 49 41 57 73 GmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWs
1b8d00 55 4c 65 63 59 78 70 73 4d 4e 7a 61 48 78 6d 78 31 78 37 65 2f 64 66 67 79 35 53 44 4e 36 37 73 ULecYxpsMNzaHxmx1x7e/dfgy5SDN67s
1b8d20 48 30 4e 4f 0a 33 58 73 73 30 72 30 75 70 53 2f 6b 71 62 69 74 4f 74 53 5a 70 4c 59 6c 36 5a 74 H0NO.3Xss0r0upS/kqbitOtSZpLYl6Zt
1b8d40 72 41 47 43 53 59 50 39 50 49 55 6b 59 39 32 65 51 71 32 45 47 6e 49 2f 79 75 75 6d 30 36 5a 49 rAGCSYP9PIUkY92eQq2EGnI/yuum06ZI
1b8d60 79 61 37 58 7a 56 2b 68 64 47 38 32 4d 48 61 75 56 0a 42 4a 56 4a 38 7a 55 74 6c 75 4e 4a 62 64 ya7XzV+hdG82MHauV.BJVJ8zUtluNJbd
1b8d80 31 33 34 2f 74 4a 53 37 53 73 56 51 65 70 6a 35 57 7a 74 43 4f 37 54 47 31 46 38 50 61 70 73 70 134/tJS7SsVQepj5WztCO7TG1F8Papsp
1b8da0 55 77 74 50 31 4d 56 59 77 6e 53 6c 63 55 66 49 4b 64 7a 58 4f 53 30 78 5a 4b 42 67 79 4d 0a 55 UwtP1MVYwnSlcUfIKdzXOS0xZKBgyM.U
1b8dc0 4e 47 50 48 67 6d 2b 46 36 48 6d 49 63 72 39 67 2b 55 51 76 49 4f 6c 43 73 52 6e 4b 50 5a 7a 46 NGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzF
1b8de0 42 51 39 52 6e 62 44 68 78 53 4a 49 54 52 4e 72 77 39 46 44 4b 5a 4a 6f 62 71 37 6e 4d 57 78 4d BQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM
1b8e00 34 4d 70 68 51 49 44 41 51 41 42 0a 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 4MphQIDAQAB.o0IwQDAPBgNVHRMBAf8E
1b8e20 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 64 BTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
1b8e40 42 67 4e 56 48 51 34 45 46 67 51 55 54 69 4a 55 49 42 69 56 35 75 4e 75 0a 35 67 2f 36 2b 72 6b BgNVHQ4EFgQUTiJUIBiV5uNu.5g/6+rk
1b8e60 53 37 51 59 58 6a 7a 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 S7QYXjzkwDQYJKoZIhvcNAQELBQADggE
1b8e80 42 41 47 42 6e 4b 4a 52 76 44 6b 68 6a 36 7a 48 64 36 6d 63 59 31 59 6c 39 50 4d 57 4c 53 6e 2f BAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/
1b8ea0 70 76 74 73 72 0a 46 39 2b 77 58 33 4e 33 4b 6a 49 54 4f 59 46 6e 51 6f 51 6a 38 6b 56 6e 4e 65 pvtsr.F9+wX3N3KjITOYFnQoQj8kVnNe
1b8ec0 79 49 76 2f 69 50 73 47 45 4d 4e 4b 53 75 49 45 79 45 78 74 76 34 4e 65 46 32 32 64 2b 6d 51 72 yIv/iPsGEMNKSuIEyExtv4NeF22d+mQr
1b8ee0 76 48 52 41 69 47 66 7a 5a 30 4a 46 72 61 62 41 30 55 0a 57 54 57 39 38 6b 6e 64 74 68 2f 4a 73 vHRAiGfzZ0JFrabA0U.WTW98kndth/Js
1b8f00 77 31 48 4b 6a 32 5a 4c 37 74 63 75 37 58 55 49 4f 47 5a 58 31 4e 47 46 64 74 6f 6d 2f 44 7a 4d w1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzM
1b8f20 4e 55 2b 4d 65 4b 4e 68 4a 37 6a 69 74 72 61 6c 6a 34 31 45 36 56 66 38 50 6c 77 55 48 42 48 0a NU+MeKNhJ7jitralj41E6Vf8PlwUHBH.
1b8f40 51 52 46 58 47 55 37 41 6a 36 34 47 78 4a 55 54 46 79 38 62 4a 5a 39 31 38 72 47 4f 6d 61 46 76 QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFv
1b8f60 45 37 46 42 63 66 36 49 4b 73 68 50 45 43 42 56 31 2f 4d 55 52 65 58 67 52 50 54 71 68 35 55 79 E7FBcf6IKshPECBV1/MUReXgRPTqh5Uy
1b8f80 6b 77 37 2b 55 30 62 36 4c 4a 33 2f 0a 69 79 4b 35 53 39 6b 4a 52 61 54 65 70 4c 69 61 57 4e 30 kw7+U0b6LJ3/.iyK5S9kJRaTepLiaWN0
1b8fa0 62 66 56 4b 66 6a 6c 6c 44 69 49 47 6b 6e 69 62 56 62 36 33 64 44 63 59 33 66 65 30 44 6b 68 76 bfVKfjllDiIGknibVb63dDcY3fe0Dkhv
1b8fc0 6c 64 31 39 32 37 6a 79 4e 78 46 31 57 57 36 4c 5a 5a 6d 36 7a 4e 54 66 6c 0a 4d 72 59 3d 0a 2d ld1927jyNxF1WW6LZZm6zNTfl.MrY=.-
1b8fe0 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 ----END.CERTIFICATE-----..DigiCe
1b9000 72 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rt.Global.Root.G3.==============
1b9020 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1b9040 2d 2d 2d 2d 2d 0a 4d 49 49 43 50 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 42 56 56 57 76 50 -----.MIICPzCCAcWgAwIBAgIQBVVWvP
1b9060 4a 65 70 44 55 31 77 36 51 50 31 61 74 46 63 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a JepDU1w6QP1atFcjAKBggqhkjOPQQDAz
1b9080 42 68 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 BhMQswCQYDVQQGEwJV.UzEVMBMGA1UEC
1b90a0 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 hMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLE
1b90c0 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 48 67 59 44 0a xB3d3cuZGlnaWNlcnQuY29tMSAwHgYD.
1b90e0 56 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9v
1b9100 64 43 42 48 4d 7a 41 65 46 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 7a dCBHMzAeFw0xMzA4MDExMjAwMDBaFw0z
1b9120 4f 44 41 78 4d 54 55 78 4d 6a 41 77 0a 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 ODAxMTUxMjAw.MDBaMGExCzAJBgNVBAY
1b9140 54 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 42 TAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCB
1b9160 4a 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 64 79 35 6b 0a 61 57 64 70 59 32 JbmMxGTAXBgNVBAsTEHd3dy5k.aWdpY2
1b9180 56 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 58 VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZX
1b91a0 4a 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 63 7a 4d 48 59 77 45 41 59 48 4b 6f J0IEdsb2JhbCBSb290IEczMHYwEAYHKo
1b91c0 5a 49 7a 6a 30 43 0a 41 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 33 61 66 5a 75 34 71 34 43 ZIzj0C.AQYFK4EEACIDYgAE3afZu4q4C
1b91e0 2f 73 4c 66 79 48 53 38 4c 36 2b 63 2f 4d 7a 58 52 71 38 4e 4f 72 65 78 70 75 38 30 4a 58 32 38 /sLfyHS8L6+c/MzXRq8NOrexpu80JX28
1b9200 4d 7a 51 43 37 70 68 57 31 46 47 66 70 34 74 6e 2b 36 4f 0a 59 77 77 58 37 41 64 77 39 63 2b 45 MzQC7phW1FGfp4tn+6O.YwwX7Adw9c+E
1b9220 4c 6b 43 44 6e 4f 67 2f 51 57 30 37 72 64 4f 6b 46 46 6b 32 65 4a 30 44 51 2b 34 51 45 32 78 79 LkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy
1b9240 33 71 36 49 70 36 46 72 74 55 50 4f 5a 39 77 6a 2f 77 4d 63 6f 2b 49 2b 6f 30 49 77 51 44 41 50 3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
1b9260 0a 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 .BgNVHRMBAf8EBTADAQH/MA4GA1UdDwE
1b9280 42 2f 77 51 45 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 73 39 74 49 70 50 6d B/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPm
1b92a0 68 78 64 69 75 4e 6b 48 4d 45 57 4e 70 0a 59 69 6d 38 53 38 59 77 43 67 59 49 4b 6f 5a 49 7a 6a hxdiuNkHMEWNp.Yim8S8YwCgYIKoZIzj
1b92c0 30 45 41 77 4d 44 61 41 41 77 5a 51 49 78 41 4b 32 38 38 6d 77 2f 45 6b 72 52 4c 54 6e 44 43 67 0EAwMDaAAwZQIxAK288mw/EkrRLTnDCg
1b92e0 6d 58 63 2f 53 49 4e 6f 79 49 4a 37 76 6d 69 49 31 51 68 61 64 6a 2b 5a 34 79 0a 33 6d 61 54 44 mXc/SINoyIJ7vmiI1Qhadj+Z4y.3maTD
1b9300 2f 48 4d 73 51 6d 50 33 57 79 72 2b 6d 74 2f 6f 41 49 77 4f 57 5a 62 77 6d 53 4e 75 4a 35 51 33 /HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3
1b9320 4b 6a 56 53 61 4c 74 78 39 7a 52 53 58 38 58 41 62 6a 49 68 6f 39 4f 6a 49 67 72 71 4a 71 70 69 KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpi
1b9340 73 58 52 41 4c 33 34 0a 56 4f 4b 61 35 56 74 38 73 79 63 58 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 sXRAL34.VOKa5Vt8sycX.-----END.CE
1b9360 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 54 72 75 73 74 65 64 RTIFICATE-----..DigiCert.Trusted
1b9380 20 52 6f 6f 74 20 47 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.G4.=======================
1b93a0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1b93c0 49 46 6b 44 43 43 41 33 69 67 41 77 49 42 41 67 49 51 42 5a 73 62 56 35 36 4f 49 54 4c 69 4f 51 IFkDCCA3igAwIBAgIQBZsbV56OITLiOQ
1b93e0 65 39 70 33 64 31 58 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 69 4d 51 e9p3d1XDANBgkqhkiG9w0BAQwFADBiMQ
1b9400 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 swCQYDVQQG.EwJVUzEVMBMGA1UEChMMR
1b9420 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 GlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d
1b9440 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 45 77 0a 48 77 59 44 56 51 51 44 3cuZGlnaWNlcnQuY29tMSEw.HwYDVQQD
1b9460 45 78 68 45 61 57 64 70 51 32 56 79 64 43 42 55 63 6e 56 7a 64 47 56 6b 49 46 4a 76 62 33 51 67 ExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
1b9480 52 7a 51 77 48 68 63 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgw
1b94a0 4d 54 45 31 0a 4d 54 49 77 4d 44 41 77 57 6a 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a MTE1.MTIwMDAwWjBiMQswCQYDVQQGEwJ
1b94c0 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 VUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5
1b94e0 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 0a 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e jMRkwFwYDVQQLExB3.d3cuZGlnaWNlcn
1b9500 51 75 59 32 39 74 4d 53 45 77 48 77 59 44 56 51 51 44 45 78 68 45 61 57 64 70 51 32 56 79 64 43 QuY29tMSEwHwYDVQQDExhEaWdpQ2VydC
1b9520 42 55 63 6e 56 7a 64 47 56 6b 49 46 4a 76 62 33 51 67 52 7a 51 77 67 67 49 69 4d 41 30 47 0a 43 BUcnVzdGVkIFJvb3QgRzQwggIiMA0G.C
1b9540 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 SqGSIb3DQEBAQUAA4ICDwAwggIKAoICA
1b9560 51 43 2f 35 70 42 7a 61 4e 36 37 35 46 31 4b 50 44 41 69 4d 47 6b 7a 37 4d 4b 6e 4a 53 37 4a 49 QC/5pBzaN675F1KPDAiMGkz7MKnJS7JI
1b9580 54 33 79 69 74 68 5a 77 75 45 70 0a 70 7a 31 59 71 33 61 61 7a 61 35 37 47 34 51 4e 78 44 41 66 T3yithZwuEp.pz1Yq3aaza57G4QNxDAf
1b95a0 38 78 75 6b 4f 42 62 72 56 73 61 58 62 52 32 72 73 6e 6e 79 79 68 48 53 35 46 2f 57 42 54 78 53 8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxS
1b95c0 44 31 49 66 78 70 34 56 70 58 36 2b 6e 36 6c 58 46 6c 6c 56 63 71 39 6f 0a 6b 33 44 43 73 72 70 D1Ifxp4VpX6+n6lXFllVcq9o.k3DCsrp
1b95e0 31 6d 57 70 7a 4d 70 54 52 45 45 51 51 4c 74 2b 43 38 77 65 45 35 6e 51 37 62 58 48 69 4c 51 77 1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQw
1b9600 62 37 69 44 56 79 53 41 64 59 79 6b 74 7a 75 78 65 54 73 69 54 2b 43 46 68 6d 7a 54 72 42 63 5a b7iDVySAdYyktzuxeTsiT+CFhmzTrBcZ
1b9620 65 37 46 73 61 0a 76 4f 76 4a 7a 38 32 73 4e 45 42 66 73 58 70 6d 37 6e 66 49 53 4b 68 6d 56 31 e7Fsa.vOvJz82sNEBfsXpm7nfISKhmV1
1b9640 65 66 56 46 69 4f 44 43 75 33 54 36 63 77 32 56 62 75 79 6e 74 64 34 36 33 4a 54 31 37 6c 4e 65 efVFiODCu3T6cw2Vbuyntd463JT17lNe
1b9660 63 78 79 39 71 54 58 74 79 4f 6a 34 44 61 74 70 47 59 0a 51 4a 42 35 77 33 6a 48 74 72 48 45 74 cxy9qTXtyOj4DatpGY.QJB5w3jHtrHEt
1b9680 57 6f 59 4f 41 4d 51 6a 64 6a 55 4e 36 51 75 42 58 32 49 39 59 49 2b 45 4a 46 77 71 31 57 43 51 WoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQ
1b96a0 54 4c 58 32 77 52 7a 4b 6d 36 52 41 58 77 68 54 4e 53 38 72 68 73 44 64 56 31 34 5a 74 6b 36 0a TLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6.
1b96c0 4d 55 53 61 4d 30 43 2f 43 4e 64 61 53 61 54 43 35 71 6d 67 5a 39 32 6b 4a 37 79 68 54 7a 6d 31 MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1
1b96e0 45 56 67 58 39 79 52 63 52 6f 39 6b 39 38 46 70 69 48 61 59 64 6a 31 5a 58 55 4a 32 68 34 6d 58 EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mX
1b9700 61 58 70 49 38 4f 43 69 45 68 74 6d 0a 6d 6e 54 4b 33 6b 73 65 35 77 35 6a 72 75 62 55 37 35 4b aXpI8OCiEhtm.mnTK3kse5w5jrubU75K
1b9720 53 4f 70 34 39 33 41 44 6b 52 53 57 4a 74 70 70 45 47 53 74 2b 77 4a 53 30 30 6d 46 74 36 7a 50 SOp493ADkRSWJtppEGSt+wJS00mFt6zP
1b9740 5a 78 64 39 4c 42 41 44 4d 66 52 79 56 77 34 2f 33 49 62 4b 79 45 62 65 37 0a 66 2f 4c 56 6a 48 Zxd9LBADMfRyVw4/3IbKyEbe7.f/LVjH
1b9760 41 73 51 57 43 71 73 57 4d 59 52 4a 55 61 64 6d 4a 2b 39 6f 43 77 2b 2b 68 6b 70 6a 50 52 69 51 AsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQ
1b9780 66 68 76 62 66 6d 51 36 51 59 75 4b 5a 33 41 65 45 50 6c 41 77 68 48 62 4a 55 4b 53 57 4a 62 4f fhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbO
1b97a0 55 4f 55 6c 46 48 0a 64 4c 34 6d 72 4c 5a 42 64 64 35 36 72 46 2b 4e 50 38 6d 38 30 30 45 52 45 UOUlFH.dL4mrLZBdd56rF+NP8m800ERE
1b97c0 6c 76 6c 45 46 44 72 4d 63 58 4b 63 68 59 69 43 64 39 38 54 48 55 2f 59 2b 77 68 58 38 51 67 55 lvlEFDrMcXKchYiCd98THU/Y+whX8QgU
1b97e0 57 74 76 73 61 75 47 69 30 2f 43 31 6b 56 66 6e 53 44 38 0a 6f 52 37 46 77 49 2b 69 73 58 34 4b WtvsauGi0/C1kVfnSD8.oR7FwI+isX4K
1b9800 4a 70 6e 31 35 47 6b 76 6d 42 30 74 39 64 6d 70 73 68 33 6c 47 77 49 44 41 51 41 42 6f 30 49 77 Jpn15GkvmB0t9dmpsh3lGwIDAQABo0Iw
1b9820 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 QDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
1b9840 0a 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 4e 66 .DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7Nf
1b9860 6a 67 74 4a 78 58 57 52 4d 33 79 35 6e 50 2b 65 36 6d 4b 34 63 44 30 38 77 44 51 59 4a 4b 6f 5a jgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZ
1b9880 49 68 76 63 4e 41 51 45 4d 42 51 41 44 0a 67 67 49 42 41 4c 74 68 32 58 32 70 62 4c 34 58 78 4a IhvcNAQEMBQAD.ggIBALth2X2pbL4XxJ
1b98a0 45 62 77 36 47 69 41 49 33 6a 5a 47 67 50 56 73 39 33 72 6e 44 35 2f 5a 70 4b 6d 62 6e 4a 65 46 Ebw6GiAI3jZGgPVs93rnD5/ZpKmbnJeF
1b98c0 77 4d 44 46 2f 6b 35 68 51 70 56 67 73 32 53 56 31 45 59 2b 43 74 6e 4a 59 59 0a 5a 68 73 6a 44 wMDF/k5hQpVgs2SV1EY+CtnJYY.ZhsjD
1b98e0 54 31 35 36 57 31 72 31 6c 54 34 30 6a 7a 42 51 30 43 75 48 56 44 31 55 76 79 51 4f 37 75 59 6d T156W1r1lT40jzBQ0CuHVD1UvyQO7uYm
1b9900 57 6c 72 78 38 47 6e 71 47 69 6b 4a 39 79 64 2b 53 65 75 4d 49 57 35 39 6d 64 4e 4f 6a 36 50 57 Wlrx8GnqGikJ9yd+SeuMIW59mdNOj6PW
1b9920 54 6b 69 55 30 54 72 0a 79 46 30 44 79 75 31 51 65 6e 31 69 49 51 71 41 79 48 4e 6d 30 61 41 46 TkiU0Tr.yF0Dyu1Qen1iIQqAyHNm0aAF
1b9940 59 46 2f 6f 70 62 53 6e 72 36 6a 33 62 54 57 63 66 46 71 4b 31 71 49 34 6d 66 4e 34 69 2f 52 4e YF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN
1b9960 30 69 41 4c 33 67 54 75 6a 4a 74 48 67 58 49 4e 77 42 51 79 0a 37 7a 42 5a 4c 71 37 67 63 66 4a 0iAL3gTujJtHgXINwBQy.7zBZLq7gcfJ
1b9980 57 35 47 71 58 62 35 4a 51 62 5a 61 4e 61 48 71 61 73 6a 59 55 65 67 62 79 4a 4c 6b 4a 45 56 44 W5GqXb5JQbZaNaHqasjYUegbyJLkJEVD
1b99a0 58 43 4c 47 34 69 58 71 45 49 32 46 43 4b 65 57 6a 7a 61 49 67 51 64 66 52 6e 47 54 5a 36 69 61 XCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6ia
1b99c0 68 0a 69 78 54 58 54 42 6d 79 55 45 46 78 50 54 39 4e 63 43 4f 47 44 45 72 63 67 64 4c 4d 4d 70 h.ixTXTBmyUEFxPT9NcCOGDErcgdLMMp
1b99e0 53 45 44 51 67 4a 6c 78 78 50 77 4f 35 72 49 48 51 77 30 75 41 35 4e 42 43 46 49 52 55 42 43 4f SEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCO
1b9a00 68 56 4d 74 35 78 53 64 6b 6f 46 31 42 4e 0a 35 72 35 4e 30 58 57 73 30 4d 72 37 51 62 68 44 70 hVMt5xSdkoF1BN.5r5N0XWs0Mr7QbhDp
1b9a20 61 72 54 77 77 56 45 54 79 77 32 6d 2b 4c 36 34 6b 57 34 49 31 4e 73 42 6d 39 6e 56 58 39 47 74 arTwwVETyw2m+L64kW4I1NsBm9nVX9Gt
1b9a40 55 77 2f 62 69 68 61 65 53 62 53 70 4b 68 69 6c 39 49 65 34 75 31 4b 69 37 77 62 0a 2f 55 64 4b Uw/bihaeSbSpKhil9Ie4u1Ki7wb./UdK
1b9a60 44 64 39 6e 5a 6e 36 79 57 30 48 51 4f 2b 54 30 4f 2f 51 45 59 2b 6e 76 77 6c 51 41 55 61 43 4b Dd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCK
1b9a80 4b 73 6e 4f 65 4d 7a 56 36 6f 63 45 47 4c 50 4f 72 30 6d 49 72 2f 4f 53 6d 62 61 7a 35 6d 45 50 KsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP
1b9aa0 30 6f 55 41 35 31 41 61 0a 35 42 75 56 6e 52 6d 68 75 5a 79 78 6d 37 45 41 48 75 2f 51 44 30 39 0oUA51Aa.5BuVnRmhuZyxm7EAHu/QD09
1b9ac0 43 62 4d 6b 4b 76 4f 35 44 2b 6a 70 78 70 63 68 4e 4a 71 55 31 2f 59 6c 64 76 49 56 69 48 54 4c CbMkKvO5D+jpxpchNJqU1/YldvIViHTL
1b9ae0 53 6f 43 74 55 37 5a 70 58 77 64 76 36 45 4d 38 5a 74 34 74 4b 0a 47 34 38 42 74 69 65 56 55 2b SoCtU7ZpXwdv6EM8Zt4tK.G48BtieVU+
1b9b00 69 32 69 57 31 62 76 47 6a 55 49 2b 69 4c 55 61 4a 57 2b 66 43 6d 67 4b 44 57 48 72 4f 38 44 77 i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw
1b9b20 39 54 64 53 6d 71 36 68 4e 33 35 4e 36 4d 67 53 47 74 42 78 42 48 45 61 32 48 50 51 66 52 64 62 9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdb
1b9b40 7a 50 0a 38 32 5a 2b 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d zP.82Z+.-----END.CERTIFICATE----
1b9b60 2d 0a 0a 43 4f 4d 4f 44 4f 20 52 53 41 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 -..COMODO.RSA.Certification.Auth
1b9b80 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ority.==========================
1b9ba0 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1b9bc0 2d 2d 2d 2d 0a 4d 49 49 46 32 44 43 43 41 38 43 67 41 77 49 42 41 67 49 51 54 4b 72 35 79 74 74 ----.MIIF2DCCA8CgAwIBAgIQTKr5ytt
1b9be0 6a 62 2b 41 66 39 30 37 59 57 77 4f 47 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 jb+Af907YWwOGnTANBgkqhkiG9w0BAQw
1b9c00 46 41 44 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 30 49 78 47 7a 41 5a 42 67 FADCBhTELMAkGA1UE.BhMCR0IxGzAZBg
1b9c20 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a NVBAgTEkdyZWF0ZXIgTWFuY2hlc3Rlcj
1b9c40 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 0a 41 EQMA4GA1UEBxMHU2FsZm9yZDEaMBgG.A
1b9c60 31 55 45 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 1UEChMRQ09NT0RPIENBIExpbWl0ZWQxK
1b9c80 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 56 79 64 zApBgNVBAMTIkNPTU9ETyBSU0EgQ2Vyd
1b9ca0 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e GlmaWNhdGlv.biBBdXRob3JpdHkwHhcN
1b9cc0 4d 54 41 77 4d 54 45 35 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 MTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1
1b9ce0 4f 54 55 35 57 6a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 52 30 49 78 47 7a 41 OTU5WjCBhTELMAkGA1UEBhMC.R0IxGzA
1b9d00 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 ZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3R
1b9d20 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 lcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBg
1b9d40 47 41 31 55 45 0a 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 GA1UE.ChMRQ09NT0RPIENBIExpbWl0ZW
1b9d60 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 QxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2
1b9d80 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 VydGlmaWNhdGlvbiBB.dXRob3JpdHkwg
1b9da0 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 gIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwg
1b9dc0 67 49 4b 41 6f 49 43 41 51 43 52 36 46 53 53 30 67 70 57 73 61 77 4e 4a 4e 33 46 7a 30 52 6e 0a gIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn.
1b9de0 64 4a 6b 72 4e 36 4e 39 49 33 41 41 63 62 78 54 33 38 54 36 4b 68 4b 50 53 33 38 51 56 72 32 66 dJkrN6N9I3AAcbxT38T6KhKPS38QVr2f
1b9e00 63 48 4b 33 59 58 2f 4a 53 77 38 58 70 7a 33 6a 73 41 52 68 37 76 38 52 6c 38 66 30 68 6a 34 4b cHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K
1b9e20 2b 6a 35 63 2b 5a 50 6d 4e 48 72 5a 0a 46 47 76 6e 6e 4c 4f 46 6f 49 4a 36 64 71 39 78 6b 4e 66 +j5c+ZPmNHrZ.FGvnnLOFoIJ6dq9xkNf
1b9e40 73 2f 51 33 36 6e 47 7a 36 33 37 43 43 39 42 52 2b 2b 62 37 45 70 69 39 50 66 35 6c 2f 74 66 78 s/Q36nGz637CC9BR++b7Epi9Pf5l/tfx
1b9e60 6e 51 33 4b 39 44 41 44 57 69 65 74 72 4c 4e 50 74 6a 35 67 63 46 4b 74 2b 0a 35 65 4e 75 2f 4e nQ3K9DADWietrLNPtj5gcFKt+.5eNu/N
1b9e80 69 6f 35 4a 49 6b 32 6b 4e 72 59 72 68 56 2f 65 72 42 76 47 79 32 69 2f 4d 4f 6a 5a 72 6b 6d 32 io5JIk2kNrYrhV/erBvGy2i/MOjZrkm2
1b9ea0 78 70 6d 66 68 34 53 44 42 46 31 61 33 68 44 54 78 46 59 50 77 79 6c 6c 45 6e 76 47 66 44 79 69 xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi
1b9ec0 36 32 61 2b 70 47 0a 78 38 63 67 6f 4c 45 66 5a 64 35 49 43 4c 71 6b 54 71 6e 79 67 30 59 33 68 62a+pG.x8cgoLEfZd5ICLqkTqnyg0Y3h
1b9ee0 4f 76 6f 7a 49 46 49 51 32 64 4f 63 69 71 62 58 4c 31 4d 47 79 69 4b 58 43 4a 37 74 4b 75 59 32 OvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2
1b9f00 65 37 67 55 59 50 44 43 55 5a 4f 62 54 36 5a 2b 70 55 58 0a 32 6e 77 7a 56 30 45 38 6a 56 48 74 e7gUYPDCUZObT6Z+pUX.2nwzV0E8jVHt
1b9f20 43 37 5a 63 72 79 78 6a 47 74 39 58 79 44 2b 38 36 56 33 45 6d 36 39 46 6d 65 4b 6a 57 69 53 30 C7ZcryxjGt9XyD+86V3Em69FmeKjWiS0
1b9f40 75 71 6c 57 50 63 39 76 71 76 39 4a 57 4c 37 77 71 50 2f 30 75 4b 33 70 4e 2f 75 36 75 50 51 4c uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL
1b9f60 0a 4f 76 6e 6f 51 30 49 65 69 64 69 45 79 78 50 78 32 62 76 68 69 57 43 34 6a 43 68 57 72 42 51 .OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQ
1b9f80 64 6e 41 72 6e 63 65 76 50 44 74 30 39 71 5a 61 68 53 4c 30 38 39 36 2b 31 44 53 4a 4d 77 42 47 dnArncevPDt09qZahSL0896+1DSJMwBG
1b9fa0 42 37 46 59 37 39 74 4f 69 34 6c 75 33 0a 73 67 51 69 55 70 57 41 6b 32 6e 6f 6a 6b 78 6c 38 5a B7FY79tOi4lu3.sgQiUpWAk2nojkxl8Z
1b9fc0 45 44 4c 58 42 30 41 75 71 4c 5a 78 55 70 61 56 49 43 75 39 66 66 55 47 70 56 52 72 2b 67 6f 79 EDLXB0AuqLZxUpaVICu9ffUGpVRr+goy
1b9fe0 68 68 66 33 44 51 77 36 4b 71 4c 43 47 71 52 38 34 6f 6e 41 5a 46 64 72 2b 43 0a 47 43 65 30 31 hhf3DQw6KqLCGqR84onAZFdr+C.GCe01
1ba000 61 36 30 79 31 44 6d 61 2f 52 4d 68 6e 45 77 36 61 62 66 46 6f 62 67 32 50 39 41 33 66 76 51 51 a60y1Dma/RMhnEw6abfFobg2P9A3fvQQ
1ba020 6f 68 2f 6f 7a 4d 36 4c 6c 77 65 51 52 47 42 59 38 34 59 63 57 73 72 37 4b 61 4b 74 7a 46 63 4f oh/ozM6LlweQRGBY84YcWsr7KaKtzFcO
1ba040 6d 70 48 34 4d 4e 35 0a 57 64 59 67 47 71 2f 79 61 70 69 71 63 72 78 58 53 74 4a 4c 6e 62 73 51 mpH4MN5.WdYgGq/yapiqcrxXStJLnbsQ
1ba060 2f 4c 42 4d 51 65 58 74 48 54 31 65 4b 4a 32 63 7a 4c 2b 7a 55 64 71 6e 52 2b 57 45 55 77 49 44 /LBMQeXtHT1eKJ2czL+zUdqnR+WEUwID
1ba080 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 34 45 0a 46 67 51 55 75 36 39 2b 41 6a 33 AQABo0IwQDAdBgNVHQ4E.FgQUu69+Aj3
1ba0a0 36 70 76 45 38 68 49 36 74 37 6a 69 59 37 4e 6b 79 4d 74 51 77 44 67 59 44 56 52 30 50 41 51 48 6pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH
1ba0c0 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 /BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8
1ba0e0 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 44 67 67 49 42 41 41 72 78 31 55 w.DQYJKoZIhvcNAQEMBQADggIBAArx1U
1ba100 61 45 74 36 35 52 75 32 79 79 54 55 45 55 41 4a 4e 4d 6e 4d 76 6c 77 46 54 50 6f 43 57 4f 41 76 aEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAv
1ba120 6e 39 73 4b 49 4e 39 53 43 59 50 42 4d 74 0a 72 46 61 69 73 4e 5a 2b 45 5a 4c 70 4c 72 71 65 4c n9sKIN9SCYPBMt.rFaisNZ+EZLpLrqeL
1ba140 70 70 79 73 62 30 5a 52 47 78 68 4e 61 4b 61 74 42 59 53 61 56 71 4d 34 64 63 2b 70 42 72 6f 4c ppysb0ZRGxhNaKatBYSaVqM4dc+pBroL
1ba160 77 50 30 72 6d 45 64 45 42 73 71 70 49 74 36 78 66 34 46 70 75 48 41 31 73 6a 2b 0a 6e 71 36 50 wP0rmEdEBsqpIt6xf4FpuHA1sj+.nq6P
1ba180 4b 37 6f 39 6d 66 6a 59 63 77 6c 59 52 6d 36 6d 6e 50 54 58 4a 39 4f 56 32 6a 65 44 63 68 7a 54 K7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzT
1ba1a0 63 2b 43 69 52 35 6b 44 4f 46 33 56 53 58 6b 41 4b 52 7a 48 37 4a 73 67 48 41 63 6b 61 56 64 34 c+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4
1ba1c0 73 6a 6e 38 4f 6f 53 67 0a 74 5a 78 38 6a 62 38 75 6b 32 49 6e 74 7a 6e 61 46 78 69 75 76 54 77 sjn8OoSg.tZx8jb8uk2IntznaFxiuvTw
1ba1e0 4a 61 50 2b 45 6d 7a 7a 56 31 67 73 44 34 31 65 65 46 50 66 52 36 30 2f 49 76 59 63 6a 74 37 5a JaP+EmzzV1gsD41eeFPfR60/IvYcjt7Z
1ba200 4a 51 33 6d 46 58 4c 72 72 6b 67 75 68 78 75 68 6f 71 45 77 57 0a 73 52 71 5a 43 75 68 54 4c 4a JQ3mFXLrrkguhxuhoqEwW.sRqZCuhTLJ
1ba220 4b 37 6f 51 6b 59 64 51 78 6c 71 48 76 4c 49 37 63 61 77 69 69 46 77 78 76 2f 30 43 74 69 37 36 K7oQkYdQxlqHvLI7cawiiFwxv/0Cti76
1ba240 52 37 43 5a 47 59 5a 34 77 55 41 63 31 6f 42 6d 70 6a 49 58 55 44 67 49 69 4b 62 6f 48 47 68 66 R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhf
1ba260 4b 70 0a 70 43 33 6e 39 4b 55 6b 45 45 65 44 79 73 33 30 6a 58 6c 59 73 51 61 62 35 78 6f 71 32 Kp.pC3n9KUkEEeDys30jXlYsQab5xoq2
1ba280 5a 30 42 31 35 52 39 37 51 4e 4b 79 76 44 62 36 4b 6b 42 50 76 56 57 6d 63 6b 65 6a 6b 6b 39 75 Z0B15R97QNKyvDb6KkBPvVWmckejkk9u
1ba2a0 2b 55 4a 75 65 42 50 53 5a 49 39 46 6f 4a 41 0a 7a 4d 78 5a 78 75 59 36 37 52 49 75 61 54 78 73 +UJueBPSZI9FoJA.zMxZxuY67RIuaTxs
1ba2c0 6c 62 48 39 71 68 31 37 66 34 61 2b 48 67 34 79 52 76 76 37 45 34 39 31 66 30 79 4c 53 30 5a 6a lbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj
1ba2e0 2f 67 41 30 51 48 44 42 77 37 6d 68 33 61 5a 77 34 67 53 7a 51 62 7a 70 67 4a 48 71 0a 5a 4a 78 /gA0QHDBw7mh3aZw4gSzQbzpgJHq.ZJx
1ba300 36 34 53 49 44 71 5a 78 75 62 77 35 6c 54 32 79 48 68 31 37 7a 62 71 44 35 64 61 57 62 51 4f 68 64SIDqZxubw5lT2yHh17zbqD5daWbQOh
1ba320 54 73 69 65 64 53 72 6e 41 64 79 47 4e 2f 34 66 79 33 72 79 4d 37 78 66 66 74 30 6b 4c 30 66 4a TsiedSrnAdyGN/4fy3ryM7xfft0kL0fJ
1ba340 75 4d 41 73 61 44 6b 35 32 0a 37 52 48 38 39 65 6c 57 73 6e 32 2f 78 32 30 4b 6b 34 79 6c 30 4d uMAsaDk52.7RH89elWsn2/x20Kk4yl0M
1ba360 43 32 48 62 34 36 54 70 53 69 31 32 35 73 43 38 4b 4b 66 50 6f 67 38 38 54 6b 35 63 30 4e 71 4d C2Hb46TpSi125sC8KKfPog88Tk5c0NqM
1ba380 75 52 6b 72 46 38 68 65 79 31 46 47 6c 6d 44 6f 4c 6e 7a 63 37 49 0a 4c 61 5a 52 66 79 48 42 4e uRkrF8hey1FGlmDoLnzc7I.LaZRfyHBN
1ba3a0 56 4f 46 42 6b 70 64 6e 36 32 37 47 31 39 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 VOFBkpdn627G190.-----END.CERTIFI
1ba3c0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 53 45 52 54 72 75 73 74 20 52 53 41 20 43 65 72 74 69 66 69 CATE-----..USERTrust.RSA.Certifi
1ba3e0 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d cation.Authority.===============
1ba400 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1ba420 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 33 6a 43 43 41 38 61 67 41 N.CERTIFICATE-----.MIIF3jCCA8agA
1ba440 77 49 42 41 67 49 51 41 66 31 74 4d 50 79 6a 79 6c 47 6f 47 37 78 6b 44 6a 55 44 4c 54 41 4e 42 wIBAgIQAf1tMPyjylGoG7xkDjUDLTANB
1ba460 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 0a gkqhkiG9w0BAQwFADCBiDELMAkGA1UE.
1ba480 42 68 4d 43 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJz
1ba4a0 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 ZXkxFDASBgNVBAcTC0plcnNleSBDaXR5
1ba4c0 4d 52 34 77 48 41 59 44 56 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e MR4wHAYDVQQK.ExVUaGUgVVNFUlRSVVN
1ba4e0 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a UIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJ
1ba500 55 63 6e 56 7a 64 43 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 UcnVzdCBSU0EgQ2VydGlmaWNh.dGlvbi
1ba520 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d 6a 41 78 4d 44 41 77 4d 44 BBdXRob3JpdHkwHhcNMTAwMjAxMDAwMD
1ba540 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 69 44 45 4c 4d 41 AwWhcNMzgwMTE4MjM1OTU5WjCBiDELMA
1ba560 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 kGA1UE.BhMCVVMxEzARBgNVBAgTCk5ld
1ba580 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 yBKZXJzZXkxFDASBgNVBAcTC0plcnNle
1ba5a0 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 SBDaXR5MR4wHAYDVQQK.ExVUaGUgVVNF
1ba5c0 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 UlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
1ba5e0 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 JVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
1ba600 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 49 69 4d 41 30 47 43 53 71 .dGlvbiBBdXRob3JpdHkwggIiMA0GCSq
1ba620 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 GSIb3DQEBAQUAA4ICDwAwggIKAoICAQC
1ba640 41 45 6d 55 58 4e 67 37 44 32 77 69 7a 0a 30 4b 78 58 44 58 62 74 7a 53 66 54 54 4b 31 51 67 32 AEmUXNg7D2wiz.0KxXDXbtzSfTTK1Qg2
1ba660 48 69 71 69 42 4e 43 53 31 6b 43 64 7a 4f 69 5a 2f 4d 50 61 6e 73 39 73 2f 42 33 50 48 54 73 64 HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsd
1ba680 5a 37 4e 79 67 52 4b 30 66 61 4f 63 61 38 4f 68 6d 30 58 36 61 39 66 5a 32 6a 0a 59 30 4b 32 64 Z7NygRK0faOca8Ohm0X6a9fZ2j.Y0K2d
1ba6a0 76 4b 70 4f 79 75 52 2b 4f 4a 76 30 4f 77 57 49 4a 41 4a 50 75 4c 6f 64 4d 6b 59 74 4a 48 55 59 vKpOyuR+OJv0OwWIJAJPuLodMkYtJHUY
1ba6c0 6d 54 62 66 36 4d 47 38 59 67 59 61 70 41 69 50 4c 7a 2b 45 2f 43 48 46 48 76 32 35 42 2b 4f 31 mTbf6MG8YgYapAiPLz+E/CHFHv25B+O1
1ba6e0 4f 52 52 78 68 46 6e 0a 52 67 68 52 79 34 59 55 56 44 2b 38 4d 2f 35 2b 62 4a 7a 2f 46 70 30 59 ORRxhFn.RghRy4YUVD+8M/5+bJz/Fp0Y
1ba700 76 56 47 4f 4e 61 61 6e 5a 73 68 79 5a 39 73 68 5a 72 48 55 6d 33 67 44 77 46 41 36 36 4d 7a 77 vVGONaanZshyZ9shZrHUm3gDwFA66Mzw
1ba720 33 4c 79 65 54 50 36 76 42 5a 59 31 48 31 64 61 74 2f 2f 4f 0a 2b 54 32 33 4c 4c 62 32 56 4e 33 3LyeTP6vBZY1H1dat//O.+T23LLb2VN3
1ba740 49 35 78 49 36 54 61 35 4d 69 72 64 63 6d 72 53 33 49 44 33 4b 66 79 49 30 72 6e 34 37 61 47 59 I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGY
1ba760 42 52 4f 63 42 54 6b 5a 54 6d 7a 4e 67 39 35 53 2b 55 7a 65 51 63 30 50 7a 4d 73 4e 54 37 39 75 BROcBTkZTmzNg95S+UzeQc0PzMsNT79u
1ba780 71 0a 2f 6e 52 4f 61 63 64 72 6a 47 43 54 33 73 54 48 44 4e 2f 68 4d 71 37 4d 6b 7a 74 52 65 4a q./nROacdrjGCT3sTHDN/hMq7MkztReJ
1ba7a0 56 6e 69 2b 34 39 56 76 34 4d 30 47 6b 50 47 77 2f 7a 4a 53 5a 72 4d 32 33 33 62 6b 66 36 63 30 Vni+49Vv4M0GkPGw/zJSZrM233bkf6c0
1ba7c0 50 6c 66 67 36 6c 5a 72 45 70 66 44 4b 45 0a 59 31 57 4a 78 41 33 42 6b 31 51 77 47 52 4f 73 30 Plfg6lZrEpfDKE.Y1WJxA3Bk1QwGROs0
1ba7e0 33 30 33 70 2b 74 64 4f 6d 77 31 58 4e 74 42 31 78 4c 61 71 55 6b 4c 33 39 69 41 69 67 6d 54 59 303p+tdOmw1XNtB1xLaqUkL39iAigmTY
1ba800 6f 36 31 5a 73 38 6c 69 4d 32 45 75 4c 45 2f 70 44 6b 50 32 51 4b 65 36 78 4a 4d 0a 6c 58 7a 7a o61Zs8liM2EuLE/pDkP2QKe6xJM.lXzz
1ba820 61 77 57 70 58 68 61 44 7a 4c 68 6e 34 75 67 54 6e 63 78 62 67 74 4e 4d 73 2b 31 62 2f 39 37 6c awWpXhaDzLhn4ugTncxbgtNMs+1b/97l
1ba840 63 36 77 6a 4f 79 30 41 76 7a 56 56 64 41 6c 4a 32 45 6c 59 47 6e 2b 53 4e 75 5a 52 6b 67 37 7a c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7z
1ba860 4a 6e 30 63 54 52 65 38 0a 79 65 78 44 4a 74 43 2f 51 56 39 41 71 55 52 45 39 4a 6e 6e 56 34 65 Jn0cTRe8.yexDJtC/QV9AqURE9JnnV4e
1ba880 65 55 42 39 58 56 4b 67 2b 2f 58 52 6a 4c 37 46 51 5a 51 6e 6d 57 45 49 75 51 78 70 4d 74 50 41 eUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPA
1ba8a0 6c 52 31 6e 36 42 42 36 54 31 43 5a 47 53 6c 43 42 73 74 36 2b 0a 65 4c 66 38 5a 78 58 68 79 56 lR1n6BB6T1CZGSlCBst6+.eLf8ZxXhyV
1ba8c0 65 45 48 67 39 6a 31 75 6c 69 75 74 5a 66 56 53 37 71 58 4d 59 6f 43 41 51 6c 4f 62 67 4f 4b 36 eEHg9j1uliutZfVS7qXMYoCAQlObgOK6
1ba8e0 6e 79 54 4a 63 63 42 7a 38 4e 55 76 58 74 37 79 2b 43 44 77 49 44 41 51 41 42 6f 30 49 77 51 44 nyTJccBz8NUvXt7y+CDwIDAQABo0IwQD
1ba900 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 55 33 6d 2f 57 71 6f 72 53 73 39 55 67 4f 48 59 6d Ad.BgNVHQ4EFgQUU3m/WqorSs9UgOHYm
1ba920 38 43 64 38 72 49 44 5a 73 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGM
1ba940 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 0a 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 A8GA1UdEwEB/wQF.MAMBAf8wDQYJKoZI
1ba960 68 76 63 4e 41 51 45 4d 42 51 41 44 67 67 49 42 41 46 7a 55 66 41 33 50 39 77 46 39 51 5a 6c 6c hvcNAQEMBQADggIBAFzUfA3P9wF9QZll
1ba980 44 48 50 46 55 70 2f 4c 2b 4d 2b 5a 42 6e 38 62 32 6b 4d 56 6e 35 34 43 56 56 65 57 0a 46 50 46 DHPFUp/L+M+ZBn8b2kMVn54CVVeW.FPF
1ba9a0 53 50 43 65 48 6c 43 6a 74 48 7a 6f 42 4e 36 4a 32 2f 46 4e 51 77 49 53 62 78 6d 74 4f 75 6f 77 SPCeHlCjtHzoBN6J2/FNQwISbxmtOuow
1ba9c0 68 54 36 4b 4f 56 57 4b 52 38 32 6b 56 32 4c 79 49 34 38 53 71 43 2f 33 76 71 4f 6c 4c 56 53 6f hT6KOVWKR82kV2LyI48SqC/3vqOlLVSo
1ba9e0 47 49 47 31 56 65 43 6b 5a 0a 37 6c 38 77 58 45 73 6b 45 56 58 2f 4a 4a 70 75 58 69 6f 72 37 67 GIG1VeCkZ.7l8wXEskEVX/JJpuXior7g
1baa00 74 4e 6e 33 2f 33 41 54 69 55 46 4a 56 44 42 77 6e 37 59 4b 6e 75 48 4b 73 53 6a 4b 43 61 58 71 tNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXq
1baa20 65 59 61 6c 6c 74 69 7a 38 49 2b 38 6a 52 52 61 38 59 46 57 53 51 0a 45 67 39 7a 4b 43 37 46 34 eYalltiz8I+8jRRa8YFWSQ.Eg9zKC7F4
1baa40 69 52 4f 2f 46 6a 73 38 50 52 46 2f 69 4b 7a 36 79 2b 4f 30 74 6c 46 59 51 58 42 6c 32 2b 6f 64 iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+od
1baa60 6e 4b 50 69 34 77 32 72 37 38 4e 42 63 35 78 6a 65 61 6d 62 78 39 73 70 6e 46 69 78 64 6a 51 67 nKPi4w2r78NBc5xjeambx9spnFixdjQg
1baa80 33 49 4d 0a 38 57 63 52 69 51 79 63 45 30 78 79 4e 4e 2b 38 31 58 48 66 71 6e 48 64 34 62 6c 73 3IM.8WcRiQycE0xyNN+81XHfqnHd4bls
1baaa0 6a 44 77 53 58 57 58 61 76 56 63 53 74 6b 4e 72 2f 2b 58 65 54 57 59 52 55 63 2b 5a 72 75 77 58 jDwSXWXavVcStkNr/+XeTWYRUc+ZruwX
1baac0 74 75 68 78 6b 59 7a 65 53 66 37 64 4e 58 47 69 0a 46 53 65 55 48 4d 39 68 34 79 61 37 62 36 4e tuhxkYzeSf7dNXGi.FSeUHM9h4ya7b6N
1baae0 6e 4a 53 46 64 35 74 30 64 43 79 35 6f 47 7a 75 43 72 2b 79 44 5a 34 58 55 6d 46 46 30 73 62 6d nJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbm
1bab00 5a 67 49 6e 2f 66 33 67 5a 58 48 6c 4b 59 43 36 53 51 4b 35 4d 4e 79 6f 73 79 63 64 69 0a 79 41 ZgIn/f3gZXHlKYC6SQK5MNyosycdi.yA
1bab20 35 64 39 7a 5a 62 79 75 41 6c 4a 51 47 30 33 52 6f 48 6e 48 63 41 50 39 44 63 31 65 77 39 31 50 5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91P
1bab40 71 37 50 38 79 46 31 6d 39 2f 71 53 33 66 75 51 4c 33 39 5a 65 61 74 54 58 61 77 32 65 77 68 30 q7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0
1bab60 71 70 4b 4a 34 6a 6a 76 39 63 0a 4a 32 76 68 73 45 2f 7a 42 2b 34 41 4c 74 52 5a 68 38 74 53 51 qpKJ4jjv9c.J2vhsE/zB+4ALtRZh8tSQ
1bab80 5a 58 71 39 45 66 58 37 6d 52 42 56 58 79 4e 57 51 4b 56 33 57 4b 64 77 72 6e 75 57 69 68 30 68 ZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0h
1baba0 4b 57 62 74 35 44 48 44 41 66 66 39 59 6b 32 64 44 4c 57 4b 4d 47 77 0a 73 41 76 67 6e 45 7a 44 KWbt5DHDAff9Yk2dDLWKMGw.sAvgnEzD
1babc0 48 4e 62 38 34 32 6d 31 52 30 61 42 4c 36 4b 43 71 39 4e 6a 52 48 44 45 6a 66 38 74 4d 37 71 74 HNb842m1R0aBL6KCq9NjRHDEjf8tM7qt
1babe0 6a 33 75 31 63 49 69 75 50 68 6e 50 51 43 6a 59 2f 4d 69 51 75 31 32 5a 49 76 56 53 35 6c 6a 46 j3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljF
1bac00 48 34 67 78 0a 51 2b 36 49 48 64 66 47 6a 6a 78 44 61 68 32 6e 47 4e 35 39 50 52 62 78 59 76 6e H4gx.Q+6IHdfGjjxDah2nGN59PRbxYvn
1bac20 4b 6b 4b 6a 39 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a KkKj9.-----END.CERTIFICATE-----.
1bac40 0a 55 53 45 52 54 72 75 73 74 20 45 43 43 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 .USERTrust.ECC.Certification.Aut
1bac60 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d hority.=========================
1bac80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1baca0 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 6a 7a 43 43 41 68 57 67 41 77 49 42 41 67 49 51 58 49 75 ATE-----.MIICjzCCAhWgAwIBAgIQXIu
1bacc0 5a 78 56 71 55 78 64 4a 78 56 74 37 4e 69 59 44 4d 4a 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 ZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQ
1bace0 44 41 7a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 45 7a 41 52 42 67 DAzCBiDELMAkGA1UEBhMC.VVMxEzARBg
1bad00 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 NVBAgTCk5ldyBKZXJzZXkxFDASBgNVBA
1bad20 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 45 78 cTC0plcnNleSBDaXR5MR4wHAYDVQQKEx
1bad40 56 55 0a 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c VU.aGUgVVNFUlRSVVNUIE5ldHdvcmsxL
1bad60 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 46 51 30 4d 67 51 jAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ
1bad80 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 2VydGlmaWNhdGlv.biBBdXRob3JpdHkw
1bada0 48 68 63 4e 4d 54 41 77 4d 6a 41 78 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 HhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4
1badc0 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d MjM1OTU5WjCBiDELMAkGA1UEBhMC.VVM
1bade0 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 xEzARBgNVBAgTCk5ldyBKZXJzZXkxFDA
1bae00 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 SBgNVBAcTC0plcnNleSBDaXR5MR4wHAY
1bae20 44 56 51 51 4b 45 78 56 55 0a 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 DVQQKExVU.aGUgVVNFUlRSVVNUIE5ldH
1bae40 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 dvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdC
1bae60 42 46 51 30 4d 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 BFQ0MgQ2VydGlmaWNhdGlv.biBBdXRob
1bae80 33 4a 70 64 48 6b 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAI
1baea0 67 4e 69 41 41 51 61 72 46 52 61 71 66 6c 6f 49 2b 64 36 31 53 52 76 55 38 5a 61 32 45 75 72 78 gNiAAQarFRaqfloI+d61SRvU8Za2Eurx
1baec0 74 57 32 0a 30 65 5a 7a 63 61 37 64 6e 4e 59 4d 59 66 33 62 6f 49 6b 44 75 41 55 55 37 46 66 4f tW2.0eZzca7dnNYMYf3boIkDuAUU7FfO
1baee0 37 6c 30 2f 34 69 47 7a 7a 76 66 55 69 6e 6e 67 6f 34 4e 2b 4c 5a 66 51 59 63 54 78 6d 64 77 6c 7l0/4iGzzvfUinngo4N+LZfQYcTxmdwl
1baf00 6b 57 4f 72 66 7a 43 6a 74 48 44 69 78 36 45 7a 0a 6e 50 4f 2f 4c 6c 78 54 73 56 2b 7a 66 54 4a kWOrfzCjtHDix6Ez.nPO/LlxTsV+zfTJ
1baf20 2f 69 6a 54 6a 65 58 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 36 34 51 6d /ijTjeXmjQjBAMB0GA1UdDgQWBBQ64Qm
1baf40 47 31 4d 38 5a 77 70 5a 32 64 45 6c 32 33 4f 41 31 78 6d 4e 6a 6d 6a 41 4f 42 67 4e 56 0a 48 51 G1M8ZwpZ2dEl23OA1xmNjmjAOBgNV.HQ
1baf60 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAw
1baf80 45 42 2f 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a 41 32 5a 36 EB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6
1bafa0 45 57 43 4e 7a 6b 6c 77 42 42 0a 48 55 36 2b 34 57 4d 42 7a 7a 75 71 51 68 46 6b 6f 4a 32 55 4f EWCNzklwBB.HU6+4WMBzzuqQhFkoJ2UO
1bafc0 51 49 52 65 56 78 37 48 66 70 6b 75 65 34 57 51 72 4f 2f 69 73 49 4a 78 4f 7a 6b 73 55 30 43 4d QIReVx7Hfpkue4WQrO/isIJxOzksU0CM
1bafe0 51 44 70 4b 6d 46 48 6a 46 4a 4b 53 30 34 59 63 50 62 57 52 4e 5a 75 0a 39 59 4f 36 62 56 69 39 QDpKmFHjFJKS04YcPbWRNZu.9YO6bVi9
1bb000 4a 4e 6c 57 53 4f 72 76 78 4b 4a 47 67 59 68 71 4f 6b 62 52 71 5a 74 4e 79 57 48 61 30 56 31 58 JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1X
1bb020 61 68 67 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a ahg=.-----END.CERTIFICATE-----..
1bb040 47 6c 6f 62 61 6c 53 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 34 0a 3d 3d 3d 3d GlobalSign.ECC.Root.CA.-.R4.====
1bb060 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1bb080 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 34 54 43 43 41 59 65 67 IN.CERTIFICATE-----.MIIB4TCCAYeg
1bb0a0 41 77 49 42 41 67 49 52 4b 6a 69 6b 48 4a 59 4b 42 4e 35 43 73 69 69 6c 43 2b 67 30 6d 41 49 77 AwIBAgIRKjikHJYKBN5CsiilC+g0mAIw
1bb0c0 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 CgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
1bb0e0 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 .R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSA
1bb100 74 49 46 49 30 4d 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 tIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWd
1bb120 75 4d 52 4d 77 45 51 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 uMRMwEQYDVQQD.EwpHbG9iYWxTaWduMB
1bb140 34 58 44 54 45 79 4d 54 45 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 4XDTEyMTExMzAwMDAwMFoXDTM4MDExOT
1bb160 41 7a 4d 54 51 77 4e 31 6f 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 AzMTQwN1owUDEkMCIGA1UECxMb.R2xvY
1bb180 6d 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 30 4d mFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0M
1bb1a0 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 RMwEQYDVQQKEwpHbG9iYWxTaWduMRMwE
1bb1c0 51 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 46 6b 77 45 77 59 48 QYDVQQD.EwpHbG9iYWxTaWduMFkwEwYH
1bb1e0 4b 6f 5a 49 7a 6a 30 43 41 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 75 4d 5a 35 KoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5
1bb200 30 34 39 73 4a 51 36 66 4c 6a 6b 5a 48 41 4f 6b 72 70 72 6c 0a 4f 51 63 4a 46 73 70 6a 73 62 6d 049sJQ6fLjkZHAOkrprl.OQcJFspjsbm
1bb220 47 2b 49 70 58 77 56 66 4f 51 76 70 7a 6f 66 64 6c 51 76 38 65 77 51 43 79 62 6e 4d 4f 2f 38 63 G+IpXwVfOQvpzofdlQv8ewQCybnMO/8c
1bb240 68 35 52 69 6b 71 74 6c 78 50 36 6a 55 75 63 36 4d 48 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 h5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0
1bb260 50 0a 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 P.AQH/BAQDAgEGMA8GA1UdEwEB/wQFMA
1bb280 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 46 53 77 65 36 31 46 75 4f 4a 41 66 2f MBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/
1bb2a0 73 4b 62 76 75 2b 4d 38 6b 38 6f 34 54 56 0a 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 sKbvu+M8k8o4TV.MAoGCCqGSM49BAMCA
1bb2c0 30 67 41 4d 45 55 43 49 51 44 63 6b 71 47 67 45 36 62 50 41 37 44 6d 78 43 47 58 6b 50 6f 55 56 0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUV
1bb2e0 79 30 44 37 4f 34 38 30 32 37 4b 71 47 78 32 76 4b 4c 65 75 77 49 67 4a 36 69 46 0a 4a 7a 57 62 y0D7O48027KqGx2vKLeuwIgJ6iF.JzWb
1bb300 56 73 61 6a 38 6b 66 53 74 32 34 62 41 67 41 58 71 6d 65 6d 46 5a 48 65 2b 70 54 73 65 77 76 34 Vsaj8kfSt24bAgAXqmemFZHe+pTsewv4
1bb320 6e 34 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a n4Q=.-----END.CERTIFICATE-----..
1bb340 47 6c 6f 62 61 6c 53 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 35 0a 3d 3d 3d 3d GlobalSign.ECC.Root.CA.-.R5.====
1bb360 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1bb380 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 6a 43 43 41 61 53 67 IN.CERTIFICATE-----.MIICHjCCAaSg
1bb3a0 41 77 49 42 41 67 49 52 59 46 6c 4a 34 43 59 75 75 31 58 35 43 6e 65 4b 63 66 6c 4b 32 47 77 77 AwIBAgIRYFlJ4CYuu1X5CneKcflK2Gww
1bb3c0 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 CgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
1bb3e0 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 .R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSA
1bb400 74 49 46 49 31 4d 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 tIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWd
1bb420 75 4d 52 4d 77 45 51 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 uMRMwEQYDVQQD.EwpHbG9iYWxTaWduMB
1bb440 34 58 44 54 45 79 4d 54 45 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 4XDTEyMTExMzAwMDAwMFoXDTM4MDExOT
1bb460 41 7a 4d 54 51 77 4e 31 6f 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 AzMTQwN1owUDEkMCIGA1UECxMb.R2xvY
1bb480 6d 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 31 4d mFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1M
1bb4a0 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 RMwEQYDVQQKEwpHbG9iYWxTaWduMRMwE
1bb4c0 51 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 48 59 77 45 41 59 48 QYDVQQD.EwpHbG9iYWxTaWduMHYwEAYH
1bb4e0 4b 6f 5a 49 7a 6a 30 43 41 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 52 30 55 4f 6c 76 74 39 KoZIzj0CAQYFK4EEACIDYgAER0UOlvt9
1bb500 58 62 2f 70 4f 64 45 68 2b 4a 38 4c 74 74 56 37 48 70 49 36 0a 53 46 6b 63 38 47 49 78 4c 63 42 Xb/pOdEh+J8LttV7HpI6.SFkc8GIxLcB
1bb520 36 4b 50 34 61 70 31 79 7a 74 73 79 58 35 30 58 55 57 50 72 52 64 32 31 44 6f 73 43 48 5a 54 51 6KP4ap1yztsyX50XUWPrRd21DosCHZTQ
1bb540 4b 48 33 72 64 36 7a 77 7a 6f 63 57 64 54 61 52 76 51 5a 55 34 66 38 6b 65 68 4f 76 52 6e 6b 6d KH3rd6zwzocWdTaRvQZU4f8kehOvRnkm
1bb560 53 0a 68 35 53 48 44 44 71 46 53 6d 61 66 6e 56 6d 54 54 5a 64 68 42 6f 5a 4b 6f 30 49 77 51 44 S.h5SHDDqFSmafnVmTTZdhBoZKo0IwQD
1bb580 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 AOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQ
1bb5a0 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 50 65 59 70 53 H/BAUwAwEB/zAd.BgNVHQ4EFgQUPeYpS
1bb5c0 4a 76 71 42 38 6f 68 52 45 6f 6d 33 6d 37 65 30 6f 50 51 6e 31 6b 77 43 67 59 49 4b 6f 5a 49 7a JvqB8ohREom3m7e0oPQn1kwCgYIKoZIz
1bb5e0 6a 30 45 41 77 4d 44 61 41 41 77 5a 51 49 78 41 4f 56 70 45 73 6c 75 32 38 59 78 0a 75 67 6c 42 j0EAwMDaAAwZQIxAOVpEslu28Yx.uglB
1bb600 34 5a 66 34 2b 2f 32 61 34 6e 30 53 79 65 31 38 5a 4e 50 4c 42 53 57 4c 56 74 6d 67 35 31 35 64 4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515d
1bb620 54 67 75 44 6e 46 74 32 4b 61 41 4a 4a 69 46 71 59 67 49 77 63 64 4b 31 6a 31 7a 71 4f 2b 46 34 TguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4
1bb640 43 59 57 6f 64 5a 49 37 0a 79 46 7a 39 53 4f 38 4e 64 43 4b 6f 43 4f 4a 75 78 55 6e 4f 78 77 79 CYWodZI7.yFz9SO8NdCKoCOJuxUnOxwy
1bb660 38 70 32 46 70 38 66 63 37 34 53 72 4c 2b 53 76 7a 5a 70 41 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 8p2Fp8fc74SrL+SvzZpA3.-----END.C
1bb680 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 ERTIFICATE-----..Staat.der.Neder
1bb6a0 6c 61 6e 64 65 6e 20 52 6f 6f 74 20 43 41 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d landen.Root.CA.-.G3.============
1bb6c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1bb6e0 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 64 44 43 43 41 31 79 67 41 N.CERTIFICATE-----.MIIFdDCCA1ygA
1bb700 77 49 42 41 67 49 45 41 4a 69 69 4f 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 wIBAgIEAJiiOTANBgkqhkiG9w0BAQsFA
1bb720 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a DBaMQswCQYDVQQGEwJOTDEeMBwGA1UE.
1bb740 43 67 77 56 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVu
1bb760 4d 53 73 77 4b 51 59 44 56 51 51 44 44 43 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b MSswKQYDVQQDDCJTdGFhdCBkZXIgTmVk
1bb780 5a 58 4a 73 59 57 35 6b 5a 57 34 67 0a 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 7a 4d 42 34 ZXJsYW5kZW4g.Um9vdCBDQSAtIEczMB4
1bb7a0 58 44 54 45 7a 4d 54 45 78 4e 44 45 78 4d 6a 67 30 4d 6c 6f 58 44 54 49 34 4d 54 45 78 4d 7a 49 XDTEzMTExNDExMjg0MloXDTI4MTExMzI
1bb7c0 7a 4d 44 41 77 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a zMDAwMFowWjELMAkGA1UEBhMC.TkwxHj
1bb7e0 41 63 42 67 4e 56 42 41 6f 4d 46 56 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d AcBgNVBAoMFVN0YWF0IGRlciBOZWRlcm
1bb800 78 68 62 6d 52 6c 62 6a 45 72 4d 43 6b 47 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 xhbmRlbjErMCkGA1UEAwwiU3RhYXQgZG
1bb820 56 79 49 45 35 6c 0a 5a 47 56 79 62 47 46 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c VyIE5l.ZGVybGFuZGVuIFJvb3QgQ0EgL
1bb840 53 42 48 4d 7a 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 SBHMzCCAiIwDQYJKoZIhvcNAQEBBQADg
1bb860 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4c 34 79 0a 6f 6c 51 50 63 50 73 73 58 46 6e 72 gIPADCCAgoCggIBAL4y.olQPcPssXFnr
1bb880 62 4d 53 6b 55 65 69 46 4b 72 50 4d 53 6a 54 79 73 46 2f 7a 44 73 63 63 50 56 4d 65 69 41 68 6f bMSkUeiFKrPMSjTysF/zDsccPVMeiAho
1bb8a0 32 47 38 39 72 63 4b 65 7a 49 4a 6e 42 79 65 48 61 48 45 36 6e 33 57 57 49 6b 59 46 73 4f 32 74 2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
1bb8c0 0a 78 31 75 65 4b 74 36 63 2f 44 72 47 6c 61 66 31 46 32 63 59 35 79 39 4a 43 41 78 63 7a 2b 62 .x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+b
1bb8e0 4d 4e 4f 31 34 2b 31 43 78 33 47 73 79 38 4b 4c 2b 74 6a 7a 6b 37 46 71 58 78 7a 38 65 63 41 67 MNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAg
1bb900 77 6f 4e 7a 46 73 32 31 76 30 49 4a 79 0a 45 61 76 53 67 57 68 5a 67 68 65 33 65 4a 4a 67 2b 73 woNzFs21v0IJy.EavSgWhZghe3eJJg+s
1bb920 7a 65 50 34 54 72 6a 54 67 7a 6b 41 70 79 49 2f 6f 31 7a 43 5a 78 4d 64 46 79 4b 4a 4c 5a 57 79 zeP4TrjTgzkApyI/o1zCZxMdFyKJLZWy
1bb940 4e 74 5a 72 56 74 42 30 4c 72 70 6a 50 4f 6b 74 76 41 39 6d 78 6a 65 4d 33 4b 0a 54 6a 32 31 35 NtZrVtB0LrpjPOktvA9mxjeM3K.Tj215
1bb960 56 4b 62 38 62 34 37 35 6c 52 67 73 47 59 65 43 61 73 48 2f 6c 53 4a 45 55 4c 52 39 79 53 36 59 VKb8b475lRgsGYeCasH/lSJEULR9yS6Y
1bb980 48 67 61 6d 50 66 4a 45 66 30 57 77 54 55 61 56 48 58 76 51 39 50 6c 72 6b 37 4f 35 33 76 44 78 HgamPfJEf0WwTUaVHXvQ9Plrk7O53vDx
1bb9a0 6b 35 68 55 55 75 72 0a 6d 6b 56 4c 6f 52 39 42 76 55 68 54 46 58 46 6b 43 34 61 7a 35 53 36 2b k5hUUur.mkVLoR9BvUhTFXFkC4az5S6+
1bb9c0 7a 71 51 62 77 53 6d 45 6f 72 58 4c 43 43 4e 32 51 79 49 6b 48 78 63 45 31 47 36 63 78 76 78 2f zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/
1bb9e0 4b 32 59 61 37 49 72 6c 31 73 39 4e 39 57 4d 4a 74 78 55 35 0a 31 6e 75 73 36 2b 4e 38 36 55 37 K2Ya7Irl1s9N9WMJtxU5.1nus6+N86U7
1bba00 38 64 55 4c 49 37 56 69 56 44 41 5a 43 6f 70 7a 33 35 48 43 7a 33 33 4a 76 57 6a 64 41 69 64 69 8dULI7ViVDAZCopz35HCz33JvWjdAidi
1bba20 46 70 4e 66 78 43 39 35 44 47 64 52 4b 57 43 79 4d 69 6a 6d 65 76 34 53 48 38 52 59 37 4e 67 7a FpNfxC95DGdRKWCyMijmev4SH8RY7Ngz
1bba40 70 0a 30 37 54 4b 62 42 6c 42 55 67 6d 68 48 62 42 71 76 34 4c 76 63 46 45 68 4d 74 77 46 64 6f p.07TKbBlBUgmhHbBqv4LvcFEhMtwFdo
1bba60 7a 4c 39 32 54 6b 41 31 43 76 6a 4a 46 6e 71 38 58 79 37 6c 6a 59 33 72 37 33 35 7a 48 50 62 4d zL92TkA1CvjJFnq8Xy7ljY3r735zHPbM
1bba80 6b 37 63 63 48 56 69 4c 56 6c 76 4d 44 6f 0a 46 78 63 48 45 72 56 63 30 71 73 67 6b 37 54 6d 67 k7ccHViLVlvMDo.FxcHErVc0qsgk7Tmg
1bbaa0 6f 4e 77 4e 73 58 4e 6f 34 32 74 69 2b 79 6a 77 55 4f 48 35 6b 50 69 4e 4c 36 56 69 7a 58 74 42 oNwNsXNo42ti+yjwUOH5kPiNL6VizXtB
1bbac0 7a 6e 61 71 42 31 36 6e 7a 61 65 45 72 41 4d 5a 52 4b 51 46 57 44 5a 4a 6b 42 45 0a 34 31 5a 67 znaqB16nzaeErAMZRKQFWDZJkBE.41Zg
1bbae0 70 52 44 55 61 6a 7a 39 51 64 77 4f 57 6b 65 32 37 35 64 68 64 55 2f 5a 2f 73 65 79 48 64 54 74 pRDUajz9QdwOWke275dhdU/Z/seyHdTt
1bbb00 58 55 6d 7a 71 57 72 4c 5a 6f 51 54 31 56 79 67 33 4e 39 75 64 77 62 52 63 58 58 49 56 32 2b 76 XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+v
1bbb20 44 33 64 62 41 67 4d 42 0a 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 D3dbAgMB.AAGjQjBAMA8GA1UdEwEB/wQ
1bbb40 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 FMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0
1bbb60 47 41 31 55 64 44 67 51 57 42 42 52 55 72 66 72 48 6b 6c 65 75 0a 79 6a 57 63 4c 68 4c 37 35 4c GA1UdDgQWBBRUrfrHkleu.yjWcLhL75L
1bbb80 70 64 49 4e 79 55 56 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 pdINyUVzANBgkqhkiG9w0BAQsFAAOCAg
1bbba0 45 41 4d 4a 6d 64 42 54 4c 49 58 67 34 37 6d 41 45 36 69 71 54 6e 42 2f 64 36 2b 4f 65 61 33 31 EAMJmdBTLIXg47mAE6iqTnB/d6+Oea31
1bbbc0 42 44 0a 55 35 63 71 50 63 6f 38 52 35 67 75 34 52 56 37 38 5a 4c 7a 59 64 71 51 4a 52 5a 6c 77 BD.U5cqPco8R5gu4RV78ZLzYdqQJRZlw
1bbbe0 4a 39 55 58 51 34 44 4f 31 74 33 41 70 79 45 74 67 32 59 58 7a 54 64 4f 32 50 43 77 79 69 42 77 J9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBw
1bbc00 70 77 70 4c 69 6e 69 79 4d 4d 42 38 6a 50 71 0a 4b 71 72 4d 43 51 6a 33 5a 57 66 47 7a 64 2f 54 pwpLiniyMMB8jPq.KqrMCQj3ZWfGzd/T
1bbc20 74 69 75 6e 76 63 7a 52 44 6e 42 66 75 43 50 52 79 35 46 4f 43 76 54 49 65 75 58 5a 59 7a 62 42 tiunvczRDnBfuCPRy5FOCvTIeuXZYzbB
1bbc40 31 4e 2f 38 49 70 66 33 59 46 33 71 4b 53 39 59 73 72 31 59 76 59 32 57 54 78 42 31 0a 76 30 68 1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1.v0h
1bbc60 37 50 56 47 48 6f 54 78 30 49 73 4c 38 42 33 2b 41 33 4d 53 73 2f 6d 72 42 63 44 43 77 36 59 35 7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5
1bbc80 70 34 69 78 70 67 5a 51 4a 75 74 33 2b 54 63 43 44 6a 4a 52 59 77 45 59 67 72 35 77 66 41 76 67 p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg
1bbca0 31 56 55 6b 76 52 74 54 41 0a 38 4b 43 57 41 67 38 7a 78 58 48 7a 6e 69 4e 39 6c 4c 66 39 4f 74 1VUkvRtTA.8KCWAg8zxXHzniN9lLf9Ot
1bbcc0 4d 4a 67 77 59 68 2f 57 41 39 72 6a 4c 41 30 75 36 4e 70 76 44 6e 74 49 4a 38 43 73 78 77 79 58 MJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyX
1bbce0 6d 41 2b 50 35 4d 39 7a 57 45 47 59 6f 78 2b 77 72 5a 31 33 2b 62 0a 38 4b 4b 61 61 38 4d 46 53 mA+P5M9zWEGYox+wrZ13+b.8KKaa8MFS
1bbd00 75 31 42 59 42 51 77 30 61 6f 52 51 6d 37 54 49 77 49 45 43 38 5a 6c 33 64 31 53 64 39 71 42 61 u1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa
1bbd20 37 4b 6f 2b 67 45 34 75 5a 62 71 4b 6d 78 6e 6c 34 6d 55 6e 72 7a 68 56 4e 58 6b 61 6e 6a 76 53 7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvS
1bbd40 72 30 72 0a 6d 6a 31 41 66 73 62 41 64 64 4a 75 2b 32 67 77 37 4f 79 4c 6e 66 6c 4a 4e 5a 6f 61 r0r.mj1AfsbAddJu+2gw7OyLnflJNZoa
1bbd60 4c 4e 6d 7a 6c 54 6e 56 48 70 4c 33 70 72 6c 6c 4c 2b 55 39 62 54 70 49 54 41 6a 63 35 43 67 53 LNmzlTnVHpL3prllL+U9bTpITAjc5CgS
1bbd80 4b 4c 35 39 4e 56 7a 71 34 42 5a 2b 45 78 74 71 0a 31 7a 37 58 6e 76 77 74 64 62 4c 42 46 4e 55 KL59NVzq4BZ+Extq.1z7XnvwtdbLBFNU
1bbda0 6a 41 39 74 62 62 77 73 2b 65 43 38 4e 33 6a 4f 4e 46 72 64 49 35 34 4f 61 67 51 39 37 77 55 4e jA9tbbws+eC8N3jONFrdI54OagQ97wUN
1bbdc0 4e 56 51 51 58 4f 45 70 52 31 56 6d 69 69 58 54 54 6e 37 34 65 53 39 66 47 62 62 65 49 0a 4a 47 NVQQXOEpR1VmiiXTTn74eS9fGbbeI.JG
1bbde0 39 67 6b 61 53 43 68 56 74 57 51 62 7a 51 52 4b 74 71 45 37 37 52 4c 46 69 33 45 6a 4e 59 73 6a 9gkaSChVtWQbzQRKtqE77RLFi3EjNYsj
1bbe00 64 6a 33 42 50 31 6c 42 30 2f 51 46 48 31 54 2f 55 36 37 63 6a 46 36 38 49 65 48 52 61 56 65 73 dj3BP1lB0/QFH1T/U67cjF68IeHRaVes
1bbe20 64 2b 51 6e 47 54 62 6b 73 56 0a 74 7a 44 66 71 75 31 58 68 55 69 73 48 57 72 64 4f 57 6e 6b 34 d+QnGTbksV.tzDfqu1XhUisHWrdOWnk4
1bbe40 58 6c 34 76 73 34 46 76 36 45 4d 39 34 42 37 49 57 63 6e 4d 46 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 Xl4vs4Fv6EM94B7IWcnMFk=.-----END
1bbe60 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 .CERTIFICATE-----..Staat.der.Ned
1bbe80 65 72 6c 61 6e 64 65 6e 20 45 56 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d erlanden.EV.Root.CA.============
1bbea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1bbec0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 63 44 43 43 41 31 69 67 41 77 49 CERTIFICATE-----.MIIFcDCCA1igAwI
1bbee0 42 41 67 49 45 41 4a 69 57 6a 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 BAgIEAJiWjTANBgkqhkiG9w0BAQsFADB
1bbf00 59 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 YMQswCQYDVQQGEwJOTDEeMBwGA1UE.Cg
1bbf20 77 56 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 wVU3RhYXQgZGVyIE5lZGVybGFuZGVuMS
1bbf40 6b 77 4a 77 59 44 56 51 51 44 44 43 42 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 kwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZX
1bbf60 4a 73 59 57 35 6b 5a 57 34 67 0a 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 78 4d JsYW5kZW4g.RVYgUm9vdCBDQTAeFw0xM
1bbf80 44 45 79 4d 44 67 78 4d 54 45 35 4d 6a 6c 61 46 77 30 79 4d 6a 45 79 4d 44 67 78 4d 54 45 77 4d DEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwM
1bbfa0 6a 68 61 4d 46 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 35 4d 0a 4d 52 34 77 48 41 59 44 jhaMFgxCzAJBgNVBAYTAk5M.MR4wHAYD
1bbfc0 56 51 51 4b 44 42 56 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b VQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5k
1bbfe0 5a 57 34 78 4b 54 41 6e 42 67 4e 56 42 41 4d 4d 49 46 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f ZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBO
1bc000 5a 57 52 6c 0a 63 6d 78 68 62 6d 52 6c 62 69 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 49 49 ZWRl.cmxhbmRlbiBFViBSb290IENBMII
1bc020 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 CIjANBgkqhkiG9w0BAQEFAAOCAg8AMII
1bc040 43 43 67 4b 43 41 67 45 41 34 38 64 2b 69 66 6b 6b 0a 53 7a 72 53 4d 34 4d 31 4c 47 6e 73 33 41 CCgKCAgEA48d+ifkk.SzrSM4M1LGns3A
1bc060 6d 6b 34 31 47 6f 4a 53 74 35 75 41 67 39 34 4a 47 36 68 49 58 47 68 61 54 4b 35 73 6b 75 55 36 mk41GoJSt5uAg94JG6hIXGhaTK5skuU6
1bc080 54 4a 4a 42 37 39 56 57 5a 78 58 53 7a 46 59 47 67 45 74 39 6e 43 55 69 59 34 69 4b 54 57 0a 4f TJJB79VWZxXSzFYGgEt9nCUiY4iKTW.O
1bc0a0 30 43 6d 77 73 30 2f 7a 5a 69 54 73 31 51 55 57 4a 5a 56 31 56 44 2b 68 71 32 6b 59 33 39 63 68 0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch
1bc0c0 2f 61 4f 35 69 65 53 5a 78 65 53 41 67 4d 73 33 4e 5a 6d 64 4f 33 64 5a 2f 2f 42 59 59 31 6a 54 /aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jT
1bc0e0 77 2b 62 62 52 63 77 4a 75 2b 72 0a 30 68 38 51 6f 50 6e 46 66 78 5a 70 67 51 4e 48 37 52 35 6f w+bbRcwJu+r.0h8QoPnFfxZpgQNH7R5o
1bc100 6a 58 4b 68 54 62 49 6d 78 72 70 73 58 32 33 57 72 39 47 78 45 34 36 70 72 66 4e 65 61 58 55 6d jXKhTbImxrpsX23Wr9GxE46prfNeaXUm
1bc120 47 44 35 42 4b 79 46 2f 37 6f 74 64 42 77 61 64 51 38 51 70 43 69 76 38 0a 4b 6a 36 47 79 7a 79 GD5BKyF/7otdBwadQ8QpCiv8.Kj6Gyzy
1bc140 44 4f 76 6e 4a 44 64 72 46 6d 65 4b 38 65 45 45 7a 64 75 47 2f 4c 31 33 6c 70 4a 68 51 44 42 58 DOvnJDdrFmeK8eEEzduG/L13lpJhQDBX
1bc160 64 34 50 71 63 66 7a 68 6f 30 4c 4b 6d 65 71 66 52 4d 62 31 2b 69 6c 67 6e 51 37 4f 36 4d 35 48 d4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5H
1bc180 54 70 35 67 56 0a 58 4a 72 6d 30 77 39 31 32 66 78 42 6d 4a 63 2b 71 69 58 62 6a 35 49 75 73 48 Tp5gV.XJrm0w912fxBmJc+qiXbj5IusH
1bc1a0 73 4d 58 2f 46 6a 71 54 66 35 6d 33 56 70 54 43 67 6d 4a 64 72 56 38 68 4a 77 52 56 58 6a 33 33 sMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33
1bc1c0 4e 65 4e 2f 55 68 62 4a 43 4f 4e 56 72 4a 30 79 50 72 0a 30 38 43 2b 65 4b 78 43 4b 46 68 6d 70 NeN/UhbJCONVrJ0yPr.08C+eKxCKFhmp
1bc1e0 55 5a 74 63 41 4c 58 45 50 6c 4c 56 50 78 64 68 6b 71 48 7a 33 2f 4b 52 61 77 52 57 72 55 67 55 UZtcALXEPlLVPxdhkqHz3/KRawRWrUgU
1bc200 59 30 76 69 45 65 58 4f 63 44 50 75 73 42 43 41 55 43 5a 53 43 45 4c 61 36 66 53 2f 5a 62 56 0a Y0viEeXOcDPusBCAUCZSCELa6fS/ZbV.
1bc220 30 62 35 47 6e 55 6e 67 43 36 61 67 49 6b 34 34 30 4d 45 38 4d 4c 78 77 6a 79 78 31 7a 4e 44 46 0b5GnUngC6agIk440ME8MLxwjyx1zNDF
1bc240 6a 46 45 37 50 5a 51 49 5a 43 5a 68 66 62 6e 44 5a 59 38 55 6e 43 48 51 71 76 30 58 63 67 4f 50 jFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOP
1bc260 76 5a 75 4d 35 6c 35 54 6e 72 6d 64 0a 37 34 4b 37 34 62 7a 69 63 6b 46 62 49 5a 54 54 52 54 65 vZuM5l5Tnrmd.74K74bzickFbIZTTRTe
1bc280 55 30 64 38 4a 4f 56 33 6e 49 36 71 61 48 63 70 74 71 41 71 47 68 59 71 43 76 6b 49 48 31 76 49 U0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI
1bc2a0 34 67 6e 50 61 68 31 76 6c 50 4e 4f 65 50 71 63 37 6e 76 51 44 73 2f 6e 78 0a 66 52 4e 30 41 76 4gnPah1vlPNOePqc7nvQDs/nx.fRN0Av
1bc2c0 2b 37 6f 65 58 36 41 48 6b 63 70 6d 5a 42 69 46 78 67 56 36 59 75 43 63 53 36 2f 5a 72 50 70 78 +7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx
1bc2e0 39 41 77 37 76 4d 57 67 70 56 53 7a 73 34 64 6c 47 34 59 34 75 45 6c 42 62 6d 56 76 4d 43 41 77 9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAw
1bc300 45 41 41 61 4e 43 0a 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f EAAaNC.MEAwDwYDVR0TAQH/BAUwAwEB/
1bc320 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OB
1bc340 42 59 45 46 50 36 72 41 4a 43 59 6e 69 54 38 71 63 77 61 0a 69 76 73 6e 75 4c 38 77 62 71 67 37 BYEFP6rAJCYniT8qcwa.ivsnuL8wbqg7
1bc360 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 44 50 64 79 78 75 MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxu
1bc380 56 72 35 4f 73 37 61 45 41 4a 53 72 52 38 6b 4e 30 6e 62 48 68 70 38 64 42 39 4f 32 74 4c 73 49 Vr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
1bc3a0 0a 65 4b 39 70 30 67 74 4a 33 6a 50 46 72 4b 33 43 69 41 4a 39 42 72 63 31 41 73 46 67 79 62 2f .eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/
1bc3c0 45 36 4a 54 65 31 4e 4f 70 45 79 56 61 2f 6d 36 69 72 6e 30 46 33 48 33 7a 62 50 42 2b 70 6f 33 E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3
1bc3e0 75 32 64 66 4f 57 42 66 6f 71 53 6d 75 0a 63 30 69 48 35 35 76 4b 62 69 6d 68 5a 46 38 5a 45 2f u2dfOWBfoqSmu.c0iH55vKbimhZF8ZE/
1bc400 65 75 42 68 44 2f 55 63 61 62 54 56 55 6c 54 35 4f 5a 45 41 46 54 64 66 45 54 7a 73 65 6d 51 55 euBhD/UcabTVUlT5OZEAFTdfETzsemQU
1bc420 48 53 76 34 69 6c 66 30 58 38 72 4c 69 6c 74 54 4d 4d 67 73 54 37 42 2f 5a 71 0a 35 53 57 45 58 HSv4ilf0X8rLiltTMMgsT7B/Zq.5SWEX
1bc440 77 62 4b 77 59 59 35 45 64 74 59 7a 58 63 37 4c 4d 4a 4d 44 31 36 61 34 2f 43 72 50 6d 45 62 55 wbKwYY5EdtYzXc7LMJMD16a4/CrPmEbU
1bc460 43 54 43 77 50 54 78 47 66 41 52 4b 62 61 6c 47 41 4b 62 31 32 4e 4d 63 49 78 48 6f 77 4e 44 58 CTCwPTxGfARKbalGAKb12NMcIxHowNDX
1bc480 4c 6c 64 52 71 41 4e 0a 62 2f 39 5a 6a 72 37 64 6e 33 4c 44 57 79 76 66 6a 46 76 4f 35 51 78 47 LldRqAN.b/9Zjr7dn3LDWyvfjFvO5QxG
1bc4a0 62 4a 4b 79 43 71 4e 4d 56 45 49 59 46 52 49 59 76 64 72 38 75 6e 52 75 2f 38 47 32 6f 47 54 59 bJKyCqNMVEIYFRIYvdr8unRu/8G2oGTY
1bc4c0 71 56 39 56 72 70 39 63 61 6e 61 57 32 48 4e 6e 68 2f 74 4e 0a 66 31 7a 75 61 63 70 7a 45 50 75 qV9Vrp9canaW2HNnh/tN.f1zuacpzEPu
1bc4e0 4b 71 66 32 65 76 54 59 34 53 55 6d 48 39 41 34 55 38 4f 6d 48 75 44 2b 6e 54 33 70 61 6a 6e 6e Kqf2evTY4SUmH9A4U8OmHuD+nT3pajnn
1bc500 55 6b 2b 53 37 61 46 4b 45 72 47 7a 70 38 35 68 77 56 58 49 79 2b 54 53 72 4b 30 6d 31 7a 53 42 Uk+S7aFKErGzp85hwVXIy+TSrK0m1zSB
1bc520 69 0a 35 44 70 36 5a 32 4f 72 6c 74 78 74 72 70 66 73 2f 4a 39 32 56 6f 67 75 5a 73 39 62 74 73 i.5Dp6Z2Orltxtrpfs/J92VoguZs9bts
1bc540 6d 6b 73 4e 63 46 75 75 45 6e 4c 35 4f 37 4a 69 71 69 6b 37 41 62 38 34 36 2b 48 55 43 6a 75 54 mksNcFuuEnL5O7Jiqik7Ab846+HUCjuT
1bc560 61 50 50 6f 49 61 47 6c 36 49 36 6c 44 34 0a 57 65 4b 44 52 69 6b 4c 34 30 52 63 34 5a 57 32 61 aPPoIaGl6I6lD4.WeKDRikL40Rc4ZW2a
1bc580 5a 43 61 46 47 2b 58 72 6f 48 50 61 4f 2b 5a 6d 72 36 31 35 2b 46 2f 2b 50 6f 54 52 78 5a 4d 7a ZCaFG+XroHPaO+Zmr615+F/+PoTRxZMz
1bc5a0 47 30 49 51 4f 65 4c 65 47 39 51 67 6b 52 51 50 32 59 47 69 71 74 44 68 46 5a 4b 0a 44 79 41 74 G0IQOeLeG9QgkRQP2YGiqtDhFZK.DyAt
1bc5c0 68 67 37 31 30 74 76 53 65 6f 70 4c 7a 61 58 6f 54 76 46 65 4a 69 55 42 57 53 4f 67 66 74 4c 32 hg710tvSeopLzaXoTvFeJiUBWSOgftL2
1bc5e0 66 69 46 58 31 79 65 38 46 56 64 4d 70 45 62 42 34 49 4d 65 44 45 78 4e 48 30 38 47 47 65 4c 35 fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5
1bc600 71 50 51 36 67 71 47 79 0a 65 55 4e 35 31 71 31 76 65 69 65 51 41 36 54 71 4a 49 63 2f 32 62 33 qPQ6gqGy.eUN51q1veieQA6TqJIc/2b3
1bc620 5a 36 66 4a 66 55 45 6b 63 37 75 7a 58 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 Z6fJfUEkc7uzXLg==.-----END.CERTI
1bc640 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 64 65 6e 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 FICATE-----..IdenTrust.Commercia
1bc660 6c 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d l.Root.CA.1.====================
1bc680 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1bc6a0 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 51 43 67 46 43 67 E-----.MIIFYDCCA0igAwIBAgIQCgFCg
1bc6c0 41 41 41 41 55 55 6a 79 45 53 31 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 AAAAUUjyES1AAAAAjANBgkqhkiG9w0BA
1bc6e0 51 73 46 41 44 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 4d 42 41 47 QsFADBKMQswCQYDVQQG.EwJVUzESMBAG
1bc700 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 63 77 4a 51 59 44 56 51 51 44 A1UEChMJSWRlblRydXN0MScwJQYDVQQD
1bc720 45 78 35 4a 5a 47 56 75 56 48 4a 31 63 33 51 67 51 32 39 74 62 57 56 79 59 32 6c 68 62 43 42 53 Ex5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
1bc740 0a 62 32 39 30 49 45 4e 42 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 32 4d 54 67 78 4d 6a 49 .b290IENBIDEwHhcNMTQwMTE2MTgxMjI
1bc760 7a 57 68 63 4e 4d 7a 51 77 4d 54 45 32 4d 54 67 78 4d 6a 49 7a 57 6a 42 4b 4d 51 73 77 43 51 59 zWhcNMzQwMTE2MTgxMjIzWjBKMQswCQY
1bc780 44 56 51 51 47 45 77 4a 56 55 7a 45 53 0a 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c DVQQGEwJVUzES.MBAGA1UEChMJSWRlbl
1bc7a0 52 79 64 58 4e 30 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 4a 5a 47 56 75 56 48 4a 31 63 33 RydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3
1bc7c0 51 67 51 32 39 74 62 57 56 79 59 32 6c 68 62 43 42 53 62 32 39 30 49 45 4e 42 0a 49 44 45 77 67 QgQ29tbWVyY2lhbCBSb290IENB.IDEwg
1bc7e0 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 gIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwg
1bc800 67 49 4b 41 6f 49 43 41 51 43 6e 55 42 6e 65 50 35 6b 39 31 44 4e 47 38 57 39 52 59 59 4b 79 71 gIKAoICAQCnUBneP5k91DNG8W9RYYKyq
1bc820 55 2b 50 5a 34 6c 64 0a 68 4e 6c 54 33 51 77 6f 32 64 66 77 2f 36 36 56 51 33 4b 5a 2b 62 56 64 U+PZ4ld.hNlT3Qwo2dfw/66VQ3KZ+bVd
1bc840 66 49 72 42 51 75 45 78 55 48 54 52 67 51 31 38 7a 5a 73 68 71 30 50 69 72 4b 31 65 68 6d 37 7a fIrBQuExUHTRgQ18zZshq0PirK1ehm7z
1bc860 43 59 6f 66 57 6a 4b 39 6f 75 75 55 2b 65 68 63 43 75 7a 2f 0a 6d 4e 4b 76 63 62 4f 30 55 35 39 CYofWjK9ouuU+ehcCuz/.mNKvcbO0U59
1bc880 4f 68 2b 2b 53 76 4c 33 73 54 7a 49 77 69 45 73 58 58 6c 66 45 55 38 4c 32 41 70 65 4e 32 57 49 Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WI
1bc8a0 72 76 79 51 66 59 6f 33 66 77 37 67 70 53 30 6c 34 50 4a 4e 67 69 43 4c 38 6d 64 6f 32 79 4d 4b rvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMK
1bc8c0 69 0a 31 43 78 55 41 47 63 31 62 6e 4f 2f 41 6c 6a 77 70 4e 33 6c 73 4b 49 6d 65 73 72 67 4e 71 i.1CxUAGc1bnO/AljwpN3lsKImesrgNq
1bc8e0 55 5a 46 76 58 39 74 2b 2b 75 50 30 44 31 62 56 6f 45 2f 63 34 30 79 69 54 63 64 43 4d 62 58 54 UZFvX9t++uP0D1bVoE/c40yiTcdCMbXT
1bc900 4d 54 45 6c 33 45 41 53 58 32 4d 4e 30 43 0a 58 5a 2f 67 31 55 65 39 74 4f 73 62 6f 62 74 4a 53 MTEl3EASX2MN0C.XZ/g1Ue9tOsbobtJS
1bc920 64 69 66 57 77 4c 7a 69 75 51 6b 6b 4f 52 69 54 30 2f 42 72 34 73 4f 64 42 65 6f 30 58 4b 49 61 difWwLziuQkkORiT0/Br4sOdBeo0XKIa
1bc940 6e 6f 42 53 63 79 30 52 6e 6e 47 46 37 48 61 6d 42 34 48 57 66 70 31 49 59 56 6c 0a 33 5a 42 57 noBScy0RnnGF7HamB4HWfp1IYVl.3ZBW
1bc960 7a 76 75 72 70 57 43 64 78 4a 33 35 55 72 43 4c 76 59 66 35 6a 79 73 6a 43 69 4e 32 4f 2f 63 7a zvurpWCdxJ35UrCLvYf5jysjCiN2O/cz
1bc980 34 63 6b 41 38 32 6e 35 53 36 4c 67 54 72 78 2b 6b 7a 6d 45 42 2f 64 45 63 48 37 2b 42 31 72 6c 4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rl
1bc9a0 73 61 7a 52 47 4d 7a 79 0a 4e 65 56 4a 53 51 6a 4b 56 73 6b 39 2b 77 38 59 66 59 73 37 77 52 50 sazRGMzy.NeVJSQjKVsk9+w8YfYs7wRP
1bc9c0 43 54 59 2f 4a 54 77 34 33 36 52 2b 68 44 6d 72 66 59 69 37 4c 4e 51 5a 52 65 53 7a 49 4a 54 6a CTY/JTw436R+hDmrfYi7LNQZReSzIJTj
1bc9e0 30 2b 6b 75 6e 69 56 79 63 30 75 4d 4e 4f 59 5a 4b 64 48 7a 56 0a 57 59 66 43 50 30 34 4d 58 46 0+kuniVyc0uMNOYZKdHzV.WYfCP04MXF
1bca00 4c 30 50 66 64 53 67 76 48 71 6f 36 7a 39 53 54 51 61 4b 50 4e 42 69 44 6f 54 37 75 6a 65 2f 35 L0PfdSgvHqo6z9STQaKPNBiDoT7uje/5
1bca20 6b 64 58 37 72 4c 36 42 37 79 75 56 42 67 77 44 48 54 63 2b 58 76 76 71 44 74 4d 77 74 30 76 69 kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0vi
1bca40 41 67 0a 78 47 64 73 38 41 67 44 65 6c 57 41 66 30 5a 4f 6c 71 66 30 48 6a 37 68 39 74 67 4a 34 Ag.xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4
1bca60 54 4e 6b 4b 32 50 58 4d 6c 36 66 2b 63 42 37 44 33 68 76 6c 37 79 54 6d 76 6d 63 45 70 42 34 65 TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4e
1bca80 6f 43 48 46 64 64 79 64 4a 78 56 64 48 69 78 0a 75 75 46 75 63 41 53 36 54 36 43 36 61 4d 4e 37 oCHFddydJxVdHix.uuFucAS6T6C6aMN7
1bcaa0 2f 7a 48 77 63 7a 30 39 6c 43 71 78 43 30 45 4f 6f 50 35 4e 69 47 56 72 65 54 4f 30 31 77 49 44 /zHwcz09lCqxC0EOoP5NiGVreTO01wID
1bcac0 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 AQABo0IwQDAOBgNVHQ8BAf8EBAMC.AQY
1bcae0 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 wDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4
1bcb00 45 46 67 51 55 37 55 51 5a 77 4e 50 77 42 6f 76 75 70 48 75 2b 51 75 63 6d 56 4d 69 4f 4e 6e 59 EFgQU7UQZwNPwBovupHu+QucmVMiONnY
1bcb20 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 41 32 75 6b 44 wDQYJKoZI.hvcNAQELBQADggIBAA2ukD
1bcb40 4c 32 70 6b 74 38 52 48 59 5a 59 52 34 6e 4b 4d 31 65 56 4f 38 6c 76 4f 4d 49 6b 50 6b 70 31 36 L2pkt8RHYZYR4nKM1eVO8lvOMIkPkp16
1bcb60 35 6f 43 4f 47 55 41 46 6a 76 4c 69 35 2b 55 31 4b 4d 74 6c 77 48 0a 36 6f 69 36 6d 59 74 51 6c 5oCOGUAFjvLi5+U1KMtlwH.6oi6mYtQl
1bcb80 4e 65 43 67 4e 39 68 43 51 43 54 72 51 30 55 35 73 37 42 38 6a 65 55 65 4c 42 66 6e 4c 4f 69 63 NeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic
1bcba0 37 69 50 42 5a 4d 34 7a 59 30 2b 73 4c 6a 37 77 4d 2b 78 38 75 77 74 4c 52 76 4d 37 4b 71 61 73 7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas
1bcbc0 36 70 67 0a 67 68 73 74 4f 38 4f 45 50 56 65 4b 6c 68 36 63 64 62 6a 54 4d 4d 31 67 43 49 4f 51 6pg.ghstO8OEPVeKlh6cdbjTMM1gCIOQ
1bcbe0 30 34 35 55 38 55 31 6d 77 46 31 30 41 30 43 6a 37 6f 56 2b 77 68 39 33 6e 41 62 6f 77 61 63 59 045U8U1mwF10A0Cj7oV+wh93nAbowacY
1bcc00 58 56 4b 56 37 63 6e 64 4a 5a 35 74 2b 71 6e 74 0a 6f 7a 6f 30 30 46 6c 37 32 75 31 51 38 7a 57 XVKV7cndJZ5t+qnt.ozo00Fl72u1Q8zW
1bcc20 2f 37 65 73 55 54 54 48 48 59 50 54 61 38 59 65 63 34 6b 6a 69 78 73 55 33 2b 77 59 51 2b 6e 56 /7esUTTHHYPTa8Yec4kjixsU3+wYQ+nV
1bcc40 5a 5a 6a 46 48 4b 64 70 32 6d 68 7a 70 67 71 37 76 6d 72 6c 52 39 34 67 6a 6d 6d 6d 56 0a 59 6a ZZjFHKdp2mhzpgq7vmrlR94gjmmmV.Yj
1bcc60 7a 6c 56 59 41 32 31 31 51 43 2f 2f 47 35 58 63 37 55 49 32 2f 59 52 59 52 4b 57 32 58 76 69 51 zlVYA211QC//G5Xc7UI2/YRYRKW2XviQ
1bcc80 7a 64 46 4b 63 67 79 78 69 6c 4a 62 51 4e 2b 51 48 77 6f 74 4c 30 41 4d 68 30 6a 71 45 71 53 49 zdFKcgyxilJbQN+QHwotL0AMh0jqEqSI
1bcca0 35 6c 32 78 50 45 34 69 55 58 0a 66 65 75 2b 68 31 73 58 49 46 52 52 6b 30 70 54 41 77 76 73 58 5l2xPE4iUX.feu+h1sXIFRRk0pTAwvsX
1bccc0 63 6f 7a 37 57 4c 39 52 63 63 76 57 39 78 59 6f 49 41 35 35 76 72 58 2f 68 4d 55 70 75 30 39 6c coz7WL9RccvW9xYoIA55vrX/hMUpu09l
1bcce0 45 70 43 64 4e 54 44 64 31 6c 7a 7a 59 39 47 76 6c 55 34 37 2f 72 6f 0a 6b 54 4c 71 6c 31 67 45 EpCdNTDd1lzzY9GvlU47/ro.kTLql1gE
1bcd00 49 74 34 34 77 38 79 38 62 63 6b 7a 4f 6d 6f 4b 61 54 2b 67 79 4f 70 79 6a 34 78 6a 68 69 4f 39 It44w8y8bckzOmoKaT+gyOpyj4xjhiO9
1bcd20 62 54 79 57 6e 70 58 67 53 55 79 71 6f 72 6b 71 47 35 77 32 67 58 6a 74 77 2b 68 47 34 69 5a 5a bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZ
1bcd40 52 48 55 65 0a 32 58 57 4a 55 63 30 51 68 4a 31 68 59 4d 74 64 2b 5a 63 69 54 59 36 59 35 75 4e RHUe.2XWJUc0QhJ1hYMtd+ZciTY6Y5uN
1bcd60 2f 39 6c 75 37 72 73 33 4b 53 6f 46 72 58 67 76 7a 55 65 46 30 4b 2b 6c 2b 4a 36 66 5a 6d 55 6c /9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUl
1bcd80 4f 2b 4b 57 41 32 79 55 50 48 47 4e 69 69 73 6b 7a 0a 5a 32 73 38 45 49 50 47 72 64 36 6f 7a 52 O+KWA2yUPHGNiiskz.Z2s8EIPGrd6ozR
1bcda0 61 4f 6a 66 41 48 4e 33 47 66 38 71 76 38 51 66 58 42 69 2b 77 41 4e 31 30 4a 35 55 36 41 37 2f aOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/
1bcdc0 71 78 58 44 67 47 70 52 74 4b 34 64 77 34 4c 54 7a 63 71 78 2b 51 47 74 56 4b 6e 4f 37 52 0a 63 qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R.c
1bcde0 47 7a 4d 37 76 52 58 2b 42 69 36 68 47 36 48 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 GzM7vRX+Bi6hG6H.-----END.CERTIFI
1bce00 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 64 65 6e 54 72 75 73 74 20 50 75 62 6c 69 63 20 53 65 63 74 CATE-----..IdenTrust.Public.Sect
1bce20 6f 72 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d or.Root.CA.1.===================
1bce40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1bce60 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 5a 6a 43 43 41 30 36 67 41 77 49 42 41 67 49 51 43 ICATE-----.MIIFZjCCA06gAwIBAgIQC
1bce80 67 46 43 67 41 41 41 41 55 55 6a 7a 30 5a 38 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 gFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9
1bcea0 77 30 42 41 51 73 46 41 44 42 4e 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 w0BAQsFADBNMQswCQYDVQQG.EwJVUzES
1bcec0 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 MBAGA1UEChMJSWRlblRydXN0MSowKAYD
1bcee0 56 51 51 44 45 79 46 4a 5a 47 56 75 56 48 4a 31 63 33 51 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c VQQDEyFJZGVuVHJ1c3QgUHVibGljIFNl
1bcf00 59 33 52 76 0a 63 69 42 53 62 32 39 30 49 45 4e 42 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 Y3Rv.ciBSb290IENBIDEwHhcNMTQwMTE
1bcf20 32 4d 54 63 31 4d 7a 4d 79 57 68 63 4e 4d 7a 51 77 4d 54 45 32 4d 54 63 31 4d 7a 4d 79 57 6a 42 2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjB
1bcf40 4e 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 53 4d 42 41 47 41 31 55 45 43 68 NMQswCQYDVQQGEwJV.UzESMBAGA1UECh
1bcf60 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 56 51 51 44 45 79 46 4a 5a 47 MJSWRlblRydXN0MSowKAYDVQQDEyFJZG
1bcf80 56 75 56 48 4a 31 63 33 51 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c 59 33 52 76 63 69 42 53 0a 62 VuVHJ1c3QgUHVibGljIFNlY3RvciBS.b
1bcfa0 32 39 30 49 45 4e 42 49 44 45 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 290IENBIDEwggIiMA0GCSqGSIb3DQEBA
1bcfc0 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 32 49 70 54 38 70 45 69 76 36 QUAA4ICDwAwggIKAoICAQC2IpT8pEiv6
1bcfe0 45 64 72 43 76 73 6e 64 75 54 79 0a 50 34 6f 37 65 6b 6f 73 4d 53 71 4d 6a 62 43 70 77 7a 46 72 EdrCvsnduTy.P4o7ekosMSqMjbCpwzFr
1bd000 71 48 64 32 68 43 61 32 72 49 46 43 44 51 6a 72 56 56 69 37 65 76 69 38 5a 58 33 79 6f 47 32 4c qHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2L
1bd020 71 45 66 70 59 6e 59 65 45 65 34 49 46 4e 47 79 52 42 62 30 36 74 44 36 0a 48 69 39 65 32 38 74 qEfpYnYeEe4IFNGyRBb06tD6.Hi9e28t
1bd040 7a 51 61 36 38 41 4c 42 4b 4b 30 43 79 72 4f 45 37 53 38 49 74 6e 65 53 68 6d 2b 77 61 4f 68 37 zQa68ALBKK0CyrOE7S8ItneShm+waOh7
1bd060 77 43 4c 50 51 35 43 51 31 42 35 2b 63 74 4d 6c 53 62 64 73 48 79 6f 2b 31 57 2f 43 44 38 30 2f wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/
1bd080 48 4c 61 58 49 0a 72 63 75 56 49 4b 51 78 4b 46 64 59 57 75 53 4e 47 35 71 72 6e 67 30 4d 38 67 HLaXI.rcuVIKQxKFdYWuSNG5qrng0M8g
1bd0a0 6f 7a 4f 53 49 35 43 70 63 75 38 31 4e 33 75 55 52 46 2f 59 54 4c 4e 69 43 42 57 53 32 61 62 32 ozOSI5Cpcu81N3uURF/YTLNiCBWS2ab2
1bd0c0 31 49 53 47 48 4b 54 4e 39 54 30 61 39 53 76 45 53 66 0a 71 79 39 72 67 33 4c 76 64 59 44 61 42 1ISGHKTN9T0a9SvESf.qy9rg3LvdYDaB
1bd0e0 6a 4d 62 58 63 6a 61 59 38 5a 4e 7a 61 78 6d 4d 63 33 52 33 6a 36 48 45 44 62 68 75 61 52 36 37 jMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR67
1bd100 32 42 51 73 73 76 4b 70 6c 62 67 4e 36 2b 72 4e 42 4d 35 4a 65 67 35 5a 75 53 59 65 71 6f 53 0a 2BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS.
1bd120 6d 4a 78 5a 5a 6f 59 2b 72 66 47 77 79 6a 34 47 44 33 76 77 45 55 73 33 6f 45 52 74 65 38 75 6f mJxZZoY+rfGwyj4GD3vwEUs3oERte8uo
1bd140 6a 48 48 30 31 62 57 52 4e 73 7a 77 46 63 59 72 33 6c 45 58 73 5a 64 4d 55 44 32 78 6c 56 6c 38 jHH01bWRNszwFcYr3lEXsZdMUD2xlVl8
1bd160 42 58 30 74 49 64 55 41 76 77 46 6e 0a 6f 6c 35 37 70 6c 7a 79 39 79 4c 78 6b 41 32 54 32 36 70 BX0tIdUAvwFn.ol57plzy9yLxkA2T26p
1bd180 45 55 57 62 4d 66 58 59 44 36 32 71 6f 4b 6a 67 5a 6c 33 59 4e 61 34 70 68 2b 62 7a 32 37 6e 62 EUWbMfXYD62qoKjgZl3YNa4ph+bz27nb
1bd1a0 39 63 43 76 64 4b 54 7a 34 43 68 35 62 51 68 79 4c 56 69 39 56 47 78 79 68 0a 4c 72 58 48 46 75 9cCvdKTz4Ch5bQhyLVi9VGxyh.LrXHFu
1bd1c0 62 34 71 6a 79 53 6a 6d 6d 32 41 63 47 31 68 70 32 4a 44 77 73 34 6c 46 54 6f 36 74 79 65 50 53 b4qjySjmm2AcG1hp2JDws4lFTo6tyePS
1bd1e0 57 38 55 79 62 74 31 61 73 35 71 73 56 41 54 46 53 72 73 72 54 5a 32 66 6a 58 63 74 73 63 76 47 W8Uybt1as5qsVATFSrsrTZ2fjXctscvG
1bd200 32 39 5a 56 2f 76 0a 69 44 55 71 5a 69 2f 75 39 72 4e 6c 38 44 4f 4e 66 4a 68 42 61 55 59 50 51 29ZV/v.iDUqZi/u9rNl8DONfJhBaUYPQ
1bd220 78 78 70 2b 70 75 31 30 47 46 71 7a 63 70 4c 32 55 79 51 52 71 73 56 57 61 46 48 56 43 6b 75 67 xxp+pu10GFqzcpL2UyQRqsVWaFHVCkug
1bd240 79 68 66 48 4d 4b 69 71 33 49 58 41 41 61 4f 52 65 79 4c 0a 34 6a 4d 39 66 39 6f 5a 52 4f 52 69 yhfHMKiq3IXAAaOReyL.4jM9f9oZRORi
1bd260 63 73 50 66 49 73 62 79 56 74 54 64 58 35 56 79 37 57 31 66 39 30 67 44 57 2f 33 46 4b 71 44 32 csPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2
1bd280 63 79 4f 45 45 42 73 42 35 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B
1bd2a0 0a 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 .Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwE
1bd2c0 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 34 33 48 67 6e 74 69 6e 51 74 6e 62 63 5a 46 B/zAdBgNVHQ4EFgQU43HgntinQtnbcZF
1bd2e0 72 6c 4a 50 72 77 36 50 52 46 4b 4d 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 rlJPrw6PRFKMw.DQYJKoZIhvcNAQELBQ
1bd300 41 44 67 67 49 42 41 45 66 36 33 51 71 77 45 5a 45 34 72 55 31 64 39 2b 55 4f 6c 31 51 5a 67 6b ADggIBAEf63QqwEZE4rU1d9+UOl1QZgk
1bd320 69 48 56 49 79 71 5a 4a 6e 59 57 76 36 49 41 63 56 59 70 5a 6d 78 49 31 51 6a 0a 74 32 6f 64 49 iHVIyqZJnYWv6IAcVYpZmxI1Qj.t2odI
1bd340 46 66 6c 41 57 4a 42 46 39 4d 4a 32 33 58 4c 62 6c 53 51 64 66 34 61 6e 34 45 4b 77 74 33 58 39 FflAWJBF9MJ23XLblSQdf4an4EKwt3X9
1bd360 77 6e 51 57 33 49 56 35 42 34 4a 61 6a 30 7a 38 79 47 61 35 68 56 2b 72 56 48 56 44 52 44 74 66 wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtf
1bd380 55 4c 41 6a 2b 37 41 0a 6d 67 6a 56 51 64 5a 63 44 69 46 70 62 6f 42 68 44 68 58 41 75 4d 2f 46 ULAj+7A.mgjVQdZcDiFpboBhDhXAuM/F
1bd3a0 53 52 4a 53 7a 4c 34 36 7a 4e 51 75 4f 41 58 65 4e 66 30 66 62 37 69 41 61 4a 67 39 54 61 44 4b SRJSzL46zNQuOAXeNf0fb7iAaJg9TaDK
1bd3c0 51 47 58 53 63 33 7a 31 69 39 6b 4b 6c 54 2f 59 50 79 4e 74 0a 47 74 45 71 4a 42 6e 5a 68 62 4d QGXSc3z1i9kKlT/YPyNt.GtEqJBnZhbM
1bd3e0 58 37 33 68 75 71 56 6a 52 49 39 50 48 45 2b 31 79 4a 58 39 64 73 58 4e 77 30 48 38 47 6c 77 6d X73huqVjRI9PHE+1yJX9dsXNw0H8Glwm
1bd400 45 4b 59 42 68 48 66 70 65 2f 33 4f 73 6f 4f 4f 4a 75 42 78 78 46 63 62 65 4d 58 38 53 33 4f 46 EKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OF
1bd420 74 0a 6d 36 2f 6e 36 4a 39 31 65 45 79 72 52 6a 75 61 7a 72 38 46 47 46 31 4e 46 54 77 57 6d 68 t.m6/n6J91eEyrRjuazr8FGF1NFTwWmh
1bd440 6c 51 42 4a 71 79 6d 6d 39 6c 69 31 4a 66 50 46 67 45 4b 43 58 41 5a 6d 45 78 66 72 6e 67 64 62 lQBJqymm9li1JfPFgEKCXAZmExfrngdb
1bd460 6b 61 71 49 48 57 63 68 65 7a 78 51 4d 78 0a 4e 52 46 34 65 4b 4c 67 36 54 43 4d 66 34 44 66 57 kaqIHWchezxQMx.NRF4eKLg6TCMf4DfW
1bd480 4e 38 38 75 69 65 57 34 6f 41 30 62 65 4f 59 30 32 51 6e 72 45 68 2b 4b 48 64 63 78 69 56 68 4a N88uieW4oA0beOY02QnrEh+KHdcxiVhJ
1bd4a0 66 69 46 44 47 58 36 78 44 49 76 70 5a 67 46 35 50 67 4c 5a 78 59 57 78 6f 4b 34 0a 4d 68 6e 35 fiFDGX6xDIvpZgF5PgLZxYWxoK4.Mhn5
1bd4c0 2b 62 6c 35 33 42 2f 4e 36 36 2b 72 44 74 30 62 32 30 58 6b 65 75 63 43 34 70 56 64 2f 47 6e 77 +bl53B/N66+rDt0b20XkeucC4pVd/Gnw
1bd4e0 55 32 6c 68 6c 58 56 35 43 31 35 56 35 6a 67 63 6c 4b 6c 5a 4d 35 37 49 63 58 52 35 66 31 47 4a U2lhlXV5C15V5jgclKlZM57IcXR5f1GJ
1bd500 74 73 68 71 75 44 44 49 0a 61 6a 6a 44 62 70 37 68 4e 78 62 71 42 57 4a 4d 57 78 4a 48 37 61 65 tshquDDI.ajjDbp7hNxbqBWJMWxJH7ae
1bd520 30 73 31 68 57 78 30 6e 7a 66 78 4a 6f 43 54 46 78 38 47 33 34 54 6b 66 37 31 6f 58 75 78 56 68 0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVh
1bd540 41 47 61 51 64 70 2f 6c 4c 51 7a 66 63 61 46 70 50 7a 2b 76 43 0a 5a 48 54 65 74 42 58 5a 39 46 AGaQdp/lLQzfcaFpPz+vC.ZHTetBXZ9F
1bd560 52 55 47 69 38 63 31 35 64 78 56 4a 43 4f 32 53 43 64 55 79 74 2f 71 34 2f 69 36 6a 43 38 55 44 RUGi8c15dxVJCO2SCdUyt/q4/i6jC8UD
1bd580 66 76 38 55 65 31 66 58 77 73 42 4f 78 6f 6e 62 52 4a 52 42 44 30 63 6b 73 63 5a 4f 66 38 35 6d fv8Ue1fXwsBOxonbRJRBD0ckscZOf85m
1bd5a0 75 51 0a 33 57 6c 39 61 66 30 41 56 71 57 33 72 4c 61 74 74 38 6f 2b 41 65 2b 63 0a 2d 2d 2d 2d uQ.3Wl9af0AVqW3rLatt8o+Ae+c.----
1bd5c0 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 -END.CERTIFICATE-----..Entrust.R
1bd5e0 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 oot.Certification.Authority.-.G2
1bd600 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .===============================
1bd620 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1bd640 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 50 6a 43 43 41 79 61 67 41 77 49 42 41 67 49 45 53 6c 4f 4d 4b E-----.MIIEPjCCAyagAwIBAgIESlOMK
1bd660 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 76 6a 45 4c 4d 41 6b 47 41 DANBgkqhkiG9w0BAQsFADCBvjELMAkGA
1bd680 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 6f 54 44 55 56 75 64 48 4a 31 1UEBhMCVVMxFjAUBgNV.BAoTDUVudHJ1
1bd6a0 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3
1bd6c0 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 6e 59 57 77 74 64 47 56 79 d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
1bd6e0 0a 62 58 4d 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 35 49 45 56 .bXMxOTA3BgNVBAsTMChjKSAyMDA5IEV
1bd700 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 udHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9
1bd720 79 61 58 70 6c 5a 43 42 31 63 32 55 67 0a 62 32 35 73 65 54 45 79 4d 44 41 47 41 31 55 45 41 78 yaXplZCB1c2Ug.b25seTEyMDAGA1UEAx
1bd740 4d 70 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 MpRW50cnVzdCBSb290IENlcnRpZmljYX
1bd760 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 49 77 0a 48 68 63 4e 4d Rpb24gQXV0aG9yaXR5IC0gRzIw.HhcNM
1bd780 44 6b 77 4e 7a 41 33 4d 54 63 79 4e 54 55 30 57 68 63 4e 4d 7a 41 78 4d 6a 41 33 4d 54 63 31 4e DkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1N
1bd7a0 54 55 30 57 6a 43 42 76 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 TU0WjCBvjELMAkGA1UEBhMCVVMxFjAUB
1bd7c0 67 4e 56 42 41 6f 54 0a 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 41 6d gNVBAoT.DUVudHJ1c3QsIEluYy4xKDAm
1bd7e0 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 BgNVBAsTH1NlZSB3d3cuZW50cnVzdC5u
1bd800 5a 58 51 76 62 47 56 6e 59 57 77 74 64 47 56 79 62 58 4d 78 0a 4f 54 41 33 42 67 4e 56 42 41 73 ZXQvbGVnYWwtdGVybXMx.OTA3BgNVBAs
1bd820 54 4d 43 68 6a 4b 53 41 79 4d 44 41 35 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 TMChjKSAyMDA5IEVudHJ1c3QsIEluYy4
1bd840 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25
1bd860 73 0a 65 54 45 79 4d 44 41 47 41 31 55 45 41 78 4d 70 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 s.eTEyMDAGA1UEAxMpRW50cnVzdCBSb2
1bd880 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 90IENlcnRpZmljYXRpb24gQXV0aG9yaX
1bd8a0 52 35 49 43 30 67 52 7a 49 77 67 67 45 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 R5IC0gRzIwggEi.MA0GCSqGSIb3DQEBA
1bd8c0 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 36 68 4c 5a 79 32 35 34 4d 61 QUAA4IBDwAwggEKAoIBAQC6hLZy254Ma
1bd8e0 2b 4b 5a 36 54 41 42 70 33 62 71 4d 72 69 56 51 52 72 4a 32 6d 46 4f 57 48 4c 50 0a 2f 76 61 43 +KZ6TABp3bqMriVQRrJ2mFOWHLP./vaC
1bd900 65 62 39 7a 59 51 59 4b 70 53 66 59 73 31 2f 54 52 55 34 63 63 74 5a 4f 4d 76 4a 79 69 67 2f 33 eb9zYQYKpSfYs1/TRU4cctZOMvJyig/3
1bd920 67 78 6e 51 61 6f 43 41 41 45 55 65 73 4d 66 6e 6d 72 38 53 56 79 63 63 6f 32 67 76 43 6f 65 39 gxnQaoCAAEUesMfnmr8SVycco2gvCoe9
1bd940 61 6d 73 4f 58 6d 58 7a 0a 48 48 66 56 31 49 57 4e 63 43 47 30 73 7a 4c 6e 69 36 4c 56 68 6a 6b amsOXmXz.HHfV1IWNcCG0szLni6LVhjk
1bd960 43 73 62 6a 53 52 38 37 6b 79 55 6e 45 4f 36 66 65 2b 31 52 39 56 37 37 77 36 47 37 43 65 62 49 CsbjSR87kyUnEO6fe+1R9V77w6G7CebI
1bd980 36 43 31 58 69 55 4a 67 57 4d 68 4e 63 4c 33 68 57 77 63 4b 55 0a 73 2f 4a 61 35 43 65 61 6e 79 6C1XiUJgWMhNcL3hWwcKU.s/Ja5Ceany
1bd9a0 54 58 78 75 7a 51 6d 79 57 43 34 38 7a 43 78 45 58 46 6a 4a 64 36 42 6d 73 71 45 5a 2b 70 43 6d TXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm
1bd9c0 35 49 4f 32 2f 62 31 42 45 5a 51 76 65 50 42 37 2f 31 55 31 2b 63 50 76 51 58 4c 4f 5a 70 72 45 5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE
1bd9e0 34 79 0a 54 47 4a 33 36 72 66 6f 35 62 73 30 76 42 6d 4c 72 70 78 52 35 37 64 2b 74 56 4f 78 4d 4y.TGJ36rfo5bs0vBmLrpxR57d+tVOxM
1bda00 79 4c 6c 62 63 39 77 50 42 72 36 34 70 74 6e 74 6f 50 30 6a 61 57 76 59 6b 78 4e 34 46 69 73 5a yLlbc9wPBr64ptntoP0jaWvYkxN4FisZ
1bda20 44 51 53 41 2f 69 32 6a 5a 52 6a 4a 4b 52 78 0a 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 DQSA/i2jZRjJKRx.AgMBAAGjQjBAMA4G
1bda40 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
1bda60 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 71 63 69 5a 36 0a 30 42 37 BTADAQH/MB0GA1UdDgQWBBRqciZ6.0B7
1bda80 76 66 65 63 37 61 56 48 55 62 49 32 66 6b 42 4a 6d 71 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0
1bdaa0 42 41 51 73 46 41 41 4f 43 41 51 45 41 65 5a 38 64 6c 73 61 32 65 54 38 69 6a 59 66 54 68 77 4d BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwM
1bdac0 45 59 47 70 72 6d 69 35 5a 0a 69 58 4d 52 72 45 50 52 39 52 50 2f 6a 54 6b 72 77 50 4b 39 54 33 EYGprmi5Z.iXMRrEPR9RP/jTkrwPK9T3
1bdae0 43 4d 71 53 2f 71 46 38 51 4c 56 4a 37 55 47 35 61 59 4d 7a 79 6f 72 57 4b 69 41 48 61 72 57 57 CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWW
1bdb00 6c 75 42 68 31 2b 78 4c 6c 45 6a 5a 69 76 45 74 52 68 32 77 6f 5a 0a 52 6b 66 7a 36 2f 64 6a 77 luBh1+xLlEjZivEtRh2woZ.Rkfz6/djw
1bdb20 55 41 46 51 4b 58 53 74 2f 53 31 6d 6a 61 2f 71 59 68 32 69 41 52 56 42 43 75 63 68 33 38 61 4e UAFQKXSt/S1mja/qYh2iARVBCuch38aN
1bdb40 7a 78 2b 4c 61 55 61 32 4e 53 4a 58 73 71 39 72 44 31 73 32 47 32 76 31 66 4e 32 44 38 30 37 69 zx+LaUa2NSJXsq9rD1s2G2v1fN2D807i
1bdb60 44 67 69 0a 6e 57 79 54 6d 73 51 39 76 34 49 62 5a 54 2b 6d 44 31 32 71 2f 4f 57 79 46 63 71 31 Dgi.nWyTmsQ9v4IbZT+mD12q/OWyFcq1
1bdb80 72 63 61 38 50 64 43 45 36 4f 6f 47 63 72 42 4e 4f 54 4a 34 76 7a 34 52 6e 41 75 6b 6e 5a 6f 68 rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh
1bdba0 38 2f 43 62 43 7a 42 34 32 38 48 63 68 30 50 2b 0a 76 47 4f 61 79 73 58 43 48 4d 6e 48 6a 66 38 8/CbCzB428Hch0P+.vGOaysXCHMnHjf8
1bdbc0 37 45 6c 67 49 35 72 59 39 37 48 6f 73 54 76 75 44 6c 73 34 4d 50 47 6d 48 56 48 4f 6b 63 38 4b 7ElgI5rY97HosTvuDls4MPGmHVHOkc8K
1bdbe0 54 2f 31 45 51 72 42 56 55 41 64 6a 38 42 62 47 4a 6f 58 39 30 67 35 70 4a 31 39 78 4f 0a 65 34 T/1EQrBVUAdj8BbGJoX90g5pJ19xO.e4
1bdc00 70 49 62 34 74 46 39 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d pIb4tF9g==.-----END.CERTIFICATE-
1bdc20 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e ----..Entrust.Root.Certification
1bdc40 20 41 75 74 68 6f 72 69 74 79 20 2d 20 45 43 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Authority.-.EC1.===============
1bdc60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1bdc80 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 2b 54 43 43 -BEGIN.CERTIFICATE-----.MIIC+TCC
1bdca0 41 6f 43 67 41 77 49 42 41 67 49 4e 41 4b 61 4c 65 53 6b 41 41 41 41 41 55 4e 43 52 2b 54 41 4b AoCgAwIBAgINAKaLeSkAAAAAUNCR+TAK
1bdcc0 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 76 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 BggqhkjOPQQDAzCBvzELMAkGA1UEBhMC
1bdce0 56 56 4d 78 0a 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c VVMx.FjAUBgNVBAoTDUVudHJ1c3QsIEl
1bdd00 75 59 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 uYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW5
1bdd20 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 6e 0a 59 57 77 74 64 47 56 79 62 58 4d 78 4f 54 0cnVzdC5uZXQvbGVn.YWwtdGVybXMxOT
1bdd40 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 45 79 49 45 56 75 64 48 4a 31 63 33 A3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3
1bdd60 51 73 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 0a 5a QsIEluYy4gLSBmb3IgYXV0aG9yaXpl.Z
1bdd80 43 42 31 63 32 55 67 62 32 35 73 65 54 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 63 CB1c2Ugb25seTEzMDEGA1UEAxMqRW50c
1bdda0 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 nVzdCBSb290IENlcnRpZmljYXRpb24gQ
1bddc0 58 56 30 61 47 39 79 61 58 52 35 0a 49 43 30 67 52 55 4d 78 4d 42 34 58 44 54 45 79 4d 54 49 78 XV0aG9yaXR5.IC0gRUMxMB4XDTEyMTIx
1bdde0 4f 44 45 31 4d 6a 55 7a 4e 6c 6f 58 44 54 4d 33 4d 54 49 78 4f 44 45 31 4e 54 55 7a 4e 6c 6f 77 ODE1MjUzNloXDTM3MTIxODE1NTUzNlow
1bde00 67 62 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 0a 46 41 59 44 56 51 51 gb8xCzAJBgNVBAYTAlVTMRYw.FAYDVQQ
1bde20 4b 45 77 31 46 62 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 KEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQ
1bde40 4c 45 78 39 54 5a 57 55 67 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 32 78 LEx9TZWUgd3d3LmVudHJ1c3QubmV0L2x
1bde60 6c 5a 32 46 73 0a 4c 58 52 6c 63 6d 31 7a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 lZ2Fs.LXRlcm1zMTkwNwYDVQQLEzAoYy
1bde80 6b 67 4d 6a 41 78 4d 69 42 46 62 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 49 43 30 67 5a 6d kgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm
1bdea0 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 0a 64 58 4e 6c 49 47 39 75 62 48 6b 78 4d 9yIGF1dGhvcml6ZWQg.dXNlIG9ubHkxM
1bdec0 7a 41 78 42 67 4e 56 42 41 4d 54 4b 6b 56 75 64 48 4a 31 63 33 51 67 55 6d 39 76 64 43 42 44 5a zAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZ
1bdee0 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 0a XJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt.
1bdf00 49 45 56 44 4d 54 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 IEVDMTB2MBAGByqGSM49AgEGBSuBBAAi
1bdf20 41 32 49 41 42 49 51 54 79 64 43 36 62 55 46 37 34 6d 7a 51 36 31 56 66 5a 67 49 61 4a 50 52 62 A2IABIQTydC6bUF74mzQ61VfZgIaJPRb
1bdf40 69 57 6c 48 34 37 6a 43 66 66 48 79 0a 41 73 57 66 6f 50 5a 62 31 59 73 47 47 59 5a 50 55 78 42 iWlH47jCffHy.AsWfoPZb1YsGGYZPUxB
1bdf60 74 42 79 51 6e 6f 61 44 34 31 55 63 5a 59 55 78 39 79 70 4d 6e 36 6e 51 4d 37 32 2b 57 43 66 35 tByQnoaD41UcZYUx9ypMn6nQM72+WCf5
1bdf80 6a 37 48 42 64 4e 71 31 6e 64 36 37 4a 6e 58 78 56 52 44 71 69 59 31 45 66 0a 39 65 4e 69 31 4b j7HBdNq1nd67JnXxVRDqiY1Ef.9eNi1K
1bdfa0 6c 48 42 7a 37 4d 49 4b 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 lHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAg
1bdfc0 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 EGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR
1bdfe0 30 4f 42 42 59 45 0a 46 4c 64 6a 35 78 72 64 6a 65 6b 49 70 6c 57 44 70 4f 42 71 55 45 46 6c 45 0OBBYE.FLdj5xrdjekIplWDpOBqUEFlE
1be000 55 4a 4a 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 46 35 32 UJJMAoGCCqGSM49BAMDA2cAMGQCMGF52
1be020 4f 56 43 52 39 38 63 72 6c 4f 5a 46 37 5a 76 48 48 33 68 0a 76 78 47 55 30 51 4f 49 64 65 53 4e OVCR98crlOZF7ZvHH3h.vxGU0QOIdeSN
1be040 69 61 53 4b 64 30 62 65 62 57 48 76 41 76 58 37 74 64 2f 4d 2f 6b 37 2f 2f 71 6e 6d 70 77 49 77 iaSKd0bebWHvAvX7td/M/k7//qnmpwIw
1be060 57 35 6e 58 68 54 63 47 74 58 73 49 2f 65 73 6e 69 30 71 55 2b 65 48 36 70 34 34 6d 43 4f 68 38 W5nXhTcGtXsI/esni0qU+eH6p44mCOh8
1be080 0a 6b 6d 68 74 63 39 68 76 4a 71 77 68 41 72 69 5a 74 79 5a 42 57 79 56 67 72 74 42 49 47 75 34 .kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4
1be0a0 47 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 46 43 G.-----END.CERTIFICATE-----..CFC
1be0c0 41 20 45 56 20 52 4f 4f 54 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 A.EV.ROOT.============.-----BEGI
1be0e0 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6a 54 43 43 41 33 57 67 41 N.CERTIFICATE-----.MIIFjTCCA3WgA
1be100 77 49 42 41 67 49 45 47 45 72 4d 31 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 wIBAgIEGErM1jANBgkqhkiG9w0BAQsFA
1be120 44 42 57 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 4d 43 34 47 41 31 55 45 0a DBWMQswCQYDVQQGEwJDTjEwMC4GA1UE.
1be140 43 67 77 6e 51 32 68 70 62 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e 52 70 CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRp
1be160 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 59 44 ZmljYXRpb24gQXV0aG9yaXR5MRUwEwYD
1be180 56 51 51 44 44 41 78 44 52 6b 4e 42 0a 49 45 56 57 49 46 4a 50 54 31 51 77 48 68 63 4e 4d 54 49 VQQDDAxDRkNB.IEVWIFJPT1QwHhcNMTI
1be1a0 77 4f 44 41 34 4d 44 4d 77 4e 7a 41 78 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 44 4d 77 4e 7a 41 wODA4MDMwNzAxWhcNMjkxMjMxMDMwNzA
1be1c0 78 57 6a 42 57 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 0a 4d 43 34 47 41 31 xWjBWMQswCQYDVQQGEwJDTjEw.MC4GA1
1be1e0 55 45 43 67 77 6e 51 32 68 70 62 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e UECgwnQ2hpbmEgRmluYW5jaWFsIENlcn
1be200 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 RpZmljYXRpb24gQXV0aG9yaXR5MRUwEw
1be220 59 44 56 51 51 44 0a 44 41 78 44 52 6b 4e 42 49 45 56 57 49 46 4a 50 54 31 51 77 67 67 49 69 4d YDVQQD.DAxDRkNBIEVWIFJPT1QwggIiM
1be240 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 A0GCSqGSIb3DQEBAQUAA4ICDwAwggIKA
1be260 6f 49 43 41 51 44 58 58 57 76 4e 45 44 38 66 42 56 6e 56 0a 42 55 30 33 73 51 37 73 6d 43 75 4f oICAQDXXWvNED8fBVnV.BU03sQ7smCuO
1be280 46 52 33 36 6b 30 73 58 67 69 46 78 45 46 4c 58 55 57 52 77 46 73 4a 56 61 55 32 4f 46 57 32 66 FR36k0sXgiFxEFLXUWRwFsJVaU2OFW2f
1be2a0 76 77 77 62 77 75 43 6a 5a 39 59 4d 72 4d 38 69 72 71 39 33 56 43 70 4c 54 49 70 54 55 6e 72 44 vwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD
1be2c0 0a 37 69 37 65 73 33 45 6c 77 65 6c 64 50 65 36 68 4c 36 50 33 4b 6a 7a 4a 49 78 31 71 71 78 32 .7i7es3ElweldPe6hL6P3KjzJIx1qqx2
1be2e0 68 70 2f 48 7a 37 4b 44 56 52 4d 38 56 7a 33 49 76 48 57 4f 58 36 4a 6e 35 2f 5a 4f 6b 56 49 42 hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIB
1be300 4d 55 74 52 53 71 79 35 4a 33 35 44 4e 0a 75 46 2b 2b 50 39 36 68 79 6b 30 67 31 43 58 6f 68 43 MUtRSqy5J35DN.uF++P96hyk0g1CXohC
1be320 6c 54 74 37 47 49 48 2f 2f 36 32 70 43 66 43 71 6b 74 51 54 2b 78 38 52 67 70 37 68 5a 5a 4c 44 lTt7GIH//62pCfCqktQT+x8Rgp7hZZLD
1be340 52 4a 47 71 67 47 31 36 69 49 30 67 4e 79 65 6a 4c 69 36 6d 68 4e 62 69 79 57 0a 5a 58 76 4b 57 RJGqgG16iI0gNyejLi6mhNbiyW.ZXvKW
1be360 66 72 79 34 74 33 75 4d 43 7a 37 7a 45 61 73 78 47 50 72 62 33 38 32 4b 7a 52 7a 45 70 52 2f 33 fry4t3uMCz7zEasxGPrb382KzRzEpR/3
1be380 38 77 6d 6e 76 46 79 58 56 42 6c 57 59 39 70 73 34 64 65 4d 6d 2f 44 47 49 71 31 6c 59 2b 77 65 8wmnvFyXVBlWY9ps4deMm/DGIq1lY+we
1be3a0 6a 66 65 57 6b 55 37 0a 78 7a 62 68 37 32 66 52 4f 64 4f 58 57 33 4e 69 47 55 67 74 68 78 77 47 jfeWkU7.xzbh72fROdOXW3NiGUgthxwG
1be3c0 2b 33 53 59 49 45 6c 7a 38 41 58 53 47 37 47 67 6f 37 63 62 63 4e 4f 49 61 62 6c 61 31 6a 6a 30 +3SYIElz8AXSG7Ggo7cbcNOIabla1jj0
1be3e0 59 74 77 6c 69 33 69 2f 2b 4f 68 2b 75 46 7a 4a 6c 55 39 66 0a 70 79 32 35 49 47 76 50 61 39 33 Ytwli3i/+Oh+uFzJlU9f.py25IGvPa93
1be400 31 44 66 53 43 74 2f 53 79 5a 69 34 51 4b 50 61 58 57 6e 75 57 46 6f 38 42 47 53 31 73 62 6e 38 1DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn8
1be420 35 57 41 5a 6b 67 77 47 44 67 38 4e 4e 6b 74 30 79 78 6f 65 6b 4e 2b 6b 57 7a 71 6f 74 61 4b 38 5WAZkgwGDg8NNkt0yxoekN+kWzqotaK8
1be440 4b 0a 67 57 55 36 63 4d 47 62 72 55 31 74 56 4d 6f 71 4c 55 75 46 47 37 4f 41 35 6e 42 46 44 57 K.gWU6cMGbrU1tVMoqLUuFG7OA5nBFDW
1be460 74 65 4e 66 42 2f 4f 37 69 63 35 41 52 77 69 52 49 6c 6b 39 6f 4b 6d 53 4a 67 61 6d 4e 67 54 6e teNfB/O7ic5ARwiRIlk9oKmSJgamNgTn
1be480 59 47 6d 45 36 39 67 36 30 64 57 49 6f 6c 0a 68 64 4c 48 5a 52 34 74 6a 73 62 66 74 73 62 68 66 YGmE69g60dWIol.hdLHZR4tjsbftsbhf
1be4a0 34 6f 45 49 52 55 70 64 50 41 2b 6e 4a 43 64 44 43 37 78 69 6a 35 61 71 67 77 4a 48 73 66 56 50 4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVP
1be4c0 4b 50 74 6c 38 4d 65 4e 50 6f 34 2b 51 67 4f 34 38 42 64 4b 34 50 52 56 6d 72 4a 0a 74 71 68 55 KPtl8MeNPo4+QgO48BdK4PRVmrJ.tqhU
1be4e0 55 79 35 34 4d 6d 63 39 67 6e 39 30 30 50 76 68 74 67 56 67 75 58 44 62 6a 67 76 35 45 31 68 76 Uy54Mmc9gn900PvhtgVguXDbjgv5E1hv
1be500 63 57 41 51 55 68 43 35 77 55 45 4a 37 33 49 66 5a 7a 46 34 2f 35 59 46 6a 51 49 44 41 51 41 42 cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQAB
1be520 6f 32 4d 77 59 54 41 66 0a 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 6a 2f 69 33 39 4b 4e 41 o2MwYTAf.BgNVHSMEGDAWgBTj/i39KNA
1be540 4c 74 62 71 32 6f 73 53 2f 42 71 6f 46 6a 4a 50 37 4c 7a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 Ltbq2osS/BqoFjJP7LzAPBgNVHRMBAf8
1be560 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 0a 2f 77 51 45 41 77 49 42 42 6a EBTADAQH/MA4GA1UdDwEB./wQEAwIBBj
1be580 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 34 2f 34 74 2f 53 6a 51 43 37 57 36 74 71 4c 45 76 77 AdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvw
1be5a0 61 71 42 59 79 54 2b 79 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 aqBYyT+y8wDQYJKoZIhvcNAQELBQADgg
1be5c0 49 42 0a 41 43 58 47 75 6d 76 72 68 38 76 65 67 6a 6d 57 50 66 42 45 70 32 75 45 63 77 50 65 6e IB.ACXGumvrh8vegjmWPfBEp2uEcwPen
1be5e0 53 74 50 75 69 42 2f 76 48 69 79 7a 35 65 77 47 35 7a 7a 31 33 6b 75 39 55 69 32 30 76 73 58 69 StPuiB/vHiyz5ewG5zz13ku9Ui20vsXi
1be600 4f 62 54 65 6a 2f 74 55 78 50 51 34 69 39 71 0a 65 63 73 41 49 79 6a 6d 48 6a 64 58 4e 59 6d 45 ObTej/tUxPQ4i9q.ecsAIyjmHjdXNYmE
1be620 77 6e 5a 50 4e 44 61 74 5a 38 50 4f 51 51 61 49 78 66 66 75 32 42 71 34 31 67 74 2f 55 50 2b 54 wnZPNDatZ8POQQaIxffu2Bq41gt/UP+T
1be640 71 68 64 4c 6a 4f 7a 74 55 6d 43 79 70 41 62 71 54 75 76 30 61 78 6e 39 36 2f 55 61 0a 34 43 55 qhdLjOztUmCypAbqTuv0axn96/Ua.4CU
1be660 71 6d 74 7a 48 51 54 62 33 79 48 51 46 68 44 6d 56 4f 64 59 4c 4f 36 51 6e 2b 67 6a 59 58 42 37 qmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB7
1be680 34 42 47 42 53 45 53 67 6f 41 2f 2f 76 55 32 59 41 70 55 6f 30 46 6d 5a 38 2f 51 6d 6b 72 70 35 4BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5
1be6a0 6e 47 6d 39 42 43 32 73 47 0a 45 35 75 50 68 6e 45 46 74 43 2b 4e 69 57 59 7a 4b 58 5a 55 6d 68 nGm9BC2sG.E5uPhnEFtC+NiWYzKXZUmh
1be6c0 48 34 4a 2f 71 79 50 35 48 67 7a 67 30 62 38 7a 41 61 72 62 38 69 58 52 76 54 76 79 55 46 54 65 H4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTe
1be6e0 47 53 47 6e 2b 5a 6e 7a 78 45 6b 38 72 55 51 45 6c 73 67 49 66 58 0a 42 44 72 44 4d 6c 49 31 44 GSGn+ZnzxEk8rUQElsgIfX.BDrDMlI1D
1be700 6c 62 34 70 64 31 39 78 49 73 4e 45 52 39 54 79 78 36 79 46 37 5a 6f 64 31 72 67 31 4d 76 49 42 lb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB
1be720 36 37 31 4f 69 36 4f 4e 37 66 51 41 55 74 44 4b 58 65 4d 4f 5a 65 50 67 6c 72 34 55 65 57 4a 6f 671Oi6ON7fQAUtDKXeMOZePglr4UeWJo
1be740 42 6a 6e 0a 61 48 39 64 43 69 37 37 6f 30 63 4f 50 61 59 6a 65 73 59 42 78 34 2f 49 58 72 39 74 Bjn.aH9dCi77o0cOPaYjesYBx4/IXr9t
1be760 67 46 61 2b 69 69 53 36 4d 2b 71 66 34 54 49 52 6e 76 48 53 54 34 44 32 47 30 43 76 4f 4a 34 52 gFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4R
1be780 55 48 6c 7a 45 68 4c 4e 35 6d 79 64 4c 49 68 79 0a 50 44 43 42 42 70 45 69 36 6c 6d 74 32 68 6b UHlzEhLN5mydLIhy.PDCBBpEi6lmt2hk
1be7a0 75 49 73 4b 4e 75 59 79 48 34 47 61 38 63 79 4e 66 49 57 52 6a 67 45 6a 31 6f 44 77 59 50 5a 54 uIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZT
1be7c0 49 53 45 45 64 51 4c 70 65 2f 76 35 57 4f 61 48 49 7a 31 36 65 47 57 52 47 45 4e 6f 58 0a 6b 62 ISEEdQLpe/v5WOaHIz16eGWRGENoX.kb
1be7e0 63 46 67 4b 79 4c 6d 5a 4a 39 35 36 4c 59 42 77 73 32 4a 2b 64 49 65 57 43 4b 77 39 63 54 58 50 cFgKyLmZJ956LYBws2J+dIeWCKw9cTXP
1be800 68 79 51 4e 39 4b 79 38 2b 5a 41 41 6f 41 43 78 47 56 32 6c 5a 46 41 34 67 4b 6e 32 66 51 31 58 hyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1X
1be820 6d 78 71 49 31 41 62 51 33 43 0a 65 6b 44 36 38 31 39 6b 52 35 4c 4c 55 37 6d 37 57 63 35 50 2f mxqI1AbQ3C.ekD6819kR5LLU7m7Wc5P/
1be840 64 41 56 55 77 48 59 33 2b 76 5a 35 6e 62 76 30 43 4f 37 4f 36 6c 35 73 39 55 43 4b 63 32 4a 6f dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo
1be860 35 59 50 53 6a 58 6e 54 6b 4c 41 64 63 30 48 7a 2b 59 73 36 33 73 75 0a 2d 2d 2d 2d 2d 45 4e 44 5YPSjXnTkLAdc0Hz+Ys63su.-----END
1be880 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 6e 6f 6d 69 73 20 2d 20 .CERTIFICATE-----..Certinomis.-.
1be8a0 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d Root.CA.====================.---
1be8c0 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6b 6a 43 --BEGIN.CERTIFICATE-----.MIIFkjC
1be8e0 43 41 33 71 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 CA3qgAwIBAgIBATANBgkqhkiG9w0BAQs
1be900 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 47 55 6a 45 54 4d 42 45 47 41 31 55 FADBaMQswCQYDVQQGEwJGUjETMBEGA1U
1be920 45 43 68 4d 4b 0a 51 32 56 79 64 47 6c 75 62 32 31 70 63 7a 45 58 4d 42 55 47 41 31 55 45 43 78 EChMK.Q2VydGlub21pczEXMBUGA1UECx
1be940 4d 4f 4d 44 41 77 4d 69 41 30 4d 7a 4d 35 4f 54 67 35 4d 44 4d 78 48 54 41 62 42 67 4e 56 42 41 MOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBA
1be960 4d 54 46 45 4e 6c 63 6e 52 70 62 6d 39 74 61 58 4d 67 0a 4c 53 42 53 62 32 39 30 49 45 4e 42 4d MTFENlcnRpbm9taXMg.LSBSb290IENBM
1be980 42 34 58 44 54 45 7a 4d 54 41 79 4d 54 41 35 4d 54 63 78 4f 46 6f 58 44 54 4d 7a 4d 54 41 79 4d B4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyM
1be9a0 54 41 35 4d 54 63 78 4f 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 0a TA5MTcxOFowWjELMAkGA1UEBhMCRlIx.
1be9c0 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 4e 6c 63 6e 52 70 62 6d 39 74 61 58 4d 78 46 7a 41 56 EzARBgNVBAoTCkNlcnRpbm9taXMxFzAV
1be9e0 42 67 4e 56 42 41 73 54 44 6a 41 77 4d 44 49 67 4e 44 4d 7a 4f 54 6b 34 4f 54 41 7a 4d 52 30 77 BgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0w
1bea00 47 77 59 44 56 51 51 44 45 78 52 44 0a 5a 58 4a 30 61 57 35 76 62 57 6c 7a 49 43 30 67 55 6d 39 GwYDVQQDExRD.ZXJ0aW5vbWlzIC0gUm9
1bea20 76 64 43 42 44 51 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQA
1bea40 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4e 54 4d 43 51 6f 73 0a 50 35 4c 32 66 78 DggIPADCCAgoCggIBANTMCQos.P5L2fx
1bea60 53 65 43 35 79 61 61 68 31 41 4d 47 54 39 71 74 38 4f 48 67 5a 62 6e 31 43 46 36 73 32 4e 71 30 SeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0
1bea80 4e 6e 33 72 44 36 66 6f 43 57 6e 6f 52 34 6b 6b 6a 57 34 7a 6e 75 7a 75 52 5a 57 4a 66 6c 4c 69 Nn3rD6foCWnoR4kkjW4znuzuRZWJflLi
1beaa0 65 59 36 70 4f 6f 0a 64 35 74 4b 38 4f 39 30 67 43 33 72 4d 42 2b 31 32 63 65 41 6e 47 49 6e 6b eY6pOo.d5tK8O90gC3rMB+12ceAnGInk
1beac0 59 6a 77 53 6f 6e 64 33 49 6a 6d 46 50 6e 56 41 79 2f 2f 6c 64 75 39 6e 2b 77 73 2b 68 51 56 57 YjwSond3IjmFPnVAy//ldu9n+ws+hQVW
1beae0 5a 55 4b 78 6b 64 38 61 52 69 35 70 77 50 35 79 6e 61 70 0a 7a 38 64 76 74 46 34 46 2f 75 37 42 ZUKxkd8aRi5pwP5ynap.z8dvtF4F/u7B
1beb00 55 72 4a 31 4d 6f 66 73 37 53 6c 6d 4f 2f 4e 4b 46 6f 4c 32 31 70 72 62 63 70 6a 70 33 76 44 46 UrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF
1beb20 54 4b 57 72 74 65 6f 42 34 6f 77 75 5a 48 39 6b 62 2f 32 6a 4a 5a 4f 4c 79 4b 49 4f 53 59 30 30 TKWrteoB4owuZH9kb/2jJZOLyKIOSY00
1beb40 0a 38 42 2f 73 57 45 55 75 4e 4b 71 45 55 4c 33 6e 73 6b 6f 54 75 4c 41 50 72 6a 68 64 73 4b 6b .8B/sWEUuNKqEUL3nskoTuLAPrjhdsKk
1beb60 62 35 6e 50 4a 57 71 48 5a 5a 6b 43 71 71 55 32 6d 4e 41 4b 74 68 48 36 79 49 38 48 37 4b 73 5a b5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZ
1beb80 6e 39 44 53 32 73 4a 56 71 4d 30 39 78 0a 52 4c 57 74 77 48 6b 7a 69 4f 43 2f 37 61 4f 67 46 4c n9DS2sJVqM09x.RLWtwHkziOC/7aOgFL
1beba0 53 63 43 62 41 4b 34 32 43 2b 2b 50 68 6d 69 4d 31 62 38 58 63 46 34 4c 56 7a 62 73 46 39 52 69 ScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri
1bebc0 36 4f 53 79 65 6d 7a 54 55 4b 2f 65 56 4e 66 61 6f 71 6f 79 6e 48 57 6d 67 45 0a 36 4f 58 57 6b 6OSyemzTUK/eVNfaoqoynHWmgE.6OXWk
1bebe0 36 52 69 77 73 58 6d 39 45 2f 47 2b 5a 38 61 6a 59 4a 4a 47 59 72 4b 57 55 4d 36 36 41 30 79 77 6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0yw
1bec00 66 52 4d 45 77 4e 76 62 71 59 2f 6b 58 50 4c 79 6e 4e 76 45 69 43 4c 37 73 43 43 65 4e 35 4c 4c fRMEwNvbqY/kXPLynNvEiCL7sCCeN5LL
1bec20 73 4a 4a 77 78 33 74 0a 46 76 59 6b 39 43 63 62 58 46 63 78 33 46 58 75 71 42 35 76 62 4b 7a 69 sJJwx3t.FvYk9CcbXFcx3FXuqB5vbKzi
1bec40 52 63 78 58 56 34 70 31 56 78 6e 67 74 56 69 5a 53 54 59 78 50 44 4d 42 62 52 5a 4b 7a 62 67 71 RcxXV4p1VxngtViZSTYxPDMBbRZKzbgq
1bec60 67 34 53 47 6d 2f 6c 67 30 68 39 74 6b 51 50 54 59 4b 62 56 0a 50 5a 72 64 64 35 41 39 4e 61 53 g4SGm/lg0h9tkQPTYKbV.PZrdd5A9NaS
1bec80 66 44 31 37 31 55 6b 52 70 75 63 43 36 33 4d 39 39 33 33 7a 5a 78 4b 79 47 49 6a 4b 38 65 32 75 fD171UkRpucC63M9933zZxKyGIjK8e2u
1beca0 52 37 33 72 34 46 32 69 77 34 6c 4e 56 59 43 32 76 50 73 4b 44 32 4e 6b 4a 4b 2f 44 41 5a 4e 75 R73r4F2iw4lNVYC2vPsKD2NkJK/DAZNu
1becc0 48 0a 69 35 48 4d 6b 65 73 45 2f 58 61 30 6c 5a 72 6d 46 41 59 62 31 54 51 64 76 74 6a 2f 64 42 H.i5HMkesE/Xa0lZrmFAYb1TQdvtj/dB
1bece0 78 54 68 5a 6e 67 57 56 4a 4b 59 65 32 49 6e 6d 74 4a 69 55 5a 2b 49 46 72 5a 35 30 72 6c 61 75 xThZngWVJKYe2InmtJiUZ+IFrZ50rlau
1bed00 37 53 5a 52 46 44 41 67 4d 42 41 41 47 6a 0a 59 7a 42 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 7SZRFDAgMBAAGj.YzBhMA4GA1UdDwEB/
1bed20 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/M
1bed40 42 30 47 41 31 55 64 44 67 51 57 42 42 54 76 6b 55 7a 31 70 63 4d 77 36 43 38 49 0a 36 74 4e 78 B0GA1UdDgQWBBTvkUz1pcMw6C8I.6tNx
1bed60 49 71 53 53 61 48 68 30 32 54 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 76 6b 55 7a 31 IqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1
1bed80 70 63 4d 77 36 43 38 49 36 74 4e 78 49 71 53 53 61 48 68 30 32 54 41 4e 42 67 6b 71 68 6b 69 47 pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG
1beda0 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 66 6a 31 55 32 69 4a 64 47 6c 67 2b 4f 31 51 9w0BAQsF.AAOCAgEAfj1U2iJdGlg+O1Q
1bedc0 6e 75 72 72 4d 79 4f 4d 61 61 75 6f 2b 2b 52 4c 72 56 6c 38 39 55 4d 37 67 36 6b 67 6d 4a 73 39 nurrMyOMaauo++RLrVl89UM7g6kgmJs9
1bede0 35 56 6e 36 52 48 4a 6b 2f 30 4b 47 52 48 43 77 50 54 35 69 56 0a 57 56 4f 39 30 43 4c 59 69 46 5Vn6RHJk/0KGRHCwPT5iV.WVO90CLYiF
1bee00 32 63 4e 2f 7a 37 5a 4d 46 34 6a 49 75 61 59 41 6e 71 31 66 6f 68 58 39 42 30 5a 65 64 51 78 62 2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb
1bee20 38 75 75 51 73 4c 72 62 57 77 46 36 59 53 6a 4e 52 69 65 4f 70 57 61 75 77 4b 30 6b 44 44 50 41 8uuQsLrbWwF6YSjNRieOpWauwK0kDDPA
1bee40 55 77 0a 50 6b 32 55 74 35 39 4b 41 39 4e 39 4a 30 75 32 2f 6b 54 4f 2b 68 6b 7a 47 6d 32 6b 51 Uw.Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQ
1bee60 74 48 64 7a 4d 6a 49 31 78 5a 53 67 30 38 31 6c 4c 4d 53 56 58 33 6c 34 6b 4c 72 35 4a 79 54 43 tHdzMjI1xZSg081lLMSVX3l4kLr5JyTC
1bee80 63 42 4d 57 77 65 72 78 32 30 52 6f 46 41 58 0a 6c 43 4f 6f 74 51 71 53 44 37 4a 36 77 57 41 73 cBMWwerx20RoFAX.lCOotQqSD7J6wWAs
1beea0 4f 4d 77 61 70 6c 76 2f 38 67 7a 6a 71 68 38 63 33 4c 69 67 6b 79 66 65 59 2b 4e 2f 49 5a 38 36 OMwaplv/8gzjqh8c3LigkyfeY+N/IZ86
1beec0 35 5a 37 36 34 42 4e 71 64 65 75 57 58 47 4b 52 6c 49 35 6e 55 37 61 4a 2b 42 49 4a 0a 79 32 39 5Z764BNqdeuWXGKRlI5nU7aJ+BIJ.y29
1beee0 53 57 77 4e 79 68 6c 43 56 43 4e 53 4e 68 34 59 56 48 35 55 6b 32 4b 52 76 6d 73 36 6b 6e 5a 74 SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZt
1bef00 74 30 72 4a 32 42 6f 62 47 56 67 6a 46 36 77 6e 61 4e 73 49 62 57 30 47 2b 59 53 72 6a 63 4f 61 t0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa
1bef20 34 70 76 69 32 57 73 53 39 0a 49 66 66 2f 71 6c 2b 68 62 48 59 35 5a 74 62 71 54 46 58 68 41 44 4pvi2WsS9.Iff/ql+hbHY5ZtbqTFXhAD
1bef40 4f 62 45 35 68 6a 79 57 2f 51 41 53 41 4a 4e 31 4c 6e 44 45 38 2b 7a 62 7a 31 58 35 59 6e 70 79 ObE5hjyW/QASAJN1LnDE8+zbz1X5Ynpy
1bef60 41 43 6c 65 41 75 36 41 64 42 42 52 38 56 62 74 61 77 35 42 6e 67 0a 44 77 4b 54 41 43 64 79 78 ACleAu6AdBBR8Vbtaw5Bng.DwKTACdyx
1bef80 59 76 52 56 42 39 64 53 73 4e 41 6c 33 35 56 70 6e 7a 42 4d 77 51 55 41 52 31 4a 49 47 6b 4c 47 YvRVB9dSsNAl35VpnzBMwQUAR1JIGkLG
1befa0 5a 4f 64 62 6c 67 69 39 30 41 4d 52 67 77 6a 59 2f 4d 35 30 6e 39 32 55 61 66 30 79 4b 48 78 44 ZOdblgi90AMRgwjY/M50n92Uaf0yKHxD
1befc0 48 59 69 0a 49 30 5a 53 4b 53 33 69 6f 30 45 48 56 6d 6d 59 30 67 55 4a 76 47 6e 48 57 6d 48 4e HYi.I0ZSKS3io0EHVmmY0gUJvGnHWmHN
1befe0 6a 34 46 67 46 55 32 41 33 5a 44 69 66 63 52 51 38 6f 77 37 62 6b 72 48 78 75 61 41 4b 7a 79 42 j4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyB
1bf000 76 42 47 41 46 68 41 6e 31 2f 44 4e 50 33 6e 4d 0a 63 79 72 44 66 6c 4f 52 31 6d 37 34 39 66 50 vBGAFhAn1/DNP3nM.cyrDflOR1m749fP
1bf020 48 30 46 46 4e 6a 6b 75 6c 57 2b 59 5a 46 7a 76 57 67 51 6e 63 49 74 7a 75 6a 72 6e 45 6a 31 50 H0FFNjkulW+YZFzvWgQncItzujrnEj1P
1bf040 68 5a 37 73 7a 75 49 67 56 52 73 2f 74 61 54 58 2f 64 51 31 47 38 38 35 78 34 63 56 72 0a 68 6b hZ7szuIgVRs/taTX/dQ1G885x4cVr.hk
1bf060 49 47 75 55 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d IGuUE=.-----END.CERTIFICATE-----
1bf080 0a 0a 4f 49 53 54 45 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 42 20 43 ..OISTE.WISeKey.Global.Root.GB.C
1bf0a0 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d A.==============================
1bf0c0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1bf0e0 49 44 74 54 43 43 41 70 32 67 41 77 49 42 41 67 49 51 64 72 45 67 55 6e 54 77 68 59 64 47 73 2f IDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/
1bf100 67 6a 47 76 62 43 77 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 74 4d 51 gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQ
1bf120 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 44 53 44 45 51 4d 41 34 47 41 31 55 45 43 68 4d 48 56 swCQYDVQQG.EwJDSDEQMA4GA1UEChMHV
1bf140 30 6c 54 5a 55 74 6c 65 54 45 69 4d 43 41 47 41 31 55 45 43 78 4d 5a 54 30 6c 54 56 45 55 67 52 0lTZUtleTEiMCAGA1UECxMZT0lTVEUgR
1bf160 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e 6c 0a 5a 44 45 6f 4d 43 59 47 m91bmRhdGlvbiBFbmRvcnNl.ZDEoMCYG
1bf180 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 53 42 48 62 47 39 69 A1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i
1bf1a0 59 57 77 67 55 6d 39 76 64 43 42 48 51 69 42 44 51 54 41 65 46 77 30 78 4e 44 45 79 4d 44 45 78 YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDEx
1bf1c0 4e 54 41 77 0a 4d 7a 4a 61 46 77 30 7a 4f 54 45 79 4d 44 45 78 4e 54 45 77 4d 7a 46 61 4d 47 30 NTAw.MzJaFw0zOTEyMDExNTEwMzFaMG0
1bf1e0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 49 4d 52 41 77 44 67 59 44 56 51 51 4b 45 77 64 xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwd
1bf200 58 53 56 4e 6c 53 32 56 35 4d 53 49 77 49 41 59 44 0a 56 51 51 4c 45 78 6c 50 53 56 4e 55 52 53 XSVNlS2V5MSIwIAYD.VQQLExlPSVNURS
1bf220 42 47 62 33 56 75 5a 47 46 30 61 57 39 75 49 45 56 75 5a 47 39 79 63 32 56 6b 4d 53 67 77 4a 67 BGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJg
1bf240 59 44 56 51 51 44 45 78 39 50 53 56 4e 55 52 53 42 58 53 56 4e 6c 53 32 56 35 49 45 64 73 0a 62 YDVQQDEx9PSVNURSBXSVNlS2V5IEds.b
1bf260 32 4a 68 62 43 42 53 62 32 39 30 49 45 64 43 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 2JhbCBSb290IEdCIENBMIIBIjANBgkqh
1bf280 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 32 kiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2
1bf2a0 42 65 33 48 45 6f 6b 4b 74 61 58 0a 73 63 72 69 48 76 74 39 4f 4f 2b 59 39 62 49 35 6d 45 34 6e Be3HEokKtaX.scriHvt9OO+Y9bI5mE4n
1bf2c0 75 42 46 64 65 39 49 6c 6c 49 69 43 46 53 5a 71 47 7a 47 37 71 46 73 68 49 53 76 59 44 30 36 66 uBFde9IllIiCFSZqGzG7qFshISvYD06f
1bf2e0 57 76 47 78 57 75 52 35 31 6a 49 6a 4b 2b 46 54 7a 4a 6c 46 58 48 74 50 0a 72 62 79 2f 68 30 6f WvGxWuR51jIjK+FTzJlFXHtP.rby/h0o
1bf300 4c 53 35 64 61 71 50 5a 49 37 48 31 37 44 63 30 68 42 74 2b 65 46 66 31 42 69 6b 69 33 49 50 53 LS5daqPZI7H17Dc0hBt+eFf1Biki3IPS
1bf320 68 65 68 74 58 31 46 31 51 2f 37 70 6e 32 43 4f 5a 48 38 67 2f 34 39 37 2f 62 31 74 33 73 57 74 hehtX1F1Q/7pn2COZH8g/497/b1t3sWt
1bf340 75 75 4d 6c 6b 0a 39 2b 48 4b 51 55 59 4f 4b 58 48 51 75 53 50 38 79 59 46 66 54 76 64 76 33 37 uuMlk.9+HKQUYOKXHQuSP8yYFfTvdv37
1bf360 2b 45 72 58 4e 6b 75 37 64 43 6a 6d 6e 32 31 48 59 64 66 70 32 6e 75 46 65 4b 55 57 64 79 31 39 +ErXNku7dCjmn21HYdfp2nuFeKUWdy19
1bf380 53 6f 75 4a 56 55 51 48 4d 44 39 75 72 30 36 2f 34 6f 0a 51 6e 63 2f 6e 53 4d 62 73 72 59 39 67 SouJVUQHMD9ur06/4o.Qnc/nSMbsrY9g
1bf3a0 42 51 48 54 43 35 50 39 39 55 4b 46 67 32 39 5a 6b 4d 33 66 69 4e 44 65 63 4e 41 68 76 56 4d 4b BQHTC5P99UKFg29ZkM3fiNDecNAhvVMK
1bf3c0 64 71 4f 6d 71 30 4e 70 51 53 48 69 42 36 46 34 2b 6c 54 31 5a 76 49 69 77 4e 6a 65 4f 76 67 0a dqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg.
1bf3e0 47 55 70 75 75 79 39 72 4d 32 52 59 6b 36 31 70 76 34 38 62 37 34 4a 49 78 77 49 44 41 51 41 42 GUpuuy9rM2RYk61pv48b74JIxwIDAQAB
1bf400 6f 31 45 77 54 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 o1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0T
1bf420 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 4e 51 2f AQH/BAUwAwEB./zAdBgNVHQ4EFgQUNQ/
1bf440 49 4e 6d 4e 65 34 71 50 73 2b 54 74 6d 46 63 35 52 55 75 4f 52 6d 6a 30 77 45 41 59 4a 4b 77 59 INmNe4qPs+TtmFc5RUuORmj0wEAYJKwY
1bf460 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 BBAGCNxUBBAMCAQAwDQYJKoZI.hvcNAQ
1bf480 45 4c 42 51 41 44 67 67 45 42 41 45 42 4d 2b 34 65 79 6d 59 47 51 66 70 33 46 73 4c 41 6d 7a 59 ELBQADggEBAEBM+4eymYGQfp3FsLAmzY
1bf4a0 68 37 4b 7a 4b 4e 62 72 67 68 63 56 69 58 66 61 34 33 46 4b 38 2b 35 2f 65 61 34 6e 33 32 63 5a h7KzKNbrghcViXfa43FK8+5/ea4n32cZ
1bf4c0 69 5a 42 4b 70 44 0a 64 48 69 6a 34 30 6c 68 50 6e 4f 4d 54 5a 54 67 2b 58 48 45 74 68 59 4f 55 iZBKpD.dHij40lhPnOMTZTg+XHEthYOU
1bf4e0 33 67 66 31 71 4b 48 4c 77 49 35 67 53 6b 38 72 78 57 59 49 54 44 2b 4b 4a 41 41 6a 4e 48 68 79 3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy
1bf500 2f 70 65 79 50 33 34 45 45 59 37 6f 6e 68 43 6b 52 64 30 0a 56 51 72 65 55 47 64 4e 5a 74 47 6e /peyP34EEY7onhCkRd0.VQreUGdNZtGn
1bf520 2f 2f 33 5a 77 4c 57 6f 6f 34 72 4f 5a 76 55 50 51 38 32 6e 4b 31 64 37 59 30 5a 71 71 69 35 53 //3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S
1bf540 32 50 54 74 34 57 32 74 4b 5a 42 34 53 4c 72 68 49 36 71 6a 69 65 79 31 71 35 62 41 74 45 75 69 2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
1bf560 0a 48 5a 65 65 65 76 4a 75 51 48 48 66 61 50 46 6c 54 63 35 38 42 64 39 54 5a 61 6d 6c 38 4c 47 .HZeeevJuQHHfaPFlTc58Bd9TZaml8LG
1bf580 58 42 48 41 56 52 67 4f 59 31 4e 4b 2f 56 4c 53 67 57 48 31 53 62 39 70 57 4a 6d 4c 55 32 4e 75 XBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2Nu
1bf5a0 4a 4d 57 38 63 38 43 4c 43 30 32 49 63 0a 4e 63 31 4d 61 52 56 55 47 70 43 59 33 75 73 65 58 38 JMW8c8CLC02Ic.Nc1MaRVUGpCY3useX8
1bf5c0 70 33 78 38 75 4f 50 55 4e 70 6e 4a 70 59 30 43 51 37 33 78 74 41 6c 6e 34 31 72 59 48 48 54 6e p3x8uOPUNpnJpY0CQ73xtAln41rYHHTn
1bf5e0 47 36 69 42 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d G6iBM=.-----END.CERTIFICATE-----
1bf600 0a 0a 53 5a 41 46 49 52 20 52 4f 4f 54 20 43 41 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..SZAFIR.ROOT.CA2.==============
1bf620 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1bf640 49 44 63 6a 43 43 41 6c 71 67 41 77 49 42 41 67 49 55 50 6f 70 64 42 2b 78 56 30 6a 4c 56 74 2b IDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+
1bf660 4f 32 58 77 48 72 4c 64 7a 6b 31 75 51 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQ
1bf680 41 77 55 54 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 55 45 77 78 4b 44 41 6d 42 67 4e 56 42 AwUTELMAkG.A1UEBhMCUEwxKDAmBgNVB
1bf6a0 41 6f 4d 48 30 74 79 59 57 70 76 64 32 45 67 53 58 70 69 59 53 42 53 62 33 70 73 61 57 4e 36 5a AoMH0tyYWpvd2EgSXpiYSBSb3psaWN6Z
1bf6c0 57 35 70 62 33 64 68 49 46 4d 75 51 53 34 78 47 44 41 57 42 67 4e 56 0a 42 41 4d 4d 44 31 4e 61 W5pb3dhIFMuQS4xGDAWBgNV.BAMMD1Na
1bf6e0 51 55 5a 4a 55 69 42 53 54 30 39 55 49 45 4e 42 4d 6a 41 65 46 77 30 78 4e 54 45 77 4d 54 6b 77 QUZJUiBST09UIENBMjAeFw0xNTEwMTkw
1bf700 4e 7a 51 7a 4d 7a 42 61 46 77 30 7a 4e 54 45 77 4d 54 6b 77 4e 7a 51 7a 4d 7a 42 61 4d 46 45 78 NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFEx
1bf720 43 7a 41 4a 0a 42 67 4e 56 42 41 59 54 41 6c 42 4d 4d 53 67 77 4a 67 59 44 56 51 51 4b 44 42 39 CzAJ.BgNVBAYTAlBMMSgwJgYDVQQKDB9
1bf740 4c 63 6d 46 71 62 33 64 68 49 45 6c 36 59 6d 45 67 55 6d 39 36 62 47 6c 6a 65 6d 56 75 61 57 39 LcmFqb3dhIEl6YmEgUm96bGljemVuaW9
1bf760 33 59 53 42 54 4c 6b 45 75 4d 52 67 77 46 67 59 44 0a 56 51 51 44 44 41 39 54 57 6b 46 47 53 56 3YSBTLkEuMRgwFgYD.VQQDDA9TWkFGSV
1bf780 49 67 55 6b 39 50 56 43 42 44 51 54 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 IgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQ
1bf7a0 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 33 76 44 35 51 0a 71 EBAQUAA4IBDwAwggEKAoIBAQC3vD5Q.q
1bf7c0 45 76 4e 51 4c 58 4f 59 65 65 57 79 72 53 68 32 67 77 69 73 50 71 31 65 33 59 41 64 34 77 4c 7a EvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz
1bf7e0 33 32 6f 68 73 77 6d 55 65 51 67 50 59 55 4d 31 6c 6a 6a 35 2f 51 71 47 4a 33 61 30 61 34 6d 37 32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7
1bf800 75 74 54 33 50 53 51 31 68 4e 4b 0a 44 4a 41 38 77 2f 54 61 30 6f 34 4e 6b 6a 72 63 73 62 48 2f utT3PSQ1hNK.DJA8w/Ta0o4NkjrcsbH/
1bf820 4f 4e 37 44 75 69 31 66 67 4c 6b 43 76 55 71 64 47 77 2b 30 77 38 4c 42 5a 77 50 64 33 42 75 63 ON7Dui1fgLkCvUqdGw+0w8LBZwPd3Buc
1bf840 50 62 4f 77 33 67 41 65 71 44 52 48 75 35 72 72 2f 67 73 55 76 54 61 45 0a 32 67 30 67 76 2f 70 PbOw3gAeqDRHu5rr/gsUvTaE.2g0gv/p
1bf860 62 79 36 6b 57 49 4b 30 35 59 4f 34 76 64 62 62 6e 6c 35 7a 35 50 76 31 2b 54 57 39 4e 4c 2b 2b by6kWIK05YO4vdbbnl5z5Pv1+TW9NL++
1bf880 49 44 57 72 36 33 66 45 39 62 69 43 6c 6f 42 4b 30 54 58 43 35 7a 74 64 79 4f 34 6d 54 70 34 43 IDWr63fE9biCloBK0TXC5ztdyO4mTp4C
1bf8a0 45 48 43 64 4a 0a 63 6b 6d 31 2f 7a 75 56 6e 73 48 4d 79 41 48 73 36 41 36 4b 43 70 62 6e 73 36 EHCdJ.ckm1/zuVnsHMyAHs6A6KCpbns6
1bf8c0 61 48 35 64 62 35 42 53 73 4e 6c 30 42 77 50 4c 71 73 64 56 71 63 31 55 32 64 41 67 72 53 53 35 aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5
1bf8e0 74 6d 53 30 59 48 46 32 57 74 6e 32 79 49 41 4e 77 69 0a 69 65 44 68 5a 4e 52 6e 76 44 46 35 59 tmS0YHF2Wtn2yIANwi.ieDhZNRnvDF5Y
1bf900 54 79 37 79 6b 48 4e 58 47 6f 41 79 44 77 34 6a 6c 69 76 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d Ty7ykHNXGoAyDw4jlivAgMBAAGjQjBAM
1bf920 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 0a A8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P.
1bf940 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 75 46 71 6c 4b AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlK
1bf960 47 4c 58 4c 7a 50 56 76 55 50 4d 6a 58 2f 68 64 35 36 7a 77 79 44 41 4e 42 67 6b 71 68 6b 69 47 GLXLzPVvUPMjX/hd56zwyDANBgkqhkiG
1bf980 39 77 30 42 41 51 73 46 41 41 4f 43 0a 41 51 45 41 74 58 50 34 41 39 78 5a 57 78 31 32 36 61 4d 9w0BAQsFAAOC.AQEAtXP4A9xZWx126aM
1bf9a0 71 65 35 41 6f 73 6b 33 41 4d 30 2b 71 6d 72 48 55 75 4f 51 6e 2f 36 6d 57 6d 63 35 47 34 47 31 qe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G1
1bf9c0 38 54 4b 49 34 70 41 5a 77 38 50 52 42 45 65 77 2f 52 34 30 2f 63 6f 66 35 0a 4f 2f 32 6b 62 79 8TKI4pAZw8PRBEew/R40/cof5.O/2kby
1bf9e0 74 54 41 4f 44 2f 4f 62 6c 71 42 77 37 72 48 52 7a 32 6f 6e 4b 51 79 34 49 39 45 59 4b 4c 30 72 tTAOD/OblqBw7rHRz2onKQy4I9EYKL0r
1bfa00 75 66 4b 71 38 68 35 6d 4f 47 6e 58 6b 5a 37 2f 65 37 44 44 57 51 77 34 72 74 54 77 2f 31 7a 42 ufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zB
1bfa20 4c 5a 70 44 36 37 0a 6f 50 77 67 6c 56 39 50 4a 69 38 52 49 34 4e 4f 64 51 63 50 76 35 76 52 74 LZpD67.oPwglV9PJi8RI4NOdQcPv5vRt
1bfa40 42 33 70 45 41 54 2b 79 6d 43 50 6f 6b 79 34 72 63 2f 68 6b 41 2f 4e 72 67 72 48 58 58 75 33 55 B3pEAT+ymCPoky4rc/hkA/NrgrHXXu3U
1bfa60 4e 4c 55 59 66 72 56 46 64 76 58 6e 34 64 52 56 4f 75 6c 0a 34 2b 76 4a 68 61 41 6c 49 44 66 37 NLUYfrVFdvXn4dRVOul.4+vJhaAlIDf7
1bfa80 6a 73 34 4d 4e 49 54 68 50 49 47 79 64 30 35 44 70 59 68 66 68 6d 65 68 50 65 61 30 58 47 47 32 js4MNIThPIGyd05DpYhfhmehPea0XGG2
1bfaa0 50 74 76 2b 74 79 6a 46 6f 67 65 75 74 63 72 4b 6a 53 6f 53 37 35 66 74 77 6a 43 6b 79 53 70 36 Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
1bfac0 0a 2b 2f 4e 4e 49 78 75 5a 4d 7a 53 67 4c 76 57 70 43 7a 2f 55 58 65 48 50 68 4a 2f 69 47 63 4a .+/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJ
1bfae0 66 69 74 59 67 48 75 4e 7a 74 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 fitYgHuNztw==.-----END.CERTIFICA
1bfb00 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 75 6d 20 54 72 75 73 74 65 64 20 4e 65 74 77 6f 72 6b 20 TE-----..Certum.Trusted.Network.
1bfb20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CA.2.===========================
1bfb40 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1bfb60 46 30 6a 43 43 41 37 71 67 41 77 49 42 41 67 49 51 49 64 62 51 53 6b 38 6c 44 38 6b 79 4e 2f 79 F0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/y
1bfb80 71 58 68 4b 4e 36 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 30 46 41 44 43 42 67 44 45 qXhKN6TANBgkqhkiG9w0BAQ0FADCBgDE
1bfba0 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 55 45 77 78 49 6a 41 67 42 67 4e 56 42 41 6f 54 47 56 LMAkGA1UE.BhMCUEwxIjAgBgNVBAoTGV
1bfbc0 56 75 61 58 70 6c 64 47 38 67 56 47 56 6a 61 47 35 76 62 47 39 6e 61 57 56 7a 49 46 4d 75 51 53 VuaXpldG8gVGVjaG5vbG9naWVzIFMuQS
1bfbe0 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 54 48 6b 4e 6c 63 6e 52 31 0a 62 53 42 44 5a 58 4a 30 61 4xJzAlBgNVBAsTHkNlcnR1.bSBDZXJ0a
1bfc00 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 45 6b 4d 43 49 47 41 WZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA
1bfc20 31 55 45 41 78 4d 62 51 32 56 79 64 48 56 74 49 46 52 79 64 58 4e 30 5a 57 51 67 54 6d 56 30 64 1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d
1bfc40 32 39 79 0a 61 79 42 44 51 53 41 79 4d 43 49 59 44 7a 49 77 4d 54 45 78 4d 44 41 32 4d 44 67 7a 29y.ayBDQSAyMCIYDzIwMTExMDA2MDgz
1bfc60 4f 54 55 32 57 68 67 50 4d 6a 41 30 4e 6a 45 77 4d 44 59 77 4f 44 4d 35 4e 54 5a 61 4d 49 47 41 OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGA
1bfc80 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 0a 54 44 45 69 4d 43 41 47 41 31 55 45 43 68 4d MQswCQYDVQQGEwJQ.TDEiMCAGA1UEChM
1bfca0 5a 56 57 35 70 65 6d 56 30 62 79 42 55 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 55 79 35 ZVW5pemV0byBUZWNobm9sb2dpZXMgUy5
1bfcc0 42 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 51 32 56 79 64 48 56 74 49 45 4e 6c 0a 63 6e BLjEnMCUGA1UECxMeQ2VydHVtIENl.cn
1bfce0 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 53 51 77 49 67 RpZmljYXRpb24gQXV0aG9yaXR5MSQwIg
1bfd00 59 44 56 51 51 44 45 78 74 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 63 33 52 6c 5a 43 42 4f 5a 58 YDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZX
1bfd20 52 33 62 33 4a 72 49 45 4e 42 0a 49 44 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 R3b3JrIENB.IDIwggIiMA0GCSqGSIb3D
1bfd40 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 39 2b 58 6a 34 35 QEBAQUAA4ICDwAwggIKAoICAQC9+Xj45
1bfd60 74 57 41 44 47 53 64 68 68 75 57 5a 47 63 2f 49 6a 6f 65 64 51 46 39 0a 37 2f 74 63 5a 34 7a 4a tWADGSdhhuWZGc/IjoedQF9.7/tcZ4zJ
1bfd80 7a 46 78 72 71 5a 48 6d 75 55 4c 6c 49 45 75 62 32 70 74 37 75 5a 6c 64 32 5a 75 41 53 39 65 45 zFxrqZHmuULlIEub2pt7uZld2ZuAS9eE
1bfda0 51 43 73 6e 30 2b 69 36 4d 4c 73 2b 43 52 71 6e 53 5a 58 76 4b 30 41 6b 77 70 66 48 70 2b 36 62 QCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6b
1bfdc0 4a 65 2b 6f 0a 43 67 43 58 68 56 71 71 6e 64 77 70 79 65 49 31 42 2b 74 77 54 55 72 57 77 62 4e Je+o.CgCXhVqqndwpyeI1B+twTUrWwbN
1bfde0 57 75 4b 46 42 4f 4a 76 52 2b 7a 46 2f 6a 2b 42 66 34 62 45 2f 44 34 34 57 53 57 44 58 42 6f 30 WuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0
1bfe00 59 2b 61 6f 6d 45 4b 73 71 30 39 44 52 5a 34 30 62 0a 52 72 35 48 4d 4e 55 75 63 74 48 46 59 39 Y+aomEKsq09DRZ40b.Rr5HMNUuctHFY9
1bfe20 72 6e 59 33 6c 45 66 6b 74 6a 4a 49 6d 47 4c 6a 51 2f 4b 55 78 53 69 79 71 6e 77 4f 4b 52 4b 49 rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKI
1bfe40 6d 35 77 46 76 35 48 64 6e 6e 4a 36 33 2f 6d 67 4b 58 77 63 5a 51 6b 70 73 43 4c 4c 32 70 0a 75 m5wFv5HdnnJ63/mgKXwcZQkpsCLL2p.u
1bfe60 54 52 5a 43 72 2b 45 53 76 2f 66 2f 72 4f 66 36 39 6d 65 34 4a 67 6a 37 4b 5a 72 64 78 59 71 32 TRZCr+ESv/f/rOf69me4Jgj7KZrdxYq2
1bfe80 38 79 74 4f 78 79 6b 68 39 78 47 63 31 34 5a 59 6d 68 46 56 2b 53 51 67 6b 4b 37 51 74 62 77 59 8ytOxykh9xGc14ZYmhFV+SQgkK7QtbwY
1bfea0 65 44 42 6f 7a 31 6d 6f 31 33 30 0a 47 4f 36 49 79 59 30 58 52 53 6d 5a 4d 6e 55 43 4d 65 34 70 eDBoz1mo130.GO6IyY0XRSmZMnUCMe4p
1bfec0 4a 73 68 72 41 75 61 31 59 6b 56 2f 4e 78 56 61 49 32 69 4a 31 44 37 65 54 69 65 77 38 45 41 4d JshrAua1YkV/NxVaI2iJ1D7eTiew8EAM
1bfee0 76 45 30 58 79 30 32 69 73 78 37 51 42 6c 72 64 39 70 50 50 56 33 57 5a 0a 39 66 71 47 47 6d 64 vE0Xy02isx7QBlrd9pPPV3WZ.9fqGGmd
1bff00 34 73 37 2b 57 2f 6a 54 63 76 65 64 53 56 75 57 7a 35 58 56 37 31 30 47 52 42 64 78 64 61 65 4f 4s7+W/jTcvedSVuWz5XV710GRBdxdaeO
1bff20 56 44 55 4f 35 2f 49 4f 57 4f 5a 56 37 62 49 42 61 54 78 4e 79 78 74 64 39 4b 58 70 45 75 6c 4b VDUO5/IOWOZV7bIBaTxNyxtd9KXpEulK
1bff40 6b 4b 74 56 42 0a 52 67 6b 67 2f 69 4b 67 74 6c 73 77 6a 62 79 4a 44 4e 58 58 63 50 69 48 55 76 kKtVB.Rgkg/iKgtlswjbyJDNXXcPiHUv
1bff60 33 61 37 36 78 52 4c 67 65 7a 54 76 37 51 43 64 70 77 37 35 6a 36 56 75 5a 74 32 37 56 58 53 39 3a76xRLgezTv7QCdpw75j6VuZt27VXS9
1bff80 7a 6c 4c 43 55 56 79 4a 34 75 65 45 37 34 32 70 79 65 0a 68 69 7a 4b 56 2f 4d 61 35 63 69 53 69 zlLCUVyJ4ueE742pye.hizKV/Ma5ciSi
1bffa0 78 71 43 6c 6e 72 44 76 46 41 53 61 64 67 4f 57 6b 61 4c 4f 75 73 6d 2b 69 50 4a 74 72 43 42 76 xqClnrDvFASadgOWkaLOusm+iPJtrCBv
1bffc0 6b 49 41 70 50 6a 57 2f 6a 41 75 78 39 4a 47 39 75 57 4f 64 66 33 79 7a 4c 6e 51 68 31 76 4d 0a kIApPjW/jAux9JG9uWOdf3yzLnQh1vM.
1bffe0 42 68 42 67 75 34 4d 31 74 31 35 6e 33 6b 66 73 6d 55 6a 78 70 4b 45 56 2f 71 32 4d 59 6f 34 35 BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45
1c0000 56 55 38 35 46 72 6d 78 59 35 33 2f 74 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 VU85FrmxY53/twIDAQABo0IwQDAPBgNV
1c0020 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 HRMBAf8EBTAD.AQH/MB0GA1UdDgQWBBS
1c0040 32 6f 56 51 35 41 73 4f 67 50 34 36 4b 76 50 72 55 2b 42 79 6d 30 54 6f 4f 2f 54 41 4f 42 67 4e 2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgN
1c0060 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 VHQ8BAf8EBAMCAQYwDQYJKoZI.hvcNAQ
1c0080 45 4e 42 51 41 44 67 67 49 42 41 48 47 6c 44 73 37 6b 36 62 38 2f 4f 4e 57 4a 57 73 51 43 59 66 ENBQADggIBAHGlDs7k6b8/ONWJWsQCYf
1c00a0 74 4d 78 52 51 58 4c 59 74 50 55 32 73 51 46 2f 78 6c 68 4d 63 51 53 5a 44 65 32 38 63 6d 6b 34 tMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4
1c00c0 67 6d 62 33 44 57 0a 41 6c 34 35 6f 50 65 50 71 35 61 31 70 52 4e 63 67 52 52 74 44 6f 47 43 45 gmb3DW.Al45oPePq5a1pRNcgRRtDoGCE
1c00e0 52 75 4b 54 73 5a 50 70 64 31 69 48 6b 54 66 43 56 6e 30 57 33 63 4c 4e 2b 6d 4c 49 4d 62 34 43 RuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4C
1c0100 6b 34 75 57 42 7a 72 4d 39 44 50 68 6d 44 4a 32 76 75 41 0a 4c 35 35 4d 59 49 52 34 50 53 46 6b k4uWBzrM9DPhmDJ2vuA.L55MYIR4PSFk
1c0120 31 76 74 42 48 78 67 50 35 38 6c 31 63 62 32 39 58 4e 34 30 68 7a 35 42 73 41 37 32 75 64 59 2f 1vtBHxgP58l1cb29XN40hz5BsA72udY/
1c0140 43 52 4f 57 46 43 2f 65 6d 68 31 61 75 56 62 4f 4e 54 71 77 58 33 42 4e 58 75 4d 70 38 53 4d 6f CROWFC/emh1auVbONTqwX3BNXuMp8SMo
1c0160 0a 63 6c 6d 32 71 38 4b 4d 5a 69 59 63 64 79 77 6d 64 6a 57 4c 4b 4b 64 70 6f 50 6b 37 39 53 50 .clm2q8KMZiYcdywmdjWLKKdpoPk79SP
1c0180 64 68 52 42 30 79 5a 41 44 56 70 48 6e 72 37 70 48 31 42 4b 58 45 53 4c 6a 6f 6b 6d 55 62 4f 65 dhRB0yZADVpHnr7pH1BKXESLjokmUbOe
1c01a0 33 6c 45 75 36 4c 61 54 61 4d 34 74 4d 0a 70 6b 54 2f 57 6a 7a 47 48 57 54 59 74 54 48 6b 70 6a 3lEu6LaTaM4tM.pkT/WjzGHWTYtTHkpj
1c01c0 78 36 71 46 63 4c 32 2b 31 68 47 73 76 78 7a 6e 4e 33 59 36 53 48 62 30 78 52 4f 4e 62 6b 58 38 x6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8
1c01e0 65 66 74 6f 45 71 35 49 56 49 65 56 68 65 4f 2f 6a 62 41 6f 4a 6e 77 54 6e 62 0a 77 33 52 4c 50 eftoEq5IVIeVheO/jbAoJnwTnb.w3RLP
1c0200 54 59 65 2b 53 6d 54 69 47 68 62 71 45 51 5a 49 66 43 6e 36 49 45 4e 4c 4f 69 54 4e 72 51 33 73 TYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3s
1c0220 73 71 77 47 79 5a 36 6d 69 55 66 6d 70 71 41 6e 6b 73 71 50 2f 75 6a 6d 76 35 7a 4d 6e 48 43 6e sqwGyZ6miUfmpqAnksqP/ujmv5zMnHCn
1c0240 73 5a 79 34 59 70 6f 0a 4a 2f 48 6b 44 37 54 45 54 4b 56 68 6b 2f 69 58 45 41 63 71 4d 43 57 70 sZy4Ypo.J/HkD7TETKVhk/iXEAcqMCWp
1c0260 75 63 68 78 75 4f 39 6f 7a 43 31 2b 39 65 42 2b 44 34 4b 6f 62 37 61 36 62 49 4e 44 64 38 32 4b uchxuO9ozC1+9eB+D4Kob7a6bINDd82K
1c0280 6b 68 65 68 6e 6c 74 34 46 6a 31 46 34 6a 4e 79 33 65 46 6d 0a 79 70 6e 54 79 63 55 6d 2f 51 31 khehnlt4Fj1F4jNy3eFm.ypnTycUm/Q1
1c02a0 6f 42 45 61 75 74 74 6d 62 6a 4c 34 5a 76 72 48 47 38 68 6e 6a 58 41 4c 4b 4c 4e 68 76 53 67 66 oBEauttmbjL4ZvrHG8hnjXALKLNhvSgf
1c02c0 5a 79 54 58 61 51 48 58 79 78 4b 63 5a 62 35 35 43 45 4a 68 31 35 70 57 4c 59 4c 7a 74 78 52 4c ZyTXaQHXyxKcZb55CEJh15pWLYLztxRL
1c02e0 58 0a 69 73 37 56 6d 46 78 57 6c 67 50 46 37 6e 63 47 4e 66 2f 50 35 4f 34 2f 45 32 48 75 32 39 X.is7VmFxWlgPF7ncGNf/P5O4/E2Hu29
1c0300 6f 74 68 66 44 4e 72 70 32 79 47 41 6c 46 77 35 4b 68 63 68 66 38 52 37 61 67 43 79 7a 78 78 4e othfDNrp2yGAlFw5Khchf8R7agCyzxxN
1c0320 35 44 61 41 68 71 58 7a 76 77 64 6d 50 37 0a 7a 41 59 73 70 73 62 69 44 72 57 35 76 69 53 50 0a 5DaAhqXzvwdmP7.zAYspsbiDrW5viSP.
1c0340 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 -----END.CERTIFICATE-----..Helle
1c0360 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 65 73 65 61 72 63 68 20 49 6e 73 74 69 74 nic.Academic.and.Research.Instit
1c0380 75 74 69 6f 6e 73 20 52 6f 6f 74 43 41 20 32 30 31 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d utions.RootCA.2015.=============
1c03a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c03c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1c03e0 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 43 7a 43 43 41 2f 4f 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 E-----.MIIGCzCCA/OgAwIBAgIBADANB
1c0400 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 70 6a 45 4c 4d 41 6b 47 41 31 55 45 42 gkqhkiG9w0BAQsFADCBpjELMAkGA1UEB
1c0420 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 0a 42 6b 46 30 61 47 56 75 63 7a 46 45 hMCR1IxDzANBgNVBAcT.BkF0aGVuczFE
1c0440 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 MEIGA1UEChM7SGVsbGVuaWMgQWNhZGVt
1c0460 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 aWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
1c0480 0a 61 57 39 75 63 79 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 51 44 41 .aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA
1c04a0 2b 42 67 4e 56 42 41 4d 54 4e 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c +BgNVBAMTN0hlbGxlbmljIEFjYWRlbWl
1c04c0 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 0a 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 jIGFuZCBSZXNl.YXJjaCBJbnN0aXR1dG
1c04e0 6c 76 62 6e 4d 67 55 6d 39 76 64 45 4e 42 49 44 49 77 4d 54 55 77 48 68 63 4e 4d 54 55 77 4e 7a lvbnMgUm9vdENBIDIwMTUwHhcNMTUwNz
1c0500 41 33 4d 54 41 78 4d 54 49 78 57 68 63 4e 4e 44 41 77 4e 6a 4d 77 4d 54 41 78 0a 4d 54 49 78 57 A3MTAxMTIxWhcNNDAwNjMwMTAx.MTIxW
1c0520 6a 43 42 70 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e 56 42 jCBpjELMAkGA1UEBhMCR1IxDzANBgNVB
1c0540 41 63 54 42 6b 46 30 61 47 56 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 56 73 62 AcTBkF0aGVuczFEMEIGA1UEChM7SGVsb
1c0560 47 56 75 61 57 4d 67 0a 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 GVuaWMg.QWNhZGVtaWMgYW5kIFJlc2Vh
1c0580 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 4c 69 42 42 cmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBB
1c05a0 64 58 52 6f 62 33 4a 70 64 48 6b 78 51 44 41 2b 42 67 4e 56 0a 42 41 4d 54 4e 30 68 6c 62 47 78 dXRob3JpdHkxQDA+BgNV.BAMTN0hlbGx
1c05c0 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 58 4a lbmljIEFjYWRlbWljIGFuZCBSZXNlYXJ
1c05e0 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 55 6d 39 76 64 45 4e 42 49 44 49 jaCBJbnN0aXR1dGlvbnMgUm9vdENBIDI
1c0600 77 0a 4d 54 55 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 w.MTUwggIiMA0GCSqGSIb3DQEBAQUAA4
1c0620 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 43 2b 4b 6b 2f 47 34 6e 38 50 44 77 45 58 54 ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT
1c0640 32 51 4e 72 43 52 4f 6e 6b 38 5a 6c 72 76 0a 62 54 6b 42 53 52 71 30 74 38 39 2f 54 53 4e 54 74 2QNrCROnk8Zlrv.bTkBSRq0t89/TSNTt
1c0660 35 41 41 34 78 4d 71 4b 4b 59 78 38 5a 45 41 34 79 6a 73 72 69 46 42 7a 68 2f 61 2f 58 30 53 57 5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SW
1c0680 77 47 44 44 37 6d 77 58 35 6e 68 38 68 4b 44 67 45 30 47 50 74 2b 73 72 2b 65 68 0a 69 47 73 78 wGDD7mwX5nh8hKDgE0GPt+sr+eh.iGsx
1c06a0 72 2f 43 4c 30 42 67 7a 75 4e 74 46 61 6a 54 30 41 6f 41 6b 4b 41 6f 43 46 5a 56 65 64 69 6f 4e r/CL0BgzuNtFajT0AoAkKAoCFZVedioN
1c06c0 6d 54 6f 55 57 2f 62 4c 79 31 4f 38 45 30 30 42 69 44 65 55 4a 52 74 43 76 43 4c 59 6a 71 4f 57 mToUW/bLy1O8E00BiDeUJRtCvCLYjqOW
1c06e0 58 6a 72 5a 4d 74 73 2b 0a 36 50 41 51 5a 65 31 30 34 53 2b 6e 66 4b 38 6e 4e 4c 73 70 66 5a 75 XjrZMts+.6PAQZe104S+nfK8nNLspfZu
1c0700 32 7a 77 6e 49 35 64 4d 4b 2f 49 68 6c 5a 58 51 4b 33 48 4d 63 58 4d 31 41 73 52 7a 55 74 6f 53 2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoS
1c0720 4d 54 46 44 50 61 49 36 6f 57 61 37 43 4a 30 36 43 6f 6a 58 64 0a 46 50 51 66 2f 37 4a 33 31 59 MTFDPaI6oWa7CJ06CojXd.FPQf/7J31Y
1c0740 63 76 71 6d 35 39 4a 43 66 6e 78 73 73 6d 35 75 58 2b 5a 77 64 6a 32 45 55 4e 33 54 70 5a 5a 54 cvqm59JCfnxssm5uX+Zwdj2EUN3TpZZT
1c0760 6c 59 65 70 4b 5a 63 6a 32 63 68 46 36 49 49 62 6a 56 39 43 7a 38 32 58 42 53 54 33 69 34 76 54 lYepKZcj2chF6IIbjV9Cz82XBST3i4vT
1c0780 77 72 0a 69 35 57 59 39 62 50 52 61 4d 38 67 46 48 35 4d 58 46 2f 6e 69 2b 58 31 4e 59 45 5a 4e wr.i5WY9bPRaM8gFH5MXF/ni+X1NYEZN
1c07a0 39 63 52 43 4c 64 6d 76 74 4e 4b 7a 6f 4e 58 41 44 72 44 67 66 67 58 79 35 49 32 58 64 47 6a 32 9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2
1c07c0 48 55 62 34 59 73 6e 36 6e 70 49 51 66 31 46 0a 47 51 61 74 4a 35 6c 4f 77 58 42 48 33 62 57 66 HUb4Ysn6npIQf1F.GQatJ5lOwXBH3bWf
1c07e0 67 56 4d 53 35 62 47 4d 53 46 30 78 51 78 66 6a 6a 4d 5a 36 59 35 5a 4c 4b 54 42 4f 68 45 35 69 gVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5i
1c0800 47 56 34 38 7a 70 65 51 70 58 38 42 36 35 33 67 2b 49 75 4a 33 53 57 59 50 5a 4b 32 0a 66 75 2f GV48zpeQpX8B653g+IuJ3SWYPZK2.fu/
1c0820 5a 38 56 46 52 66 53 30 6d 79 47 6c 5a 59 65 43 73 61 72 67 71 4e 68 45 45 65 6c 43 39 4d 6f 53 Z8VFRfS0myGlZYeCsargqNhEEelC9MoS
1c0840 2b 4c 39 78 79 31 64 63 64 46 6b 66 6b 52 32 59 67 50 2f 53 57 78 61 2b 4f 41 58 71 6c 44 33 70 +L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3p
1c0860 6b 39 51 30 59 68 39 6d 75 0a 69 4e 58 36 68 4d 45 36 77 47 6b 6f 4c 66 49 4e 61 46 47 71 34 36 k9Q0Yh9mu.iNX6hME6wGkoLfINaFGq46
1c0880 56 33 78 71 53 51 44 71 45 33 69 7a 45 6a 52 38 45 4a 43 4f 74 75 39 33 69 62 31 34 4c 38 68 43 V3xqSQDqE3izEjR8EJCOtu93ib14L8hC
1c08a0 43 5a 53 52 6d 32 45 6b 61 78 2b 30 56 56 46 71 6d 6a 5a 61 79 63 0a 42 77 2f 71 61 39 77 66 4c CZSRm2Ekax+0VVFqmjZayc.Bw/qa9wfL
1c08c0 67 5a 79 37 49 61 49 45 75 51 74 32 31 38 46 4c 2b 54 77 41 39 4d 6d 4d 2b 65 41 77 73 31 43 6f gZy7IaIEuQt218FL+TwA9MmM+eAws1Co
1c08e0 52 63 30 43 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 Rc0CwIDAQABo0IwQDAPBgNVHRMBAf8EB
1c0900 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 TAD.AQH/MA4GA1UdDwEB/wQEAwIBBjAd
1c0920 42 67 4e 56 48 51 34 45 46 67 51 55 63 52 56 6e 79 4d 6a 4a 76 58 56 64 63 74 41 34 47 47 71 64 BgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd
1c0940 38 33 45 6b 56 41 73 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 83EkVAswDQYJKoZI.hvcNAQELBQADggI
1c0960 42 41 48 57 37 62 56 52 4c 71 68 42 59 52 6a 54 79 59 74 63 57 4e 6c 30 49 58 74 56 73 79 49 65 BAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe
1c0980 39 74 43 35 47 38 6a 48 34 66 4f 70 43 74 5a 4d 57 56 64 79 68 44 42 4b 67 32 6d 46 2b 0a 44 31 9tC5G8jH4fOpCtZMWVdyhDBKg2mF+.D1
1c09a0 68 59 63 32 52 79 78 2b 68 46 6a 74 79 70 38 69 59 2f 78 6e 6d 4d 73 56 4d 49 4d 34 47 77 56 68 hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVh
1c09c0 4f 2b 35 6c 46 63 32 4a 73 4b 54 30 75 63 56 6c 4d 43 36 55 2f 32 44 57 44 71 54 55 4a 56 36 48 O+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6H
1c09e0 77 62 49 53 48 54 47 7a 72 4d 0a 64 2f 4b 34 6b 50 46 6f 78 2f 6c 61 2f 76 6f 74 39 4c 2f 4a 39 wbISHTGzrM.d/K4kPFox/la/vot9L/J9
1c0a00 55 55 62 7a 6a 67 51 4b 6a 65 4b 65 61 4f 30 34 77 6c 73 68 59 61 54 2f 34 6d 57 4a 33 69 42 6a UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj
1c0a20 32 66 6a 52 6e 52 55 6a 74 6b 4e 61 65 4a 4b 39 45 31 30 41 2f 2b 79 0a 64 2b 32 56 5a 35 66 6b 2fjRnRUjtkNaeJK9E10A/+y.d+2VZ5fk
1c0a40 73 63 57 72 76 32 6f 6a 36 4e 53 55 34 6b 51 6f 59 73 52 4c 34 76 44 59 34 69 6c 72 47 6e 42 2b scWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+
1c0a60 4a 47 47 54 65 30 38 44 4d 69 55 4e 52 53 51 72 6c 72 52 47 61 72 39 4b 43 2f 65 61 6a 38 47 73 JGGTe08DMiUNRSQrlrRGar9KC/eaj8Gs
1c0a80 47 73 56 6e 0a 38 32 38 30 30 76 70 7a 59 34 7a 76 46 72 43 6f 70 45 59 71 2b 4f 73 53 37 48 4b GsVn.82800vpzY4zvFrCopEYq+OsS7HK
1c0aa0 30 37 2f 67 72 66 6f 78 53 77 49 75 45 56 50 6b 76 50 75 4e 56 71 4e 78 6d 73 64 6e 68 58 39 69 07/grfoxSwIuEVPkvPuNVqNxmsdnhX9i
1c0ac0 7a 6a 46 6b 30 57 61 53 72 54 32 79 37 48 78 6a 62 0a 64 61 76 59 79 35 4c 4e 6c 44 68 68 44 67 zjFk0WaSrT2y7Hxjb.davYy5LNlDhhDg
1c0ae0 63 47 48 30 74 47 45 50 45 56 76 6f 32 46 58 44 74 4b 4b 34 46 35 44 37 52 70 6e 30 6c 51 6c 30 cGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl0
1c0b00 33 33 44 6c 5a 64 77 4a 56 71 77 6a 62 44 47 32 6a 4a 39 53 72 63 52 35 71 2b 73 73 37 46 0a 4a 33DlZdwJVqwjbDG2jJ9SrcR5q+ss7F.J
1c0b20 65 6a 36 41 37 6e 61 2b 52 5a 75 6b 59 54 31 48 43 6a 49 2f 43 62 4d 31 78 79 51 56 71 64 66 62 ej6A7na+RZukYT1HCjI/CbM1xyQVqdfb
1c0b40 7a 6f 45 76 4d 31 34 69 51 75 4f 44 79 2b 6a 71 6b 2b 69 47 78 49 39 46 67 68 41 44 2f 46 47 54 zoEvM14iQuODy+jqk+iGxI9FghAD/FGT
1c0b60 4e 65 71 65 77 6a 42 43 76 56 74 0a 4a 39 34 43 6a 38 72 44 74 53 76 4b 36 65 76 49 49 56 4d 34 NeqewjBCvVt.J94Cj8rDtSvK6evIIVM4
1c0b80 70 63 77 37 32 48 63 33 4d 4b 4a 50 32 57 2f 52 38 6b 43 74 51 58 6f 58 78 64 5a 4b 4e 59 6d 33 pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3
1c0ba0 51 64 56 38 68 6e 39 56 54 59 4e 4b 70 58 4d 67 77 44 71 76 6b 50 47 61 0a 4a 49 37 5a 6a 6e 48 QdV8hn9VTYNKpXMgwDqvkPGa.JI7ZjnH
1c0bc0 4b 65 37 69 47 32 72 4b 50 6d 54 34 64 45 77 30 53 45 65 37 55 71 2f 44 70 46 58 59 43 35 4f 44 Ke7iG2rKPmT4dEw0SEe7Uq/DpFXYC5OD
1c0be0 66 71 69 41 65 57 32 47 46 5a 45 43 70 6b 4a 63 4e 72 56 50 53 57 68 32 48 61 67 43 58 5a 57 4b fqiAeW2GFZECpkJcNrVPSWh2HagCXZWK
1c0c00 30 76 6d 39 71 0a 70 2f 55 73 51 75 30 79 72 62 59 68 6e 72 36 38 0a 2d 2d 2d 2d 2d 45 4e 44 20 0vm9q.p/UsQu0yrbYhnr68.-----END.
1c0c20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 CERTIFICATE-----..Hellenic.Acade
1c0c40 6d 69 63 20 61 6e 64 20 52 65 73 65 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 45 43 mic.and.Research.Institutions.EC
1c0c60 43 20 52 6f 6f 74 43 41 20 32 30 31 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d C.RootCA.2015.==================
1c0c80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c0ca0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1c0cc0 2d 2d 2d 2d 2d 0a 4d 49 49 43 77 7a 43 43 41 6b 71 67 41 77 49 42 41 67 49 42 41 44 41 4b 42 67 -----.MIICwzCCAkqgAwIBAgIBADAKBg
1c0ce0 67 71 68 6b 6a 4f 50 51 51 44 41 6a 43 42 71 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 gqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1
1c0d00 49 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 42 6b 46 30 0a 61 47 56 75 63 7a 46 45 4d 45 49 47 41 IxDzANBgNVBAcTBkF0.aGVuczFEMEIGA
1c0d20 31 55 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgY
1c0d40 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 0a W5kIFJlc2VhcmNoIEluc3RpdHV0aW9u.
1c0d60 63 79 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 52 44 42 43 42 67 4e 56 cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNV
1c0d80 42 41 4d 54 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 BAMTO0hlbGxlbmljIEFjYWRlbWljIGFu
1c0da0 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 0a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d ZCBSZXNlYXJj.aCBJbnN0aXR1dGlvbnM
1c0dc0 67 52 55 4e 44 49 46 4a 76 62 33 52 44 51 53 41 79 4d 44 45 31 4d 42 34 58 44 54 45 31 4d 44 63 gRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDc
1c0de0 77 4e 7a 45 77 4d 7a 63 78 4d 6c 6f 58 44 54 51 77 4d 44 59 7a 4d 44 45 77 0a 4d 7a 63 78 4d 6c wNzEwMzcxMloXDTQwMDYzMDEw.MzcxMl
1c0e00 6f 77 67 61 6f 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 64 53 4d 51 38 77 44 51 59 44 56 51 owgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQ
1c0e20 51 48 45 77 5a 42 64 47 68 6c 62 6e 4d 78 52 44 42 43 42 67 4e 56 42 41 6f 54 4f 30 68 6c 62 47 QHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbG
1c0e40 78 6c 62 6d 6c 6a 0a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 xlbmlj.IEFjYWRlbWljIGFuZCBSZXNlY
1c0e60 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 51 32 56 79 64 43 34 67 51 XJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQ
1c0e80 58 56 30 61 47 39 79 61 58 52 35 4d 55 51 77 51 67 59 44 0a 56 51 51 44 45 7a 74 49 5a 57 78 73 XV0aG9yaXR5MUQwQgYD.VQQDEztIZWxs
1c0ea0 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d 56 7a 5a 57 46 79 ZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFy
1c0ec0 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 49 45 56 44 51 79 42 53 62 32 39 30 Y2ggSW5zdGl0dXRpb25zIEVDQyBSb290
1c0ee0 0a 51 30 45 67 4d 6a 41 78 4e 54 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 .Q0EgMjAxNTB2MBAGByqGSM49AgEGBSu
1c0f00 42 42 41 41 69 41 32 49 41 42 4a 4b 67 51 65 68 4c 67 6f 52 63 34 76 67 78 45 5a 6d 47 5a 45 34 BBAAiA2IABJKgQehLgoRc4vgxEZmGZE4
1c0f20 4a 4a 53 2b 64 51 53 38 4b 72 6a 56 50 0a 64 4a 57 79 55 57 52 72 6a 57 76 6d 50 33 43 56 38 41 JJS+dQS8KrjVP.dJWyUWRrjWvmP3CV8A
1c0f40 56 45 52 36 5a 79 4f 46 42 32 6c 51 4a 61 6a 71 34 6f 6e 76 6b 74 54 70 6e 76 4c 45 68 76 54 43 VER6ZyOFB2lQJajq4onvktTpnvLEhvTC
1c0f60 55 70 36 4e 46 78 57 39 38 64 77 58 55 33 74 4e 66 36 65 33 70 43 6e 47 6f 4b 0a 56 6c 70 38 61 Up6NFxW98dwXU3tNf6e3pCnGoK.Vlp8a
1c0f80 51 75 71 67 41 6b 6b 62 48 37 42 52 71 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 QuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/B
1c0fa0 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 AUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwH
1c0fc0 51 59 44 56 52 30 4f 0a 42 42 59 45 46 4c 51 69 43 34 4b 5a 4a 41 45 4f 6e 4c 76 6b 44 76 32 2f QYDVR0O.BBYEFLQiC4KZJAEOnLvkDv2/
1c0fe0 2b 35 63 67 6b 35 6b 71 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 32 63 41 4d 47 51 43 +5cgk5kqMAoGCCqGSM49BAMCA2cAMGQC
1c1000 4d 47 66 4f 46 6d 49 34 6f 71 78 69 52 61 65 70 6c 53 54 41 0a 47 69 65 63 4d 6a 76 41 77 4e 57 MGfOFmI4oqxiRaeplSTA.GiecMjvAwNW
1c1020 36 71 65 66 34 42 45 4e 54 68 65 35 53 49 64 36 64 39 53 57 44 50 70 35 59 53 79 2f 58 5a 78 4d 6qef4BENThe5SId6d9SWDPp5YSy/XZxM
1c1040 4f 49 51 49 77 42 65 46 31 41 64 35 6f 37 53 6f 66 54 55 77 4a 43 41 33 73 53 36 31 6b 46 79 6a OIQIwBeF1Ad5o7SofTUwJCA3sS61kFyj
1c1060 6e 0a 64 63 35 46 5a 58 49 68 46 38 73 69 51 51 36 4d 45 35 67 34 6d 6c 52 74 6d 38 72 69 66 4f n.dc5FZXIhF8siQQ6ME5g4mlRtm8rifO
1c1080 6f 43 57 43 4b 52 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d oCWCKR.-----END.CERTIFICATE-----
1c10a0 0a 0a 43 65 72 74 70 6c 75 73 20 52 6f 6f 74 20 43 41 20 47 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..Certplus.Root.CA.G1.==========
1c10c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1c10e0 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 7a 43 43 41 31 4f 67 41 77 49 42 41 67 49 53 45 53 42 56 67 2b -----.MIIFazCCA1OgAwIBAgISESBVg+
1c1100 51 74 50 6c 52 57 68 53 32 44 4e 37 63 73 33 45 59 52 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQ
1c1120 45 42 44 51 55 41 4d 44 34 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b 5a 53 4d 52 45 77 44 EBDQUAMD4xCzAJBgNV.BAYTAkZSMREwD
1c1140 77 59 44 56 51 51 4b 44 41 68 44 5a 58 4a 30 63 47 78 31 63 7a 45 63 4d 42 6f 47 41 31 55 45 41 wYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEA
1c1160 77 77 54 51 32 56 79 64 48 42 73 64 58 4d 67 55 6d 39 76 64 43 42 44 51 53 42 48 4d 54 41 65 0a wwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe.
1c1180 46 77 30 78 4e 44 41 31 4d 6a 59 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 55 77 Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUw
1c11a0 4d 44 41 77 4d 44 42 61 4d 44 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 45 77 MDAwMDBaMD4xCzAJBgNVBAYTAkZSMREw
1c11c0 44 77 59 44 56 51 51 4b 44 41 68 44 0a 5a 58 4a 30 63 47 78 31 63 7a 45 63 4d 42 6f 47 41 31 55 DwYDVQQKDAhD.ZXJ0cGx1czEcMBoGA1U
1c11e0 45 41 77 77 54 51 32 56 79 64 48 42 73 64 58 4d 67 55 6d 39 76 64 43 42 44 51 53 42 48 4d 54 43 EAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTC
1c1200 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 CAiIwDQYJKoZIhvcNAQEBBQAD.ggIPAD
1c1220 43 43 41 67 6f 43 67 67 49 42 41 4e 70 51 68 37 62 61 75 4b 6b 2b 6e 57 54 36 56 6a 4f 61 56 6a CCAgoCggIBANpQh7bauKk+nWT6VjOaVj
1c1240 30 57 35 51 4f 56 73 6a 51 63 6d 6d 31 69 42 64 54 59 6a 2b 65 4a 5a 4a 2b 36 32 32 53 4c 5a 4f 0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZO
1c1260 5a 35 4b 6d 48 4e 0a 72 34 39 61 69 5a 46 6c 75 56 6a 38 74 41 4e 66 6b 54 38 74 45 42 58 67 66 Z5KmHN.r49aiZFluVj8tANfkT8tEBXgf
1c1280 73 2b 38 2f 48 39 44 5a 36 69 74 58 6a 59 6a 32 4a 69 7a 54 66 4e 44 6e 6a 6c 38 4b 76 7a 73 69 s+8/H9DZ6itXjYj2JizTfNDnjl8Kvzsi
1c12a0 4e 57 49 37 6e 43 39 68 52 59 74 36 6b 75 4a 50 4b 4e 78 0a 51 76 34 63 2f 64 4d 63 4c 52 43 34 NWI7nC9hRYt6kuJPKNx.Qv4c/dMcLRC4
1c12c0 68 6c 54 71 51 37 6a 62 78 6f 66 61 71 4b 36 41 4a 63 39 36 4a 68 32 71 6b 62 42 49 62 36 36 31 hlTqQ7jbxofaqK6AJc96Jh2qkbBIb661
1c12e0 33 70 37 59 31 2f 6f 41 2f 63 61 50 30 46 47 37 59 6e 32 6b 73 59 79 79 2f 79 41 52 75 6a 56 6a 3p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj
1c1300 0a 42 59 5a 48 59 45 4d 7a 6b 50 5a 48 6f 67 4e 50 6c 6b 32 64 54 38 48 71 36 70 79 69 2f 6a 51 .BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQ
1c1320 75 33 72 66 4b 47 33 61 6b 74 36 32 66 36 61 6a 55 65 44 39 34 2f 76 49 34 43 54 59 64 30 68 59 u3rfKG3akt62f6ajUeD94/vI4CTYd0hY
1c1340 43 79 4f 77 71 61 4b 2f 31 6a 70 54 76 0a 4c 52 4e 36 48 6b 4a 4b 48 52 55 78 72 67 77 45 56 2f CyOwqaK/1jpTv.LRN6HkJKHRUxrgwEV/
1c1360 78 68 63 2f 4d 78 56 6f 59 78 67 4b 44 45 45 57 34 77 64 75 4f 55 38 46 38 45 78 4b 79 48 63 6f xhc/MxVoYxgKDEEW4wduOU8F8ExKyHco
1c1380 6d 59 78 5a 33 4d 56 77 69 61 39 41 7a 38 66 58 6f 46 4f 76 70 48 67 44 6d 32 0a 7a 34 51 54 64 mYxZ3MVwia9Az8fXoFOvpHgDm2.z4QTd
1c13a0 32 38 6e 36 76 2b 57 5a 78 63 49 62 65 6b 4e 31 69 4e 51 4d 4c 41 56 64 42 4d 2b 35 53 2f 2f 44 28n6v+WZxcIbekN1iNQMLAVdBM+5S//D
1c13c0 73 33 45 43 30 70 64 38 4e 67 41 4d 30 6c 6d 36 36 45 59 66 46 6b 75 50 53 69 35 59 58 48 4c 74 s3EC0pd8NgAM0lm66EYfFkuPSi5YXHLt
1c13e0 61 57 36 75 4f 72 63 0a 34 6e 42 76 43 47 72 63 68 32 63 30 37 39 38 77 63 74 33 7a 79 54 38 6a aW6uOrc.4nBvCGrch2c0798wct3zyT8j
1c1400 2f 7a 58 68 76 69 45 70 49 44 43 42 35 42 6d 6c 49 4f 6b 6c 79 6e 4d 78 64 43 6d 2b 34 6b 4c 56 /zXhviEpIDCB5BmlIOklynMxdCm+4kLV
1c1420 38 37 49 6d 5a 73 64 6f 2f 52 6d 7a 35 79 43 54 6d 65 68 64 0a 34 46 36 48 35 30 62 6f 4a 5a 77 87ImZsdo/Rmz5yCTmehd.4F6H50boJZw
1c1440 4b 4b 53 54 55 7a 56 69 47 55 6b 41 6b 73 6e 73 50 6d 42 49 67 4a 50 61 51 62 45 66 49 44 62 73 KKSTUzViGUkAksnsPmBIgJPaQbEfIDbs
1c1460 59 49 43 37 5a 2f 66 79 4c 38 69 6e 71 68 33 53 56 34 45 4a 51 65 49 51 45 51 57 47 77 39 43 45 YIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CE
1c1480 6a 0a 6a 79 33 4c 4b 43 48 79 61 6d 7a 30 47 71 62 46 46 4c 51 33 5a 55 2b 56 2f 59 44 49 2b 48 j.jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+H
1c14a0 4c 6c 4a 57 76 45 59 4c 46 37 62 59 35 4b 69 6e 50 4f 57 66 74 77 65 6e 4d 47 45 39 6e 54 64 44 LlJWvEYLF7bY5KinPOWftwenMGE9nTdD
1c14c0 63 6b 51 51 6f 52 62 35 66 63 35 2b 52 2b 0a 6f 62 30 56 38 72 71 48 44 7a 31 6f 69 68 59 48 41 ckQQoRb5fc5+R+.ob0V8rqHDz1oihYHA
1c14e0 67 4d 42 41 41 47 6a 59 7a 42 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 gMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBB
1c1500 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 0a 41 31 55 64 jAPBgNVHRMBAf8EBTADAQH/MB0G.A1Ud
1c1520 44 67 51 57 42 42 53 6f 77 63 43 62 6b 61 68 44 46 58 78 64 42 69 65 30 4b 6c 48 59 6c 77 75 42 DgQWBBSowcCbkahDFXxdBie0KlHYlwuB
1c1540 73 54 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 53 6f 77 63 43 62 6b 61 68 44 46 58 78 64 sTAfBgNVHSMEGDAWgBSowcCbkahDFXxd
1c1560 42 69 65 30 4b 6c 48 59 0a 6c 77 75 42 73 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 30 Bie0KlHY.lwuBsTANBgkqhkiG9w0BAQ0
1c1580 46 41 41 4f 43 41 67 45 41 6e 46 5a 76 41 58 37 52 76 55 7a 31 69 73 62 77 4a 68 2f 6b 34 44 67 FAAOCAgEAnFZvAX7RvUz1isbwJh/k4Dg
1c15a0 59 7a 44 4c 44 4b 54 75 64 51 53 6b 30 59 63 62 58 38 41 43 68 0a 36 36 52 79 6a 35 51 58 76 42 YzDLDKTudQSk0YcbX8ACh.66Ryj5QXvB
1c15c0 4d 73 64 62 52 58 37 67 70 38 43 58 72 63 31 63 71 68 30 44 51 54 2b 48 65 72 6e 2b 58 2b 32 42 MsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B
1c15e0 35 30 69 6f 55 48 6a 33 2f 4d 65 58 72 4b 6c 73 33 4e 2f 55 2f 37 2f 53 4d 4e 6b 50 58 30 58 74 50ioUHj3/MeXrKls3N/U/7/SMNkPX0Xt
1c1600 50 47 0a 59 58 32 65 45 65 41 43 37 67 6b 45 32 51 66 64 70 6f 71 33 44 49 4d 6b 75 34 4e 51 6b PG.YX2eEeAC7gkE2Qfdpoq3DIMku4NQk
1c1620 76 35 67 64 52 45 2b 32 4a 32 77 69 6e 71 31 34 4a 32 62 79 35 42 53 53 37 43 54 4b 74 51 2b 46 v5gdRE+2J2winq14J2by5BSS7CTKtQ+F
1c1640 6a 50 6c 6e 73 5a 6c 46 54 35 6b 4f 77 51 2f 0a 32 77 79 50 58 31 77 64 61 52 2b 76 38 2b 6b 68 jPlnsZlFT5kOwQ/.2wyPX1wdaR+v8+kh
1c1660 6a 50 50 76 6c 2f 61 61 74 78 6d 32 68 48 53 63 6f 31 53 31 63 45 35 6a 32 46 64 64 55 79 47 62 jPPvl/aatxm2hHSco1S1cE5j2FddUyGb
1c1680 51 4a 4a 44 2b 74 5a 33 56 54 4e 50 5a 4e 58 37 30 43 78 71 6a 6d 30 6c 70 75 2b 46 0a 36 41 4c QJJD+tZ3VTNPZNX70Cxqjm0lpu+F.6AL
1c16a0 45 55 7a 36 35 6e 6f 65 38 7a 44 55 61 33 71 48 70 69 6d 4f 48 5a 52 34 52 4b 74 74 6a 64 35 63 EUz65noe8zDUa3qHpimOHZR4RKttjd5c
1c16c0 55 76 70 6f 55 6d 52 47 79 77 4f 36 77 54 2f 67 55 49 54 4a 44 54 35 2b 72 6f 73 75 6f 44 36 6f UvpoUmRGywO6wT/gUITJDT5+rosuoD6o
1c16e0 37 42 6c 58 47 45 69 6c 58 0a 43 4e 51 33 31 34 63 6e 72 55 6c 5a 70 35 47 72 52 48 70 65 6a 58 7BlXGEilX.CNQ314cnrUlZp5GrRHpejX
1c1700 44 62 6c 38 35 49 55 4c 46 7a 6b 2f 62 77 67 32 44 35 7a 66 48 68 4d 66 31 62 66 48 45 68 59 78 Dbl85IULFzk/bwg2D5zfHhMf1bfHEhYx
1c1720 51 55 71 71 2f 46 33 70 4e 2b 61 4c 48 73 49 71 4b 71 6b 48 57 65 0a 74 55 4e 79 36 6d 53 6a 68 QUqq/F3pN+aLHsIqKqkHWe.tUNy6mSjh
1c1740 45 76 39 44 4b 67 6d 61 33 47 58 37 6c 5a 6a 5a 75 68 43 56 50 6e 48 48 64 2f 51 6a 31 76 66 79 Ev9DKgma3GX7lZjZuhCVPnHHd/Qj1vfy
1c1760 44 42 76 69 50 34 4e 78 44 4d 63 55 36 69 6a 2f 55 67 51 38 75 51 4b 54 75 45 56 56 2f 78 75 5a DBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZ
1c1780 44 44 43 0a 56 52 48 63 36 71 6e 4e 53 6c 53 73 4b 57 4e 45 7a 30 70 41 6f 4e 5a 6f 57 52 73 7a DDC.VRHc6qnNSlSsKWNEz0pAoNZoWRsz
1c17a0 2b 65 38 36 69 39 73 67 6b 74 78 43 68 4c 38 42 71 34 66 41 31 53 43 43 32 38 61 35 67 34 56 43 +e86i9sgktxChL8Bq4fA1SCC28a5g4VC
1c17c0 58 41 39 44 4f 32 70 4a 4e 64 57 59 39 42 57 2f 0a 2b 6d 47 42 44 41 6b 67 47 4e 4c 51 46 77 7a XA9DO2pJNdWY9BW/.+mGBDAkgGNLQFwz
1c17e0 4c 53 41 42 51 36 58 61 43 6a 47 54 58 4f 71 41 48 56 63 77 65 4d 63 44 76 4f 72 52 6c 2b 2b 4f LSABQ6XaCjGTXOqAHVcweMcDvOrRl++O
1c1800 2f 51 6d 75 65 44 36 69 39 61 35 6a 63 32 4e 76 4c 69 36 54 64 31 31 6e 30 62 74 33 2b 0a 71 73 /QmueD6i9a5jc2NvLi6Td11n0bt3+.qs
1c1820 4f 52 30 43 35 43 42 38 41 4d 54 56 50 4e 4a 4c 46 4d 57 78 35 52 39 4e 2f 70 6b 76 6f 3d 0a 2d OR0C5CB8AMTVPNJLFMWx5R9N/pkvo=.-
1c1840 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 70 6c ----END.CERTIFICATE-----..Certpl
1c1860 75 73 20 52 6f 6f 74 20 43 41 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d us.Root.CA.G2.==================
1c1880 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1c18a0 49 43 48 44 43 43 41 61 4b 67 41 77 49 42 41 67 49 53 45 53 44 5a 6b 63 36 75 6f 2b 6a 46 35 2f ICHDCCAaKgAwIBAgISESDZkc6uo+jF5/
1c18c0 2f 70 41 71 2f 50 63 37 78 56 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 4d 44 34 78 43 7a /pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCz
1c18e0 41 4a 42 67 4e 56 42 41 59 54 0a 41 6b 5a 53 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 44 5a AJBgNVBAYT.AkZSMREwDwYDVQQKDAhDZ
1c1900 58 4a 30 63 47 78 31 63 7a 45 63 4d 42 6f 47 41 31 55 45 41 77 77 54 51 32 56 79 64 48 42 73 64 XJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsd
1c1920 58 4d 67 55 6d 39 76 64 43 42 44 51 53 42 48 4d 6a 41 65 46 77 30 78 0a 4e 44 41 31 4d 6a 59 77 XMgUm9vdCBDQSBHMjAeFw0x.NDA1MjYw
1c1940 4d 44 41 77 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 55 77 4d 44 41 77 4d 44 42 61 4d 44 34 78 MDAwMDBaFw0zODAxMTUwMDAwMDBaMD4x
1c1960 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 44 CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD
1c1980 5a 58 4a 30 0a 63 47 78 31 63 7a 45 63 4d 42 6f 47 41 31 55 45 41 77 77 54 51 32 56 79 64 48 42 ZXJ0.cGx1czEcMBoGA1UEAwwTQ2VydHB
1c19a0 73 64 58 4d 67 55 6d 39 76 64 43 42 44 51 53 42 48 4d 6a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 sdXMgUm9vdCBDQSBHMjB2MBAGByqGSM4
1c19c0 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 0a 42 4d 30 50 57 31 61 43 33 2f 42 46 47 74 9AgEGBSuBBAAiA2IA.BM0PW1aC3/BFGt
1c19e0 61 74 39 33 6e 77 48 63 6d 73 6c 74 61 65 54 70 77 66 74 45 49 52 79 6f 61 2f 62 66 75 46 6f 38 at93nwHcmsltaeTpwftEIRyoa/bfuFo8
1c1a00 58 6c 47 56 7a 58 37 71 59 2f 61 57 66 59 65 4f 4b 6d 79 63 54 62 4c 58 6b 75 35 34 75 4e 0a 41 XlGVzX7qY/aWfYeOKmycTbLXku54uN.A
1c1a20 6d 38 78 49 6b 30 47 34 32 42 79 52 5a 30 4f 51 6e 65 65 7a 73 2f 6c 66 34 57 62 47 4f 54 38 7a m8xIk0G42ByRZ0OQneezs/lf4WbGOT8z
1c1a40 43 35 79 30 78 61 54 54 73 71 5a 59 31 79 68 42 53 70 73 42 71 4e 6a 4d 47 45 77 44 67 59 44 56 C5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDV
1c1a60 52 30 50 41 51 48 2f 42 41 51 44 0a 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 R0PAQH/BAQD.AgEGMA8GA1UdEwEB/wQF
1c1a80 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 71 44 59 77 4a 35 6a 74 70 4d MAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpM
1c1aa0 78 6a 77 6a 46 4e 69 50 77 79 43 72 4b 47 42 5a 4d 42 38 47 41 31 55 64 0a 49 77 51 59 4d 42 61 xjwjFNiPwyCrKGBZMB8GA1Ud.IwQYMBa
1c1ac0 41 46 4e 71 44 59 77 4a 35 6a 74 70 4d 78 6a 77 6a 46 4e 69 50 77 79 43 72 4b 47 42 5a 4d 41 6f AFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAo
1c1ae0 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 67 41 4d 47 55 43 4d 48 44 2b 73 41 76 5a 39 34 4f GCCqGSM49BAMDA2gAMGUCMHD+sAvZ94O
1c1b00 58 37 50 4e 56 0a 48 64 54 63 73 77 59 4f 2f 6a 4f 59 6e 59 73 35 6b 47 75 55 49 65 32 32 31 31 X7PNV.HdTcswYO/jOYnYs5kGuUIe2211
1c1b20 33 57 54 4e 63 68 70 2b 65 2f 49 51 38 72 7a 66 63 71 33 49 55 48 6e 51 49 78 41 49 59 55 46 75 3WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFu
1c1b40 58 63 73 47 58 43 77 49 34 55 6e 37 38 6b 46 6d 6a 6c 0a 76 50 6c 35 61 64 79 74 52 53 76 33 74 XcsGXCwI4Un78kFmjl.vPl5adytRSv3t
1c1b60 6a 46 7a 7a 41 61 6c 55 35 4f 52 47 70 4f 75 63 47 70 6e 75 74 65 65 35 57 45 61 58 77 3d 3d 0a jFzzAalU5ORGpOucGpnutee5WEaXw==.
1c1b80 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 70 65 6e 54 -----END.CERTIFICATE-----..OpenT
1c1ba0 72 75 73 74 20 52 6f 6f 74 20 43 41 20 47 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rust.Root.CA.G1.================
1c1bc0 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c1be0 0a 4d 49 49 46 62 7a 43 43 41 31 65 67 41 77 49 42 41 67 49 53 45 53 43 7a 6b 46 55 35 66 58 38 .MIIFbzCCA1egAwIBAgISESCzkFU5fX8
1c1c00 32 62 57 54 43 70 35 39 72 59 34 35 6e 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 2bWTCp59rY45nMA0GCSqGSIb3DQEBCwU
1c1c20 41 4d 45 41 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 AMEAxCzAJBgNV.BAYTAkZSMRIwEAYDVQ
1c1c40 51 4b 44 41 6c 50 63 47 56 75 56 48 4a 31 63 33 51 78 48 54 41 62 42 67 4e 56 42 41 4d 4d 46 45 QKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE
1c1c60 39 77 5a 57 35 55 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 42 49 45 63 78 0a 4d 42 34 58 44 9wZW5UcnVzdCBSb290IENBIEcx.MB4XD
1c1c80 54 45 30 4d 44 55 79 4e 6a 41 34 4e 44 55 31 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4e 54 41 77 4d TE0MDUyNjA4NDU1MFoXDTM4MDExNTAwM
1c1ca0 44 41 77 4d 46 6f 77 51 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 DAwMFowQDELMAkGA1UEBhMCRlIxEjAQB
1c1cc0 67 4e 56 42 41 6f 4d 0a 43 55 39 77 5a 57 35 55 63 6e 56 7a 64 44 45 64 4d 42 73 47 41 31 55 45 gNVBAoM.CU9wZW5UcnVzdDEdMBsGA1UE
1c1ce0 41 77 77 55 54 33 42 6c 62 6c 52 79 64 58 4e 30 49 46 4a 76 62 33 51 67 51 30 45 67 52 7a 45 77 AwwUT3BlblRydXN0IFJvb3QgQ0EgRzEw
1c1d00 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a 41 51 55 41 41 34 49 43 44 77 41 ggIiMA0GCSqGSIb3DQEB.AQUAA4ICDwA
1c1d20 77 67 67 49 4b 41 6f 49 43 41 51 44 34 65 55 62 61 6c 73 55 77 58 6f 70 78 41 79 31 77 70 4c 75 wggIKAoICAQD4eUbalsUwXopxAy1wpLu
1c1d40 77 78 51 6a 63 7a 65 59 31 77 49 43 6b 45 53 33 64 35 6f 65 75 58 54 32 52 30 6f 64 73 4e 37 66 wxQjczeY1wICkES3d5oeuXT2R0odsN7f
1c1d60 61 0a 59 70 36 62 77 69 54 58 6a 2f 48 62 70 71 62 66 52 6d 39 52 70 6e 48 4c 50 68 73 78 5a 32 a.Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2
1c1d80 4c 33 45 56 73 30 4a 39 56 35 54 6f 79 62 57 4c 30 69 45 41 31 63 4a 77 7a 64 4d 4f 57 6f 30 31 L3EVs0J9V5ToybWL0iEA1cJwzdMOWo01
1c1da0 30 68 4f 48 51 58 2f 75 4d 66 74 6b 38 37 0a 61 79 33 62 66 57 41 66 6a 48 31 4d 42 63 4c 72 41 0hOHQX/uMftk87.ay3bfWAfjH1MBcLrA
1c1dc0 52 59 56 6d 42 53 4f 30 5a 42 33 49 6a 2f 73 77 6a 6d 34 65 54 72 77 53 53 54 69 6c 5a 48 63 59 RYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcY
1c1de0 54 53 53 6a 46 52 30 37 37 46 39 6a 41 48 69 4f 48 33 42 58 32 70 66 4a 4c 4b 4f 0a 59 68 65 74 TSSjFR077F9jAHiOH3BX2pfJLKO.Yhet
1c1e00 65 53 43 74 71 78 32 33 34 4c 53 57 53 45 39 6d 51 78 41 47 46 69 51 44 34 65 43 63 6a 73 5a 47 eSCtqx234LSWSE9mQxAGFiQD4eCcjsZG
1c1e20 54 34 34 61 6d 65 47 50 75 59 34 7a 62 47 6e 65 57 4b 32 67 44 71 64 6b 56 42 46 70 52 47 5a 50 T44ameGPuY4zbGneWK2gDqdkVBFpRGZP
1c1e40 54 42 4b 6e 6a 69 78 39 0a 78 4e 52 62 78 51 41 30 4d 4d 48 5a 6d 66 34 79 7a 67 65 45 74 45 37 TBKnjix9.xNRbxQA0MMHZmf4yzgeEtE7
1c1e60 4e 43 76 38 32 54 57 4c 78 70 32 4e 58 35 4e 74 71 70 36 36 2f 4b 37 6e 4a 35 72 49 6e 69 65 56 NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV
1c1e80 2b 6d 68 78 4e 61 4d 62 42 47 4e 34 7a 4b 31 46 47 53 78 79 4f 0a 39 7a 30 4d 2b 59 6f 30 46 4d +mhxNaMbBGN4zK1FGSxyO.9z0M+Yo0FM
1c1ea0 54 37 4d 7a 55 6a 38 63 7a 78 4b 73 65 6c 75 37 43 69 7a 76 35 54 61 30 31 42 47 32 59 6f 73 70 T7MzUj8czxKselu7Cizv5Ta01BG2Yosp
1c1ec0 62 36 70 36 34 4b 54 72 6b 35 4d 30 53 63 64 4d 47 54 48 50 6a 67 6e 69 51 6c 51 2f 47 62 49 34 b6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4
1c1ee0 4b 71 0a 33 79 77 67 73 4e 77 32 54 67 4f 7a 66 41 4c 55 35 6e 73 61 71 6f 63 54 76 7a 36 68 64 Kq.3ywgsNw2TgOzfALU5nsaqocTvz6hd
1c1f00 4c 75 62 44 75 48 41 6b 35 2f 58 70 47 62 4b 75 78 73 37 34 7a 44 30 4d 31 6d 4b 42 33 49 44 56 LubDuHAk5/XpGbKuxs74zD0M1mKB3IDV
1c1f20 65 64 7a 61 67 4d 78 62 6d 2b 57 47 2b 4f 69 0a 6e 36 2b 53 78 2b 33 31 51 72 63 6c 54 44 73 54 edzagMxbm+WG+Oi.n6+Sx+31QrclTDsT
1c1f40 42 4d 38 63 6c 71 38 63 49 71 50 51 71 77 57 79 54 42 49 6a 55 74 7a 39 47 56 73 6e 6e 42 34 37 BM8clq8cIqPQqwWyTBIjUtz9GVsnnB47
1c1f60 65 76 31 43 49 39 73 6a 67 42 50 77 76 46 45 56 56 4a 53 6d 64 7a 37 51 64 46 47 39 0a 55 52 51 ev1CI9sjgBPwvFEVVJSmdz7QdFG9.URQ
1c1f80 49 4f 54 66 4c 48 7a 53 70 4d 4a 31 53 68 43 35 56 6b 4c 47 36 33 31 55 41 43 39 68 57 4c 62 46 IOTfLHzSpMJ1ShC5VkLG631UAC9hWLbF
1c1fa0 4a 53 58 4b 41 71 57 4c 58 77 50 59 59 45 51 52 56 7a 58 52 37 7a 32 46 77 65 66 52 37 4c 46 78 JSXKAqWLXwPYYEQRVzXR7z2FwefR7LFx
1c1fc0 63 6b 76 7a 6c 75 46 71 72 0a 54 4a 4f 56 6f 53 66 75 70 62 37 50 63 53 4e 43 75 70 74 32 4c 51 ckvzluFqr.TJOVoSfupb7PcSNCupt2LQ
1c1fe0 49 44 41 51 41 42 6f 32 4d 77 59 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 IDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQ
1c2000 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 64 42 67 4e 56 48 YwDwYDVR0TAQH/BAUwAwEB./zAdBgNVH
1c2020 51 34 45 46 67 51 55 6c 30 59 68 56 79 45 31 32 6a 5a 56 78 2f 50 78 4e 33 44 6c 43 50 61 54 4b Q4EFgQUl0YhVyE12jZVx/PxN3DlCPaTK
1c2040 62 59 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 6c 30 59 68 56 79 45 31 32 6a 5a 56 78 bYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx
1c2060 2f 50 78 0a 4e 33 44 6c 43 50 61 54 4b 62 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c /Px.N3DlCPaTKbYwDQYJKoZIhvcNAQEL
1c2080 42 51 41 44 67 67 49 42 41 42 33 64 41 6d 42 38 34 44 57 6e 35 70 68 37 36 6b 54 4f 5a 30 42 50 BQADggIBAB3dAmB84DWn5ph76kTOZ0BP
1c20a0 38 70 4e 75 5a 74 51 35 69 53 61 73 30 30 30 45 0a 50 4c 75 48 49 54 38 33 39 48 45 6c 32 6b 75 8pNuZtQ5iSas000E.PLuHIT839HEl2ku
1c20c0 36 71 35 61 43 67 5a 47 32 37 64 6d 78 70 47 57 58 34 6d 39 6b 57 61 53 57 37 6d 44 4b 48 79 50 6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP
1c20e0 37 52 62 72 2f 6a 79 54 77 79 71 6b 78 66 33 6b 66 67 4c 4d 74 4d 72 70 6b 5a 32 43 76 0a 75 56 7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv.uV
1c2100 6e 4e 33 35 70 4a 30 36 69 43 73 66 6d 59 6c 49 72 4d 34 4c 76 67 42 42 75 5a 59 4c 46 47 5a 64 nN35pJ06iCsfmYlIrM4LvgBBuZYLFGZd
1c2120 77 49 6f 72 4a 47 6e 6b 53 49 36 70 4e 2b 56 78 62 53 46 58 4a 66 4c 6b 75 72 31 4a 31 6a 75 4f wIorJGnkSI6pN+VxbSFXJfLkur1J1juO
1c2140 4e 49 35 66 36 45 4c 6c 67 4b 0a 6e 30 4d 64 2f 72 63 59 6b 6f 5a 44 53 77 36 63 4d 6f 59 73 59 NI5f6ELlgK.n0Md/rcYkoZDSw6cMoYsY
1c2160 50 58 70 53 4f 71 56 37 58 41 70 38 64 55 76 2f 54 57 30 56 38 2f 62 68 55 69 5a 75 63 4a 76 62 PXpSOqV7XAp8dUv/TW0V8/bhUiZucJvb
1c2180 49 2f 4e 65 4a 57 73 5a 43 6a 39 56 72 44 44 62 38 4f 2b 57 56 4c 68 0a 58 34 53 50 67 50 4c 30 I/NeJWsZCj9VrDDb8O+WVLh.X4SPgPL0
1c21a0 44 54 61 74 64 72 4f 6a 74 65 46 6b 64 6a 70 59 33 48 31 50 58 6c 5a 73 35 56 56 5a 56 36 58 66 DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf
1c21c0 38 59 70 6d 4d 49 7a 55 55 6d 49 34 64 37 53 2b 4b 4e 66 4b 4e 73 53 62 42 66 44 34 46 64 76 62 8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb
1c21e0 38 65 38 30 0a 6e 52 31 34 53 6f 68 57 5a 32 35 67 2f 34 2f 49 69 2b 47 4f 76 55 4b 70 4d 77 70 8e80.nR14SohWZ25g/4/Ii+GOvUKpMwp
1c2200 5a 51 68 49 53 4b 76 71 78 6e 55 4f 4f 42 5a 75 5a 32 6d 4b 74 56 7a 61 7a 48 62 59 4e 65 53 32 ZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2
1c2220 57 75 4f 76 79 44 45 73 4d 70 5a 54 47 4d 4b 63 6d 0a 47 53 33 74 54 41 5a 51 4d 50 48 39 57 44 WuOvyDEsMpZTGMKcm.GS3tTAZQMPH9WD
1c2240 32 35 53 78 64 66 47 62 52 71 68 46 53 30 4f 45 38 35 6f 67 32 57 61 4d 4d 6f 6c 50 33 74 4c 52 25SxdfGbRqhFS0OE85og2WaMMolP3tLR
1c2260 39 4b 61 30 4f 57 4c 70 41 42 45 50 73 34 70 6f 45 4c 30 4c 39 31 30 39 53 35 7a 76 45 2f 0a 62 9Ka0OWLpABEPs4poEL0L9109S5zvE/.b
1c2280 77 34 63 48 6a 64 78 35 52 69 48 64 52 6b 2f 55 4c 6c 65 70 45 55 30 72 62 44 4b 35 75 55 54 64 w4cHjdx5RiHdRk/ULlepEU0rbDK5uUTd
1c22a0 67 38 78 46 4b 6d 4f 4c 5a 54 57 31 59 56 4e 63 78 56 50 53 2f 4b 79 50 75 31 73 76 66 30 4f 6e g8xFKmOLZTW1YVNcxVPS/KyPu1svf0On
1c22c0 57 5a 7a 73 44 32 30 39 37 2b 6f 0a 34 42 47 6b 78 4b 35 31 43 55 70 6a 41 45 67 67 70 73 61 64 WZzsD2097+o.4BGkxK51CUpjAEggpsad
1c22e0 43 77 6d 4b 74 4f 44 6d 7a 6a 37 48 50 69 59 34 36 53 76 65 70 67 68 4a 41 77 53 51 69 75 6d 50 CwmKtODmzj7HPiY46SvepghJAwSQiumP
1c2300 76 2b 69 32 74 43 71 6a 49 34 30 63 48 4c 49 35 6b 71 69 50 41 6c 78 41 0a 4f 58 58 55 63 30 45 v+i2tCqjI40cHLI5kqiPAlxA.OXXUc0E
1c2320 43 64 39 37 4e 34 45 4f 48 31 75 53 36 53 73 4e 73 45 6e 2f 2b 4b 75 59 6a 31 6f 78 78 0a 2d 2d Cd97N4EOH1uS6SsNsEn/+KuYj1oxx.--
1c2340 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 70 65 6e 54 72 75 ---END.CERTIFICATE-----..OpenTru
1c2360 73 74 20 52 6f 6f 74 20 43 41 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d st.Root.CA.G2.==================
1c2380 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1c23a0 49 49 46 62 7a 43 43 41 31 65 67 41 77 49 42 41 67 49 53 45 53 43 68 61 52 75 2f 76 62 6d 39 55 IIFbzCCA1egAwIBAgISESChaRu/vbm9U
1c23c0 70 61 50 49 2b 68 49 76 79 59 52 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 44 51 55 41 4d paPI+hIvyYRMA0GCSqGSIb3DQEBDQUAM
1c23e0 45 41 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b EAxCzAJBgNV.BAYTAkZSMRIwEAYDVQQK
1c2400 44 41 6c 50 63 47 56 75 56 48 4a 31 63 33 51 78 48 54 41 62 42 67 4e 56 42 41 4d 4d 46 45 39 77 DAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w
1c2420 5a 57 35 55 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 42 49 45 63 79 0a 4d 42 34 58 44 54 45 ZW5UcnVzdCBSb290IENBIEcy.MB4XDTE
1c2440 30 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4e 54 41 77 4d 44 41 0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDA
1c2460 77 4d 46 6f 77 51 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 4e wMFowQDELMAkGA1UEBhMCRlIxEjAQBgN
1c2480 56 42 41 6f 4d 0a 43 55 39 77 5a 57 35 55 63 6e 56 7a 64 44 45 64 4d 42 73 47 41 31 55 45 41 77 VBAoM.CU9wZW5UcnVzdDEdMBsGA1UEAw
1c24a0 77 55 54 33 42 6c 62 6c 52 79 64 58 4e 30 49 46 4a 76 62 33 51 67 51 30 45 67 52 7a 49 77 67 67 wUT3BlblRydXN0IFJvb3QgQ0EgRzIwgg
1c24c0 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a 41 51 55 41 41 34 49 43 44 77 41 77 67 IiMA0GCSqGSIb3DQEB.AQUAA4ICDwAwg
1c24e0 67 49 4b 41 6f 49 43 41 51 44 4d 74 6c 65 6c 4d 35 51 51 67 54 4a 54 33 32 46 2b 44 33 59 35 7a gIKAoICAQDMtlelM5QQgTJT32F+D3Y5z
1c2500 31 7a 43 55 33 55 64 53 58 71 57 4f 4e 32 69 63 32 72 78 62 39 35 65 6f 6c 71 35 63 53 47 2b 0a 1zCU3UdSXqWON2ic2rxb95eolq5cSG+.
1c2520 4e 74 6d 68 2f 4c 7a 75 62 4b 68 38 4e 42 70 78 47 75 67 61 32 46 38 4f 52 41 62 74 70 2b 44 7a Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz
1c2540 30 6d 45 4c 34 44 4b 69 6c 74 45 34 38 4d 4c 61 41 52 66 38 35 4b 78 50 36 4f 36 4a 48 6e 53 72 0mEL4DKiltE48MLaARf85KxP6O6JHnSr
1c2560 54 37 38 65 43 62 59 32 61 6c 62 7a 0a 34 65 36 57 69 57 59 6b 42 75 54 4e 51 6a 70 4b 33 65 43 T78eCbY2albz.4e6WiWYkBuTNQjpK3eC
1c2580 61 73 4d 53 43 52 62 50 2b 79 61 74 63 66 44 37 4a 36 78 63 76 44 48 31 75 72 71 57 50 79 4b 77 asMSCRbP+yatcfD7J6xcvDH1urqWPyKw
1c25a0 6c 43 6d 2f 36 31 55 57 59 30 6a 55 4a 39 67 4e 44 6c 50 37 5a 76 79 43 56 0a 65 59 43 59 69 74 lCm/61UWY0jUJ9gNDlP7ZvyCV.eYCYit
1c25c0 6d 4a 4e 62 74 52 47 36 51 33 66 66 79 5a 4f 36 76 2f 76 36 77 4e 6a 30 4f 78 6d 58 73 57 45 48 mJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH
1c25e0 34 64 62 30 66 45 46 59 38 45 6c 67 67 47 51 67 54 34 68 4e 59 64 76 4a 47 6d 51 72 35 4a 31 57 4db0fEFY8ElggGQgT4hNYdvJGmQr5J1W
1c2600 71 49 50 37 77 74 0a 55 64 47 65 6a 65 42 53 7a 46 66 64 4e 54 56 59 32 37 53 50 4a 49 6a 6b 69 qIP7wt.UdGejeBSzFfdNTVY27SPJIjki
1c2620 39 2f 63 61 31 54 53 67 53 75 79 7a 70 4a 4c 48 42 39 47 2b 68 33 59 6b 73 74 32 5a 37 55 4a 6d 9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJm
1c2640 51 6e 6c 72 42 63 55 56 58 44 47 50 4b 42 57 43 67 4f 7a 0a 33 47 49 5a 33 38 69 31 4d 48 2f 31 QnlrBcUVXDGPKBWCgOz.3GIZ38i1MH/1
1c2660 50 43 5a 31 45 62 33 58 47 37 4f 48 6e 67 65 76 5a 58 48 6c 6f 4d 38 61 70 77 6b 51 48 5a 4f 4a PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJ
1c2680 5a 6c 76 6f 50 47 49 79 74 62 55 36 62 75 6d 46 41 59 75 65 51 34 78 6e 63 79 68 5a 57 2b 76 6a ZlvoPGIytbU6bumFAYueQ4xncyhZW+vj
1c26a0 0a 33 43 7a 4d 70 53 5a 79 59 68 4b 30 35 70 79 44 52 50 5a 52 70 4f 4c 41 65 69 52 58 79 67 36 .3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6
1c26c0 6c 50 7a 71 31 4f 34 76 6c 64 75 35 77 35 70 4c 65 46 6c 77 6f 57 35 63 5a 4a 35 4c 2b 65 70 4a lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJ
1c26e0 55 7a 70 4d 35 43 68 61 48 76 47 4f 7a 0a 39 62 47 54 58 4f 42 75 74 39 44 71 2b 57 49 79 69 45 UzpM5ChaHvGOz.9bGTXOBut9Dq+WIyiE
1c2700 54 37 76 79 63 6f 74 6a 43 56 58 52 49 6f 75 5a 57 2b 6a 31 4d 59 35 61 49 59 46 75 4a 57 70 4c T7vycotjCVXRIouZW+j1MY5aIYFuJWpL
1c2720 49 73 45 50 55 64 4e 36 62 34 74 2f 62 51 57 56 79 4a 39 38 4c 56 74 5a 52 30 0a 30 64 58 2b 47 IsEPUdN6b4t/bQWVyJ98LVtZR0.0dX+G
1c2740 37 62 77 35 74 59 65 65 39 49 38 79 36 6a 6a 39 52 6a 7a 49 52 39 75 37 30 31 6f 42 6e 73 74 58 7bw5tYee9I8y6jj9RjzIR9u701oBnstX
1c2760 57 35 44 69 61 62 41 2b 61 43 2f 67 68 37 50 55 33 2b 30 36 79 7a 62 58 66 5a 71 66 55 41 6b 42 W5DiabA+aC/gh7PU3+06yzbXfZqfUAkB
1c2780 58 4b 4a 4f 41 47 54 0a 79 33 48 43 4f 56 30 47 45 66 5a 76 65 50 67 33 44 54 6d 45 4a 77 49 44 XKJOAGT.y3HCOV0GEfZvePg3DTmEJwID
1c27a0 41 51 41 42 6f 32 4d 77 59 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 AQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYw
1c27c0 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 64 42 67 4e 56 48 51 34 DwYDVR0TAQH/BAUwAwEB./zAdBgNVHQ4
1c27e0 45 46 67 51 55 61 6a 6e 36 51 69 4c 33 35 6f 6b 41 54 56 35 39 4d 34 50 4c 75 47 35 33 68 71 38 EFgQUajn6QiL35okATV59M4PLuG53hq8
1c2800 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 61 6a 6e 36 51 69 4c 33 35 6f 6b 41 54 56 35 wHwYDVR0jBBgwFoAUajn6QiL35okATV5
1c2820 39 0a 4d 34 50 4c 75 47 35 33 68 71 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4e 42 51 9.M4PLuG53hq8wDQYJKoZIhvcNAQENBQ
1c2840 41 44 67 67 49 42 41 4a 6a 4c 71 30 41 38 35 54 4d 43 6c 33 38 74 68 36 61 50 31 46 35 4b 72 37 ADggIBAJjLq0A85TMCl38th6aP1F5Kr7
1c2860 67 65 35 37 74 78 2b 34 42 6b 4a 61 6d 7a 0a 47 6a 35 6f 58 53 63 6d 70 37 6f 71 34 66 42 58 67 ge57tx+4BkJamz.Gj5oXScmp7oq4fBXg
1c2880 77 70 6b 54 78 34 69 64 42 76 70 6b 46 2f 77 72 4d 2f 2f 54 32 68 36 4f 4b 51 51 62 41 32 78 78 wpkTx4idBvpkF/wrM//T2h6OKQQbA2xx
1c28a0 36 52 33 67 42 69 32 6f 69 68 45 64 71 63 30 6e 58 47 45 4c 38 70 5a 30 6b 65 49 0a 6d 55 45 69 6R3gBi2oihEdqc0nXGEL8pZ0keI.mUEi
1c28c0 79 54 43 59 59 57 34 39 71 4b 67 46 62 64 45 66 77 46 46 45 56 6e 38 6e 4e 51 4c 64 58 70 67 4b yTCYYW49qKgFbdEfwFFEVn8nNQLdXpgK
1c28e0 51 75 73 77 76 34 32 68 6d 31 47 71 4f 2b 71 54 52 6d 54 46 41 48 6e 65 49 57 76 32 56 36 43 47 Quswv42hm1GqO+qTRmTFAHneIWv2V6CG
1c2900 31 77 5a 79 37 48 42 47 0a 53 34 74 7a 33 61 41 68 64 54 37 63 48 63 43 50 30 30 39 7a 48 49 58 1wZy7HBG.S4tz3aAhdT7cHcCP009zHIX
1c2920 5a 2f 6e 39 69 79 4a 56 76 74 74 4e 37 6a 4c 70 54 77 6d 2b 62 52 45 78 35 30 42 31 77 73 39 65 Z/n9iyJVvttN7jLpTwm+bREx50B1ws9e
1c2940 66 41 76 53 79 42 37 44 48 35 66 69 74 49 77 36 6d 56 73 6b 70 0a 45 6e 64 49 32 53 39 47 2f 54 fAvSyB7DH5fitIw6mVskp.EndI2S9G/T
1c2960 76 77 2f 48 52 77 6b 71 57 4f 4f 41 67 66 5a 44 43 32 74 30 76 37 4e 71 77 51 6a 71 42 53 4d 32 vw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2
1c2980 4f 64 41 7a 56 57 78 57 6d 39 78 69 4e 61 4a 35 54 32 70 42 4c 34 4c 54 4d 38 6f 56 61 6c 58 39 OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9
1c29a0 59 5a 0a 36 65 31 38 43 4c 31 33 7a 53 64 6b 7a 4a 54 61 54 6b 5a 51 68 2b 44 35 77 56 4f 41 48 YZ.6e18CL13zSdkzJTaTkZQh+D5wVOAH
1c29c0 72 75 74 2b 30 64 53 69 78 76 39 6f 76 6e 65 44 69 4b 33 50 54 4e 5a 62 4e 54 65 39 5a 55 47 4d rut+0dSixv9ovneDiK3PTNZbNTe9ZUGM
1c29e0 67 31 52 47 55 46 63 50 6b 38 47 39 37 6b 72 0a 67 43 66 32 6f 36 70 36 66 41 62 68 51 38 4d 54 g1RGUFcPk8G97kr.gCf2o6p6fAbhQ8MT
1c2a00 4f 57 49 61 4e 72 33 67 4b 43 36 55 41 75 51 70 4c 6d 42 56 72 6b 41 39 73 48 53 53 58 76 41 67 OWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAg
1c2a20 5a 4a 59 2f 58 30 56 64 69 4c 57 4b 32 67 4b 67 57 30 56 55 33 6a 67 39 43 63 43 6f 0a 53 6d 56 ZJY/X0VdiLWK2gKgW0VU3jg9CcCo.SmV
1c2a40 47 46 76 79 71 76 31 52 4f 54 56 75 2b 4f 45 4f 33 4b 4d 71 4c 4d 36 6f 61 4a 62 6f 6c 58 43 6b GFvyqv1ROTVu+OEO3KMqLM6oaJbolXCk
1c2a60 76 57 30 70 75 6a 4f 6f 74 6e 43 72 32 42 58 62 67 64 35 65 41 69 4e 31 6e 45 32 38 64 61 43 53 vW0pujOotnCr2BXbgd5eAiN1nE28daCS
1c2a80 4c 54 37 64 30 67 65 58 30 0a 59 4a 39 36 56 64 63 2b 4e 39 6f 57 61 7a 35 33 72 4b 34 59 63 4a LT7d0geX0.YJ96Vdc+N9oWaz53rK4YcJ
1c2aa0 55 49 65 53 6b 44 69 76 37 42 4f 37 4d 2f 47 67 2b 6b 4f 31 34 66 57 4b 47 56 79 61 73 76 63 30 UIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0
1c2ac0 72 51 4c 57 36 61 57 51 39 56 47 48 67 74 50 46 47 6d 6c 34 76 6d 0a 75 37 4a 77 71 6b 77 52 33 rQLW6aWQ9VGHgtPFGml4vm.u7JwqkwR3
1c2ae0 76 39 38 4b 7a 66 55 65 74 46 33 4e 49 2f 6e 2b 55 4c 33 50 49 45 4d 53 31 49 4b 0a 2d 2d 2d 2d v98KzfUetF3NI/n+UL3PIEMS1IK.----
1c2b00 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 70 65 6e 54 72 75 73 74 -END.CERTIFICATE-----..OpenTrust
1c2b20 20 52 6f 6f 74 20 43 41 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.CA.G3.====================
1c2b40 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1c2b60 43 49 54 43 43 41 61 61 67 41 77 49 42 41 67 49 53 45 53 44 6d 2b 45 7a 38 4a 4c 43 2b 42 55 43 CITCCAaagAwIBAgISESDm+Ez8JLC+BUC
1c2b80 73 32 6f 4d 62 4e 47 41 2f 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 4d 45 41 78 43 7a 41 s2oMbNGA/MAoGCCqGSM49BAMDMEAxCzA
1c2ba0 4a 42 67 4e 56 42 41 59 54 0a 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b 44 41 6c 50 63 47 JBgNVBAYT.AkZSMRIwEAYDVQQKDAlPcG
1c2bc0 56 75 56 48 4a 31 63 33 51 78 48 54 41 62 42 67 4e 56 42 41 4d 4d 46 45 39 77 5a 57 35 55 63 6e VuVHJ1c3QxHTAbBgNVBAMMFE9wZW5Ucn
1c2be0 56 7a 64 43 42 53 62 32 39 30 49 45 4e 42 49 45 63 7a 4d 42 34 58 0a 44 54 45 30 4d 44 55 79 4e VzdCBSb290IENBIEczMB4X.DTE0MDUyN
1c2c00 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4e 54 41 77 4d 44 41 77 4d 46 6f 77 51 jAwMDAwMFoXDTM4MDExNTAwMDAwMFowQ
1c2c20 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 4e 56 42 41 6f 4d 43 DELMAkGA1UEBhMCRlIxEjAQBgNVBAoMC
1c2c40 55 39 77 0a 5a 57 35 55 63 6e 56 7a 64 44 45 64 4d 42 73 47 41 31 55 45 41 77 77 55 54 33 42 6c U9w.ZW5UcnVzdDEdMBsGA1UEAwwUT3Bl
1c2c60 62 6c 52 79 64 58 4e 30 49 46 4a 76 62 33 51 67 51 30 45 67 52 7a 4d 77 64 6a 41 51 42 67 63 71 blRydXN0IFJvb3QgQ0EgRzMwdjAQBgcq
1c2c80 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 0a 49 67 4e 69 41 41 52 4b 37 6c 69 75 54 63 70 hkjOPQIBBgUrgQQA.IgNiAARK7liuTcp
1c2ca0 6d 33 67 59 36 6f 78 48 38 34 42 6a 77 62 68 79 36 4c 54 41 4d 69 64 6e 57 37 70 74 7a 67 36 6b m3gY6oxH84Bjwbhy6LTAMidnW7ptzg6k
1c2cc0 6a 46 59 77 76 57 59 70 61 33 52 54 71 6e 56 6b 72 51 37 63 47 37 44 4b 32 75 75 35 42 0a 74 61 jFYwvWYpa3RTqnVkrQ7cG7DK2uu5B.ta
1c2ce0 31 64 6f 59 58 4d 36 68 30 55 5a 71 4e 6e 66 6b 62 69 6c 50 50 6e 74 6c 61 68 46 56 6d 68 54 7a 1doYXM6h0UZqNnfkbilPPntlahFVmhTz
1c2d00 65 58 75 53 49 65 76 52 48 72 39 4c 49 66 58 73 4d 55 6d 75 58 5a 6c 35 6d 6a 59 7a 42 68 4d 41 eXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA
1c2d20 34 47 41 31 55 64 44 77 45 42 0a 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 4GA1UdDwEB./wQEAwIBBjAPBgNVHRMBA
1c2d40 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 48 64 38 4d 55 69 f8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi
1c2d60 32 49 35 44 4d 6c 76 34 56 42 4e 30 42 42 59 33 4a 57 49 62 54 41 66 0a 42 67 4e 56 48 53 4d 45 2I5DMlv4VBN0BBY3JWIbTAf.BgNVHSME
1c2d80 47 44 41 57 67 42 52 48 64 38 4d 55 69 32 49 35 44 4d 6c 76 34 56 42 4e 30 42 42 59 33 4a 57 49 GDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWI
1c2da0 62 54 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 70 41 44 42 6d 41 6a 45 41 6a 36 6a 63 bTAKBggqhkjOPQQDAwNpADBmAjEAj6jc
1c2dc0 6e 62 6f 4d 0a 42 42 66 36 46 65 6b 39 4c 79 6b 42 6c 37 2b 42 46 6a 4e 41 6b 32 7a 38 2b 65 32 nboM.BBf6Fek9LykBl7+BFjNAk2z8+e2
1c2de0 41 63 47 2b 71 6a 39 75 45 77 6f 76 31 4e 63 6f 47 33 47 52 76 61 42 62 68 6a 35 47 35 41 6a 45 AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjE
1c2e00 41 32 45 75 6c 79 38 4c 51 43 47 7a 70 47 50 74 61 0a 33 55 31 66 4a 41 75 77 41 43 45 6c 37 34 A2Euly8LQCGzpGPta.3U1fJAuwACEl74
1c2e20 2b 6e 42 43 5a 78 34 6e 78 70 35 56 32 61 2b 45 45 66 4f 7a 6d 54 6b 35 31 56 36 73 32 4e 38 66 +nBCZx4nxp5V2a+EEfOzmTk51V6s2N8f
1c2e40 76 42 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 53 vB.-----END.CERTIFICATE-----..IS
1c2e60 52 47 20 52 6f 6f 74 20 58 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 RG.Root.X1.============.-----BEG
1c2e80 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 7a 43 43 41 31 4f 67 IN.CERTIFICATE-----.MIIFazCCA1Og
1c2ea0 41 77 49 42 41 67 49 52 41 49 49 51 7a 37 44 53 51 4f 4e 5a 52 47 50 67 75 32 4f 43 69 77 41 77 AwIBAgIRAIIQz7DSQONZRGPgu2OCiwAw
1c2ec0 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 54 7a 45 4c 4d 41 6b 47 41 31 55 45 DQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
1c2ee0 0a 42 68 4d 43 56 56 4d 78 4b 54 41 6e 42 67 4e 56 42 41 6f 54 49 45 6c 75 64 47 56 79 62 6d 56 .BhMCVVMxKTAnBgNVBAoTIEludGVybmV
1c2f00 30 49 46 4e 6c 59 33 56 79 61 58 52 35 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 64 79 62 33 56 0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3V
1c2f20 77 4d 52 55 77 45 77 59 44 56 51 51 44 0a 45 77 78 4a 55 31 4a 48 49 46 4a 76 62 33 51 67 57 44 wMRUwEwYDVQQD.EwxJU1JHIFJvb3QgWD
1c2f40 45 77 48 68 63 4e 4d 54 55 77 4e 6a 41 30 4d 54 45 77 4e 44 4d 34 57 68 63 4e 4d 7a 55 77 4e 6a EwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNj
1c2f60 41 30 4d 54 45 77 4e 44 4d 34 57 6a 42 50 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 A0MTEwNDM4WjBPMQswCQYDVQQG.EwJVU
1c2f80 7a 45 70 4d 43 63 47 41 31 55 45 43 68 4d 67 53 57 35 30 5a 58 4a 75 5a 58 51 67 55 32 56 6a 64 zEpMCcGA1UEChMgSW50ZXJuZXQgU2Vjd
1c2fa0 58 4a 70 64 48 6b 67 55 6d 56 7a 5a 57 46 79 59 32 67 67 52 33 4a 76 64 58 41 78 46 54 41 54 42 XJpdHkgUmVzZWFyY2ggR3JvdXAxFTATB
1c2fc0 67 4e 56 42 41 4d 54 0a 44 45 6c 54 55 6b 63 67 55 6d 39 76 64 43 42 59 4d 54 43 43 41 69 49 77 gNVBAMT.DElTUkcgUm9vdCBYMTCCAiIw
1c2fe0 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 DQYJKoZIhvcNAQEBBQADggIPADCCAgoC
1c3000 67 67 49 42 41 4b 33 6f 4a 48 50 30 46 44 66 7a 6d 35 34 72 0a 56 79 67 63 68 37 37 63 74 39 38 ggIBAK3oJHP0FDfzm54r.Vygch77ct98
1c3020 34 6b 49 78 75 50 4f 5a 58 6f 48 6a 33 64 63 4b 69 2f 76 56 71 62 76 59 41 54 79 6a 62 33 6d 69 4kIxuPOZXoHj3dcKi/vVqbvYATyjb3mi
1c3040 47 62 45 53 54 74 72 46 6a 2f 52 51 53 61 37 38 66 30 75 6f 78 6d 79 46 2b 30 54 4d 38 75 6b 6a GbESTtrFj/RQSa78f0uoxmyF+0TM8ukj
1c3060 31 0a 33 58 6e 66 73 37 6a 2f 45 76 45 68 6d 6b 76 42 69 6f 5a 78 61 55 70 6d 5a 6d 79 50 66 6a 1.3Xnfs7j/EvEhmkvBioZxaUpmZmyPfj
1c3080 78 77 76 36 30 70 49 67 62 7a 35 4d 44 6d 67 4b 37 69 53 34 2b 33 6d 58 36 55 41 35 2f 54 52 35 xwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5
1c30a0 64 38 6d 55 67 6a 55 2b 67 34 72 6b 38 4b 0a 62 34 4d 75 30 55 6c 58 6a 49 42 30 74 74 6f 76 30 d8mUgjU+g4rk8K.b4Mu0UlXjIB0ttov0
1c30c0 44 69 4e 65 77 4e 77 49 52 74 31 38 6a 41 38 2b 6f 2b 75 33 64 70 6a 71 2b 73 57 54 38 4b 4f 45 DiNewNwIRt18jA8+o+u3dpjq+sWT8KOE
1c30e0 55 74 2b 7a 77 76 6f 2f 37 56 33 4c 76 53 79 65 30 72 67 54 42 49 6c 44 48 43 4e 0a 41 79 6d 67 Ut+zwvo/7V3LvSye0rgTBIlDHCN.Aymg
1c3100 34 56 4d 6b 37 42 50 5a 37 68 6d 2f 45 4c 4e 4b 6a 44 2b 4a 6f 32 46 52 33 71 79 48 42 35 54 30 4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0
1c3120 59 33 48 73 4c 75 4a 76 57 35 69 42 34 59 6c 63 4e 48 6c 73 64 75 38 37 6b 47 4a 35 35 74 75 6b Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tuk
1c3140 6d 69 38 6d 78 64 41 51 0a 34 51 37 65 32 52 43 4f 46 76 75 33 39 36 6a 33 78 2b 55 43 42 35 69 mi8mxdAQ.4Q7e2RCOFvu396j3x+UCB5i
1c3160 50 4e 67 69 56 35 2b 49 33 6c 67 30 32 64 5a 37 37 44 6e 4b 78 48 5a 75 38 41 2f 6c 4a 42 64 69 PNgiV5+I3lg02dZ77DnKxHZu8A/lJBdi
1c3180 42 33 51 57 30 4b 74 5a 42 36 61 77 42 64 70 55 4b 44 39 6a 66 0a 31 62 30 53 48 7a 55 76 4b 42 B3QW0KtZB6awBdpUKD9jf.1b0SHzUvKB
1c31a0 64 73 30 70 6a 42 71 41 6c 6b 64 32 35 48 4e 37 72 4f 72 46 6c 65 61 4a 31 2f 63 74 61 4a 78 51 ds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQ
1c31c0 5a 42 4b 54 35 5a 50 74 30 6d 39 53 54 4a 45 61 64 61 6f 30 78 41 48 30 61 68 6d 62 57 6e 4f 6c ZBKT5ZPt0m9STJEadao0xAH0ahmbWnOl
1c31e0 46 75 0a 68 6a 75 65 66 58 4b 6e 45 67 56 34 57 65 30 2b 55 58 67 56 43 77 4f 50 6a 64 41 76 42 Fu.hjuefXKnEgV4We0+UXgVCwOPjdAvB
1c3200 62 49 2b 65 30 6f 63 53 33 4d 46 45 76 7a 47 36 75 42 51 45 33 78 44 6b 33 53 7a 79 6e 54 6e 6a bI+e0ocS3MFEvzG6uBQE3xDk3SzynTnj
1c3220 68 38 42 43 4e 41 77 31 46 74 78 4e 72 51 48 0a 75 73 45 77 4d 46 78 49 74 34 49 37 6d 4b 5a 39 h8BCNAw1FtxNrQH.usEwMFxIt4I7mKZ9
1c3240 59 49 71 69 6f 79 6d 43 7a 4c 71 39 67 77 51 62 6f 6f 4d 44 51 61 48 57 42 66 45 62 77 72 62 77 YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
1c3260 71 48 79 47 4f 30 61 6f 53 43 71 49 33 48 61 61 64 72 38 66 61 71 55 39 47 59 2f 72 0a 4f 50 4e qHyGO0aoSCqI3Haadr8faqU9GY/r.OPN
1c3280 6b 33 73 67 72 44 51 6f 6f 2f 2f 66 62 34 68 56 43 31 43 4c 51 4a 31 33 68 65 66 34 59 35 33 43 k3sgrDQoo//fb4hVC1CLQJ13hef4Y53C
1c32a0 49 72 55 37 6d 32 59 73 36 78 74 30 6e 55 57 37 2f 76 47 54 31 4d 30 4e 50 41 67 4d 42 41 41 47 IrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAG
1c32c0 6a 51 6a 42 41 4d 41 34 47 0a 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 jQjBAMA4G.A1UdDwEB/wQEAwIBBjAPBg
1c32e0 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 NVHRMBAf8EBTADAQH/MB0GA1UdDgQWBB
1c3300 52 35 74 46 6e 6d 65 37 62 6c 35 41 46 7a 67 41 69 49 79 42 70 59 0a 39 75 6d 62 62 6a 41 4e 42 R5tFnme7bl5AFzgAiIyBpY.9umbbjANB
1c3320 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 56 52 39 59 71 62 79 79 71 gkqhkiG9w0BAQsFAAOCAgEAVR9Yqbyyq
1c3340 46 44 51 44 4c 48 59 47 6d 6b 67 4a 79 6b 49 72 47 46 31 58 49 70 75 2b 49 4c 6c 61 53 2f 56 39 FDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9
1c3360 6c 5a 4c 0a 75 62 68 7a 45 46 6e 54 49 5a 64 2b 35 30 78 78 2b 37 4c 53 59 4b 30 35 71 41 76 71 lZL.ubhzEFnTIZd+50xx+7LSYK05qAvq
1c3380 46 79 46 57 68 66 46 51 44 6c 6e 72 7a 75 42 5a 36 62 72 4a 46 65 2b 47 6e 59 2b 45 67 50 62 6b FyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk
1c33a0 36 5a 47 51 33 42 65 62 59 68 74 46 38 47 61 56 0a 30 6e 78 76 77 75 6f 37 37 78 2f 50 79 39 61 6ZGQ3BebYhtF8GaV.0nxvwuo77x/Py9a
1c33c0 75 4a 2f 47 70 73 4d 69 75 2f 58 31 2b 6d 76 6f 69 42 4f 76 2f 32 58 2f 71 6b 53 73 69 73 52 63 uJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRc
1c33e0 4f 6a 2f 4b 4b 4e 46 74 59 32 50 77 42 79 56 53 35 75 43 62 4d 69 6f 67 7a 69 55 77 74 0a 68 44 Oj/KKNFtY2PwByVS5uCbMiogziUwt.hD
1c3400 79 43 33 2b 36 57 56 77 57 36 4c 4c 76 33 78 4c 66 48 54 6a 75 43 76 6a 48 49 49 6e 4e 7a 6b 74 yC3+6WVwW6LLv3xLfHTjuCvjHIInNzkt
1c3420 48 43 67 4b 51 35 4f 52 41 7a 49 34 4a 4d 50 4a 2b 47 73 6c 57 59 48 62 34 70 68 6f 77 69 6d 35 HCgKQ5ORAzI4JMPJ+GslWYHb4phowim5
1c3440 37 69 61 7a 74 58 4f 6f 4a 77 0a 54 64 77 4a 78 34 6e 4c 43 67 64 4e 62 4f 68 64 6a 73 6e 76 7a 7iaztXOoJw.TdwJx4nLCgdNbOhdjsnvz
1c3460 71 76 48 75 37 55 72 54 6b 58 57 53 74 41 6d 7a 4f 56 79 79 67 68 71 70 5a 58 6a 46 61 48 33 70 qvHu7UrTkXWStAmzOVyyghqpZXjFaH3p
1c3480 4f 33 4a 4c 46 2b 6c 2b 2f 2b 73 4b 41 49 75 76 74 64 37 75 2b 4e 78 0a 65 35 41 57 30 77 64 65 O3JLF+l+/+sKAIuvtd7u+Nx.e5AW0wde
1c34a0 52 6c 4e 38 4e 77 64 43 6a 4e 50 45 6c 70 7a 56 6d 62 55 71 34 4a 55 61 67 45 69 75 54 44 6b 48 RlN8NwdCjNPElpzVmbUq4JUagEiuTDkH
1c34c0 7a 73 78 48 70 46 4b 56 4b 37 71 34 2b 36 33 53 4d 31 4e 39 35 52 31 4e 62 64 57 68 73 63 64 43 zsxHpFKVK7q4+63SM1N95R1NbdWhscdC
1c34e0 62 2b 5a 41 0a 4a 7a 56 63 6f 79 69 33 42 34 33 6e 6a 54 4f 51 35 79 4f 66 2b 31 43 63 65 57 78 b+ZA.JzVcoyi3B43njTOQ5yOf+1CceWx
1c3500 47 31 62 51 56 73 35 5a 75 66 70 73 4d 6c 6a 71 34 55 69 30 2f 31 6c 76 68 2b 77 6a 43 68 50 34 G1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4
1c3520 6b 71 4b 4f 4a 32 71 78 71 34 52 67 71 73 61 68 44 0a 59 56 76 54 48 39 77 37 6a 58 62 79 4c 65 kqKOJ2qxq4RgqsahD.YVvTH9w7jXbyLe
1c3540 69 4e 64 64 38 58 4d 32 77 39 55 2f 74 37 79 30 46 66 2f 39 79 69 30 47 45 34 34 5a 61 34 72 46 iNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF
1c3560 32 4c 4e 39 64 31 31 54 50 41 6d 52 47 75 6e 55 48 42 63 6e 57 45 76 67 4a 42 51 6c 39 6e 0a 4a 2LN9d11TPAmRGunUHBcnWEvgJBQl9n.J
1c3580 45 69 55 30 5a 73 6e 76 67 63 2f 75 62 68 50 67 58 52 52 34 58 71 33 37 5a 30 6a 34 72 37 67 31 EiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1
1c35a0 53 67 45 45 7a 77 78 41 35 37 64 65 6d 79 50 78 67 63 59 78 6e 2f 65 52 34 34 2f 4b 4a 34 45 42 SgEEzwxA57demyPxgcYxn/eR44/KJ4EB
1c35c0 73 2b 6c 56 44 52 33 76 65 79 4a 0a 6d 2b 6b 58 51 39 39 62 32 31 2f 2b 6a 68 35 58 6f 73 31 41 s+lVDR3veyJ.m+kXQ99b21/+jh5Xos1A
1c35e0 6e 58 35 69 49 74 72 65 47 43 63 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 nX5iItreGCc=.-----END.CERTIFICAT
1c3600 45 2d 2d 2d 2d 2d 0a 0a 41 43 20 52 41 49 5a 20 46 4e 4d 54 2d 52 43 4d 0a 3d 3d 3d 3d 3d 3d 3d E-----..AC.RAIZ.FNMT-RCM.=======
1c3620 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1c3640 2d 2d 2d 2d 2d 0a 4d 49 49 46 67 7a 43 43 41 32 75 67 41 77 49 42 41 67 49 50 58 5a 4f 4e 4d 47 -----.MIIFgzCCA2ugAwIBAgIPXZONMG
1c3660 63 32 79 41 59 64 47 73 64 55 68 47 6b 48 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 c2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCw
1c3680 55 41 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 0a 41 6b 56 54 4d 52 45 77 44 77 59 44 56 UAMDsxCzAJBgNVBAYT.AkVTMREwDwYDV
1c36a0 51 51 4b 44 41 68 47 54 6b 31 55 4c 56 4a 44 54 54 45 5a 4d 42 63 47 41 31 55 45 43 77 77 51 51 QQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQ
1c36c0 55 4d 67 55 6b 46 4a 57 69 42 47 54 6b 31 55 4c 56 4a 44 54 54 41 65 46 77 30 77 4f 44 45 77 0a UMgUkFJWiBGTk1ULVJDTTAeFw0wODEw.
1c36e0 4d 6a 6b 78 4e 54 55 35 4e 54 5a 61 46 77 30 7a 4d 44 41 78 4d 44 45 77 4d 44 41 77 4d 44 42 61 MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBa
1c3700 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 54 4d 52 45 77 44 77 59 44 56 51 51 4b MDsxCzAJBgNVBAYTAkVTMREwDwYDVQQK
1c3720 44 41 68 47 54 6b 31 55 4c 56 4a 44 0a 54 54 45 5a 4d 42 63 47 41 31 55 45 43 77 77 51 51 55 4d DAhGTk1ULVJD.TTEZMBcGA1UECwwQQUM
1c3740 67 55 6b 46 4a 57 69 42 47 54 6b 31 55 4c 56 4a 44 54 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a gUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZ
1c3760 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 0a 67 67 49 42 41 4c IhvcNAQEBBQADggIPADCCAgoC.ggIBAL
1c3780 70 78 67 48 70 4d 68 6d 35 2f 79 42 4e 74 77 4d 5a 39 48 41 43 58 6a 79 77 4d 49 37 73 51 6d 6b pxgHpMhm5/yBNtwMZ9HACXjywMI7sQmk
1c37a0 43 70 47 72 65 48 69 50 69 62 56 6d 72 37 35 6e 75 4f 69 35 4b 4f 70 79 56 64 57 52 48 62 4e 69 CpGreHiPibVmr75nuOi5KOpyVdWRHbNi
1c37c0 36 33 55 52 63 66 0a 71 51 67 66 42 42 63 6b 57 4b 6f 33 53 68 6a 66 35 54 6e 55 56 2f 33 58 77 63URcf.qQgfBBckWKo3Shjf5TnUV/3Xw
1c37e0 53 79 52 41 5a 48 69 49 74 51 44 77 46 6a 38 64 30 66 73 6a 7a 35 30 51 37 71 73 4e 49 31 4e 4f SyRAZHiItQDwFj8d0fsjz50Q7qsNI1NO
1c3800 48 5a 6e 6a 72 44 49 62 7a 41 7a 57 48 46 63 74 50 56 72 0a 62 74 51 42 55 4c 67 54 66 6d 78 4b HZnjrDIbzAzWHFctPVr.btQBULgTfmxK
1c3820 6f 30 6e 52 49 42 6e 75 76 4d 41 70 47 47 57 6e 33 76 37 76 33 51 71 51 49 65 63 61 5a 35 4a 43 o0nRIBnuvMApGGWn3v7v3QqQIecaZ5JC
1c3840 45 4a 68 66 54 7a 43 38 50 68 78 46 74 42 44 58 61 45 41 55 77 45 44 36 35 33 63 58 65 75 59 4c EJhfTzC8PhxFtBDXaEAUwED653cXeuYL
1c3860 0a 6a 32 56 62 50 4e 6d 61 55 74 75 31 76 5a 35 47 7a 7a 33 72 6b 51 55 43 77 4a 61 79 64 6b 78 .j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkx
1c3880 4e 45 4a 59 37 6b 76 71 63 66 77 2b 5a 33 37 34 6a 4e 55 55 65 41 6c 7a 2b 74 61 69 62 6d 53 58 NEJY7kvqcfw+Z374jNUUeAlz+taibmSX
1c38a0 61 58 76 4d 69 77 7a 6e 31 35 43 6f 75 0a 30 38 59 66 78 47 79 71 78 52 78 71 41 51 56 4b 4c 39 aXvMiwzn15Cou.08YfxGyqxRxqAQVKL9
1c38c0 4c 46 77 61 67 30 4a 6c 31 6d 70 64 49 43 49 66 6b 59 74 77 62 31 54 70 6c 76 71 4b 74 4d 55 65 LFwag0Jl1mpdICIfkYtwb1TplvqKtMUe
1c38e0 6a 50 55 42 6a 46 64 38 67 35 43 53 78 4a 6b 6a 4b 5a 71 4c 73 58 46 33 6d 77 0a 57 73 58 6d 6f jPUBjFd8g5CSxJkjKZqLsXF3mw.WsXmo
1c3900 38 52 5a 5a 55 63 31 67 31 36 70 36 44 55 4c 6d 62 76 6b 7a 53 44 47 6d 30 6f 47 4f 62 56 6f 2f 8RZZUc1g16p6DULmbvkzSDGm0oGObVo/
1c3920 43 4b 36 37 6c 57 4d 4b 30 37 71 38 37 48 6a 2f 4c 61 5a 6d 74 56 43 2b 6e 46 4e 43 4d 2b 48 48 CK67lWMK07q87Hj/LaZmtVC+nFNCM+HH
1c3940 6d 70 78 66 66 6e 54 0a 74 4f 6d 6c 63 59 46 37 77 6b 35 48 6c 71 58 32 64 6f 57 6a 4b 49 2f 70 mpxffnT.tOmlcYF7wk5HlqX2doWjKI/p
1c3960 67 47 36 42 55 36 56 74 58 37 68 49 2b 63 4c 35 4e 71 59 75 53 66 2b 34 6c 73 4b 4d 42 37 4f 62 gG6BU6VtX7hI+cL5NqYuSf+4lsKMB7Ob
1c3980 69 46 6a 38 36 78 73 63 33 69 31 77 34 70 65 53 4d 4b 47 4a 0a 34 37 78 56 71 43 66 57 53 2b 32 iFj86xsc3i1w4peSMKGJ.47xVqCfWS+2
1c39a0 51 72 59 76 36 59 79 56 5a 4c 61 67 31 33 63 71 58 4d 37 7a 6c 7a 63 65 64 30 65 7a 76 58 67 35 QrYv6YyVZLag13cqXM7zlzced0ezvXg5
1c39c0 4b 6b 41 59 6d 59 36 32 35 32 54 55 74 42 37 70 32 5a 53 79 73 56 34 39 39 39 41 65 55 31 34 45 KkAYmY6252TUtB7p2ZSysV4999AeU14E
1c39e0 43 0a 6c 6c 32 6a 42 30 6e 56 65 74 42 58 2b 52 76 6e 55 30 5a 31 71 72 42 35 51 73 74 6f 63 51 C.ll2jB0nVetBX+RvnU0Z1qrB5QstocQ
1c3a00 6a 70 59 4c 30 35 61 63 37 30 72 38 4e 57 51 4d 65 74 55 71 49 4a 35 47 2b 47 52 34 6f 66 36 79 jpYL05ac70r8NWQMetUqIJ5G+GR4of6y
1c3a20 67 6e 58 59 4d 67 72 77 54 4a 62 46 61 61 0a 69 30 62 31 41 67 4d 42 41 41 47 6a 67 59 4d 77 67 gnXYMgrwTJbFaa.i0b1AgMBAAGjgYMwg
1c3a40 59 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 YAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVH
1c3a60 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 46 50 64 39 Q8BAf8EBAMCAQYwHQYDVR0OBBYE.FPd9
1c3a80 78 66 33 45 36 4a 6f 62 64 32 53 6e 39 52 32 67 7a 4c 2b 48 59 4a 70 74 4d 44 34 47 41 31 55 64 xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1Ud
1c3aa0 49 41 51 33 4d 44 55 77 4d 77 59 45 56 52 30 67 41 44 41 72 4d 43 6b 47 43 43 73 47 41 51 55 46 IAQ3MDUwMwYEVR0gADArMCkGCCsGAQUF
1c3ac0 42 77 49 42 46 68 31 6f 0a 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 4e 6c 63 6e 51 75 5a 6d 35 BwIBFh1o.dHRwOi8vd3d3LmNlcnQuZm5
1c3ae0 74 64 43 35 6c 63 79 39 6b 63 47 4e 7a 4c 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQs
1c3b00 46 41 41 4f 43 41 67 45 41 42 35 42 4b 33 2f 4d 6a 54 76 44 44 0a 6e 46 46 6c 6d 35 77 69 6f 6f FAAOCAgEAB5BK3/MjTvDD.nFFlm5wioo
1c3b20 6f 4d 68 66 4e 7a 4b 57 74 4e 2f 67 48 69 71 51 78 6a 41 62 38 45 5a 36 57 64 6d 46 2f 39 41 52 oMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9AR
1c3b40 50 36 37 4a 70 69 36 59 62 2b 74 6d 4c 53 62 6b 79 55 2b 38 42 31 52 58 78 6c 44 50 69 79 4e 38 P67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8
1c3b60 2b 73 0a 44 38 2b 4e 62 2f 6b 5a 39 34 2f 73 48 76 4a 77 6e 76 44 4b 75 4f 2b 33 2f 33 59 33 64 +s.D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3d
1c3b80 6c 76 32 62 6f 6a 7a 72 32 49 79 49 70 4d 4e 4f 6d 71 4f 46 47 59 4d 4c 56 4e 30 56 32 55 65 31 lv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1
1c3ba0 62 4c 64 49 34 45 37 70 57 59 6a 4a 32 63 4a 0a 6a 2b 46 33 71 6b 50 4e 5a 56 45 49 37 56 46 59 bLdI4E7pWYjJ2cJ.j+F3qkPNZVEI7VFY
1c3bc0 2f 75 59 35 2b 63 74 48 68 4b 51 56 38 58 61 37 70 4f 36 6b 4f 38 52 66 37 37 49 7a 6c 68 45 59 /uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEY
1c3be0 74 38 6c 6c 76 68 6a 68 6f 36 54 63 2b 68 6a 35 30 37 77 54 6d 7a 6c 36 4e 4c 72 54 0a 51 66 76 t8llvhjho6Tc+hj507wTmzl6NLrT.Qfv
1c3c00 36 4d 6f 6f 71 74 79 75 47 43 32 6d 44 4f 4c 37 4e 69 69 34 4c 63 4b 32 4e 4a 70 4c 75 48 76 55 6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvU
1c3c20 42 4b 77 72 5a 31 70 65 62 62 75 43 6f 47 52 77 36 49 59 73 4d 48 6b 43 74 41 2b 66 64 5a 6e 37 BKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn7
1c3c40 31 75 53 41 4e 41 2b 69 57 0a 2b 59 4a 46 31 44 6e 67 6f 41 42 64 31 35 6a 6d 66 5a 35 6e 63 38 1uSANA+iW.+YJF1DngoABd15jmfZ5nc8
1c3c60 4f 61 4b 76 65 72 69 36 45 36 46 4f 38 30 76 46 49 4f 69 5a 69 61 42 45 43 45 48 58 35 46 61 5a OaKveri6E6FO80vFIOiZiaBECEHX5FaZ
1c3c80 4e 58 7a 75 76 4f 2b 46 42 38 54 78 78 75 42 45 4f 62 2b 64 59 37 0a 49 78 6a 70 36 6f 37 52 54 NXzuvO+FB8TxxuBEOb+dY7.Ixjp6o7RT
1c3ca0 55 61 4e 38 54 76 6b 61 73 71 36 2b 79 4f 33 6d 2f 71 5a 41 53 6c 61 57 46 6f 74 34 2f 6e 55 62 UaN8Tvkasq6+yO3m/qZASlaWFot4/nUb
1c3cc0 51 34 6d 72 63 46 75 4e 4c 77 79 2b 41 77 46 2b 6d 57 6a 32 7a 73 33 67 79 4c 70 31 74 78 79 4d Q4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM
1c3ce0 2f 31 64 0a 38 69 43 39 64 6a 77 6a 32 69 6a 33 2b 52 76 72 57 57 54 56 33 46 39 79 66 69 44 38 /1d.8iC9djwj2ij3+RvrWWTV3F9yfiD8
1c3d00 7a 59 6d 31 6b 47 64 4e 59 6e 6f 2f 54 71 30 64 77 7a 6e 2b 65 76 51 6f 46 74 39 42 39 6b 69 41 zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiA
1c3d20 42 64 63 50 55 58 6d 73 45 4b 76 55 37 41 4e 6d 0a 35 6d 71 77 75 6a 47 53 51 6b 42 71 76 6a 72 BdcPUXmsEKvU7ANm.5mqwujGSQkBqvjr
1c3d40 54 63 75 46 71 4e 31 57 38 72 42 32 56 74 32 6c 68 38 6b 4f 52 64 4f 61 67 30 77 6f 6b 52 71 45 TcuFqN1W8rB2Vt2lh8kORdOag0wokRqE
1c3d60 49 72 39 62 61 52 52 6d 57 31 46 4d 64 57 34 52 35 38 4d 44 33 52 2b 2b 4c 6a 38 55 47 0a 72 70 Ir9baRRmW1FMdW4R58MD3R++Lj8UG.rp
1c3d80 31 4d 59 70 33 2f 52 67 54 34 30 38 6d 32 45 43 56 41 64 66 34 57 71 73 6c 4b 59 49 59 76 75 75 1MYp3/RgT408m2ECVAdf4WqslKYIYvuu
1c3da0 38 77 64 2b 52 55 34 72 69 45 6d 56 69 41 71 68 4f 4c 55 54 70 50 53 50 61 4c 74 72 4d 3d 0a 2d 8wd+RU4riEmViAqhOLUTpPSPaLtrM=.-
1c3dc0 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e ----END.CERTIFICATE-----..Amazon
1c3de0 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d .Root.CA.1.================.----
1c3e00 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 51 54 43 43 -BEGIN.CERTIFICATE-----.MIIDQTCC
1c3e20 41 69 6d 67 41 77 49 42 41 67 49 54 42 6d 79 66 7a 35 6d 2f 6a 41 6f 35 34 76 42 34 69 6b 50 6d AimgAwIBAgITBmyfz5m/jAo54vB4ikPm
1c3e40 6c 6a 5a 62 79 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 41 35 4d 51 73 77 ljZbyjANBgkqhkiG9w0BAQsFADA5MQsw
1c3e60 43 51 59 44 0a 56 51 51 47 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 CQYD.VQQGEwJVUzEPMA0GA1UEChMGQW1
1c3e80 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 hem9uMRkwFwYDVQQDExBBbWF6b24gUm9
1c3ea0 76 64 43 42 44 51 53 41 78 4d 42 34 58 44 54 45 31 0a 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 vdCBDQSAxMB4XDTE1.MDUyNjAwMDAwMF
1c3ec0 6f 58 44 54 4d 34 4d 44 45 78 4e 7a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 oXDTM4MDExNzAwMDAwMFowOTELMAkGA1
1c3ee0 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 0a 62 UEBhMCVVMxDzANBgNVBAoTBkFtYXpv.b
1c3f00 6a 45 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 jEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ
1c3f20 30 45 67 4d 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 0EgMTCCASIwDQYJKoZIhvcNAQEBBQADg
1c3f40 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 42 41 4c 4a 34 67 48 48 4b 65 4e 58 6a 63 61 39 48 gEPADCCAQoC.ggEBALJ4gHHKeNXjca9H
1c3f60 67 46 42 30 66 57 37 59 31 34 68 32 39 4a 6c 6f 39 31 67 68 59 50 6c 30 68 41 45 76 72 41 49 74 gFB0fW7Y14h29Jlo91ghYPl0hAEvrAIt
1c3f80 68 74 4f 67 51 33 70 4f 73 71 54 51 4e 72 6f 42 76 6f 33 62 53 4d 67 48 0a 46 7a 5a 4d 39 4f 36 htOgQ3pOsqTQNroBvo3bSMgH.FzZM9O6
1c3fa0 49 49 38 63 2b 36 7a 66 31 74 52 6e 34 53 57 69 77 33 74 65 35 64 6a 67 64 59 5a 36 6b 2f 6f 49 II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI
1c3fc0 32 70 65 56 4b 56 75 52 46 34 66 6e 39 74 42 62 36 64 4e 71 63 6d 7a 55 35 4c 2f 71 77 49 46 41 2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFA
1c3fe0 47 62 48 72 51 0a 67 4c 4b 6d 2b 61 2f 73 52 78 6d 50 55 44 67 48 33 4b 4b 48 4f 56 6a 34 75 74 GbHrQ.gLKm+a/sRxmPUDgH3KKHOVj4ut
1c4000 57 70 2b 55 68 6e 4d 4a 62 75 6c 48 68 65 62 34 6d 6a 55 63 41 77 68 6d 61 68 52 57 61 36 56 4f Wp+UhnMJbulHheb4mjUcAwhmahRWa6VO
1c4020 75 6a 77 35 48 35 53 4e 7a 2f 30 65 67 77 4c 58 30 74 0a 64 48 41 31 31 34 67 6b 39 35 37 45 57 ujw5H5SNz/0egwLX0t.dHA114gk957EW
1c4040 57 36 37 63 34 63 58 38 6a 4a 47 4b 4c 68 44 2b 72 63 64 71 73 71 30 38 70 38 6b 44 69 31 4c 39 W67c4cX8jJGKLhD+rcdqsq08p8kDi1L9
1c4060 33 46 63 58 6d 6e 2f 36 70 55 43 79 7a 69 4b 72 6c 41 34 62 39 76 37 4c 57 49 62 78 63 63 65 0a 3FcXmn/6pUCyziKrlA4b9v7LWIbxcce.
1c4080 56 4f 46 33 34 47 66 49 44 35 79 48 49 39 59 2f 51 43 42 2f 49 49 44 45 67 45 77 2b 4f 79 51 6d VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
1c40a0 6a 67 53 75 62 4a 72 49 71 67 30 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0T
1c40c0 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d AQH/BAUwAwEB./zAOBgNVHQ8BAf8EBAM
1c40e0 43 41 59 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 51 59 7a 49 55 30 37 4c 77 4d 6c 4a 51 CAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQ
1c4100 75 43 46 6d 63 78 37 49 51 54 67 6f 49 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 43 77 uCFmcx7IQTgoIMA0GCSqGSIb3.DQEBCw
1c4120 55 41 41 34 49 42 41 51 43 59 38 6a 64 61 51 5a 43 68 47 73 56 32 55 53 67 67 4e 69 4d 4f 72 75 UAA4IBAQCY8jdaQZChGsV2USggNiMOru
1c4140 59 6f 75 36 72 34 6c 4b 35 49 70 44 42 2f 47 2f 77 6b 6a 55 75 30 79 4b 47 58 39 72 62 78 65 6e You6r4lK5IpDB/G/wkjUu0yKGX9rbxen
1c4160 44 49 55 35 50 4d 0a 43 43 6a 6a 6d 43 58 50 49 36 54 35 33 69 48 54 66 49 55 4a 72 55 36 61 64 DIU5PM.CCjjmCXPI6T53iHTfIUJrU6ad
1c4180 54 72 43 43 32 71 4a 65 48 5a 45 52 78 68 6c 62 49 31 42 6a 6a 74 2f 6d 73 76 30 74 61 64 51 31 TrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1
1c41a0 77 55 73 4e 2b 67 44 53 36 33 70 59 61 41 43 62 76 58 79 0a 38 4d 57 79 37 56 75 33 33 50 71 55 wUsN+gDS63pYaACbvXy.8MWy7Vu33PqU
1c41c0 58 48 65 65 45 36 56 2f 55 71 32 56 38 76 69 54 4f 39 36 4c 58 46 76 4b 57 6c 4a 62 59 4b 38 55 XHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U
1c41e0 39 30 76 76 6f 2f 75 66 51 4a 56 74 4d 56 54 38 51 74 50 48 52 68 38 6a 72 64 6b 50 53 48 43 61 90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
1c4200 0a 32 58 56 34 63 64 46 79 51 7a 52 31 62 6c 64 5a 77 67 4a 63 4a 6d 41 70 7a 79 4d 5a 46 6f 36 .2XV4cdFyQzR1bldZwgJcJmApzyMZFo6
1c4220 49 51 36 58 55 35 4d 73 49 2b 79 4d 52 51 2b 68 44 4b 58 4a 69 6f 61 6c 64 58 67 6a 55 6b 4b 36 IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK6
1c4240 34 32 4d 34 55 77 74 42 56 38 6f 62 32 0a 78 4a 4e 44 64 32 5a 68 77 4c 6e 6f 51 64 65 58 65 47 42M4UwtBV8ob2.xJNDd2ZhwLnoQdeXeG
1c4260 41 44 62 6b 70 79 72 71 58 52 66 62 6f 51 6e 6f 5a 73 47 34 71 35 57 54 50 34 36 38 53 51 76 76 ADbkpyrqXRfboQnoZsG4q5WTP468SQvv
1c4280 47 35 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d G5.-----END.CERTIFICATE-----..Am
1c42a0 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a azon.Root.CA.2.================.
1c42c0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1c42e0 51 54 43 43 41 79 6d 67 41 77 49 42 41 67 49 54 42 6d 79 66 30 70 59 31 68 70 38 4b 44 2b 57 47 QTCCAymgAwIBAgITBmyf0pY1hp8KD+WG
1c4300 65 50 68 62 4a 72 75 4b 4e 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 41 35 ePhbJruKNzANBgkqhkiG9w0BAQwFADA5
1c4320 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d MQswCQYD.VQQGEwJVUzEPMA0GA1UEChM
1c4340 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 GQW1hem9uMRkwFwYDVQQDExBBbWF6b24
1c4360 67 55 6d 39 76 64 43 42 44 51 53 41 79 4d 42 34 58 44 54 45 31 0a 4d 44 55 79 4e 6a 41 77 4d 44 gUm9vdCBDQSAyMB4XDTE1.MDUyNjAwMD
1c4380 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 AwMFoXDTQwMDUyNjAwMDAwMFowOTELMA
1c43a0 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 kGA1UEBhMCVVMxDzANBgNVBAoTBkFtYX
1c43c0 70 76 0a 62 6a 45 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 pv.bjEZMBcGA1UEAxMQQW1hem9uIFJvb
1c43e0 33 51 67 51 30 45 67 4d 6a 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBB
1c4400 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 0a 67 67 49 42 41 4b 32 57 6e 79 32 63 53 6b 78 4b QADggIPADCCAgoC.ggIBAK2Wny2cSkxK
1c4420 67 58 6c 52 6d 65 79 4b 79 32 74 67 55 52 4f 38 54 57 30 47 2f 4c 41 49 6a 64 30 5a 45 47 72 48 gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrH
1c4440 4a 67 77 31 32 4d 42 76 49 49 54 70 6c 4c 47 62 68 51 50 44 57 39 74 4b 36 4d 6a 34 0a 6b 48 62 Jgw12MBvIITplLGbhQPDW9tK6Mj4.kHb
1c4460 5a 57 30 2f 6a 54 4f 67 47 4e 6b 33 4d 6d 71 77 39 44 4a 41 72 6b 74 51 47 47 57 43 73 4e 30 52 ZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R
1c4480 35 68 59 47 43 72 56 6f 33 34 41 33 4d 6e 61 5a 4d 55 6e 62 71 51 35 32 33 42 4e 46 51 39 6c 58 5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lX
1c44a0 67 31 64 4b 6d 53 59 58 70 0a 4e 2b 6e 4b 66 71 35 63 6c 55 31 49 6d 6a 2b 75 49 46 70 74 69 4a g1dKmSYXp.N+nKfq5clU1Imj+uIFptiJ
1c44c0 58 5a 4e 4c 68 53 47 6b 4f 51 73 4c 39 73 42 62 6d 32 65 4c 66 71 30 4f 51 36 50 42 4a 54 59 76 XZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv
1c44e0 39 4b 38 6e 75 2b 4e 51 57 70 45 6a 54 6a 38 32 52 30 59 69 77 39 0a 41 45 6c 61 4b 50 34 79 52 9K8nu+NQWpEjTj82R0Yiw9.AElaKP4yR
1c4500 4c 75 48 33 57 55 6e 41 6e 45 37 32 6b 72 33 48 39 72 4e 39 79 46 56 6b 45 38 50 37 4b 36 43 34 LuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4
1c4520 5a 39 72 32 55 58 54 75 2f 42 66 68 2b 30 38 4c 44 6d 47 32 6a 2f 65 37 48 4a 56 36 33 6d 6a 72 Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjr
1c4540 64 76 64 0a 66 4c 43 36 48 4d 37 38 33 6b 38 31 64 73 38 50 2b 48 67 66 61 6a 5a 52 52 69 64 68 dvd.fLC6HM783k81ds8P+HgfajZRRidh
1c4560 57 2b 6d 65 7a 2f 43 69 56 58 31 38 4a 59 70 76 4c 37 54 46 7a 34 51 75 4b 2f 30 4e 55 52 42 73 W+mez/CiVX18JYpvL7TFz4QuK/0NURBs
1c4580 2b 31 38 62 76 42 74 2b 78 61 34 37 6d 41 45 78 0a 6b 76 38 4c 56 2f 53 61 73 72 6c 58 36 61 76 +18bvBt+xa47mAEx.kv8LV/SasrlX6av
1c45a0 76 44 58 62 52 38 4f 37 30 7a 6f 61 6e 34 47 37 70 74 47 6d 68 33 32 6e 32 4d 38 5a 70 4c 70 63 vDXbR8O70zoan4G7ptGmh32n2M8ZpLpc
1c45c0 54 6e 71 57 48 73 46 63 51 67 54 66 4a 55 37 4f 37 66 2f 61 53 30 5a 7a 51 47 50 53 53 0a 62 74 TnqWHsFcQgTfJU7O7f/aS0ZzQGPSS.bt
1c45e0 71 44 54 36 5a 6a 6d 55 79 6c 2b 31 37 76 49 57 52 36 49 46 39 73 5a 49 55 56 79 7a 66 70 59 67 qDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYg
1c4600 77 4c 4b 68 62 63 41 53 34 79 32 6a 35 4c 39 5a 34 36 39 68 64 41 6c 4f 2b 65 6b 51 69 47 2b 72 wLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r
1c4620 35 6a 71 46 6f 7a 37 4d 74 30 0a 51 35 58 35 62 47 6c 53 4e 73 63 70 62 2f 78 56 41 31 77 66 2b 5jqFoz7Mt0.Q5X5bGlSNscpb/xVA1wf+
1c4640 35 2b 39 52 2b 76 6e 53 55 65 56 43 30 36 4a 49 67 6c 4a 34 50 56 68 48 76 47 2f 4c 6f 70 79 62 5+9R+vnSUeVC06JIglJ4PVhHvG/Lopyb
1c4660 6f 42 5a 2f 31 63 36 2b 58 55 79 6f 30 35 66 37 4f 30 6f 59 74 6c 4e 0a 63 2f 4c 4d 67 52 64 67 oBZ/1c6+XUyo05f7O0oYtlN.c/LMgRdg
1c4680 37 63 33 72 33 4e 75 6e 79 73 56 2b 41 72 33 79 56 41 68 55 2f 62 51 74 43 53 77 58 56 45 71 59 7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY
1c46a0 30 56 54 68 55 57 63 49 30 75 31 75 66 6d 38 2f 30 69 32 42 57 53 6c 6d 79 35 41 35 6c 52 45 65 0VThUWcI0u1ufm8/0i2BWSlmy5A5lREe
1c46c0 64 43 66 2b 0a 33 65 75 76 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 dCf+.3euvAgMBAAGjQjBAMA8GA1UdEwE
1c46e0 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 B/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgG
1c4700 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 77 0a 44 50 42 4d 4d 50 51 46 57 41 4a 49 2f 54 GMB0GA1UdDgQWBBSw.DPBMMPQFWAJI/T
1c4720 50 6c 55 71 39 4c 68 4f 4e 6d 55 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 41 PlUq9LhONmUjANBgkqhkiG9w0BAQwFAA
1c4740 4f 43 41 67 45 41 71 71 69 41 6a 77 35 34 6f 2b 43 69 31 4d 33 6d 39 5a 68 36 4f 2b 6f 41 0a 41 OCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA.A
1c4760 37 43 58 44 70 4f 38 57 71 6a 32 4c 49 78 79 68 36 6d 78 2f 48 39 7a 2f 57 4e 78 65 4b 57 48 57 7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHW
1c4780 63 38 77 34 51 30 51 73 68 4e 61 62 59 4c 31 61 75 61 41 6e 36 41 46 43 32 6a 6b 52 32 76 48 61 c8w4Q0QshNabYL1auaAn6AFC2jkR2vHa
1c47a0 74 2b 32 2f 58 63 79 63 75 55 59 0a 2b 67 6e 30 6f 4a 4d 73 58 64 4b 4d 64 59 56 32 5a 5a 41 4d t+2/XcycuUY.+gn0oJMsXdKMdYV2ZZAM
1c47c0 41 33 6d 33 4d 53 4e 6a 72 58 69 44 43 59 5a 6f 68 4d 72 2f 2b 63 38 6d 6d 70 4a 35 35 38 31 4c A3m3MSNjrXiDCYZohMr/+c8mmpJ5581L
1c47e0 78 65 64 68 70 78 66 4c 38 36 6b 53 6b 35 4e 72 70 2b 67 76 55 35 4c 45 0a 59 46 69 77 7a 41 4a xedhpxfL86kSk5Nrp+gvU5LE.YFiwzAJ
1c4800 52 47 46 75 46 6a 57 4a 5a 59 37 61 74 74 4e 36 61 2b 79 62 33 41 43 66 41 58 56 55 33 64 4a 6e RGFuFjWJZY7attN6a+yb3ACfAXVU3dJn
1c4820 4a 55 48 2f 6a 57 53 35 45 34 79 77 6c 37 75 78 4d 4d 6e 65 30 6e 78 72 70 53 31 30 67 78 64 72 JUH/jWS5E4ywl7uxMMne0nxrpS10gxdr
1c4840 39 48 49 63 57 0a 78 6b 50 6f 31 4c 73 6d 6d 6b 56 77 58 71 6b 4c 4e 31 50 69 52 6e 73 6e 2f 65 9HIcW.xkPo1LsmmkVwXqkLN1PiRnsn/e
1c4860 42 47 38 6f 6d 33 7a 45 4b 32 79 79 67 6d 62 74 6d 6c 79 54 72 49 51 52 4e 67 39 31 43 4d 46 61 BG8om3zEK2yygmbtmlyTrIQRNg91CMFa
1c4880 36 79 62 52 6f 56 47 6c 64 34 35 70 49 71 32 57 57 51 0a 67 6a 39 73 41 71 2b 75 45 6a 6f 6e 6c 6ybRoVGld45pIq2WWQ.gj9sAq+uEjonl
1c48a0 6a 59 45 31 78 32 69 67 47 4f 70 6d 2f 48 6c 75 72 52 38 46 4c 42 4f 79 62 45 66 64 46 38 34 39 jYE1x2igGOpm/HlurR8FLBOybEfdF849
1c48c0 6c 48 71 6d 2f 6f 73 6f 68 48 55 71 53 30 6e 47 6b 57 78 72 37 4a 4f 63 51 33 41 57 45 62 57 0a lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW.
1c48e0 61 51 62 4c 55 38 75 7a 2f 6d 74 42 7a 55 46 2b 66 55 77 50 66 48 4a 35 65 6c 6e 4e 58 6b 6f 4f aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoO
1c4900 72 4a 75 70 6d 48 4e 35 66 4c 54 30 7a 4c 6d 34 42 77 79 79 64 46 79 34 78 32 2b 49 6f 5a 43 6e rJupmHN5fLT0zLm4BwyydFy4x2+IoZCn
1c4920 39 4b 72 35 76 32 63 36 39 42 6f 56 0a 59 68 36 33 6e 37 34 39 73 53 6d 76 5a 36 45 53 38 6c 67 9Kr5v2c69BoV.Yh63n749sSmvZ6ES8lg
1c4940 51 47 56 4d 44 4d 42 75 34 47 6f 6e 32 6e 4c 32 58 41 34 36 6a 43 66 4d 64 69 79 48 78 74 4e 2f QGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/
1c4960 6b 48 4e 47 66 5a 51 49 47 36 6c 7a 57 45 37 4f 45 37 36 4b 6c 58 49 78 33 0a 4b 61 64 6f 77 47 kHNGfZQIG6lzWE7OE76KlXIx3.KadowG
1c4980 75 75 51 4e 4b 6f 74 4f 72 4e 38 49 31 4c 4f 4a 77 5a 6d 68 73 6f 56 4c 69 4a 6b 4f 2f 4b 64 59 uuQNKotOrN8I1LOJwZmhsoVLiJkO/KdY
1c49a0 45 2b 48 76 4a 6b 4a 4d 63 59 72 30 37 2f 52 35 34 48 39 6a 56 6c 70 4e 4d 4b 56 76 2f 31 46 32 E+HvJkJMcYr07/R54H9jVlpNMKVv/1F2
1c49c0 52 73 37 36 67 69 0a 4a 55 6d 54 74 74 38 41 46 39 70 59 66 6c 33 75 78 52 75 77 30 64 46 66 49 Rs76gi.JUmTtt8AF9pYfl3uxRuw0dFfI
1c49e0 52 44 48 2b 66 4f 36 41 67 6f 6e 42 38 58 78 31 73 66 54 34 50 73 4a 59 47 77 3d 0a 2d 2d 2d 2d RDH+fO6AgonB8Xx1sfT4PsJYGw=.----
1c4a00 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f -END.CERTIFICATE-----..Amazon.Ro
1c4a20 6f 74 20 43 41 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ot.CA.3.================.-----BE
1c4a40 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 74 6a 43 43 41 56 75 GIN.CERTIFICATE-----.MIIBtjCCAVu
1c4a60 67 41 77 49 42 41 67 49 54 42 6d 79 66 31 58 53 58 4e 6d 59 2f 4f 77 75 61 32 65 69 65 64 67 50 gAwIBAgITBmyf1XSXNmY/Owua2eiedgP
1c4a80 79 53 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 41 35 4d 51 73 77 43 51 59 44 56 51 51 ySjAKBggqhkjOPQQDAjA5MQswCQYDVQQ
1c4aa0 47 0a 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 G.EwJVUzEPMA0GA1UEChMGQW1hem9uMR
1c4ac0 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 kwFwYDVQQDExBBbWF6b24gUm9vdCBDQS
1c4ae0 41 7a 4d 42 34 58 44 54 45 31 4d 44 55 79 0a 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d AzMB4XDTE1MDUy.NjAwMDAwMFoXDTQwM
1c4b00 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 DUyNjAwMDAwMFowOTELMAkGA1UEBhMCV
1c4b20 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 62 6a 45 5a 0a 4d 42 63 47 VMxDzANBgNVBAoTBkFtYXpvbjEZ.MBcG
1c4b40 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4d 7a 42 5a A1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZ
1c4b60 4d 42 4d 47 42 79 71 47 53 4d 34 39 41 67 45 47 43 43 71 47 53 4d 34 39 41 77 45 48 41 30 49 41 MBMGByqGSM49AgEGCCqGSM49AwEHA0IA
1c4b80 42 43 6d 58 70 38 5a 42 0a 66 38 41 4e 6d 2b 67 42 47 31 62 47 38 6c 4b 6c 75 69 32 79 45 75 6a BCmXp8ZB.f8ANm+gBG1bG8lKlui2yEuj
1c4ba0 53 4c 74 66 36 79 63 58 59 71 6d 30 66 63 34 45 37 4f 35 68 72 4f 58 77 7a 70 63 56 4f 68 6f 36 SLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6
1c4bc0 41 46 32 68 69 52 56 64 39 52 46 67 64 73 7a 66 6c 5a 77 6a 72 0a 5a 74 36 6a 51 6a 42 41 4d 41 AF2hiRVd9RFgdszflZwjr.Zt6jQjBAMA
1c4be0 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQ
1c4c00 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 72 74 74 76 58 42 70 H/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp
1c4c20 34 33 0a 72 44 43 47 42 35 46 77 78 35 7a 45 47 62 46 34 77 44 41 4b 42 67 67 71 68 6b 6a 4f 50 43.rDCGB5Fwx5zEGbF4wDAKBggqhkjOP
1c4c40 51 51 44 41 67 4e 4a 41 44 42 47 41 69 45 41 34 49 57 53 6f 78 65 33 6a 66 6b 72 42 71 57 54 72 QQDAgNJADBGAiEA4IWSoxe3jfkrBqWTr
1c4c60 42 71 59 61 47 46 79 2b 75 47 68 30 50 73 63 0a 65 47 43 6d 51 35 6e 46 75 4d 51 43 49 51 43 63 BqYaGFy+uGh0Psc.eGCmQ5nFuMQCIQCc
1c4c80 41 75 2f 78 6c 4a 79 7a 6c 76 6e 72 78 69 72 34 74 69 7a 2b 4f 70 41 55 46 74 65 4d 59 79 52 49 Au/xlJyzlvnrxir4tiz+OpAUFteMYyRI
1c4ca0 48 4e 38 77 66 64 56 6f 4f 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 HN8wfdVoOw==.-----END.CERTIFICAT
1c4cc0 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 34 0a 3d 3d 3d 3d 3d 3d 3d E-----..Amazon.Root.CA.4.=======
1c4ce0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1c4d00 2d 2d 2d 2d 2d 0a 4d 49 49 42 38 6a 43 43 41 58 69 67 41 77 49 42 41 67 49 54 42 6d 79 66 31 38 -----.MIIB8jCCAXigAwIBAgITBmyf18
1c4d20 47 37 45 45 77 70 51 2b 56 78 65 33 73 73 79 42 72 42 44 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQ
1c4d40 51 44 41 7a 41 35 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 QDAzA5MQswCQYDVQQG.EwJVUzEPMA0GA
1c4d60 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 1UEChMGQW1hem9uMRkwFwYDVQQDExBBb
1c4d80 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 30 4d 42 34 58 44 54 45 31 4d 44 55 79 0a WF6b24gUm9vdCBDQSA0MB4XDTE1MDUy.
1c4da0 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFow
1c4dc0 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 OTELMAkGA1UEBhMCVVMxDzANBgNVBAoT
1c4de0 42 6b 46 74 59 58 70 76 62 6a 45 5a 0a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 BkFtYXpvbjEZ.MBcGA1UEAxMQQW1hem9
1c4e00 75 49 46 4a 76 62 33 51 67 51 30 45 67 4e 44 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgE
1c4e20 47 42 53 75 42 42 41 41 69 41 32 49 41 42 4e 4b 72 69 6a 64 50 6f 31 4d 4e 0a 2f 73 47 4b 65 30 GBSuBBAAiA2IABNKrijdPo1MN./sGKe0
1c4e40 75 6f 65 30 5a 4c 59 37 42 69 39 69 30 62 32 77 68 78 49 64 49 41 36 47 4f 39 6d 69 66 37 38 44 uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78D
1c4e60 6c 75 58 65 6f 39 70 63 6d 42 71 71 4e 62 49 4a 68 46 58 52 62 62 2f 65 67 51 62 65 4f 63 34 4f luXeo9pcmBqqNbIJhFXRbb/egQbeOc4O
1c4e80 4f 39 58 34 52 69 0a 38 33 42 6b 4d 36 44 4c 4a 43 39 77 75 6f 69 68 4b 71 42 31 2b 49 47 75 59 O9X4Ri.83BkM6DLJC9wuoihKqB1+IGuY
1c4ea0 67 62 45 67 64 73 35 62 69 6d 77 48 76 6f 75 58 4b 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 gbEgds5bimwHvouXKNCMEAwDwYDVR0TA
1c4ec0 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 41 4d 43 QH/BAUwAwEB/zAOBgNV.HQ8BAf8EBAMC
1c4ee0 41 59 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 50 73 78 7a 70 6c 62 73 7a 68 32 6e 61 61 AYYwHQYDVR0OBBYEFNPsxzplbszh2naa
1c4f00 56 76 75 63 38 34 5a 74 56 2b 57 42 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 67 41 Vvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
1c4f20 0a 4d 47 55 43 4d 44 71 4c 49 66 47 39 66 68 47 74 30 4f 39 59 6c 69 2f 57 36 35 31 2b 6b 49 30 .MGUCMDqLIfG9fhGt0O9Yli/W651+kI0
1c4f40 72 7a 32 5a 56 77 79 7a 6a 4b 4b 6c 77 43 6b 63 4f 38 44 64 5a 45 76 38 74 6d 5a 51 6f 54 69 70 rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTip
1c4f60 50 4e 55 30 7a 57 67 49 78 41 4f 70 31 0a 41 45 34 37 78 44 71 55 45 70 48 4a 57 45 61 64 49 52 PNU0zWgIxAOp1.AE47xDqUEpHJWEadIR
1c4f80 4e 79 70 34 69 63 69 75 52 4d 53 74 75 57 31 4b 79 4c 61 32 74 4a 45 6c 4d 7a 72 64 66 6b 76 69 Nyp4iciuRMStuW1KyLa2tJElMzrdfkvi
1c4fa0 54 38 74 51 70 32 31 4b 57 38 45 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 T8tQp21KW8EA==.-----END.CERTIFIC
1c4fc0 41 54 45 2d 2d 2d 2d 2d 0a 0a 4c 75 78 54 72 75 73 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 32 ATE-----..LuxTrust.Global.Root.2
1c4fe0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 .======================.-----BEG
1c5000 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 77 7a 43 43 41 36 75 67 IN.CERTIFICATE-----.MIIFwzCCA6ug
1c5020 41 77 49 42 41 67 49 55 43 6e 36 6d 33 30 74 45 6e 74 70 71 4a 49 57 65 35 72 67 56 30 78 5a 2f AwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/
1c5040 75 37 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 52 6a 45 4c 4d 41 6b 47 u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
1c5060 0a 41 31 55 45 42 68 4d 43 54 46 55 78 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 78 31 65 46 52 .A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFR
1c5080 79 64 58 4e 30 49 46 4d 75 51 53 34 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6b 78 31 65 46 52 ydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFR
1c50a0 79 64 58 4e 30 49 45 64 73 62 32 4a 68 0a 62 43 42 53 62 32 39 30 49 44 49 77 48 68 63 4e 4d 54 ydXN0IEdsb2Jh.bCBSb290IDIwHhcNMT
1c50c0 55 77 4d 7a 41 31 4d 54 4d 79 4d 54 55 33 57 68 63 4e 4d 7a 55 77 4d 7a 41 31 4d 54 4d 79 4d 54 UwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMT
1c50e0 55 33 57 6a 42 47 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4d 56 54 45 57 0a 4d 42 51 47 41 U3WjBGMQswCQYDVQQGEwJMVTEW.MBQGA
1c5100 31 55 45 43 67 77 4e 54 48 56 34 56 48 4a 31 63 33 51 67 55 79 35 42 4c 6a 45 66 4d 42 30 47 41 1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA
1c5120 31 55 45 41 77 77 57 54 48 56 34 56 48 4a 31 63 33 51 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb
1c5140 33 51 67 4d 6a 43 43 0a 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 3QgMjCC.AiIwDQYJKoZIhvcNAQEBBQAD
1c5160 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4e 65 46 6c 37 38 52 6d 4f 6e 77 59 6f 4e 4d ggIPADCCAgoCggIBANeFl78RmOnwYoNM
1c5180 50 49 66 35 55 32 6f 33 43 2f 49 50 50 49 66 4f 62 39 77 6d 0a 4b 62 33 46 69 62 72 4a 67 7a 33 PIf5U2o3C/IPPIfOb9wm.Kb3FibrJgz3
1c51a0 33 37 73 70 62 78 6d 31 4a 63 37 54 4a 52 71 4d 62 4e 42 4d 2f 77 59 6c 46 56 2f 54 5a 73 66 73 37spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs
1c51c0 32 5a 55 76 37 43 4f 4a 49 63 52 48 49 62 6a 75 65 6e 64 2b 4a 5a 54 65 6d 68 66 59 37 52 42 69 2ZUv7COJIcRHIbjuend+JZTemhfY7RBi
1c51e0 32 0a 78 6a 63 77 59 6b 53 53 6c 32 6c 39 51 6a 41 6b 35 41 30 4d 69 57 74 6a 33 73 58 68 33 30 2.xjcwYkSSl2l9QjAk5A0MiWtj3sXh30
1c5200 36 70 46 47 78 54 34 47 48 4f 39 68 63 76 48 54 79 39 35 69 4a 4d 48 5a 50 31 45 4d 53 68 64 75 6pFGxT4GHO9hcvHTy95iJMHZP1EMShdu
1c5220 78 71 33 73 56 73 33 35 61 30 56 6b 42 43 0a 77 47 4b 53 4d 4b 45 74 46 5a 53 67 30 69 41 47 43 xq3sVs35a0VkBC.wGKSMKEtFZSg0iAGC
1c5240 57 35 71 62 65 58 72 74 37 37 55 38 50 45 56 66 49 76 6d 54 72 6f 54 7a 45 73 6e 58 70 6b 38 46 W5qbeXrt77U8PEVfIvmTroTzEsnXpk8F
1c5260 31 32 50 67 58 38 7a 50 55 2f 54 50 78 76 73 58 44 2f 77 50 45 78 31 62 76 4b 6d 0a 31 5a 33 61 12PgX8zPU/TPxvsXD/wPEx1bvKm.1Z3a
1c5280 4c 51 64 6a 41 73 5a 79 36 5a 53 38 54 45 6d 56 54 34 68 53 79 4e 76 6f 61 59 4c 34 7a 44 52 62 LQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRb
1c52a0 49 76 43 47 70 34 6d 39 53 41 70 74 5a 6f 46 74 79 4d 68 6b 2b 77 48 68 39 4f 48 65 32 5a 37 64 IvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d
1c52c0 32 31 76 55 4b 70 6b 6d 0a 46 52 73 65 54 4a 49 70 67 70 37 56 6b 6f 47 53 51 58 41 5a 39 36 54 21vUKpkm.FRseTJIpgp7VkoGSQXAZ96T
1c52e0 6c 6b 30 75 38 64 32 63 78 33 52 7a 39 4d 58 41 4e 46 35 6b 4d 2b 51 77 35 47 53 6f 58 74 54 42 lk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTB
1c5300 78 56 64 55 50 72 6c 6a 68 50 53 38 30 6d 38 2b 66 39 6e 69 46 0a 77 70 4e 36 63 6a 35 6d 6a 35 xVdUPrljhPS80m8+f9niF.wpN6cj5mj5
1c5320 77 57 45 57 43 50 6e 6f 6c 76 5a 37 37 67 52 31 6f 37 44 4a 70 6e 69 38 39 47 78 71 34 34 6f 2f wWEWCPnolvZ77gR1o7DJpni89Gxq44o/
1c5340 4b 6e 76 4f 62 57 68 57 73 7a 4a 48 41 69 53 38 73 49 6d 37 76 49 2b 41 49 70 48 62 34 67 44 45 KnvObWhWszJHAiS8sIm7vI+AIpHb4gDE
1c5360 61 2f 0a 61 34 65 62 73 79 70 6d 51 6a 56 47 62 4b 71 36 72 66 6d 59 65 2b 6c 51 56 52 51 78 76 a/.a4ebsypmQjVGbKq6rfmYe+lQVRQxv
1c5380 37 48 61 4c 65 32 41 72 57 67 6b 2b 32 6d 72 32 48 45 54 4d 4f 5a 6e 73 34 64 41 2f 59 6c 2b 38 7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8
1c53a0 6b 50 52 45 64 38 76 5a 53 39 6b 7a 6c 38 55 0a 75 62 47 2f 4d 62 32 48 65 46 70 5a 5a 59 69 71 kPREd8vZS9kzl8U.ubG/Mb2HeFpZZYiq
1c53c0 2f 46 6b 79 53 49 62 57 54 4c 6b 70 53 35 58 54 64 76 4e 33 4a 57 31 43 48 44 69 44 54 66 32 6a /FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j
1c53e0 58 35 74 2f 4c 61 78 35 47 77 35 43 4d 5a 64 6a 70 50 75 4b 61 64 55 69 44 54 53 51 0a 4d 43 36 X5t/Lax5Gw5CMZdjpPuKadUiDTSQ.MC6
1c5400 6f 74 4f 42 74 74 70 53 73 76 49 74 4f 31 33 44 38 78 54 69 4f 5a 43 58 68 54 54 6d 51 7a 73 6d otOBttpSsvItO13D8xTiOZCXhTTmQzsm
1c5420 48 68 46 68 78 41 67 4d 42 41 41 47 6a 67 61 67 77 67 61 55 77 44 77 59 44 56 52 30 54 41 51 48 HhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH
1c5440 2f 42 41 55 77 41 77 45 42 0a 2f 7a 42 43 42 67 4e 56 48 53 41 45 4f 7a 41 35 4d 44 63 47 42 79 /BAUwAwEB./zBCBgNVHSAEOzA5MDcGBy
1c5460 75 42 4b 77 45 42 41 51 6f 77 4c 44 41 71 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 65 61 48 uBKwEBAQowLDAqBggrBgEFBQcCARYeaH
1c5480 52 30 63 48 4d 36 4c 79 39 79 5a 58 42 76 63 32 6c 30 62 33 4a 35 0a 4c 6d 78 31 65 48 52 79 64 R0cHM6Ly9yZXBvc2l0b3J5.Lmx1eHRyd
1c54a0 58 4e 30 4c 6d 78 31 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 66 42 XN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfB
1c54c0 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 2f 47 43 68 32 2b 55 67 46 4c 4b 47 75 38 53 73 62 4b gNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK
1c54e0 37 4a 54 0a 2b 45 74 38 73 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 2f 78 67 6f 64 76 6c 49 7JT.+Et8szAdBgNVHQ4EFgQU/xgodvlI
1c5500 42 53 79 68 72 76 45 72 47 79 75 79 55 2f 68 4c 66 4c 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e BSyhrvErGyuyU/hLfLMwDQYJKoZIhvcN
1c5520 41 51 45 4c 42 51 41 44 67 67 49 42 41 47 6f 5a 0a 46 4f 31 75 65 63 45 73 68 39 51 4e 63 48 37 AQELBQADggIBAGoZ.FO1uecEsh9QNcH7
1c5540 58 39 6e 6a 4a 43 77 52 4f 78 4c 48 4f 6b 33 44 2b 73 46 54 41 4d 73 32 5a 4d 47 51 58 76 77 2f X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/
1c5560 6c 34 6a 50 39 42 7a 5a 41 63 67 34 61 74 6d 70 5a 31 67 44 6c 61 43 44 64 4c 6e 49 4e 0a 48 32 l4jP9BzZAcg4atmpZ1gDlaCDdLnIN.H2
1c5580 70 6b 4d 53 43 45 66 55 6d 6d 57 6a 66 72 52 63 6d 46 39 64 54 48 46 35 6b 48 35 70 74 56 35 41 pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5A
1c55a0 7a 6f 71 62 54 4f 6a 46 75 31 45 56 7a 50 69 67 34 4e 31 71 78 33 67 66 34 79 6e 43 53 65 63 73 zoqbTOjFu1EVzPig4N1qx3gf4ynCSecs
1c55c0 35 55 38 39 42 76 6f 6c 62 57 0a 37 4d 4d 33 4c 47 56 59 76 6c 63 41 47 76 49 31 2b 75 74 37 4d 5U89BvolbW.7MM3LGVYvlcAGvI1+ut7M
1c55e0 56 33 43 77 52 49 39 6c 6f 47 49 6c 6f 6e 42 57 56 78 36 35 6e 39 77 4e 4f 65 44 34 72 48 68 34 V3CwRI9loGIlonBWVx65n9wNOeD4rHh4
1c5600 62 68 59 37 39 53 56 35 47 43 63 38 4a 61 58 63 6f 7a 72 68 41 49 75 0a 5a 59 2b 6b 74 39 4a 2f bhY79SV5GCc8JaXcozrhAIu.ZY+kt9J/
1c5620 5a 39 33 49 30 35 35 63 71 71 6d 6b 6f 43 55 55 42 70 76 73 54 33 34 74 43 33 38 64 64 66 45 7a Z93I055cqqmkoCUUBpvsT34tC38ddfEz
1c5640 32 4f 33 4f 75 48 56 74 50 6c 75 35 6d 42 30 78 44 56 62 59 51 77 38 77 6b 62 49 45 61 39 31 57 2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91W
1c5660 76 70 57 41 0a 56 57 65 2b 32 4d 32 44 32 52 6a 75 4c 67 2b 47 4c 5a 4b 65 63 42 50 73 33 6c 48 vpWA.VWe+2M2D2RjuLg+GLZKecBPs3lH
1c5680 4a 51 33 67 43 70 55 33 49 2b 56 2f 45 6b 56 68 47 46 6e 64 61 64 4b 70 41 76 41 65 66 4d 4c 6d JQ3gCpU3I+V/EkVhGFndadKpAvAefMLm
1c56a0 78 39 78 49 58 33 65 50 2f 4a 45 41 64 65 6d 72 52 0a 54 78 67 4b 71 70 41 64 36 30 41 65 33 36 x9xIX3eP/JEAdemrR.TxgKqpAd60Ae36
1c56c0 45 65 52 4a 49 51 6d 76 4b 4e 34 64 46 4c 52 70 37 6f 52 55 4b 58 36 6b 57 5a 38 2b 78 6d 31 51 EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1Q
1c56e0 4c 36 38 71 5a 4b 4a 4b 72 65 7a 72 6e 4b 2b 54 2b 54 62 2f 6d 6a 75 75 71 6c 50 70 6d 74 0a 2f L68qZKJKrezrnK+T+Tb/mjuuqlPpmt./
1c5700 66 39 37 6d 66 56 6c 37 76 42 5a 4b 47 66 58 6b 4a 57 6b 45 34 53 70 68 4d 48 6f 7a 73 35 31 6b f97mfVl7vBZKGfXkJWkE4SphMHozs51k
1c5720 32 4d 61 76 44 7a 71 31 57 51 66 4c 53 6f 53 4f 63 62 44 57 6a 4c 74 52 35 45 57 44 72 77 34 77 2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4w
1c5740 56 44 65 6a 38 6f 71 6b 44 51 63 0a 37 6b 47 55 6e 46 34 5a 4c 76 68 46 53 5a 6c 30 6b 62 41 45 VDej8oqkDQc.7kGUnF4ZLvhFSZl0kbAE
1c5760 62 2b 4d 45 57 72 47 72 4b 71 76 2b 78 39 43 57 74 74 72 68 53 6d 51 47 62 6d 42 4e 76 55 4a 4f b+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO
1c5780 2f 33 6a 61 4a 4d 6f 62 74 4e 65 57 4f 57 79 75 38 51 36 71 70 33 31 49 0a 69 79 42 4d 7a 32 54 /3jaJMobtNeWOWyu8Q6qp31I.iyBMz2T
1c57a0 57 75 4a 64 47 73 45 37 52 4b 6c 59 36 6f 4a 4f 39 72 34 41 6b 34 41 70 2b 35 38 72 56 79 75 69 WuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyui
1c57c0 46 56 64 77 32 4b 75 47 55 61 4a 50 48 5a 6e 4a 45 44 34 41 68 4d 6d 77 6c 78 79 4f 41 67 77 72 FVdw2KuGUaJPHZnJED4AhMmwlxyOAgwr
1c57e0 72 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 55 42 r.-----END.CERTIFICATE-----..TUB
1c5800 49 54 41 4b 20 4b 61 6d 75 20 53 4d 20 53 53 4c 20 4b 6f 6b 20 53 65 72 74 69 66 69 6b 61 73 69 ITAK.Kamu.SM.SSL.Kok.Sertifikasi
1c5820 20 2d 20 53 75 72 75 6d 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .-.Surum.1.=====================
1c5840 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 ========================.-----BE
1c5860 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 59 7a 43 43 41 30 75 GIN.CERTIFICATE-----.MIIEYzCCA0u
1c5880 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 gAwIBAgIBATANBgkqhkiG9w0BAQsFADC
1c58a0 42 30 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 49 78 47 44 41 57 42 67 4e 56 42 41 63 B0jELMAkGA1UEBhMCVFIxGDAWBgNVBAc
1c58c0 54 0a 44 30 64 6c 59 6e 70 6c 49 43 30 67 53 32 39 6a 59 57 56 73 61 54 46 43 4d 45 41 47 41 31 T.D0dlYnplIC0gS29jYWVsaTFCMEAGA1
1c58e0 55 45 43 68 4d 35 56 48 56 79 61 32 6c 35 5a 53 42 43 61 57 78 70 62 58 4e 6c 62 43 42 32 5a 53 UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZS
1c5900 42 55 5a 57 74 75 62 32 78 76 61 6d 6c 72 0a 49 45 46 79 59 58 4e 30 61 58 4a 74 59 53 42 4c 64 BUZWtub2xvamlr.IEFyYXN0aXJtYSBLd
1c5920 58 4a 31 62 58 55 67 4c 53 42 55 56 55 4a 4a 56 45 46 4c 4d 53 30 77 4b 77 59 44 56 51 51 4c 45 XJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLE
1c5940 79 52 4c 59 57 31 31 49 46 4e 6c 63 6e 52 70 5a 6d 6c 72 59 58 4e 35 62 32 34 67 0a 54 57 56 79 yRLYW11IFNlcnRpZmlrYXN5b24g.TWVy
1c5960 61 32 56 36 61 53 41 74 49 45 74 68 62 58 55 67 55 30 30 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 a2V6aSAtIEthbXUgU00xNjA0BgNVBAMT
1c5980 4c 56 52 56 51 6b 6c 55 51 55 73 67 53 32 46 74 64 53 42 54 54 53 42 54 55 30 77 67 53 32 39 72 LVRVQklUQUsgS2FtdSBTTSBTU0wgS29r
1c59a0 49 46 4e 6c 63 6e 52 70 0a 5a 6d 6c 72 59 58 4e 70 49 43 30 67 55 33 56 79 64 57 30 67 4d 54 41 IFNlcnRp.ZmlrYXNpIC0gU3VydW0gMTA
1c59c0 65 46 77 30 78 4d 7a 45 78 4d 6a 55 77 4f 44 49 31 4e 54 56 61 46 77 30 30 4d 7a 45 77 4d 6a 55 eFw0xMzExMjUwODI1NTVaFw00MzEwMjU
1c59e0 77 4f 44 49 31 4e 54 56 61 4d 49 48 53 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 55 55 6a wODI1NTVaMIHSMQswCQYD.VQQGEwJUUj
1c5a00 45 59 4d 42 59 47 41 31 55 45 42 78 4d 50 52 32 56 69 65 6d 55 67 4c 53 42 4c 62 32 4e 68 5a 57 EYMBYGA1UEBxMPR2ViemUgLSBLb2NhZW
1c5a20 78 70 4d 55 49 77 51 41 59 44 56 51 51 4b 45 7a 6c 55 64 58 4a 72 61 58 6c 6c 49 45 4a 70 62 47 xpMUIwQAYDVQQKEzlUdXJraXllIEJpbG
1c5a40 6c 74 0a 63 32 56 73 49 48 5a 6c 49 46 52 6c 61 32 35 76 62 47 39 71 61 57 73 67 51 58 4a 68 63 lt.c2VsIHZlIFRla25vbG9qaWsgQXJhc
1c5a60 33 52 70 63 6d 31 68 49 45 74 31 63 6e 56 74 64 53 41 74 49 46 52 56 51 6b 6c 55 51 55 73 78 4c 3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxL
1c5a80 54 41 72 42 67 4e 56 42 41 73 54 4a 45 74 68 0a 62 58 55 67 55 32 56 79 64 47 6c 6d 61 57 74 68 TArBgNVBAsTJEth.bXUgU2VydGlmaWth
1c5aa0 63 33 6c 76 62 69 42 4e 5a 58 4a 72 5a 58 70 70 49 43 30 67 53 32 46 74 64 53 42 54 54 54 45 32 c3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2
1c5ac0 4d 44 51 47 41 31 55 45 41 78 4d 74 56 46 56 43 53 56 52 42 53 79 42 4c 59 57 31 31 0a 49 46 4e MDQGA1UEAxMtVFVCSVRBSyBLYW11.IFN
1c5ae0 4e 49 46 4e 54 54 43 42 4c 62 32 73 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 32 6b 67 4c 53 42 NIFNTTCBLb2sgU2VydGlmaWthc2kgLSB
1c5b00 54 64 58 4a 31 62 53 41 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 TdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQE
1c5b20 46 41 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 72 33 55 77 4d 36 71 37 61 39 FAAOCAQ8A.MIIBCgKCAQEAr3UwM6q7a9
1c5b40 4f 5a 4c 42 49 33 68 4e 6d 4e 65 35 65 41 30 32 37 6e 2f 35 74 51 6c 54 36 51 6c 56 5a 43 31 78 OZLBI3hNmNe5eA027n/5tQlT6QlVZC1x
1c5b60 6c 38 4a 6f 53 4e 6b 76 6f 42 48 54 6f 50 34 6d 51 34 74 34 79 38 0a 36 49 6a 35 69 79 53 72 4c l8JoSNkvoBHToP4mQ4t4y8.6Ij5iySrL
1c5b80 71 50 31 4e 2b 52 41 6a 68 67 6c 65 59 4e 31 48 7a 76 2f 62 4b 6a 46 78 6c 62 34 74 4f 32 4b 52 qP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KR
1c5ba0 4b 4f 72 62 45 7a 38 48 64 44 63 37 32 69 39 7a 2b 53 71 7a 76 42 56 39 36 49 30 31 49 4e 72 4e KOrbEz8HdDc72i9z+SqzvBV96I01INrN
1c5bc0 33 77 63 0a 77 76 36 31 41 2b 78 58 7a 72 79 30 74 63 58 74 41 41 39 54 4e 79 70 4e 39 45 38 4d 3wc.wv61A+xXzry0tcXtAA9TNypN9E8M
1c5be0 67 2f 75 47 7a 38 76 2b 6a 45 36 39 68 2f 6d 6e 69 79 46 58 6e 48 72 66 41 32 65 4a 4c 4a 32 58 g/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X
1c5c00 59 61 63 51 75 46 57 51 66 77 34 74 4a 7a 68 30 0a 33 2b 66 39 32 6b 34 53 34 30 30 56 49 67 4c YacQuFWQfw4tJzh0.3+f92k4S400VIgL
1c5c20 49 34 4f 44 38 44 36 32 4b 31 38 6c 55 55 4d 77 37 44 38 6f 57 67 49 54 51 55 56 62 44 6a 6c 5a I4OD8D62K18lUUMw7D8oWgITQUVbDjlZ
1c5c40 2f 69 53 49 7a 4c 2b 61 46 43 72 32 6c 71 42 73 32 33 74 50 63 4c 47 30 37 78 78 4f 39 0a 57 53 /iSIzL+aFCr2lqBs23tPcLG07xxO9.WS
1c5c60 4d 73 35 75 57 6b 39 39 67 4c 37 65 71 51 51 45 53 6f 6c 62 75 54 31 64 43 41 4e 4c 5a 47 65 41 Ms5uWk99gL7eqQQESolbuT1dCANLZGeA
1c5c80 34 66 41 4a 4e 47 34 65 37 70 2b 65 78 50 46 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4fAJNG4e7p+exPFwIDAQABo0IwQDAdBg
1c5ca0 4e 56 48 51 34 45 46 67 51 55 0a 5a 54 2f 48 69 6f 62 47 50 4e 30 38 56 46 77 31 2b 44 72 74 55 NVHQ4EFgQU.ZT/HiobGPN08VFw1+DrtU
1c5cc0 67 78 48 56 38 67 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 gxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA
1c5ce0 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 1UdEwEB/wQFMAMBAf8wDQYJ.KoZIhvcN
1c5d00 41 51 45 4c 42 51 41 44 67 67 45 42 41 43 6f 2f 34 66 45 79 6a 71 37 68 6d 46 78 4c 58 73 39 72 AQELBQADggEBACo/4fEyjq7hmFxLXs9r
1c5d20 48 6d 6f 4a 30 69 4b 70 45 73 64 65 56 33 31 7a 56 6d 53 41 68 48 71 54 35 41 6d 35 45 4d 32 66 HmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2f
1c5d40 4b 69 66 68 0a 41 48 65 2b 53 4d 67 31 71 49 47 66 35 4c 67 73 79 58 38 4f 73 4e 4a 4c 4e 31 33 Kifh.AHe+SMg1qIGf5LgsyX8OsNJLN13
1c5d60 71 75 64 55 4c 58 6a 53 39 39 48 4d 70 77 2b 30 6d 46 5a 78 2b 43 46 4f 4b 57 49 33 51 53 79 6a qudULXjS99HMpw+0mFZx+CFOKWI3QSyj
1c5d80 66 77 62 50 66 49 50 50 35 34 2b 4d 36 33 38 79 63 0a 6c 4e 68 4f 54 38 4e 72 46 37 66 33 63 75 fwbPfIPP54+M638yc.lNhOT8NrF7f3cu
1c5da0 69 74 5a 6a 4f 31 4a 56 4f 72 34 50 68 4d 71 5a 33 39 38 67 32 36 72 72 6e 5a 71 73 5a 72 2b 5a itZjO1JVOr4PhMqZ398g26rrnZqsZr+Z
1c5dc0 4f 37 72 71 75 34 6c 7a 77 44 47 72 70 44 78 70 61 35 52 58 49 34 73 36 65 68 6c 6a 32 52 0a 65 O7rqu4lzwDGrpDxpa5RXI4s6ehlj2R.e
1c5de0 33 37 41 49 56 4e 4d 68 2b 33 79 43 31 53 56 55 5a 50 56 49 71 55 4e 69 76 47 54 44 6a 35 55 44 37AIVNMh+3yC1SVUZPVIqUNivGTDj5UD
1c5e00 72 44 59 79 55 37 63 38 6a 45 79 56 75 70 6b 2b 65 71 31 6e 52 5a 6d 51 6e 4c 7a 66 39 4f 78 4d rDYyU7c8jEyVupk+eq1nRZmQnLzf9OxM
1c5e20 55 50 38 70 49 34 58 38 57 30 6a 0a 71 35 52 6d 2b 4b 33 37 44 77 68 75 4a 69 31 2f 46 77 63 4a UP8pI4X8W0j.q5Rm+K37DwhuJi1/FwcJ
1c5e40 73 6f 7a 37 55 4d 43 66 6c 6f 33 50 74 76 30 41 6e 56 6f 55 6d 72 38 43 52 50 58 42 77 70 38 69 soz7UMCflo3Ptv0AnVoUmr8CRPXBwp8i
1c5e60 58 71 49 50 6f 65 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d XqIPoeM=.-----END.CERTIFICATE---
1c5e80 2d 2d 0a 0a 47 44 43 41 20 54 72 75 73 74 41 55 54 48 20 52 35 20 52 4f 4f 54 0a 3d 3d 3d 3d 3d --..GDCA.TrustAUTH.R5.ROOT.=====
1c5ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1c5ec0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 69 44 43 43 41 33 43 67 41 77 49 42 41 67 TIFICATE-----.MIIFiDCCA3CgAwIBAg
1c5ee0 49 49 66 51 6d 58 2f 76 42 48 36 6e 6f 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 IIfQmX/vBH6nowDQYJKoZIhvcNAQELBQ
1c5f00 41 77 59 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 34 78 4d 6a 41 77 0a 42 67 4e 56 42 AwYjELMAkGA1UEBhMCQ04xMjAw.BgNVB
1c5f20 41 6f 4d 4b 55 64 56 51 55 35 48 49 45 52 50 54 6b 63 67 51 30 56 53 56 45 6c 47 53 55 4e 42 56 AoMKUdVQU5HIERPTkcgQ0VSVElGSUNBV
1c5f40 45 55 67 51 56 56 55 53 45 39 53 53 56 52 5a 49 45 4e 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 48 EUgQVVUSE9SSVRZIENPLixMVEQuMR8wH
1c5f60 51 59 44 56 51 51 44 0a 44 42 5a 48 52 45 4e 42 49 46 52 79 64 58 4e 30 51 56 56 55 53 43 42 53 QYDVQQD.DBZHRENBIFRydXN0QVVUSCBS
1c5f80 4e 53 42 53 54 30 39 55 4d 42 34 58 44 54 45 30 4d 54 45 79 4e 6a 41 31 4d 54 4d 78 4e 56 6f 58 NSBST09UMB4XDTE0MTEyNjA1MTMxNVoX
1c5fa0 44 54 51 77 4d 54 49 7a 4d 54 45 31 4e 54 6b 31 4f 56 6f 77 0a 59 6a 45 4c 4d 41 6b 47 41 31 55 DTQwMTIzMTE1NTk1OVow.YjELMAkGA1U
1c5fc0 45 42 68 4d 43 51 30 34 78 4d 6a 41 77 42 67 4e 56 42 41 6f 4d 4b 55 64 56 51 55 35 48 49 45 52 EBhMCQ04xMjAwBgNVBAoMKUdVQU5HIER
1c5fe0 50 54 6b 63 67 51 30 56 53 56 45 6c 47 53 55 4e 42 56 45 55 67 51 56 56 55 53 45 39 53 53 56 52 PTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVR
1c6000 5a 0a 49 45 4e 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 48 52 45 Z.IENPLixMVEQuMR8wHQYDVQQDDBZHRE
1c6020 4e 42 49 46 52 79 64 58 4e 30 51 56 56 55 53 43 42 53 4e 53 42 53 54 30 39 55 4d 49 49 43 49 6a NBIFRydXN0QVVUSCBSNSBST09UMIICIj
1c6040 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 ANBgkqhkiG9w0B.AQEFAAOCAg8AMIICC
1c6060 67 4b 43 41 67 45 41 32 61 4d 57 38 4d 68 30 64 48 65 62 37 7a 4d 4e 4f 77 5a 2b 56 66 79 31 59 gKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1Y
1c6080 49 39 32 68 68 4a 43 66 56 5a 6d 50 6f 69 43 37 58 4a 6a 44 70 36 4c 33 54 51 73 0a 41 6c 46 52 I92hhJCfVZmPoiC7XJjDp6L3TQs.AlFR
1c60a0 77 78 6e 39 57 56 53 45 79 66 46 72 73 30 79 77 36 65 68 47 58 54 6a 47 6f 71 63 75 45 56 65 36 wxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6
1c60c0 67 68 57 69 6e 49 39 74 73 4a 6c 4b 43 76 4c 72 69 58 42 6a 54 6e 6e 45 74 31 75 39 6f 6c 32 78 ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x
1c60e0 38 6b 45 43 4b 36 32 70 0a 4f 71 50 73 65 51 72 73 58 7a 72 6a 2f 65 2b 41 50 4b 30 30 6d 78 71 8kECK62p.OqPseQrsXzrj/e+APK00mxq
1c6100 72 69 43 5a 37 56 71 4b 43 68 68 2f 72 4e 59 6d 44 66 31 2b 75 4b 55 34 39 74 6d 37 73 72 73 48 riCZ7VqKChh/rNYmDf1+uKU49tm7srsH
1c6120 77 4a 35 75 75 34 2f 54 73 37 36 35 2f 39 34 59 39 63 6e 72 72 0a 70 66 74 5a 54 71 66 72 6c 59 wJ5uu4/Ts765/94Y9cnrr.pftZTqfrlY
1c6140 77 69 4f 58 6e 68 4c 51 69 50 7a 4c 79 52 75 45 48 33 46 4d 45 6a 71 63 4f 74 6d 6b 56 45 73 37 wiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7
1c6160 4c 58 4c 4d 33 47 4b 65 4a 51 45 4b 35 63 79 34 4b 4f 46 78 67 32 66 5a 66 6d 69 4a 71 77 54 54 LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTT
1c6180 51 4a 0a 39 43 79 35 57 6d 59 71 73 42 65 62 6e 68 35 32 6e 55 70 6d 4d 55 48 66 50 2f 76 46 42 QJ.9Cy5WmYqsBebnh52nUpmMUHfP/vFB
1c61a0 75 38 62 74 6e 34 61 52 6a 62 33 5a 47 4d 37 34 7a 6b 59 49 2b 64 6e 64 52 54 56 64 56 65 53 4e u8btn4aRjb3ZGM74zkYI+dndRTVdVeSN
1c61c0 37 32 2b 61 68 73 6d 55 50 49 32 4a 67 61 51 0a 78 58 41 42 5a 47 31 32 5a 75 47 52 32 32 34 48 72+ahsmUPI2JgaQ.xXABZG12ZuGR224H
1c61e0 77 47 47 41 4c 72 49 75 4c 34 78 77 70 39 45 37 50 4c 4f 52 35 47 36 32 78 44 74 77 38 6d 79 53 wGGALrIuL4xwp9E7PLOR5G62xDtw8myS
1c6200 6c 77 6e 4e 52 33 30 59 77 50 4f 37 6e 67 2f 57 69 36 34 48 74 6c 6f 50 7a 67 73 4d 0a 52 36 66 lwnNR30YwPO7ng/Wi64HtloPzgsM.R6f
1c6220 6c 50 72 69 39 66 63 65 62 4e 61 42 68 6c 7a 70 42 64 52 66 4d 4b 35 5a 33 4b 70 49 68 48 74 6d lPri9fcebNaBhlzpBdRfMK5Z3KpIhHtm
1c6240 56 64 69 42 6e 61 4d 38 4e 76 64 2f 57 48 77 6c 71 6d 75 4c 4d 63 33 47 6b 4c 33 30 53 67 4c 64 VdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLd
1c6260 54 4d 45 5a 65 53 31 53 5a 0a 44 32 66 4a 70 63 6a 79 49 4d 47 43 37 4a 30 52 33 38 49 43 2b 78 TMEZeS1SZ.D2fJpcjyIMGC7J0R38IC+x
1c6280 6f 37 30 65 30 67 6d 75 39 6c 5a 4a 49 51 44 53 72 69 33 6e 44 78 47 47 65 43 6a 47 48 65 75 4c o70e0gmu9lZJIQDSri3nDxGGeCjGHeuL
1c62a0 7a 52 4c 35 7a 37 44 39 41 72 37 52 74 32 75 65 51 35 56 66 6a 34 0a 6f 52 32 34 71 6f 41 41 54 zRL5z7D9Ar7Rt2ueQ5Vfj4.oR24qoAAT
1c62c0 49 4c 6e 73 6e 38 4a 75 4c 77 77 6f 43 38 4e 39 56 4b 65 6a 76 65 53 73 77 6f 41 48 51 42 55 6c ILnsn8JuLwwoC8N9VKejveSswoAHQBUl
1c62e0 77 62 67 73 51 66 5a 78 77 39 63 5a 58 30 38 62 56 6c 58 35 4f 32 6c 6a 65 6c 41 55 35 38 56 53 wbgsQfZxw9cZX08bVlX5O2ljelAU58VS
1c6300 36 42 78 0a 39 68 6f 68 34 39 70 77 42 69 46 59 46 49 65 46 64 33 6d 71 67 6e 6b 43 41 77 45 41 6Bx.9hoh49pwBiFYFIeFd3mqgnkCAwEA
1c6320 41 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 4c 4a 51 4a 39 4e 7a 75 69 61 AaNCMEAwHQYDVR0OBBYEFOLJQJ9Nzuia
1c6340 6f 58 7a 50 44 6a 39 6c 78 53 6d 49 61 68 6c 52 0a 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 oXzPDj9lxSmIahlR.MA8GA1UdEwEB/wQ
1c6360 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 FMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0
1c6380 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 44 52 53 56 66 67 0a 70 38 GCSqGSIb3DQEBCwUAA4ICAQDRSVfg.p8
1c63a0 78 6f 57 4c 6f 42 44 79 73 5a 7a 59 32 77 59 55 57 73 45 65 31 6a 55 47 6e 34 48 33 2b 2b 46 6f xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo
1c63c0 2f 39 6e 65 73 4c 71 6a 4a 48 64 74 4a 6e 4a 4f 32 39 66 44 4d 79 6c 79 72 48 42 59 5a 6d 44 52 /9nesLqjJHdtJnJO29fDMylyrHBYZmDR
1c63e0 64 39 46 42 55 62 31 4f 76 39 0a 48 35 72 32 58 70 64 70 74 78 6f 6c 70 41 71 7a 6b 54 39 66 4e d9FBUb1Ov9.H5r2XpdptxolpAqzkT9fN
1c6400 71 79 4c 37 46 65 6f 50 75 65 42 69 68 68 58 4f 59 56 30 47 6b 4c 48 36 56 73 54 58 34 2f 35 43 qyL7FeoPueBihhXOYV0GkLH6VsTX4/5C
1c6420 4f 6d 53 64 49 33 31 52 39 4b 72 4f 39 62 37 65 47 5a 4f 4e 6e 33 35 0a 36 5a 4c 70 42 4e 37 39 OmSdI31R9KrO9b7eGZONn35.6ZLpBN79
1c6440 53 57 50 38 62 66 73 55 63 5a 4e 6e 4c 30 64 4b 74 37 6e 2f 48 69 70 7a 63 45 59 77 76 31 72 79 SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry
1c6460 4c 33 6d 6c 34 59 30 4d 32 66 6d 79 59 7a 65 4d 4e 32 57 46 63 47 70 63 57 77 6c 79 75 61 31 6a L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1j
1c6480 50 4c 48 64 0a 2b 50 77 79 76 7a 65 47 35 4c 75 4f 6d 43 64 2b 75 68 38 57 34 58 41 52 38 67 50 PLHd.+PwyvzeG5LuOmCd+uh8W4XAR8gP
1c64a0 66 4a 57 49 79 4a 79 59 59 4d 6f 53 66 2f 77 41 36 45 37 71 61 54 66 52 50 75 42 52 77 49 72 48 fJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrH
1c64c0 4b 4b 35 44 4f 4b 63 46 77 39 43 2b 64 66 2f 4b 51 0a 48 74 5a 61 33 37 64 47 2f 4f 61 47 2b 73 KK5DOKcFw9C+df/KQ.HtZa37dG/OaG+s
1c64e0 76 67 49 48 5a 36 75 71 62 4c 39 58 7a 65 59 71 57 78 69 2b 37 65 67 6d 61 4b 54 6a 6f 77 48 7a vgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz
1c6500 2b 41 79 36 30 6e 75 67 78 65 31 39 43 78 56 73 70 33 63 62 4b 31 64 61 46 51 71 55 42 44 0a 46 +Ay60nugxe19CxVsp3cbK1daFQqUBD.F
1c6520 38 49 6f 32 63 39 53 69 31 76 49 59 39 52 43 50 71 41 7a 65 6b 59 75 39 77 6f 67 52 6c 52 2b 61 8Io2c9Si1vIY9RCPqAzekYu9wogRlR+a
1c6540 6b 38 78 38 59 46 2b 51 6e 51 34 5a 58 4d 6e 37 73 5a 38 75 49 37 58 70 54 72 58 6d 4b 47 63 6a k8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcj
1c6560 42 42 56 30 39 74 4c 37 45 43 51 0a 38 73 31 75 56 39 4a 69 44 6e 78 58 6b 37 47 6e 62 63 32 64 BBV09tL7ECQ.8s1uV9JiDnxXk7Gnbc2d
1c6580 67 37 73 71 35 2b 57 32 4f 33 46 59 72 66 33 52 52 62 78 61 6b 65 35 54 46 57 2f 54 52 51 6c 31 g7sq5+W2O3FYrf3RRbxake5TFW/TRQl1
1c65a0 62 72 71 51 58 52 34 45 7a 7a 66 66 48 71 68 6d 73 59 7a 6d 49 47 72 76 0a 2f 45 68 4f 64 4a 68 brqQXR4EzzffHqhmsYzmIGrv./EhOdJh
1c65c0 43 72 79 6c 76 4c 6d 72 48 2b 33 33 52 5a 6a 45 69 7a 49 59 41 66 6d 61 44 44 45 4c 30 76 54 53 CrylvLmrH+33RZjEizIYAfmaDDEL0vTS
1c65e0 53 77 78 72 71 54 38 70 2b 63 6b 30 4c 63 49 79 6d 53 4c 75 6d 6f 52 54 32 2b 31 68 45 6d 52 53 SwxrqT8p+ck0LcIymSLumoRT2+1hEmRS
1c6600 75 71 67 75 54 0a 61 61 41 70 4a 55 71 6c 79 79 76 64 69 6d 59 48 46 6e 67 56 56 33 45 62 37 50 uqguT.aaApJUqlyyvdimYHFngVV3Eb7P
1c6620 56 48 68 50 4f 65 4d 54 64 36 31 58 38 6b 72 65 53 38 2f 66 33 4d 62 6f 50 6f 44 4b 69 33 51 57 VHhPOeMTd61X8kreS8/f3MboPoDKi3QW
1c6640 77 48 33 62 30 38 68 70 63 76 30 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 wH3b08hpcv0g==.-----END.CERTIFIC
1c6660 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f 72 20 52 6f 6f 74 43 65 72 74 20 43 41 2d 31 ATE-----..TrustCor.RootCert.CA-1
1c6680 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 .======================.-----BEG
1c66a0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 44 43 43 41 78 69 67 IN.CERTIFICATE-----.MIIEMDCCAxig
1c66c0 41 77 49 42 41 67 49 4a 41 4e 71 62 37 48 48 7a 41 37 41 5a 4d 41 30 47 43 53 71 47 53 49 62 33 AwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3
1c66e0 44 51 45 42 43 77 55 41 4d 49 47 6b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP
1c6700 0a 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 .MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQ
1c6720 48 44 41 74 51 59 57 35 68 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 HDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgw
1c6740 62 56 48 4a 31 63 33 52 44 62 33 49 67 0a 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 bVHJ1c3RDb3Ig.U3lzdGVtcyBTLiBkZS
1c6760 42 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 63 6e 56 7a 64 45 4e 76 63 69 BSLkwuMScwJQYDVQQLDB5UcnVzdENvci
1c6780 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 0a 64 48 6b 78 48 BDZXJ0aWZpY2F0ZSBBdXRob3Jp.dHkxH
1c67a0 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 79 64 58 4e 30 51 32 39 79 49 46 4a 76 62 33 52 44 5a zAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZ
1c67c0 58 4a 30 49 45 4e 42 4c 54 45 77 48 68 63 4e 4d 54 59 77 4d 6a 41 30 4d 54 49 7a 4d 6a 45 32 57 XJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2W
1c67e0 68 63 4e 4d 6a 6b 78 0a 4d 6a 4d 78 4d 54 63 79 4d 7a 45 32 57 6a 43 42 70 44 45 4c 4d 41 6b 47 hcNMjkx.MjMxMTcyMzE2WjCBpDELMAkG
1c6800 41 31 55 45 42 68 4d 43 55 45 45 78 44 7a 41 4e 42 67 4e 56 42 41 67 4d 42 6c 42 68 62 6d 46 74 A1UEBhMCUEExDzANBgNVBAgMBlBhbmFt
1c6820 59 54 45 55 4d 42 49 47 41 31 55 45 42 77 77 4c 55 47 46 75 0a 59 57 31 68 49 45 4e 70 64 48 6b YTEUMBIGA1UEBwwLUGFu.YW1hIENpdHk
1c6840 78 4a 44 41 69 42 67 4e 56 42 41 6f 4d 47 31 52 79 64 58 4e 30 51 32 39 79 49 46 4e 35 63 33 52 xJDAiBgNVBAoMG1RydXN0Q29yIFN5c3R
1c6860 6c 62 58 4d 67 55 79 34 67 5a 47 55 67 55 69 35 4d 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 77 77 lbXMgUy4gZGUgUi5MLjEnMCUGA1UECww
1c6880 65 0a 56 48 4a 31 63 33 52 44 62 33 49 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 55 67 51 58 e.VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQX
1c68a0 56 30 61 47 39 79 61 58 52 35 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a 55 63 6e 56 7a 64 45 V0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdE
1c68c0 4e 76 63 69 42 53 62 32 39 30 51 32 56 79 0a 64 43 42 44 51 53 30 78 4d 49 49 42 49 6a 41 4e 42 NvciBSb290Q2Vy.dCBDQS0xMIIBIjANB
1c68e0 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 gkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCA
1c6900 51 45 41 76 34 36 33 6c 65 4c 43 4a 68 4a 72 4d 78 6e 48 51 46 67 4b 71 31 6d 71 0a 6a 51 43 6a QEAv463leLCJhJrMxnHQFgKq1mq.jQCj
1c6920 2f 49 44 48 55 48 75 4f 31 43 41 6d 75 6a 49 53 32 43 4e 55 53 53 55 51 49 70 69 64 52 74 4c 42 /IDHUHuO1CAmujIS2CNUSSUQIpidRtLB
1c6940 79 5a 35 4f 47 79 34 73 44 6a 6a 7a 47 69 56 6f 48 4b 5a 61 42 65 59 65 69 30 69 2f 6d 4a 5a 30 yZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0
1c6960 50 6d 6e 4b 36 62 56 34 0a 70 51 61 38 31 51 42 65 43 51 72 79 4a 33 70 53 2f 43 33 56 73 65 71 PmnK6bV4.pQa81QBeCQryJ3pS/C3Vseq
1c6980 30 69 57 45 6b 38 78 6f 54 32 36 6e 50 55 75 30 4d 4a 4c 71 35 6e 75 78 2b 41 48 54 36 6b 36 31 0iWEk8xoT26nPUu0MJLq5nux+AHT6k61
1c69a0 73 4b 5a 4b 75 55 62 53 37 30 31 65 2f 73 2f 4f 6f 6a 5a 7a 30 0a 4a 45 73 71 31 70 6d 65 39 4a sKZKuUbS701e/s/OojZz0.JEsq1pme9J
1c69c0 37 2b 77 48 35 43 4f 75 63 4c 6c 56 50 61 74 32 67 4f 6b 45 7a 37 63 44 2b 50 53 69 79 55 38 79 7+wH5COucLlVPat2gOkEz7cD+PSiyU8y
1c69e0 62 64 59 32 6d 70 6c 4e 67 51 54 73 56 48 43 4a 43 5a 47 78 64 4e 75 57 78 75 37 32 43 56 45 59 bdY2mplNgQTsVHCJCZGxdNuWxu72CVEY
1c6a00 34 68 0a 67 4c 57 39 6f 48 50 59 30 4c 4a 33 78 45 58 71 57 69 62 37 5a 6e 5a 32 2b 41 59 66 59 4h.gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfY
1c6a20 57 30 50 56 63 57 44 74 78 42 57 63 67 59 48 70 66 4f 78 47 67 4d 46 5a 41 36 64 57 6f 72 57 68 W0PVcWDtxBWcgYHpfOxGgMFZA6dWorWh
1c6a40 6e 41 62 4a 4e 37 2b 4b 49 6f 72 30 47 71 77 0a 2f 48 71 69 33 4c 4a 35 44 6f 74 6c 44 77 49 44 nAbJN7+KIor0Gqw./Hqi3LJ5DotlDwID
1c6a60 41 51 41 42 6f 32 4d 77 59 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 6d 74 4a 50 48 6f 2f AQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/
1c6a80 44 65 4f 78 43 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 63 77 48 77 59 44 56 52 30 6a 0a 42 42 67 DeOxCbeKyKsZn3MzUOcwHwYDVR0j.BBg
1c6aa0 77 46 6f 41 55 37 6d 74 4a 50 48 6f 2f 44 65 4f 78 43 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 63 wFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOc
1c6ac0 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8
1c6ae0 42 41 66 38 45 42 41 4d 43 0a 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 BAf8EBAMC.AYYwDQYJKoZIhvcNAQELBQ
1c6b00 41 44 67 67 45 42 41 43 55 59 31 4a 47 50 45 2b 36 50 48 68 30 52 55 39 6f 74 52 43 6b 5a 6f 42 ADggEBACUY1JGPE+6PHh0RU9otRCkZoB
1c6b20 35 72 4d 5a 35 4e 44 70 36 74 50 56 78 42 62 35 55 72 4a 4b 46 35 0a 6d 44 6f 34 4e 76 75 37 5a 5rMZ5NDp6tPVxBb5UrJKF5.mDo4Nvu7Z
1c6b40 70 35 49 2f 35 43 51 37 7a 33 55 75 4a 75 30 68 33 55 2f 49 4a 76 4f 63 73 2b 68 56 63 46 4e 5a p5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZ
1c6b60 4b 49 5a 42 71 45 48 4d 77 77 4c 4b 65 58 78 36 71 75 6a 37 4c 55 4b 64 4a 44 48 66 58 4c 79 31 KIZBqEHMwwLKeXx6quj7LUKdJDHfXLy1
1c6b80 31 79 66 0a 6b 65 2b 52 69 37 66 63 37 57 61 69 7a 34 35 6d 4f 37 79 66 4f 67 4c 67 4a 39 30 57 1yf.ke+Ri7fc7Waiz45mO7yfOgLgJ90W
1c6ba0 6d 4d 43 56 31 41 71 6b 35 49 47 61 64 5a 51 31 6e 4a 42 66 69 44 63 47 72 56 6d 56 43 72 44 52 mMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDR
1c6bc0 5a 39 4d 5a 79 6f 6e 6e 4d 6c 6f 32 48 44 36 43 0a 71 46 71 54 76 73 62 51 5a 4a 47 32 7a 39 6d Z9MZyonnMlo2HD6C.qFqTvsbQZJG2z9m
1c6be0 32 47 4d 2f 62 66 74 4a 6c 6f 36 62 45 6a 68 63 78 77 66 74 2b 64 74 76 54 68 65 4e 59 73 6e 64 2GM/bftJlo6bEjhcxwft+dtvTheNYsnd
1c6c00 36 64 6a 74 73 4c 31 41 63 35 39 76 32 5a 33 6b 66 39 59 4b 56 6d 67 65 6e 46 4b 2b 50 0a 33 43 6djtsL1Ac59v2Z3kf9YKVmgenFK+P.3C
1c6c20 67 68 5a 77 6e 53 31 6b 31 61 48 42 6b 63 6a 6e 64 63 77 35 51 6b 50 54 4a 72 53 33 37 55 65 4a ghZwnS1k1aHBkcjndcw5QkPTJrS37UeJ
1c6c40 53 44 76 6a 64 4e 7a 6c 2f 48 48 6b 34 38 34 49 6b 7a 6c 51 73 50 70 54 4c 57 50 46 70 35 4c 42 SDvjdNzl/HHk484IkzlQsPpTLWPFp5LB
1c6c60 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 k=.-----END.CERTIFICATE-----..Tr
1c6c80 75 73 74 43 6f 72 20 52 6f 6f 74 43 65 72 74 20 43 41 2d 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ustCor.RootCert.CA-2.===========
1c6ca0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1c6cc0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 4c 7a 43 43 42 42 65 67 41 77 49 42 41 67 49 49 4a 61 48 66 TE-----.MIIGLzCCBBegAwIBAgIIJaHf
1c6ce0 79 6a 50 4c 57 51 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 67 61 51 78 yjPLWQIwDQYJKoZIhvcNAQELBQAwgaQx
1c6d00 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 42 4d 51 38 77 0a 44 51 59 44 56 51 51 49 44 41 5a CzAJBgNVBAYTAlBBMQ8w.DQYDVQQIDAZ
1c6d20 51 59 57 35 68 62 57 45 78 46 44 41 53 42 67 4e 56 42 41 63 4d 43 31 42 68 62 6d 46 74 59 53 42 QYW5hbWExFDASBgNVBAcMC1BhbmFtYSB
1c6d40 44 61 58 52 35 4d 53 51 77 49 67 59 44 56 51 51 4b 44 42 74 55 63 6e 56 7a 64 45 4e 76 63 69 42 DaXR5MSQwIgYDVQQKDBtUcnVzdENvciB
1c6d60 54 0a 65 58 4e 30 5a 57 31 7a 49 46 4d 75 49 47 52 6c 49 46 49 75 54 43 34 78 4a 7a 41 6c 42 67 T.eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBg
1c6d80 4e 56 42 41 73 4d 48 6c 52 79 64 58 4e 30 51 32 39 79 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 NVBAsMHlRydXN0Q29yIENlcnRpZmljYX
1c6da0 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 66 4d 42 30 47 41 31 55 45 41 77 77 57 56 RlIEF1dGhvcml0.eTEfMB0GA1UEAwwWV
1c6dc0 48 4a 31 63 33 52 44 62 33 49 67 55 6d 39 76 64 45 4e 6c 63 6e 51 67 51 30 45 74 4d 6a 41 65 46 HJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeF
1c6de0 77 30 78 4e 6a 41 79 4d 44 51 78 4d 6a 4d 79 4d 6a 4e 61 46 77 30 7a 4e 44 45 79 0a 4d 7a 45 78 w0xNjAyMDQxMjMyMjNaFw0zNDEy.MzEx
1c6e00 4e 7a 49 32 4d 7a 6c 61 4d 49 47 6b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 NzI2MzlaMIGkMQswCQYDVQQGEwJQQTEP
1c6e20 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQH
1c6e40 44 41 74 51 59 57 35 68 0a 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 DAtQYW5h.bWEgQ2l0eTEkMCIGA1UECgw
1c6e60 62 56 48 4a 31 63 33 52 44 62 33 49 67 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 bVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSB
1c6e80 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 0a 63 6e 56 7a 64 45 4e 76 63 69 SLkwuMScwJQYDVQQLDB5U.cnVzdENvci
1c6ea0 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 48 7a BDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHz
1c6ec0 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 79 64 58 4e 30 51 32 39 79 49 46 4a 76 62 33 52 44 5a 58 AdBgNVBAMMFlRydXN0Q29yIFJvb3RDZX
1c6ee0 4a 30 0a 49 45 4e 42 4c 54 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 J0.IENBLTIwggIiMA0GCSqGSIb3DQEBA
1c6f00 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 6e 49 47 37 43 4b 71 4a 69 4a QUAA4ICDwAwggIKAoICAQCnIG7CKqJiJ
1c6f20 4a 57 51 64 73 67 34 66 6f 44 53 71 38 47 62 0a 5a 51 57 55 39 4d 45 4b 45 4e 55 43 72 4f 32 66 JWQdsg4foDSq8Gb.ZQWU9MEKENUCrO2f
1c6f40 6b 38 65 48 79 4c 41 6e 4b 30 49 4d 50 51 6f 2b 51 56 71 65 64 64 32 4e 79 75 43 62 37 47 67 79 k8eHyLAnK0IMPQo+QVqedd2NyuCb7Ggy
1c6f60 70 47 6d 53 61 49 77 4c 67 51 35 57 6f 44 34 61 33 53 77 6c 46 49 49 76 6c 39 4e 6b 0a 52 76 52 pGmSaIwLgQ5WoD4a3SwlFIIvl9Nk.RvR
1c6f80 55 71 64 77 36 56 43 30 78 4b 35 6d 43 38 74 6b 71 31 2b 39 78 41 4c 67 78 70 4c 35 36 4a 41 66 Uqdw6VC0xK5mC8tkq1+9xALgxpL56JAf
1c6fa0 44 51 69 44 79 69 74 53 53 42 42 74 6c 56 6b 78 73 31 50 75 32 59 56 70 48 49 37 54 59 61 62 53 DQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS
1c6fc0 33 4f 74 42 30 50 41 78 31 0a 6f 59 78 4f 64 71 48 70 32 79 71 6c 4f 2f 72 4f 73 50 39 2b 61 69 3OtB0PAx1.oYxOdqHp2yqlO/rOsP9+ai
1c6fe0 6a 39 4a 78 7a 49 73 65 6b 70 38 56 64 75 5a 4c 54 51 77 52 56 74 44 72 34 75 44 6b 62 49 58 76 j9JxzIsekp8VduZLTQwRVtDr4uDkbIXv
1c7000 52 52 2f 75 38 4f 59 7a 6f 37 63 62 72 50 62 31 6e 4b 44 4f 4f 62 0a 58 55 6d 34 54 4f 4a 58 73 RR/u8OYzo7cbrPb1nKDOOb.XUm4TOJXs
1c7020 5a 69 4b 51 6c 65 63 64 75 2f 76 76 64 46 6f 71 4e 4c 30 43 62 74 33 4e 62 34 6c 67 67 6a 45 46 ZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEF
1c7040 69 78 45 49 46 61 70 52 42 46 33 37 31 32 30 48 61 70 65 61 7a 36 4c 4d 76 59 48 4c 31 63 45 6b ixEIFapRBF37120Hapeaz6LMvYHL1cEk
1c7060 73 72 31 0a 2f 70 33 43 36 65 69 7a 6a 6b 78 4c 41 6a 48 5a 35 44 78 49 67 69 66 33 47 49 4a 32 sr1./p3C6eizjkxLAjHZ5DxIgif3GIJ2
1c7080 53 44 70 78 73 52 4f 68 4f 64 55 75 78 54 54 43 48 57 4b 46 33 77 50 2b 54 66 53 76 50 64 39 63 SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9c
1c70a0 57 34 33 36 63 4f 47 6c 66 69 66 48 68 69 35 71 0a 6a 78 4c 47 68 46 35 44 55 56 43 63 47 5a 74 W436cOGlfifHhi5q.jxLGhF5DUVCcGZt
1c70c0 34 35 76 7a 32 37 55 64 2b 65 7a 31 6d 37 78 4d 54 69 46 38 38 6f 57 50 37 2b 61 79 48 4e 5a 2f 45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/
1c70e0 7a 67 70 36 6b 50 77 71 63 4d 57 6d 4c 6d 61 53 49 53 6f 35 75 5a 6b 33 76 46 73 51 50 0a 65 53 zgp6kPwqcMWmLmaSISo5uZk3vFsQP.eS
1c7100 67 68 59 41 32 46 46 6e 33 58 56 44 6a 78 6b 6c 62 39 74 54 4e 4d 67 39 7a 58 45 4a 39 4c 2f 63 ghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/c
1c7120 62 34 51 72 32 36 66 48 4d 43 34 50 39 39 7a 56 76 68 31 4b 78 68 65 31 66 56 53 6e 74 62 31 49 b4Qr26fHMC4P99zVvh1Kxhe1fVSntb1I
1c7140 56 59 4a 31 32 2f 2b 43 74 67 0a 72 4b 41 6d 72 68 51 68 4a 38 5a 33 6d 6a 4f 41 50 46 35 47 50 VYJ12/+Ctg.rKAmrhQhJ8Z3mjOAPF5GP
1c7160 2f 66 44 73 61 4f 47 4d 38 62 6f 58 67 32 35 4e 53 79 71 52 73 47 46 41 6e 57 41 6f 4f 73 6b 2b /fDsaOGM8boXg25NSyqRsGFAnWAoOsk+
1c7180 78 57 71 35 47 64 2f 62 6e 63 2f 39 41 53 4b 4c 33 78 37 34 78 64 68 0a 38 4e 30 4a 71 53 44 49 xWq5Gd/bnc/9ASKL3x74xdh.8N0JqSDI
1c71a0 76 67 6d 6b 30 48 35 45 77 37 49 77 53 6a 69 71 71 65 77 59 6d 67 65 43 4b 39 75 34 6e 42 69 74 vgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit
1c71c0 32 75 42 47 46 36 7a 50 58 51 49 44 41 51 41 42 6f 32 4d 77 59 54 41 64 42 67 4e 56 48 51 34 45 2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4E
1c71e0 46 67 51 55 0a 32 66 34 68 51 47 36 55 6e 72 79 62 50 5a 78 39 6d 43 41 5a 35 59 77 77 59 72 49 FgQU.2f4hQG6UnrybPZx9mCAZ5YwwYrI
1c7200 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 32 66 34 68 51 47 36 55 6e 72 79 62 50 5a 78 wHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx
1c7220 39 6d 43 41 5a 35 59 77 77 59 72 49 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 9mCAZ5YwwYrIwDwYD.VR0TAQH/BAUwAw
1c7240 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f EB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKo
1c7260 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 4a 35 46 6e 67 77 37 74 75 2f 68 0a 4f ZIhvcNAQELBQADggIBAJ5Fngw7tu/h.O
1c7280 73 68 38 30 51 41 39 7a 2b 4c 71 42 72 57 79 4f 72 73 47 53 32 68 36 30 43 4f 58 64 4b 63 73 38 sh80QA9z+LqBrWyOrsGS2h60COXdKcs8
1c72a0 41 6a 59 65 56 72 58 57 6f 53 4b 32 42 4b 61 47 39 6c 39 58 45 31 77 78 61 58 35 71 2b 57 6a 69 AjYeVrXWoSK2BKaG9l9XE1wxaX5q+Wji
1c72c0 59 6e 64 41 66 72 73 33 66 6e 70 0a 6b 70 66 62 73 45 5a 43 38 39 4e 69 71 70 58 2b 4d 57 63 55 YndAfrs3fnp.kpfbsEZC89NiqpX+MWcU
1c72e0 61 56 69 51 43 71 6f 4c 37 6a 63 6a 78 31 42 52 74 50 56 2b 6e 75 4e 37 39 2b 54 4d 51 6a 49 74 aViQCqoL7jcjx1BRtPV+nuN79+TMQjIt
1c7300 53 51 7a 4c 2f 30 6b 4d 6d 78 34 30 2f 57 35 75 6c 6f 70 35 41 37 5a 76 0a 32 77 6e 4c 2f 56 39 SQzL/0kMmx40/W5ulop5A7Zv.2wnL/V9
1c7320 6c 46 44 66 68 4f 50 58 7a 59 52 5a 59 35 4c 56 74 44 51 73 45 47 7a 39 51 4c 58 2b 7a 78 33 6f lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3o
1c7340 61 46 6f 42 67 2b 49 6f 66 36 52 73 71 78 76 6d 36 41 52 70 70 76 39 4a 59 78 31 52 58 43 49 2f aFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/
1c7360 68 4f 57 42 33 0a 53 36 78 5a 68 42 71 49 38 64 33 4c 54 33 6a 58 35 2b 45 7a 4c 66 7a 75 51 66 hOWB3.S6xZhBqI8d3LT3jX5+EzLfzuQf
1c7380 6f 67 73 4c 37 4c 39 7a 69 55 77 4f 48 51 68 51 2b 37 37 53 78 7a 71 2b 33 2b 6b 6e 59 61 5a 48 ogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH
1c73a0 39 62 44 54 4d 4a 42 7a 4e 37 42 6a 38 52 70 46 78 77 0a 50 49 58 41 7a 2b 4f 51 71 49 4e 33 2b 9bDTMJBzN7Bj8RpFxw.PIXAz+OQqIN3+
1c73c0 74 76 6d 78 59 78 6f 5a 78 42 6e 70 56 49 74 38 4d 53 5a 6a 33 2b 2f 30 57 76 69 74 55 66 57 32 tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2
1c73e0 64 43 46 6d 55 32 55 6d 77 39 4c 6a 65 34 41 57 6b 63 64 45 51 4f 73 51 52 69 76 68 37 64 76 0a dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv.
1c7400 44 44 71 50 79 73 2f 63 41 38 47 69 43 63 6a 6c 2f 59 42 65 79 47 42 43 41 52 73 61 55 31 71 37 DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7
1c7420 4e 36 61 33 76 4c 71 45 36 52 35 73 47 74 52 6b 32 74 52 44 2f 70 4f 4c 53 2f 49 73 65 52 59 51 N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ
1c7440 31 4a 4d 4c 69 49 2b 68 32 49 59 55 0a 52 70 46 48 6d 79 67 6b 37 31 64 53 54 6c 78 43 6e 4b 72 1JMLiI+h2IYU.RpFHmygk71dSTlxCnKr
1c7460 33 53 65 77 6e 36 45 41 65 73 36 61 4a 49 6e 4b 63 39 51 30 7a 74 46 69 6a 4d 44 76 64 31 47 70 3Sewn6EAes6aJInKc9Q0ztFijMDvd1Gp
1c7480 55 6b 37 34 61 54 66 4f 54 6c 50 66 38 68 41 73 2f 68 43 42 63 4e 41 4e 45 0a 78 64 71 74 76 41 Uk74aTfOTlPf8hAs/hCBcNANE.xdqtvA
1c74a0 72 42 41 73 38 65 35 5a 54 5a 38 34 35 62 32 45 7a 77 6e 65 78 68 46 37 73 55 4d 6c 51 4d 41 69 rBAs8e5ZTZ845b2EzwnexhF7sUMlQMAi
1c74c0 6d 54 48 70 4b 47 39 6e 2f 76 35 35 49 46 44 6c 6e 64 6d 51 67 75 4c 76 71 63 41 46 4c 54 78 57 mTHpKG9n/v55IFDlndmQguLvqcAFLTxW
1c74e0 59 70 35 4b 65 58 0a 52 4b 51 4f 4b 49 45 54 4e 63 58 32 62 32 54 6d 51 63 54 56 4c 38 77 30 52 Yp5KeX.RKQOKIETNcX2b2TmQcTVL8w0R
1c7500 53 58 50 51 51 43 57 50 55 6f 75 77 70 61 59 54 30 35 4b 6e 4a 65 33 32 78 2b 53 4d 73 6a 2f 44 SXPQQCWPUouwpaYT05KnJe32x+SMsj/D
1c7520 31 46 75 31 75 77 4a 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 1Fu1uwJ.-----END.CERTIFICATE----
1c7540 2d 0a 0a 54 72 75 73 74 43 6f 72 20 45 43 41 2d 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -..TrustCor.ECA-1.==============
1c7560 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1c7580 45 49 44 43 43 41 77 69 67 41 77 49 42 41 67 49 4a 41 49 53 43 4c 46 38 63 59 74 42 41 4d 41 30 EIDCCAwigAwIBAgIJAISCLF8cYtBAMA0
1c75a0 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 63 4d 51 73 77 43 51 59 44 56 51 51 GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQ
1c75c0 47 45 77 4a 51 51 54 45 50 0a 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 GEwJQQTEP.MA0GA1UECAwGUGFuYW1hMR
1c75e0 51 77 45 67 59 44 56 51 51 48 44 41 74 51 59 57 35 68 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 QwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMC
1c7600 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 63 33 52 44 62 33 49 67 0a 55 33 6c 7a 64 47 56 74 63 IGA1UECgwbVHJ1c3RDb3Ig.U3lzdGVtc
1c7620 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 42 35 55 63 yBTLiBkZSBSLkwuMScwJQYDVQQLDB5Uc
1c7640 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 nVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob
1c7660 33 4a 70 0a 64 48 6b 78 46 7a 41 56 42 67 4e 56 42 41 4d 4d 44 6c 52 79 64 58 4e 30 51 32 39 79 3Jp.dHkxFzAVBgNVBAMMDlRydXN0Q29y
1c7680 49 45 56 44 51 53 30 78 4d 42 34 58 44 54 45 32 4d 44 49 77 4e 44 45 79 4d 7a 49 7a 4d 31 6f 58 IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oX
1c76a0 44 54 49 35 4d 54 49 7a 4d 54 45 33 4d 6a 67 77 0a 4e 31 6f 77 67 5a 77 78 43 7a 41 4a 42 67 4e DTI5MTIzMTE3Mjgw.N1owgZwxCzAJBgN
1c76c0 56 42 41 59 54 41 6c 42 42 4d 51 38 77 44 51 59 44 56 51 51 49 44 41 5a 51 59 57 35 68 62 57 45 VBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWE
1c76e0 78 46 44 41 53 42 67 4e 56 42 41 63 4d 43 31 42 68 62 6d 46 74 59 53 42 44 61 58 52 35 0a 4d 53 xFDASBgNVBAcMC1BhbmFtYSBDaXR5.MS
1c7700 51 77 49 67 59 44 56 51 51 4b 44 42 74 55 63 6e 56 7a 64 45 4e 76 63 69 42 54 65 58 4e 30 5a 57 QwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW
1c7720 31 7a 49 46 4d 75 49 47 52 6c 49 46 49 75 54 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 4d 48 6c 1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHl
1c7740 52 79 64 58 4e 30 51 32 39 79 0a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 RydXN0Q29y.IENlcnRpZmljYXRlIEF1d
1c7760 47 68 76 63 6d 6c 30 65 54 45 58 4d 42 55 47 41 31 55 45 41 77 77 4f 56 48 4a 31 63 33 52 44 62 Ghvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb
1c7780 33 49 67 52 55 4e 42 4c 54 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 3IgRUNBLTEwggEiMA0GCSqG.SIb3DQEB
1c77a0 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 50 6a 2b 41 52 74 5a 2b 6f AQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+o
1c77c0 64 6e 62 62 33 77 39 55 37 33 4e 6a 4b 59 4b 74 52 38 61 6a 61 2b 33 2b 58 7a 50 34 51 31 48 70 dnbb3w9U73NjKYKtR8aja+3+XzP4Q1Hp
1c77e0 47 6a 4f 52 0a 4d 52 65 67 64 4d 54 55 70 77 48 6d 73 70 49 2b 61 70 33 74 44 76 6c 30 6d 45 44 GjOR.MRegdMTUpwHmspI+ap3tDvl0mED
1c7800 54 50 77 4f 41 42 6f 4a 41 36 4c 48 69 70 31 47 6e 48 59 4d 6d 61 36 76 65 2b 68 65 52 4b 39 6a TPwOABoJA6LHip1GnHYMma6ve+heRK9j
1c7820 47 72 42 36 78 6e 68 6b 42 31 5a 65 6d 36 67 32 33 0a 78 46 55 66 4a 33 7a 53 43 4e 56 32 48 79 GrB6xnhkB1Zem6g23.xFUfJ3zSCNV2Hy
1c7840 6b 56 68 30 41 35 33 54 68 46 45 58 58 51 6d 71 63 30 34 4c 2f 4e 79 46 49 64 75 55 64 2b 44 62 kVh0A53ThFEXXQmqc04L/NyFIduUd+Db
1c7860 69 37 78 67 7a 32 63 31 63 57 57 6e 35 44 6b 52 39 56 4f 73 5a 74 52 41 53 71 6e 4b 6d 63 0a 70 i7xgz2c1cWWn5DkR9VOsZtRASqnKmc.p
1c7880 30 79 4a 46 34 4f 75 6f 77 52 65 55 6f 43 4c 48 68 49 6c 45 52 6e 58 44 48 31 39 4d 55 52 42 36 0yJF4OuowReUoCLHhIlERnXDH19MURB6
1c78a0 74 75 76 73 42 7a 76 67 64 41 73 78 5a 6f 68 6d 7a 33 74 51 6a 74 51 4a 76 4c 73 7a 6e 46 68 42 tuvsBzvgdAsxZohmz3tQjtQJvLsznFhB
1c78c0 6d 49 68 56 45 35 2f 77 5a 30 2b 0a 66 79 43 4d 67 4d 73 71 32 4a 64 69 79 49 4d 7a 6b 58 32 77 mIhVE5/wZ0+.fyCMgMsq2JdiyIMzkX2w
1c78e0 6f 6c 6f 50 56 2b 67 37 7a 50 49 6c 73 74 52 38 4c 2b 78 4e 78 71 45 36 46 58 72 6e 74 6c 30 31 oloPV+g7zPIlstR8L+xNxqE6FXrntl01
1c7900 39 66 5a 49 53 6a 5a 46 5a 74 53 36 6d 46 6a 42 41 67 4d 42 41 41 47 6a 0a 59 7a 42 68 4d 42 30 9fZISjZFZtS6mFjBAgMBAAGj.YzBhMB0
1c7920 47 41 31 55 64 44 67 51 57 42 42 52 45 6e 6b 6a 31 7a 47 31 49 31 4b 42 4c 66 2f 35 5a 4a 43 2b GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+
1c7940 44 6c 35 6d 61 68 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 45 6e 6b 6a 31 7a 47 31 Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1
1c7960 49 31 4b 42 4c 0a 66 2f 35 5a 4a 43 2b 44 6c 35 6d 61 68 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 I1KBL.f/5ZJC+Dl5mahjAPBgNVHRMBAf
1c7980 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhj
1c79a0 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 51 45 41 42 54 34 31 58 ANBgkqhkiG9w0BAQsF.AAOCAQEABT41X
1c79c0 42 56 77 6d 38 6e 48 63 32 46 76 63 69 76 55 77 6f 2f 79 51 31 30 43 7a 73 53 55 75 5a 51 52 67 BVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg
1c79e0 32 64 64 34 6d 64 73 64 58 61 2f 75 77 79 71 4e 73 61 74 52 35 4e 6a 33 42 35 2b 31 74 34 75 0a 2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u.
1c7a00 2f 75 6b 5a 4d 6a 67 44 66 78 54 32 41 48 4d 73 57 62 45 68 42 75 48 37 72 42 69 56 44 4b 50 2f /ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/
1c7a20 6d 5a 62 33 4b 79 65 62 31 53 54 4d 48 64 33 42 4f 75 43 59 52 4c 44 45 35 44 35 33 73 58 4f 70 mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOp
1c7a40 5a 43 7a 32 48 41 46 38 50 31 31 46 0a 68 63 43 46 35 79 57 50 6c 64 77 58 38 7a 79 66 47 6d 36 ZCz2HAF8P11F.hcCF5yWPldwX8zyfGm6
1c7a60 77 79 75 4d 64 4b 75 6c 4d 59 2f 6f 6b 59 57 4c 57 32 6e 36 32 48 47 7a 31 41 68 33 55 4b 74 31 wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1
1c7a80 56 6b 4f 73 71 45 55 63 38 4c 6c 35 30 73 6f 49 69 70 58 31 54 48 30 58 73 0a 4a 35 46 39 35 79 VkOsqEUc8Ll50soIipX1TH0Xs.J5F95y
1c7aa0 49 57 36 4d 42 6f 4e 74 6a 47 38 55 2b 41 52 44 4c 35 34 64 48 52 48 61 72 65 71 4b 75 63 42 4b IW6MBoNtjG8U+ARDL54dHRHareqKucBK
1c7ac0 2b 74 49 41 35 6b 6d 45 32 6c 61 38 42 49 57 4a 5a 70 54 64 77 48 6a 46 47 54 6f 74 2b 66 44 7a +tIA5kmE2la8BIWJZpTdwHjFGTot+fDz
1c7ae0 32 4c 59 4c 53 43 0a 6a 61 6f 49 54 6d 4a 46 34 50 6b 4c 30 75 44 67 50 46 76 65 58 48 45 6e 4a 2LYLSC.jaoITmJF4PkL0uDgPFveXHEnJ
1c7b00 63 4c 6d 41 34 47 4c 45 46 50 6a 78 31 57 69 74 4a 2f 58 35 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 cLmA4GLEFPjx1WitJ/X5g==.-----END
1c7b20 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 52 6f 6f 74 20 .CERTIFICATE-----..SSL.com.Root.
1c7b40 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 52 53 41 0a 3d 3d 3d 3d Certification.Authority.RSA.====
1c7b60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c7b80 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c7ba0 0a 4d 49 49 46 33 54 43 43 41 38 57 67 41 77 49 42 41 67 49 49 65 79 79 62 30 78 61 41 4d 70 6b .MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpk
1c7bc0 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 66 44 45 4c 4d 41 6b 47 41 31 55 wDQYJKoZIhvcNAQELBQAwfDELMAkGA1U
1c7be0 45 42 68 4d 43 56 56 4d 78 44 6a 41 4d 0a 42 67 4e 56 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 EBhMCVVMxDjAM.BgNVBAgMBVRleGFzMR
1c7c00 41 77 44 67 59 44 56 51 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 AwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQ
1c7c20 51 4b 44 41 39 54 55 30 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 0a 4d 54 41 76 42 QKDA9TU0wgQ29ycG9yYXRpb24x.MTAvB
1c7c40 67 4e 56 42 41 4d 4d 4b 46 4e 54 54 43 35 6a 62 32 30 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 gNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0a
1c7c60 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 53 55 30 45 77 48 WZpY2F0aW9uIEF1dGhvcml0eSBSU0EwH
1c7c80 68 63 4e 4d 54 59 77 0a 4d 6a 45 79 4d 54 63 7a 4f 54 4d 35 57 68 63 4e 4e 44 45 77 4d 6a 45 79 hcNMTYw.MjEyMTczOTM5WhcNNDEwMjEy
1c7ca0 4d 54 63 7a 4f 54 4d 35 57 6a 42 38 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f MTczOTM5WjB8MQswCQYDVQQGEwJVUzEO
1c7cc0 4d 41 77 47 41 31 55 45 43 41 77 46 56 47 56 34 59 58 4d 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 MAwGA1UECAwFVGV4YXMx.EDAOBgNVBAc
1c7ce0 4d 42 30 68 76 64 58 4e 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 MB0hvdXN0b24xGDAWBgNVBAoMD1NTTCB
1c7d00 44 62 33 4a 77 62 33 4a 68 64 47 6c 76 62 6a 45 78 4d 43 38 47 41 31 55 45 41 77 77 6f 55 31 4e Db3Jwb3JhdGlvbjExMC8GA1UEAwwoU1N
1c7d20 4d 0a 4c 6d 4e 76 62 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 M.LmNvbSBSb290IENlcnRpZmljYXRpb2
1c7d40 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 46 4a 54 51 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 4gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKo
1c7d60 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 ZIhvcNAQEBBQAD.ggIPADCCAgoCggIBA
1c7d80 50 6b 50 33 61 4d 72 66 63 76 51 4b 76 37 73 5a 34 57 6d 35 79 34 62 75 6e 66 68 34 2f 57 76 70 PkP3aMrfcvQKv7sZ4Wm5y4bunfh4/Wvp
1c7da0 4f 7a 36 53 6c 32 52 78 46 64 48 61 78 68 33 61 33 62 79 2f 5a 50 6b 50 51 2f 43 0a 46 70 34 4c Oz6Sl2RxFdHaxh3a3by/ZPkPQ/C.Fp4L
1c7dc0 5a 73 4e 57 6c 4a 34 58 67 34 58 4f 56 75 2f 79 46 76 30 41 59 76 55 69 43 56 54 6f 5a 52 64 4f ZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdO
1c7de0 51 62 6e 67 54 30 61 58 71 68 76 49 75 47 35 69 58 6d 6d 78 58 39 73 71 41 6e 37 38 62 4d 72 7a QbngT0aXqhvIuG5iXmmxX9sqAn78bMrz
1c7e00 51 64 6a 74 30 4f 6a 38 0a 50 32 46 49 37 62 41 44 46 42 30 51 44 6b 73 5a 34 4c 74 4f 37 49 5a Qdjt0Oj8.P2FI7bADFB0QDksZ4LtO7IZ
1c7e20 6c 2f 7a 62 7a 58 6d 63 43 43 35 32 47 56 57 48 39 65 6a 6a 74 2f 75 49 5a 41 4c 64 76 6f 56 42 l/zbzXmcCC52GVWH9ejjt/uIZALdvoVB
1c7e40 69 64 58 51 38 6f 50 72 49 4a 5a 4b 30 62 6e 6f 69 78 2f 67 65 0a 6f 65 4f 79 33 5a 45 78 71 79 idXQ8oPrIJZK0bnoix/ge.oeOy3ZExqy
1c7e60 73 64 42 50 2b 6c 53 67 51 33 36 59 57 6b 4d 79 76 39 34 74 5a 56 4e 48 77 5a 70 45 70 6f 78 37 sdBP+lSgQ36YWkMyv94tZVNHwZpEpox7
1c7e80 4b 6f 30 37 66 4b 6f 5a 4f 49 36 38 47 58 76 49 7a 35 48 64 6b 69 68 43 52 30 78 77 51 39 61 71 Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aq
1c7ea0 6b 70 0a 6b 38 7a 72 75 46 76 68 2f 6c 38 6c 71 6a 52 59 79 4d 45 6a 56 4a 30 62 6d 42 48 44 4f kp.k8zruFvh/l8lqjRYyMEjVJ0bmBHDO
1c7ec0 4a 78 2b 50 59 5a 73 70 51 39 41 68 6e 77 43 39 46 77 43 54 79 6a 4c 72 6e 47 66 44 7a 72 49 4d Jx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM
1c7ee0 2f 34 52 4a 54 58 71 2f 4c 72 46 59 44 33 5a 0a 66 42 6a 56 73 71 6e 54 64 58 67 44 63 69 4c 4b /4RJTXq/LrFYD3Z.fBjVsqnTdXgDciLK
1c7f00 4f 73 4d 66 37 79 7a 6c 4c 71 6e 36 6e 69 79 32 55 55 62 39 72 77 50 57 36 6d 42 6f 36 6f 55 57 OsMf7yzlLqn6niy2UUb9rwPW6mBo6oUW
1c7f20 4e 6d 75 46 36 52 37 41 73 39 33 45 4a 4e 79 41 4b 6f 46 42 62 5a 51 2b 79 4f 44 4a 0a 67 55 45 NmuF6R7As93EJNyAKoFBbZQ+yODJ.gUE
1c7f40 41 6e 6c 36 2f 66 38 55 49 6d 4b 49 59 4c 45 4a 41 73 2f 6c 76 4f 43 64 4c 54 6f 44 30 50 59 46 Anl6/f8UImKIYLEJAs/lvOCdLToD0PYF
1c7f60 48 34 49 68 38 36 68 7a 4f 74 58 56 63 55 53 34 63 4b 33 38 61 63 69 6a 6e 41 4c 58 52 64 4d 62 H4Ih86hzOtXVcUS4cK38acijnALXRdMb
1c7f80 58 35 4a 2b 74 42 35 4f 32 0a 55 7a 55 31 2f 44 66 6b 77 2f 5a 64 46 72 34 68 63 39 36 53 43 76 X5J+tB5O2.UzU1/Dfkw/ZdFr4hc96SCv
1c7fa0 69 67 59 32 71 38 6c 70 4a 71 50 76 69 38 5a 56 57 62 33 76 55 4e 69 53 59 45 2f 43 55 61 70 69 igY2q8lpJqPvi8ZVWb3vUNiSYE/CUapi
1c7fc0 56 70 79 38 4a 74 79 6e 7a 69 57 56 2b 58 72 4f 76 76 4c 73 69 38 0a 31 78 74 5a 50 43 76 4d 38 Vpy8JtynziWV+XrOvvLsi8.1xtZPCvM8
1c7fe0 68 6e 49 6b 32 73 6e 59 78 6e 50 2f 4f 6b 6d 2b 4d 70 78 6d 33 2b 54 2f 6a 52 6e 68 45 36 5a 36 hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6
1c8000 2f 79 7a 65 41 6b 7a 63 4c 70 6d 70 6e 62 74 47 33 50 72 47 71 55 4e 78 43 49 54 49 4a 52 57 43 /yzeAkzcLpmpnbtG3PrGqUNxCITIJRWC
1c8020 6b 34 73 0a 62 45 36 78 2f 63 2b 63 43 62 71 69 4d 2b 32 48 41 67 4d 42 41 41 47 6a 59 7a 42 68 k4s.bE6x/c+cCbqiM+2HAgMBAAGjYzBh
1c8040 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 64 42 41 6b 48 6f 76 56 36 66 56 4a 54 45 70 4b 56 MB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV
1c8060 37 6a 69 41 4a 51 32 6d 57 54 41 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 7jiAJQ2mWTAPBgNV.HRMBAf8EBTADAQH
1c8080 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 30 45 43 51 65 69 39 58 70 39 55 6c 4d /MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlM
1c80a0 53 6b 70 58 75 4f 49 41 6c 44 61 5a 5a 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 0a 41 77 SkpXuOIAlDaZZMA4GA1UdDwEB/wQE.Aw
1c80c0 49 42 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 49 42 IBhjANBgkqhkiG9w0BAQsFAAOCAgEAIB
1c80e0 67 52 6c 43 6e 37 4a 70 30 63 48 68 35 77 59 66 47 56 63 70 4e 78 4a 4b 31 6f 6b 31 69 4f 4d 71 gRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq
1c8100 38 62 73 33 41 44 2f 43 55 72 0a 64 49 57 51 50 58 68 71 39 4c 6d 4c 70 5a 63 37 74 52 69 52 75 8bs3AD/CUr.dIWQPXhq9LmLpZc7tRiRu
1c8120 78 36 6e 2b 55 42 62 6b 66 6c 56 6d 61 38 65 45 64 42 63 48 61 64 6d 34 37 47 55 42 77 77 79 4f x6n+UBbkflVma8eEdBcHadm47GUBwwyO
1c8140 61 62 71 47 37 42 35 32 42 32 63 63 45 54 6a 69 74 33 45 2b 5a 55 66 0a 69 6a 68 44 50 77 47 46 abqG7B52B2ccETjit3E+ZUf.ijhDPwGF
1c8160 70 55 65 6e 50 55 61 79 76 4f 55 69 61 50 64 37 6e 4e 67 73 50 67 6f 68 79 43 30 7a 72 4c 2f 46 pUenPUayvOUiaPd7nNgsPgohyC0zrL/F
1c8180 67 5a 6b 78 64 4d 46 31 63 63 57 2b 73 66 41 6a 52 66 53 64 61 2f 77 5a 59 35 32 6a 76 41 54 47 gZkxdMF1ccW+sfAjRfSda/wZY52jvATG
1c81a0 47 41 73 6c 0a 75 31 4f 4a 44 37 4f 41 55 4e 35 46 37 6b 52 2f 71 35 52 34 5a 4a 6a 54 39 69 6a GAsl.u1OJD7OAUN5F7kR/q5R4ZJjT9ij
1c81c0 64 68 39 68 77 5a 58 54 37 44 72 6b 54 36 36 63 50 59 61 6b 79 6c 73 7a 65 75 2b 31 6a 54 42 69 dh9hwZXT7DrkT66cPYakylszeu+1jTBi
1c81e0 37 71 55 44 33 6f 46 52 75 49 49 68 78 64 52 6a 71 0a 65 72 51 30 63 75 41 6a 4a 33 64 63 74 70 7qUD3oFRuIIhxdRjq.erQ0cuAjJ3dctp
1c8200 44 71 68 69 56 41 71 2b 38 7a 44 38 75 66 67 72 36 69 49 50 76 32 74 53 30 61 35 73 4b 46 73 58 DqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsX
1c8220 51 50 2b 38 68 6c 41 71 52 53 41 55 66 64 53 53 4c 42 76 39 6a 72 61 36 78 2b 33 75 78 6a 0a 4d QP+8hlAqRSAUfdSSLBv9jra6x+3uxj.M
1c8240 78 57 33 49 77 69 50 78 67 2b 4e 51 56 72 64 6a 73 57 35 6a 2b 56 46 50 33 6a 62 75 74 49 62 51 xW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQ
1c8260 4c 48 2b 63 55 30 2f 34 49 47 69 75 6c 36 30 37 42 58 67 6b 39 30 49 48 33 37 68 56 5a 6b 4c 49 LH+cU0/4IGiul607BXgk90IH37hVZkLI
1c8280 64 36 54 6e 67 72 37 35 71 4e 4a 0a 76 54 59 77 2f 75 64 33 73 71 42 31 6c 37 55 74 67 59 67 58 d6Tngr75qNJ.vTYw/ud3sqB1l7UtgYgX
1c82a0 5a 53 44 33 32 70 41 41 6e 38 6c 53 7a 44 4c 4b 4e 58 7a 31 50 51 2f 59 4b 39 66 31 4a 6d 7a 4a ZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJ
1c82c0 42 6a 53 57 46 75 70 77 57 52 6f 79 65 58 6b 4c 74 6f 68 2f 44 31 4a 49 0a 50 62 39 73 32 4b 4a BjSWFupwWRoyeXkLtoh/D1JI.Pb9s2KJ
1c82e0 45 4c 74 46 4f 74 33 4a 59 30 34 6b 54 6c 66 35 45 71 2f 6a 58 69 78 74 75 6e 4c 77 73 6f 46 76 ELtFOt3JY04kTlf5Eq/jXixtunLwsoFv
1c8300 56 61 67 43 76 58 7a 66 68 31 66 6f 51 43 35 69 63 68 75 63 6d 6a 38 37 77 37 47 36 4b 56 77 75 VagCvXzfh1foQC5ichucmj87w7G6KVwu
1c8320 41 34 30 36 79 0a 77 4b 42 6a 59 5a 43 36 56 57 67 33 64 47 71 32 6b 74 75 66 6f 59 59 69 74 6d A406y.wKBjYZC6VWg3dGq2ktufoYYitm
1c8340 55 6e 44 75 79 32 6e 30 4a 67 35 47 66 43 74 64 70 42 43 38 54 54 69 32 45 62 76 50 6f 66 6b 53 UnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkS
1c8360 76 58 52 41 64 65 75 69 6d 73 32 63 58 70 37 31 4e 49 0a 57 75 75 41 38 53 68 59 49 63 32 77 42 vXRAdeuims2cXp71NI.WuuA8ShYIc2wB
1c8380 6c 58 37 4a 7a 39 54 6b 48 43 70 42 42 35 58 4a 37 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 lX7Jz9TkHCpBB5XJ7k=.-----END.CER
1c83a0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 52 6f 6f 74 20 43 65 72 74 TIFICATE-----..SSL.com.Root.Cert
1c83c0 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d ification.Authority.ECC.========
1c83e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c8400 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1c8420 43 6a 54 43 43 41 68 53 67 41 77 49 42 41 67 49 49 64 65 62 66 79 38 46 6f 57 36 67 77 43 67 59 CjTCCAhSgAwIBAgIIdebfy8FoW6gwCgY
1c8440 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 77 66 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d IKoZIzj0EAwIwfDELMAkGA1UEBhMCVVM
1c8460 78 44 6a 41 4d 42 67 4e 56 0a 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 xDjAMBgNV.BAgMBVRleGFzMRAwDgYDVQ
1c8480 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 QHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0
1c84a0 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 4d 54 41 76 0a 42 67 4e 56 42 41 4d 4d 4b wgQ29ycG9yYXRpb24xMTAv.BgNVBAMMK
1c84c0 46 4e 54 54 43 35 6a 62 32 30 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 FNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0a
1c84e0 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 46 51 30 4d 77 48 68 63 4e 4d 54 59 77 4d W9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwM
1c8500 6a 45 79 0a 4d 54 67 78 4e 44 41 7a 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 67 78 4e 44 41 7a jEy.MTgxNDAzWhcNNDEwMjEyMTgxNDAz
1c8520 57 6a 42 38 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 31 55 45 WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UE
1c8540 43 41 77 46 56 47 56 34 59 58 4d 78 45 44 41 4f 0a 42 67 4e 56 42 41 63 4d 42 30 68 76 64 58 4e CAwFVGV4YXMxEDAO.BgNVBAcMB0hvdXN
1c8560 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 62 33 4a 0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3J
1c8580 68 64 47 6c 76 62 6a 45 78 4d 43 38 47 41 31 55 45 41 77 77 6f 55 31 4e 4d 4c 6d 4e 76 0a 62 53 hdGlvbjExMC8GA1UEAwwoU1NMLmNv.bS
1c85a0 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 BSb290IENlcnRpZmljYXRpb24gQXV0aG
1c85c0 39 79 61 58 52 35 49 45 56 44 51 7a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 9yaXR5IEVDQzB2MBAGByqGSM49AgEGBS
1c85e0 75 42 42 41 41 69 41 32 49 41 0a 42 45 56 75 71 56 44 45 70 69 4d 32 6e 6c 38 6f 6a 52 66 4c 6c uBBAAiA2IA.BEVuqVDEpiM2nl8ojRfLl
1c8600 69 4a 6b 50 39 78 36 6a 68 33 4d 43 4c 4f 69 63 53 53 36 6a 6b 6d 35 42 42 74 48 6c 6c 69 72 4c iJkP9x6jh3MCLOicSS6jkm5BBtHllirL
1c8620 5a 58 49 37 5a 34 49 4e 63 67 6e 36 34 6d 4d 55 31 6a 72 59 6f 72 2b 0a 38 46 73 50 61 7a 46 53 ZXI7Z4INcgn64mMU1jrYor+.8FsPazFS
1c8640 59 30 45 37 69 63 33 73 37 4c 61 4e 47 64 4d 30 42 39 79 37 78 67 5a 2f 77 6b 57 56 37 4d 74 2f Y0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/
1c8660 71 43 50 67 43 65 6d 42 2b 76 4e 48 30 36 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 qCPgCemB+vNH06NjMGEwHQYDVR0OBBYE
1c8680 46 49 4c 52 0a 68 58 4d 77 35 7a 55 45 30 34 34 43 6b 76 76 6c 70 4e 48 45 49 65 6a 4e 4d 41 38 FILR.hXMw5zUE044CkvvlpNHEIejNMA8
1c86a0 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBg
1c86c0 77 46 6f 41 55 67 74 47 46 63 7a 44 6e 4e 51 54 54 0a 6a 67 4b 53 2b 2b 57 6b 30 63 51 68 36 4d wFoAUgtGFczDnNQTT.jgKS++Wk0cQh6M
1c86e0 30 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 6f 47 43 43 71 47 53 4d 0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM
1c8700 34 39 42 41 4d 43 41 32 63 41 4d 47 51 43 4d 47 2f 6e 36 31 6b 52 70 47 44 50 59 62 43 57 0a 65 49BAMCA2cAMGQCMG/n61kRpGDPYbCW.e
1c8720 2b 30 46 2b 53 38 54 6b 64 7a 74 35 66 78 51 61 78 46 47 52 72 4d 63 49 51 42 69 75 37 37 44 35 +0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5
1c8740 2b 6a 4e 42 35 6e 35 44 51 74 64 63 6a 37 45 71 67 49 77 48 37 79 36 43 2b 49 77 4a 50 74 38 62 +jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8b
1c8760 59 42 56 43 70 6b 2b 67 41 30 7a 0a 35 57 61 6a 73 36 4f 37 70 64 57 4c 6a 77 6b 73 70 6c 31 2b YBVCpk+gA0z.5Wajs6O7pdWLjwkspl1+
1c8780 34 76 41 48 43 47 68 74 30 6e 78 70 62 6c 2f 66 35 57 70 6c 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 4vAHCGht0nxpbl/f5Wpl.-----END.CE
1c87a0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 45 56 20 52 6f 6f 74 20 RTIFICATE-----..SSL.com.EV.Root.
1c87c0 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 52 53 41 20 52 32 0a 3d Certification.Authority.RSA.R2.=
1c87e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c8800 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c8820 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 36 7a 43 43 41 39 4f 67 41 77 49 42 41 67 49 49 56 72 CATE-----.MIIF6zCCA9OgAwIBAgIIVr
1c8840 59 70 7a 54 53 38 65 50 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 67 59 YpzTS8ePYwDQYJKoZIhvcNAQELBQAwgY
1c8860 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 51 34 77 0a 44 41 59 44 56 51 51 49 44 IxCzAJBgNVBAYTAlVTMQ4w.DAYDVQQID
1c8880 41 56 55 5a 58 68 68 63 7a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 53 47 39 31 63 33 52 76 62 AVUZXhhczEQMA4GA1UEBwwHSG91c3Rvb
1c88a0 6a 45 59 4d 42 59 47 41 31 55 45 43 67 77 50 55 31 4e 4d 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 jEYMBYGA1UECgwPU1NMIENvcnBvcmF0a
1c88c0 57 39 75 0a 4d 54 63 77 4e 51 59 44 56 51 51 44 44 43 35 54 55 30 77 75 59 32 39 74 49 45 56 57 W9u.MTcwNQYDVQQDDC5TU0wuY29tIEVW
1c88e0 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRo
1c8900 62 33 4a 70 64 48 6b 67 55 6c 4e 42 49 46 49 79 0a 4d 42 34 58 44 54 45 33 4d 44 55 7a 4d 54 45 b3JpdHkgUlNBIFIy.MB4XDTE3MDUzMTE
1c8920 34 4d 54 51 7a 4e 31 6f 58 44 54 51 79 4d 44 55 7a 4d 44 45 34 4d 54 51 7a 4e 31 6f 77 67 59 49 4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYI
1c8940 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 51 34 77 44 41 59 44 56 51 51 49 0a 44 41 xCzAJBgNVBAYTAlVTMQ4wDAYDVQQI.DA
1c8960 56 55 5a 58 68 68 63 7a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 53 47 39 31 63 33 52 76 62 6a VUZXhhczEQMA4GA1UEBwwHSG91c3Rvbj
1c8980 45 59 4d 42 59 47 41 31 55 45 43 67 77 50 55 31 4e 4d 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 EYMBYGA1UECgwPU1NMIENvcnBvcmF0aW
1c89a0 39 75 4d 54 63 77 4e 51 59 44 0a 56 51 51 44 44 43 35 54 55 30 77 75 59 32 39 74 49 45 56 57 49 9uMTcwNQYD.VQQDDC5TU0wuY29tIEVWI
1c89c0 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 FJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob
1c89e0 33 4a 70 64 48 6b 67 55 6c 4e 42 49 46 49 79 4d 49 49 43 49 6a 41 4e 0a 42 67 6b 71 68 6b 69 47 3JpdHkgUlNBIFIyMIICIjAN.BgkqhkiG
1c8a00 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 6a 7a 5a 6c 9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZl
1c8a20 51 4f 48 57 54 63 44 58 74 4f 6c 47 32 6d 76 71 4d 30 66 4e 54 50 6c 39 66 62 36 39 4c 54 33 77 QOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w
1c8a40 32 33 6a 68 0a 68 71 58 5a 75 67 6c 58 61 4f 31 58 50 71 44 51 43 45 47 44 35 79 68 42 4a 42 2f 23jh.hqXZuglXaO1XPqDQCEGD5yhBJB/
1c8a60 6a 63 68 58 51 41 52 72 37 58 6e 41 6a 73 73 75 66 4f 65 50 50 78 55 37 47 6b 6d 30 6d 78 6e 75 jchXQARr7XnAjssufOePPxU7Gkm0mxnu
1c8a80 37 73 39 6f 6e 6e 51 71 47 36 59 45 33 42 66 37 77 0a 63 58 48 73 77 78 7a 70 59 36 49 58 46 4a 7s9onnQqG6YE3Bf7w.cXHswxzpY6IXFJ
1c8aa0 33 76 47 32 66 54 68 56 55 43 41 74 5a 4a 79 63 78 61 34 62 48 33 62 7a 4b 66 79 64 51 37 69 45 3vG2fThVUCAtZJycxa4bH3bzKfydQ7iE
1c8ac0 47 6f 6e 4c 33 4c 71 39 74 74 65 77 6b 66 6f 6b 78 79 6b 4e 6f 72 43 50 7a 50 50 46 54 4f 0a 5a GonL3Lq9ttewkfokxykNorCPzPPFTO.Z
1c8ae0 77 2b 6f 7a 31 32 57 47 51 76 45 34 33 4c 72 72 64 46 39 48 53 66 76 6b 75 73 51 76 31 76 72 4f w+oz12WGQvE43LrrdF9HSfvkusQv1vrO
1c8b00 36 2f 50 67 4e 33 42 30 70 59 45 57 33 70 2b 70 4b 6b 38 4f 48 61 6b 59 6f 36 67 4f 56 37 71 64 6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd
1c8b20 38 39 64 41 46 6d 50 5a 69 77 2b 0a 42 36 4b 6a 42 53 59 52 61 5a 66 71 68 62 63 50 6c 67 74 4c 89dAFmPZiw+.B6KjBSYRaZfqhbcPlgtL
1c8b40 79 45 44 68 55 4c 6f 75 69 73 76 33 44 35 6f 69 35 33 2b 61 4e 78 50 4e 38 6b 30 54 61 79 48 52 yEDhULouisv3D5oi53+aNxPN8k0TayHR
1c8b60 77 4d 77 69 38 71 46 47 39 6b 52 70 6e 4d 70 68 4e 51 63 41 62 39 5a 68 0a 43 42 48 71 75 72 6a wMwi8qFG9kRpnMphNQcAb9Zh.CBHqurj
1c8b80 32 36 62 4e 67 35 55 32 35 37 4a 38 55 5a 73 6c 58 57 4e 76 4e 68 32 6e 34 69 6f 59 53 41 30 65 26bNg5U257J8UZslXWNvNh2n4ioYSA0e
1c8ba0 2f 5a 68 4e 32 72 48 64 39 4e 43 53 46 67 38 33 58 71 70 79 51 47 70 38 68 4c 48 39 34 74 32 53 /ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S
1c8bc0 34 32 4f 69 6d 0a 39 48 69 7a 56 63 75 45 30 6a 4c 45 65 4b 36 6a 6a 32 48 64 7a 67 68 54 72 65 42Oim.9HizVcuE0jLEeK6jj2HdzghTre
1c8be0 79 49 2f 42 58 6b 6d 67 33 6d 6e 78 70 33 7a 6b 79 50 75 42 51 56 50 57 4b 63 68 6a 67 47 41 47 yI/BXkmg3mnxp3zkyPuBQVPWKchjgGAG
1c8c00 59 53 35 46 6c 32 57 6c 50 41 41 70 69 69 45 43 74 6f 0a 52 48 75 4f 65 63 34 7a 53 6e 61 71 57 YS5Fl2WlPAApiiECto.RHuOec4zSnaqW
1c8c20 34 45 57 47 37 57 4b 32 4e 41 41 65 31 35 69 74 41 6e 57 68 6d 4d 4f 70 67 57 56 53 62 6f 6f 69 4EWG7WK2NAAe15itAnWhmMOpgWVSbooi
1c8c40 34 69 54 73 6a 51 63 32 4b 52 56 62 72 63 63 30 4e 36 5a 56 54 73 6a 39 43 4c 67 2b 53 6c 6d 0a 4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm.
1c8c60 4a 75 77 67 55 48 66 62 53 67 75 50 76 75 55 43 59 48 42 42 58 74 53 75 55 44 6b 69 46 43 62 4c JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbL
1c8c80 73 6a 74 7a 64 46 56 48 42 33 6d 42 4f 61 67 77 45 30 54 6c 42 49 71 75 6c 68 4d 6c 51 67 2b 35 sjtzdFVHB3mBOagwE0TlBIqulhMlQg+5
1c8ca0 55 38 53 62 2f 4d 33 6b 48 4e 34 38 0a 2b 71 76 57 42 6b 6f 66 5a 36 61 59 4d 42 7a 64 4c 4e 76 U8Sb/M3kHN48.+qvWBkofZ6aYMBzdLNv
1c8cc0 63 47 4a 56 58 5a 73 62 2f 58 49 74 57 39 58 63 43 41 77 45 41 41 61 4e 6a 4d 47 45 77 44 77 59 cGJVXZsb/XItW9XcCAwEAAaNjMGEwDwY
1c8ce0 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 66 42 67 4e 56 0a 48 53 4d 45 47 44 DVR0TAQH/BAUwAwEB/zAfBgNV.HSMEGD
1c8d00 41 57 67 42 54 35 59 4c 76 55 34 39 55 30 39 72 6a 31 42 6f 41 6c 70 33 50 62 52 6d 6d 6f 6e 6a AWgBT5YLvU49U09rj1BoAlp3PbRmmonj
1c8d20 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 2b 57 43 37 31 4f 50 56 4e 50 61 34 39 51 61 41 4a 61 AdBgNVHQ4EFgQU+WC71OPVNPa49QaAJa
1c8d40 64 7a 32 30 5a 70 0a 71 4a 34 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d dz20Zp.qJ4wDgYDVR0PAQH/BAQDAgGGM
1c8d60 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 42 57 73 34 37 4c 43 A0GCSqGSIb3DQEBCwUAA4ICAQBWs47LC
1c8d80 70 31 4a 6a 72 2b 6b 78 4a 47 37 5a 68 63 46 55 5a 68 31 0a 2b 2b 56 51 4c 48 71 65 38 52 54 36 p1Jjr+kxJG7ZhcFUZh1.++VQLHqe8RT6
1c8da0 71 39 4f 4b 50 76 2b 52 4b 59 39 6a 69 39 69 30 71 56 51 42 44 62 36 54 68 69 2f 35 53 6d 33 48 q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3H
1c8dc0 58 76 56 58 2b 63 70 56 48 42 4b 2b 52 77 38 32 78 64 39 71 74 39 74 31 77 6b 63 6c 66 37 6e 78 XvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx
1c8de0 0a 59 2f 68 6f 4c 56 55 45 30 66 4b 4e 73 4b 54 50 76 44 78 65 48 33 6a 6e 70 61 41 67 63 4c 41 .Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLA
1c8e00 45 78 62 66 33 63 71 66 65 49 67 32 39 4d 79 56 47 6a 47 53 53 4a 75 4d 2b 4c 6d 4f 57 32 70 75 Exbf3cqfeIg29MyVGjGSSJuM+LmOW2pu
1c8e20 4d 50 66 67 59 43 64 63 44 7a 48 32 47 0a 67 75 44 4b 42 41 64 52 55 4e 66 2f 6b 74 55 4d 37 39 MPfgYCdcDzH2G.guDKBAdRUNf/ktUM79
1c8e40 71 47 6e 35 6e 58 36 37 65 76 61 4f 49 35 4a 70 53 36 61 4c 65 2f 67 39 50 71 65 6d 63 39 59 6d qGn5nX67evaOI5JpS6aLe/g9Pqemc9Ym
1c8e60 65 75 4a 65 56 79 36 4f 4c 6b 37 4b 34 53 39 6b 73 72 50 4a 2f 70 73 45 44 7a 0a 4f 46 53 7a 2f euJeVy6OLk7K4S9ksrPJ/psEDz.OFSz/
1c8e80 62 64 6f 79 4e 72 47 6a 31 45 38 73 76 75 52 33 42 7a 6e 6d 35 33 68 74 77 31 79 6a 2b 4b 6b 78 bdoyNrGj1E8svuR3Bznm53htw1yj+Kkx
1c8ea0 4b 6c 34 2b 65 73 55 72 4d 5a 44 42 63 4a 6c 4f 53 67 59 41 73 4f 43 73 70 30 46 76 6d 58 74 6c Kl4+esUrMZDBcJlOSgYAsOCsp0FvmXtl
1c8ec0 6c 39 6c 64 44 7a 37 0a 43 54 55 75 65 35 77 54 2f 52 73 50 58 63 64 74 67 54 70 57 44 38 77 37 l9ldDz7.CTUue5wT/RsPXcdtgTpWD8w7
1c8ee0 34 61 38 43 4c 79 4b 73 52 73 70 47 50 4b 41 63 54 4e 5a 45 74 46 34 75 58 42 56 6d 43 65 45 6d 4a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm
1c8f00 4b 66 37 47 55 6d 47 36 73 58 50 2f 77 77 79 63 35 57 78 71 0a 6c 44 38 55 79 6b 41 57 6c 59 54 Kf7GUmG6sXP/wwyc5Wxq.lD8UykAWlYT
1c8f20 7a 57 61 6d 73 58 30 78 68 6b 32 33 52 4f 38 79 69 6c 51 77 69 70 6d 64 6e 52 43 36 35 32 64 4b zWamsX0xhk23RO8yilQwipmdnRC652dK
1c8f40 4b 51 62 4e 6d 43 31 72 37 66 53 4f 6c 38 68 71 77 2f 39 36 62 67 35 51 75 30 54 2f 66 6b 72 65 KQbNmC1r7fSOl8hqw/96bg5Qu0T/fkre
1c8f60 52 0a 72 77 55 37 5a 63 65 67 62 4c 48 4e 59 68 4c 44 6b 42 76 6a 4a 63 34 30 76 47 39 33 64 72 R.rwU7ZcegbLHNYhLDkBvjJc40vG93dr
1c8f80 45 51 77 2f 63 46 47 73 44 57 72 33 52 69 53 42 64 33 6b 6d 6d 51 59 52 7a 65 6c 59 42 30 56 49 EQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI
1c8fa0 38 59 48 4d 50 7a 41 39 43 2f 70 45 4e 31 0a 68 6c 4d 59 65 67 6f 75 43 52 77 32 6e 35 48 39 67 8YHMPzA9C/pEN1.hlMYegouCRw2n5H9g
1c8fc0 6f 6f 69 53 39 45 4f 55 43 58 64 79 77 4d 4d 46 38 6d 44 41 41 68 4f 4e 55 32 4b 69 2b 33 77 41 ooiS9EOUCXdywMMF8mDAAhONU2Ki+3wA
1c8fe0 70 52 6d 4c 45 52 2f 79 35 55 6e 6c 68 65 74 43 54 43 73 74 6e 45 58 62 6f 73 58 0a 39 68 77 4a pRmLER/y5UnlhetCTCstnEXbosX.9hwJ
1c9000 31 43 30 37 6d 4b 56 78 30 31 51 54 32 57 44 7a 39 55 74 6d 54 2f 72 78 37 69 41 53 6a 62 53 73 1C07mKVx01QT2WDz9UtmT/rx7iASjbSs
1c9020 56 37 46 46 59 36 47 73 64 71 6e 43 2b 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 V7FFY6GsdqnC+w==.-----END.CERTIF
1c9040 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f 6d 20 45 56 20 52 6f 6f 74 20 43 65 72 74 ICATE-----..SSL.com.EV.Root.Cert
1c9060 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d ification.Authority.ECC.========
1c9080 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c90a0 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1c90c0 4d 49 49 43 6c 44 43 43 41 68 71 67 41 77 49 42 41 67 49 49 4c 43 6d 63 57 78 62 74 42 5a 55 77 MIIClDCCAhqgAwIBAgIILCmcWxbtBZUw
1c90e0 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 77 66 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 CgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC
1c9100 56 56 4d 78 44 6a 41 4d 42 67 4e 56 0a 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 VVMxDjAMBgNV.BAgMBVRleGFzMRAwDgY
1c9120 44 56 51 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 DVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9
1c9140 54 55 30 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 4e 44 41 79 0a 42 67 4e 56 42 41 TU0wgQ29ycG9yYXRpb24xNDAy.BgNVBA
1c9160 4d 4d 4b 31 4e 54 54 43 35 6a 62 32 30 67 52 56 59 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 MMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aW
1c9180 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 46 51 30 4d 77 48 68 ZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHh
1c91a0 63 4e 4d 54 59 77 0a 4d 6a 45 79 4d 54 67 78 4e 54 49 7a 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d cNMTYw.MjEyMTgxNTIzWhcNNDEwMjEyM
1c91c0 54 67 78 4e 54 49 7a 57 6a 42 2f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d TgxNTIzWjB/MQswCQYDVQQGEwJVUzEOM
1c91e0 41 77 47 41 31 55 45 43 41 77 46 56 47 56 34 59 58 4d 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 4d AwGA1UECAwFVGV4YXMx.EDAOBgNVBAcM
1c9200 42 30 68 76 64 58 4e 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 B0hvdXN0b24xGDAWBgNVBAoMD1NTTCBD
1c9220 62 33 4a 77 62 33 4a 68 64 47 6c 76 62 6a 45 30 4d 44 49 47 41 31 55 45 41 77 77 72 55 31 4e 4d b3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM
1c9240 0a 4c 6d 4e 76 62 53 42 46 56 69 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 .LmNvbSBFViBSb290IENlcnRpZmljYXR
1c9260 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 45 56 44 51 7a 42 32 4d 42 41 47 42 79 71 pb24gQXV0aG9yaXR5IEVDQzB2MBAGByq
1c9280 47 53 4d 34 39 41 67 45 47 42 53 75 42 0a 42 41 41 69 41 32 49 41 42 4b 6f 53 52 35 43 59 47 2f GSM49AgEGBSuB.BAAiA2IABKoSR5CYG/
1c92a0 76 76 77 30 41 48 67 79 42 4f 38 54 43 43 6f 67 62 52 38 70 4b 47 59 66 4c 32 49 57 6a 4b 41 4d vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAM
1c92c0 54 48 36 6b 4d 41 56 49 62 63 2f 52 2f 66 41 4c 68 42 59 6c 7a 63 63 42 59 79 0a 33 68 2b 5a 31 TH6kMAVIbc/R/fALhBYlzccBYy.3h+Z1
1c92e0 4d 7a 46 42 38 67 49 48 32 45 57 42 31 45 39 66 56 77 48 55 2b 4d 31 4f 49 7a 66 7a 5a 2f 5a 4c MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZL
1c9300 67 31 4b 74 68 6b 75 57 6e 42 61 42 75 32 2b 38 4b 47 77 79 74 41 4a 4b 61 4e 6a 4d 47 45 77 48 g1KthkuWnBaBu2+8KGwytAJKaNjMGEwH
1c9320 51 59 44 56 52 30 4f 0a 42 42 59 45 46 46 76 4b 58 75 58 65 30 6f 47 71 7a 61 67 74 5a 46 47 32 QYDVR0O.BBYEFFvKXuXe0oGqzagtZFG2
1c9340 32 58 4b 62 6c 2b 5a 50 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 2XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8w
1c9360 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 57 38 70 65 0a 35 64 37 53 67 61 72 4e 71 43 31 HwYDVR0jBBgwFoAUW8pe.5d7SgarNqC1
1c9380 6b 55 62 62 5a 63 70 75 58 35 6b 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgG
1c93a0 47 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 32 67 41 4d 47 55 43 4d 51 43 4b 35 6b 43 GMAoGCCqGSM49BAMCA2gAMGUCMQCK5kC
1c93c0 4a 0a 4e 2b 76 70 31 52 50 5a 79 74 52 72 4a 50 4f 77 50 59 64 47 57 42 72 73 73 64 39 76 2b 31 J.N+vp1RPZytRrJPOwPYdGWBrssd9v+1
1c93e0 61 36 63 47 76 48 4f 4d 7a 6f 73 59 78 50 44 2f 66 78 5a 33 59 4f 67 39 41 65 55 59 38 43 4d 44 a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD
1c9400 33 32 49 79 67 6d 54 4d 5a 67 68 35 4d 6d 0a 6d 37 49 31 48 72 72 57 39 7a 7a 52 48 4d 37 36 4a 32IygmTMZgh5Mm.m7I1HrrW9zzRHM76J
1c9420 54 79 6d 47 6f 45 56 57 2f 4d 53 44 32 7a 75 5a 59 72 4a 68 36 6a 35 42 2b 42 69 6d 6f 78 63 53 TymGoEVW/MSD2zuZYrJh6j5B+BimoxcS
1c9440 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 3c 3f g==.-----END.CERTIFICATE-----.<?
1c9460 70 68 70 0a 0a 69 66 20 28 50 48 50 5f 53 41 50 49 20 21 3d 3d 20 27 63 6c 69 27 29 20 7b 0a 20 php..if.(PHP_SAPI.!==.'cli').{..
1c9480 20 20 20 65 63 68 6f 20 27 57 61 72 6e 69 6e 67 3a 20 43 6f 6d 70 6f 73 65 72 20 73 68 6f 75 6c ...echo.'Warning:.Composer.shoul
1c94a0 64 20 62 65 20 69 6e 76 6f 6b 65 64 20 76 69 61 20 74 68 65 20 43 4c 49 20 76 65 72 73 69 6f 6e d.be.invoked.via.the.CLI.version
1c94c0 20 6f 66 20 50 48 50 2c 20 6e 6f 74 20 74 68 65 20 27 2e 50 48 50 5f 53 41 50 49 2e 27 20 53 41 .of.PHP,.not.the.'.PHP_SAPI.'.SA
1c94e0 50 49 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 41 4c 4c PI'.PHP_EOL;.}..setlocale(LC_ALL
1c9500 2c 20 27 43 27 29 3b 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 73 72 63 ,.'C');.require.__DIR__.'/../src
1c9520 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 /bootstrap.php';..use.Composer\C
1c9540 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 onsole\Application;.use.Composer
1c9560 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 65 \XdebugHandler\XdebugHandler;..e
1c9580 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 2d 31 29 3b 0a 0a 2f 2f 20 52 65 73 74 61 72 74 20 rror_reporting(-1);..//.Restart.
1c95a0 77 69 74 68 6f 75 74 20 78 64 65 62 75 67 0a 24 78 64 65 62 75 67 20 3d 20 6e 65 77 20 58 64 65 without.xdebug.$xdebug.=.new.Xde
1c95c0 62 75 67 48 61 6e 64 6c 65 72 28 27 43 6f 6d 70 6f 73 65 72 27 2c 20 27 2d 2d 61 6e 73 69 27 29 bugHandler('Composer',.'--ansi')
1c95e0 3b 0a 24 78 64 65 62 75 67 2d 3e 63 68 65 63 6b 28 29 3b 0a 75 6e 73 65 74 28 24 78 64 65 62 75 ;.$xdebug->check();.unset($xdebu
1c9600 67 29 3b 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 69 6e 69 5f 73 65 g);..if.(function_exists('ini_se
1c9620 74 27 29 29 20 7b 0a 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 t')).{.....@ini_set('display_err
1c9640 6f 72 73 27 2c 20 31 29 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 20 3d 20 ors',.1);......$memoryInBytes.=.
1c9660 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 24 75 6e 69 function.($value).{.........$uni
1c9680 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 31 t.=.strtolower(substr($value,.-1
1c96a0 2c 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 76 ,.1));.........$value.=.(int).$v
1c96c0 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 24 75 6e 69 74 29 20 7b 0a 20 20 alue;.........switch($unit).{...
1c96e0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........case.'g':.............
1c9700 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....$value.*=.1024;.............
1c9720 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d 75 6c 61 74 69 76 65 20 6d 75 6c 74 ....//.no.break.(cumulative.mult
1c9740 69 70 6c 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 6d 27 3a 0a 20 20 iplier).............case.'m':...
1c9760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 ..............$value.*=.1024;...
1c9780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d 75 6c ..............//.no.break.(cumul
1c97a0 61 74 69 76 65 20 6d 75 6c 74 69 70 6c 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 ative.multiplier).............ca
1c97c0 73 65 20 27 6b 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a se.'k':.................$value.*
1c97e0 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 =.1024;.........}..........retur
1c9800 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 4c 69 6d n.$value;.....};......$memoryLim
1c9820 69 74 20 3d 20 74 72 69 6d 28 69 6e 69 5f 67 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 it.=.trim(ini_get('memory_limit'
1c9840 29 29 3b 0a 20 20 20 20 2f 2f 20 49 6e 63 72 65 61 73 65 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 ));.....//.Increase.memory_limit
1c9860 20 69 66 20 69 74 20 69 73 20 6c 6f 77 65 72 20 74 68 61 6e 20 31 2e 35 47 42 0a 20 20 20 20 69 .if.it.is.lower.than.1.5GB.....i
1c9880 66 20 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 21 3d 20 2d 31 20 26 26 20 24 6d 65 6d 6f 72 79 f.($memoryLimit.!=.-1.&&.$memory
1c98a0 49 6e 42 79 74 65 73 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 20 3c 20 31 30 32 34 20 2a 20 31 InBytes($memoryLimit).<.1024.*.1
1c98c0 30 32 34 20 2a 20 31 35 33 36 29 20 7b 0a 20 20 20 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 024.*.1536).{.........@ini_set('
1c98e0 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 27 31 35 33 36 4d 27 29 3b 0a 20 20 20 20 7d 0a 20 memory_limit',.'1536M');.....}..
1c9900 20 20 20 2f 2f 20 53 65 74 20 75 73 65 72 20 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 69 ...//.Set.user.defined.memory.li
1c9920 6d 69 74 0a 20 20 20 20 69 66 20 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 3d 20 67 65 74 65 6e mit.....if.($memoryLimit.=.geten
1c9940 76 28 27 43 4f 4d 50 4f 53 45 52 5f 4d 45 4d 4f 52 59 5f 4c 49 4d 49 54 27 29 29 20 7b 0a 20 20 v('COMPOSER_MEMORY_LIMIT')).{...
1c9960 20 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 24 ......@ini_set('memory_limit',.$
1c9980 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 65 74 28 24 6d memoryLimit);.....}.....unset($m
1c99a0 65 6d 6f 72 79 49 6e 42 79 74 65 73 2c 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 3b 0a 7d 0a 0a emoryInBytes,.$memoryLimit);.}..
1c99c0 70 75 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 41 52 59 3d 27 2e 72 65 61 6c 70 61 putenv('COMPOSER_BINARY='.realpa
1c99e0 74 68 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 29 3b 0a 0a 2f 2f 20 72 75 th($_SERVER['argv'][0]));..//.ru
1c9a00 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 24 61 70 70 6c 69 n.the.command.application.$appli
1c9a20 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 61 70 70 cation.=.new.Application();.$app
1c9a40 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 29 3b 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 lication->run();..Copyright.(c).
1c9a60 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 2c 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 Nils.Adermann,.Jordi.Boggiano..P
1c9a80 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 ermission.is.hereby.granted,.fre
1c9aa0 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 e.of.charge,.to.any.person.obtai
1c9ac0 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 ning.a.copy.of.this.software.and
1c9ae0 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 .associated.documentation.files.
1c9b00 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 (the."Software"),.to.deal.in.the
1c9b20 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 .Software.without.restriction,.i
1c9b40 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 ncluding.without.limitation.the.
1c9b60 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 rights.to.use,.copy,.modify,.mer
1c9b80 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 ge,.publish,.distribute,.sublice
1c9ba0 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 nse,.and/or.sell.copies.of.the.S
1c9bc0 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 oftware,.and.to.permit.persons.t
1c9be0 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 o.whom.the.Software.is.furnished
1c9c00 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 .to.do.so,.subject.to.the.follow
1c9c20 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 ing.conditions:..The.above.copyr
1c9c40 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 ight.notice.and.this.permission.
1c9c60 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a notice.shall.be.included.in.all.
1c9c80 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f copies.or.substantial.portions.o
1c9ca0 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 f.the.Software...THE.SOFTWARE.IS
1c9cc0 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 .PROVIDED."AS.IS",.WITHOUT.WARRA
1c9ce0 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c NTY.OF.ANY.KIND,.EXPRESS.OR.IMPL
1c9d00 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 IED,.INCLUDING.BUT.NOT.LIMITED.T
1c9d20 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c O.THE.WARRANTIES.OF.MERCHANTABIL
1c9d40 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 ITY,.FITNESS.FOR.A.PARTICULAR.PU
1c9d60 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f RPOSE.AND.NONINFRINGEMENT..IN.NO
1c9d80 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 .EVENT.SHALL.THE.AUTHORS.OR.COPY
1c9da0 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 RIGHT.HOLDERS.BE.LIABLE.FOR.ANY.
1c9dc0 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 CLAIM,.DAMAGES.OR.OTHER.LIABILIT
1c9de0 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 Y,.WHETHER.IN.AN.ACTION.OF.CONTR
1c9e00 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 ACT,.TORT.OR.OTHERWISE,.ARISING.
1c9e20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 FROM,.OUT.OF.OR.IN.CONNECTION.WI
1c9e40 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 TH.THE.SOFTWARE.OR.THE.USE.OR.OT
1c9e60 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 51 HER.DEALINGS.IN.THE.SOFTWARE...Q
1c9e80 6d 2f 0c 1f 93 b9 f8 65 6e a8 89 69 ad cf b3 d1 6e 2a 6c 02 00 00 00 47 42 4d 42 m/.....en..i....n*l....GBMB