aboutsummaryrefslogtreecommitdiff
path: root/tests/cfgs/default/pcap/shell.pcap
blob: f542e960e275b59e1b5755cbfae58aefd1bdf437 (plain)
ofshex dumpascii
0000 d4 c3 b2 a1 02 00 04 00 00 00 00 00 00 00 00 00 00 00 04 00 01 00 00 00 82 f6 12 66 87 17 05 00 ...........................f....
0020 4a 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 3c 50 83 40 00 40 06 J...J.................E..<P.@.@.
0040 ec 36 7f 00 00 01 7f 00 00 01 ba 16 82 35 4e 49 f7 f6 00 00 00 00 a0 02 ff d7 fe 30 00 00 02 04 .6...........5NI...........0....
0060 ff d7 04 02 08 0a 8a 16 f8 67 00 00 00 00 01 03 03 07 82 f6 12 66 92 17 05 00 4a 00 00 00 4a 00 .........g...........f....J...J.
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 3c 00 00 40 00 40 06 3c ba 7f 00 00 01 ................E..<..@.@.<.....
00a0 7f 00 00 01 82 35 ba 16 7c 11 b8 07 4e 49 f7 f7 a0 12 ff cb fe 30 00 00 02 04 ff d7 04 02 08 0a .....5..|...NI.......0..........
00c0 8a 16 f8 67 8a 16 f8 67 01 03 03 07 82 f6 12 66 9c 17 05 00 42 00 00 00 42 00 00 00 00 00 00 00 ...g...g.......f....B...B.......
00e0 00 00 00 00 00 00 00 00 08 00 45 00 00 34 50 84 40 00 40 06 ec 3d 7f 00 00 01 7f 00 00 01 ba 16 ..........E..4P.@.@..=..........
0100 82 35 4e 49 f7 f7 7c 11 b8 08 80 10 02 00 fe 28 00 00 01 01 08 0a 8a 16 f8 67 8a 16 f8 67 82 f6 .5NI..|........(.........g...g..
0120 12 66 bd 17 05 00 eb 03 00 00 eb 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 03 dd .f..........................E...
0140 50 85 40 00 40 06 e8 93 7f 00 00 01 7f 00 00 01 ba 16 82 35 4e 49 f7 f7 7c 11 b8 08 80 18 02 00 P.@.@..............5NI..|.......
0160 01 d2 00 00 01 01 08 0a 8a 16 f8 67 8a 16 f8 67 23 21 2f 62 69 6e 2f 73 68 0a 0a 23 20 41 63 74 ...........g...g#!/bin/sh..#.Act
0180 69 6f 6e 20 73 63 72 69 70 74 20 74 6f 20 65 6e 61 62 6c 65 2f 64 69 73 61 62 6c 65 20 77 70 61 ion.script.to.enable/disable.wpa
01a0 2d 72 6f 61 6d 20 69 6e 74 65 72 66 61 63 65 73 20 69 6e 20 72 65 61 63 74 69 6f 6e 20 74 6f 0a -roam.interfaces.in.reaction.to.
01c0 23 20 69 66 70 6c 75 67 64 20 65 76 65 6e 74 73 2e 0a 23 0a 23 20 43 6f 70 79 72 69 67 68 74 3a #.ifplugd.events..#.#.Copyright:
01e0 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 38 2d 32 30 31 30 2c 20 4b 65 6c 20 4d 6f .Copyright.(c).2008-2010,.Kel.Mo
0200 64 64 65 72 6d 61 6e 20 3c 6b 65 6c 40 6f 74 61 6b 75 34 32 2e 64 65 3e 0a 23 20 4c 69 63 65 6e dderman.<kel@otaku42.de>.#.Licen
0220 73 65 3a 20 20 20 47 50 4c 2d 32 0a 23 0a 0a 50 41 54 48 3d 2f 73 62 69 6e 3a 2f 75 73 72 2f 73 se:...GPL-2.#..PATH=/sbin:/usr/s
0240 62 69 6e 3a 2f 62 69 6e 3a 2f 75 73 72 2f 62 69 6e 0a 0a 69 66 20 5b 20 21 20 2d 78 20 2f 73 62 bin:/bin:/usr/bin..if.[.!.-x./sb
0260 69 6e 2f 77 70 61 5f 61 63 74 69 6f 6e 20 5d 3b 20 74 68 65 6e 0a 09 65 78 69 74 20 30 0a 66 69 in/wpa_action.];.then..exit.0.fi
0280 0a 0a 23 20 69 66 70 6c 75 67 64 28 38 29 20 2d 20 3c 69 66 61 63 65 3e 20 3c 61 63 74 69 6f 6e ..#.ifplugd(8).-.<iface>.<action
02a0 3e 0a 23 0a 23 20 49 66 20 61 6e 20 69 66 70 6c 75 67 64 20 6d 61 6e 61 67 65 64 20 69 6e 74 65 >.#.#.If.an.ifplugd.managed.inte
02c0 72 66 61 63 65 20 69 73 20 62 72 6f 75 67 68 74 20 75 70 2c 20 64 69 73 63 6f 6e 6e 65 63 74 20 rface.is.brought.up,.disconnect.
02e0 61 6e 79 0a 23 20 77 70 61 2d 72 6f 61 6d 20 6d 61 6e 61 67 65 64 20 69 6e 74 65 72 66 61 63 65 any.#.wpa-roam.managed.interface
0300 73 20 73 6f 20 74 68 61 74 20 6f 6e 6c 79 20 6f 6e 65 20 22 72 6f 61 6d 69 6e 67 22 20 69 6e 74 s.so.that.only.one."roaming".int
0320 65 72 66 61 63 65 0a 23 20 72 65 6d 61 69 6e 73 20 61 63 74 69 76 65 20 6f 6e 20 74 68 65 20 73 erface.#.remains.active.on.the.s
0340 79 73 74 65 6d 2e 0a 0a 49 46 50 4c 55 47 44 5f 49 46 41 43 45 3d 22 24 7b 31 7d 22 0a 0a 63 61 ystem...IFPLUGD_IFACE="${1}"..ca
0360 73 65 20 22 24 7b 32 7d 22 20 69 6e 0a 09 75 70 29 0a 09 09 43 4f 4d 4d 41 4e 44 3d 64 69 73 63 se."${2}".in..up)...COMMAND=disc
0380 6f 6e 6e 65 63 74 0a 09 09 3b 3b 0a 09 64 6f 77 6e 29 0a 09 09 43 4f 4d 4d 41 4e 44 3d 72 65 63 onnect...;;..down)...COMMAND=rec
03a0 6f 6e 6e 65 63 74 0a 09 09 3b 3b 0a 09 2a 29 0a 09 09 65 63 68 6f 20 22 24 30 3a 20 75 6e 6b 6e onnect...;;..*)...echo."$0:.unkn
03c0 6f 77 6e 20 61 72 67 75 6d 65 6e 74 73 3a 20 24 7b 40 7d 22 20 3e 26 32 0a 09 09 65 78 69 74 20 own.arguments:.${@}".>&2...exit.
03e0 31 0a 09 09 3b 3b 0a 65 73 61 63 0a 0a 66 6f 72 20 43 54 52 4c 20 69 6e 20 2f 72 75 6e 2f 77 70 1...;;.esac..for.CTRL.in./run/wp
0400 61 5f 73 75 70 70 6c 69 63 61 6e 74 2f 2a 3b 20 64 6f 0a 09 5b 20 2d 53 20 22 24 7b 43 54 52 4c a_supplicant/*;.do..[.-S."${CTRL
0420 7d 22 20 5d 20 7c 7c 20 63 6f 6e 74 69 6e 75 65 0a 0a 09 49 46 41 43 45 3d 22 24 7b 43 54 52 4c }".].||.continue...IFACE="${CTRL
0440 23 2f 72 75 6e 2f 77 70 61 5f 73 75 70 70 6c 69 63 61 6e 74 2f 7d 22 0a 0a 09 23 20 73 6b 69 70 #/run/wpa_supplicant/}"...#.skip
0460 20 69 66 20 69 66 70 6c 75 67 64 20 69 73 20 6d 61 6e 61 67 69 6e 67 20 74 68 69 73 20 69 6e 74 .if.ifplugd.is.managing.this.int
0480 65 72 66 61 63 65 0a 09 69 66 20 5b 20 22 24 7b 49 46 50 4c 55 47 44 5f 49 46 41 43 45 7d 22 20 erface..if.[."${IFPLUGD_IFACE}".
04a0 3d 20 22 24 7b 49 46 41 43 45 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 63 6f 6e 74 69 6e 75 65 0a =."${IFACE}".];.then...continue.
04c0 09 66 69 0a 0a 09 69 66 20 77 70 61 5f 61 63 74 69 6f 6e 20 22 24 7b 49 46 41 43 45 7d 22 20 63 .fi...if.wpa_action."${IFACE}".c
04e0 68 65 63 6b 3b 20 74 68 65 6e 0a 09 09 77 70 61 5f 63 6c 69 20 2d 69 20 22 24 7b 49 46 41 43 45 heck;.then...wpa_cli.-i."${IFACE
0500 7d 22 20 22 24 7b 43 4f 4d 4d 41 4e 44 7d 22 0a 09 66 69 0a 64 6f 6e 65 0a 82 f6 12 66 c2 17 05 }"."${COMMAND}"..fi.done....f...
0520 00 42 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 35 fa 40 00 40 .B...B.................E..45.@.@
0540 06 06 c8 7f 00 00 01 7f 00 00 01 82 35 ba 16 7c 11 b8 08 4e 49 fb a0 80 10 01 f9 fe 28 00 00 01 ............5..|...NI.......(...
0560 01 08 0a 8a 16 f8 67 8a 16 f8 67 86 f6 12 66 ee 3a 07 00 42 00 00 00 42 00 00 00 00 00 00 00 00 ......g...g...f.:..B...B........
0580 00 00 00 00 00 00 00 08 00 45 00 00 34 35 fb 40 00 40 06 06 c7 7f 00 00 01 7f 00 00 01 82 35 ba .........E..45.@.@............5.
05a0 16 7c 11 b8 08 4e 49 fb a0 80 11 02 00 fe 28 00 00 01 01 08 0a 8a 17 08 93 8a 16 f8 67 86 f6 12 .|...NI.......(.............g...
05c0 66 1d 3b 07 00 42 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 50 f.;..B...B.................E..4P
05e0 86 40 00 40 06 ec 3b 7f 00 00 01 7f 00 00 01 ba 16 82 35 4e 49 fb a0 7c 11 b8 09 80 11 02 00 fe .@.@..;...........5NI..|........
0600 28 00 00 01 01 08 0a 8a 17 08 93 8a 17 08 93 86 f6 12 66 30 3b 07 00 42 00 00 00 42 00 00 00 00 (.................f0;..B...B....
0620 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 35 fc 40 00 40 06 06 c6 7f 00 00 01 7f 00 00 .............E..45.@.@..........
0640 01 82 35 ba 16 7c 11 b8 09 4e 49 fb a1 80 10 02 00 fe 28 00 00 01 01 08 0a 8a 17 08 93 8a 17 08 ..5..|...NI.......(.............
0660 93 9e f6 12 66 24 fd 02 00 d3 03 00 00 d3 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 ....f$.........................E
0680 00 03 c5 b1 8f 40 00 40 11 87 96 7f 00 00 01 7f 00 00 01 d3 60 82 35 03 b1 01 c5 23 21 2f 62 69 .....@.@............`.5....#!/bi
06a0 6e 2f 73 68 0a 0a 23 20 41 63 74 69 6f 6e 20 73 63 72 69 70 74 20 74 6f 20 65 6e 61 62 6c 65 2f n/sh..#.Action.script.to.enable/
06c0 64 69 73 61 62 6c 65 20 77 70 61 2d 72 6f 61 6d 20 69 6e 74 65 72 66 61 63 65 73 20 69 6e 20 72 disable.wpa-roam.interfaces.in.r
06e0 65 61 63 74 69 6f 6e 20 74 6f 0a 23 20 69 66 70 6c 75 67 64 20 65 76 65 6e 74 73 2e 0a 23 0a 23 eaction.to.#.ifplugd.events..#.#
0700 20 43 6f 70 79 72 69 67 68 74 3a 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 38 2d 32 .Copyright:.Copyright.(c).2008-2
0720 30 31 30 2c 20 4b 65 6c 20 4d 6f 64 64 65 72 6d 61 6e 20 3c 6b 65 6c 40 6f 74 61 6b 75 34 32 2e 010,.Kel.Modderman.<kel@otaku42.
0740 64 65 3e 0a 23 20 4c 69 63 65 6e 73 65 3a 20 20 20 47 50 4c 2d 32 0a 23 0a 0a 50 41 54 48 3d 2f de>.#.License:...GPL-2.#..PATH=/
0760 73 62 69 6e 3a 2f 75 73 72 2f 73 62 69 6e 3a 2f 62 69 6e 3a 2f 75 73 72 2f 62 69 6e 0a 0a 69 66 sbin:/usr/sbin:/bin:/usr/bin..if
0780 20 5b 20 21 20 2d 78 20 2f 73 62 69 6e 2f 77 70 61 5f 61 63 74 69 6f 6e 20 5d 3b 20 74 68 65 6e .[.!.-x./sbin/wpa_action.];.then
07a0 0a 09 65 78 69 74 20 30 0a 66 69 0a 0a 23 20 69 66 70 6c 75 67 64 28 38 29 20 2d 20 3c 69 66 61 ..exit.0.fi..#.ifplugd(8).-.<ifa
07c0 63 65 3e 20 3c 61 63 74 69 6f 6e 3e 0a 23 0a 23 20 49 66 20 61 6e 20 69 66 70 6c 75 67 64 20 6d ce>.<action>.#.#.If.an.ifplugd.m
07e0 61 6e 61 67 65 64 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 62 72 6f 75 67 68 74 20 75 70 2c 20 anaged.interface.is.brought.up,.
0800 64 69 73 63 6f 6e 6e 65 63 74 20 61 6e 79 0a 23 20 77 70 61 2d 72 6f 61 6d 20 6d 61 6e 61 67 65 disconnect.any.#.wpa-roam.manage
0820 64 20 69 6e 74 65 72 66 61 63 65 73 20 73 6f 20 74 68 61 74 20 6f 6e 6c 79 20 6f 6e 65 20 22 72 d.interfaces.so.that.only.one."r
0840 6f 61 6d 69 6e 67 22 20 69 6e 74 65 72 66 61 63 65 0a 23 20 72 65 6d 61 69 6e 73 20 61 63 74 69 oaming".interface.#.remains.acti
0860 76 65 20 6f 6e 20 74 68 65 20 73 79 73 74 65 6d 2e 0a 0a 49 46 50 4c 55 47 44 5f 49 46 41 43 45 ve.on.the.system...IFPLUGD_IFACE
0880 3d 22 24 7b 31 7d 22 0a 0a 63 61 73 65 20 22 24 7b 32 7d 22 20 69 6e 0a 09 75 70 29 0a 09 09 43 ="${1}"..case."${2}".in..up)...C
08a0 4f 4d 4d 41 4e 44 3d 64 69 73 63 6f 6e 6e 65 63 74 0a 09 09 3b 3b 0a 09 64 6f 77 6e 29 0a 09 09 OMMAND=disconnect...;;..down)...
08c0 43 4f 4d 4d 41 4e 44 3d 72 65 63 6f 6e 6e 65 63 74 0a 09 09 3b 3b 0a 09 2a 29 0a 09 09 65 63 68 COMMAND=reconnect...;;..*)...ech
08e0 6f 20 22 24 30 3a 20 75 6e 6b 6e 6f 77 6e 20 61 72 67 75 6d 65 6e 74 73 3a 20 24 7b 40 7d 22 20 o."$0:.unknown.arguments:.${@}".
0900 3e 26 32 0a 09 09 65 78 69 74 20 31 0a 09 09 3b 3b 0a 65 73 61 63 0a 0a 66 6f 72 20 43 54 52 4c >&2...exit.1...;;.esac..for.CTRL
0920 20 69 6e 20 2f 72 75 6e 2f 77 70 61 5f 73 75 70 70 6c 69 63 61 6e 74 2f 2a 3b 20 64 6f 0a 09 5b .in./run/wpa_supplicant/*;.do..[
0940 20 2d 53 20 22 24 7b 43 54 52 4c 7d 22 20 5d 20 7c 7c 20 63 6f 6e 74 69 6e 75 65 0a 0a 09 49 46 .-S."${CTRL}".].||.continue...IF
0960 41 43 45 3d 22 24 7b 43 54 52 4c 23 2f 72 75 6e 2f 77 70 61 5f 73 75 70 70 6c 69 63 61 6e 74 2f ACE="${CTRL#/run/wpa_supplicant/
0980 7d 22 0a 0a 09 23 20 73 6b 69 70 20 69 66 20 69 66 70 6c 75 67 64 20 69 73 20 6d 61 6e 61 67 69 }"...#.skip.if.ifplugd.is.managi
09a0 6e 67 20 74 68 69 73 20 69 6e 74 65 72 66 61 63 65 0a 09 69 66 20 5b 20 22 24 7b 49 46 50 4c 55 ng.this.interface..if.[."${IFPLU
09c0 47 44 5f 49 46 41 43 45 7d 22 20 3d 20 22 24 7b 49 46 41 43 45 7d 22 20 5d 3b 20 74 68 65 6e 0a GD_IFACE}".=."${IFACE}".];.then.
09e0 09 09 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a 0a 09 69 66 20 77 70 61 5f 61 63 74 69 6f 6e 20 22 ..continue..fi...if.wpa_action."
0a00 24 7b 49 46 41 43 45 7d 22 20 63 68 65 63 6b 3b 20 74 68 65 6e 0a 09 09 77 70 61 5f 63 6c 69 20 ${IFACE}".check;.then...wpa_cli.
0a20 2d 69 20 22 24 7b 49 46 41 43 45 7d 22 20 22 24 7b 43 4f 4d 4d 41 4e 44 7d 22 0a 09 66 69 0a 64 -i."${IFACE}"."${COMMAND}"..fi.d
0a40 6f 6e 65 0a b3 f6 12 66 f1 67 05 00 6e 14 00 00 6e 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 one....f.g..n...n...............
0a60 08 00 45 00 14 60 b2 3f 40 00 40 11 76 4b 7f 00 00 01 7f 00 00 01 e4 aa 82 35 14 4c 12 60 23 21 ..E..`.?@.@.vK...........5.L.`#!
0a80 20 2f 62 69 6e 2f 73 68 0a 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 33 2c ./bin/sh.#.#.Copyright.(C).2003,
0aa0 20 32 30 30 35 2d 32 30 30 37 2c 20 32 30 31 31 2c 20 32 30 31 38 2d 32 30 32 30 20 46 72 65 65 .2005-2007,.2011,.2018-2020.Free
0ac0 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 23 0a 23 20 54 .Software.Foundation,.Inc..#.#.T
0ae0 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f his.program.is.free.software:.yo
0b00 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 u.can.redistribute.it.and/or.mod
0b20 69 66 79 0a 23 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 ify.#.it.under.the.terms.of.the.
0b40 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 65 6e 73 GNU.Lesser.General.Public.Licens
0b60 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 74 68 65 20 46 72 65 65 20 53 6f 66 e.as.published.by.#.the.Free.Sof
0b80 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e tware.Foundation;.either.version
0ba0 20 32 2e 31 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 28 61 74 20 79 6f .2.1.of.the.License,.or.#.(at.yo
0bc0 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a ur.option).any.later.version..#.
0be0 23 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e #.This.program.is.distributed.in
0c00 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
0c20 2c 0a 23 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 ,.#.but.WITHOUT.ANY.WARRANTY;.wi
0c40 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 thout.even.the.implied.warranty.
0c60 6f 66 0a 23 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 of.#.MERCHANTABILITY.or.FITNESS.
0c80 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
0ca0 68 65 0a 23 20 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 he.#.GNU.Lesser.General.Public.L
0cc0 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 icense.for.more.details..#.#.You
0ce0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
0d00 74 68 65 20 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 the.GNU.Lesser.General.Public.Li
0d20 63 65 6e 73 65 0a 23 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e cense.#.along.with.this.program.
0d40 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f ..If.not,.see.<https://www.gnu.o
0d60 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 23 0a 0a 23 20 46 69 6e 64 20 61 20 77 61 79 20 74 rg/licenses/>..#..#.Find.a.way.t
0d80 6f 20 65 63 68 6f 20 73 74 72 69 6e 67 73 20 77 69 74 68 6f 75 74 20 69 6e 74 65 72 70 72 65 74 o.echo.strings.without.interpret
0da0 69 6e 67 20 62 61 63 6b 73 6c 61 73 68 2e 0a 69 66 20 74 65 73 74 20 22 58 60 28 65 63 68 6f 20 ing.backslash..if.test."X`(echo.
0dc0 27 5c 74 27 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 '\t').2>/dev/null`".=.'X\t';.the
0de0 6e 0a 20 20 65 63 68 6f 3d 27 65 63 68 6f 27 0a 65 6c 73 65 0a 20 20 69 66 20 74 65 73 74 20 22 n...echo='echo'.else...if.test."
0e00 58 60 28 70 72 69 6e 74 66 20 27 25 73 5c 6e 27 20 27 5c 74 27 29 20 32 3e 2f 64 65 76 2f 6e 75 X`(printf.'%s\n'.'\t').2>/dev/nu
0e20 6c 6c 60 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f 3d 27 70 72 69 ll`".=.'X\t';.then.....echo='pri
0e40 6e 74 66 20 25 73 5c 6e 27 0a 20 20 65 6c 73 65 0a 20 20 20 20 65 63 68 6f 5f 66 75 6e 63 20 28 ntf.%s\n'...else.....echo_func.(
0e60 29 20 7b 0a 20 20 20 20 20 20 63 61 74 20 3c 3c 45 4f 54 0a 24 2a 0a 45 4f 54 0a 20 20 20 20 7d ).{.......cat.<<EOT.$*.EOT.....}
0e80 0a 20 20 20 20 65 63 68 6f 3d 27 65 63 68 6f 5f 66 75 6e 63 27 0a 20 20 66 69 0a 66 69 0a 0a 23 .....echo='echo_func'...fi.fi..#
0ea0 20 54 68 69 73 20 73 63 72 69 70 74 20 69 73 20 70 72 69 6d 61 72 69 6c 79 20 61 20 73 68 65 6c .This.script.is.primarily.a.shel
0ec0 6c 20 66 75 6e 63 74 69 6f 6e 20 6c 69 62 72 61 72 79 2e 20 49 6e 20 6f 72 64 65 72 20 66 6f 72 l.function.library..In.order.for
0ee0 0a 23 20 22 2e 20 67 65 74 74 65 78 74 2e 73 68 22 20 74 6f 20 66 69 6e 64 20 69 74 2c 20 77 65 .#."..gettext.sh".to.find.it,.we
0f00 20 69 6e 73 74 61 6c 6c 20 69 74 20 69 6e 20 24 50 52 45 46 49 58 2f 62 69 6e 20 28 74 68 61 74 .install.it.in.$PREFIX/bin.(that
0f20 20 69 73 20 75 73 75 61 6c 6c 79 0a 23 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 24 50 41 54 48 .is.usually.#.contained.in.$PATH
0f40 29 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 69 6e 20 73 6f 6d 65 20 6f 74 68 65 72 20 6c 6f 63 ),.rather.than.in.some.other.loc
0f60 61 74 69 6f 6e 20 73 75 63 68 20 61 73 0a 23 20 24 50 52 45 46 49 58 2f 73 68 61 72 65 2f 73 68 ation.such.as.#.$PREFIX/share/sh
0f80 2d 73 63 72 69 70 74 73 20 6f 72 20 24 50 52 45 46 49 58 2f 73 68 61 72 65 2f 67 65 74 74 65 78 -scripts.or.$PREFIX/share/gettex
0fa0 74 2e 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 6e 6f 74 20 76 69 6f 6c 61 74 65 0a 23 20 74 68 65 t..In.order.to.not.violate.#.the
0fc0 20 46 69 6c 65 73 79 73 74 65 6d 20 48 69 65 72 61 72 63 68 79 20 53 74 61 6e 64 61 72 64 20 77 .Filesystem.Hierarchy.Standard.w
0fe0 68 65 6e 20 64 6f 69 6e 67 20 73 6f 2c 20 74 68 69 73 20 73 63 72 69 70 74 20 69 73 20 65 78 65 hen.doing.so,.this.script.is.exe
1000 63 75 74 61 62 6c 65 2e 0a 23 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6e 65 65 64 73 20 74 6f cutable..#.Therefore.it.needs.to
1020 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 2d 2d 68 65 6c 70 20 61 6e 64 .support.the.standard.--help.and
1040 20 2d 2d 76 65 72 73 69 6f 6e 2e 0a 69 66 20 74 65 73 74 20 2d 7a 20 22 24 7b 5a 53 48 5f 56 45 .--version..if.test.-z."${ZSH_VE
1060 52 53 49 4f 4e 2b 73 65 74 7d 22 3b 20 74 68 65 6e 0a 20 20 23 20 7a 73 68 20 69 73 20 6e 6f 74 RSION+set}";.then...#.zsh.is.not
1080 20 50 4f 53 49 58 20 63 6f 6d 70 6c 69 61 6e 74 3a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 77 68 .POSIX.compliant:.By.default,.wh
10a0 69 6c 65 20 22 2e 20 67 65 74 74 65 78 74 2e 73 68 22 20 69 73 20 65 78 65 63 75 74 65 64 2c 0a ile."..gettext.sh".is.executed,.
10c0 20 20 23 20 69 74 20 73 65 74 73 20 24 30 20 74 6f 20 22 67 65 74 74 65 78 74 2e 73 68 22 2c 20 ..#.it.sets.$0.to."gettext.sh",.
10e0 64 65 66 65 61 74 69 6e 67 20 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 74 65 defeating.the.purpose.of.this.te
1100 73 74 2e 20 42 75 74 0a 20 20 23 20 66 6f 72 74 75 6e 61 74 65 6c 79 20 77 65 20 6b 6e 6f 77 20 st..But...#.fortunately.we.know.
1120 74 68 61 74 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 75 6e 64 65 72 20 7a 73 68 2c 20 74 68 69 that.when.running.under.zsh,.thi
1140 73 20 73 63 72 69 70 74 20 69 73 20 61 6c 77 61 79 73 0a 20 20 23 20 62 65 69 6e 67 20 73 6f 75 s.script.is.always...#.being.sou
1160 72 63 65 64 2c 20 6e 6f 74 20 65 78 65 63 75 74 65 64 2c 20 62 65 63 61 75 73 65 20 68 61 72 64 rced,.not.executed,.because.hard
1180 6c 79 20 61 6e 79 6f 6e 65 20 69 73 20 63 72 61 7a 79 20 65 6e 6f 75 67 68 20 74 6f 0a 20 20 23 ly.anyone.is.crazy.enough.to...#
11a0 20 69 6e 73 74 61 6c 6c 20 7a 73 68 20 61 73 20 2f 62 69 6e 2f 73 68 2e 0a 20 20 63 61 73 65 20 .install.zsh.as./bin/sh....case.
11c0 22 24 30 22 20 69 6e 0a 20 20 20 20 67 65 74 74 65 78 74 2e 73 68 20 7c 20 2a 2f 67 65 74 74 65 "$0".in.....gettext.sh.|.*/gette
11e0 78 74 2e 73 68 20 7c 20 2a 5c 5c 67 65 74 74 65 78 74 2e 73 68 29 0a 20 20 20 20 20 20 70 72 6f xt.sh.|.*\\gettext.sh).......pro
1200 67 6e 61 6d 65 3d 24 30 0a 20 20 20 20 20 20 70 61 63 6b 61 67 65 3d 67 65 74 74 65 78 74 2d 72 gname=$0.......package=gettext-r
1220 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3d 30 2e 32 31 0a 20 20 20 20 20 20 untime.......version=0.21.......
1240 23 20 66 75 6e 63 5f 75 73 61 67 65 0a 20 20 20 20 20 20 23 20 6f 75 74 70 75 74 73 20 74 6f 20 #.func_usage.......#.outputs.to.
1260 73 74 64 6f 75 74 20 74 68 65 20 2d 2d 68 65 6c 70 20 75 73 61 67 65 20 6d 65 73 73 61 67 65 2e stdout.the.--help.usage.message.
1280 0a 20 20 20 20 20 20 66 75 6e 63 5f 75 73 61 67 65 20 28 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 .......func_usage.().......{....
12a0 20 20 20 20 20 65 63 68 6f 20 22 47 4e 55 20 67 65 74 74 65 78 74 20 73 68 65 6c 6c 20 73 63 72 .....echo."GNU.gettext.shell.scr
12c0 69 70 74 20 66 75 6e 63 74 69 6f 6e 20 6c 69 62 72 61 72 79 20 76 65 72 73 69 6f 6e 20 24 76 65 ipt.function.library.version.$ve
12e0 72 73 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 55 73 61 67 65 3a 20 2e 20 67 65 rsion".........echo."Usage:...ge
1300 74 74 65 78 74 2e 73 68 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 23 20 66 75 6e 63 5f 76 ttext.sh".......}.......#.func_v
1320 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 23 20 6f 75 74 70 75 74 73 20 74 6f 20 73 74 64 6f 75 74 ersion.......#.outputs.to.stdout
1340 20 74 68 65 20 2d 2d 76 65 72 73 69 6f 6e 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 20 66 75 .the.--version.message........fu
1360 6e 63 5f 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 63 nc_version.().......{.........ec
1380 68 6f 20 22 24 70 72 6f 67 6e 61 6d 65 20 28 47 4e 55 20 24 70 61 63 6b 61 67 65 29 20 24 76 65 ho."$progname.(GNU.$package).$ve
13a0 72 73 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 43 6f 70 79 72 69 67 68 74 20 28 rsion".........echo."Copyright.(
13c0 43 29 20 32 30 30 33 2d 32 30 32 30 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 C).2003-2020.Free.Software.Found
13e0 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 4c 69 63 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e 55 20 ation,.Inc..License.GPLv2+:.GNU.
1400 47 50 4c 20 76 65 72 73 69 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 20 3c 68 74 74 70 73 3a 2f 2f GPL.version.2.or.later.<https://
1420 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 67 70 6c 2e 68 74 6d 6c 3e 0a 54 68 69 73 20 gnu.org/licenses/gpl.html>.This.
1440 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 is.free.software:.you.are.free.t
1460 6f 20 63 68 61 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 0a 54 68 o.change.and.redistribute.it..Th
1480 65 72 65 20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e ere.is.NO.WARRANTY,.to.the.exten
14a0 74 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 22 0a 20 20 20 20 20 20 20 20 65 63 68 t.permitted.by.law.".........ech
14c0 6f 20 22 57 72 69 74 74 65 6e 20 62 79 22 20 22 42 72 75 6e 6f 20 48 61 69 62 6c 65 22 0a 20 20 o."Written.by"."Bruno.Haible"...
14e0 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 24 23 20 3d 20 31 3b 20 74 68 65 6e ....}.......if.test.$#.=.1;.then
1500 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 22 24 31 22 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 .........case."$1".in...........
1520 2d 2d 68 65 6c 70 20 7c 20 2d 2d 68 65 6c 20 7c 20 2d 2d 68 65 20 7c 20 2d 2d 68 20 29 0a 20 20 --help.|.--hel.|.--he.|.--h.)...
1540 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 5f 75 73 61 67 65 3b 20 65 78 69 74 20 30 20 3b 3b 0a ..........func_usage;.exit.0.;;.
1560 20 20 20 20 20 20 20 20 20 20 2d 2d 76 65 72 73 69 6f 6e 20 7c 20 2d 2d 76 65 72 73 69 6f 20 7c ..........--version.|.--versio.|
1580 20 2d 2d 76 65 72 73 69 20 7c 20 2d 2d 76 65 72 73 20 7c 20 2d 2d 76 65 72 20 7c 20 2d 2d 76 65 .--versi.|.--vers.|.--ver.|.--ve
15a0 20 7c 20 2d 2d 76 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 5f 76 65 72 73 69 6f .|.--v.).............func_versio
15c0 6e 3b 20 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 n;.exit.0.;;.........esac.......
15e0 66 69 0a 20 20 20 20 20 20 66 75 6e 63 5f 75 73 61 67 65 20 31 3e 26 32 0a 20 20 20 20 20 20 65 fi.......func_usage.1>&2.......e
1600 78 69 74 20 31 0a 20 20 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a 66 69 0a 0a 23 20 65 76 61 6c xit.1.......;;...esac.fi..#.eval
1620 5f 67 65 74 74 65 78 74 20 4d 53 47 49 44 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 _gettext.MSGID.#.looks.up.the.tr
1640 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 anslation.of.MSGID.and.substitut
1660 65 73 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 0a 23 20 72 65 73 75 es.shell.variables.in.the.#.resu
1680 6c 74 2e 0a 65 76 61 6c 5f 67 65 74 74 65 78 74 20 28 29 20 7b 0a 20 20 67 65 74 74 65 78 74 20 lt..eval_gettext.().{...gettext.
16a0 22 24 31 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d "$1".|.(export.PATH.`envsubst.--
16c0 76 61 72 69 61 62 6c 65 73 20 22 24 31 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 31 22 29 0a variables."$1"`;.envsubst."$1").
16e0 7d 0a 0a 23 20 65 76 61 6c 5f 6e 67 65 74 74 65 78 74 20 4d 53 47 49 44 20 4d 53 47 49 44 2d 50 }..#.eval_ngettext.MSGID.MSGID-P
1700 4c 55 52 41 4c 20 43 4f 55 4e 54 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 61 6e 73 LURAL.COUNT.#.looks.up.the.trans
1720 6c 61 74 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 2f 20 4d 53 47 49 44 2d 50 4c 55 52 41 4c 20 66 lation.of.MSGID./.MSGID-PLURAL.f
1740 6f 72 20 43 4f 55 4e 54 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 0a 23 20 73 68 65 6c 6c or.COUNT.and.substitutes.#.shell
1760 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f 6e .variables.in.the.result..eval_n
1780 67 65 74 74 65 78 74 20 28 29 20 7b 0a 20 20 6e 67 65 74 74 65 78 74 20 22 24 31 22 20 22 24 32 gettext.().{...ngettext."$1"."$2
17a0 22 20 22 24 33 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 "."$3".|.(export.PATH.`envsubst.
17c0 2d 2d 76 61 72 69 61 62 6c 65 73 20 22 24 31 20 24 32 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 --variables."$1.$2"`;.envsubst."
17e0 24 31 20 24 32 22 29 0a 7d 0a 0a 23 20 65 76 61 6c 5f 70 67 65 74 74 65 78 74 20 4d 53 47 43 54 $1.$2").}..#.eval_pgettext.MSGCT
1800 58 54 20 4d 53 47 49 44 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 61 6e 73 6c 61 74 XT.MSGID.#.looks.up.the.translat
1820 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 4d 53 47 43 ion.of.MSGID.in.the.context.MSGC
1840 54 58 54 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 0a 23 20 73 68 65 6c 6c 20 76 61 72 69 TXT.and.substitutes.#.shell.vari
1860 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f 70 67 65 74 74 65 ables.in.the.result..eval_pgette
1880 78 74 20 28 29 20 7b 0a 20 20 67 65 74 74 65 78 74 20 2d 2d 63 6f 6e 74 65 78 74 3d 22 24 31 22 xt.().{...gettext.--context="$1"
18a0 20 22 24 32 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d ."$2".|.(export.PATH.`envsubst.-
18c0 2d 76 61 72 69 61 62 6c 65 73 20 22 24 32 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 32 22 29 -variables."$2"`;.envsubst."$2")
18e0 0a 7d 0a 0a 23 20 65 76 61 6c 5f 6e 70 67 65 74 74 65 78 74 20 4d 53 47 43 54 58 54 20 4d 53 47 .}..#.eval_npgettext.MSGCTXT.MSG
1900 49 44 20 4d 53 47 49 44 2d 50 4c 55 52 41 4c 20 43 4f 55 4e 54 0a 23 20 6c 6f 6f 6b 73 20 75 70 ID.MSGID-PLURAL.COUNT.#.looks.up
1920 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 2f 20 4d 53 47 49 .the.translation.of.MSGID./.MSGI
1940 44 2d 50 4c 55 52 41 4c 20 66 6f 72 20 43 4f 55 4e 54 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 D-PLURAL.for.COUNT.in.the.contex
1960 74 0a 23 20 4d 53 47 43 54 58 54 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 20 73 68 65 6c t.#.MSGCTXT.and.substitutes.shel
1980 6c 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f l.variables.in.the.result..eval_
19a0 6e 70 67 65 74 74 65 78 74 20 28 29 20 7b 0a 20 20 6e 67 65 74 74 65 78 74 20 2d 2d 63 6f 6e 74 npgettext.().{...ngettext.--cont
19c0 65 78 74 3d 22 24 31 22 20 22 24 32 22 20 22 24 33 22 20 22 24 34 22 20 7c 20 28 65 78 70 6f 72 ext="$1"."$2"."$3"."$4".|.(expor
19e0 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 22 24 32 t.PATH.`envsubst.--variables."$2
1a00 20 24 33 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 32 20 24 33 22 29 0a 7d 0a 0a 23 20 4e 6f .$3"`;.envsubst."$2.$3").}..#.No
1a20 74 65 3a 20 54 68 69 73 20 75 73 65 20 6f 66 20 65 6e 76 73 75 62 73 74 20 69 73 20 6d 75 63 68 te:.This.use.of.envsubst.is.much
1a40 20 73 61 66 65 72 20 74 68 61 6e 20 75 73 69 6e 67 20 74 68 65 20 73 68 65 6c 6c 20 62 75 69 6c .safer.than.using.the.shell.buil
1a60 74 2d 69 6e 20 27 65 76 61 6c 27 0a 23 20 77 6f 75 6c 64 20 62 65 2e 0a 23 20 31 29 20 54 68 65 t-in.'eval'.#.would.be..#.1).The
1a80 20 73 65 63 75 72 69 74 79 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 43 68 69 6e 65 73 65 20 74 .security.problem.with.Chinese.t
1aa0 72 61 6e 73 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 68 61 70 70 65 6e 20 74 6f 20 75 73 65 20 61 ranslations.that.happen.to.use.a
1ac0 0a 23 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 75 63 68 20 61 73 20 5c 78 65 30 5c 78 36 30 .#....character.such.as.\xe0\x60
1ae0 20 69 73 20 61 76 6f 69 64 65 64 2e 0a 23 20 32 29 20 54 68 65 20 73 65 63 75 72 69 74 79 20 70 .is.avoided..#.2).The.security.p
1b00 72 6f 62 6c 65 6d 20 77 69 74 68 20 6d 61 6c 65 76 6f 6c 65 6e 74 20 74 72 61 6e 73 6c 61 74 6f roblem.with.malevolent.translato
1b20 72 73 20 77 68 6f 20 70 75 74 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 73 0a 23 20 20 20 rs.who.put.in.command.lists.#...
1b40 20 6c 69 6b 65 20 22 24 28 2e 2e 2e 29 22 20 6f 72 20 22 60 2e 2e 2e 60 22 20 69 73 20 61 76 6f .like."$(...)".or."`...`".is.avo
1b60 69 64 65 64 2e 0a 23 20 33 29 20 54 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 63 61 6e 20 ided..#.3).The.translations.can.
1b80 6f 6e 6c 79 20 72 65 66 65 72 20 74 6f 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 74 68 only.refer.to.shell.variables.th
1ba0 61 74 20 61 72 65 20 61 6c 72 65 61 64 79 0a 23 20 20 20 20 6d 65 6e 74 69 6f 6e 65 64 20 69 6e at.are.already.#....mentioned.in
1bc0 20 4d 53 47 49 44 20 6f 72 20 4d 53 47 49 44 2d 50 4c 55 52 41 4c 2e 0a 23 0a 23 20 4e 6f 74 65 .MSGID.or.MSGID-PLURAL..#.#.Note
1be0 3a 20 22 65 78 70 6f 72 74 20 50 41 54 48 22 20 61 62 6f 76 65 20 69 73 20 61 20 64 75 6d 6d 79 :."export.PATH".above.is.a.dummy
1c00 3b 20 74 68 69 73 20 69 73 20 66 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 0a 23 20 60 65 ;.this.is.for.the.case.when.#.`e
1c20 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 2e 2e 2e 60 20 72 65 74 75 72 6e 73 nvsubst.--variables....`.returns
1c40 20 6e 6f 74 68 69 6e 67 2e 0a 23 0a 23 20 4e 6f 74 65 3a 20 49 6e 20 65 76 61 6c 5f 6e 67 65 74 .nothing..#.#.Note:.In.eval_nget
1c60 74 65 78 74 20 61 62 6f 76 65 2c 20 22 24 31 20 24 32 22 20 6d 65 61 6e 73 20 61 20 73 74 72 69 text.above,."$1.$2".means.a.stri
1c80 6e 67 20 77 68 6f 73 65 20 76 61 72 69 61 62 6c 65 73 20 73 65 74 20 69 73 0a 23 20 74 68 65 20 ng.whose.variables.set.is.#.the.
1ca0 75 6e 69 6f 6e 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 73 65 74 20 6f 66 20 22 24 union.of.the.variables.set.of."$
1cc0 31 22 20 61 6e 64 20 22 24 32 22 2e 0a 23 0a 23 20 4e 6f 74 65 3a 20 54 68 65 20 6d 69 6e 69 6d 1".and."$2"..#.#.Note:.The.minim
1ce0 61 6c 20 75 73 65 20 6f 66 20 62 61 63 6b 71 75 6f 74 65 20 61 62 6f 76 65 20 65 6e 73 75 72 65 al.use.of.backquote.above.ensure
1d00 73 20 74 68 61 74 20 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c 69 6e 65 73 20 61 72 65 0a 23 20 6e s.that.trailing.newlines.are.#.n
1d20 6f 74 20 64 72 6f 70 70 65 64 2c 20 6e 6f 74 20 66 72 6f 6d 20 74 68 65 20 67 65 74 74 65 78 74 ot.dropped,.not.from.the.gettext
1d40 20 69 6e 76 6f 63 61 74 69 6f 6e 20 61 6e 64 20 6e 6f 74 20 66 72 6f 6d 20 74 68 65 20 76 61 6c .invocation.and.not.from.the.val
1d60 75 65 20 6f 66 20 61 6e 79 0a 23 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 2e 0a 23 0a 23 20 ue.of.any.#.shell.variable..#.#.
1d80 4e 6f 74 65 3a 20 46 69 65 6c 64 20 73 70 6c 69 74 74 69 6e 67 20 6f 6e 20 74 68 65 20 60 65 6e Note:.Field.splitting.on.the.`en
1da0 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 2e 2e 2e 60 20 72 65 73 75 6c 74 20 69 vsubst.--variables....`.result.i
1dc0 73 20 64 65 73 69 72 65 64 2c 0a 23 20 73 69 6e 63 65 20 65 6e 76 73 75 62 73 74 20 6f 75 74 70 s.desired,.#.since.envsubst.outp
1de0 75 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 2c 20 73 65 70 61 72 61 74 65 64 20 62 79 20 uts.the.variables,.separated.by.
1e00 6e 65 77 6c 69 6e 65 73 2e 20 50 61 74 68 6e 61 6d 65 0a 23 20 77 69 6c 64 63 61 72 64 20 65 78 newlines..Pathname.#.wildcard.ex
1e20 70 61 6e 73 69 6f 6e 20 6f 72 20 74 69 6c 64 65 20 65 78 70 61 6e 73 69 6f 6e 20 68 61 73 20 6e pansion.or.tilde.expansion.has.n
1e40 6f 20 65 66 66 65 63 74 20 68 65 72 65 2c 20 73 69 6e 63 65 20 74 68 65 20 77 6f 72 64 73 0a 23 o.effect.here,.since.the.words.#
1e60 20 6f 75 74 70 75 74 20 62 79 20 22 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 .output.by."envsubst.--variables
1e80 20 2e 2e 2e 22 20 63 6f 6e 73 69 73 74 20 73 6f 6c 65 6c 79 20 6f 66 20 61 6c 70 68 61 6e 75 6d ....".consist.solely.of.alphanum
1ea0 65 72 69 63 0a 23 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 75 6e 64 65 72 73 63 6f 72 65 eric.#.characters.and.underscore
1ec0 2e 0a c4 f6 12 66 65 97 06 00 4a 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 .....fe...J...J.................
1ee0 45 00 00 3c e5 5e 40 00 40 06 57 5b 7f 00 00 01 7f 00 00 01 d6 ba 82 35 37 a2 2d 33 00 00 00 00 E..<.^@.@.W[...........57.-3....
1f00 a0 02 ff d7 fe 30 00 00 02 04 ff d7 04 02 08 0a 8a 17 fa 99 00 00 00 00 01 03 03 07 c4 f6 12 66 .....0.........................f
1f20 75 97 06 00 4a 00 00 00 4a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 3c 00 00 u...J...J.................E..<..
1f40 40 00 40 06 3c ba 7f 00 00 01 7f 00 00 01 82 35 d6 ba df fd 30 69 37 a2 2d 34 a0 12 ff cb fe 30 @.@.<..........5....0i7.-4.....0
1f60 00 00 02 04 ff d7 04 02 08 0a 8a 17 fa 99 8a 17 fa 99 01 03 03 07 c4 f6 12 66 7f 97 06 00 42 00 .........................f....B.
1f80 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 e5 5f 40 00 40 06 57 62 ..B.................E..4._@.@.Wb
1fa0 7f 00 00 01 7f 00 00 01 d6 ba 82 35 37 a2 2d 34 df fd 30 6a 80 10 02 00 fe 28 00 00 01 01 08 0a ...........57.-4..0j.....(......
1fc0 8a 17 fa 99 8a 17 fa 99 c4 f6 12 66 b2 97 06 00 86 14 00 00 86 14 00 00 00 00 00 00 00 00 00 00 ...........f....................
1fe0 00 00 00 00 08 00 45 00 14 78 e5 60 40 00 40 06 43 1d 7f 00 00 01 7f 00 00 01 d6 ba 82 35 37 a2 ......E..x.`@.@.C............57.
2000 2d 34 df fd 30 6a 80 18 02 00 12 6d 00 00 01 01 08 0a 8a 17 fa 9a 8a 17 fa 99 23 21 20 2f 62 69 -4..0j.....m..............#!./bi
2020 6e 2f 73 68 0a 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 33 2c 20 32 30 30 n/sh.#.#.Copyright.(C).2003,.200
2040 35 2d 32 30 30 37 2c 20 32 30 31 31 2c 20 32 30 31 38 2d 32 30 32 30 20 46 72 65 65 20 53 6f 66 5-2007,.2011,.2018-2020.Free.Sof
2060 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 23 0a 23 20 54 68 69 73 20 tware.Foundation,.Inc..#.#.This.
2080 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 program.is.free.software:.you.ca
20a0 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a n.redistribute.it.and/or.modify.
20c0 23 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 #.it.under.the.terms.of.the.GNU.
20e0 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 61 73 Lesser.General.Public.License.as
2100 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 .published.by.#.the.Free.Softwar
2120 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 2e 31 e.Foundation;.either.version.2.1
2140 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 28 61 74 20 79 6f 75 72 20 6f .of.the.License,.or.#.(at.your.o
2160 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 54 68 ption).any.later.version..#.#.Th
2180 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
21a0 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 .hope.that.it.will.be.useful,.#.
21c0 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 but.WITHOUT.ANY.WARRANTY;.withou
21e0 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 t.even.the.implied.warranty.of.#
2200 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 .MERCHANTABILITY.or.FITNESS.FOR.
2220 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 A.PARTICULAR.PURPOSE...See.the.#
2240 20 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 65 6e .GNU.Lesser.General.Public.Licen
2260 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 59 6f 75 20 73 68 6f se.for.more.details..#.#.You.sho
2280 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
22a0 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 65 6e 73 GNU.Lesser.General.Public.Licens
22c0 65 0a 23 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 e.#.along.with.this.program...If
22e0 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c .not,.see.<https://www.gnu.org/l
2300 69 63 65 6e 73 65 73 2f 3e 2e 0a 23 0a 0a 23 20 46 69 6e 64 20 61 20 77 61 79 20 74 6f 20 65 63 icenses/>..#..#.Find.a.way.to.ec
2320 68 6f 20 73 74 72 69 6e 67 73 20 77 69 74 68 6f 75 74 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 ho.strings.without.interpreting.
2340 62 61 63 6b 73 6c 61 73 68 2e 0a 69 66 20 74 65 73 74 20 22 58 60 28 65 63 68 6f 20 27 5c 74 27 backslash..if.test."X`(echo.'\t'
2360 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a 20 20 ).2>/dev/null`".=.'X\t';.then...
2380 65 63 68 6f 3d 27 65 63 68 6f 27 0a 65 6c 73 65 0a 20 20 69 66 20 74 65 73 74 20 22 58 60 28 70 echo='echo'.else...if.test."X`(p
23a0 72 69 6e 74 66 20 27 25 73 5c 6e 27 20 27 5c 74 27 29 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 rintf.'%s\n'.'\t').2>/dev/null`"
23c0 20 3d 20 27 58 5c 74 27 3b 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f 3d 27 70 72 69 6e 74 66 20 .=.'X\t';.then.....echo='printf.
23e0 25 73 5c 6e 27 0a 20 20 65 6c 73 65 0a 20 20 20 20 65 63 68 6f 5f 66 75 6e 63 20 28 29 20 7b 0a %s\n'...else.....echo_func.().{.
2400 20 20 20 20 20 20 63 61 74 20 3c 3c 45 4f 54 0a 24 2a 0a 45 4f 54 0a 20 20 20 20 7d 0a 20 20 20 ......cat.<<EOT.$*.EOT.....}....
2420 20 65 63 68 6f 3d 27 65 63 68 6f 5f 66 75 6e 63 27 0a 20 20 66 69 0a 66 69 0a 0a 23 20 54 68 69 .echo='echo_func'...fi.fi..#.Thi
2440 73 20 73 63 72 69 70 74 20 69 73 20 70 72 69 6d 61 72 69 6c 79 20 61 20 73 68 65 6c 6c 20 66 75 s.script.is.primarily.a.shell.fu
2460 6e 63 74 69 6f 6e 20 6c 69 62 72 61 72 79 2e 20 49 6e 20 6f 72 64 65 72 20 66 6f 72 0a 23 20 22 nction.library..In.order.for.#."
2480 2e 20 67 65 74 74 65 78 74 2e 73 68 22 20 74 6f 20 66 69 6e 64 20 69 74 2c 20 77 65 20 69 6e 73 ..gettext.sh".to.find.it,.we.ins
24a0 74 61 6c 6c 20 69 74 20 69 6e 20 24 50 52 45 46 49 58 2f 62 69 6e 20 28 74 68 61 74 20 69 73 20 tall.it.in.$PREFIX/bin.(that.is.
24c0 75 73 75 61 6c 6c 79 0a 23 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 24 50 41 54 48 29 2c 20 72 usually.#.contained.in.$PATH),.r
24e0 61 74 68 65 72 20 74 68 61 6e 20 69 6e 20 73 6f 6d 65 20 6f 74 68 65 72 20 6c 6f 63 61 74 69 6f ather.than.in.some.other.locatio
2500 6e 20 73 75 63 68 20 61 73 0a 23 20 24 50 52 45 46 49 58 2f 73 68 61 72 65 2f 73 68 2d 73 63 72 n.such.as.#.$PREFIX/share/sh-scr
2520 69 70 74 73 20 6f 72 20 24 50 52 45 46 49 58 2f 73 68 61 72 65 2f 67 65 74 74 65 78 74 2e 20 49 ipts.or.$PREFIX/share/gettext..I
2540 6e 20 6f 72 64 65 72 20 74 6f 20 6e 6f 74 20 76 69 6f 6c 61 74 65 0a 23 20 74 68 65 20 46 69 6c n.order.to.not.violate.#.the.Fil
2560 65 73 79 73 74 65 6d 20 48 69 65 72 61 72 63 68 79 20 53 74 61 6e 64 61 72 64 20 77 68 65 6e 20 esystem.Hierarchy.Standard.when.
2580 64 6f 69 6e 67 20 73 6f 2c 20 74 68 69 73 20 73 63 72 69 70 74 20 69 73 20 65 78 65 63 75 74 61 doing.so,.this.script.is.executa
25a0 62 6c 65 2e 0a 23 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6e 65 65 64 73 20 74 6f 20 73 75 70 ble..#.Therefore.it.needs.to.sup
25c0 70 6f 72 74 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 2d 2d 68 65 6c 70 20 61 6e 64 20 2d 2d 76 port.the.standard.--help.and.--v
25e0 65 72 73 69 6f 6e 2e 0a 69 66 20 74 65 73 74 20 2d 7a 20 22 24 7b 5a 53 48 5f 56 45 52 53 49 4f ersion..if.test.-z."${ZSH_VERSIO
2600 4e 2b 73 65 74 7d 22 3b 20 74 68 65 6e 0a 20 20 23 20 7a 73 68 20 69 73 20 6e 6f 74 20 50 4f 53 N+set}";.then...#.zsh.is.not.POS
2620 49 58 20 63 6f 6d 70 6c 69 61 6e 74 3a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 77 68 69 6c 65 20 IX.compliant:.By.default,.while.
2640 22 2e 20 67 65 74 74 65 78 74 2e 73 68 22 20 69 73 20 65 78 65 63 75 74 65 64 2c 0a 20 20 23 20 "..gettext.sh".is.executed,...#.
2660 69 74 20 73 65 74 73 20 24 30 20 74 6f 20 22 67 65 74 74 65 78 74 2e 73 68 22 2c 20 64 65 66 65 it.sets.$0.to."gettext.sh",.defe
2680 61 74 69 6e 67 20 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 74 65 73 74 2e 20 ating.the.purpose.of.this.test..
26a0 42 75 74 0a 20 20 23 20 66 6f 72 74 75 6e 61 74 65 6c 79 20 77 65 20 6b 6e 6f 77 20 74 68 61 74 But...#.fortunately.we.know.that
26c0 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 75 6e 64 65 72 20 7a 73 68 2c 20 74 68 69 73 20 73 63 .when.running.under.zsh,.this.sc
26e0 72 69 70 74 20 69 73 20 61 6c 77 61 79 73 0a 20 20 23 20 62 65 69 6e 67 20 73 6f 75 72 63 65 64 ript.is.always...#.being.sourced
2700 2c 20 6e 6f 74 20 65 78 65 63 75 74 65 64 2c 20 62 65 63 61 75 73 65 20 68 61 72 64 6c 79 20 61 ,.not.executed,.because.hardly.a
2720 6e 79 6f 6e 65 20 69 73 20 63 72 61 7a 79 20 65 6e 6f 75 67 68 20 74 6f 0a 20 20 23 20 69 6e 73 nyone.is.crazy.enough.to...#.ins
2740 74 61 6c 6c 20 7a 73 68 20 61 73 20 2f 62 69 6e 2f 73 68 2e 0a 20 20 63 61 73 65 20 22 24 30 22 tall.zsh.as./bin/sh....case."$0"
2760 20 69 6e 0a 20 20 20 20 67 65 74 74 65 78 74 2e 73 68 20 7c 20 2a 2f 67 65 74 74 65 78 74 2e 73 .in.....gettext.sh.|.*/gettext.s
2780 68 20 7c 20 2a 5c 5c 67 65 74 74 65 78 74 2e 73 68 29 0a 20 20 20 20 20 20 70 72 6f 67 6e 61 6d h.|.*\\gettext.sh).......prognam
27a0 65 3d 24 30 0a 20 20 20 20 20 20 70 61 63 6b 61 67 65 3d 67 65 74 74 65 78 74 2d 72 75 6e 74 69 e=$0.......package=gettext-runti
27c0 6d 65 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e 3d 30 2e 32 31 0a 20 20 20 20 20 20 23 20 66 75 me.......version=0.21.......#.fu
27e0 6e 63 5f 75 73 61 67 65 0a 20 20 20 20 20 20 23 20 6f 75 74 70 75 74 73 20 74 6f 20 73 74 64 6f nc_usage.......#.outputs.to.stdo
2800 75 74 20 74 68 65 20 2d 2d 68 65 6c 70 20 75 73 61 67 65 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 ut.the.--help.usage.message.....
2820 20 20 20 66 75 6e 63 5f 75 73 61 67 65 20 28 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ...func_usage.().......{........
2840 20 65 63 68 6f 20 22 47 4e 55 20 67 65 74 74 65 78 74 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20 .echo."GNU.gettext.shell.script.
2860 66 75 6e 63 74 69 6f 6e 20 6c 69 62 72 61 72 79 20 76 65 72 73 69 6f 6e 20 24 76 65 72 73 69 6f function.library.version.$versio
2880 6e 22 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 55 73 61 67 65 3a 20 2e 20 67 65 74 74 65 78 n".........echo."Usage:...gettex
28a0 74 2e 73 68 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 23 20 66 75 6e 63 5f 76 65 72 73 69 t.sh".......}.......#.func_versi
28c0 6f 6e 0a 20 20 20 20 20 20 23 20 6f 75 74 70 75 74 73 20 74 6f 20 73 74 64 6f 75 74 20 74 68 65 on.......#.outputs.to.stdout.the
28e0 20 2d 2d 76 65 72 73 69 6f 6e 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 20 66 75 6e 63 5f 76 .--version.message........func_v
2900 65 72 73 69 6f 6e 20 28 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 ersion.().......{.........echo."
2920 24 70 72 6f 67 6e 61 6d 65 20 28 47 4e 55 20 24 70 61 63 6b 61 67 65 29 20 24 76 65 72 73 69 6f $progname.(GNU.$package).$versio
2940 6e 22 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 n".........echo."Copyright.(C).2
2960 30 30 33 2d 32 30 32 30 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 003-2020.Free.Software.Foundatio
2980 6e 2c 20 49 6e 63 2e 0a 4c 69 63 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e 55 20 47 50 4c 20 n,.Inc..License.GPLv2+:.GNU.GPL.
29a0 76 65 72 73 69 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 20 3c 68 74 74 70 73 3a 2f 2f 67 6e 75 2e version.2.or.later.<https://gnu.
29c0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 67 70 6c 2e 68 74 6d 6c 3e 0a 54 68 69 73 20 69 73 20 66 org/licenses/gpl.html>.This.is.f
29e0 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 ree.software:.you.are.free.to.ch
2a00 61 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 0a 54 68 65 72 65 20 ange.and.redistribute.it..There.
2a20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 is.NO.WARRANTY,.to.the.extent.pe
2a40 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 22 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 57 rmitted.by.law.".........echo."W
2a60 72 69 74 74 65 6e 20 62 79 22 20 22 42 72 75 6e 6f 20 48 61 69 62 6c 65 22 0a 20 20 20 20 20 20 ritten.by"."Bruno.Haible".......
2a80 7d 0a 20 20 20 20 20 20 69 66 20 74 65 73 74 20 24 23 20 3d 20 31 3b 20 74 68 65 6e 0a 20 20 20 }.......if.test.$#.=.1;.then....
2aa0 20 20 20 20 20 63 61 73 65 20 22 24 31 22 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 2d 2d 68 65 .....case."$1".in...........--he
2ac0 6c 70 20 7c 20 2d 2d 68 65 6c 20 7c 20 2d 2d 68 65 20 7c 20 2d 2d 68 20 29 0a 20 20 20 20 20 20 lp.|.--hel.|.--he.|.--h.).......
2ae0 20 20 20 20 20 20 66 75 6e 63 5f 75 73 61 67 65 3b 20 65 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 ......func_usage;.exit.0.;;.....
2b00 20 20 20 20 20 20 2d 2d 76 65 72 73 69 6f 6e 20 7c 20 2d 2d 76 65 72 73 69 6f 20 7c 20 2d 2d 76 ......--version.|.--versio.|.--v
2b20 65 72 73 69 20 7c 20 2d 2d 76 65 72 73 20 7c 20 2d 2d 76 65 72 20 7c 20 2d 2d 76 65 20 7c 20 2d ersi.|.--vers.|.--ver.|.--ve.|.-
2b40 2d 76 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 75 6e 63 5f 76 65 72 73 69 6f 6e 3b 20 65 -v.).............func_version;.e
2b60 78 69 74 20 30 20 3b 3b 0a 20 20 20 20 20 20 20 20 65 73 61 63 0a 20 20 20 20 20 20 66 69 0a 20 xit.0.;;.........esac.......fi..
2b80 20 20 20 20 20 66 75 6e 63 5f 75 73 61 67 65 20 31 3e 26 32 0a 20 20 20 20 20 20 65 78 69 74 20 .....func_usage.1>&2.......exit.
2ba0 31 0a 20 20 20 20 20 20 3b 3b 0a 20 20 65 73 61 63 0a 66 69 0a 0a 23 20 65 76 61 6c 5f 67 65 74 1.......;;...esac.fi..#.eval_get
2bc0 74 65 78 74 20 4d 53 47 49 44 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 61 6e 73 6c text.MSGID.#.looks.up.the.transl
2be0 61 74 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 20 73 ation.of.MSGID.and.substitutes.s
2c00 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 0a 23 20 72 65 73 75 6c 74 2e 0a hell.variables.in.the.#.result..
2c20 65 76 61 6c 5f 67 65 74 74 65 78 74 20 28 29 20 7b 0a 20 20 67 65 74 74 65 78 74 20 22 24 31 22 eval_gettext.().{...gettext."$1"
2c40 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 .|.(export.PATH.`envsubst.--vari
2c60 61 62 6c 65 73 20 22 24 31 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 31 22 29 0a 7d 0a 0a 23 ables."$1"`;.envsubst."$1").}..#
2c80 20 65 76 61 6c 5f 6e 67 65 74 74 65 78 74 20 4d 53 47 49 44 20 4d 53 47 49 44 2d 50 4c 55 52 41 .eval_ngettext.MSGID.MSGID-PLURA
2ca0 4c 20 43 4f 55 4e 54 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 L.COUNT.#.looks.up.the.translati
2cc0 6f 6e 20 6f 66 20 4d 53 47 49 44 20 2f 20 4d 53 47 49 44 2d 50 4c 55 52 41 4c 20 66 6f 72 20 43 on.of.MSGID./.MSGID-PLURAL.for.C
2ce0 4f 55 4e 54 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 0a 23 20 73 68 65 6c 6c 20 76 61 72 OUNT.and.substitutes.#.shell.var
2d00 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f 6e 67 65 74 74 iables.in.the.result..eval_ngett
2d20 65 78 74 20 28 29 20 7b 0a 20 20 6e 67 65 74 74 65 78 74 20 22 24 31 22 20 22 24 32 22 20 22 24 ext.().{...ngettext."$1"."$2"."$
2d40 33 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 3".|.(export.PATH.`envsubst.--va
2d60 72 69 61 62 6c 65 73 20 22 24 31 20 24 32 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 31 20 24 riables."$1.$2"`;.envsubst."$1.$
2d80 32 22 29 0a 7d 0a 0a 23 20 65 76 61 6c 5f 70 67 65 74 74 65 78 74 20 4d 53 47 43 54 58 54 20 4d 2").}..#.eval_pgettext.MSGCTXT.M
2da0 53 47 49 44 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 SGID.#.looks.up.the.translation.
2dc0 6f 66 20 4d 53 47 49 44 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 4d 53 47 43 54 58 54 20 of.MSGID.in.the.context.MSGCTXT.
2de0 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 0a 23 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 and.substitutes.#.shell.variable
2e00 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f 70 67 65 74 74 65 78 74 20 28 s.in.the.result..eval_pgettext.(
2e20 29 20 7b 0a 20 20 67 65 74 74 65 78 74 20 2d 2d 63 6f 6e 74 65 78 74 3d 22 24 31 22 20 22 24 32 ).{...gettext.--context="$1"."$2
2e40 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 ".|.(export.PATH.`envsubst.--var
2e60 69 61 62 6c 65 73 20 22 24 32 22 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 32 22 29 0a 7d 0a 0a iables."$2"`;.envsubst."$2").}..
2e80 23 20 65 76 61 6c 5f 6e 70 67 65 74 74 65 78 74 20 4d 53 47 43 54 58 54 20 4d 53 47 49 44 20 4d #.eval_npgettext.MSGCTXT.MSGID.M
2ea0 53 47 49 44 2d 50 4c 55 52 41 4c 20 43 4f 55 4e 54 0a 23 20 6c 6f 6f 6b 73 20 75 70 20 74 68 65 SGID-PLURAL.COUNT.#.looks.up.the
2ec0 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 4d 53 47 49 44 20 2f 20 4d 53 47 49 44 2d 50 4c .translation.of.MSGID./.MSGID-PL
2ee0 55 52 41 4c 20 66 6f 72 20 43 4f 55 4e 54 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 0a 23 20 URAL.for.COUNT.in.the.context.#.
2f00 4d 53 47 43 54 58 54 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 65 73 20 73 68 65 6c 6c 20 76 61 MSGCTXT.and.substitutes.shell.va
2f20 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 65 76 61 6c 5f 6e 70 67 65 riables.in.the.result..eval_npge
2f40 74 74 65 78 74 20 28 29 20 7b 0a 20 20 6e 67 65 74 74 65 78 74 20 2d 2d 63 6f 6e 74 65 78 74 3d ttext.().{...ngettext.--context=
2f60 22 24 31 22 20 22 24 32 22 20 22 24 33 22 20 22 24 34 22 20 7c 20 28 65 78 70 6f 72 74 20 50 41 "$1"."$2"."$3"."$4".|.(export.PA
2f80 54 48 20 60 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 22 24 32 20 24 33 22 TH.`envsubst.--variables."$2.$3"
2fa0 60 3b 20 65 6e 76 73 75 62 73 74 20 22 24 32 20 24 33 22 29 0a 7d 0a 0a 23 20 4e 6f 74 65 3a 20 `;.envsubst."$2.$3").}..#.Note:.
2fc0 54 68 69 73 20 75 73 65 20 6f 66 20 65 6e 76 73 75 62 73 74 20 69 73 20 6d 75 63 68 20 73 61 66 This.use.of.envsubst.is.much.saf
2fe0 65 72 20 74 68 61 6e 20 75 73 69 6e 67 20 74 68 65 20 73 68 65 6c 6c 20 62 75 69 6c 74 2d 69 6e er.than.using.the.shell.built-in
3000 20 27 65 76 61 6c 27 0a 23 20 77 6f 75 6c 64 20 62 65 2e 0a 23 20 31 29 20 54 68 65 20 73 65 63 .'eval'.#.would.be..#.1).The.sec
3020 75 72 69 74 79 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 43 68 69 6e 65 73 65 20 74 72 61 6e 73 urity.problem.with.Chinese.trans
3040 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 68 61 70 70 65 6e 20 74 6f 20 75 73 65 20 61 0a 23 20 20 lations.that.happen.to.use.a.#..
3060 20 20 63 68 61 72 61 63 74 65 72 20 73 75 63 68 20 61 73 20 5c 78 65 30 5c 78 36 30 20 69 73 20 ..character.such.as.\xe0\x60.is.
3080 61 76 6f 69 64 65 64 2e 0a 23 20 32 29 20 54 68 65 20 73 65 63 75 72 69 74 79 20 70 72 6f 62 6c avoided..#.2).The.security.probl
30a0 65 6d 20 77 69 74 68 20 6d 61 6c 65 76 6f 6c 65 6e 74 20 74 72 61 6e 73 6c 61 74 6f 72 73 20 77 em.with.malevolent.translators.w
30c0 68 6f 20 70 75 74 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 73 0a 23 20 20 20 20 6c 69 6b ho.put.in.command.lists.#....lik
30e0 65 20 22 24 28 2e 2e 2e 29 22 20 6f 72 20 22 60 2e 2e 2e 60 22 20 69 73 20 61 76 6f 69 64 65 64 e."$(...)".or."`...`".is.avoided
3100 2e 0a 23 20 33 29 20 54 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 63 61 6e 20 6f 6e 6c 79 ..#.3).The.translations.can.only
3120 20 72 65 66 65 72 20 74 6f 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 61 .refer.to.shell.variables.that.a
3140 72 65 20 61 6c 72 65 61 64 79 0a 23 20 20 20 20 6d 65 6e 74 69 6f 6e 65 64 20 69 6e 20 4d 53 47 re.already.#....mentioned.in.MSG
3160 49 44 20 6f 72 20 4d 53 47 49 44 2d 50 4c 55 52 41 4c 2e 0a 23 0a 23 20 4e 6f 74 65 3a 20 22 65 ID.or.MSGID-PLURAL..#.#.Note:."e
3180 78 70 6f 72 74 20 50 41 54 48 22 20 61 62 6f 76 65 20 69 73 20 61 20 64 75 6d 6d 79 3b 20 74 68 xport.PATH".above.is.a.dummy;.th
31a0 69 73 20 69 73 20 66 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 0a 23 20 60 65 6e 76 73 75 is.is.for.the.case.when.#.`envsu
31c0 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 2e 2e 2e 60 20 72 65 74 75 72 6e 73 20 6e 6f 74 bst.--variables....`.returns.not
31e0 68 69 6e 67 2e 0a 23 0a 23 20 4e 6f 74 65 3a 20 49 6e 20 65 76 61 6c 5f 6e 67 65 74 74 65 78 74 hing..#.#.Note:.In.eval_ngettext
3200 20 61 62 6f 76 65 2c 20 22 24 31 20 24 32 22 20 6d 65 61 6e 73 20 61 20 73 74 72 69 6e 67 20 77 .above,."$1.$2".means.a.string.w
3220 68 6f 73 65 20 76 61 72 69 61 62 6c 65 73 20 73 65 74 20 69 73 0a 23 20 74 68 65 20 75 6e 69 6f hose.variables.set.is.#.the.unio
3240 6e 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 73 65 74 20 6f 66 20 22 24 31 22 20 61 n.of.the.variables.set.of."$1".a
3260 6e 64 20 22 24 32 22 2e 0a 23 0a 23 20 4e 6f 74 65 3a 20 54 68 65 20 6d 69 6e 69 6d 61 6c 20 75 nd."$2"..#.#.Note:.The.minimal.u
3280 73 65 20 6f 66 20 62 61 63 6b 71 75 6f 74 65 20 61 62 6f 76 65 20 65 6e 73 75 72 65 73 20 74 68 se.of.backquote.above.ensures.th
32a0 61 74 20 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c 69 6e 65 73 20 61 72 65 0a 23 20 6e 6f 74 20 64 at.trailing.newlines.are.#.not.d
32c0 72 6f 70 70 65 64 2c 20 6e 6f 74 20 66 72 6f 6d 20 74 68 65 20 67 65 74 74 65 78 74 20 69 6e 76 ropped,.not.from.the.gettext.inv
32e0 6f 63 61 74 69 6f 6e 20 61 6e 64 20 6e 6f 74 20 66 72 6f 6d 20 74 68 65 20 76 61 6c 75 65 20 6f ocation.and.not.from.the.value.o
3300 66 20 61 6e 79 0a 23 20 73 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 2e 0a 23 0a 23 20 4e 6f 74 65 f.any.#.shell.variable..#.#.Note
3320 3a 20 46 69 65 6c 64 20 73 70 6c 69 74 74 69 6e 67 20 6f 6e 20 74 68 65 20 60 65 6e 76 73 75 62 :.Field.splitting.on.the.`envsub
3340 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 2e 2e 2e 60 20 72 65 73 75 6c 74 20 69 73 20 64 65 st.--variables....`.result.is.de
3360 73 69 72 65 64 2c 0a 23 20 73 69 6e 63 65 20 65 6e 76 73 75 62 73 74 20 6f 75 74 70 75 74 73 20 sired,.#.since.envsubst.outputs.
3380 74 68 65 20 76 61 72 69 61 62 6c 65 73 2c 20 73 65 70 61 72 61 74 65 64 20 62 79 20 6e 65 77 6c the.variables,.separated.by.newl
33a0 69 6e 65 73 2e 20 50 61 74 68 6e 61 6d 65 0a 23 20 77 69 6c 64 63 61 72 64 20 65 78 70 61 6e 73 ines..Pathname.#.wildcard.expans
33c0 69 6f 6e 20 6f 72 20 74 69 6c 64 65 20 65 78 70 61 6e 73 69 6f 6e 20 68 61 73 20 6e 6f 20 65 66 ion.or.tilde.expansion.has.no.ef
33e0 66 65 63 74 20 68 65 72 65 2c 20 73 69 6e 63 65 20 74 68 65 20 77 6f 72 64 73 0a 23 20 6f 75 74 fect.here,.since.the.words.#.out
3400 70 75 74 20 62 79 20 22 65 6e 76 73 75 62 73 74 20 2d 2d 76 61 72 69 61 62 6c 65 73 20 2e 2e 2e put.by."envsubst.--variables....
3420 22 20 63 6f 6e 73 69 73 74 20 73 6f 6c 65 6c 79 20 6f 66 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 ".consist.solely.of.alphanumeric
3440 0a 23 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 75 6e 64 65 72 73 63 6f 72 65 2e 0a c4 f6 .#.characters.and.underscore....
3460 12 66 b8 97 06 00 42 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 .f....B...B.................E..4
3480 a6 f2 40 00 40 06 95 cf 7f 00 00 01 7f 00 00 01 82 35 d6 ba df fd 30 6a 37 a2 41 78 80 10 01 e9 ..@.@............5....0j7.Ax....
34a0 fe 28 00 00 01 01 08 0a 8a 17 fa 9a 8a 17 fa 9a c5 f6 12 66 af 8e 0a 00 42 00 00 00 42 00 00 00 .(.................f....B...B...
34c0 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 e5 61 40 00 40 06 57 60 7f 00 00 01 7f 00 ..............E..4.a@.@.W`......
34e0 00 01 d6 ba 82 35 37 a2 41 78 df fd 30 6a 80 11 02 00 fe 28 00 00 01 01 08 0a 8a 17 ff 85 8a 17 .....57.Ax..0j.....(............
3500 fa 9a c5 f6 12 66 dc 8e 0a 00 42 00 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 .....f....B...B.................
3520 45 00 00 34 a6 f3 40 00 40 06 95 ce 7f 00 00 01 7f 00 00 01 82 35 d6 ba df fd 30 6a 37 a2 41 79 E..4..@.@............5....0j7.Ay
3540 80 11 02 00 fe 28 00 00 01 01 08 0a 8a 17 ff 85 8a 17 ff 85 c5 f6 12 66 ec 8e 0a 00 42 00 00 00 .....(.................f....B...
3560 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00 00 34 e5 62 40 00 40 06 57 5f 7f 00 B.................E..4.b@.@.W_..
3580 00 01 7f 00 00 01 d6 ba 82 35 37 a2 41 79 df fd 30 6b 80 10 02 00 fe 28 00 00 01 01 08 0a 8a 17 .........57.Ay..0k.....(........
35a0 ff 85 8a 17 ff 85 ......