passenger 4.0.56 → 4.0.57

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Mjc1ZGFjMmE1MjQ3ZmVmOWFiYjg3NWQzNTk2Y2EzY2FjMmE2MTgxOQ==
4
+ ZTM5NzNkMzVmMDVjY2U5ZjUzNTU1ZGEzY2RmZjRlMTg1Yzc0MGMyMA==
5
5
  data.tar.gz: !binary |-
6
- ZTQ2NDEwYjc3NTI3ZGUyOWNhOTJmZTFiMzRjZDU2ZDQwODM5ZDUxNw==
6
+ M2E1ODE5YTMyNTI4NGZiOWJkMmQyNjlhN2M2YzFkNTg0ZTUxNjI5Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Yzg1OWRjNzQ2ZDA3ZjAxYWI0YzQ3NWUxOWYyMjIyM2MyYTAwZjU0MDVlMjc0
10
- M2JlYWJmMzk0MWNkNjVkNmM5Nzc2N2I0NTg1ZmMxMDllMTA5NmZlYzJjYmFm
11
- ODE3NWI0NjUxOGRkNTM5ODQ4NWI2ODQ5OTBjYTY2YzEzMzA3NjQ=
9
+ MDk4MjQ5ODcwODMxODdhZGFlMjcxNGVhZWU3ODY1Yjk4MzIyYmQ3MzliNjg0
10
+ OGFiZmIxNzFjMzdiY2U2NmFhNjk1ZjdkNmEzYjBjYTU5NmJiZTMzNzIzYTkz
11
+ MDk4YjIzZTIzYTU1YzRhY2M1ZGNiMDg3MDA5NGY5M2NhNjVjMDI=
12
12
  data.tar.gz: !binary |-
13
- NTIwMzVkNjJmZWI1MDZkYmI0NjZkZGQ0MTg1OTZmOTdhNjE2MDFmZmZkYmJm
14
- YTJkZWVmNzI1MGI2ZjNjNzI5MjlhODE1MDdlYTEyMTVhMzZhMGZiOTgwZDE1
15
- MmY5Y2Q4OTgxNjc3YTM1MDVmMTVjNzhiMjM5N2IzM2QyZWZjNWY=
13
+ MGFjNWNlNjNiZTU4NGFkMWQ4Mjg0Mzk2MDk2YzU0N2RiOThhMDJhMWM1NGZj
14
+ NTk4Mjg0OGUyNmRkZjAyMzhjNWI4NTMxM2UwMzkxNmRkYjY4ZjFlYWZkNDVm
15
+ NWVmNDk5ZGNjNmRlMjU3ZTg4Y2Q0NmJlNzNiMTNjYzE5M2FlYjc=
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJUky9uAAoJECrHRaUKISqMxpsIAKNq+qK6wOluW76EdNew0+h9
6
- mHT6NVpAcDacgTy64vLxIh5bpYsOv+AW2n9c/MeBkdfXrfy54qrdm+FPocPwJ6Ta
7
- wKel1K9KeQwRcSs6E1P0DNw9k2Tit9ZwXVJqzT2u65U3GytgPK2yGI4hMtDKFuNA
8
- WvAumMdL0ffqZwr6uEqjrSnpyhkSKn2TakOIA73YyzjiRVKQRO7XpukgK19cDTF8
9
- 5oQNdDtG2EEWspCIa5K46/J/RCvsEw3QUmEyPUBlIRRx+Nd+/G2HmUbIcxvfCwoS
10
- 2PAvFQgync6o6r6yz+e5ge6EJ1htq1LzQDtgHv0xfGQzE3znlsoVzWoBz2JrPkY=
11
- =h7Sh
5
+ iQEcBAABAgAGBQJUp9G8AAoJECrHRaUKISqMsKIIAK04etL677P2FYEF5gYnQnjW
6
+ EDaCIBkIL7a7jVzgtN4GJz0XQjzqd29KbY0k0vqxu8uKr90sQZ2I+AFUu6oadeAd
7
+ CS4Bt0K56HaonUJxFmJUETPKG2wQxwr6zCd4Cv7y+NlEw7EEz1kmMDF62kpcvkyw
8
+ 6iFapdKLVBjTIVrkrZOilHwDHM+xNkY3GPPVoGB2BRRrFnKxQBV8lFYDybVs6NdK
9
+ CyUsyVz3VuVskJ7ChG9fgxN49t0KM8gG8mFos6FmZAzTgE7KAAOvUymlG7yoff5g
10
+ yhxvm3O7cqJGKog3TYq33kRcB6ydsOnrcEMuxS8bnk6B9AvArmVjwo1yclY63/Q=
11
+ =TOTC
12
12
  -----END PGP SIGNATURE-----
data.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJUky9uAAoJECrHRaUKISqMmBwH/A6W2oG4Zc1K9Jj81OoHTGxl
6
- 60yCeMsvUYq9BZZoc0N44hMhjgUHV5YxxXOvHghSPQiheo9DZ/169luk5jSdO1WS
7
- dqAwN7rbLFieqhSlJuNa9T30USZE/WWv4T808LxLVaaIEeeS+tBtn4J4qfMxhEiY
8
- iqoTLhr81IWtMcQJN7B6zlaL3ITkleBMGX44Prf5o/U+6GeJr1Z7ZbpNIoI2XBCR
9
- CM4JYGuJRR38UaSyVdn9ufaWkgrvn7FH0Wbri+Yq4PC98zQmoR2Bb3mGWBWpbAcR
10
- J1hEQVev7kp/Sd8p4EhPlzH9KLf0lvPv11Pz1plo7y6pntbUdnTHIDNdQyit0oI=
11
- =2Wxk
5
+ iQEcBAABAgAGBQJUp9G8AAoJECrHRaUKISqMeSsH/0+4/GSy1Sttbr0Vd+s0Ycdv
6
+ 7p91uBirdy2bEhKkgUflRffXePE/ltSktANtRLUXVFYZqtcwHpf6f4ep2QDnzVHc
7
+ c6U870xR0uLjuzYMfxkst2sLxbfPpHm0dLCELOoCRW4NPNRAUEqNO1dKVx6KygCu
8
+ gG/CE9UzXMvVq6PSI/man6Yj6kYNSowqk7gw/ilqoRUb2IOY7BAatW73XJmkZlIW
9
+ ZKRDiwVXsT5P4O0xxNWnAvuLZ3Xz2rsGFNqzv3ujPm0vzlGRV/daJyWaGVna4R/q
10
+ 45sgXXh4b1aM76WMtuFtLvOK3HFgoa5epL9DS75PjARXS0mAn7JmIZ18tJpi0Vs=
11
+ =5sxS
12
12
  -----END PGP SIGNATURE-----
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ Release 4.0.57
2
+ --------------
3
+
4
+ * Fixed a native extension compatibility problem with Ruby 2.2. Closes [ruby-core:67152](https://bugs.ruby-lang.org/issues/10656).
5
+ * Fixed compatibility with Nginx 1.7.9. Closes GH-1335.
6
+
7
+
1
8
  Release 4.0.56
2
9
  --------------
3
10
 
@@ -90,7 +90,7 @@
90
90
 
91
91
  #define NGINX_DOC_URL "https://www.phusionpassenger.com/documentation/Users%20guide%20Nginx.html"
92
92
 
93
- #define PASSENGER_VERSION "4.0.56"
93
+ #define PASSENGER_VERSION "4.0.57"
94
94
 
95
95
  #define POOL_HELPER_THREAD_STACK_SIZE 262144
96
96
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * Copyright (C) Igor Sysoev
3
3
  * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
4
- * Copyright (C) 2010-2013 Phusion
4
+ * Copyright (C) 2010-2015 Phusion
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
7
7
  * modification, are permitted provided that the following conditions
@@ -236,17 +236,29 @@ passenger_create_loc_conf(ngx_conf_t *cf)
236
236
 
237
237
  conf->upstream_config.store = NGX_CONF_UNSET;
238
238
  conf->upstream_config.store_access = NGX_CONF_UNSET_UINT;
239
+ #if NGINX_VERSION_NUM >= 1007005
240
+ conf->upstream_config.next_upstream_tries = NGX_CONF_UNSET_UINT;
241
+ #endif
239
242
  conf->upstream_config.buffering = NGX_CONF_UNSET;
240
243
  conf->upstream_config.ignore_client_abort = NGX_CONF_UNSET;
244
+ #if NGINX_VERSION_NUM >= 1007007
245
+ conf->upstream_config.force_ranges = NGX_CONF_UNSET;
246
+ #endif
241
247
 
242
248
  conf->upstream_config.local = NGX_CONF_UNSET_PTR;
243
249
 
244
250
  conf->upstream_config.connect_timeout = NGX_CONF_UNSET_MSEC;
245
251
  conf->upstream_config.send_timeout = NGX_CONF_UNSET_MSEC;
246
252
  conf->upstream_config.read_timeout = NGX_CONF_UNSET_MSEC;
253
+ #if NGINX_VERSION_NUM >= 1007005
254
+ conf->upstream_config.next_upstream_timeout = NGX_CONF_UNSET_MSEC;
255
+ #endif
247
256
 
248
257
  conf->upstream_config.send_lowat = NGX_CONF_UNSET_SIZE;
249
258
  conf->upstream_config.buffer_size = NGX_CONF_UNSET_SIZE;
259
+ #if NGINX_VERSION_NUM >= 1007007
260
+ conf->upstream_config.limit_rate = NGX_CONF_UNSET_SIZE;
261
+ #endif
250
262
 
251
263
  conf->upstream_config.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE;
252
264
  conf->upstream_config.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE;
@@ -256,7 +268,11 @@ passenger_create_loc_conf(ngx_conf_t *cf)
256
268
  conf->upstream_config.pass_request_body = NGX_CONF_UNSET;
257
269
 
258
270
  #if (NGX_HTTP_CACHE)
259
- conf->upstream_config.cache = NGX_CONF_UNSET_PTR;
271
+ #if NGINX_VERSION_NUM >= 1007009
272
+ conf->upstream_config.cache = NGX_CONF_UNSET;
273
+ #else
274
+ conf->upstream_config.cache = NGX_CONF_UNSET_PTR;
275
+ #endif
260
276
  conf->upstream_config.cache_min_uses = NGX_CONF_UNSET_UINT;
261
277
  conf->upstream_config.cache_bypass = NGX_CONF_UNSET_PTR;
262
278
  conf->upstream_config.no_cache = NGX_CONF_UNSET_PTR;
@@ -265,6 +281,12 @@ passenger_create_loc_conf(ngx_conf_t *cf)
265
281
  conf->upstream_config.cache_lock = NGX_CONF_UNSET;
266
282
  conf->upstream_config.cache_lock_timeout = NGX_CONF_UNSET_MSEC;
267
283
  #endif
284
+ #if NGINX_VERSION_NUM >= 1007008
285
+ conf->upstream_config.cache_lock_age = NGX_CONF_UNSET_MSEC;
286
+ #endif
287
+ #if NGINX_VERSION_NUM >= 1006000
288
+ conf->upstream_config.cache_revalidate = NGX_CONF_UNSET;
289
+ #endif
268
290
  #endif
269
291
 
270
292
  conf->upstream_config.intercept_errors = NGX_CONF_UNSET;
@@ -369,25 +391,54 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
369
391
  /******************************/
370
392
  /******************************/
371
393
 
372
- if (conf->upstream_config.store != 0) {
373
- ngx_conf_merge_value(conf->upstream_config.store,
374
- prev->upstream_config.store, 0);
394
+ #if (NGX_HTTP_CACHE) && NGINX_VERSION_NUM >= 1007009
395
+ if (conf->upstream_config.store > 0) {
396
+ conf->upstream_config.cache = 0;
397
+ }
398
+ if (conf->upstream_config.cache > 0) {
399
+ conf->upstream_config.store = 0;
400
+ }
401
+ #endif
402
+
403
+ #if NGINX_VERSION_NUM >= 1007009
404
+ if (conf->upstream_config.store == NGX_CONF_UNSET) {
405
+ ngx_conf_merge_value(conf->upstream_config.store,
406
+ prev->upstream_config.store, 0);
375
407
 
376
- if (conf->upstream_config.store_lengths == NULL) {
377
408
  conf->upstream_config.store_lengths = prev->upstream_config.store_lengths;
378
409
  conf->upstream_config.store_values = prev->upstream_config.store_values;
379
410
  }
380
- }
411
+ #else
412
+ if (conf->upstream_config.store != 0) {
413
+ ngx_conf_merge_value(conf->upstream_config.store,
414
+ prev->upstream_config.store, 0);
415
+
416
+ if (conf->upstream_config.store_lengths == NULL) {
417
+ conf->upstream_config.store_lengths = prev->upstream_config.store_lengths;
418
+ conf->upstream_config.store_values = prev->upstream_config.store_values;
419
+ }
420
+ }
421
+ #endif
381
422
 
382
423
  ngx_conf_merge_uint_value(conf->upstream_config.store_access,
383
424
  prev->upstream_config.store_access, 0600);
384
425
 
426
+ #if NGINX_VERSION_NUM >= 1007005
427
+ ngx_conf_merge_uint_value(conf->upstream_config.next_upstream_tries,
428
+ prev->upstream_config.next_upstream_tries, 0);
429
+ #endif
430
+
385
431
  ngx_conf_merge_value(conf->upstream_config.buffering,
386
432
  prev->upstream_config.buffering, 0);
387
433
 
388
434
  ngx_conf_merge_value(conf->upstream_config.ignore_client_abort,
389
435
  prev->upstream_config.ignore_client_abort, 0);
390
436
 
437
+ #if NGINX_VERSION_NUM >= 1007007
438
+ ngx_conf_merge_value(conf->upstream_config.force_ranges,
439
+ prev->upstream_config.force_ranges, 0);
440
+ #endif
441
+
391
442
  ngx_conf_merge_ptr_value(conf->upstream_config.local,
392
443
  prev->upstream_config.local, NULL);
393
444
 
@@ -400,6 +451,11 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
400
451
  ngx_conf_merge_msec_value(conf->upstream_config.read_timeout,
401
452
  prev->upstream_config.read_timeout, 12000000);
402
453
 
454
+ #if NGINX_VERSION_NUM >= 1007005
455
+ ngx_conf_merge_msec_value(conf->upstream_config.next_upstream_timeout,
456
+ prev->upstream_config.next_upstream_timeout, 0);
457
+ #endif
458
+
403
459
  ngx_conf_merge_size_value(conf->upstream_config.send_lowat,
404
460
  prev->upstream_config.send_lowat, 0);
405
461
 
@@ -407,6 +463,11 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
407
463
  prev->upstream_config.buffer_size,
408
464
  16 * 1024);
409
465
 
466
+ #if NGINX_VERSION_NUM >= 1007007
467
+ ngx_conf_merge_size_value(conf->upstream_config.limit_rate,
468
+ prev->upstream_config.limit_rate, 0);
469
+ #endif
470
+
410
471
 
411
472
  ngx_conf_merge_bufs_value(conf->upstream_config.bufs, prev->upstream_config.bufs,
412
473
  8, 16 * 1024);
@@ -521,20 +582,42 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
521
582
 
522
583
  #if (NGX_HTTP_CACHE)
523
584
 
524
- ngx_conf_merge_ptr_value(conf->upstream_config.cache,
525
- prev->upstream_config.cache, NULL);
585
+ #if NGINX_VERSION_NUM >= 1007009
586
+ if (conf->upstream_config.cache == NGX_CONF_UNSET) {
587
+ ngx_conf_merge_value(conf->upstream_config.cache,
588
+ prev->upstream_config.cache, 0);
526
589
 
527
- if (conf->upstream_config.cache && conf->upstream_config.cache->data == NULL) {
528
- ngx_shm_zone_t *shm_zone;
590
+ conf->upstream_config.cache_zone = prev->upstream_config.cache_zone;
591
+ conf->upstream_config.cache_value = prev->upstream_config.cache_value;
592
+ }
529
593
 
530
- shm_zone = conf->upstream_config.cache;
594
+ if (conf->upstream_config.cache_zone && conf->upstream_config.cache_zone->data == NULL) {
595
+ ngx_shm_zone_t *shm_zone;
531
596
 
532
- ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
533
- "\"scgi_cache\" zone \"%V\" is unknown",
534
- &shm_zone->shm.name);
597
+ shm_zone = conf->upstream_config.cache_zone;
535
598
 
536
- return NGX_CONF_ERROR;
537
- }
599
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
600
+ "\"scgi_cache\" zone \"%V\" is unknown",
601
+ &shm_zone->shm.name);
602
+
603
+ return NGX_CONF_ERROR;
604
+ }
605
+ #else
606
+ ngx_conf_merge_ptr_value(conf->upstream_config.cache,
607
+ prev->upstream_config.cache, NULL);
608
+
609
+ if (conf->upstream_config.cache && conf->upstream_config.cache->data == NULL) {
610
+ ngx_shm_zone_t *shm_zone;
611
+
612
+ shm_zone = conf->upstream_config.cache;
613
+
614
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
615
+ "\"scgi_cache\" zone \"%V\" is unknown",
616
+ &shm_zone->shm.name);
617
+
618
+ return NGX_CONF_ERROR;
619
+ }
620
+ #endif
538
621
 
539
622
  ngx_conf_merge_uint_value(conf->upstream_config.cache_min_uses,
540
623
  prev->upstream_config.cache_min_uses, 1);
@@ -580,6 +663,16 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
580
663
  prev->upstream_config.cache_lock_timeout, 5000);
581
664
  #endif
582
665
 
666
+ #if NGINX_VERSION_NUM >= 1007008
667
+ ngx_conf_merge_msec_value(conf->upstream_config.cache_lock_age,
668
+ prev->upstream_config.cache_lock_age, 5000);
669
+ #endif
670
+
671
+ #if NGINX_VERSION_NUM >= 1006000
672
+ ngx_conf_merge_value(conf->upstream_config.cache_revalidate,
673
+ prev->upstream_config.cache_revalidate, 0);
674
+ #endif
675
+
583
676
  #endif
584
677
 
585
678
  ngx_conf_merge_value(conf->upstream_config.pass_request_headers,
@@ -21,9 +21,9 @@
21
21
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
22
  # THE SOFTWARE.
23
23
  require 'mkmf'
24
- $LIBS = ""
24
+
25
+ $LIBS << " -lpthread" if $LIBS !~ /-lpthread/
25
26
  $CFLAGS << " -g"
26
- $LIBS << " -lpthread"
27
27
 
28
28
  if RUBY_PLATFORM =~ /solaris/
29
29
  have_library('xnet')
@@ -39,8 +39,8 @@ have_header('ruby/version.h')
39
39
  have_header('ruby/io.h')
40
40
  have_header('ruby/thread.h')
41
41
  have_var('ruby_version')
42
- have_func('rb_thread_io_blocking_region')
43
- have_func('rb_thread_call_without_gvl')
42
+ have_func('rb_thread_io_blocking_region', 'ruby/io.h')
43
+ have_func('rb_thread_call_without_gvl', 'ruby/thread.h')
44
44
 
45
45
  with_cflags($CFLAGS) do
46
46
  create_makefile('passenger_native_support')
@@ -64,3 +64,4 @@ with_cflags($CFLAGS) do
64
64
  end
65
65
  end
66
66
  end
67
+
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # Phusion Passenger - https://www.phusionpassenger.com/
3
- # Copyright (c) 2010-2014 Phusion
3
+ # Copyright (c) 2010-2015 Phusion
4
4
  #
5
5
  # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
6
6
  #
@@ -30,7 +30,7 @@ module PhusionPassenger
30
30
 
31
31
  PACKAGE_NAME = 'passenger'
32
32
  # Run 'rake ext/common/Constants.h' after changing this number.
33
- VERSION_STRING = '4.0.56'
33
+ VERSION_STRING = '4.0.57'
34
34
 
35
35
  PREFERRED_NGINX_VERSION = '1.6.2'
36
36
  NGINX_SHA256_CHECKSUM = 'b5608c2959d3e7ad09b20fc8f9e5bd4bc87b3bc8ba5936a513c04ed8f1391a18'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.56
4
+ version: 4.0.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-18 00:00:00.000000000 Z
11
+ date: 2015-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJUky9uAAoJECrHRaUKISqM+C8H/jP/fTfjlMp/SgNU7JkqTAXS
6
- 2KxHSwVfDlRukzy9UIqDXxiLVdA9CaYjEWgya8I/PVw1OqiRzQtcwZuOk9CPbgzD
7
- lzad81GwI5xpssU4YdR9mVpp1mfx3pUuMQXBvTJ0eQBo5EVb8cT3gu1KBLqIgy7r
8
- 6LlcVOdAGA0ck4116p088Ml0qr+S/1nbF8dUdGEr70Mtx4yAXKIiKlBI7jMBiOCB
9
- tF8tgkow/oQvYON+RPu2H7eAY9kJKHSGJKbYQbfyeE06mHH0gtlBu5dZSkju2oJ1
10
- Rg7ph80agPROKL1RdK5JaRxWjQGUnIpUO4q9w1wGRZ/Q5jDCsMMaLggTkkryMtU=
11
- =qA8S
5
+ iQEcBAABAgAGBQJUp9G7AAoJECrHRaUKISqMUc0IALm2PdpUqPGIZrrwwCw4C5Dr
6
+ wEp2Lmv7NFnlf3lDMhDOU2pC7X4KgnAJN0YCWBdsf9h2vAB838GU7ScBgXIy2HkM
7
+ 3KSiwf3OPNijUeaVVdNkbn6gYbOkbeUvpZREiID9y25eYPc+XYrEpuITqRKhibSc
8
+ glqRRa40ggee75+PmZoZhzUJZ3rvv1VJVfDMFCEv57saDLtcouEuLEOWqh8YyDIz
9
+ 2G1+3B5T8JmbzlhcVLGAOd6dGm+MOIMlhxwyoCKWq1NjTe8bBZGWzmkROEf4pSZD
10
+ 5gk98+XlgYJe6KhtpVUjEQqmKpJuY/6/mkNYOfdWE09bLk1gu8FsgzXUMipUmK8=
11
+ =NQRN
12
12
  -----END PGP SIGNATURE-----